numeric-linalg

Educational material on the SciPy implementation of numerical linear algebra algorithms

NameSizeMode
..
lapack/LAPACKE/include/lapack.h 756895B -rw-r--r--
00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032
00033
00034
00035
00036
00037
00038
00039
00040
00041
00042
00043
00044
00045
00046
00047
00048
00049
00050
00051
00052
00053
00054
00055
00056
00057
00058
00059
00060
00061
00062
00063
00064
00065
00066
00067
00068
00069
00070
00071
00072
00073
00074
00075
00076
00077
00078
00079
00080
00081
00082
00083
00084
00085
00086
00087
00088
00089
00090
00091
00092
00093
00094
00095
00096
00097
00098
00099
00100
00101
00102
00103
00104
00105
00106
00107
00108
00109
00110
00111
00112
00113
00114
00115
00116
00117
00118
00119
00120
00121
00122
00123
00124
00125
00126
00127
00128
00129
00130
00131
00132
00133
00134
00135
00136
00137
00138
00139
00140
00141
00142
00143
00144
00145
00146
00147
00148
00149
00150
00151
00152
00153
00154
00155
00156
00157
00158
00159
00160
00161
00162
00163
00164
00165
00166
00167
00168
00169
00170
00171
00172
00173
00174
00175
00176
00177
00178
00179
00180
00181
00182
00183
00184
00185
00186
00187
00188
00189
00190
00191
00192
00193
00194
00195
00196
00197
00198
00199
00200
00201
00202
00203
00204
00205
00206
00207
00208
00209
00210
00211
00212
00213
00214
00215
00216
00217
00218
00219
00220
00221
00222
00223
00224
00225
00226
00227
00228
00229
00230
00231
00232
00233
00234
00235
00236
00237
00238
00239
00240
00241
00242
00243
00244
00245
00246
00247
00248
00249
00250
00251
00252
00253
00254
00255
00256
00257
00258
00259
00260
00261
00262
00263
00264
00265
00266
00267
00268
00269
00270
00271
00272
00273
00274
00275
00276
00277
00278
00279
00280
00281
00282
00283
00284
00285
00286
00287
00288
00289
00290
00291
00292
00293
00294
00295
00296
00297
00298
00299
00300
00301
00302
00303
00304
00305
00306
00307
00308
00309
00310
00311
00312
00313
00314
00315
00316
00317
00318
00319
00320
00321
00322
00323
00324
00325
00326
00327
00328
00329
00330
00331
00332
00333
00334
00335
00336
00337
00338
00339
00340
00341
00342
00343
00344
00345
00346
00347
00348
00349
00350
00351
00352
00353
00354
00355
00356
00357
00358
00359
00360
00361
00362
00363
00364
00365
00366
00367
00368
00369
00370
00371
00372
00373
00374
00375
00376
00377
00378
00379
00380
00381
00382
00383
00384
00385
00386
00387
00388
00389
00390
00391
00392
00393
00394
00395
00396
00397
00398
00399
00400
00401
00402
00403
00404
00405
00406
00407
00408
00409
00410
00411
00412
00413
00414
00415
00416
00417
00418
00419
00420
00421
00422
00423
00424
00425
00426
00427
00428
00429
00430
00431
00432
00433
00434
00435
00436
00437
00438
00439
00440
00441
00442
00443
00444
00445
00446
00447
00448
00449
00450
00451
00452
00453
00454
00455
00456
00457
00458
00459
00460
00461
00462
00463
00464
00465
00466
00467
00468
00469
00470
00471
00472
00473
00474
00475
00476
00477
00478
00479
00480
00481
00482
00483
00484
00485
00486
00487
00488
00489
00490
00491
00492
00493
00494
00495
00496
00497
00498
00499
00500
00501
00502
00503
00504
00505
00506
00507
00508
00509
00510
00511
00512
00513
00514
00515
00516
00517
00518
00519
00520
00521
00522
00523
00524
00525
00526
00527
00528
00529
00530
00531
00532
00533
00534
00535
00536
00537
00538
00539
00540
00541
00542
00543
00544
00545
00546
00547
00548
00549
00550
00551
00552
00553
00554
00555
00556
00557
00558
00559
00560
00561
00562
00563
00564
00565
00566
00567
00568
00569
00570
00571
00572
00573
00574
00575
00576
00577
00578
00579
00580
00581
00582
00583
00584
00585
00586
00587
00588
00589
00590
00591
00592
00593
00594
00595
00596
00597
00598
00599
00600
00601
00602
00603
00604
00605
00606
00607
00608
00609
00610
00611
00612
00613
00614
00615
00616
00617
00618
00619
00620
00621
00622
00623
00624
00625
00626
00627
00628
00629
00630
00631
00632
00633
00634
00635
00636
00637
00638
00639
00640
00641
00642
00643
00644
00645
00646
00647
00648
00649
00650
00651
00652
00653
00654
00655
00656
00657
00658
00659
00660
00661
00662
00663
00664
00665
00666
00667
00668
00669
00670
00671
00672
00673
00674
00675
00676
00677
00678
00679
00680
00681
00682
00683
00684
00685
00686
00687
00688
00689
00690
00691
00692
00693
00694
00695
00696
00697
00698
00699
00700
00701
00702
00703
00704
00705
00706
00707
00708
00709
00710
00711
00712
00713
00714
00715
00716
00717
00718
00719
00720
00721
00722
00723
00724
00725
00726
00727
00728
00729
00730
00731
00732
00733
00734
00735
00736
00737
00738
00739
00740
00741
00742
00743
00744
00745
00746
00747
00748
00749
00750
00751
00752
00753
00754
00755
00756
00757
00758
00759
00760
00761
00762
00763
00764
00765
00766
00767
00768
00769
00770
00771
00772
00773
00774
00775
00776
00777
00778
00779
00780
00781
00782
00783
00784
00785
00786
00787
00788
00789
00790
00791
00792
00793
00794
00795
00796
00797
00798
00799
00800
00801
00802
00803
00804
00805
00806
00807
00808
00809
00810
00811
00812
00813
00814
00815
00816
00817
00818
00819
00820
00821
00822
00823
00824
00825
00826
00827
00828
00829
00830
00831
00832
00833
00834
00835
00836
00837
00838
00839
00840
00841
00842
00843
00844
00845
00846
00847
00848
00849
00850
00851
00852
00853
00854
00855
00856
00857
00858
00859
00860
00861
00862
00863
00864
00865
00866
00867
00868
00869
00870
00871
00872
00873
00874
00875
00876
00877
00878
00879
00880
00881
00882
00883
00884
00885
00886
00887
00888
00889
00890
00891
00892
00893
00894
00895
00896
00897
00898
00899
00900
00901
00902
00903
00904
00905
00906
00907
00908
00909
00910
00911
00912
00913
00914
00915
00916
00917
00918
00919
00920
00921
00922
00923
00924
00925
00926
00927
00928
00929
00930
00931
00932
00933
00934
00935
00936
00937
00938
00939
00940
00941
00942
00943
00944
00945
00946
00947
00948
00949
00950
00951
00952
00953
00954
00955
00956
00957
00958
00959
00960
00961
00962
00963
00964
00965
00966
00967
00968
00969
00970
00971
00972
00973
00974
00975
00976
00977
00978
00979
00980
00981
00982
00983
00984
00985
00986
00987
00988
00989
00990
00991
00992
00993
00994
00995
00996
00997
00998
00999
01000
01001
01002
01003
01004
01005
01006
01007
01008
01009
01010
01011
01012
01013
01014
01015
01016
01017
01018
01019
01020
01021
01022
01023
01024
01025
01026
01027
01028
01029
01030
01031
01032
01033
01034
01035
01036
01037
01038
01039
01040
01041
01042
01043
01044
01045
01046
01047
01048
01049
01050
01051
01052
01053
01054
01055
01056
01057
01058
01059
01060
01061
01062
01063
01064
01065
01066
01067
01068
01069
01070
01071
01072
01073
01074
01075
01076
01077
01078
01079
01080
01081
01082
01083
01084
01085
01086
01087
01088
01089
01090
01091
01092
01093
01094
01095
01096
01097
01098
01099
01100
01101
01102
01103
01104
01105
01106
01107
01108
01109
01110
01111
01112
01113
01114
01115
01116
01117
01118
01119
01120
01121
01122
01123
01124
01125
01126
01127
01128
01129
01130
01131
01132
01133
01134
01135
01136
01137
01138
01139
01140
01141
01142
01143
01144
01145
01146
01147
01148
01149
01150
01151
01152
01153
01154
01155
01156
01157
01158
01159
01160
01161
01162
01163
01164
01165
01166
01167
01168
01169
01170
01171
01172
01173
01174
01175
01176
01177
01178
01179
01180
01181
01182
01183
01184
01185
01186
01187
01188
01189
01190
01191
01192
01193
01194
01195
01196
01197
01198
01199
01200
01201
01202
01203
01204
01205
01206
01207
01208
01209
01210
01211
01212
01213
01214
01215
01216
01217
01218
01219
01220
01221
01222
01223
01224
01225
01226
01227
01228
01229
01230
01231
01232
01233
01234
01235
01236
01237
01238
01239
01240
01241
01242
01243
01244
01245
01246
01247
01248
01249
01250
01251
01252
01253
01254
01255
01256
01257
01258
01259
01260
01261
01262
01263
01264
01265
01266
01267
01268
01269
01270
01271
01272
01273
01274
01275
01276
01277
01278
01279
01280
01281
01282
01283
01284
01285
01286
01287
01288
01289
01290
01291
01292
01293
01294
01295
01296
01297
01298
01299
01300
01301
01302
01303
01304
01305
01306
01307
01308
01309
01310
01311
01312
01313
01314
01315
01316
01317
01318
01319
01320
01321
01322
01323
01324
01325
01326
01327
01328
01329
01330
01331
01332
01333
01334
01335
01336
01337
01338
01339
01340
01341
01342
01343
01344
01345
01346
01347
01348
01349
01350
01351
01352
01353
01354
01355
01356
01357
01358
01359
01360
01361
01362
01363
01364
01365
01366
01367
01368
01369
01370
01371
01372
01373
01374
01375
01376
01377
01378
01379
01380
01381
01382
01383
01384
01385
01386
01387
01388
01389
01390
01391
01392
01393
01394
01395
01396
01397
01398
01399
01400
01401
01402
01403
01404
01405
01406
01407
01408
01409
01410
01411
01412
01413
01414
01415
01416
01417
01418
01419
01420
01421
01422
01423
01424
01425
01426
01427
01428
01429
01430
01431
01432
01433
01434
01435
01436
01437
01438
01439
01440
01441
01442
01443
01444
01445
01446
01447
01448
01449
01450
01451
01452
01453
01454
01455
01456
01457
01458
01459
01460
01461
01462
01463
01464
01465
01466
01467
01468
01469
01470
01471
01472
01473
01474
01475
01476
01477
01478
01479
01480
01481
01482
01483
01484
01485
01486
01487
01488
01489
01490
01491
01492
01493
01494
01495
01496
01497
01498
01499
01500
01501
01502
01503
01504
01505
01506
01507
01508
01509
01510
01511
01512
01513
01514
01515
01516
01517
01518
01519
01520
01521
01522
01523
01524
01525
01526
01527
01528
01529
01530
01531
01532
01533
01534
01535
01536
01537
01538
01539
01540
01541
01542
01543
01544
01545
01546
01547
01548
01549
01550
01551
01552
01553
01554
01555
01556
01557
01558
01559
01560
01561
01562
01563
01564
01565
01566
01567
01568
01569
01570
01571
01572
01573
01574
01575
01576
01577
01578
01579
01580
01581
01582
01583
01584
01585
01586
01587
01588
01589
01590
01591
01592
01593
01594
01595
01596
01597
01598
01599
01600
01601
01602
01603
01604
01605
01606
01607
01608
01609
01610
01611
01612
01613
01614
01615
01616
01617
01618
01619
01620
01621
01622
01623
01624
01625
01626
01627
01628
01629
01630
01631
01632
01633
01634
01635
01636
01637
01638
01639
01640
01641
01642
01643
01644
01645
01646
01647
01648
01649
01650
01651
01652
01653
01654
01655
01656
01657
01658
01659
01660
01661
01662
01663
01664
01665
01666
01667
01668
01669
01670
01671
01672
01673
01674
01675
01676
01677
01678
01679
01680
01681
01682
01683
01684
01685
01686
01687
01688
01689
01690
01691
01692
01693
01694
01695
01696
01697
01698
01699
01700
01701
01702
01703
01704
01705
01706
01707
01708
01709
01710
01711
01712
01713
01714
01715
01716
01717
01718
01719
01720
01721
01722
01723
01724
01725
01726
01727
01728
01729
01730
01731
01732
01733
01734
01735
01736
01737
01738
01739
01740
01741
01742
01743
01744
01745
01746
01747
01748
01749
01750
01751
01752
01753
01754
01755
01756
01757
01758
01759
01760
01761
01762
01763
01764
01765
01766
01767
01768
01769
01770
01771
01772
01773
01774
01775
01776
01777
01778
01779
01780
01781
01782
01783
01784
01785
01786
01787
01788
01789
01790
01791
01792
01793
01794
01795
01796
01797
01798
01799
01800
01801
01802
01803
01804
01805
01806
01807
01808
01809
01810
01811
01812
01813
01814
01815
01816
01817
01818
01819
01820
01821
01822
01823
01824
01825
01826
01827
01828
01829
01830
01831
01832
01833
01834
01835
01836
01837
01838
01839
01840
01841
01842
01843
01844
01845
01846
01847
01848
01849
01850
01851
01852
01853
01854
01855
01856
01857
01858
01859
01860
01861
01862
01863
01864
01865
01866
01867
01868
01869
01870
01871
01872
01873
01874
01875
01876
01877
01878
01879
01880
01881
01882
01883
01884
01885
01886
01887
01888
01889
01890
01891
01892
01893
01894
01895
01896
01897
01898
01899
01900
01901
01902
01903
01904
01905
01906
01907
01908
01909
01910
01911
01912
01913
01914
01915
01916
01917
01918
01919
01920
01921
01922
01923
01924
01925
01926
01927
01928
01929
01930
01931
01932
01933
01934
01935
01936
01937
01938
01939
01940
01941
01942
01943
01944
01945
01946
01947
01948
01949
01950
01951
01952
01953
01954
01955
01956
01957
01958
01959
01960
01961
01962
01963
01964
01965
01966
01967
01968
01969
01970
01971
01972
01973
01974
01975
01976
01977
01978
01979
01980
01981
01982
01983
01984
01985
01986
01987
01988
01989
01990
01991
01992
01993
01994
01995
01996
01997
01998
01999
02000
02001
02002
02003
02004
02005
02006
02007
02008
02009
02010
02011
02012
02013
02014
02015
02016
02017
02018
02019
02020
02021
02022
02023
02024
02025
02026
02027
02028
02029
02030
02031
02032
02033
02034
02035
02036
02037
02038
02039
02040
02041
02042
02043
02044
02045
02046
02047
02048
02049
02050
02051
02052
02053
02054
02055
02056
02057
02058
02059
02060
02061
02062
02063
02064
02065
02066
02067
02068
02069
02070
02071
02072
02073
02074
02075
02076
02077
02078
02079
02080
02081
02082
02083
02084
02085
02086
02087
02088
02089
02090
02091
02092
02093
02094
02095
02096
02097
02098
02099
02100
02101
02102
02103
02104
02105
02106
02107
02108
02109
02110
02111
02112
02113
02114
02115
02116
02117
02118
02119
02120
02121
02122
02123
02124
02125
02126
02127
02128
02129
02130
02131
02132
02133
02134
02135
02136
02137
02138
02139
02140
02141
02142
02143
02144
02145
02146
02147
02148
02149
02150
02151
02152
02153
02154
02155
02156
02157
02158
02159
02160
02161
02162
02163
02164
02165
02166
02167
02168
02169
02170
02171
02172
02173
02174
02175
02176
02177
02178
02179
02180
02181
02182
02183
02184
02185
02186
02187
02188
02189
02190
02191
02192
02193
02194
02195
02196
02197
02198
02199
02200
02201
02202
02203
02204
02205
02206
02207
02208
02209
02210
02211
02212
02213
02214
02215
02216
02217
02218
02219
02220
02221
02222
02223
02224
02225
02226
02227
02228
02229
02230
02231
02232
02233
02234
02235
02236
02237
02238
02239
02240
02241
02242
02243
02244
02245
02246
02247
02248
02249
02250
02251
02252
02253
02254
02255
02256
02257
02258
02259
02260
02261
02262
02263
02264
02265
02266
02267
02268
02269
02270
02271
02272
02273
02274
02275
02276
02277
02278
02279
02280
02281
02282
02283
02284
02285
02286
02287
02288
02289
02290
02291
02292
02293
02294
02295
02296
02297
02298
02299
02300
02301
02302
02303
02304
02305
02306
02307
02308
02309
02310
02311
02312
02313
02314
02315
02316
02317
02318
02319
02320
02321
02322
02323
02324
02325
02326
02327
02328
02329
02330
02331
02332
02333
02334
02335
02336
02337
02338
02339
02340
02341
02342
02343
02344
02345
02346
02347
02348
02349
02350
02351
02352
02353
02354
02355
02356
02357
02358
02359
02360
02361
02362
02363
02364
02365
02366
02367
02368
02369
02370
02371
02372
02373
02374
02375
02376
02377
02378
02379
02380
02381
02382
02383
02384
02385
02386
02387
02388
02389
02390
02391
02392
02393
02394
02395
02396
02397
02398
02399
02400
02401
02402
02403
02404
02405
02406
02407
02408
02409
02410
02411
02412
02413
02414
02415
02416
02417
02418
02419
02420
02421
02422
02423
02424
02425
02426
02427
02428
02429
02430
02431
02432
02433
02434
02435
02436
02437
02438
02439
02440
02441
02442
02443
02444
02445
02446
02447
02448
02449
02450
02451
02452
02453
02454
02455
02456
02457
02458
02459
02460
02461
02462
02463
02464
02465
02466
02467
02468
02469
02470
02471
02472
02473
02474
02475
02476
02477
02478
02479
02480
02481
02482
02483
02484
02485
02486
02487
02488
02489
02490
02491
02492
02493
02494
02495
02496
02497
02498
02499
02500
02501
02502
02503
02504
02505
02506
02507
02508
02509
02510
02511
02512
02513
02514
02515
02516
02517
02518
02519
02520
02521
02522
02523
02524
02525
02526
02527
02528
02529
02530
02531
02532
02533
02534
02535
02536
02537
02538
02539
02540
02541
02542
02543
02544
02545
02546
02547
02548
02549
02550
02551
02552
02553
02554
02555
02556
02557
02558
02559
02560
02561
02562
02563
02564
02565
02566
02567
02568
02569
02570
02571
02572
02573
02574
02575
02576
02577
02578
02579
02580
02581
02582
02583
02584
02585
02586
02587
02588
02589
02590
02591
02592
02593
02594
02595
02596
02597
02598
02599
02600
02601
02602
02603
02604
02605
02606
02607
02608
02609
02610
02611
02612
02613
02614
02615
02616
02617
02618
02619
02620
02621
02622
02623
02624
02625
02626
02627
02628
02629
02630
02631
02632
02633
02634
02635
02636
02637
02638
02639
02640
02641
02642
02643
02644
02645
02646
02647
02648
02649
02650
02651
02652
02653
02654
02655
02656
02657
02658
02659
02660
02661
02662
02663
02664
02665
02666
02667
02668
02669
02670
02671
02672
02673
02674
02675
02676
02677
02678
02679
02680
02681
02682
02683
02684
02685
02686
02687
02688
02689
02690
02691
02692
02693
02694
02695
02696
02697
02698
02699
02700
02701
02702
02703
02704
02705
02706
02707
02708
02709
02710
02711
02712
02713
02714
02715
02716
02717
02718
02719
02720
02721
02722
02723
02724
02725
02726
02727
02728
02729
02730
02731
02732
02733
02734
02735
02736
02737
02738
02739
02740
02741
02742
02743
02744
02745
02746
02747
02748
02749
02750
02751
02752
02753
02754
02755
02756
02757
02758
02759
02760
02761
02762
02763
02764
02765
02766
02767
02768
02769
02770
02771
02772
02773
02774
02775
02776
02777
02778
02779
02780
02781
02782
02783
02784
02785
02786
02787
02788
02789
02790
02791
02792
02793
02794
02795
02796
02797
02798
02799
02800
02801
02802
02803
02804
02805
02806
02807
02808
02809
02810
02811
02812
02813
02814
02815
02816
02817
02818
02819
02820
02821
02822
02823
02824
02825
02826
02827
02828
02829
02830
02831
02832
02833
02834
02835
02836
02837
02838
02839
02840
02841
02842
02843
02844
02845
02846
02847
02848
02849
02850
02851
02852
02853
02854
02855
02856
02857
02858
02859
02860
02861
02862
02863
02864
02865
02866
02867
02868
02869
02870
02871
02872
02873
02874
02875
02876
02877
02878
02879
02880
02881
02882
02883
02884
02885
02886
02887
02888
02889
02890
02891
02892
02893
02894
02895
02896
02897
02898
02899
02900
02901
02902
02903
02904
02905
02906
02907
02908
02909
02910
02911
02912
02913
02914
02915
02916
02917
02918
02919
02920
02921
02922
02923
02924
02925
02926
02927
02928
02929
02930
02931
02932
02933
02934
02935
02936
02937
02938
02939
02940
02941
02942
02943
02944
02945
02946
02947
02948
02949
02950
02951
02952
02953
02954
02955
02956
02957
02958
02959
02960
02961
02962
02963
02964
02965
02966
02967
02968
02969
02970
02971
02972
02973
02974
02975
02976
02977
02978
02979
02980
02981
02982
02983
02984
02985
02986
02987
02988
02989
02990
02991
02992
02993
02994
02995
02996
02997
02998
02999
03000
03001
03002
03003
03004
03005
03006
03007
03008
03009
03010
03011
03012
03013
03014
03015
03016
03017
03018
03019
03020
03021
03022
03023
03024
03025
03026
03027
03028
03029
03030
03031
03032
03033
03034
03035
03036
03037
03038
03039
03040
03041
03042
03043
03044
03045
03046
03047
03048
03049
03050
03051
03052
03053
03054
03055
03056
03057
03058
03059
03060
03061
03062
03063
03064
03065
03066
03067
03068
03069
03070
03071
03072
03073
03074
03075
03076
03077
03078
03079
03080
03081
03082
03083
03084
03085
03086
03087
03088
03089
03090
03091
03092
03093
03094
03095
03096
03097
03098
03099
03100
03101
03102
03103
03104
03105
03106
03107
03108
03109
03110
03111
03112
03113
03114
03115
03116
03117
03118
03119
03120
03121
03122
03123
03124
03125
03126
03127
03128
03129
03130
03131
03132
03133
03134
03135
03136
03137
03138
03139
03140
03141
03142
03143
03144
03145
03146
03147
03148
03149
03150
03151
03152
03153
03154
03155
03156
03157
03158
03159
03160
03161
03162
03163
03164
03165
03166
03167
03168
03169
03170
03171
03172
03173
03174
03175
03176
03177
03178
03179
03180
03181
03182
03183
03184
03185
03186
03187
03188
03189
03190
03191
03192
03193
03194
03195
03196
03197
03198
03199
03200
03201
03202
03203
03204
03205
03206
03207
03208
03209
03210
03211
03212
03213
03214
03215
03216
03217
03218
03219
03220
03221
03222
03223
03224
03225
03226
03227
03228
03229
03230
03231
03232
03233
03234
03235
03236
03237
03238
03239
03240
03241
03242
03243
03244
03245
03246
03247
03248
03249
03250
03251
03252
03253
03254
03255
03256
03257
03258
03259
03260
03261
03262
03263
03264
03265
03266
03267
03268
03269
03270
03271
03272
03273
03274
03275
03276
03277
03278
03279
03280
03281
03282
03283
03284
03285
03286
03287
03288
03289
03290
03291
03292
03293
03294
03295
03296
03297
03298
03299
03300
03301
03302
03303
03304
03305
03306
03307
03308
03309
03310
03311
03312
03313
03314
03315
03316
03317
03318
03319
03320
03321
03322
03323
03324
03325
03326
03327
03328
03329
03330
03331
03332
03333
03334
03335
03336
03337
03338
03339
03340
03341
03342
03343
03344
03345
03346
03347
03348
03349
03350
03351
03352
03353
03354
03355
03356
03357
03358
03359
03360
03361
03362
03363
03364
03365
03366
03367
03368
03369
03370
03371
03372
03373
03374
03375
03376
03377
03378
03379
03380
03381
03382
03383
03384
03385
03386
03387
03388
03389
03390
03391
03392
03393
03394
03395
03396
03397
03398
03399
03400
03401
03402
03403
03404
03405
03406
03407
03408
03409
03410
03411
03412
03413
03414
03415
03416
03417
03418
03419
03420
03421
03422
03423
03424
03425
03426
03427
03428
03429
03430
03431
03432
03433
03434
03435
03436
03437
03438
03439
03440
03441
03442
03443
03444
03445
03446
03447
03448
03449
03450
03451
03452
03453
03454
03455
03456
03457
03458
03459
03460
03461
03462
03463
03464
03465
03466
03467
03468
03469
03470
03471
03472
03473
03474
03475
03476
03477
03478
03479
03480
03481
03482
03483
03484
03485
03486
03487
03488
03489
03490
03491
03492
03493
03494
03495
03496
03497
03498
03499
03500
03501
03502
03503
03504
03505
03506
03507
03508
03509
03510
03511
03512
03513
03514
03515
03516
03517
03518
03519
03520
03521
03522
03523
03524
03525
03526
03527
03528
03529
03530
03531
03532
03533
03534
03535
03536
03537
03538
03539
03540
03541
03542
03543
03544
03545
03546
03547
03548
03549
03550
03551
03552
03553
03554
03555
03556
03557
03558
03559
03560
03561
03562
03563
03564
03565
03566
03567
03568
03569
03570
03571
03572
03573
03574
03575
03576
03577
03578
03579
03580
03581
03582
03583
03584
03585
03586
03587
03588
03589
03590
03591
03592
03593
03594
03595
03596
03597
03598
03599
03600
03601
03602
03603
03604
03605
03606
03607
03608
03609
03610
03611
03612
03613
03614
03615
03616
03617
03618
03619
03620
03621
03622
03623
03624
03625
03626
03627
03628
03629
03630
03631
03632
03633
03634
03635
03636
03637
03638
03639
03640
03641
03642
03643
03644
03645
03646
03647
03648
03649
03650
03651
03652
03653
03654
03655
03656
03657
03658
03659
03660
03661
03662
03663
03664
03665
03666
03667
03668
03669
03670
03671
03672
03673
03674
03675
03676
03677
03678
03679
03680
03681
03682
03683
03684
03685
03686
03687
03688
03689
03690
03691
03692
03693
03694
03695
03696
03697
03698
03699
03700
03701
03702
03703
03704
03705
03706
03707
03708
03709
03710
03711
03712
03713
03714
03715
03716
03717
03718
03719
03720
03721
03722
03723
03724
03725
03726
03727
03728
03729
03730
03731
03732
03733
03734
03735
03736
03737
03738
03739
03740
03741
03742
03743
03744
03745
03746
03747
03748
03749
03750
03751
03752
03753
03754
03755
03756
03757
03758
03759
03760
03761
03762
03763
03764
03765
03766
03767
03768
03769
03770
03771
03772
03773
03774
03775
03776
03777
03778
03779
03780
03781
03782
03783
03784
03785
03786
03787
03788
03789
03790
03791
03792
03793
03794
03795
03796
03797
03798
03799
03800
03801
03802
03803
03804
03805
03806
03807
03808
03809
03810
03811
03812
03813
03814
03815
03816
03817
03818
03819
03820
03821
03822
03823
03824
03825
03826
03827
03828
03829
03830
03831
03832
03833
03834
03835
03836
03837
03838
03839
03840
03841
03842
03843
03844
03845
03846
03847
03848
03849
03850
03851
03852
03853
03854
03855
03856
03857
03858
03859
03860
03861
03862
03863
03864
03865
03866
03867
03868
03869
03870
03871
03872
03873
03874
03875
03876
03877
03878
03879
03880
03881
03882
03883
03884
03885
03886
03887
03888
03889
03890
03891
03892
03893
03894
03895
03896
03897
03898
03899
03900
03901
03902
03903
03904
03905
03906
03907
03908
03909
03910
03911
03912
03913
03914
03915
03916
03917
03918
03919
03920
03921
03922
03923
03924
03925
03926
03927
03928
03929
03930
03931
03932
03933
03934
03935
03936
03937
03938
03939
03940
03941
03942
03943
03944
03945
03946
03947
03948
03949
03950
03951
03952
03953
03954
03955
03956
03957
03958
03959
03960
03961
03962
03963
03964
03965
03966
03967
03968
03969
03970
03971
03972
03973
03974
03975
03976
03977
03978
03979
03980
03981
03982
03983
03984
03985
03986
03987
03988
03989
03990
03991
03992
03993
03994
03995
03996
03997
03998
03999
04000
04001
04002
04003
04004
04005
04006
04007
04008
04009
04010
04011
04012
04013
04014
04015
04016
04017
04018
04019
04020
04021
04022
04023
04024
04025
04026
04027
04028
04029
04030
04031
04032
04033
04034
04035
04036
04037
04038
04039
04040
04041
04042
04043
04044
04045
04046
04047
04048
04049
04050
04051
04052
04053
04054
04055
04056
04057
04058
04059
04060
04061
04062
04063
04064
04065
04066
04067
04068
04069
04070
04071
04072
04073
04074
04075
04076
04077
04078
04079
04080
04081
04082
04083
04084
04085
04086
04087
04088
04089
04090
04091
04092
04093
04094
04095
04096
04097
04098
04099
04100
04101
04102
04103
04104
04105
04106
04107
04108
04109
04110
04111
04112
04113
04114
04115
04116
04117
04118
04119
04120
04121
04122
04123
04124
04125
04126
04127
04128
04129
04130
04131
04132
04133
04134
04135
04136
04137
04138
04139
04140
04141
04142
04143
04144
04145
04146
04147
04148
04149
04150
04151
04152
04153
04154
04155
04156
04157
04158
04159
04160
04161
04162
04163
04164
04165
04166
04167
04168
04169
04170
04171
04172
04173
04174
04175
04176
04177
04178
04179
04180
04181
04182
04183
04184
04185
04186
04187
04188
04189
04190
04191
04192
04193
04194
04195
04196
04197
04198
04199
04200
04201
04202
04203
04204
04205
04206
04207
04208
04209
04210
04211
04212
04213
04214
04215
04216
04217
04218
04219
04220
04221
04222
04223
04224
04225
04226
04227
04228
04229
04230
04231
04232
04233
04234
04235
04236
04237
04238
04239
04240
04241
04242
04243
04244
04245
04246
04247
04248
04249
04250
04251
04252
04253
04254
04255
04256
04257
04258
04259
04260
04261
04262
04263
04264
04265
04266
04267
04268
04269
04270
04271
04272
04273
04274
04275
04276
04277
04278
04279
04280
04281
04282
04283
04284
04285
04286
04287
04288
04289
04290
04291
04292
04293
04294
04295
04296
04297
04298
04299
04300
04301
04302
04303
04304
04305
04306
04307
04308
04309
04310
04311
04312
04313
04314
04315
04316
04317
04318
04319
04320
04321
04322
04323
04324
04325
04326
04327
04328
04329
04330
04331
04332
04333
04334
04335
04336
04337
04338
04339
04340
04341
04342
04343
04344
04345
04346
04347
04348
04349
04350
04351
04352
04353
04354
04355
04356
04357
04358
04359
04360
04361
04362
04363
04364
04365
04366
04367
04368
04369
04370
04371
04372
04373
04374
04375
04376
04377
04378
04379
04380
04381
04382
04383
04384
04385
04386
04387
04388
04389
04390
04391
04392
04393
04394
04395
04396
04397
04398
04399
04400
04401
04402
04403
04404
04405
04406
04407
04408
04409
04410
04411
04412
04413
04414
04415
04416
04417
04418
04419
04420
04421
04422
04423
04424
04425
04426
04427
04428
04429
04430
04431
04432
04433
04434
04435
04436
04437
04438
04439
04440
04441
04442
04443
04444
04445
04446
04447
04448
04449
04450
04451
04452
04453
04454
04455
04456
04457
04458
04459
04460
04461
04462
04463
04464
04465
04466
04467
04468
04469
04470
04471
04472
04473
04474
04475
04476
04477
04478
04479
04480
04481
04482
04483
04484
04485
04486
04487
04488
04489
04490
04491
04492
04493
04494
04495
04496
04497
04498
04499
04500
04501
04502
04503
04504
04505
04506
04507
04508
04509
04510
04511
04512
04513
04514
04515
04516
04517
04518
04519
04520
04521
04522
04523
04524
04525
04526
04527
04528
04529
04530
04531
04532
04533
04534
04535
04536
04537
04538
04539
04540
04541
04542
04543
04544
04545
04546
04547
04548
04549
04550
04551
04552
04553
04554
04555
04556
04557
04558
04559
04560
04561
04562
04563
04564
04565
04566
04567
04568
04569
04570
04571
04572
04573
04574
04575
04576
04577
04578
04579
04580
04581
04582
04583
04584
04585
04586
04587
04588
04589
04590
04591
04592
04593
04594
04595
04596
04597
04598
04599
04600
04601
04602
04603
04604
04605
04606
04607
04608
04609
04610
04611
04612
04613
04614
04615
04616
04617
04618
04619
04620
04621
04622
04623
04624
04625
04626
04627
04628
04629
04630
04631
04632
04633
04634
04635
04636
04637
04638
04639
04640
04641
04642
04643
04644
04645
04646
04647
04648
04649
04650
04651
04652
04653
04654
04655
04656
04657
04658
04659
04660
04661
04662
04663
04664
04665
04666
04667
04668
04669
04670
04671
04672
04673
04674
04675
04676
04677
04678
04679
04680
04681
04682
04683
04684
04685
04686
04687
04688
04689
04690
04691
04692
04693
04694
04695
04696
04697
04698
04699
04700
04701
04702
04703
04704
04705
04706
04707
04708
04709
04710
04711
04712
04713
04714
04715
04716
04717
04718
04719
04720
04721
04722
04723
04724
04725
04726
04727
04728
04729
04730
04731
04732
04733
04734
04735
04736
04737
04738
04739
04740
04741
04742
04743
04744
04745
04746
04747
04748
04749
04750
04751
04752
04753
04754
04755
04756
04757
04758
04759
04760
04761
04762
04763
04764
04765
04766
04767
04768
04769
04770
04771
04772
04773
04774
04775
04776
04777
04778
04779
04780
04781
04782
04783
04784
04785
04786
04787
04788
04789
04790
04791
04792
04793
04794
04795
04796
04797
04798
04799
04800
04801
04802
04803
04804
04805
04806
04807
04808
04809
04810
04811
04812
04813
04814
04815
04816
04817
04818
04819
04820
04821
04822
04823
04824
04825
04826
04827
04828
04829
04830
04831
04832
04833
04834
04835
04836
04837
04838
04839
04840
04841
04842
04843
04844
04845
04846
04847
04848
04849
04850
04851
04852
04853
04854
04855
04856
04857
04858
04859
04860
04861
04862
04863
04864
04865
04866
04867
04868
04869
04870
04871
04872
04873
04874
04875
04876
04877
04878
04879
04880
04881
04882
04883
04884
04885
04886
04887
04888
04889
04890
04891
04892
04893
04894
04895
04896
04897
04898
04899
04900
04901
04902
04903
04904
04905
04906
04907
04908
04909
04910
04911
04912
04913
04914
04915
04916
04917
04918
04919
04920
04921
04922
04923
04924
04925
04926
04927
04928
04929
04930
04931
04932
04933
04934
04935
04936
04937
04938
04939
04940
04941
04942
04943
04944
04945
04946
04947
04948
04949
04950
04951
04952
04953
04954
04955
04956
04957
04958
04959
04960
04961
04962
04963
04964
04965
04966
04967
04968
04969
04970
04971
04972
04973
04974
04975
04976
04977
04978
04979
04980
04981
04982
04983
04984
04985
04986
04987
04988
04989
04990
04991
04992
04993
04994
04995
04996
04997
04998
04999
05000
05001
05002
05003
05004
05005
05006
05007
05008
05009
05010
05011
05012
05013
05014
05015
05016
05017
05018
05019
05020
05021
05022
05023
05024
05025
05026
05027
05028
05029
05030
05031
05032
05033
05034
05035
05036
05037
05038
05039
05040
05041
05042
05043
05044
05045
05046
05047
05048
05049
05050
05051
05052
05053
05054
05055
05056
05057
05058
05059
05060
05061
05062
05063
05064
05065
05066
05067
05068
05069
05070
05071
05072
05073
05074
05075
05076
05077
05078
05079
05080
05081
05082
05083
05084
05085
05086
05087
05088
05089
05090
05091
05092
05093
05094
05095
05096
05097
05098
05099
05100
05101
05102
05103
05104
05105
05106
05107
05108
05109
05110
05111
05112
05113
05114
05115
05116
05117
05118
05119
05120
05121
05122
05123
05124
05125
05126
05127
05128
05129
05130
05131
05132
05133
05134
05135
05136
05137
05138
05139
05140
05141
05142
05143
05144
05145
05146
05147
05148
05149
05150
05151
05152
05153
05154
05155
05156
05157
05158
05159
05160
05161
05162
05163
05164
05165
05166
05167
05168
05169
05170
05171
05172
05173
05174
05175
05176
05177
05178
05179
05180
05181
05182
05183
05184
05185
05186
05187
05188
05189
05190
05191
05192
05193
05194
05195
05196
05197
05198
05199
05200
05201
05202
05203
05204
05205
05206
05207
05208
05209
05210
05211
05212
05213
05214
05215
05216
05217
05218
05219
05220
05221
05222
05223
05224
05225
05226
05227
05228
05229
05230
05231
05232
05233
05234
05235
05236
05237
05238
05239
05240
05241
05242
05243
05244
05245
05246
05247
05248
05249
05250
05251
05252
05253
05254
05255
05256
05257
05258
05259
05260
05261
05262
05263
05264
05265
05266
05267
05268
05269
05270
05271
05272
05273
05274
05275
05276
05277
05278
05279
05280
05281
05282
05283
05284
05285
05286
05287
05288
05289
05290
05291
05292
05293
05294
05295
05296
05297
05298
05299
05300
05301
05302
05303
05304
05305
05306
05307
05308
05309
05310
05311
05312
05313
05314
05315
05316
05317
05318
05319
05320
05321
05322
05323
05324
05325
05326
05327
05328
05329
05330
05331
05332
05333
05334
05335
05336
05337
05338
05339
05340
05341
05342
05343
05344
05345
05346
05347
05348
05349
05350
05351
05352
05353
05354
05355
05356
05357
05358
05359
05360
05361
05362
05363
05364
05365
05366
05367
05368
05369
05370
05371
05372
05373
05374
05375
05376
05377
05378
05379
05380
05381
05382
05383
05384
05385
05386
05387
05388
05389
05390
05391
05392
05393
05394
05395
05396
05397
05398
05399
05400
05401
05402
05403
05404
05405
05406
05407
05408
05409
05410
05411
05412
05413
05414
05415
05416
05417
05418
05419
05420
05421
05422
05423
05424
05425
05426
05427
05428
05429
05430
05431
05432
05433
05434
05435
05436
05437
05438
05439
05440
05441
05442
05443
05444
05445
05446
05447
05448
05449
05450
05451
05452
05453
05454
05455
05456
05457
05458
05459
05460
05461
05462
05463
05464
05465
05466
05467
05468
05469
05470
05471
05472
05473
05474
05475
05476
05477
05478
05479
05480
05481
05482
05483
05484
05485
05486
05487
05488
05489
05490
05491
05492
05493
05494
05495
05496
05497
05498
05499
05500
05501
05502
05503
05504
05505
05506
05507
05508
05509
05510
05511
05512
05513
05514
05515
05516
05517
05518
05519
05520
05521
05522
05523
05524
05525
05526
05527
05528
05529
05530
05531
05532
05533
05534
05535
05536
05537
05538
05539
05540
05541
05542
05543
05544
05545
05546
05547
05548
05549
05550
05551
05552
05553
05554
05555
05556
05557
05558
05559
05560
05561
05562
05563
05564
05565
05566
05567
05568
05569
05570
05571
05572
05573
05574
05575
05576
05577
05578
05579
05580
05581
05582
05583
05584
05585
05586
05587
05588
05589
05590
05591
05592
05593
05594
05595
05596
05597
05598
05599
05600
05601
05602
05603
05604
05605
05606
05607
05608
05609
05610
05611
05612
05613
05614
05615
05616
05617
05618
05619
05620
05621
05622
05623
05624
05625
05626
05627
05628
05629
05630
05631
05632
05633
05634
05635
05636
05637
05638
05639
05640
05641
05642
05643
05644
05645
05646
05647
05648
05649
05650
05651
05652
05653
05654
05655
05656
05657
05658
05659
05660
05661
05662
05663
05664
05665
05666
05667
05668
05669
05670
05671
05672
05673
05674
05675
05676
05677
05678
05679
05680
05681
05682
05683
05684
05685
05686
05687
05688
05689
05690
05691
05692
05693
05694
05695
05696
05697
05698
05699
05700
05701
05702
05703
05704
05705
05706
05707
05708
05709
05710
05711
05712
05713
05714
05715
05716
05717
05718
05719
05720
05721
05722
05723
05724
05725
05726
05727
05728
05729
05730
05731
05732
05733
05734
05735
05736
05737
05738
05739
05740
05741
05742
05743
05744
05745
05746
05747
05748
05749
05750
05751
05752
05753
05754
05755
05756
05757
05758
05759
05760
05761
05762
05763
05764
05765
05766
05767
05768
05769
05770
05771
05772
05773
05774
05775
05776
05777
05778
05779
05780
05781
05782
05783
05784
05785
05786
05787
05788
05789
05790
05791
05792
05793
05794
05795
05796
05797
05798
05799
05800
05801
05802
05803
05804
05805
05806
05807
05808
05809
05810
05811
05812
05813
05814
05815
05816
05817
05818
05819
05820
05821
05822
05823
05824
05825
05826
05827
05828
05829
05830
05831
05832
05833
05834
05835
05836
05837
05838
05839
05840
05841
05842
05843
05844
05845
05846
05847
05848
05849
05850
05851
05852
05853
05854
05855
05856
05857
05858
05859
05860
05861
05862
05863
05864
05865
05866
05867
05868
05869
05870
05871
05872
05873
05874
05875
05876
05877
05878
05879
05880
05881
05882
05883
05884
05885
05886
05887
05888
05889
05890
05891
05892
05893
05894
05895
05896
05897
05898
05899
05900
05901
05902
05903
05904
05905
05906
05907
05908
05909
05910
05911
05912
05913
05914
05915
05916
05917
05918
05919
05920
05921
05922
05923
05924
05925
05926
05927
05928
05929
05930
05931
05932
05933
05934
05935
05936
05937
05938
05939
05940
05941
05942
05943
05944
05945
05946
05947
05948
05949
05950
05951
05952
05953
05954
05955
05956
05957
05958
05959
05960
05961
05962
05963
05964
05965
05966
05967
05968
05969
05970
05971
05972
05973
05974
05975
05976
05977
05978
05979
05980
05981
05982
05983
05984
05985
05986
05987
05988
05989
05990
05991
05992
05993
05994
05995
05996
05997
05998
05999
06000
06001
06002
06003
06004
06005
06006
06007
06008
06009
06010
06011
06012
06013
06014
06015
06016
06017
06018
06019
06020
06021
06022
06023
06024
06025
06026
06027
06028
06029
06030
06031
06032
06033
06034
06035
06036
06037
06038
06039
06040
06041
06042
06043
06044
06045
06046
06047
06048
06049
06050
06051
06052
06053
06054
06055
06056
06057
06058
06059
06060
06061
06062
06063
06064
06065
06066
06067
06068
06069
06070
06071
06072
06073
06074
06075
06076
06077
06078
06079
06080
06081
06082
06083
06084
06085
06086
06087
06088
06089
06090
06091
06092
06093
06094
06095
06096
06097
06098
06099
06100
06101
06102
06103
06104
06105
06106
06107
06108
06109
06110
06111
06112
06113
06114
06115
06116
06117
06118
06119
06120
06121
06122
06123
06124
06125
06126
06127
06128
06129
06130
06131
06132
06133
06134
06135
06136
06137
06138
06139
06140
06141
06142
06143
06144
06145
06146
06147
06148
06149
06150
06151
06152
06153
06154
06155
06156
06157
06158
06159
06160
06161
06162
06163
06164
06165
06166
06167
06168
06169
06170
06171
06172
06173
06174
06175
06176
06177
06178
06179
06180
06181
06182
06183
06184
06185
06186
06187
06188
06189
06190
06191
06192
06193
06194
06195
06196
06197
06198
06199
06200
06201
06202
06203
06204
06205
06206
06207
06208
06209
06210
06211
06212
06213
06214
06215
06216
06217
06218
06219
06220
06221
06222
06223
06224
06225
06226
06227
06228
06229
06230
06231
06232
06233
06234
06235
06236
06237
06238
06239
06240
06241
06242
06243
06244
06245
06246
06247
06248
06249
06250
06251
06252
06253
06254
06255
06256
06257
06258
06259
06260
06261
06262
06263
06264
06265
06266
06267
06268
06269
06270
06271
06272
06273
06274
06275
06276
06277
06278
06279
06280
06281
06282
06283
06284
06285
06286
06287
06288
06289
06290
06291
06292
06293
06294
06295
06296
06297
06298
06299
06300
06301
06302
06303
06304
06305
06306
06307
06308
06309
06310
06311
06312
06313
06314
06315
06316
06317
06318
06319
06320
06321
06322
06323
06324
06325
06326
06327
06328
06329
06330
06331
06332
06333
06334
06335
06336
06337
06338
06339
06340
06341
06342
06343
06344
06345
06346
06347
06348
06349
06350
06351
06352
06353
06354
06355
06356
06357
06358
06359
06360
06361
06362
06363
06364
06365
06366
06367
06368
06369
06370
06371
06372
06373
06374
06375
06376
06377
06378
06379
06380
06381
06382
06383
06384
06385
06386
06387
06388
06389
06390
06391
06392
06393
06394
06395
06396
06397
06398
06399
06400
06401
06402
06403
06404
06405
06406
06407
06408
06409
06410
06411
06412
06413
06414
06415
06416
06417
06418
06419
06420
06421
06422
06423
06424
06425
06426
06427
06428
06429
06430
06431
06432
06433
06434
06435
06436
06437
06438
06439
06440
06441
06442
06443
06444
06445
06446
06447
06448
06449
06450
06451
06452
06453
06454
06455
06456
06457
06458
06459
06460
06461
06462
06463
06464
06465
06466
06467
06468
06469
06470
06471
06472
06473
06474
06475
06476
06477
06478
06479
06480
06481
06482
06483
06484
06485
06486
06487
06488
06489
06490
06491
06492
06493
06494
06495
06496
06497
06498
06499
06500
06501
06502
06503
06504
06505
06506
06507
06508
06509
06510
06511
06512
06513
06514
06515
06516
06517
06518
06519
06520
06521
06522
06523
06524
06525
06526
06527
06528
06529
06530
06531
06532
06533
06534
06535
06536
06537
06538
06539
06540
06541
06542
06543
06544
06545
06546
06547
06548
06549
06550
06551
06552
06553
06554
06555
06556
06557
06558
06559
06560
06561
06562
06563
06564
06565
06566
06567
06568
06569
06570
06571
06572
06573
06574
06575
06576
06577
06578
06579
06580
06581
06582
06583
06584
06585
06586
06587
06588
06589
06590
06591
06592
06593
06594
06595
06596
06597
06598
06599
06600
06601
06602
06603
06604
06605
06606
06607
06608
06609
06610
06611
06612
06613
06614
06615
06616
06617
06618
06619
06620
06621
06622
06623
06624
06625
06626
06627
06628
06629
06630
06631
06632
06633
06634
06635
06636
06637
06638
06639
06640
06641
06642
06643
06644
06645
06646
06647
06648
06649
06650
06651
06652
06653
06654
06655
06656
06657
06658
06659
06660
06661
06662
06663
06664
06665
06666
06667
06668
06669
06670
06671
06672
06673
06674
06675
06676
06677
06678
06679
06680
06681
06682
06683
06684
06685
06686
06687
06688
06689
06690
06691
06692
06693
06694
06695
06696
06697
06698
06699
06700
06701
06702
06703
06704
06705
06706
06707
06708
06709
06710
06711
06712
06713
06714
06715
06716
06717
06718
06719
06720
06721
06722
06723
06724
06725
06726
06727
06728
06729
06730
06731
06732
06733
06734
06735
06736
06737
06738
06739
06740
06741
06742
06743
06744
06745
06746
06747
06748
06749
06750
06751
06752
06753
06754
06755
06756
06757
06758
06759
06760
06761
06762
06763
06764
06765
06766
06767
06768
06769
06770
06771
06772
06773
06774
06775
06776
06777
06778
06779
06780
06781
06782
06783
06784
06785
06786
06787
06788
06789
06790
06791
06792
06793
06794
06795
06796
06797
06798
06799
06800
06801
06802
06803
06804
06805
06806
06807
06808
06809
06810
06811
06812
06813
06814
06815
06816
06817
06818
06819
06820
06821
06822
06823
06824
06825
06826
06827
06828
06829
06830
06831
06832
06833
06834
06835
06836
06837
06838
06839
06840
06841
06842
06843
06844
06845
06846
06847
06848
06849
06850
06851
06852
06853
06854
06855
06856
06857
06858
06859
06860
06861
06862
06863
06864
06865
06866
06867
06868
06869
06870
06871
06872
06873
06874
06875
06876
06877
06878
06879
06880
06881
06882
06883
06884
06885
06886
06887
06888
06889
06890
06891
06892
06893
06894
06895
06896
06897
06898
06899
06900
06901
06902
06903
06904
06905
06906
06907
06908
06909
06910
06911
06912
06913
06914
06915
06916
06917
06918
06919
06920
06921
06922
06923
06924
06925
06926
06927
06928
06929
06930
06931
06932
06933
06934
06935
06936
06937
06938
06939
06940
06941
06942
06943
06944
06945
06946
06947
06948
06949
06950
06951
06952
06953
06954
06955
06956
06957
06958
06959
06960
06961
06962
06963
06964
06965
06966
06967
06968
06969
06970
06971
06972
06973
06974
06975
06976
06977
06978
06979
06980
06981
06982
06983
06984
06985
06986
06987
06988
06989
06990
06991
06992
06993
06994
06995
06996
06997
06998
06999
07000
07001
07002
07003
07004
07005
07006
07007
07008
07009
07010
07011
07012
07013
07014
07015
07016
07017
07018
07019
07020
07021
07022
07023
07024
07025
07026
07027
07028
07029
07030
07031
07032
07033
07034
07035
07036
07037
07038
07039
07040
07041
07042
07043
07044
07045
07046
07047
07048
07049
07050
07051
07052
07053
07054
07055
07056
07057
07058
07059
07060
07061
07062
07063
07064
07065
07066
07067
07068
07069
07070
07071
07072
07073
07074
07075
07076
07077
07078
07079
07080
07081
07082
07083
07084
07085
07086
07087
07088
07089
07090
07091
07092
07093
07094
07095
07096
07097
07098
07099
07100
07101
07102
07103
07104
07105
07106
07107
07108
07109
07110
07111
07112
07113
07114
07115
07116
07117
07118
07119
07120
07121
07122
07123
07124
07125
07126
07127
07128
07129
07130
07131
07132
07133
07134
07135
07136
07137
07138
07139
07140
07141
07142
07143
07144
07145
07146
07147
07148
07149
07150
07151
07152
07153
07154
07155
07156
07157
07158
07159
07160
07161
07162
07163
07164
07165
07166
07167
07168
07169
07170
07171
07172
07173
07174
07175
07176
07177
07178
07179
07180
07181
07182
07183
07184
07185
07186
07187
07188
07189
07190
07191
07192
07193
07194
07195
07196
07197
07198
07199
07200
07201
07202
07203
07204
07205
07206
07207
07208
07209
07210
07211
07212
07213
07214
07215
07216
07217
07218
07219
07220
07221
07222
07223
07224
07225
07226
07227
07228
07229
07230
07231
07232
07233
07234
07235
07236
07237
07238
07239
07240
07241
07242
07243
07244
07245
07246
07247
07248
07249
07250
07251
07252
07253
07254
07255
07256
07257
07258
07259
07260
07261
07262
07263
07264
07265
07266
07267
07268
07269
07270
07271
07272
07273
07274
07275
07276
07277
07278
07279
07280
07281
07282
07283
07284
07285
07286
07287
07288
07289
07290
07291
07292
07293
07294
07295
07296
07297
07298
07299
07300
07301
07302
07303
07304
07305
07306
07307
07308
07309
07310
07311
07312
07313
07314
07315
07316
07317
07318
07319
07320
07321
07322
07323
07324
07325
07326
07327
07328
07329
07330
07331
07332
07333
07334
07335
07336
07337
07338
07339
07340
07341
07342
07343
07344
07345
07346
07347
07348
07349
07350
07351
07352
07353
07354
07355
07356
07357
07358
07359
07360
07361
07362
07363
07364
07365
07366
07367
07368
07369
07370
07371
07372
07373
07374
07375
07376
07377
07378
07379
07380
07381
07382
07383
07384
07385
07386
07387
07388
07389
07390
07391
07392
07393
07394
07395
07396
07397
07398
07399
07400
07401
07402
07403
07404
07405
07406
07407
07408
07409
07410
07411
07412
07413
07414
07415
07416
07417
07418
07419
07420
07421
07422
07423
07424
07425
07426
07427
07428
07429
07430
07431
07432
07433
07434
07435
07436
07437
07438
07439
07440
07441
07442
07443
07444
07445
07446
07447
07448
07449
07450
07451
07452
07453
07454
07455
07456
07457
07458
07459
07460
07461
07462
07463
07464
07465
07466
07467
07468
07469
07470
07471
07472
07473
07474
07475
07476
07477
07478
07479
07480
07481
07482
07483
07484
07485
07486
07487
07488
07489
07490
07491
07492
07493
07494
07495
07496
07497
07498
07499
07500
07501
07502
07503
07504
07505
07506
07507
07508
07509
07510
07511
07512
07513
07514
07515
07516
07517
07518
07519
07520
07521
07522
07523
07524
07525
07526
07527
07528
07529
07530
07531
07532
07533
07534
07535
07536
07537
07538
07539
07540
07541
07542
07543
07544
07545
07546
07547
07548
07549
07550
07551
07552
07553
07554
07555
07556
07557
07558
07559
07560
07561
07562
07563
07564
07565
07566
07567
07568
07569
07570
07571
07572
07573
07574
07575
07576
07577
07578
07579
07580
07581
07582
07583
07584
07585
07586
07587
07588
07589
07590
07591
07592
07593
07594
07595
07596
07597
07598
07599
07600
07601
07602
07603
07604
07605
07606
07607
07608
07609
07610
07611
07612
07613
07614
07615
07616
07617
07618
07619
07620
07621
07622
07623
07624
07625
07626
07627
07628
07629
07630
07631
07632
07633
07634
07635
07636
07637
07638
07639
07640
07641
07642
07643
07644
07645
07646
07647
07648
07649
07650
07651
07652
07653
07654
07655
07656
07657
07658
07659
07660
07661
07662
07663
07664
07665
07666
07667
07668
07669
07670
07671
07672
07673
07674
07675
07676
07677
07678
07679
07680
07681
07682
07683
07684
07685
07686
07687
07688
07689
07690
07691
07692
07693
07694
07695
07696
07697
07698
07699
07700
07701
07702
07703
07704
07705
07706
07707
07708
07709
07710
07711
07712
07713
07714
07715
07716
07717
07718
07719
07720
07721
07722
07723
07724
07725
07726
07727
07728
07729
07730
07731
07732
07733
07734
07735
07736
07737
07738
07739
07740
07741
07742
07743
07744
07745
07746
07747
07748
07749
07750
07751
07752
07753
07754
07755
07756
07757
07758
07759
07760
07761
07762
07763
07764
07765
07766
07767
07768
07769
07770
07771
07772
07773
07774
07775
07776
07777
07778
07779
07780
07781
07782
07783
07784
07785
07786
07787
07788
07789
07790
07791
07792
07793
07794
07795
07796
07797
07798
07799
07800
07801
07802
07803
07804
07805
07806
07807
07808
07809
07810
07811
07812
07813
07814
07815
07816
07817
07818
07819
07820
07821
07822
07823
07824
07825
07826
07827
07828
07829
07830
07831
07832
07833
07834
07835
07836
07837
07838
07839
07840
07841
07842
07843
07844
07845
07846
07847
07848
07849
07850
07851
07852
07853
07854
07855
07856
07857
07858
07859
07860
07861
07862
07863
07864
07865
07866
07867
07868
07869
07870
07871
07872
07873
07874
07875
07876
07877
07878
07879
07880
07881
07882
07883
07884
07885
07886
07887
07888
07889
07890
07891
07892
07893
07894
07895
07896
07897
07898
07899
07900
07901
07902
07903
07904
07905
07906
07907
07908
07909
07910
07911
07912
07913
07914
07915
07916
07917
07918
07919
07920
07921
07922
07923
07924
07925
07926
07927
07928
07929
07930
07931
07932
07933
07934
07935
07936
07937
07938
07939
07940
07941
07942
07943
07944
07945
07946
07947
07948
07949
07950
07951
07952
07953
07954
07955
07956
07957
07958
07959
07960
07961
07962
07963
07964
07965
07966
07967
07968
07969
07970
07971
07972
07973
07974
07975
07976
07977
07978
07979
07980
07981
07982
07983
07984
07985
07986
07987
07988
07989
07990
07991
07992
07993
07994
07995
07996
07997
07998
07999
08000
08001
08002
08003
08004
08005
08006
08007
08008
08009
08010
08011
08012
08013
08014
08015
08016
08017
08018
08019
08020
08021
08022
08023
08024
08025
08026
08027
08028
08029
08030
08031
08032
08033
08034
08035
08036
08037
08038
08039
08040
08041
08042
08043
08044
08045
08046
08047
08048
08049
08050
08051
08052
08053
08054
08055
08056
08057
08058
08059
08060
08061
08062
08063
08064
08065
08066
08067
08068
08069
08070
08071
08072
08073
08074
08075
08076
08077
08078
08079
08080
08081
08082
08083
08084
08085
08086
08087
08088
08089
08090
08091
08092
08093
08094
08095
08096
08097
08098
08099
08100
08101
08102
08103
08104
08105
08106
08107
08108
08109
08110
08111
08112
08113
08114
08115
08116
08117
08118
08119
08120
08121
08122
08123
08124
08125
08126
08127
08128
08129
08130
08131
08132
08133
08134
08135
08136
08137
08138
08139
08140
08141
08142
08143
08144
08145
08146
08147
08148
08149
08150
08151
08152
08153
08154
08155
08156
08157
08158
08159
08160
08161
08162
08163
08164
08165
08166
08167
08168
08169
08170
08171
08172
08173
08174
08175
08176
08177
08178
08179
08180
08181
08182
08183
08184
08185
08186
08187
08188
08189
08190
08191
08192
08193
08194
08195
08196
08197
08198
08199
08200
08201
08202
08203
08204
08205
08206
08207
08208
08209
08210
08211
08212
08213
08214
08215
08216
08217
08218
08219
08220
08221
08222
08223
08224
08225
08226
08227
08228
08229
08230
08231
08232
08233
08234
08235
08236
08237
08238
08239
08240
08241
08242
08243
08244
08245
08246
08247
08248
08249
08250
08251
08252
08253
08254
08255
08256
08257
08258
08259
08260
08261
08262
08263
08264
08265
08266
08267
08268
08269
08270
08271
08272
08273
08274
08275
08276
08277
08278
08279
08280
08281
08282
08283
08284
08285
08286
08287
08288
08289
08290
08291
08292
08293
08294
08295
08296
08297
08298
08299
08300
08301
08302
08303
08304
08305
08306
08307
08308
08309
08310
08311
08312
08313
08314
08315
08316
08317
08318
08319
08320
08321
08322
08323
08324
08325
08326
08327
08328
08329
08330
08331
08332
08333
08334
08335
08336
08337
08338
08339
08340
08341
08342
08343
08344
08345
08346
08347
08348
08349
08350
08351
08352
08353
08354
08355
08356
08357
08358
08359
08360
08361
08362
08363
08364
08365
08366
08367
08368
08369
08370
08371
08372
08373
08374
08375
08376
08377
08378
08379
08380
08381
08382
08383
08384
08385
08386
08387
08388
08389
08390
08391
08392
08393
08394
08395
08396
08397
08398
08399
08400
08401
08402
08403
08404
08405
08406
08407
08408
08409
08410
08411
08412
08413
08414
08415
08416
08417
08418
08419
08420
08421
08422
08423
08424
08425
08426
08427
08428
08429
08430
08431
08432
08433
08434
08435
08436
08437
08438
08439
08440
08441
08442
08443
08444
08445
08446
08447
08448
08449
08450
08451
08452
08453
08454
08455
08456
08457
08458
08459
08460
08461
08462
08463
08464
08465
08466
08467
08468
08469
08470
08471
08472
08473
08474
08475
08476
08477
08478
08479
08480
08481
08482
08483
08484
08485
08486
08487
08488
08489
08490
08491
08492
08493
08494
08495
08496
08497
08498
08499
08500
08501
08502
08503
08504
08505
08506
08507
08508
08509
08510
08511
08512
08513
08514
08515
08516
08517
08518
08519
08520
08521
08522
08523
08524
08525
08526
08527
08528
08529
08530
08531
08532
08533
08534
08535
08536
08537
08538
08539
08540
08541
08542
08543
08544
08545
08546
08547
08548
08549
08550
08551
08552
08553
08554
08555
08556
08557
08558
08559
08560
08561
08562
08563
08564
08565
08566
08567
08568
08569
08570
08571
08572
08573
08574
08575
08576
08577
08578
08579
08580
08581
08582
08583
08584
08585
08586
08587
08588
08589
08590
08591
08592
08593
08594
08595
08596
08597
08598
08599
08600
08601
08602
08603
08604
08605
08606
08607
08608
08609
08610
08611
08612
08613
08614
08615
08616
08617
08618
08619
08620
08621
08622
08623
08624
08625
08626
08627
08628
08629
08630
08631
08632
08633
08634
08635
08636
08637
08638
08639
08640
08641
08642
08643
08644
08645
08646
08647
08648
08649
08650
08651
08652
08653
08654
08655
08656
08657
08658
08659
08660
08661
08662
08663
08664
08665
08666
08667
08668
08669
08670
08671
08672
08673
08674
08675
08676
08677
08678
08679
08680
08681
08682
08683
08684
08685
08686
08687
08688
08689
08690
08691
08692
08693
08694
08695
08696
08697
08698
08699
08700
08701
08702
08703
08704
08705
08706
08707
08708
08709
08710
08711
08712
08713
08714
08715
08716
08717
08718
08719
08720
08721
08722
08723
08724
08725
08726
08727
08728
08729
08730
08731
08732
08733
08734
08735
08736
08737
08738
08739
08740
08741
08742
08743
08744
08745
08746
08747
08748
08749
08750
08751
08752
08753
08754
08755
08756
08757
08758
08759
08760
08761
08762
08763
08764
08765
08766
08767
08768
08769
08770
08771
08772
08773
08774
08775
08776
08777
08778
08779
08780
08781
08782
08783
08784
08785
08786
08787
08788
08789
08790
08791
08792
08793
08794
08795
08796
08797
08798
08799
08800
08801
08802
08803
08804
08805
08806
08807
08808
08809
08810
08811
08812
08813
08814
08815
08816
08817
08818
08819
08820
08821
08822
08823
08824
08825
08826
08827
08828
08829
08830
08831
08832
08833
08834
08835
08836
08837
08838
08839
08840
08841
08842
08843
08844
08845
08846
08847
08848
08849
08850
08851
08852
08853
08854
08855
08856
08857
08858
08859
08860
08861
08862
08863
08864
08865
08866
08867
08868
08869
08870
08871
08872
08873
08874
08875
08876
08877
08878
08879
08880
08881
08882
08883
08884
08885
08886
08887
08888
08889
08890
08891
08892
08893
08894
08895
08896
08897
08898
08899
08900
08901
08902
08903
08904
08905
08906
08907
08908
08909
08910
08911
08912
08913
08914
08915
08916
08917
08918
08919
08920
08921
08922
08923
08924
08925
08926
08927
08928
08929
08930
08931
08932
08933
08934
08935
08936
08937
08938
08939
08940
08941
08942
08943
08944
08945
08946
08947
08948
08949
08950
08951
08952
08953
08954
08955
08956
08957
08958
08959
08960
08961
08962
08963
08964
08965
08966
08967
08968
08969
08970
08971
08972
08973
08974
08975
08976
08977
08978
08979
08980
08981
08982
08983
08984
08985
08986
08987
08988
08989
08990
08991
08992
08993
08994
08995
08996
08997
08998
08999
09000
09001
09002
09003
09004
09005
09006
09007
09008
09009
09010
09011
09012
09013
09014
09015
09016
09017
09018
09019
09020
09021
09022
09023
09024
09025
09026
09027
09028
09029
09030
09031
09032
09033
09034
09035
09036
09037
09038
09039
09040
09041
09042
09043
09044
09045
09046
09047
09048
09049
09050
09051
09052
09053
09054
09055
09056
09057
09058
09059
09060
09061
09062
09063
09064
09065
09066
09067
09068
09069
09070
09071
09072
09073
09074
09075
09076
09077
09078
09079
09080
09081
09082
09083
09084
09085
09086
09087
09088
09089
09090
09091
09092
09093
09094
09095
09096
09097
09098
09099
09100
09101
09102
09103
09104
09105
09106
09107
09108
09109
09110
09111
09112
09113
09114
09115
09116
09117
09118
09119
09120
09121
09122
09123
09124
09125
09126
09127
09128
09129
09130
09131
09132
09133
09134
09135
09136
09137
09138
09139
09140
09141
09142
09143
09144
09145
09146
09147
09148
09149
09150
09151
09152
09153
09154
09155
09156
09157
09158
09159
09160
09161
09162
09163
09164
09165
09166
09167
09168
09169
09170
09171
09172
09173
09174
09175
09176
09177
09178
09179
09180
09181
09182
09183
09184
09185
09186
09187
09188
09189
09190
09191
09192
09193
09194
09195
09196
09197
09198
09199
09200
09201
09202
09203
09204
09205
09206
09207
09208
09209
09210
09211
09212
09213
09214
09215
09216
09217
09218
09219
09220
09221
09222
09223
09224
09225
09226
09227
09228
09229
09230
09231
09232
09233
09234
09235
09236
09237
09238
09239
09240
09241
09242
09243
09244
09245
09246
09247
09248
09249
09250
09251
09252
09253
09254
09255
09256
09257
09258
09259
09260
09261
09262
09263
09264
09265
09266
09267
09268
09269
09270
09271
09272
09273
09274
09275
09276
09277
09278
09279
09280
09281
09282
09283
09284
09285
09286
09287
09288
09289
09290
09291
09292
09293
09294
09295
09296
09297
09298
09299
09300
09301
09302
09303
09304
09305
09306
09307
09308
09309
09310
09311
09312
09313
09314
09315
09316
09317
09318
09319
09320
09321
09322
09323
09324
09325
09326
09327
09328
09329
09330
09331
09332
09333
09334
09335
09336
09337
09338
09339
09340
09341
09342
09343
09344
09345
09346
09347
09348
09349
09350
09351
09352
09353
09354
09355
09356
09357
09358
09359
09360
09361
09362
09363
09364
09365
09366
09367
09368
09369
09370
09371
09372
09373
09374
09375
09376
09377
09378
09379
09380
09381
09382
09383
09384
09385
09386
09387
09388
09389
09390
09391
09392
09393
09394
09395
09396
09397
09398
09399
09400
09401
09402
09403
09404
09405
09406
09407
09408
09409
09410
09411
09412
09413
09414
09415
09416
09417
09418
09419
09420
09421
09422
09423
09424
09425
09426
09427
09428
09429
09430
09431
09432
09433
09434
09435
09436
09437
09438
09439
09440
09441
09442
09443
09444
09445
09446
09447
09448
09449
09450
09451
09452
09453
09454
09455
09456
09457
09458
09459
09460
09461
09462
09463
09464
09465
09466
09467
09468
09469
09470
09471
09472
09473
09474
09475
09476
09477
09478
09479
09480
09481
09482
09483
09484
09485
09486
09487
09488
09489
09490
09491
09492
09493
09494
09495
09496
09497
09498
09499
09500
09501
09502
09503
09504
09505
09506
09507
09508
09509
09510
09511
09512
09513
09514
09515
09516
09517
09518
09519
09520
09521
09522
09523
09524
09525
09526
09527
09528
09529
09530
09531
09532
09533
09534
09535
09536
09537
09538
09539
09540
09541
09542
09543
09544
09545
09546
09547
09548
09549
09550
09551
09552
09553
09554
09555
09556
09557
09558
09559
09560
09561
09562
09563
09564
09565
09566
09567
09568
09569
09570
09571
09572
09573
09574
09575
09576
09577
09578
09579
09580
09581
09582
09583
09584
09585
09586
09587
09588
09589
09590
09591
09592
09593
09594
09595
09596
09597
09598
09599
09600
09601
09602
09603
09604
09605
09606
09607
09608
09609
09610
09611
09612
09613
09614
09615
09616
09617
09618
09619
09620
09621
09622
09623
09624
09625
09626
09627
09628
09629
09630
09631
09632
09633
09634
09635
09636
09637
09638
09639
09640
09641
09642
09643
09644
09645
09646
09647
09648
09649
09650
09651
09652
09653
09654
09655
09656
09657
09658
09659
09660
09661
09662
09663
09664
09665
09666
09667
09668
09669
09670
09671
09672
09673
09674
09675
09676
09677
09678
09679
09680
09681
09682
09683
09684
09685
09686
09687
09688
09689
09690
09691
09692
09693
09694
09695
09696
09697
09698
09699
09700
09701
09702
09703
09704
09705
09706
09707
09708
09709
09710
09711
09712
09713
09714
09715
09716
09717
09718
09719
09720
09721
09722
09723
09724
09725
09726
09727
09728
09729
09730
09731
09732
09733
09734
09735
09736
09737
09738
09739
09740
09741
09742
09743
09744
09745
09746
09747
09748
09749
09750
09751
09752
09753
09754
09755
09756
09757
09758
09759
09760
09761
09762
09763
09764
09765
09766
09767
09768
09769
09770
09771
09772
09773
09774
09775
09776
09777
09778
09779
09780
09781
09782
09783
09784
09785
09786
09787
09788
09789
09790
09791
09792
09793
09794
09795
09796
09797
09798
09799
09800
09801
09802
09803
09804
09805
09806
09807
09808
09809
09810
09811
09812
09813
09814
09815
09816
09817
09818
09819
09820
09821
09822
09823
09824
09825
09826
09827
09828
09829
09830
09831
09832
09833
09834
09835
09836
09837
09838
09839
09840
09841
09842
09843
09844
09845
09846
09847
09848
09849
09850
09851
09852
09853
09854
09855
09856
09857
09858
09859
09860
09861
09862
09863
09864
09865
09866
09867
09868
09869
09870
09871
09872
09873
09874
09875
09876
09877
09878
09879
09880
09881
09882
09883
09884
09885
09886
09887
09888
09889
09890
09891
09892
09893
09894
09895
09896
09897
09898
09899
09900
09901
09902
09903
09904
09905
09906
09907
09908
09909
09910
09911
09912
09913
09914
09915
09916
09917
09918
09919
09920
09921
09922
09923
09924
09925
09926
09927
09928
09929
09930
09931
09932
09933
09934
09935
09936
09937
09938
09939
09940
09941
09942
09943
09944
09945
09946
09947
09948
09949
09950
09951
09952
09953
09954
09955
09956
09957
09958
09959
09960
09961
09962
09963
09964
09965
09966
09967
09968
09969
09970
09971
09972
09973
09974
09975
09976
09977
09978
09979
09980
09981
09982
09983
09984
09985
09986
09987
09988
09989
09990
09991
09992
09993
09994
09995
09996
09997
09998
09999
10000
10001
10002
10003
10004
10005
10006
10007
10008
10009
10010
10011
10012
10013
10014
10015
10016
10017
10018
10019
10020
10021
10022
10023
10024
10025
10026
10027
10028
10029
10030
10031
10032
10033
10034
10035
10036
10037
10038
10039
10040
10041
10042
10043
10044
10045
10046
10047
10048
10049
10050
10051
10052
10053
10054
10055
10056
10057
10058
10059
10060
10061
10062
10063
10064
10065
10066
10067
10068
10069
10070
10071
10072
10073
10074
10075
10076
10077
10078
10079
10080
10081
10082
10083
10084
10085
10086
10087
10088
10089
10090
10091
10092
10093
10094
10095
10096
10097
10098
10099
10100
10101
10102
10103
10104
10105
10106
10107
10108
10109
10110
10111
10112
10113
10114
10115
10116
10117
10118
10119
10120
10121
10122
10123
10124
10125
10126
10127
10128
10129
10130
10131
10132
10133
10134
10135
10136
10137
10138
10139
10140
10141
10142
10143
10144
10145
10146
10147
10148
10149
10150
10151
10152
10153
10154
10155
10156
10157
10158
10159
10160
10161
10162
10163
10164
10165
10166
10167
10168
10169
10170
10171
10172
10173
10174
10175
10176
10177
10178
10179
10180
10181
10182
10183
10184
10185
10186
10187
10188
10189
10190
10191
10192
10193
10194
10195
10196
10197
10198
10199
10200
10201
10202
10203
10204
10205
10206
10207
10208
10209
10210
10211
10212
10213
10214
10215
10216
10217
10218
10219
10220
10221
10222
10223
10224
10225
10226
10227
10228
10229
10230
10231
10232
10233
10234
10235
10236
10237
10238
10239
10240
10241
10242
10243
10244
10245
10246
10247
10248
10249
10250
10251
10252
10253
10254
10255
10256
10257
10258
10259
10260
10261
10262
10263
10264
10265
10266
10267
10268
10269
10270
10271
10272
10273
10274
10275
10276
10277
10278
10279
10280
10281
10282
10283
10284
10285
10286
10287
10288
10289
10290
10291
10292
10293
10294
10295
10296
10297
10298
10299
10300
10301
10302
10303
10304
10305
10306
10307
10308
10309
10310
10311
10312
10313
10314
10315
10316
10317
10318
10319
10320
10321
10322
10323
10324
10325
10326
10327
10328
10329
10330
10331
10332
10333
10334
10335
10336
10337
10338
10339
10340
10341
10342
10343
10344
10345
10346
10347
10348
10349
10350
10351
10352
10353
10354
10355
10356
10357
10358
10359
10360
10361
10362
10363
10364
10365
10366
10367
10368
10369
10370
10371
10372
10373
10374
10375
10376
10377
10378
10379
10380
10381
10382
10383
10384
10385
10386
10387
10388
10389
10390
10391
10392
10393
10394
10395
10396
10397
10398
10399
10400
10401
10402
10403
10404
10405
10406
10407
10408
10409
10410
10411
10412
10413
10414
10415
10416
10417
10418
10419
10420
10421
10422
10423
10424
10425
10426
10427
10428
10429
10430
10431
10432
10433
10434
10435
10436
10437
10438
10439
10440
10441
10442
10443
10444
10445
10446
10447
10448
10449
10450
10451
10452
10453
10454
10455
10456
10457
10458
10459
10460
10461
10462
10463
10464
10465
10466
10467
10468
10469
10470
10471
10472
10473
10474
10475
10476
10477
10478
10479
10480
10481
10482
10483
10484
10485
10486
10487
10488
10489
10490
10491
10492
10493
10494
10495
10496
10497
10498
10499
10500
10501
10502
10503
10504
10505
10506
10507
10508
10509
10510
10511
10512
10513
10514
10515
10516
10517
10518
10519
10520
10521
10522
10523
10524
10525
10526
10527
10528
10529
10530
10531
10532
10533
10534
10535
10536
10537
10538
10539
10540
10541
10542
10543
10544
10545
10546
10547
10548
10549
10550
10551
10552
10553
10554
10555
10556
10557
10558
10559
10560
10561
10562
10563
10564
10565
10566
10567
10568
10569
10570
10571
10572
10573
10574
10575
10576
10577
10578
10579
10580
10581
10582
10583
10584
10585
10586
10587
10588
10589
10590
10591
10592
10593
10594
10595
10596
10597
10598
10599
10600
10601
10602
10603
10604
10605
10606
10607
10608
10609
10610
10611
10612
10613
10614
10615
10616
10617
10618
10619
10620
10621
10622
10623
10624
10625
10626
10627
10628
10629
10630
10631
10632
10633
10634
10635
10636
10637
10638
10639
10640
10641
10642
10643
10644
10645
10646
10647
10648
10649
10650
10651
10652
10653
10654
10655
10656
10657
10658
10659
10660
10661
10662
10663
10664
10665
10666
10667
10668
10669
10670
10671
10672
10673
10674
10675
10676
10677
10678
10679
10680
10681
10682
10683
10684
10685
10686
10687
10688
10689
10690
10691
10692
10693
10694
10695
10696
10697
10698
10699
10700
10701
10702
10703
10704
10705
10706
10707
10708
10709
10710
10711
10712
10713
10714
10715
10716
10717
10718
10719
10720
10721
10722
10723
10724
10725
10726
10727
10728
10729
10730
10731
10732
10733
10734
10735
10736
10737
10738
10739
10740
10741
10742
10743
10744
10745
10746
10747
10748
10749
10750
10751
10752
10753
10754
10755
10756
10757
10758
10759
10760
10761
10762
10763
10764
10765
10766
10767
10768
10769
10770
10771
10772
10773
10774
10775
10776
10777
10778
10779
10780
10781
10782
10783
10784
10785
10786
10787
10788
10789
10790
10791
10792
10793
10794
10795
10796
10797
10798
10799
10800
10801
10802
10803
10804
10805
10806
10807
10808
10809
10810
10811
10812
10813
10814
10815
10816
10817
10818
10819
10820
10821
10822
10823
10824
10825
10826
10827
10828
10829
10830
10831
10832
10833
10834
10835
10836
10837
10838
10839
10840
10841
10842
10843
10844
10845
10846
10847
10848
10849
10850
10851
10852
10853
10854
10855
10856
10857
10858
10859
10860
10861
10862
10863
10864
10865
10866
10867
10868
10869
10870
10871
10872
10873
10874
10875
10876
10877
10878
10879
10880
10881
10882
10883
10884
10885
10886
10887
10888
10889
10890
10891
10892
10893
10894
10895
10896
10897
10898
10899
10900
10901
10902
10903
10904
10905
10906
10907
10908
10909
10910
10911
10912
10913
10914
10915
10916
10917
10918
10919
10920
10921
10922
10923
10924
10925
10926
10927
10928
10929
10930
10931
10932
10933
10934
10935
10936
10937
10938
10939
10940
10941
10942
10943
10944
10945
10946
10947
10948
10949
10950
10951
10952
10953
10954
10955
10956
10957
10958
10959
10960
10961
10962
10963
10964
10965
10966
10967
10968
10969
10970
10971
10972
10973
10974
10975
10976
10977
10978
10979
10980
10981
10982
10983
10984
10985
10986
10987
10988
10989
10990
10991
10992
10993
10994
10995
10996
10997
10998
10999
11000
11001
11002
11003
11004
11005
11006
11007
11008
11009
11010
11011
11012
11013
11014
11015
11016
11017
11018
11019
11020
11021
11022
11023
11024
11025
11026
11027
11028
11029
11030
11031
11032
11033
11034
11035
11036
11037
11038
11039
11040
11041
11042
11043
11044
11045
11046
11047
11048
11049
11050
11051
11052
11053
11054
11055
11056
11057
11058
11059
11060
11061
11062
11063
11064
11065
11066
11067
11068
11069
11070
11071
11072
11073
11074
11075
11076
11077
11078
11079
11080
11081
11082
11083
11084
11085
11086
11087
11088
11089
11090
11091
11092
11093
11094
11095
11096
11097
11098
11099
11100
11101
11102
11103
11104
11105
11106
11107
11108
11109
11110
11111
11112
11113
11114
11115
11116
11117
11118
11119
11120
11121
11122
11123
11124
11125
11126
11127
11128
11129
11130
11131
11132
11133
11134
11135
11136
11137
11138
11139
11140
11141
11142
11143
11144
11145
11146
11147
11148
11149
11150
11151
11152
11153
11154
11155
11156
11157
11158
11159
11160
11161
11162
11163
11164
11165
11166
11167
11168
11169
11170
11171
11172
11173
11174
11175
11176
11177
11178
11179
11180
11181
11182
11183
11184
11185
11186
11187
11188
11189
11190
11191
11192
11193
11194
11195
11196
11197
11198
11199
11200
11201
11202
11203
11204
11205
11206
11207
11208
11209
11210
11211
11212
11213
11214
11215
11216
11217
11218
11219
11220
11221
11222
11223
11224
11225
11226
11227
11228
11229
11230
11231
11232
11233
11234
11235
11236
11237
11238
11239
11240
11241
11242
11243
11244
11245
11246
11247
11248
11249
11250
11251
11252
11253
11254
11255
11256
11257
11258
11259
11260
11261
11262
11263
11264
11265
11266
11267
11268
11269
11270
11271
11272
11273
11274
11275
11276
11277
11278
11279
11280
11281
11282
11283
11284
11285
11286
11287
11288
11289
11290
11291
11292
11293
11294
11295
11296
11297
11298
11299
11300
11301
11302
11303
11304
11305
11306
11307
11308
11309
11310
11311
11312
11313
11314
11315
11316
11317
11318
11319
11320
11321
11322
11323
11324
11325
11326
11327
11328
11329
11330
11331
11332
11333
11334
11335
11336
11337
11338
11339
11340
11341
11342
11343
11344
11345
11346
11347
11348
11349
11350
11351
11352
11353
11354
11355
11356
11357
11358
11359
11360
11361
11362
11363
11364
11365
11366
11367
11368
11369
11370
11371
11372
11373
11374
11375
11376
11377
11378
11379
11380
11381
11382
11383
11384
11385
11386
11387
11388
11389
11390
11391
11392
11393
11394
11395
11396
11397
11398
11399
11400
11401
11402
11403
11404
11405
11406
11407
11408
11409
11410
11411
11412
11413
11414
11415
11416
11417
11418
11419
11420
11421
11422
11423
11424
11425
11426
11427
11428
11429
11430
11431
11432
11433
11434
11435
11436
11437
11438
11439
11440
11441
11442
11443
11444
11445
11446
11447
11448
11449
11450
11451
11452
11453
11454
11455
11456
11457
11458
11459
11460
11461
11462
11463
11464
11465
11466
11467
11468
11469
11470
11471
11472
11473
11474
11475
11476
11477
11478
11479
11480
11481
11482
11483
11484
11485
11486
11487
11488
11489
11490
11491
11492
11493
11494
11495
11496
11497
11498
11499
11500
11501
11502
11503
11504
11505
11506
11507
11508
11509
11510
11511
11512
11513
11514
11515
11516
11517
11518
11519
11520
11521
11522
11523
11524
11525
11526
11527
11528
11529
11530
11531
11532
11533
11534
11535
11536
11537
11538
11539
11540
11541
11542
11543
11544
11545
11546
11547
11548
11549
11550
11551
11552
11553
11554
11555
11556
11557
11558
11559
11560
11561
11562
11563
11564
11565
11566
11567
11568
11569
11570
11571
11572
11573
11574
11575
11576
11577
11578
11579
11580
11581
11582
11583
11584
11585
11586
11587
11588
11589
11590
11591
11592
11593
11594
11595
11596
11597
11598
11599
11600
11601
11602
11603
11604
11605
11606
11607
11608
11609
11610
11611
11612
11613
11614
11615
11616
11617
11618
11619
11620
11621
11622
11623
11624
11625
11626
11627
11628
11629
11630
11631
11632
11633
11634
11635
11636
11637
11638
11639
11640
11641
11642
11643
11644
11645
11646
11647
11648
11649
11650
11651
11652
11653
11654
11655
11656
11657
11658
11659
11660
11661
11662
11663
11664
11665
11666
11667
11668
11669
11670
11671
11672
11673
11674
11675
11676
11677
11678
11679
11680
11681
11682
11683
11684
11685
11686
11687
11688
11689
11690
11691
11692
11693
11694
11695
11696
11697
11698
11699
11700
11701
11702
11703
11704
11705
11706
11707
11708
11709
11710
11711
11712
11713
11714
11715
11716
11717
11718
11719
11720
11721
11722
11723
11724
11725
11726
11727
11728
11729
11730
11731
11732
11733
11734
11735
11736
11737
11738
11739
11740
11741
11742
11743
11744
11745
11746
11747
11748
11749
11750
11751
11752
11753
11754
11755
11756
11757
11758
11759
11760
11761
11762
11763
11764
11765
11766
11767
11768
11769
11770
11771
11772
11773
11774
11775
11776
11777
11778
11779
11780
11781
11782
11783
11784
11785
11786
11787
11788
11789
11790
11791
11792
11793
11794
11795
11796
11797
11798
11799
11800
11801
11802
11803
11804
11805
11806
11807
11808
11809
11810
11811
11812
11813
11814
11815
11816
11817
11818
11819
11820
11821
11822
11823
11824
11825
11826
11827
11828
11829
11830
11831
11832
11833
11834
11835
11836
11837
11838
11839
11840
11841
11842
11843
11844
11845
11846
11847
11848
11849
11850
11851
11852
11853
11854
11855
11856
11857
11858
11859
11860
11861
11862
11863
11864
11865
11866
11867
11868
11869
11870
11871
11872
11873
11874
11875
11876
11877
11878
11879
11880
11881
11882
11883
11884
11885
11886
11887
11888
11889
11890
11891
11892
11893
11894
11895
11896
11897
11898
11899
11900
11901
11902
11903
11904
11905
11906
11907
11908
11909
11910
11911
11912
11913
11914
11915
11916
11917
11918
11919
11920
11921
11922
11923
11924
11925
11926
11927
11928
11929
11930
11931
11932
11933
11934
11935
11936
11937
11938
11939
11940
11941
11942
11943
11944
11945
11946
11947
11948
11949
11950
11951
11952
11953
11954
11955
11956
11957
11958
11959
11960
11961
11962
11963
11964
11965
11966
11967
11968
11969
11970
11971
11972
11973
11974
11975
11976
11977
11978
11979
11980
11981
11982
11983
11984
11985
11986
11987
11988
11989
11990
11991
11992
11993
11994
11995
11996
11997
11998
11999
12000
12001
12002
12003
12004
12005
12006
12007
12008
12009
12010
12011
12012
12013
12014
12015
12016
12017
12018
12019
12020
12021
12022
12023
12024
12025
12026
12027
12028
12029
12030
12031
12032
12033
12034
12035
12036
12037
12038
12039
12040
12041
12042
12043
12044
12045
12046
12047
12048
12049
12050
12051
12052
12053
12054
12055
12056
12057
12058
12059
12060
12061
12062
12063
12064
12065
12066
12067
12068
12069
12070
12071
12072
12073
12074
12075
12076
12077
12078
12079
12080
12081
12082
12083
12084
12085
12086
12087
12088
12089
12090
12091
12092
12093
12094
12095
12096
12097
12098
12099
12100
12101
12102
12103
12104
12105
12106
12107
12108
12109
12110
12111
12112
12113
12114
12115
12116
12117
12118
12119
12120
12121
12122
12123
12124
12125
12126
12127
12128
12129
12130
12131
12132
12133
12134
12135
12136
12137
12138
12139
12140
12141
12142
12143
12144
12145
12146
12147
12148
12149
12150
12151
12152
12153
12154
12155
12156
12157
12158
12159
12160
12161
12162
12163
12164
12165
12166
12167
12168
12169
12170
12171
12172
12173
12174
12175
12176
12177
12178
12179
12180
12181
12182
12183
12184
12185
12186
12187
12188
12189
12190
12191
12192
12193
12194
12195
12196
12197
12198
12199
12200
12201
12202
12203
12204
12205
12206
12207
12208
12209
12210
12211
12212
12213
12214
12215
12216
12217
12218
12219
12220
12221
12222
12223
12224
12225
12226
12227
12228
12229
12230
12231
12232
12233
12234
12235
12236
12237
12238
12239
12240
12241
12242
12243
12244
12245
12246
12247
12248
12249
12250
12251
12252
12253
12254
12255
12256
12257
12258
12259
12260
12261
12262
12263
12264
12265
12266
12267
12268
12269
12270
12271
12272
12273
12274
12275
12276
12277
12278
12279
12280
12281
12282
12283
12284
12285
12286
12287
12288
12289
12290
12291
12292
12293
12294
12295
12296
12297
12298
12299
12300
12301
12302
12303
12304
12305
12306
12307
12308
12309
12310
12311
12312
12313
12314
12315
12316
12317
12318
12319
12320
12321
12322
12323
12324
12325
12326
12327
12328
12329
12330
12331
12332
12333
12334
12335
12336
12337
12338
12339
12340
12341
12342
12343
12344
12345
12346
12347
12348
12349
12350
12351
12352
12353
12354
12355
12356
12357
12358
12359
12360
12361
12362
12363
12364
12365
12366
12367
12368
12369
12370
12371
12372
12373
12374
12375
12376
12377
12378
12379
12380
12381
12382
12383
12384
12385
12386
12387
12388
12389
12390
12391
12392
12393
12394
12395
12396
12397
12398
12399
12400
12401
12402
12403
12404
12405
12406
12407
12408
12409
12410
12411
12412
12413
12414
12415
12416
12417
12418
12419
12420
12421
12422
12423
12424
12425
12426
12427
12428
12429
12430
12431
12432
12433
12434
12435
12436
12437
12438
12439
12440
12441
12442
12443
12444
12445
12446
12447
12448
12449
12450
12451
12452
12453
12454
12455
12456
12457
12458
12459
12460
12461
12462
12463
12464
12465
12466
12467
12468
12469
12470
12471
12472
12473
12474
12475
12476
12477
12478
12479
12480
12481
12482
12483
12484
12485
12486
12487
12488
12489
12490
12491
12492
12493
12494
12495
12496
12497
12498
12499
12500
12501
12502
12503
12504
12505
12506
12507
12508
12509
12510
12511
12512
12513
12514
12515
12516
12517
12518
12519
12520
12521
12522
12523
12524
12525
12526
12527
12528
12529
12530
12531
12532
12533
12534
12535
12536
12537
12538
12539
12540
12541
12542
12543
12544
12545
12546
12547
12548
12549
12550
12551
12552
12553
12554
12555
12556
12557
12558
12559
12560
12561
12562
12563
12564
12565
12566
12567
12568
12569
12570
12571
12572
12573
12574
12575
12576
12577
12578
12579
12580
12581
12582
12583
12584
12585
12586
12587
12588
12589
12590
12591
12592
12593
12594
12595
12596
12597
12598
12599
12600
12601
12602
12603
12604
12605
12606
12607
12608
12609
12610
12611
12612
12613
12614
12615
12616
12617
12618
12619
12620
12621
12622
12623
12624
12625
12626
12627
12628
12629
12630
12631
12632
12633
12634
12635
12636
12637
12638
12639
12640
12641
12642
12643
12644
12645
12646
12647
12648
12649
12650
12651
12652
12653
12654
12655
12656
12657
12658
12659
12660
12661
12662
12663
12664
12665
12666
12667
12668
12669
12670
12671
12672
12673
12674
12675
12676
12677
12678
12679
12680
12681
12682
12683
12684
12685
12686
12687
12688
12689
12690
12691
12692
12693
12694
12695
12696
12697
12698
12699
12700
12701
12702
12703
12704
12705
12706
12707
12708
12709
12710
12711
12712
12713
12714
12715
12716
12717
12718
12719
12720
12721
12722
12723
12724
12725
12726
12727
12728
12729
12730
12731
12732
12733
12734
12735
12736
12737
12738
12739
12740
12741
12742
12743
12744
12745
12746
12747
12748
12749
12750
12751
12752
12753
12754
12755
12756
12757
12758
12759
12760
12761
12762
12763
12764
12765
12766
12767
12768
12769
12770
12771
12772
12773
12774
12775
12776
12777
12778
12779
12780
12781
12782
12783
12784
12785
12786
12787
12788
12789
12790
12791
12792
12793
12794
12795
12796
12797
12798
12799
12800
12801
12802
12803
12804
12805
12806
12807
12808
12809
12810
12811
12812
12813
12814
12815
12816
12817
12818
12819
12820
12821
12822
12823
12824
12825
12826
12827
12828
12829
12830
12831
12832
12833
12834
12835
12836
12837
12838
12839
12840
12841
12842
12843
12844
12845
12846
12847
12848
12849
12850
12851
12852
12853
12854
12855
12856
12857
12858
12859
12860
12861
12862
12863
12864
12865
12866
12867
12868
12869
12870
12871
12872
12873
12874
12875
12876
12877
12878
12879
12880
12881
12882
12883
12884
12885
12886
12887
12888
12889
12890
12891
12892
12893
12894
12895
12896
12897
12898
12899
12900
12901
12902
12903
12904
12905
12906
12907
12908
12909
12910
12911
12912
12913
12914
12915
12916
12917
12918
12919
12920
12921
12922
12923
12924
12925
12926
12927
12928
12929
12930
12931
12932
12933
12934
12935
12936
12937
12938
12939
12940
12941
12942
12943
12944
12945
12946
12947
12948
12949
12950
12951
12952
12953
12954
12955
12956
12957
12958
12959
12960
12961
12962
12963
12964
12965
12966
12967
12968
12969
12970
12971
12972
12973
12974
12975
12976
12977
12978
12979
12980
12981
12982
12983
12984
12985
12986
12987
12988
12989
12990
12991
12992
12993
12994
12995
12996
12997
12998
12999
13000
13001
13002
13003
13004
13005
13006
13007
13008
13009
13010
13011
13012
13013
13014
13015
13016
13017
13018
13019
13020
13021
13022
13023
13024
13025
13026
13027
13028
13029
13030
13031
13032
13033
13034
13035
13036
13037
13038
13039
13040
13041
13042
13043
13044
13045
13046
13047
13048
13049
13050
13051
13052
13053
13054
13055
13056
13057
13058
13059
13060
13061
13062
13063
13064
13065
13066
13067
13068
13069
13070
13071
13072
13073
13074
13075
13076
13077
13078
13079
13080
13081
13082
13083
13084
13085
13086
13087
13088
13089
13090
13091
13092
13093
13094
13095
13096
13097
13098
13099
13100
13101
13102
13103
13104
13105
13106
13107
13108
13109
13110
13111
13112
13113
13114
13115
13116
13117
13118
13119
13120
13121
13122
13123
13124
13125
13126
13127
13128
13129
13130
13131
13132
13133
13134
13135
13136
13137
13138
13139
13140
13141
13142
13143
13144
13145
13146
13147
13148
13149
13150
13151
13152
13153
13154
13155
13156
13157
13158
13159
13160
13161
13162
13163
13164
13165
13166
13167
13168
13169
13170
13171
13172
13173
13174
13175
13176
13177
13178
13179
13180
13181
13182
13183
13184
13185
13186
13187
13188
13189
13190
13191
13192
13193
13194
13195
13196
13197
13198
13199
13200
13201
13202
13203
13204
13205
13206
13207
13208
13209
13210
13211
13212
13213
13214
13215
13216
13217
13218
13219
13220
13221
13222
13223
13224
13225
13226
13227
13228
13229
13230
13231
13232
13233
13234
13235
13236
13237
13238
13239
13240
13241
13242
13243
13244
13245
13246
13247
13248
13249
13250
13251
13252
13253
13254
13255
13256
13257
13258
13259
13260
13261
13262
13263
13264
13265
13266
13267
13268
13269
13270
13271
13272
13273
13274
13275
13276
13277
13278
13279
13280
13281
13282
13283
13284
13285
13286
13287
13288
13289
13290
13291
13292
13293
13294
13295
13296
13297
13298
13299
13300
13301
13302
13303
13304
13305
13306
13307
13308
13309
13310
13311
13312
13313
13314
13315
13316
13317
13318
13319
13320
13321
13322
13323
13324
13325
13326
13327
13328
13329
13330
13331
13332
13333
13334
13335
13336
13337
13338
13339
13340
13341
13342
13343
13344
13345
13346
13347
13348
13349
13350
13351
13352
13353
13354
13355
13356
13357
13358
13359
13360
13361
13362
13363
13364
13365
13366
13367
13368
13369
13370
13371
13372
13373
13374
13375
13376
13377
13378
13379
13380
13381
13382
13383
13384
13385
13386
13387
13388
13389
13390
13391
13392
13393
13394
13395
13396
13397
13398
13399
13400
13401
13402
13403
13404
13405
13406
13407
13408
13409
13410
13411
13412
13413
13414
13415
13416
13417
13418
13419
13420
13421
13422
13423
13424
13425
13426
13427
13428
13429
13430
13431
13432
13433
13434
13435
13436
13437
13438
13439
13440
13441
13442
13443
13444
13445
13446
13447
13448
13449
13450
13451
13452
13453
13454
13455
13456
13457
13458
13459
13460
13461
13462
13463
13464
13465
13466
13467
13468
13469
13470
13471
13472
13473
13474
13475
13476
13477
13478
13479
13480
13481
13482
13483
13484
13485
13486
13487
13488
13489
13490
13491
13492
13493
13494
13495
13496
13497
13498
13499
13500
13501
13502
13503
13504
13505
13506
13507
13508
13509
13510
13511
13512
13513
13514
13515
13516
13517
13518
13519
13520
13521
13522
13523
13524
13525
13526
13527
13528
13529
13530
13531
13532
13533
13534
13535
13536
13537
13538
13539
13540
13541
13542
13543
13544
13545
13546
13547
13548
13549
13550
13551
13552
13553
13554
13555
13556
13557
13558
13559
13560
13561
13562
13563
13564
13565
13566
13567
13568
13569
13570
13571
13572
13573
13574
13575
13576
13577
13578
13579
13580
13581
13582
13583
13584
13585
13586
13587
13588
13589
13590
13591
13592
13593
13594
13595
13596
13597
13598
13599
13600
13601
13602
13603
13604
13605
13606
13607
13608
13609
13610
13611
13612
13613
13614
13615
13616
13617
13618
13619
13620
13621
13622
13623
13624
13625
13626
13627
13628
13629
13630
13631
13632
13633
13634
13635
13636
13637
13638
13639
13640
13641
13642
13643
13644
13645
13646
13647
13648
13649
13650
13651
13652
13653
13654
13655
13656
13657
13658
13659
13660
13661
13662
13663
13664
13665
13666
13667
13668
13669
13670
13671
13672
13673
13674
13675
13676
13677
13678
13679
13680
13681
13682
13683
13684
13685
13686
13687
13688
13689
13690
13691
13692
13693
13694
13695
13696
13697
13698
13699
13700
13701
13702
13703
13704
13705
13706
13707
13708
13709
13710
13711
13712
13713
13714
13715
13716
13717
13718
13719
13720
13721
13722
13723
13724
13725
13726
13727
13728
13729
13730
13731
13732
13733
13734
13735
13736
13737
13738
13739
13740
13741
13742
13743
13744
13745
13746
13747
13748
13749
13750
13751
13752
13753
13754
13755
13756
13757
13758
13759
13760
13761
13762
13763
13764
13765
13766
13767
13768
13769
13770
13771
13772
13773
13774
13775
13776
13777
13778
13779
13780
13781
13782
13783
13784
13785
13786
13787
13788
13789
13790
13791
13792
13793
13794
13795
13796
13797
13798
13799
13800
13801
13802
13803
13804
13805
13806
13807
13808
13809
13810
13811
13812
13813
13814
13815
13816
13817
13818
13819
13820
13821
13822
13823
13824
13825
13826
13827
13828
13829
13830
13831
13832
13833
13834
13835
13836
13837
13838
13839
13840
13841
13842
13843
13844
13845
13846
13847
13848
13849
13850
13851
13852
13853
13854
13855
13856
13857
13858
13859
13860
13861
13862
13863
13864
13865
13866
13867
13868
13869
13870
13871
13872
13873
13874
13875
13876
13877
13878
13879
13880
13881
13882
13883
13884
13885
13886
13887
13888
13889
13890
13891
13892
13893
13894
13895
13896
13897
13898
13899
13900
13901
13902
13903
13904
13905
13906
13907
13908
13909
13910
13911
13912
13913
13914
13915
13916
13917
13918
13919
13920
13921
13922
13923
13924
13925
13926
13927
13928
13929
13930
13931
13932
13933
13934
13935
13936
13937
13938
13939
13940
13941
13942
13943
13944
13945
13946
13947
13948
13949
13950
13951
13952
13953
13954
13955
13956
13957
13958
13959
13960
13961
13962
13963
13964
13965
13966
13967
13968
13969
13970
13971
13972
13973
13974
13975
13976
13977
13978
13979
13980
13981
13982
13983
13984
13985
13986
13987
13988
13989
13990
13991
13992
13993
13994
13995
13996
13997
13998
13999
14000
14001
14002
14003
14004
14005
14006
14007
14008
14009
14010
14011
14012
14013
14014
14015
14016
14017
14018
14019
14020
14021
14022
14023
14024
14025
14026
14027
14028
14029
14030
14031
14032
14033
14034
14035
14036
14037
14038
14039
14040
14041
14042
14043
14044
14045
14046
14047
14048
14049
14050
14051
14052
14053
14054
14055
14056
14057
14058
14059
14060
14061
14062
14063
14064
14065
14066
14067
14068
14069
14070
14071
14072
14073
14074
14075
14076
14077
14078
14079
14080
14081
14082
14083
14084
14085
14086
14087
14088
14089
14090
14091
14092
14093
14094
14095
14096
14097
14098
14099
14100
14101
14102
14103
14104
14105
14106
14107
14108
14109
14110
14111
14112
14113
14114
14115
14116
14117
14118
14119
14120
14121
14122
14123
14124
14125
14126
14127
14128
14129
14130
14131
14132
14133
14134
14135
14136
14137
14138
14139
14140
14141
14142
14143
14144
14145
14146
14147
14148
14149
14150
14151
14152
14153
14154
14155
14156
14157
14158
14159
14160
14161
14162
14163
14164
14165
14166
14167
14168
14169
14170
14171
14172
14173
14174
14175
14176
14177
14178
14179
14180
14181
14182
14183
14184
14185
14186
14187
14188
14189
14190
14191
14192
14193
14194
14195
14196
14197
14198
14199
14200
14201
14202
14203
14204
14205
14206
14207
14208
14209
14210
14211
14212
14213
14214
14215
14216
14217
14218
14219
14220
14221
14222
14223
14224
14225
14226
14227
14228
14229
14230
14231
14232
14233
14234
14235
14236
14237
14238
14239
14240
14241
14242
14243
14244
14245
14246
14247
14248
14249
14250
14251
14252
14253
14254
14255
14256
14257
14258
14259
14260
14261
14262
14263
14264
14265
14266
14267
14268
14269
14270
14271
14272
14273
14274
14275
14276
14277
14278
14279
14280
14281
14282
14283
14284
14285
14286
14287
14288
14289
14290
14291
14292
14293
14294
14295
14296
14297
14298
14299
14300
14301
14302
14303
14304
14305
14306
14307
14308
14309
14310
14311
14312
14313
14314
14315
14316
14317
14318
14319
14320
14321
14322
14323
14324
14325
14326
14327
14328
14329
14330
14331
14332
14333
14334
14335
14336
14337
14338
14339
14340
14341
14342
14343
14344
14345
14346
14347
14348
14349
14350
14351
14352
14353
14354
14355
14356
14357
14358
14359
14360
14361
14362
14363
14364
14365
14366
14367
14368
14369
14370
14371
14372
14373
14374
14375
14376
14377
14378
14379
14380
14381
14382
14383
14384
14385
14386
14387
14388
14389
14390
14391
14392
14393
14394
14395
14396
14397
14398
14399
14400
14401
14402
14403
14404
14405
14406
14407
14408
14409
14410
14411
14412
14413
14414
14415
14416
14417
14418
14419
14420
14421
14422
14423
14424
14425
14426
14427
14428
14429
14430
14431
14432
14433
14434
14435
14436
14437
14438
14439
14440
14441
14442
14443
14444
14445
14446
14447
14448
14449
14450
14451
14452
14453
14454
14455
14456
14457
14458
14459
14460
14461
14462
14463
14464
14465
14466
14467
14468
14469
14470
14471
14472
14473
14474
14475
14476
14477
14478
14479
14480
14481
14482
14483
14484
14485
14486
14487
14488
14489
14490
14491
14492
14493
14494
14495
14496
14497
14498
14499
14500
14501
14502
14503
14504
14505
14506
14507
14508
14509
14510
14511
14512
14513
14514
14515
14516
14517
14518
14519
14520
14521
14522
14523
14524
14525
14526
14527
14528
14529
14530
14531
14532
14533
14534
14535
14536
14537
14538
14539
14540
14541
14542
14543
14544
14545
14546
14547
14548
14549
14550
14551
14552
14553
14554
14555
14556
14557
14558
14559
14560
14561
14562
14563
14564
14565
14566
14567
14568
14569
14570
14571
14572
14573
14574
14575
14576
14577
14578
14579
14580
14581
14582
14583
14584
14585
14586
14587
14588
14589
14590
14591
14592
14593
14594
14595
14596
14597
14598
14599
14600
14601
14602
14603
14604
14605
14606
14607
14608
14609
14610
14611
14612
14613
14614
14615
14616
14617
14618
14619
14620
14621
14622
14623
14624
14625
14626
14627
14628
14629
14630
14631
14632
14633
14634
14635
14636
14637
14638
14639
14640
14641
14642
14643
14644
14645
14646
14647
14648
14649
14650
14651
14652
14653
14654
14655
14656
14657
14658
14659
14660
14661
14662
14663
14664
14665
14666
14667
14668
14669
14670
14671
14672
14673
14674
14675
14676
14677
14678
14679
14680
14681
14682
14683
14684
14685
14686
14687
14688
14689
14690
14691
14692
14693
14694
14695
14696
14697
14698
14699
14700
14701
14702
14703
14704
14705
14706
14707
14708
14709
14710
14711
14712
14713
14714
14715
14716
14717
14718
14719
14720
14721
14722
14723
14724
14725
14726
14727
14728
14729
14730
14731
14732
14733
14734
14735
14736
14737
14738
14739
14740
14741
14742
14743
14744
14745
14746
14747
14748
14749
14750
14751
14752
14753
14754
14755
14756
14757
14758
14759
14760
14761
14762
14763
14764
14765
14766
14767
14768
14769
14770
14771
14772
14773
14774
14775
14776
14777
14778
14779
14780
14781
14782
14783
14784
14785
14786
14787
14788
14789
14790
14791
14792
14793
14794
14795
14796
14797
14798
14799
14800
14801
14802
14803
14804
14805
14806
14807
14808
14809
14810
14811
14812
14813
14814
14815
14816
14817
14818
14819
14820
14821
14822
14823
14824
14825
14826
14827
14828
14829
14830
14831
14832
14833
14834
14835
14836
14837
14838
14839
14840
14841
14842
14843
14844
14845
14846
14847
14848
14849
14850
14851
14852
14853
14854
14855
14856
14857
14858
14859
14860
14861
14862
14863
14864
14865
14866
14867
14868
14869
14870
14871
14872
14873
14874
14875
14876
14877
14878
14879
14880
14881
14882
14883
14884
14885
14886
14887
14888
14889
14890
14891
14892
14893
14894
14895
14896
14897
14898
14899
14900
14901
14902
14903
14904
14905
14906
14907
14908
14909
14910
14911
14912
14913
14914
14915
14916
14917
14918
14919
14920
14921
14922
14923
14924
14925
14926
14927
14928
14929
14930
14931
14932
14933
14934
14935
14936
14937
14938
14939
14940
14941
14942
14943
14944
14945
14946
14947
14948
14949
14950
14951
14952
14953
14954
14955
14956
14957
14958
14959
14960
14961
14962
14963
14964
14965
14966
14967
14968
14969
14970
14971
14972
14973
14974
14975
14976
14977
14978
14979
14980
14981
14982
14983
14984
14985
14986
14987
14988
14989
14990
14991
14992
14993
14994
14995
14996
14997
14998
14999
15000
15001
15002
15003
15004
15005
15006
15007
15008
15009
15010
15011
15012
15013
15014
15015
15016
15017
15018
15019
15020
15021
15022
15023
15024
15025
15026
15027
15028
15029
15030
15031
15032
15033
15034
15035
15036
15037
15038
15039
15040
15041
15042
15043
15044
15045
15046
15047
15048
15049
15050
15051
15052
15053
15054
15055
15056
15057
15058
15059
15060
15061
15062
15063
15064
15065
15066
15067
15068
15069
15070
15071
15072
15073
15074
15075
15076
15077
15078
15079
15080
15081
15082
15083
15084
15085
15086
15087
15088
15089
15090
15091
15092
15093
15094
15095
15096
15097
15098
15099
15100
15101
15102
15103
15104
15105
15106
15107
15108
15109
15110
15111
15112
15113
15114
15115
15116
15117
15118
15119
15120
15121
15122
15123
15124
15125
15126
15127
15128
15129
15130
15131
15132
15133
15134
15135
15136
15137
15138
15139
15140
15141
15142
15143
15144
15145
15146
15147
15148
15149
15150
15151
15152
15153
15154
15155
15156
15157
15158
15159
15160
15161
15162
15163
15164
15165
15166
15167
15168
15169
15170
15171
15172
15173
15174
15175
15176
15177
15178
15179
15180
15181
15182
15183
15184
15185
15186
15187
15188
15189
15190
15191
15192
15193
15194
15195
15196
15197
15198
15199
15200
15201
15202
15203
15204
15205
15206
15207
15208
15209
15210
15211
15212
15213
15214
15215
15216
15217
15218
15219
15220
15221
15222
15223
15224
15225
15226
15227
15228
15229
15230
15231
15232
15233
15234
15235
15236
15237
15238
15239
15240
15241
15242
15243
15244
15245
15246
15247
15248
15249
15250
15251
15252
15253
15254
15255
15256
15257
15258
15259
15260
15261
15262
15263
15264
15265
15266
15267
15268
15269
15270
15271
15272
15273
15274
15275
15276
15277
15278
15279
15280
15281
15282
15283
15284
15285
15286
15287
15288
15289
15290
15291
15292
15293
15294
15295
15296
15297
15298
15299
15300
15301
15302
15303
15304
15305
15306
15307
15308
15309
15310
15311
15312
15313
15314
15315
15316
15317
15318
15319
15320
15321
15322
15323
15324
15325
15326
15327
15328
15329
15330
15331
15332
15333
15334
15335
15336
15337
15338
15339
15340
15341
15342
15343
15344
15345
15346
15347
15348
15349
15350
15351
15352
15353
15354
15355
15356
15357
15358
15359
15360
15361
15362
15363
15364
15365
15366
15367
15368
15369
15370
15371
15372
15373
15374
15375
15376
15377
15378
15379
15380
15381
15382
15383
15384
15385
15386
15387
15388
15389
15390
15391
15392
15393
15394
15395
15396
15397
15398
15399
15400
15401
15402
15403
15404
15405
15406
15407
15408
15409
15410
15411
15412
15413
15414
15415
15416
15417
15418
15419
15420
15421
15422
15423
15424
15425
15426
15427
15428
15429
15430
15431
15432
15433
15434
15435
15436
15437
15438
15439
15440
15441
15442
15443
15444
15445
15446
15447
15448
15449
15450
15451
15452
15453
15454
15455
15456
15457
15458
15459
15460
15461
15462
15463
15464
15465
15466
15467
15468
15469
15470
15471
15472
15473
15474
15475
15476
15477
15478
15479
15480
15481
15482
15483
15484
15485
15486
15487
15488
15489
15490
15491
15492
15493
15494
15495
15496
15497
15498
15499
15500
15501
15502
15503
15504
15505
15506
15507
15508
15509
15510
15511
15512
15513
15514
15515
15516
15517
15518
15519
15520
15521
15522
15523
15524
15525
15526
15527
15528
15529
15530
15531
15532
15533
15534
15535
15536
15537
15538
15539
15540
15541
15542
15543
15544
15545
15546
15547
15548
15549
15550
15551
15552
15553
15554
15555
15556
15557
15558
15559
15560
15561
15562
15563
15564
15565
15566
15567
15568
15569
15570
15571
15572
15573
15574
15575
15576
15577
15578
15579
15580
15581
15582
15583
15584
15585
15586
15587
15588
15589
15590
15591
15592
15593
15594
15595
15596
15597
15598
15599
15600
15601
15602
15603
15604
15605
15606
15607
15608
15609
15610
15611
15612
15613
15614
15615
15616
15617
15618
15619
15620
15621
15622
15623
15624
15625
15626
15627
15628
15629
15630
15631
15632
15633
15634
15635
15636
15637
15638
15639
15640
15641
15642
15643
15644
15645
15646
15647
15648
15649
15650
15651
15652
15653
15654
15655
15656
15657
15658
15659
15660
15661
15662
15663
15664
15665
15666
15667
15668
15669
15670
15671
15672
15673
15674
15675
15676
15677
15678
15679
15680
15681
15682
15683
15684
15685
15686
15687
15688
15689
15690
15691
15692
15693
15694
15695
15696
15697
15698
15699
15700
15701
15702
15703
15704
15705
15706
15707
15708
15709
15710
15711
15712
15713
15714
15715
15716
15717
15718
15719
15720
15721
15722
15723
15724
15725
15726
15727
15728
15729
15730
15731
15732
15733
15734
15735
15736
15737
15738
15739
15740
15741
15742
15743
15744
15745
15746
15747
15748
15749
15750
15751
15752
15753
15754
15755
15756
15757
15758
15759
15760
15761
15762
15763
15764
15765
15766
15767
15768
15769
15770
15771
15772
15773
15774
15775
15776
15777
15778
15779
15780
15781
15782
15783
15784
15785
15786
15787
15788
15789
15790
15791
15792
15793
15794
15795
15796
15797
15798
15799
15800
15801
15802
15803
15804
15805
15806
15807
15808
15809
15810
15811
15812
15813
15814
15815
15816
15817
15818
15819
15820
15821
15822
15823
15824
15825
15826
15827
15828
15829
15830
15831
15832
15833
15834
15835
15836
15837
15838
15839
15840
15841
15842
15843
15844
15845
15846
15847
15848
15849
15850
15851
15852
15853
15854
15855
15856
15857
15858
15859
15860
15861
15862
15863
15864
15865
15866
15867
15868
15869
15870
15871
15872
15873
15874
15875
15876
15877
15878
15879
15880
15881
15882
15883
15884
15885
15886
15887
15888
15889
15890
15891
15892
15893
15894
15895
15896
15897
15898
15899
15900
15901
15902
15903
15904
15905
15906
15907
15908
15909
15910
15911
15912
15913
15914
15915
15916
15917
15918
15919
15920
15921
15922
15923
15924
15925
15926
15927
15928
15929
15930
15931
15932
15933
15934
15935
15936
15937
15938
15939
15940
15941
15942
15943
15944
15945
15946
15947
15948
15949
15950
15951
15952
15953
15954
15955
15956
15957
15958
15959
15960
15961
15962
15963
15964
15965
15966
15967
15968
15969
15970
15971
15972
15973
15974
15975
15976
15977
15978
15979
15980
15981
15982
15983
15984
15985
15986
15987
15988
15989
15990
15991
15992
15993
15994
15995
15996
15997
15998
15999
16000
16001
16002
16003
16004
16005
16006
16007
16008
16009
16010
16011
16012
16013
16014
16015
16016
16017
16018
16019
16020
16021
16022
16023
16024
16025
16026
16027
16028
16029
16030
16031
16032
16033
16034
16035
16036
16037
16038
16039
16040
16041
16042
16043
16044
16045
16046
16047
16048
16049
16050
16051
16052
16053
16054
16055
16056
16057
16058
16059
16060
16061
16062
16063
16064
16065
16066
16067
16068
16069
16070
16071
16072
16073
16074
16075
16076
16077
16078
16079
16080
16081
16082
16083
16084
16085
16086
16087
16088
16089
16090
16091
16092
16093
16094
16095
16096
16097
16098
16099
16100
16101
16102
16103
16104
16105
16106
16107
16108
16109
16110
16111
16112
16113
16114
16115
16116
16117
16118
16119
16120
16121
16122
16123
16124
16125
16126
16127
16128
16129
16130
16131
16132
16133
16134
16135
16136
16137
16138
16139
16140
16141
16142
16143
16144
16145
16146
16147
16148
16149
16150
16151
16152
16153
16154
16155
16156
16157
16158
16159
16160
16161
16162
16163
16164
16165
16166
16167
16168
16169
16170
16171
16172
16173
16174
16175
16176
16177
16178
16179
16180
16181
16182
16183
16184
16185
16186
16187
16188
16189
16190
16191
16192
16193
16194
16195
16196
16197
16198
16199
16200
16201
16202
16203
16204
16205
16206
16207
16208
16209
16210
16211
16212
16213
16214
16215
16216
16217
16218
16219
16220
16221
16222
16223
16224
16225
16226
16227
16228
16229
16230
16231
16232
16233
16234
16235
16236
16237
16238
16239
16240
16241
16242
16243
16244
16245
16246
16247
16248
16249
16250
16251
16252
16253
16254
16255
16256
16257
16258
16259
16260
16261
16262
16263
16264
16265
16266
16267
16268
16269
16270
16271
16272
16273
16274
16275
16276
16277
16278
16279
16280
16281
16282
16283
16284
16285
16286
16287
16288
16289
16290
16291
16292
16293
16294
16295
16296
16297
16298
16299
16300
16301
16302
16303
16304
16305
16306
16307
16308
16309
16310
16311
16312
16313
16314
16315
16316
16317
16318
16319
16320
16321
16322
16323
16324
16325
16326
16327
16328
16329
16330
16331
16332
16333
16334
16335
16336
16337
16338
16339
16340
16341
16342
16343
16344
16345
16346
16347
16348
16349
16350
16351
16352
16353
16354
16355
16356
16357
16358
16359
16360
16361
16362
16363
16364
16365
16366
16367
16368
16369
16370
16371
16372
16373
16374
16375
16376
16377
16378
16379
16380
16381
16382
16383
16384
16385
16386
16387
16388
16389
16390
16391
16392
16393
16394
16395
16396
16397
16398
16399
16400
16401
16402
16403
16404
16405
16406
16407
16408
16409
16410
16411
16412
16413
16414
16415
16416
16417
16418
16419
16420
16421
16422
16423
16424
16425
16426
16427
16428
16429
16430
16431
16432
16433
16434
16435
16436
16437
16438
16439
16440
16441
16442
16443
16444
16445
16446
16447
16448
16449
16450
16451
16452
16453
16454
16455
16456
16457
16458
16459
16460
16461
16462
16463
16464
16465
16466
16467
16468
16469
16470
16471
16472
16473
16474
16475
16476
16477
16478
16479
16480
16481
16482
16483
16484
16485
16486
16487
16488
16489
16490
16491
16492
16493
16494
16495
16496
16497
16498
16499
16500
16501
16502
16503
16504
16505
16506
16507
16508
16509
16510
16511
16512
16513
16514
16515
16516
16517
16518
16519
16520
16521
16522
16523
16524
16525
16526
16527
16528
16529
16530
16531
16532
16533
16534
16535
16536
16537
16538
16539
16540
16541
16542
16543
16544
16545
16546
16547
16548
16549
16550
16551
16552
16553
16554
16555
16556
16557
16558
16559
16560
16561
16562
16563
16564
16565
16566
16567
16568
16569
16570
16571
16572
16573
16574
16575
16576
16577
16578
16579
16580
16581
16582
16583
16584
16585
16586
16587
16588
16589
16590
16591
16592
16593
16594
16595
16596
16597
16598
16599
16600
16601
16602
16603
16604
16605
16606
16607
16608
16609
16610
16611
16612
16613
16614
16615
16616
16617
16618
16619
16620
16621
16622
16623
16624
16625
16626
16627
16628
16629
16630
16631
16632
16633
16634
16635
16636
16637
16638
16639
16640
16641
16642
16643
16644
16645
16646
16647
16648
16649
16650
16651
16652
16653
16654
16655
16656
16657
16658
16659
16660
16661
16662
16663
16664
16665
16666
16667
16668
16669
16670
16671
16672
16673
16674
16675
16676
16677
16678
16679
16680
16681
16682
16683
16684
16685
16686
16687
16688
16689
16690
16691
16692
16693
16694
16695
16696
16697
16698
16699
16700
16701
16702
16703
16704
16705
16706
16707
16708
16709
16710
16711
16712
16713
16714
16715
16716
16717
16718
16719
16720
16721
16722
16723
16724
16725
16726
16727
16728
16729
16730
16731
16732
16733
16734
16735
16736
16737
16738
16739
16740
16741
16742
16743
16744
16745
16746
16747
16748
16749
16750
16751
16752
16753
16754
16755
16756
16757
16758
16759
16760
16761
16762
16763
16764
16765
16766
16767
16768
16769
16770
16771
16772
16773
16774
16775
16776
16777
16778
16779
16780
16781
16782
16783
16784
16785
16786
16787
16788
16789
16790
16791
16792
16793
16794
16795
16796
16797
16798
16799
16800
16801
16802
16803
16804
16805
16806
16807
16808
16809
16810
16811
16812
16813
16814
16815
16816
16817
16818
16819
16820
16821
16822
16823
16824
16825
16826
16827
16828
16829
16830
16831
16832
16833
16834
16835
16836
16837
16838
16839
16840
16841
16842
16843
16844
16845
16846
16847
16848
16849
16850
16851
16852
16853
16854
16855
16856
16857
16858
16859
16860
16861
16862
16863
16864
16865
16866
16867
16868
16869
16870
16871
16872
16873
16874
16875
16876
16877
16878
16879
16880
16881
16882
16883
16884
16885
16886
16887
16888
16889
16890
16891
16892
16893
16894
16895
16896
16897
16898
16899
16900
16901
16902
16903
16904
16905
16906
16907
16908
16909
16910
16911
16912
16913
16914
16915
16916
16917
16918
16919
16920
16921
16922
16923
16924
16925
16926
16927
16928
16929
16930
16931
16932
16933
16934
16935
16936
16937
16938
16939
16940
16941
16942
16943
16944
16945
16946
16947
16948
16949
16950
16951
16952
16953
16954
16955
16956
16957
16958
16959
16960
16961
16962
16963
16964
16965
16966
16967
16968
16969
16970
16971
16972
16973
16974
16975
16976
16977
16978
16979
16980
16981
16982
16983
16984
16985
16986
16987
16988
16989
16990
16991
16992
16993
16994
16995
16996
16997
16998
16999
17000
17001
17002
17003
17004
17005
17006
17007
17008
17009
17010
17011
17012
17013
17014
17015
17016
17017
17018
17019
17020
17021
17022
17023
17024
17025
17026
17027
17028
17029
17030
17031
17032
17033
17034
17035
17036
17037
17038
17039
17040
17041
17042
17043
17044
17045
17046
17047
17048
17049
17050
17051
17052
17053
17054
17055
17056
17057
17058
17059
17060
17061
17062
17063
17064
17065
17066
17067
17068
17069
17070
17071
17072
17073
17074
17075
17076
17077
17078
17079
17080
17081
17082
17083
17084
17085
17086
17087
17088
17089
17090
17091
17092
17093
17094
17095
17096
17097
17098
17099
17100
17101
17102
17103
17104
17105
17106
17107
17108
17109
17110
17111
17112
17113
17114
17115
17116
17117
17118
17119
17120
17121
17122
17123
17124
17125
17126
17127
17128
17129
17130
17131
17132
17133
17134
17135
17136
17137
17138
17139
17140
17141
17142
17143
17144
17145
17146
17147
17148
17149
17150
17151
17152
17153
17154
17155
17156
17157
17158
17159
17160
17161
17162
17163
17164
17165
17166
17167
17168
17169
17170
17171
17172
17173
17174
17175
17176
17177
17178
17179
17180
17181
17182
17183
17184
17185
17186
17187
17188
17189
17190
17191
17192
17193
17194
17195
17196
17197
17198
17199
17200
17201
17202
17203
17204
17205
17206
17207
17208
17209
17210
17211
17212
17213
17214
17215
17216
17217
17218
17219
17220
17221
17222
17223
17224
17225
17226
17227
17228
17229
17230
17231
17232
17233
17234
17235
17236
17237
17238
17239
17240
17241
17242
17243
17244
17245
17246
17247
17248
17249
17250
17251
17252
17253
17254
17255
17256
17257
17258
17259
17260
17261
17262
17263
17264
17265
17266
17267
17268
17269
17270
17271
17272
17273
17274
17275
17276
17277
17278
17279
17280
17281
17282
17283
17284
17285
17286
17287
17288
17289
17290
17291
17292
17293
17294
17295
17296
17297
17298
17299
17300
17301
17302
17303
17304
17305
17306
17307
17308
17309
17310
17311
17312
17313
17314
17315
17316
17317
17318
17319
17320
17321
17322
17323
17324
17325
17326
17327
17328
17329
17330
17331
17332
17333
17334
17335
17336
17337
17338
17339
17340
17341
17342
17343
17344
17345
17346
17347
17348
17349
17350
17351
17352
17353
17354
17355
17356
17357
17358
17359
17360
17361
17362
17363
17364
17365
17366
17367
17368
17369
17370
17371
17372
17373
17374
17375
17376
17377
17378
17379
17380
17381
17382
17383
17384
17385
17386
17387
17388
17389
17390
17391
17392
17393
17394
17395
17396
17397
17398
17399
17400
17401
17402
17403
17404
17405
17406
17407
17408
17409
17410
17411
17412
17413
17414
17415
17416
17417
17418
17419
17420
17421
17422
17423
17424
17425
17426
17427
17428
17429
17430
17431
17432
17433
17434
17435
17436
17437
17438
17439
17440
17441
17442
17443
17444
17445
17446
17447
17448
17449
17450
17451
17452
17453
17454
17455
17456
17457
17458
17459
17460
17461
17462
17463
17464
17465
17466
17467
17468
17469
17470
17471
17472
17473
17474
17475
17476
17477
17478
17479
17480
17481
17482
17483
17484
17485
17486
17487
17488
17489
17490
17491
17492
17493
17494
17495
17496
17497
17498
17499
17500
17501
17502
17503
17504
17505
17506
17507
17508
17509
17510
17511
17512
17513
17514
17515
17516
17517
17518
17519
17520
17521
17522
17523
17524
17525
17526
17527
17528
17529
17530
17531
17532
17533
17534
17535
17536
17537
17538
17539
17540
17541
17542
17543
17544
17545
17546
17547
17548
17549
17550
17551
17552
17553
17554
17555
17556
17557
17558
17559
17560
17561
17562
17563
17564
17565
17566
17567
17568
17569
17570
17571
17572
17573
17574
17575
17576
17577
17578
17579
17580
17581
17582
17583
17584
17585
17586
17587
17588
17589
17590
17591
17592
17593
17594
17595
17596
17597
17598
17599
17600
17601
17602
17603
17604
17605
17606
17607
17608
17609
17610
17611
17612
17613
17614
17615
17616
17617
17618
17619
17620
17621
17622
17623
17624
17625
17626
17627
17628
17629
17630
17631
17632
17633
17634
17635
17636
17637
17638
17639
17640
17641
17642
17643
17644
17645
17646
17647
17648
17649
17650
17651
17652
17653
17654
17655
17656
17657
17658
17659
17660
17661
17662
17663
17664
17665
17666
17667
17668
17669
17670
17671
17672
17673
17674
17675
17676
17677
17678
17679
17680
17681
17682
17683
17684
17685
17686
17687
17688
17689
17690
17691
17692
17693
17694
17695
17696
17697
17698
17699
17700
17701
17702
17703
17704
17705
17706
17707
17708
17709
17710
17711
17712
17713
17714
17715
17716
17717
17718
17719
17720
17721
17722
17723
17724
17725
17726
17727
17728
17729
17730
17731
17732
17733
17734
17735
17736
17737
17738
17739
17740
17741
17742
17743
17744
17745
17746
17747
17748
17749
17750
17751
17752
17753
17754
17755
17756
17757
17758
17759
17760
17761
17762
17763
17764
17765
17766
17767
17768
17769
17770
17771
17772
17773
17774
17775
17776
17777
17778
17779
17780
17781
17782
17783
17784
17785
17786
17787
17788
17789
17790
17791
17792
17793
17794
17795
17796
17797
17798
17799
17800
17801
17802
17803
17804
17805
17806
17807
17808
17809
17810
17811
17812
17813
17814
17815
17816
17817
17818
17819
17820
17821
17822
17823
17824
17825
17826
17827
17828
17829
17830
17831
17832
17833
17834
17835
17836
17837
17838
17839
17840
17841
17842
17843
17844
17845
17846
17847
17848
17849
17850
17851
17852
17853
17854
17855
17856
17857
17858
17859
17860
17861
17862
17863
17864
17865
17866
17867
17868
17869
17870
17871
17872
17873
17874
17875
17876
17877
17878
17879
17880
17881
17882
17883
17884
17885
17886
17887
17888
17889
17890
17891
17892
17893
17894
17895
17896
17897
17898
17899
17900
17901
17902
17903
17904
17905
17906
17907
17908
17909
17910
17911
17912
17913
17914
17915
17916
17917
17918
17919
17920
17921
17922
17923
17924
17925
17926
17927
17928
17929
17930
17931
17932
17933
17934
17935
17936
17937
17938
17939
17940
17941
17942
17943
17944
17945
17946
17947
17948
17949
17950
17951
17952
17953
17954
17955
17956
17957
17958
17959
17960
17961
17962
17963
17964
17965
17966
17967
17968
17969
17970
17971
17972
17973
17974
17975
17976
17977
17978
17979
17980
17981
17982
17983
17984
17985
17986
17987
17988
17989
17990
17991
17992
17993
17994
17995
17996
17997
17998
17999
18000
18001
18002
18003
18004
18005
18006
18007
18008
18009
18010
18011
18012
18013
18014
18015
18016
18017
18018
18019
18020
18021
18022
18023
18024
18025
18026
18027
18028
18029
18030
18031
18032
18033
18034
18035
18036
18037
18038
18039
18040
18041
18042
18043
18044
18045
18046
18047
18048
18049
18050
18051
18052
18053
18054
18055
18056
18057
18058
18059
18060
18061
18062
18063
18064
18065
18066
18067
18068
18069
18070
18071
18072
18073
18074
18075
18076
18077
18078
18079
18080
18081
18082
18083
18084
18085
18086
18087
18088
18089
18090
18091
18092
18093
18094
18095
18096
18097
18098
18099
18100
18101
18102
18103
18104
18105
18106
18107
18108
18109
18110
18111
18112
18113
18114
18115
18116
18117
18118
18119
18120
18121
18122
18123
18124
18125
18126
18127
18128
18129
18130
18131
18132
18133
18134
18135
18136
18137
18138
18139
18140
18141
18142
18143
18144
18145
18146
18147
18148
18149
18150
18151
18152
18153
18154
18155
18156
18157
18158
18159
18160
18161
18162
18163
18164
18165
18166
18167
18168
18169
18170
18171
18172
18173
18174
18175
18176
18177
18178
18179
18180
18181
18182
18183
18184
18185
18186
18187
18188
18189
18190
18191
18192
18193
18194
18195
18196
18197
18198
18199
18200
18201
18202
18203
18204
18205
18206
18207
18208
18209
18210
18211
18212
18213
18214
18215
18216
18217
18218
18219
18220
18221
18222
18223
18224
18225
18226
18227
18228
18229
18230
18231
18232
18233
18234
18235
18236
18237
18238
18239
18240
18241
18242
18243
18244
18245
18246
18247
18248
18249
18250
18251
18252
18253
18254
18255
18256
18257
18258
18259
18260
18261
18262
18263
18264
18265
18266
18267
18268
18269
18270
18271
18272
18273
18274
18275
18276
18277
18278
18279
18280
18281
18282
18283
18284
18285
18286
18287
18288
18289
18290
18291
18292
18293
18294
18295
18296
18297
18298
18299
18300
18301
18302
18303
18304
18305
18306
18307
18308
18309
18310
18311
18312
18313
18314
18315
18316
18317
18318
18319
18320
18321
18322
18323
18324
18325
18326
18327
18328
18329
18330
18331
18332
18333
18334
18335
18336
18337
18338
18339
18340
18341
18342
18343
18344
18345
18346
18347
18348
18349
18350
18351
18352
18353
18354
18355
18356
18357
18358
18359
18360
18361
18362
18363
18364
18365
18366
18367
18368
18369
18370
18371
18372
18373
18374
18375
18376
18377
18378
18379
18380
18381
18382
18383
18384
18385
18386
18387
18388
18389
18390
18391
18392
18393
18394
18395
18396
18397
18398
18399
18400
18401
18402
18403
18404
18405
18406
18407
18408
18409
18410
18411
18412
18413
18414
18415
18416
18417
18418
18419
18420
18421
18422
18423
18424
18425
18426
18427
18428
18429
18430
18431
18432
18433
18434
18435
18436
18437
18438
18439
18440
18441
18442
18443
18444
18445
18446
18447
18448
18449
18450
18451
18452
18453
18454
18455
18456
18457
18458
18459
18460
18461
18462
18463
18464
18465
18466
18467
18468
18469
18470
18471
18472
18473
18474
18475
18476
18477
18478
18479
18480
18481
18482
18483
18484
18485
18486
18487
18488
18489
18490
18491
18492
18493
18494
18495
18496
18497
18498
18499
18500
18501
18502
18503
18504
18505
18506
18507
18508
18509
18510
18511
18512
18513
18514
18515
18516
18517
18518
18519
18520
18521
18522
18523
18524
18525
18526
18527
18528
18529
18530
18531
18532
18533
18534
18535
18536
18537
18538
18539
18540
18541
18542
18543
18544
18545
18546
18547
18548
18549
18550
18551
18552
18553
18554
18555
18556
18557
18558
18559
18560
18561
18562
18563
18564
18565
18566
18567
18568
18569
18570
18571
18572
18573
18574
18575
18576
18577
18578
18579
18580
18581
18582
18583
18584
18585
18586
18587
18588
18589
18590
18591
18592
18593
18594
18595
18596
18597
18598
18599
18600
18601
18602
18603
18604
18605
18606
18607
18608
18609
18610
18611
18612
18613
18614
18615
18616
18617
18618
18619
18620
18621
18622
18623
18624
18625
18626
18627
18628
18629
18630
18631
18632
18633
18634
18635
18636
18637
18638
18639
18640
18641
18642
18643
18644
18645
18646
18647
18648
18649
18650
18651
18652
18653
18654
18655
18656
18657
18658
18659
18660
18661
18662
18663
18664
18665
18666
18667
18668
18669
18670
18671
18672
18673
18674
18675
18676
18677
18678
18679
18680
18681
18682
18683
18684
18685
18686
18687
18688
18689
18690
18691
18692
18693
18694
18695
18696
18697
18698
18699
18700
18701
18702
18703
18704
18705
18706
18707
18708
18709
18710
18711
18712
18713
18714
18715
18716
18717
18718
18719
18720
18721
18722
18723
18724
18725
18726
18727
18728
18729
18730
18731
18732
18733
18734
18735
18736
18737
18738
18739
18740
18741
18742
18743
18744
18745
18746
18747
18748
18749
18750
18751
18752
18753
18754
18755
18756
18757
18758
18759
18760
18761
18762
18763
18764
18765
18766
18767
18768
18769
18770
18771
18772
18773
18774
18775
18776
18777
18778
18779
18780
18781
18782
18783
18784
18785
18786
18787
18788
18789
18790
18791
18792
18793
18794
18795
18796
18797
18798
18799
18800
18801
18802
18803
18804
18805
18806
18807
18808
18809
18810
18811
18812
18813
18814
18815
18816
18817
18818
18819
18820
18821
18822
18823
18824
18825
18826
18827
18828
18829
18830
18831
18832
18833
18834
18835
18836
18837
18838
18839
18840
18841
18842
18843
18844
18845
18846
18847
18848
18849
18850
18851
18852
18853
18854
18855
18856
18857
18858
18859
18860
18861
18862
18863
18864
18865
18866
18867
18868
18869
18870
18871
18872
18873
18874
18875
18876
18877
18878
18879
18880
18881
18882
18883
18884
18885
18886
18887
18888
18889
18890
18891
18892
18893
18894
18895
18896
18897
18898
18899
18900
18901
18902
18903
18904
18905
18906
18907
18908
18909
18910
18911
18912
18913
18914
18915
18916
18917
18918
18919
18920
18921
18922
18923
18924
18925
18926
18927
18928
18929
18930
18931
18932
18933
18934
18935
18936
18937
18938
18939
18940
18941
18942
18943
18944
18945
18946
18947
18948
18949
18950
18951
18952
18953
18954
18955
18956
18957
18958
18959
18960
18961
18962
18963
18964
18965
18966
18967
18968
18969
18970
18971
18972
18973
18974
18975
18976
18977
18978
18979
18980
18981
18982
18983
18984
18985
18986
18987
18988
18989
18990
18991
18992
18993
18994
18995
18996
18997
18998
18999
19000
19001
19002
19003
19004
19005
19006
19007
19008
19009
19010
19011
19012
19013
19014
19015
19016
19017
19018
19019
19020
19021
19022
19023
19024
19025
19026
19027
19028
19029
19030
19031
19032
19033
19034
19035
19036
19037
19038
19039
19040
19041
19042
19043
19044
19045
19046
19047
19048
19049
19050
19051
19052
19053
19054
19055
19056
19057
19058
19059
19060
19061
19062
19063
19064
19065
19066
19067
19068
19069
19070
19071
19072
19073
19074
19075
19076
19077
19078
19079
19080
19081
19082
19083
19084
19085
19086
19087
19088
19089
19090
19091
19092
19093
19094
19095
19096
19097
19098
19099
19100
19101
19102
19103
19104
19105
19106
19107
19108
19109
19110
19111
19112
19113
19114
19115
19116
19117
19118
19119
19120
19121
19122
19123
19124
19125
19126
19127
19128
19129
19130
19131
19132
19133
19134
19135
19136
19137
19138
19139
19140
19141
19142
19143
19144
19145
19146
19147
19148
19149
19150
19151
19152
19153
19154
19155
19156
19157
19158
19159
19160
19161
19162
19163
19164
19165
19166
19167
19168
19169
19170
19171
19172
19173
19174
19175
19176
19177
19178
19179
19180
19181
19182
19183
19184
19185
19186
19187
19188
19189
19190
19191
19192
19193
19194
19195
19196
19197
19198
19199
19200
19201
19202
19203
19204
19205
19206
19207
19208
19209
19210
19211
19212
19213
19214
19215
19216
19217
19218
19219
19220
19221
19222
19223
19224
19225
19226
19227
19228
19229
19230
19231
19232
19233
19234
19235
19236
19237
19238
19239
19240
19241
19242
19243
19244
19245
19246
19247
19248
19249
19250
19251
19252
19253
19254
19255
19256
19257
19258
19259
19260
19261
19262
19263
19264
19265
19266
19267
19268
19269
19270
19271
19272
19273
19274
19275
19276
19277
19278
19279
19280
19281
19282
19283
19284
19285
19286
19287
19288
19289
19290
19291
19292
19293
19294
19295
19296
19297
19298
19299
19300
19301
19302
19303
19304
19305
19306
19307
19308
19309
19310
19311
19312
19313
19314
19315
19316
19317
19318
19319
19320
19321
19322
19323
19324
19325
19326
19327
19328
19329
19330
19331
19332
19333
19334
19335
19336
19337
19338
19339
19340
19341
19342
19343
19344
19345
19346
19347
19348
19349
19350
19351
19352
19353
19354
19355
19356
19357
19358
19359
19360
19361
19362
19363
19364
19365
19366
19367
19368
19369
19370
19371
19372
19373
19374
19375
19376
19377
19378
19379
19380
19381
19382
19383
19384
19385
19386
19387
19388
19389
19390
19391
19392
19393
19394
19395
19396
19397
19398
19399
19400
19401
19402
19403
19404
19405
19406
19407
19408
19409
19410
19411
19412
19413
19414
19415
19416
19417
19418
19419
19420
19421
19422
19423
19424
19425
19426
19427
19428
19429
19430
19431
19432
19433
19434
19435
19436
19437
19438
19439
19440
19441
19442
19443
19444
19445
19446
19447
19448
19449
19450
19451
19452
19453
19454
19455
19456
19457
19458
19459
19460
19461
19462
19463
19464
19465
19466
19467
19468
19469
19470
19471
19472
19473
19474
19475
19476
19477
19478
19479
19480
19481
19482
19483
19484
19485
19486
19487
19488
19489
19490
19491
19492
19493
19494
19495
19496
19497
19498
19499
19500
19501
19502
19503
19504
19505
19506
19507
19508
19509
19510
19511
19512
19513
19514
19515
19516
19517
19518
19519
19520
19521
19522
19523
19524
19525
19526
19527
19528
19529
19530
19531
19532
19533
19534
19535
19536
19537
19538
19539
19540
19541
19542
19543
19544
19545
19546
19547
19548
19549
19550
19551
19552
19553
19554
19555
19556
19557
19558
19559
19560
19561
19562
19563
19564
19565
19566
19567
19568
19569
19570
19571
19572
19573
19574
19575
19576
19577
19578
19579
19580
19581
19582
19583
19584
19585
19586
19587
19588
19589
19590
19591
19592
19593
19594
19595
19596
19597
19598
19599
19600
19601
19602
19603
19604
19605
19606
19607
19608
19609
19610
19611
19612
19613
19614
19615
19616
19617
19618
19619
19620
19621
19622
19623
19624
19625
19626
19627
19628
19629
19630
19631
19632
19633
19634
19635
19636
19637
19638
19639
19640
19641
19642
19643
19644
19645
19646
19647
19648
19649
19650
19651
19652
19653
19654
19655
19656
19657
19658
19659
19660
19661
19662
19663
19664
19665
19666
19667
19668
19669
19670
19671
19672
19673
19674
19675
19676
19677
19678
19679
19680
19681
19682
19683
19684
19685
19686
19687
19688
19689
19690
19691
19692
19693
19694
19695
19696
19697
19698
19699
19700
19701
19702
19703
19704
19705
19706
19707
19708
19709
19710
19711
19712
19713
19714
19715
19716
19717
19718
19719
19720
19721
19722
19723
19724
19725
19726
19727
19728
19729
19730
19731
19732
19733
19734
19735
19736
19737
19738
19739
19740
19741
19742
19743
19744
19745
19746
19747
19748
19749
19750
19751
19752
19753
19754
19755
19756
19757
19758
19759
19760
19761
19762
19763
19764
19765
19766
19767
19768
19769
19770
19771
19772
19773
19774
19775
19776
19777
19778
19779
19780
19781
19782
19783
19784
19785
19786
19787
19788
19789
19790
19791
19792
19793
19794
19795
19796
19797
19798
19799
19800
19801
19802
19803
19804
19805
19806
19807
19808
19809
19810
19811
19812
19813
19814
19815
19816
19817
19818
19819
19820
19821
19822
19823
19824
19825
19826
19827
19828
19829
19830
19831
19832
19833
19834
19835
19836
19837
19838
19839
19840
19841
19842
19843
19844
19845
19846
19847
19848
19849
19850
19851
19852
19853
19854
19855
19856
19857
19858
19859
19860
19861
19862
19863
19864
19865
19866
19867
19868
19869
19870
19871
19872
19873
19874
19875
19876
19877
19878
19879
19880
19881
19882
19883
19884
19885
19886
19887
19888
19889
19890
19891
19892
19893
19894
19895
19896
19897
19898
19899
19900
19901
19902
19903
19904
19905
19906
19907
19908
19909
19910
19911
19912
19913
19914
19915
19916
19917
19918
19919
19920
19921
19922
19923
19924
19925
19926
19927
19928
19929
19930
19931
19932
19933
19934
19935
19936
19937
19938
19939
19940
19941
19942
19943
19944
19945
19946
19947
19948
19949
19950
19951
19952
19953
19954
19955
19956
19957
19958
19959
19960
19961
19962
19963
19964
19965
19966
19967
19968
19969
19970
19971
19972
19973
19974
19975
19976
19977
19978
19979
19980
19981
19982
19983
19984
19985
19986
19987
19988
19989
19990
19991
19992
19993
19994
19995
19996
19997
19998
19999
20000
20001
20002
20003
20004
20005
20006
20007
20008
20009
20010
20011
20012
20013
20014
20015
20016
20017
20018
20019
20020
20021
20022
20023
20024
20025
20026
20027
20028
20029
20030
20031
20032
20033
20034
20035
20036
20037
20038
20039
20040
20041
20042
20043
20044
20045
20046
20047
20048
20049
20050
20051
20052
20053
20054
20055
20056
20057
20058
20059
20060
20061
20062
20063
20064
20065
20066
20067
20068
20069
20070
20071
20072
20073
20074
20075
20076
20077
20078
20079
20080
20081
20082
20083
20084
20085
20086
20087
20088
20089
20090
20091
20092
20093
20094
20095
20096
20097
20098
20099
20100
20101
20102
20103
20104
20105
20106
20107
20108
20109
20110
20111
20112
20113
20114
20115
20116
20117
20118
20119
20120
20121
20122
20123
20124
20125
20126
20127
20128
20129
20130
20131
20132
20133
20134
20135
20136
20137
20138
20139
20140
20141
20142
20143
20144
20145
20146
20147
20148
20149
20150
20151
20152
20153
20154
20155
20156
20157
20158
20159
20160
20161
20162
20163
20164
20165
20166
20167
20168
20169
20170
20171
20172
20173
20174
20175
20176
20177
20178
20179
20180
20181
20182
20183
20184
20185
20186
20187
20188
20189
20190
20191
20192
20193
20194
20195
20196
20197
20198
20199
20200
20201
20202
20203
20204
20205
20206
20207
20208
20209
20210
20211
20212
20213
20214
20215
20216
20217
20218
20219
20220
20221
20222
20223
20224
20225
20226
20227
20228
20229
20230
20231
20232
20233
20234
20235
20236
20237
20238
20239
20240
20241
20242
20243
20244
20245
20246
20247
20248
20249
20250
20251
20252
20253
20254
20255
20256
20257
20258
20259
20260
20261
20262
20263
20264
20265
20266
20267
20268
20269
20270
20271
20272
20273
20274
20275
20276
20277
20278
20279
20280
20281
20282
20283
20284
20285
20286
20287
20288
20289
20290
20291
20292
20293
20294
20295
20296
20297
20298
20299
20300
20301
20302
20303
20304
20305
20306
20307
20308
20309
20310
20311
20312
20313
20314
20315
20316
20317
20318
20319
20320
20321
20322
20323
20324
20325
20326
20327
20328
20329
20330
20331
20332
20333
20334
20335
20336
20337
20338
20339
20340
20341
20342
20343
20344
20345
20346
20347
20348
20349
20350
20351
20352
20353
20354
20355
20356
20357
20358
20359
20360
20361
20362
20363
20364
20365
20366
20367
20368
20369
20370
20371
20372
20373
20374
20375
20376
20377
20378
20379
20380
20381
20382
20383
20384
20385
20386
20387
20388
20389
20390
20391
20392
20393
20394
20395
20396
20397
20398
20399
20400
20401
20402
20403
20404
20405
20406
20407
20408
20409
20410
20411
20412
20413
20414
20415
20416
20417
20418
20419
20420
20421
20422
20423
20424
20425
20426
20427
20428
20429
20430
20431
20432
20433
20434
20435
20436
20437
20438
20439
20440
20441
20442
20443
20444
20445
20446
20447
20448
20449
20450
20451
20452
20453
20454
20455
20456
20457
20458
20459
20460
20461
20462
20463
20464
20465
20466
20467
20468
20469
20470
20471
20472
20473
20474
20475
20476
20477
20478
20479
20480
20481
20482
20483
20484
20485
20486
20487
20488
20489
20490
20491
20492
20493
20494
20495
20496
20497
20498
20499
20500
20501
20502
20503
20504
20505
20506
20507
20508
20509
20510
20511
20512
20513
20514
20515
20516
20517
20518
20519
20520
20521
20522
20523
20524
20525
20526
20527
20528
20529
20530
20531
20532
20533
20534
20535
20536
20537
20538
20539
20540
20541
20542
20543
20544
20545
20546
20547
20548
20549
20550
20551
20552
20553
20554
20555
20556
20557
20558
20559
20560
20561
20562
20563
20564
20565
20566
20567
20568
20569
20570
20571
20572
20573
20574
20575
20576
20577
20578
20579
20580
20581
20582
20583
20584
20585
20586
20587
20588
20589
20590
20591
20592
20593
20594
20595
20596
20597
20598
20599
20600
20601
20602
20603
20604
20605
20606
20607
20608
20609
20610
20611
20612
20613
20614
20615
20616
20617
20618
20619
20620
20621
20622
20623
20624
20625
20626
20627
20628
20629
20630
20631
20632
20633
20634
20635
20636
20637
20638
20639
20640
20641
20642
20643
20644
20645
20646
20647
20648
20649
20650
20651
20652
20653
20654
20655
20656
20657
20658
20659
20660
20661
20662
20663
20664
20665
20666
20667
20668
20669
20670
20671
20672
20673
20674
20675
20676
20677
20678
20679
20680
20681
20682
20683
20684
20685
20686
20687
20688
20689
20690
20691
20692
20693
20694
20695
20696
20697
20698
20699
20700
20701
20702
20703
20704
20705
20706
20707
20708
20709
20710
20711
20712
20713
20714
20715
20716
20717
20718
20719
20720
20721
20722
20723
20724
20725
20726
20727
20728
20729
20730
20731
20732
20733
20734
20735
20736
20737
20738
20739
20740
20741
20742
20743
20744
20745
20746
20747
20748
20749
20750
20751
20752
20753
20754
20755
20756
20757
20758
20759
20760
20761
20762
20763
20764
20765
20766
20767
20768
20769
20770
20771
20772
20773
20774
20775
20776
20777
20778
20779
20780
20781
20782
20783
20784
20785
20786
20787
20788
20789
20790
20791
20792
20793
20794
20795
20796
20797
20798
20799
20800
20801
20802
20803
20804
20805
20806
20807
20808
20809
20810
20811
20812
20813
20814
20815
20816
20817
20818
20819
20820
20821
20822
20823
20824
20825
20826
20827
20828
20829
20830
20831
20832
20833
20834
20835
20836
20837
20838
20839
20840
20841
20842
20843
20844
20845
20846
20847
20848
20849
20850
20851
20852
20853
20854
20855
20856
20857
20858
20859
20860
20861
20862
20863
20864
20865
20866
20867
20868
20869
20870
20871
20872
20873
20874
20875
20876
20877
20878
20879
20880
20881
20882
20883
20884
20885
20886
20887
20888
20889
20890
20891
20892
20893
20894
20895
20896
20897
20898
20899
20900
20901
20902
20903
20904
20905
20906
20907
20908
20909
20910
20911
20912
20913
20914
20915
20916
20917
20918
20919
20920
20921
20922
20923
20924
20925
20926
20927
20928
20929
20930
20931
20932
20933
20934
20935
20936
20937
20938
20939
20940
20941
20942
20943
20944
20945
20946
20947
20948
20949
20950
20951
20952
20953
20954
20955
20956
20957
20958
20959
20960
20961
20962
20963
20964
20965
20966
20967
20968
20969
20970
20971
20972
20973
20974
20975
20976
20977
20978
20979
20980
20981
20982
20983
20984
20985
20986
20987
20988
20989
20990
20991
20992
20993
20994
20995
20996
20997
20998
20999
21000
21001
21002
21003
21004
21005
21006
21007
21008
21009
21010
21011
21012
21013
21014
21015
21016
21017
21018
21019
21020
21021
21022
21023
21024
21025
21026
21027
21028
21029
21030
21031
21032
21033
21034
21035
21036
21037
21038
21039
21040
21041
21042
21043
21044
21045
21046
21047
21048
21049
21050
21051
21052
21053
21054
21055
21056
21057
21058
21059
21060
21061
21062
21063
21064
21065
21066
21067
21068
21069
21070
21071
21072
21073
21074
21075
21076
21077
21078
21079
21080
21081
21082
21083
21084
21085
21086
21087
21088
21089
21090
21091
21092
21093
21094
21095
21096
21097
21098
21099
21100
21101
21102
21103
21104
21105
21106
21107
21108
21109
21110
21111
21112
21113
21114
21115
21116
21117
21118
21119
21120
21121
21122
21123
21124
21125
21126
21127
21128
21129
21130
21131
21132
21133
21134
21135
21136
21137
21138
21139
21140
21141
21142
21143
21144
21145
21146
21147
21148
21149
21150
21151
21152
21153
21154
21155
21156
21157
21158
21159
21160
21161
21162
21163
21164
21165
21166
21167
21168
21169
21170
21171
21172
21173
21174
21175
21176
21177
21178
21179
21180
21181
21182
21183
21184
21185
21186
21187
21188
21189
21190
21191
21192
21193
21194
21195
21196
21197
21198
21199
21200
21201
21202
21203
21204
21205
21206
21207
21208
21209
21210
21211
21212
21213
21214
21215
21216
21217
21218
21219
21220
21221
21222
21223
21224
21225
21226
21227
21228
21229
21230
21231
21232
21233
21234
21235
21236
21237
21238
21239
21240
21241
21242
21243
21244
21245
21246
21247
21248
21249
21250
21251
21252
21253
21254
21255
21256
21257
21258
21259
21260
21261
21262
21263
21264
21265
21266
21267
21268
21269
21270
21271
21272
21273
21274
21275
21276
21277
21278
21279
21280
21281
21282
21283
21284
21285
21286
21287
21288
21289
21290
21291
21292
21293
21294
21295
21296
21297
21298
21299
21300
21301
21302
21303
21304
21305
21306
21307
21308
21309
21310
21311
21312
21313
21314
21315
21316
21317
21318
21319
21320
21321
21322
21323
21324
21325
21326
21327
21328
21329
21330
21331
21332
21333
21334
21335
21336
21337
21338
21339
21340
21341
21342
21343
21344
21345
21346
21347
21348
21349
21350
21351
21352
21353
21354
21355
21356
21357
21358
21359
21360
21361
21362
21363
21364
21365
21366
21367
21368
21369
21370
21371
21372
21373
21374
21375
21376
21377
21378
21379
21380
21381
21382
21383
21384
21385
21386
21387
21388
21389
21390
21391
21392
21393
21394
21395
21396
21397
21398
21399
21400
21401
21402
21403
21404
21405
21406
21407
21408
21409
21410
21411
21412
21413
21414
21415
21416
21417
21418
21419
21420
21421
21422
21423
21424
21425
21426
21427
21428
21429
21430
21431
21432
21433
21434
21435
21436
21437
21438
21439
21440
21441
21442
21443
21444
21445
21446
21447
21448
21449
21450
21451
21452
21453
21454
21455
21456
21457
21458
21459
21460
21461
21462
21463
21464
21465
21466
21467
21468
21469
21470
21471
21472
21473
21474
21475
21476
21477
21478
21479
21480
21481
21482
21483
21484
21485
21486
21487
21488
21489
21490
21491
21492
21493
21494
21495
21496
21497
21498
21499
21500
21501
21502
21503
21504
21505
21506
21507
21508
21509
21510
21511
21512
21513
21514
21515
21516
21517
21518
21519
21520
21521
21522
21523
21524
21525
21526
21527
21528
21529
21530
21531
21532
21533
21534
21535
21536
21537
21538
21539
21540
21541
21542
21543
21544
21545
21546
21547
21548
21549
21550
21551
21552
21553
21554
21555
21556
21557
21558
21559
21560
21561
21562
21563
21564
21565
21566
21567
21568
21569
21570
21571
21572
21573
21574
21575
21576
21577
21578
21579
21580
21581
21582
21583
21584
21585
21586
21587
21588
21589
21590
21591
21592
21593
21594
21595
21596
21597
21598
21599
21600
21601
21602
21603
21604
21605
21606
21607
21608
21609
21610
21611
21612
21613
21614
21615
21616
21617
21618
21619
21620
21621
21622
21623
21624
21625
21626
21627
21628
21629
21630
21631
21632
21633
21634
21635
21636
21637
21638
21639
21640
21641
21642
21643
21644
21645
21646
21647
21648
21649
21650
21651
21652
21653
21654
21655
21656
21657
21658
21659
21660
21661
21662
21663
21664
21665
21666
21667
21668
21669
21670
21671
21672
21673
21674
21675
21676
21677
21678
21679
21680
21681
21682
21683
21684
21685
21686
21687
21688
21689
21690
21691
21692
21693
21694
21695
21696
21697
21698
21699
21700
21701
21702
21703
21704
21705
21706
21707
21708
21709
21710
21711
21712
21713
21714
21715
21716
21717
21718
21719
21720
21721
21722
21723
21724
21725
21726
21727
21728
21729
21730
21731
21732
21733
21734
21735
21736
21737
21738
21739
21740
21741
21742
21743
21744
21745
21746
21747
21748
21749
21750
21751
21752
21753
21754
21755
21756
21757
21758
21759
21760
21761
21762
21763
21764
21765
21766
21767
21768
21769
21770
21771
21772
21773
21774
21775
21776
21777
21778
21779
21780
21781
21782
21783
21784
21785
21786
21787
21788
21789
21790
21791
21792
21793
21794
21795
21796
21797
21798
21799
21800
21801
21802
21803
21804
21805
21806
21807
21808
21809
21810
21811
21812
21813
21814
21815
21816
21817
21818
21819
21820
21821
21822
21823
21824
21825
21826
21827
21828
21829
21830
21831
21832
21833
21834
21835
21836
21837
21838
21839
21840
21841
21842
21843
21844
21845
21846
21847
21848
21849
21850
21851
21852
21853
21854
21855
21856
21857
21858
21859
21860
21861
21862
21863
21864
21865
21866
21867
21868
21869
21870
21871
21872
21873
21874
21875
21876
21877
21878
21879
21880
21881
21882
21883
21884
21885
21886
21887
21888
21889
21890
21891
21892
21893
21894
21895
21896
21897
21898
21899
21900
21901
21902
21903
21904
21905
21906
21907
21908
21909
21910
21911
21912
21913
21914
21915
21916
21917
21918
21919
21920
21921
21922
21923
21924
21925
21926
21927
21928
21929
21930
21931
21932
21933
21934
21935
21936
21937
21938
21939
21940
21941
21942
21943
21944
21945
21946
21947
21948
21949
21950
21951
21952
21953
21954
21955
21956
21957
21958
21959
21960
21961
21962
21963
21964
21965
21966
21967
21968
21969
21970
21971
21972
21973
21974
21975
21976
21977
21978
21979
21980
21981
21982
21983
21984
21985
21986
21987
21988
21989
21990
21991
21992
21993
21994
21995
21996
21997
21998
21999
22000
22001
22002
22003
22004
22005
22006
22007
22008
22009
22010
22011
22012
22013
22014
22015
22016
22017
22018
22019
22020
22021
22022
22023
22024
22025
22026
22027
22028
22029
22030
22031
22032
22033
22034
22035
22036
22037
22038
22039
22040
22041
22042
22043
22044
22045
22046
22047
22048
22049
22050
22051
22052
22053
22054
22055
22056
22057
22058
22059
22060
22061
22062
22063
22064
22065
22066
22067
22068
22069
22070
22071
22072
22073
22074
22075
22076
22077
22078
22079
22080
22081
22082
22083
22084
22085
22086
22087
22088
22089
22090
22091
22092
22093
22094
22095
22096
22097
22098
22099
22100
22101
22102
22103
22104
22105
22106
22107
22108
22109
22110
22111
22112
22113
22114
22115
22116
22117
22118
22119
22120
22121
22122
22123
22124
22125
22126
22127
22128
22129
22130
22131
22132
22133
22134
22135
22136
22137
22138
22139
22140
22141
22142
22143
22144
22145
22146
22147
22148
22149
22150
22151
22152
22153
22154
22155
22156
22157
22158
22159
22160
22161
22162
22163
22164
22165
22166
22167
22168
22169
22170
22171
22172
22173
22174
22175
22176
22177
22178
22179
22180
22181
22182
22183
22184
22185
22186
22187
22188
22189
22190
22191
22192
22193
22194
22195
22196
22197
22198
22199
22200
22201
22202
22203
22204
22205
22206
22207
22208
22209
22210
22211
22212
22213
22214
22215
22216
22217
22218
22219
22220
22221
22222
22223
22224
22225
22226
22227
22228
22229
22230
22231
22232
22233
22234
22235
22236
22237
22238
22239
22240
22241
22242
22243
22244
22245
22246
22247
22248
22249
22250
22251
22252
22253
22254
22255
22256
22257
22258
22259
22260
22261
22262
22263
22264
22265
22266
22267
22268
22269
22270
22271
22272
22273
22274
22275
22276
22277
22278
22279
22280
22281
22282
22283
22284
22285
22286
22287
22288
22289
22290
22291
22292
22293
22294
22295
22296
22297
22298
22299
22300
22301
22302
22303
22304
22305
22306
22307
22308
22309
22310
22311
22312
22313
22314
22315
22316
22317
22318
22319
22320
22321
22322
22323
22324
22325
22326
22327
22328
22329
22330
22331
22332
22333
22334
22335
22336
22337
22338
22339
22340
22341
22342
22343
22344
22345
22346
22347
22348
22349
22350
22351
22352
22353
22354
22355
22356
22357
22358
22359
22360
22361
22362
22363
22364
22365
22366
22367
22368
22369
22370
22371
22372
22373
22374
22375
22376
22377
22378
22379
22380
22381
22382
22383
22384
22385
22386
22387
22388
22389
22390
22391
22392
22393
22394
22395
22396
22397
22398
22399
22400
22401
22402
22403
22404
22405
22406
22407
22408
22409
22410
22411
22412
22413
22414
22415
22416
22417
22418
22419
22420
22421
22422
22423
22424
22425
22426
22427
22428
22429
22430
22431
22432
22433
22434
22435
22436
22437
22438
22439
22440
22441
22442
22443
22444
22445
22446
22447
22448
22449
22450
22451
22452
22453
22454
22455
22456
22457
22458
22459
22460
22461
22462
22463
22464
22465
22466
22467
22468
22469
22470
22471
22472
22473
22474
22475
22476
22477
22478
22479
22480
22481
22482
22483
22484
22485
22486
22487
22488
22489
22490
22491
22492
22493
22494
22495
22496
22497
22498
22499
22500
22501
22502
22503
22504
22505
22506
22507
22508
22509
22510
22511
22512
22513
22514
22515
22516
22517
22518
22519
22520
22521
22522
22523
22524
22525
22526
22527
22528
22529
22530
22531
22532
22533
22534
22535
22536
22537
22538
22539
22540
22541
22542
22543
22544
22545
22546
22547
22548
22549
22550
22551
22552
22553
22554
22555
22556
22557
22558
22559
22560
22561
22562
22563
22564
22565
22566
22567
22568
22569
22570
22571
22572
22573
22574
22575
22576
22577
22578
22579
22580
22581
22582
22583
22584
22585
22586
22587
22588
22589
22590
22591
22592
22593
22594
22595
22596
22597
22598
22599
22600
22601
22602
22603
22604
22605
22606
22607
22608
22609
22610
22611
22612
22613
22614
22615
22616
22617
22618
22619
22620
22621
22622
22623
22624
22625
22626
22627
22628
22629
22630
22631
22632
22633
22634
22635
22636
22637
22638
22639
22640
22641
22642
22643
22644
22645
22646
22647
22648
22649
22650
22651
22652
22653
22654
22655
22656
22657
22658
22659
22660
22661
22662
22663
22664
22665
22666
22667
22668
22669
22670
22671
22672
22673
22674
22675
22676
22677
22678
22679
22680
22681
22682
22683
22684
22685
22686
22687
22688
22689
22690
22691
22692
22693
22694
22695
22696
22697
22698
22699
22700
22701
22702
22703
22704
22705
22706
22707
22708
22709
22710
22711
22712
22713
22714
22715
22716
22717
22718
22719
22720
22721
22722
22723
22724
22725
22726
22727
22728
22729
22730
22731
22732
22733
22734
22735
22736
22737
22738
22739
22740
22741
22742
22743
22744
22745
22746
22747
22748
22749
22750
22751
22752
22753
22754
22755
22756
22757
22758
22759
22760
22761
22762
22763
22764
22765
22766
22767
22768
22769
22770
22771
22772
22773
22774
22775
22776
22777
22778
22779
22780
22781
22782
22783
22784
22785
22786
22787
22788
22789
22790
22791
22792
22793
22794
22795
22796
22797
22798
22799
22800
22801
22802
22803
22804
22805
22806
22807
22808
22809
22810
22811
22812
22813
22814
22815
22816
22817
22818
22819
22820
22821
22822
22823
22824
22825
22826
22827
22828
22829
22830
22831
22832
22833
22834
22835
22836
22837
22838
22839
22840
22841
22842
22843
22844
22845
22846
22847
22848
22849
22850
22851
22852
22853
22854
22855
22856
22857
22858
22859
22860
22861
22862
22863
22864
22865
22866
22867
22868
22869
22870
22871
22872
22873
22874
22875
22876
22877
22878
22879
22880
22881
22882
22883
22884
22885
22886
22887
22888
22889
22890
22891
22892
22893
22894
22895
22896
22897
22898
22899
22900
22901
22902
22903
22904
22905
22906
22907
22908
22909
22910
22911
22912
22913
22914
22915
22916
22917
22918
22919
22920
22921
22922
22923
22924
22925
22926
22927
22928
22929
22930
22931
22932
22933
22934
22935
22936
22937
22938
22939
22940
22941
22942
22943
22944
22945
22946
22947
22948
22949
22950
22951
22952
22953
22954
22955
22956
22957
22958
22959
22960
22961
22962
22963
22964
22965
22966
22967
22968
22969
22970
22971
22972
22973
22974
22975
22976
22977
22978
22979
22980
22981
22982
22983
22984
22985
22986
22987
22988
22989
22990
22991
22992
22993
22994
22995
22996
22997
22998
22999
23000
23001
23002
23003
23004
23005
23006
23007
23008
23009
23010
23011
23012
23013
23014
23015
23016
23017
23018
23019
23020
23021
23022
23023
23024
23025
23026
23027
23028
23029
23030
23031
23032
23033
23034
23035
23036
23037
23038
23039
23040
23041
23042
23043
23044
23045
23046
23047
23048
23049
23050
23051
23052
23053
23054
23055
23056
23057
23058
23059
23060
23061
23062
23063
23064
23065
23066
23067
23068
23069
23070
23071
23072
23073
23074
23075
23076
23077
23078
23079
23080
23081
23082
23083
23084
23085
23086
23087
23088
23089
23090
23091
23092
23093
23094
23095
23096
23097
23098
23099
23100
23101
23102
23103
23104
23105
23106
23107
23108
23109
23110
23111
23112
23113
23114
23115
23116
23117
23118
23119
23120
23121
23122
23123
23124
23125
23126
23127
23128
23129
23130
23131
23132
23133
23134
23135
23136
23137
23138
23139
23140
23141
23142
23143
23144
23145
23146
23147
23148
23149
23150
23151
23152
23153
23154
23155
23156
23157
23158
23159
23160
23161
23162
23163
23164
23165
23166
23167
23168
23169
23170
23171
23172
23173
23174
23175
23176
23177
23178
23179
23180
23181
23182
23183
23184
23185
23186
23187
23188
23189
23190
23191
23192
23193
23194
23195
23196
23197
23198
23199
23200
23201
23202
23203
23204
23205
23206
23207
23208
23209
23210
23211
23212
23213
23214
23215
23216
23217
23218
23219
23220
23221
23222
23223
23224
23225
23226
23227
23228
23229
23230
23231
23232
23233
23234
23235
23236
23237
23238
23239
23240
23241
23242
23243
23244
23245
23246
23247
23248
23249
23250
23251
23252
23253
23254
23255
23256
23257
23258
23259
23260
23261
23262
23263
23264
23265
23266
23267
23268
23269
23270
23271
23272
23273
23274
23275
23276
23277
23278
23279
23280
23281
23282
23283
23284
23285
23286
23287
23288
23289
23290
23291
23292
23293
23294
23295
23296
23297
23298
23299
23300
23301
23302
23303
23304
23305
23306
23307
23308
23309
23310
23311
23312
23313
23314
23315
23316
23317
23318
23319
23320
23321
23322
23323
23324
23325
23326
23327
23328
23329
23330
23331
23332
23333
23334
23335
23336
23337
23338
23339
23340
23341
23342
23343
23344
23345
23346
23347
23348
23349
23350
#ifndef LAPACK_H
#define LAPACK_H

/*
*  Turn on HAVE_LAPACK_CONFIG_H to redefine C-LAPACK datatypes
*/
#ifdef HAVE_LAPACK_CONFIG_H
#include "lapacke_config.h"
#endif

#include "lapacke_mangling.h"

#include <stdlib.h>
#include <stdarg.h>
#include <inttypes.h>

/* It seems all current Fortran compilers put strlen at end.
*  Some historical compilers put strlen after the str argument
*  or make the str argument into a struct. */
#define LAPACK_FORTRAN_STRLEN_END

#ifndef FORTRAN_STRLEN
  #define FORTRAN_STRLEN size_t
#endif

/* Complex types are structures equivalent to the
* Fortran complex types COMPLEX(4) and COMPLEX(8).
*
* One can also redefine the types with his own types
* for example by including in the code definitions like
*
* #define lapack_complex_float std::complex<float>
* #define lapack_complex_double std::complex<double>
*
* or define these types in the command line:
*
* -Dlapack_complex_float="std::complex<float>"
* -Dlapack_complex_double="std::complex<double>"
*/

#ifndef LAPACK_COMPLEX_CUSTOM

/* Complex type (single precision) */
#ifndef lapack_complex_float
#ifndef __cplusplus
#include <complex.h>
#else
#include <complex>
#endif
#define lapack_complex_float    float _Complex
#endif

#ifndef lapack_complex_float_real
#define lapack_complex_float_real(z)       (creal(z))
#endif

#ifndef lapack_complex_float_imag
#define lapack_complex_float_imag(z)       (cimag(z))
#endif

/* Complex type (double precision) */
#ifndef lapack_complex_double
#ifndef __cplusplus
#include <complex.h>
#else
#include <complex>
#endif
#define lapack_complex_double   double _Complex
#endif

#ifndef lapack_complex_double_real
#define lapack_complex_double_real(z)      (creal(z))
#endif

#ifndef lapack_complex_double_imag
#define lapack_complex_double_imag(z)       (cimag(z))
#endif

#endif /* LAPACK_COMPLEX_CUSTOM */


#ifdef __cplusplus
extern "C" {
#endif

/*----------------------------------------------------------------------------*/
#ifndef lapack_int
#if defined(LAPACK_ILP64)
#define lapack_int        int64_t
#else
#define lapack_int        int32_t
#endif
#endif

/*
 * Integer format string
 */
#ifndef LAPACK_IFMT
#if defined(LAPACK_ILP64)
#define LAPACK_IFMT       PRId64
#else
#define LAPACK_IFMT       PRId32
#endif
#endif

#ifndef lapack_logical
#define lapack_logical    lapack_int
#endif

/* f2c, hence clapack and MacOS Accelerate, returns double instead of float
 * for sdot, slange, clange, etc. */
#if defined(LAPACK_F2C)
    typedef double lapack_float_return;
#else
    typedef float lapack_float_return;
#endif


/* Callback logical functions of one, two, or three arguments are used
*  to select eigenvalues to sort to the top left of the Schur form.
*  The value is selected if function returns TRUE (non-zero). */

typedef lapack_logical (*LAPACK_S_SELECT2) ( const float*, const float* );
typedef lapack_logical (*LAPACK_S_SELECT3)
    ( const float*, const float*, const float* );
typedef lapack_logical (*LAPACK_D_SELECT2) ( const double*, const double* );
typedef lapack_logical (*LAPACK_D_SELECT3)
    ( const double*, const double*, const double* );

typedef lapack_logical (*LAPACK_C_SELECT1) ( const lapack_complex_float* );
typedef lapack_logical (*LAPACK_C_SELECT2)
    ( const lapack_complex_float*, const lapack_complex_float* );
typedef lapack_logical (*LAPACK_Z_SELECT1) ( const lapack_complex_double* );
typedef lapack_logical (*LAPACK_Z_SELECT2)
    ( const lapack_complex_double*, const lapack_complex_double* );

#define LAPACK_lsame_base LAPACK_GLOBAL(lsame,LSAME)
lapack_logical LAPACK_lsame_base( const char* ca,  const char* cb
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_lsame(...) LAPACK_lsame_base(__VA_ARGS__, 1, 1)
#else
    #define LAPACK_lsame(...) LAPACK_lsame_base(__VA_ARGS__)
#endif

/*
 * Integer specific API
 */
#ifdef LAPACKE_API64
#ifndef API_SUFFIX
#define API_SUFFIX(a) a##_64
#endif
#define LAPACK_GLOBAL_SUFFIX(a,b) LAPACK_GLOBAL_SUFFIX_(API_SUFFIX(a),API_SUFFIX(b))
#define LAPACK_GLOBAL_SUFFIX_(a,b) LAPACK_GLOBAL(a,b)
#else
#define LAPACK_GLOBAL_SUFFIX(a,b) LAPACK_GLOBAL(a,b)
#endif



/*----------------------------------------------------------------------------*/
/* This is in alphabetical order (ignoring leading precision). */

#define LAPACK_cbbcsd_base LAPACK_GLOBAL_SUFFIX(cbbcsd,CBBCSD)
void LAPACK_cbbcsd_base(
    char const* jobu1, char const* jobu2, char const* jobv1t, char const* jobv2t, char const* trans,
    lapack_int const* m, lapack_int const* p, lapack_int const* q,
    float* theta,
    float* phi,
    lapack_complex_float* U1, lapack_int const* ldu1,
    lapack_complex_float* U2, lapack_int const* ldu2,
    lapack_complex_float* V1T, lapack_int const* ldv1t,
    lapack_complex_float* V2T, lapack_int const* ldv2t,
    float* B11D,
    float* B11E,
    float* B12D,
    float* B12E,
    float* B21D,
    float* B21E,
    float* B22D,
    float* B22E,
    float* rwork, lapack_int const* lrwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN, FORTRAN_STRLEN, FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_cbbcsd(...) LAPACK_cbbcsd_base(__VA_ARGS__, 1, 1, 1, 1, 1)
#else
    #define LAPACK_cbbcsd(...) LAPACK_cbbcsd_base(__VA_ARGS__)
#endif

#define LAPACK_dbbcsd_base LAPACK_GLOBAL_SUFFIX(dbbcsd,DBBCSD)
void LAPACK_dbbcsd_base(
    char const* jobu1, char const* jobu2, char const* jobv1t, char const* jobv2t, char const* trans,
    lapack_int const* m, lapack_int const* p, lapack_int const* q,
    double* theta,
    double* phi,
    double* U1, lapack_int const* ldu1,
    double* U2, lapack_int const* ldu2,
    double* V1T, lapack_int const* ldv1t,
    double* V2T, lapack_int const* ldv2t,
    double* B11D,
    double* B11E,
    double* B12D,
    double* B12E,
    double* b21d,
    double* b21e,
    double* b22d,
    double* b22e,
    double* work, lapack_int const* lwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN, FORTRAN_STRLEN, FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_dbbcsd(...) LAPACK_dbbcsd_base(__VA_ARGS__, 1, 1, 1, 1, 1)
#else
    #define LAPACK_dbbcsd(...) LAPACK_dbbcsd_base(__VA_ARGS__)
#endif

#define LAPACK_sbbcsd_base LAPACK_GLOBAL_SUFFIX(sbbcsd,SBBCSD)
void LAPACK_sbbcsd_base(
    char const* jobu1, char const* jobu2, char const* jobv1t, char const* jobv2t, char const* trans,
    lapack_int const* m, lapack_int const* p, lapack_int const* q,
    float* theta,
    float* phi,
    float* U1, lapack_int const* ldu1,
    float* U2, lapack_int const* ldu2,
    float* V1T, lapack_int const* ldv1t,
    float* V2T, lapack_int const* ldv2t,
    float* B11D,
    float* B11E,
    float* B12D,
    float* B12E,
    float* B21D,
    float* B21E,
    float* B22D,
    float* B22E,
    float* work, lapack_int const* lwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN, FORTRAN_STRLEN, FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_sbbcsd(...) LAPACK_sbbcsd_base(__VA_ARGS__, 1, 1, 1, 1, 1)
#else
    #define LAPACK_sbbcsd(...) LAPACK_sbbcsd_base(__VA_ARGS__)
#endif

#define LAPACK_zbbcsd_base LAPACK_GLOBAL_SUFFIX(zbbcsd,ZBBCSD)
void LAPACK_zbbcsd_base(
    char const* jobu1, char const* jobu2, char const* jobv1t, char const* jobv2t, char const* trans,
    lapack_int const* m, lapack_int const* p, lapack_int const* q,
    double* theta,
    double* phi,
    lapack_complex_double* U1, lapack_int const* ldu1,
    lapack_complex_double* U2, lapack_int const* ldu2,
    lapack_complex_double* V1T, lapack_int const* ldv1t,
    lapack_complex_double* V2T, lapack_int const* ldv2t,
    double* B11D,
    double* B11E,
    double* B12D,
    double* B12E,
    double* B21D,
    double* B21E,
    double* B22D,
    double* B22E,
    double* rwork, lapack_int const* lrwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN, FORTRAN_STRLEN, FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_zbbcsd(...) LAPACK_zbbcsd_base(__VA_ARGS__, 1, 1, 1, 1, 1)
#else
    #define LAPACK_zbbcsd(...) LAPACK_zbbcsd_base(__VA_ARGS__)
#endif

#define LAPACK_dbdsdc_base LAPACK_GLOBAL_SUFFIX(dbdsdc,DBDSDC)
void LAPACK_dbdsdc_base(
    char const* uplo, char const* compq,
    lapack_int const* n,
    double* D,
    double* E,
    double* U, lapack_int const* ldu,
    double* VT, lapack_int const* ldvt,
    double* Q, lapack_int* IQ,
    double* work,
    lapack_int* iwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_dbdsdc(...) LAPACK_dbdsdc_base(__VA_ARGS__, 1, 1)
#else
    #define LAPACK_dbdsdc(...) LAPACK_dbdsdc_base(__VA_ARGS__)
#endif

#define LAPACK_sbdsdc_base LAPACK_GLOBAL_SUFFIX(sbdsdc,SBDSDC)
void LAPACK_sbdsdc_base(
    char const* uplo, char const* compq,
    lapack_int const* n,
    float* D,
    float* E,
    float* U, lapack_int const* ldu,
    float* VT, lapack_int const* ldvt,
    float* Q, lapack_int* IQ,
    float* work,
    lapack_int* iwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_sbdsdc(...) LAPACK_sbdsdc_base(__VA_ARGS__, 1, 1)
#else
    #define LAPACK_sbdsdc(...) LAPACK_sbdsdc_base(__VA_ARGS__)
#endif

#define LAPACK_cbdsqr_base LAPACK_GLOBAL_SUFFIX(cbdsqr,CBDSQR)
void LAPACK_cbdsqr_base(
    char const* uplo,
    lapack_int const* n, lapack_int const* ncvt, lapack_int const* nru, lapack_int const* ncc,
    float* D,
    float* E,
    lapack_complex_float* VT, lapack_int const* ldvt,
    lapack_complex_float* U, lapack_int const* ldu,
    lapack_complex_float* C, lapack_int const* ldc,
    float* rwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_cbdsqr(...) LAPACK_cbdsqr_base(__VA_ARGS__, 1)
#else
    #define LAPACK_cbdsqr(...) LAPACK_cbdsqr_base(__VA_ARGS__)
#endif

#define LAPACK_dbdsqr_base LAPACK_GLOBAL_SUFFIX(dbdsqr,DBDSQR)
void LAPACK_dbdsqr_base(
    char const* uplo,
    lapack_int const* n, lapack_int const* ncvt, lapack_int const* nru, lapack_int const* ncc,
    double* D,
    double* E,
    double* VT, lapack_int const* ldvt,
    double* U, lapack_int const* ldu,
    double* C, lapack_int const* ldc,
    double* work,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_dbdsqr(...) LAPACK_dbdsqr_base(__VA_ARGS__, 1)
#else
    #define LAPACK_dbdsqr(...) LAPACK_dbdsqr_base(__VA_ARGS__)
#endif

#define LAPACK_sbdsqr_base LAPACK_GLOBAL_SUFFIX(sbdsqr,SBDSQR)
void LAPACK_sbdsqr_base(
    char const* uplo,
    lapack_int const* n, lapack_int const* ncvt, lapack_int const* nru, lapack_int const* ncc,
    float* D,
    float* E,
    float* VT, lapack_int const* ldvt,
    float* U, lapack_int const* ldu,
    float* C, lapack_int const* ldc,
    float* work,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_sbdsqr(...) LAPACK_sbdsqr_base(__VA_ARGS__, 1)
#else
    #define LAPACK_sbdsqr(...) LAPACK_sbdsqr_base(__VA_ARGS__)
#endif

#define LAPACK_zbdsqr_base LAPACK_GLOBAL_SUFFIX(zbdsqr,ZBDSQR)
void LAPACK_zbdsqr_base(
    char const* uplo,
    lapack_int const* n, lapack_int const* ncvt, lapack_int const* nru, lapack_int const* ncc,
    double* D,
    double* E,
    lapack_complex_double* VT, lapack_int const* ldvt,
    lapack_complex_double* U, lapack_int const* ldu,
    lapack_complex_double* C, lapack_int const* ldc,
    double* rwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_zbdsqr(...) LAPACK_zbdsqr_base(__VA_ARGS__, 1)
#else
    #define LAPACK_zbdsqr(...) LAPACK_zbdsqr_base(__VA_ARGS__)
#endif

#define LAPACK_dbdsvdx_base LAPACK_GLOBAL_SUFFIX(dbdsvdx,DBDSVDX)
void LAPACK_dbdsvdx_base(
    char const* uplo, char const* jobz, char const* range,
    lapack_int const* n,
    double const* D,
    double const* E,
    double const* vl,
    double const* vu, lapack_int const* il, lapack_int const* iu, lapack_int* ns,
    double* S,
    double* Z, lapack_int const* ldz,
    double* work,
    lapack_int* iwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_dbdsvdx(...) LAPACK_dbdsvdx_base(__VA_ARGS__, 1, 1, 1)
#else
    #define LAPACK_dbdsvdx(...) LAPACK_dbdsvdx_base(__VA_ARGS__)
#endif

#define LAPACK_sbdsvdx_base LAPACK_GLOBAL_SUFFIX(sbdsvdx,SBDSVDX)
void LAPACK_sbdsvdx_base(
    char const* uplo, char const* jobz, char const* range,
    lapack_int const* n,
    float const* D,
    float const* E,
    float const* vl,
    float const* vu, lapack_int const* il, lapack_int const* iu, lapack_int* ns,
    float* S,
    float* Z, lapack_int const* ldz,
    float* work,
    lapack_int* iwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_sbdsvdx(...) LAPACK_sbdsvdx_base(__VA_ARGS__, 1, 1, 1)
#else
    #define LAPACK_sbdsvdx(...) LAPACK_sbdsvdx_base(__VA_ARGS__)
#endif

#define LAPACK_ddisna_base LAPACK_GLOBAL_SUFFIX(ddisna,DDISNA)
void LAPACK_ddisna_base(
    char const* job,
    lapack_int const* m, lapack_int const* n,
    double const* D,
    double* SEP,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_ddisna(...) LAPACK_ddisna_base(__VA_ARGS__, 1)
#else
    #define LAPACK_ddisna(...) LAPACK_ddisna_base(__VA_ARGS__)
#endif

#define LAPACK_sdisna_base LAPACK_GLOBAL_SUFFIX(sdisna,SDISNA)
void LAPACK_sdisna_base(
    char const* job,
    lapack_int const* m, lapack_int const* n,
    float const* D,
    float* SEP,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_sdisna(...) LAPACK_sdisna_base(__VA_ARGS__, 1)
#else
    #define LAPACK_sdisna(...) LAPACK_sdisna_base(__VA_ARGS__)
#endif

#define LAPACK_cgbbrd_base LAPACK_GLOBAL_SUFFIX(cgbbrd,CGBBRD)
void LAPACK_cgbbrd_base(
    char const* vect,
    lapack_int const* m, lapack_int const* n, lapack_int const* ncc, lapack_int const* kl, lapack_int const* ku,
    lapack_complex_float* AB, lapack_int const* ldab,
    float* D,
    float* E,
    lapack_complex_float* Q, lapack_int const* ldq,
    lapack_complex_float* PT, lapack_int const* ldpt,
    lapack_complex_float* C, lapack_int const* ldc,
    lapack_complex_float* work,
    float* rwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_cgbbrd(...) LAPACK_cgbbrd_base(__VA_ARGS__, 1)
#else
    #define LAPACK_cgbbrd(...) LAPACK_cgbbrd_base(__VA_ARGS__)
#endif

#define LAPACK_dgbbrd_base LAPACK_GLOBAL_SUFFIX(dgbbrd,DGBBRD)
void LAPACK_dgbbrd_base(
    char const* vect,
    lapack_int const* m, lapack_int const* n, lapack_int const* ncc, lapack_int const* kl, lapack_int const* ku,
    double* AB, lapack_int const* ldab,
    double* D,
    double* E,
    double* Q, lapack_int const* ldq,
    double* PT, lapack_int const* ldpt,
    double* C, lapack_int const* ldc,
    double* work,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_dgbbrd(...) LAPACK_dgbbrd_base(__VA_ARGS__, 1)
#else
    #define LAPACK_dgbbrd(...) LAPACK_dgbbrd_base(__VA_ARGS__)
#endif

#define LAPACK_sgbbrd_base LAPACK_GLOBAL_SUFFIX(sgbbrd,SGBBRD)
void LAPACK_sgbbrd_base(
    char const* vect,
    lapack_int const* m, lapack_int const* n, lapack_int const* ncc, lapack_int const* kl, lapack_int const* ku,
    float* AB, lapack_int const* ldab,
    float* D,
    float* E,
    float* Q, lapack_int const* ldq,
    float* PT, lapack_int const* ldpt,
    float* C, lapack_int const* ldc,
    float* work,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_sgbbrd(...) LAPACK_sgbbrd_base(__VA_ARGS__, 1)
#else
    #define LAPACK_sgbbrd(...) LAPACK_sgbbrd_base(__VA_ARGS__)
#endif

#define LAPACK_zgbbrd_base LAPACK_GLOBAL_SUFFIX(zgbbrd,ZGBBRD)
void LAPACK_zgbbrd_base(
    char const* vect,
    lapack_int const* m, lapack_int const* n, lapack_int const* ncc, lapack_int const* kl, lapack_int const* ku,
    lapack_complex_double* AB, lapack_int const* ldab,
    double* D,
    double* E,
    lapack_complex_double* Q, lapack_int const* ldq,
    lapack_complex_double* PT, lapack_int const* ldpt,
    lapack_complex_double* C, lapack_int const* ldc,
    lapack_complex_double* work,
    double* rwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_zgbbrd(...) LAPACK_zgbbrd_base(__VA_ARGS__, 1)
#else
    #define LAPACK_zgbbrd(...) LAPACK_zgbbrd_base(__VA_ARGS__)
#endif

#define LAPACK_cgbcon_base LAPACK_GLOBAL_SUFFIX(cgbcon,CGBCON)
void LAPACK_cgbcon_base(
    char const* norm,
    lapack_int const* n, lapack_int const* kl, lapack_int const* ku,
    lapack_complex_float const* AB, lapack_int const* ldab, lapack_int const* ipiv,
    float const* anorm,
    float* rcond,
    lapack_complex_float* work,
    float* rwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_cgbcon(...) LAPACK_cgbcon_base(__VA_ARGS__, 1)
#else
    #define LAPACK_cgbcon(...) LAPACK_cgbcon_base(__VA_ARGS__)
#endif

#define LAPACK_dgbcon_base LAPACK_GLOBAL_SUFFIX(dgbcon,DGBCON)
void LAPACK_dgbcon_base(
    char const* norm,
    lapack_int const* n, lapack_int const* kl, lapack_int const* ku,
    double const* AB, lapack_int const* ldab, lapack_int const* ipiv,
    double const* anorm,
    double* rcond,
    double* work,
    lapack_int* iwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_dgbcon(...) LAPACK_dgbcon_base(__VA_ARGS__, 1)
#else
    #define LAPACK_dgbcon(...) LAPACK_dgbcon_base(__VA_ARGS__)
#endif

#define LAPACK_sgbcon_base LAPACK_GLOBAL_SUFFIX(sgbcon,SGBCON)
void LAPACK_sgbcon_base(
    char const* norm,
    lapack_int const* n, lapack_int const* kl, lapack_int const* ku,
    float const* AB, lapack_int const* ldab, lapack_int const* ipiv,
    float const* anorm,
    float* rcond,
    float* work,
    lapack_int* iwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_sgbcon(...) LAPACK_sgbcon_base(__VA_ARGS__, 1)
#else
    #define LAPACK_sgbcon(...) LAPACK_sgbcon_base(__VA_ARGS__)
#endif

#define LAPACK_zgbcon_base LAPACK_GLOBAL_SUFFIX(zgbcon,ZGBCON)
void LAPACK_zgbcon_base(
    char const* norm,
    lapack_int const* n, lapack_int const* kl, lapack_int const* ku,
    lapack_complex_double const* AB, lapack_int const* ldab, lapack_int const* ipiv,
    double const* anorm,
    double* rcond,
    lapack_complex_double* work,
    double* rwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_zgbcon(...) LAPACK_zgbcon_base(__VA_ARGS__, 1)
#else
    #define LAPACK_zgbcon(...) LAPACK_zgbcon_base(__VA_ARGS__)
#endif

#define LAPACK_cgbequ LAPACK_GLOBAL_SUFFIX(cgbequ,CGBEQU)
void LAPACK_cgbequ(
    lapack_int const* m, lapack_int const* n, lapack_int const* kl, lapack_int const* ku,
    lapack_complex_float const* AB, lapack_int const* ldab,
    float* R,
    float* C,
    float* rowcnd,
    float* colcnd,
    float* amax,
    lapack_int* info );

#define LAPACK_dgbequ LAPACK_GLOBAL_SUFFIX(dgbequ,DGBEQU)
void LAPACK_dgbequ(
    lapack_int const* m, lapack_int const* n, lapack_int const* kl, lapack_int const* ku,
    double const* AB, lapack_int const* ldab,
    double* R,
    double* C,
    double* rowcnd,
    double* colcnd,
    double* amax,
    lapack_int* info );

#define LAPACK_sgbequ LAPACK_GLOBAL_SUFFIX(sgbequ,SGBEQU)
void LAPACK_sgbequ(
    lapack_int const* m, lapack_int const* n, lapack_int const* kl, lapack_int const* ku,
    float const* AB, lapack_int const* ldab,
    float* R,
    float* C,
    float* rowcnd,
    float* colcnd,
    float* amax,
    lapack_int* info );

#define LAPACK_zgbequ LAPACK_GLOBAL_SUFFIX(zgbequ,ZGBEQU)
void LAPACK_zgbequ(
    lapack_int const* m, lapack_int const* n, lapack_int const* kl, lapack_int const* ku,
    lapack_complex_double const* AB, lapack_int const* ldab,
    double* R,
    double* C,
    double* rowcnd,
    double* colcnd,
    double* amax,
    lapack_int* info );

#define LAPACK_cgbequb LAPACK_GLOBAL_SUFFIX(cgbequb,CGBEQUB)
void LAPACK_cgbequb(
    lapack_int const* m, lapack_int const* n, lapack_int const* kl, lapack_int const* ku,
    lapack_complex_float const* AB, lapack_int const* ldab,
    float* R,
    float* C,
    float* rowcnd,
    float* colcnd,
    float* amax,
    lapack_int* info );

#define LAPACK_dgbequb LAPACK_GLOBAL_SUFFIX(dgbequb,DGBEQUB)
void LAPACK_dgbequb(
    lapack_int const* m, lapack_int const* n, lapack_int const* kl, lapack_int const* ku,
    double const* AB, lapack_int const* ldab,
    double* R,
    double* C,
    double* rowcnd,
    double* colcnd,
    double* amax,
    lapack_int* info );

#define LAPACK_sgbequb LAPACK_GLOBAL_SUFFIX(sgbequb,SGBEQUB)
void LAPACK_sgbequb(
    lapack_int const* m, lapack_int const* n, lapack_int const* kl, lapack_int const* ku,
    float const* AB, lapack_int const* ldab,
    float* R,
    float* C,
    float* rowcnd,
    float* colcnd,
    float* amax,
    lapack_int* info );

#define LAPACK_zgbequb LAPACK_GLOBAL_SUFFIX(zgbequb,ZGBEQUB)
void LAPACK_zgbequb(
    lapack_int const* m, lapack_int const* n, lapack_int const* kl, lapack_int const* ku,
    lapack_complex_double const* AB, lapack_int const* ldab,
    double* R,
    double* C,
    double* rowcnd,
    double* colcnd,
    double* amax,
    lapack_int* info );

#define LAPACK_cgbrfs_base LAPACK_GLOBAL_SUFFIX(cgbrfs,CGBRFS)
void LAPACK_cgbrfs_base(
    char const* trans,
    lapack_int const* n, lapack_int const* kl, lapack_int const* ku, lapack_int const* nrhs,
    lapack_complex_float const* AB, lapack_int const* ldab,
    lapack_complex_float const* AFB, lapack_int const* ldafb, lapack_int const* ipiv,
    lapack_complex_float const* B, lapack_int const* ldb,
    lapack_complex_float* X, lapack_int const* ldx,
    float* ferr,
    float* berr,
    lapack_complex_float* work,
    float* rwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_cgbrfs(...) LAPACK_cgbrfs_base(__VA_ARGS__, 1)
#else
    #define LAPACK_cgbrfs(...) LAPACK_cgbrfs_base(__VA_ARGS__)
#endif

#define LAPACK_dgbrfs_base LAPACK_GLOBAL_SUFFIX(dgbrfs,DGBRFS)
void LAPACK_dgbrfs_base(
    char const* trans,
    lapack_int const* n, lapack_int const* kl, lapack_int const* ku, lapack_int const* nrhs,
    double const* AB, lapack_int const* ldab,
    double const* AFB, lapack_int const* ldafb, lapack_int const* ipiv,
    double const* B, lapack_int const* ldb,
    double* X, lapack_int const* ldx,
    double* ferr,
    double* berr,
    double* work,
    lapack_int* iwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_dgbrfs(...) LAPACK_dgbrfs_base(__VA_ARGS__, 1)
#else
    #define LAPACK_dgbrfs(...) LAPACK_dgbrfs_base(__VA_ARGS__)
#endif

#define LAPACK_sgbrfs_base LAPACK_GLOBAL_SUFFIX(sgbrfs,SGBRFS)
void LAPACK_sgbrfs_base(
    char const* trans,
    lapack_int const* n, lapack_int const* kl, lapack_int const* ku, lapack_int const* nrhs,
    float const* AB, lapack_int const* ldab,
    float const* AFB, lapack_int const* ldafb, lapack_int const* ipiv,
    float const* B, lapack_int const* ldb,
    float* X, lapack_int const* ldx,
    float* ferr,
    float* berr,
    float* work,
    lapack_int* iwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_sgbrfs(...) LAPACK_sgbrfs_base(__VA_ARGS__, 1)
#else
    #define LAPACK_sgbrfs(...) LAPACK_sgbrfs_base(__VA_ARGS__)
#endif

#define LAPACK_zgbrfs_base LAPACK_GLOBAL_SUFFIX(zgbrfs,ZGBRFS)
void LAPACK_zgbrfs_base(
    char const* trans,
    lapack_int const* n, lapack_int const* kl, lapack_int const* ku, lapack_int const* nrhs,
    lapack_complex_double const* AB, lapack_int const* ldab,
    lapack_complex_double const* AFB, lapack_int const* ldafb, lapack_int const* ipiv,
    lapack_complex_double const* B, lapack_int const* ldb,
    lapack_complex_double* X, lapack_int const* ldx,
    double* ferr,
    double* berr,
    lapack_complex_double* work,
    double* rwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_zgbrfs(...) LAPACK_zgbrfs_base(__VA_ARGS__, 1)
#else
    #define LAPACK_zgbrfs(...) LAPACK_zgbrfs_base(__VA_ARGS__)
#endif

#define LAPACK_cgbrfsx_base LAPACK_GLOBAL_SUFFIX(cgbrfsx,CGBRFSX)
void LAPACK_cgbrfsx_base(
    char const* trans, char const* equed,
    lapack_int const* n, lapack_int const* kl, lapack_int const* ku, lapack_int const* nrhs,
    lapack_complex_float const* AB, lapack_int const* ldab,
    lapack_complex_float const* AFB, lapack_int const* ldafb, lapack_int const* ipiv,
    const float* R,
    const float* C,
    lapack_complex_float const* B, lapack_int const* ldb,
    lapack_complex_float* X, lapack_int const* ldx,
    float* rcond,
    float* berr, lapack_int const* n_err_bnds,
    float* err_bnds_norm,
    float* err_bnds_comp, lapack_int const* nparams,
    float* params,
    lapack_complex_float* work,
    float* rwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_cgbrfsx(...) LAPACK_cgbrfsx_base(__VA_ARGS__, 1, 1)
#else
    #define LAPACK_cgbrfsx(...) LAPACK_cgbrfsx_base(__VA_ARGS__)
#endif

#define LAPACK_dgbrfsx_base LAPACK_GLOBAL_SUFFIX(dgbrfsx,DGBRFSX)
void LAPACK_dgbrfsx_base(
    char const* trans, char const* equed,
    lapack_int const* n, lapack_int const* kl, lapack_int const* ku, lapack_int const* nrhs,
    double const* AB, lapack_int const* ldab,
    double const* AFB, lapack_int const* ldafb, lapack_int const* ipiv,
    const double* R,
    const double* C,
    double const* B, lapack_int const* ldb,
    double* X, lapack_int const* ldx,
    double* rcond,
    double* berr, lapack_int const* n_err_bnds,
    double* err_bnds_norm,
    double* err_bnds_comp, lapack_int const* nparams,
    double* params,
    double* work,
    lapack_int* iwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_dgbrfsx(...) LAPACK_dgbrfsx_base(__VA_ARGS__, 1, 1)
#else
    #define LAPACK_dgbrfsx(...) LAPACK_dgbrfsx_base(__VA_ARGS__)
#endif

#define LAPACK_sgbrfsx_base LAPACK_GLOBAL_SUFFIX(sgbrfsx,SGBRFSX)
void LAPACK_sgbrfsx_base(
    char const* trans, char const* equed,
    lapack_int const* n, lapack_int const* kl, lapack_int const* ku, lapack_int const* nrhs,
    float const* AB, lapack_int const* ldab,
    float const* AFB, lapack_int const* ldafb, lapack_int const* ipiv,
    const float* R,
    const float* C,
    float const* B, lapack_int const* ldb,
    float* X, lapack_int const* ldx,
    float* rcond,
    float* berr, lapack_int const* n_err_bnds,
    float* err_bnds_norm,
    float* err_bnds_comp, lapack_int const* nparams,
    float* params,
    float* work,
    lapack_int* iwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_sgbrfsx(...) LAPACK_sgbrfsx_base(__VA_ARGS__, 1, 1)
#else
    #define LAPACK_sgbrfsx(...) LAPACK_sgbrfsx_base(__VA_ARGS__)
#endif

#define LAPACK_zgbrfsx_base LAPACK_GLOBAL_SUFFIX(zgbrfsx,ZGBRFSX)
void LAPACK_zgbrfsx_base(
    char const* trans, char const* equed,
    lapack_int const* n, lapack_int const* kl, lapack_int const* ku, lapack_int const* nrhs,
    lapack_complex_double const* AB, lapack_int const* ldab,
    lapack_complex_double const* AFB, lapack_int const* ldafb, lapack_int const* ipiv,
    const double* R,
    const double* C,
    lapack_complex_double const* B, lapack_int const* ldb,
    lapack_complex_double* X, lapack_int const* ldx,
    double* rcond,
    double* berr, lapack_int const* n_err_bnds,
    double* err_bnds_norm,
    double* err_bnds_comp, lapack_int const* nparams,
    double* params,
    lapack_complex_double* work,
    double* rwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_zgbrfsx(...) LAPACK_zgbrfsx_base(__VA_ARGS__, 1, 1)
#else
    #define LAPACK_zgbrfsx(...) LAPACK_zgbrfsx_base(__VA_ARGS__)
#endif

#define LAPACK_cgbsv LAPACK_GLOBAL_SUFFIX(cgbsv,CGBSV)
void LAPACK_cgbsv(
    lapack_int const* n, lapack_int const* kl, lapack_int const* ku, lapack_int const* nrhs,
    lapack_complex_float* AB, lapack_int const* ldab, lapack_int* ipiv,
    lapack_complex_float* B, lapack_int const* ldb,
    lapack_int* info );

#define LAPACK_dgbsv LAPACK_GLOBAL_SUFFIX(dgbsv,DGBSV)
void LAPACK_dgbsv(
    lapack_int const* n, lapack_int const* kl, lapack_int const* ku, lapack_int const* nrhs,
    double* AB, lapack_int const* ldab, lapack_int* ipiv,
    double* B, lapack_int const* ldb,
    lapack_int* info );

#define LAPACK_sgbsv LAPACK_GLOBAL_SUFFIX(sgbsv,SGBSV)
void LAPACK_sgbsv(
    lapack_int const* n, lapack_int const* kl, lapack_int const* ku, lapack_int const* nrhs,
    float* AB, lapack_int const* ldab, lapack_int* ipiv,
    float* B, lapack_int const* ldb,
    lapack_int* info );

#define LAPACK_zgbsv LAPACK_GLOBAL_SUFFIX(zgbsv,ZGBSV)
void LAPACK_zgbsv(
    lapack_int const* n, lapack_int const* kl, lapack_int const* ku, lapack_int const* nrhs,
    lapack_complex_double* AB, lapack_int const* ldab, lapack_int* ipiv,
    lapack_complex_double* B, lapack_int const* ldb,
    lapack_int* info );

#define LAPACK_cgbsvx_base LAPACK_GLOBAL_SUFFIX(cgbsvx,CGBSVX)
void LAPACK_cgbsvx_base(
    char const* fact, char const* trans,
    lapack_int const* n, lapack_int const* kl, lapack_int const* ku, lapack_int const* nrhs,
    lapack_complex_float* AB, lapack_int const* ldab,
    lapack_complex_float* AFB, lapack_int const* ldafb, lapack_int* ipiv, char* equed,
    float* R,
    float* C,
    lapack_complex_float* B,
    lapack_int const* ldb,
    lapack_complex_float* X, lapack_int const* ldx,
    float* rcond,
    float* ferr,
    float* berr,
    lapack_complex_float* work,
    float* rwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_cgbsvx(...) LAPACK_cgbsvx_base(__VA_ARGS__, 1, 1, 1)
#else
    #define LAPACK_cgbsvx(...) LAPACK_cgbsvx_base(__VA_ARGS__)
#endif

#define LAPACK_dgbsvx_base LAPACK_GLOBAL_SUFFIX(dgbsvx,DGBSVX)
void LAPACK_dgbsvx_base(
    char const* fact, char const* trans,
    lapack_int const* n, lapack_int const* kl, lapack_int const* ku, lapack_int const* nrhs,
    double* AB, lapack_int const* ldab,
    double* AFB, lapack_int const* ldafb, lapack_int* ipiv, char* equed,
    double* R,
    double* C,
    double* B,
    lapack_int const* ldb,
    double* X, lapack_int const* ldx,
    double* rcond,
    double* ferr,
    double* berr,
    double* work,
    lapack_int* iwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_dgbsvx(...) LAPACK_dgbsvx_base(__VA_ARGS__, 1, 1, 1)
#else
    #define LAPACK_dgbsvx(...) LAPACK_dgbsvx_base(__VA_ARGS__)
#endif

#define LAPACK_sgbsvx_base LAPACK_GLOBAL_SUFFIX(sgbsvx,SGBSVX)
void LAPACK_sgbsvx_base(
    char const* fact, char const* trans,
    lapack_int const* n, lapack_int const* kl, lapack_int const* ku, lapack_int const* nrhs,
    float* AB, lapack_int const* ldab,
    float* AFB, lapack_int const* ldafb, lapack_int* ipiv, char* equed,
    float* R,
    float* C,
    float* B,
    lapack_int const* ldb,
    float* X, lapack_int const* ldx,
    float* rcond,
    float* ferr,
    float* berr,
    float* work,
    lapack_int* iwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_sgbsvx(...) LAPACK_sgbsvx_base(__VA_ARGS__, 1, 1, 1)
#else
    #define LAPACK_sgbsvx(...) LAPACK_sgbsvx_base(__VA_ARGS__)
#endif

#define LAPACK_zgbsvx_base LAPACK_GLOBAL_SUFFIX(zgbsvx,ZGBSVX)
void LAPACK_zgbsvx_base(
    char const* fact, char const* trans,
    lapack_int const* n, lapack_int const* kl, lapack_int const* ku, lapack_int const* nrhs,
    lapack_complex_double* AB, lapack_int const* ldab,
    lapack_complex_double* AFB, lapack_int const* ldafb, lapack_int* ipiv, char* equed,
    double* R,
    double* C,
    lapack_complex_double* B,
    lapack_int const* ldb,
    lapack_complex_double* X, lapack_int const* ldx,
    double* rcond,
    double* ferr,
    double* berr,
    lapack_complex_double* work,
    double* rwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_zgbsvx(...) LAPACK_zgbsvx_base(__VA_ARGS__, 1, 1, 1)
#else
    #define LAPACK_zgbsvx(...) LAPACK_zgbsvx_base(__VA_ARGS__)
#endif

#define LAPACK_cgbsvxx_base LAPACK_GLOBAL_SUFFIX(cgbsvxx,CGBSVXX)
void LAPACK_cgbsvxx_base(
    char const* fact, char const* trans,
    lapack_int const* n, lapack_int const* kl, lapack_int const* ku, lapack_int const* nrhs,
    lapack_complex_float* AB, lapack_int const* ldab,
    lapack_complex_float* AFB, lapack_int const* ldafb, lapack_int* ipiv, char* equed,
    float* R,
    float* C,
    lapack_complex_float* B,
    lapack_int const* ldb,
    lapack_complex_float* X, lapack_int const* ldx,
    float* rcond,
    float* rpvgrw,
    float* berr, lapack_int const* n_err_bnds,
    float* err_bnds_norm,
    float* err_bnds_comp, lapack_int const* nparams,
    float* params,
    lapack_complex_float* work,
    float* rwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_cgbsvxx(...) LAPACK_cgbsvxx_base(__VA_ARGS__, 1, 1, 1)
#else
    #define LAPACK_cgbsvxx(...) LAPACK_cgbsvxx_base(__VA_ARGS__)
#endif

#define LAPACK_dgbsvxx_base LAPACK_GLOBAL_SUFFIX(dgbsvxx,DGBSVXX)
void LAPACK_dgbsvxx_base(
    char const* fact, char const* trans,
    lapack_int const* n, lapack_int const* kl, lapack_int const* ku, lapack_int const* nrhs,
    double* AB, lapack_int const* ldab,
    double* AFB, lapack_int const* ldafb, lapack_int* ipiv, char* equed,
    double* R,
    double* C,
    double* B,
    lapack_int const* ldb,
    double* X, lapack_int const* ldx,
    double* rcond,
    double* rpvgrw,
    double* berr, lapack_int const* n_err_bnds,
    double* err_bnds_norm,
    double* err_bnds_comp, lapack_int const* nparams,
    double* params,
    double* work,
    lapack_int* iwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_dgbsvxx(...) LAPACK_dgbsvxx_base(__VA_ARGS__, 1, 1, 1)
#else
    #define LAPACK_dgbsvxx(...) LAPACK_dgbsvxx_base(__VA_ARGS__)
#endif

#define LAPACK_sgbsvxx_base LAPACK_GLOBAL_SUFFIX(sgbsvxx,SGBSVXX)
void LAPACK_sgbsvxx_base(
    char const* fact, char const* trans,
    lapack_int const* n, lapack_int const* kl, lapack_int const* ku, lapack_int const* nrhs,
    float* AB, lapack_int const* ldab,
    float* AFB, lapack_int const* ldafb, lapack_int* ipiv, char* equed,
    float* R,
    float* C,
    float* B,
    lapack_int const* ldb,
    float* X, lapack_int const* ldx,
    float* rcond,
    float* rpvgrw,
    float* berr, lapack_int const* n_err_bnds,
    float* err_bnds_norm,
    float* err_bnds_comp, lapack_int const* nparams,
    float* params,
    float* work,
    lapack_int* iwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_sgbsvxx(...) LAPACK_sgbsvxx_base(__VA_ARGS__, 1, 1, 1)
#else
    #define LAPACK_sgbsvxx(...) LAPACK_sgbsvxx_base(__VA_ARGS__)
#endif

#define LAPACK_zgbsvxx_base LAPACK_GLOBAL_SUFFIX(zgbsvxx,ZGBSVXX)
void LAPACK_zgbsvxx_base(
    char const* fact, char const* trans,
    lapack_int const* n, lapack_int const* kl, lapack_int const* ku, lapack_int const* nrhs,
    lapack_complex_double* AB, lapack_int const* ldab,
    lapack_complex_double* AFB, lapack_int const* ldafb, lapack_int* ipiv, char* equed,
    double* R,
    double* C,
    lapack_complex_double* B,
    lapack_int const* ldb,
    lapack_complex_double* X, lapack_int const* ldx,
    double* rcond,
    double* rpvgrw,
    double* berr, lapack_int const* n_err_bnds,
    double* err_bnds_norm,
    double* err_bnds_comp, lapack_int const* nparams,
    double* params,
    lapack_complex_double* work,
    double* rwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_zgbsvxx(...) LAPACK_zgbsvxx_base(__VA_ARGS__, 1, 1, 1)
#else
    #define LAPACK_zgbsvxx(...) LAPACK_zgbsvxx_base(__VA_ARGS__)
#endif

#define LAPACK_cgbtrf LAPACK_GLOBAL_SUFFIX(cgbtrf,CGBTRF)
void LAPACK_cgbtrf(
    lapack_int const* m, lapack_int const* n, lapack_int const* kl, lapack_int const* ku,
    lapack_complex_float* AB, lapack_int const* ldab, lapack_int* ipiv,
    lapack_int* info );

#define LAPACK_dgbtrf LAPACK_GLOBAL_SUFFIX(dgbtrf,DGBTRF)
void LAPACK_dgbtrf(
    lapack_int const* m, lapack_int const* n, lapack_int const* kl, lapack_int const* ku,
    double* AB, lapack_int const* ldab, lapack_int* ipiv,
    lapack_int* info );

#define LAPACK_sgbtrf LAPACK_GLOBAL_SUFFIX(sgbtrf,SGBTRF)
void LAPACK_sgbtrf(
    lapack_int const* m, lapack_int const* n, lapack_int const* kl, lapack_int const* ku,
    float* AB, lapack_int const* ldab, lapack_int* ipiv,
    lapack_int* info );

#define LAPACK_zgbtrf LAPACK_GLOBAL_SUFFIX(zgbtrf,ZGBTRF)
void LAPACK_zgbtrf(
    lapack_int const* m, lapack_int const* n, lapack_int const* kl, lapack_int const* ku,
    lapack_complex_double* AB, lapack_int const* ldab, lapack_int* ipiv,
    lapack_int* info );

#define LAPACK_cgbtrs_base LAPACK_GLOBAL_SUFFIX(cgbtrs,CGBTRS)
void LAPACK_cgbtrs_base(
    char const* trans,
    lapack_int const* n, lapack_int const* kl, lapack_int const* ku, lapack_int const* nrhs,
    lapack_complex_float const* AB, lapack_int const* ldab, lapack_int const* ipiv,
    lapack_complex_float* B, lapack_int const* ldb,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_cgbtrs(...) LAPACK_cgbtrs_base(__VA_ARGS__, 1)
#else
    #define LAPACK_cgbtrs(...) LAPACK_cgbtrs_base(__VA_ARGS__)
#endif

#define LAPACK_dgbtrs_base LAPACK_GLOBAL_SUFFIX(dgbtrs,DGBTRS)
void LAPACK_dgbtrs_base(
    char const* trans,
    lapack_int const* n, lapack_int const* kl, lapack_int const* ku, lapack_int const* nrhs,
    double const* AB, lapack_int const* ldab, lapack_int const* ipiv,
    double* B, lapack_int const* ldb,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_dgbtrs(...) LAPACK_dgbtrs_base(__VA_ARGS__, 1)
#else
    #define LAPACK_dgbtrs(...) LAPACK_dgbtrs_base(__VA_ARGS__)
#endif

#define LAPACK_sgbtrs_base LAPACK_GLOBAL_SUFFIX(sgbtrs,SGBTRS)
void LAPACK_sgbtrs_base(
    char const* trans,
    lapack_int const* n, lapack_int const* kl, lapack_int const* ku, lapack_int const* nrhs,
    float const* AB, lapack_int const* ldab, lapack_int const* ipiv,
    float* B, lapack_int const* ldb,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_sgbtrs(...) LAPACK_sgbtrs_base(__VA_ARGS__, 1)
#else
    #define LAPACK_sgbtrs(...) LAPACK_sgbtrs_base(__VA_ARGS__)
#endif

#define LAPACK_zgbtrs_base LAPACK_GLOBAL_SUFFIX(zgbtrs,ZGBTRS)
void LAPACK_zgbtrs_base(
    char const* trans,
    lapack_int const* n, lapack_int const* kl, lapack_int const* ku, lapack_int const* nrhs,
    lapack_complex_double const* AB, lapack_int const* ldab, lapack_int const* ipiv,
    lapack_complex_double* B, lapack_int const* ldb,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_zgbtrs(...) LAPACK_zgbtrs_base(__VA_ARGS__, 1)
#else
    #define LAPACK_zgbtrs(...) LAPACK_zgbtrs_base(__VA_ARGS__)
#endif

#define LAPACK_cgebak_base LAPACK_GLOBAL_SUFFIX(cgebak,CGEBAK)
void LAPACK_cgebak_base(
    char const* job, char const* side,
    lapack_int const* n, lapack_int const* ilo, lapack_int const* ihi,
    float const* scale, lapack_int const* m,
    lapack_complex_float* V, lapack_int const* ldv,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_cgebak(...) LAPACK_cgebak_base(__VA_ARGS__, 1, 1)
#else
    #define LAPACK_cgebak(...) LAPACK_cgebak_base(__VA_ARGS__)
#endif

#define LAPACK_dgebak_base LAPACK_GLOBAL_SUFFIX(dgebak,DGEBAK)
void LAPACK_dgebak_base(
    char const* job, char const* side,
    lapack_int const* n, lapack_int const* ilo, lapack_int const* ihi,
    double const* scale, lapack_int const* m,
    double* V, lapack_int const* ldv,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_dgebak(...) LAPACK_dgebak_base(__VA_ARGS__, 1, 1)
#else
    #define LAPACK_dgebak(...) LAPACK_dgebak_base(__VA_ARGS__)
#endif

#define LAPACK_sgebak_base LAPACK_GLOBAL_SUFFIX(sgebak,SGEBAK)
void LAPACK_sgebak_base(
    char const* job, char const* side,
    lapack_int const* n, lapack_int const* ilo, lapack_int const* ihi,
    float const* scale, lapack_int const* m,
    float* V, lapack_int const* ldv,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_sgebak(...) LAPACK_sgebak_base(__VA_ARGS__, 1, 1)
#else
    #define LAPACK_sgebak(...) LAPACK_sgebak_base(__VA_ARGS__)
#endif

#define LAPACK_zgebak_base LAPACK_GLOBAL_SUFFIX(zgebak,ZGEBAK)
void LAPACK_zgebak_base(
    char const* job, char const* side,
    lapack_int const* n, lapack_int const* ilo, lapack_int const* ihi,
    double const* scale, lapack_int const* m,
    lapack_complex_double* V, lapack_int const* ldv,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_zgebak(...) LAPACK_zgebak_base(__VA_ARGS__, 1, 1)
#else
    #define LAPACK_zgebak(...) LAPACK_zgebak_base(__VA_ARGS__)
#endif

#define LAPACK_cgebal_base LAPACK_GLOBAL_SUFFIX(cgebal,CGEBAL)
void LAPACK_cgebal_base(
    char const* job,
    lapack_int const* n,
    lapack_complex_float* A, lapack_int const* lda, lapack_int* ilo, lapack_int* ihi,
    float* scale,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_cgebal(...) LAPACK_cgebal_base(__VA_ARGS__, 1)
#else
    #define LAPACK_cgebal(...) LAPACK_cgebal_base(__VA_ARGS__)
#endif

#define LAPACK_dgebal_base LAPACK_GLOBAL_SUFFIX(dgebal,DGEBAL)
void LAPACK_dgebal_base(
    char const* job,
    lapack_int const* n,
    double* A, lapack_int const* lda, lapack_int* ilo, lapack_int* ihi,
    double* scale,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_dgebal(...) LAPACK_dgebal_base(__VA_ARGS__, 1)
#else
    #define LAPACK_dgebal(...) LAPACK_dgebal_base(__VA_ARGS__)
#endif

#define LAPACK_sgebal_base LAPACK_GLOBAL_SUFFIX(sgebal,SGEBAL)
void LAPACK_sgebal_base(
    char const* job,
    lapack_int const* n,
    float* A, lapack_int const* lda, lapack_int* ilo, lapack_int* ihi,
    float* scale,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_sgebal(...) LAPACK_sgebal_base(__VA_ARGS__, 1)
#else
    #define LAPACK_sgebal(...) LAPACK_sgebal_base(__VA_ARGS__)
#endif

#define LAPACK_zgebal_base LAPACK_GLOBAL_SUFFIX(zgebal,ZGEBAL)
void LAPACK_zgebal_base(
    char const* job,
    lapack_int const* n,
    lapack_complex_double* A, lapack_int const* lda, lapack_int* ilo, lapack_int* ihi,
    double* scale,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_zgebal(...) LAPACK_zgebal_base(__VA_ARGS__, 1)
#else
    #define LAPACK_zgebal(...) LAPACK_zgebal_base(__VA_ARGS__)
#endif

#define LAPACK_cgebrd LAPACK_GLOBAL_SUFFIX(cgebrd,CGEBRD)
void LAPACK_cgebrd(
    lapack_int const* m, lapack_int const* n,
    lapack_complex_float* A, lapack_int const* lda,
    float* D,
    float* E,
    lapack_complex_float* tauq,
    lapack_complex_float* taup,
    lapack_complex_float* work, lapack_int const* lwork,
    lapack_int* info );

#define LAPACK_dgebrd LAPACK_GLOBAL_SUFFIX(dgebrd,DGEBRD)
void LAPACK_dgebrd(
    lapack_int const* m, lapack_int const* n,
    double* A, lapack_int const* lda,
    double* D,
    double* E,
    double* tauq,
    double* taup,
    double* work, lapack_int const* lwork,
    lapack_int* info );

#define LAPACK_sgebrd LAPACK_GLOBAL_SUFFIX(sgebrd,SGEBRD)
void LAPACK_sgebrd(
    lapack_int const* m, lapack_int const* n,
    float* A, lapack_int const* lda,
    float* D,
    float* E,
    float* tauq,
    float* taup,
    float* work, lapack_int const* lwork,
    lapack_int* info );

#define LAPACK_zgebrd LAPACK_GLOBAL_SUFFIX(zgebrd,ZGEBRD)
void LAPACK_zgebrd(
    lapack_int const* m, lapack_int const* n,
    lapack_complex_double* A, lapack_int const* lda,
    double* D,
    double* E,
    lapack_complex_double* tauq,
    lapack_complex_double* taup,
    lapack_complex_double* work, lapack_int const* lwork,
    lapack_int* info );

#define LAPACK_cgecon_base LAPACK_GLOBAL_SUFFIX(cgecon,CGECON)
void LAPACK_cgecon_base(
    char const* norm,
    lapack_int const* n,
    lapack_complex_float const* A, lapack_int const* lda,
    float const* anorm,
    float* rcond,
    lapack_complex_float* work,
    float* rwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_cgecon(...) LAPACK_cgecon_base(__VA_ARGS__, 1)
#else
    #define LAPACK_cgecon(...) LAPACK_cgecon_base(__VA_ARGS__)
#endif

#define LAPACK_dgecon_base LAPACK_GLOBAL_SUFFIX(dgecon,DGECON)
void LAPACK_dgecon_base(
    char const* norm,
    lapack_int const* n,
    double const* A, lapack_int const* lda,
    double const* anorm,
    double* rcond,
    double* work,
    lapack_int* iwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_dgecon(...) LAPACK_dgecon_base(__VA_ARGS__, 1)
#else
    #define LAPACK_dgecon(...) LAPACK_dgecon_base(__VA_ARGS__)
#endif

#define LAPACK_sgecon_base LAPACK_GLOBAL_SUFFIX(sgecon,SGECON)
void LAPACK_sgecon_base(
    char const* norm,
    lapack_int const* n,
    float const* A, lapack_int const* lda,
    float const* anorm,
    float* rcond,
    float* work,
    lapack_int* iwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_sgecon(...) LAPACK_sgecon_base(__VA_ARGS__, 1)
#else
    #define LAPACK_sgecon(...) LAPACK_sgecon_base(__VA_ARGS__)
#endif

#define LAPACK_zgecon_base LAPACK_GLOBAL_SUFFIX(zgecon,ZGECON)
void LAPACK_zgecon_base(
    char const* norm,
    lapack_int const* n,
    lapack_complex_double const* A, lapack_int const* lda,
    double const* anorm,
    double* rcond,
    lapack_complex_double* work,
    double* rwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_zgecon(...) LAPACK_zgecon_base(__VA_ARGS__, 1)
#else
    #define LAPACK_zgecon(...) LAPACK_zgecon_base(__VA_ARGS__)
#endif

#define LAPACK_cgeequ LAPACK_GLOBAL_SUFFIX(cgeequ,CGEEQU)
void LAPACK_cgeequ(
    lapack_int const* m, lapack_int const* n,
    lapack_complex_float const* A, lapack_int const* lda,
    float* R,
    float* C,
    float* rowcnd,
    float* colcnd,
    float* amax,
    lapack_int* info );

#define LAPACK_dgeequ LAPACK_GLOBAL_SUFFIX(dgeequ,DGEEQU)
void LAPACK_dgeequ(
    lapack_int const* m, lapack_int const* n,
    double const* A, lapack_int const* lda,
    double* R,
    double* C,
    double* rowcnd,
    double* colcnd,
    double* amax,
    lapack_int* info );

#define LAPACK_sgeequ LAPACK_GLOBAL_SUFFIX(sgeequ,SGEEQU)
void LAPACK_sgeequ(
    lapack_int const* m, lapack_int const* n,
    float const* A, lapack_int const* lda,
    float* R,
    float* C,
    float* rowcnd,
    float* colcnd,
    float* amax,
    lapack_int* info );

#define LAPACK_zgeequ LAPACK_GLOBAL_SUFFIX(zgeequ,ZGEEQU)
void LAPACK_zgeequ(
    lapack_int const* m, lapack_int const* n,
    lapack_complex_double const* A, lapack_int const* lda,
    double* R,
    double* C,
    double* rowcnd,
    double* colcnd,
    double* amax,
    lapack_int* info );

#define LAPACK_cgeequb LAPACK_GLOBAL_SUFFIX(cgeequb,CGEEQUB)
void LAPACK_cgeequb(
    lapack_int const* m, lapack_int const* n,
    lapack_complex_float const* A, lapack_int const* lda,
    float* R,
    float* C,
    float* rowcnd,
    float* colcnd,
    float* amax,
    lapack_int* info );

#define LAPACK_dgeequb LAPACK_GLOBAL_SUFFIX(dgeequb,DGEEQUB)
void LAPACK_dgeequb(
    lapack_int const* m, lapack_int const* n,
    double const* A, lapack_int const* lda,
    double* R,
    double* C,
    double* rowcnd,
    double* colcnd,
    double* amax,
    lapack_int* info );

#define LAPACK_sgeequb LAPACK_GLOBAL_SUFFIX(sgeequb,SGEEQUB)
void LAPACK_sgeequb(
    lapack_int const* m, lapack_int const* n,
    float const* A, lapack_int const* lda,
    float* R,
    float* C,
    float* rowcnd,
    float* colcnd,
    float* amax,
    lapack_int* info );

#define LAPACK_zgeequb LAPACK_GLOBAL_SUFFIX(zgeequb,ZGEEQUB)
void LAPACK_zgeequb(
    lapack_int const* m, lapack_int const* n,
    lapack_complex_double const* A, lapack_int const* lda,
    double* R,
    double* C,
    double* rowcnd,
    double* colcnd,
    double* amax,
    lapack_int* info );

#define LAPACK_cgees_base LAPACK_GLOBAL_SUFFIX(cgees,CGEES)
void LAPACK_cgees_base(
    char const* jobvs, char const* sort, LAPACK_C_SELECT1 select,
    lapack_int const* n,
    lapack_complex_float* A, lapack_int const* lda, lapack_int* sdim,
    lapack_complex_float* W,
    lapack_complex_float* VS, lapack_int const* ldvs,
    lapack_complex_float* work, lapack_int const* lwork,
    float* rwork, lapack_logical* BWORK,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_cgees(...) LAPACK_cgees_base(__VA_ARGS__, 1, 1)
#else
    #define LAPACK_cgees(...) LAPACK_cgees_base(__VA_ARGS__)
#endif

#define LAPACK_dgees_base LAPACK_GLOBAL_SUFFIX(dgees,DGEES)
void LAPACK_dgees_base(
    char const* jobvs, char const* sort, LAPACK_D_SELECT2 select,
    lapack_int const* n,
    double* A, lapack_int const* lda, lapack_int* sdim,
    double* WR,
    double* WI,
    double* VS, lapack_int const* ldvs,
    double* work, lapack_int const* lwork, lapack_logical* BWORK,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_dgees(...) LAPACK_dgees_base(__VA_ARGS__, 1, 1)
#else
    #define LAPACK_dgees(...) LAPACK_dgees_base(__VA_ARGS__)
#endif

#define LAPACK_sgees_base LAPACK_GLOBAL_SUFFIX(sgees,SGEES)
void LAPACK_sgees_base(
    char const* jobvs, char const* sort, LAPACK_S_SELECT2 select,
    lapack_int const* n,
    float* A, lapack_int const* lda, lapack_int* sdim,
    float* WR,
    float* WI,
    float* VS, lapack_int const* ldvs,
    float* work, lapack_int const* lwork, lapack_logical* BWORK,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_sgees(...) LAPACK_sgees_base(__VA_ARGS__, 1, 1)
#else
    #define LAPACK_sgees(...) LAPACK_sgees_base(__VA_ARGS__)
#endif

#define LAPACK_zgees_base LAPACK_GLOBAL_SUFFIX(zgees,ZGEES)
void LAPACK_zgees_base(
    char const* jobvs, char const* sort, LAPACK_Z_SELECT1 select,
    lapack_int const* n,
    lapack_complex_double* A, lapack_int const* lda, lapack_int* sdim,
    lapack_complex_double* W,
    lapack_complex_double* VS, lapack_int const* ldvs,
    lapack_complex_double* work, lapack_int const* lwork,
    double* rwork, lapack_logical* BWORK,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_zgees(...) LAPACK_zgees_base(__VA_ARGS__, 1, 1)
#else
    #define LAPACK_zgees(...) LAPACK_zgees_base(__VA_ARGS__)
#endif

#define LAPACK_cgeesx_base LAPACK_GLOBAL_SUFFIX(cgeesx,CGEESX)
void LAPACK_cgeesx_base(
    char const* jobvs, char const* sort, LAPACK_C_SELECT1 select, char const* sense,
    lapack_int const* n,
    lapack_complex_float* A, lapack_int const* lda, lapack_int* sdim,
    lapack_complex_float* W,
    lapack_complex_float* VS, lapack_int const* ldvs,
    float* rconde,
    float* rcondv,
    lapack_complex_float* work, lapack_int const* lwork,
    float* rwork, lapack_logical* BWORK,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_cgeesx(...) LAPACK_cgeesx_base(__VA_ARGS__, 1, 1, 1)
#else
    #define LAPACK_cgeesx(...) LAPACK_cgeesx_base(__VA_ARGS__)
#endif

#define LAPACK_dgeesx_base LAPACK_GLOBAL_SUFFIX(dgeesx,DGEESX)
void LAPACK_dgeesx_base(
    char const* jobvs, char const* sort, LAPACK_D_SELECT2 select, char const* sense,
    lapack_int const* n,
    double* A, lapack_int const* lda, lapack_int* sdim,
    double* WR,
    double* WI,
    double* VS, lapack_int const* ldvs,
    double* rconde,
    double* rcondv,
    double* work, lapack_int const* lwork,
    lapack_int* iwork, lapack_int const* liwork, lapack_logical* BWORK,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_dgeesx(...) LAPACK_dgeesx_base(__VA_ARGS__, 1, 1, 1)
#else
    #define LAPACK_dgeesx(...) LAPACK_dgeesx_base(__VA_ARGS__)
#endif

#define LAPACK_sgeesx_base LAPACK_GLOBAL_SUFFIX(sgeesx,SGEESX)
void LAPACK_sgeesx_base(
    char const* jobvs, char const* sort, LAPACK_S_SELECT2 select, char const* sense,
    lapack_int const* n,
    float* A, lapack_int const* lda, lapack_int* sdim,
    float* WR,
    float* WI,
    float* VS, lapack_int const* ldvs,
    float* rconde,
    float* rcondv,
    float* work, lapack_int const* lwork,
    lapack_int* iwork, lapack_int const* liwork, lapack_logical* BWORK,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_sgeesx(...) LAPACK_sgeesx_base(__VA_ARGS__, 1, 1, 1)
#else
    #define LAPACK_sgeesx(...) LAPACK_sgeesx_base(__VA_ARGS__)
#endif

#define LAPACK_zgeesx_base LAPACK_GLOBAL_SUFFIX(zgeesx,ZGEESX)
void LAPACK_zgeesx_base(
    char const* jobvs, char const* sort, LAPACK_Z_SELECT1 select, char const* sense,
    lapack_int const* n,
    lapack_complex_double* A, lapack_int const* lda, lapack_int* sdim,
    lapack_complex_double* W,
    lapack_complex_double* VS, lapack_int const* ldvs,
    double* rconde,
    double* rcondv,
    lapack_complex_double* work, lapack_int const* lwork,
    double* rwork, lapack_logical* BWORK,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_zgeesx(...) LAPACK_zgeesx_base(__VA_ARGS__, 1, 1, 1)
#else
    #define LAPACK_zgeesx(...) LAPACK_zgeesx_base(__VA_ARGS__)
#endif

#define LAPACK_cgeev_base LAPACK_GLOBAL_SUFFIX(cgeev,CGEEV)
void LAPACK_cgeev_base(
    char const* jobvl, char const* jobvr,
    lapack_int const* n,
    lapack_complex_float* A, lapack_int const* lda,
    lapack_complex_float* W,
    lapack_complex_float* VL, lapack_int const* ldvl,
    lapack_complex_float* VR, lapack_int const* ldvr,
    lapack_complex_float* work, lapack_int const* lwork,
    float* rwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_cgeev(...) LAPACK_cgeev_base(__VA_ARGS__, 1, 1)
#else
    #define LAPACK_cgeev(...) LAPACK_cgeev_base(__VA_ARGS__)
#endif

#define LAPACK_dgeev_base LAPACK_GLOBAL_SUFFIX(dgeev,DGEEV)
void LAPACK_dgeev_base(
    char const* jobvl, char const* jobvr,
    lapack_int const* n,
    double* A, lapack_int const* lda,
    double* WR,
    double* WI,
    double* VL, lapack_int const* ldvl,
    double* VR, lapack_int const* ldvr,
    double* work, lapack_int const* lwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_dgeev(...) LAPACK_dgeev_base(__VA_ARGS__, 1, 1)
#else
    #define LAPACK_dgeev(...) LAPACK_dgeev_base(__VA_ARGS__)
#endif

#define LAPACK_sgeev_base LAPACK_GLOBAL_SUFFIX(sgeev,SGEEV)
void LAPACK_sgeev_base(
    char const* jobvl, char const* jobvr,
    lapack_int const* n,
    float* A, lapack_int const* lda,
    float* WR,
    float* WI,
    float* VL, lapack_int const* ldvl,
    float* VR, lapack_int const* ldvr,
    float* work, lapack_int const* lwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_sgeev(...) LAPACK_sgeev_base(__VA_ARGS__, 1, 1)
#else
    #define LAPACK_sgeev(...) LAPACK_sgeev_base(__VA_ARGS__)
#endif

#define LAPACK_zgeev_base LAPACK_GLOBAL_SUFFIX(zgeev,ZGEEV)
void LAPACK_zgeev_base(
    char const* jobvl, char const* jobvr,
    lapack_int const* n,
    lapack_complex_double* A, lapack_int const* lda,
    lapack_complex_double* W,
    lapack_complex_double* VL, lapack_int const* ldvl,
    lapack_complex_double* VR, lapack_int const* ldvr,
    lapack_complex_double* work, lapack_int const* lwork,
    double* rwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_zgeev(...) LAPACK_zgeev_base(__VA_ARGS__, 1, 1)
#else
    #define LAPACK_zgeev(...) LAPACK_zgeev_base(__VA_ARGS__)
#endif

#define LAPACK_cgeevx_base LAPACK_GLOBAL_SUFFIX(cgeevx,CGEEVX)
void LAPACK_cgeevx_base(
    char const* balanc, char const* jobvl, char const* jobvr, char const* sense,
    lapack_int const* n,
    lapack_complex_float* A, lapack_int const* lda,
    lapack_complex_float* W,
    lapack_complex_float* VL, lapack_int const* ldvl,
    lapack_complex_float* VR, lapack_int const* ldvr, lapack_int* ilo, lapack_int* ihi,
    float* scale,
    float* abnrm,
    float* rconde,
    float* rcondv,
    lapack_complex_float* work, lapack_int const* lwork,
    float* rwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN, FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_cgeevx(...) LAPACK_cgeevx_base(__VA_ARGS__, 1, 1, 1, 1)
#else
    #define LAPACK_cgeevx(...) LAPACK_cgeevx_base(__VA_ARGS__)
#endif

#define LAPACK_dgeevx_base LAPACK_GLOBAL_SUFFIX(dgeevx,DGEEVX)
void LAPACK_dgeevx_base(
    char const* balanc, char const* jobvl, char const* jobvr, char const* sense,
    lapack_int const* n,
    double* A, lapack_int const* lda,
    double* WR,
    double* WI,
    double* VL, lapack_int const* ldvl,
    double* VR, lapack_int const* ldvr, lapack_int* ilo, lapack_int* ihi,
    double* scale,
    double* abnrm,
    double* rconde,
    double* rcondv,
    double* work, lapack_int const* lwork,
    lapack_int* iwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN, FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_dgeevx(...) LAPACK_dgeevx_base(__VA_ARGS__, 1, 1, 1, 1)
#else
    #define LAPACK_dgeevx(...) LAPACK_dgeevx_base(__VA_ARGS__)
#endif

#define LAPACK_sgeevx_base LAPACK_GLOBAL_SUFFIX(sgeevx,SGEEVX)
void LAPACK_sgeevx_base(
    char const* balanc, char const* jobvl, char const* jobvr, char const* sense,
    lapack_int const* n,
    float* A, lapack_int const* lda,
    float* WR,
    float* WI,
    float* VL, lapack_int const* ldvl,
    float* VR, lapack_int const* ldvr, lapack_int* ilo, lapack_int* ihi,
    float* scale,
    float* abnrm,
    float* rconde,
    float* rcondv,
    float* work, lapack_int const* lwork,
    lapack_int* iwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN, FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_sgeevx(...) LAPACK_sgeevx_base(__VA_ARGS__, 1, 1, 1, 1)
#else
    #define LAPACK_sgeevx(...) LAPACK_sgeevx_base(__VA_ARGS__)
#endif

#define LAPACK_zgeevx_base LAPACK_GLOBAL_SUFFIX(zgeevx,ZGEEVX)
void LAPACK_zgeevx_base(
    char const* balanc, char const* jobvl, char const* jobvr, char const* sense,
    lapack_int const* n,
    lapack_complex_double* A, lapack_int const* lda,
    lapack_complex_double* W,
    lapack_complex_double* VL, lapack_int const* ldvl,
    lapack_complex_double* VR, lapack_int const* ldvr, lapack_int* ilo, lapack_int* ihi,
    double* scale,
    double* abnrm,
    double* rconde,
    double* rcondv,
    lapack_complex_double* work, lapack_int const* lwork,
    double* rwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN, FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_zgeevx(...) LAPACK_zgeevx_base(__VA_ARGS__, 1, 1, 1, 1)
#else
    #define LAPACK_zgeevx(...) LAPACK_zgeevx_base(__VA_ARGS__)
#endif

#define LAPACK_cgehrd LAPACK_GLOBAL_SUFFIX(cgehrd,CGEHRD)
void LAPACK_cgehrd(
    lapack_int const* n, lapack_int const* ilo, lapack_int const* ihi,
    lapack_complex_float* A, lapack_int const* lda,
    lapack_complex_float* tau,
    lapack_complex_float* work, lapack_int const* lwork,
    lapack_int* info );

#define LAPACK_dgehrd LAPACK_GLOBAL_SUFFIX(dgehrd,DGEHRD)
void LAPACK_dgehrd(
    lapack_int const* n, lapack_int const* ilo, lapack_int const* ihi,
    double* A, lapack_int const* lda,
    double* tau,
    double* work, lapack_int const* lwork,
    lapack_int* info );

#define LAPACK_sgehrd LAPACK_GLOBAL_SUFFIX(sgehrd,SGEHRD)
void LAPACK_sgehrd(
    lapack_int const* n, lapack_int const* ilo, lapack_int const* ihi,
    float* A, lapack_int const* lda,
    float* tau,
    float* work, lapack_int const* lwork,
    lapack_int* info );

#define LAPACK_zgehrd LAPACK_GLOBAL_SUFFIX(zgehrd,ZGEHRD)
void LAPACK_zgehrd(
    lapack_int const* n, lapack_int const* ilo, lapack_int const* ihi,
    lapack_complex_double* A, lapack_int const* lda,
    lapack_complex_double* tau,
    lapack_complex_double* work, lapack_int const* lwork,
    lapack_int* info );

#define LAPACK_cgejsv_base LAPACK_GLOBAL_SUFFIX(cgejsv,CGEJSV)
void LAPACK_cgejsv_base(
    char const* joba, char const* jobu, char const* jobv, char const* jobr, char const* jobt, char const* jobp,
    lapack_int const* m, lapack_int const* n,
    lapack_complex_float* A, lapack_int const* lda,
    float* SVA,
    lapack_complex_float* U, lapack_int const* ldu,
    lapack_complex_float* V, lapack_int const* ldv,
    lapack_complex_float* cwork, lapack_int const* lwork,
    float* rwork, lapack_int const* lrwork,
    lapack_int* iwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN, FORTRAN_STRLEN, FORTRAN_STRLEN, FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_cgejsv(...) LAPACK_cgejsv_base(__VA_ARGS__, 1, 1, 1, 1, 1, 1)
#else
    #define LAPACK_cgejsv(...) LAPACK_cgejsv_base(__VA_ARGS__)
#endif

#define LAPACK_dgejsv_base LAPACK_GLOBAL_SUFFIX(dgejsv,DGEJSV)
void LAPACK_dgejsv_base(
    char const* joba, char const* jobu, char const* jobv, char const* jobr, char const* jobt, char const* jobp,
    lapack_int const* m, lapack_int const* n,
    double* A, lapack_int const* lda,
    double* SVA,
    double* U, lapack_int const* ldu,
    double* V, lapack_int const* ldv,
    double* work, lapack_int const* lwork,
    lapack_int* iwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN, FORTRAN_STRLEN, FORTRAN_STRLEN, FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_dgejsv(...) LAPACK_dgejsv_base(__VA_ARGS__, 1, 1, 1, 1, 1, 1)
#else
    #define LAPACK_dgejsv(...) LAPACK_dgejsv_base(__VA_ARGS__)
#endif

#define LAPACK_sgejsv_base LAPACK_GLOBAL_SUFFIX(sgejsv,SGEJSV)
void LAPACK_sgejsv_base(
    char const* joba, char const* jobu, char const* jobv, char const* jobr, char const* jobt, char const* jobp,
    lapack_int const* m, lapack_int const* n,
    float* A, lapack_int const* lda,
    float* SVA,
    float* U, lapack_int const* ldu,
    float* V, lapack_int const* ldv,
    float* work, lapack_int const* lwork,
    lapack_int* iwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN, FORTRAN_STRLEN, FORTRAN_STRLEN, FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_sgejsv(...) LAPACK_sgejsv_base(__VA_ARGS__, 1, 1, 1, 1, 1, 1)
#else
    #define LAPACK_sgejsv(...) LAPACK_sgejsv_base(__VA_ARGS__)
#endif

#define LAPACK_zgejsv_base LAPACK_GLOBAL_SUFFIX(zgejsv,ZGEJSV)
void LAPACK_zgejsv_base(
    char const* joba, char const* jobu, char const* jobv, char const* jobr, char const* jobt, char const* jobp,
    lapack_int const* m, lapack_int const* n,
    lapack_complex_double* A, lapack_int const* lda,
    double* SVA,
    lapack_complex_double* U, lapack_int const* ldu,
    lapack_complex_double* V, lapack_int const* ldv,
    lapack_complex_double* cwork, lapack_int const* lwork,
    double* rwork, lapack_int const* lrwork,
    lapack_int* iwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN, FORTRAN_STRLEN, FORTRAN_STRLEN, FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_zgejsv(...) LAPACK_zgejsv_base(__VA_ARGS__, 1, 1, 1, 1, 1, 1)
#else
    #define LAPACK_zgejsv(...) LAPACK_zgejsv_base(__VA_ARGS__)
#endif

#define LAPACK_cgelq LAPACK_GLOBAL_SUFFIX(cgelq,CGELQ)
void LAPACK_cgelq(
    lapack_int const* m, lapack_int const* n,
    lapack_complex_float* A, lapack_int const* lda,
    lapack_complex_float* T, lapack_int const* tsize,
    lapack_complex_float* work, lapack_int const* lwork,
    lapack_int* info );

#define LAPACK_dgelq LAPACK_GLOBAL_SUFFIX(dgelq,DGELQ)
void LAPACK_dgelq(
    lapack_int const* m, lapack_int const* n,
    double* A, lapack_int const* lda,
    double* T, lapack_int const* tsize,
    double* work, lapack_int const* lwork,
    lapack_int* info );

#define LAPACK_sgelq LAPACK_GLOBAL_SUFFIX(sgelq,SGELQ)
void LAPACK_sgelq(
    lapack_int const* m, lapack_int const* n,
    float* A, lapack_int const* lda,
    float* T, lapack_int const* tsize,
    float* work, lapack_int const* lwork,
    lapack_int* info );

#define LAPACK_zgelq LAPACK_GLOBAL_SUFFIX(zgelq,ZGELQ)
void LAPACK_zgelq(
    lapack_int const* m, lapack_int const* n,
    lapack_complex_double* A, lapack_int const* lda,
    lapack_complex_double* T, lapack_int const* tsize,
    lapack_complex_double* work, lapack_int const* lwork,
    lapack_int* info );

#define LAPACK_cgelq2 LAPACK_GLOBAL_SUFFIX(cgelq2,CGELQ2)
void LAPACK_cgelq2(
    lapack_int const* m, lapack_int const* n,
    lapack_complex_float* A, lapack_int const* lda,
    lapack_complex_float* tau,
    lapack_complex_float* work,
    lapack_int* info );

#define LAPACK_dgelq2 LAPACK_GLOBAL_SUFFIX(dgelq2,DGELQ2)
void LAPACK_dgelq2(
    lapack_int const* m, lapack_int const* n,
    double* A, lapack_int const* lda,
    double* tau,
    double* work,
    lapack_int* info );

#define LAPACK_sgelq2 LAPACK_GLOBAL_SUFFIX(sgelq2,SGELQ2)
void LAPACK_sgelq2(
    lapack_int const* m, lapack_int const* n,
    float* A, lapack_int const* lda,
    float* tau,
    float* work,
    lapack_int* info );

#define LAPACK_zgelq2 LAPACK_GLOBAL_SUFFIX(zgelq2,ZGELQ2)
void LAPACK_zgelq2(
    lapack_int const* m, lapack_int const* n,
    lapack_complex_double* A, lapack_int const* lda,
    lapack_complex_double* tau,
    lapack_complex_double* work,
    lapack_int* info );

#define LAPACK_cgelqf LAPACK_GLOBAL_SUFFIX(cgelqf,CGELQF)
void LAPACK_cgelqf(
    lapack_int const* m, lapack_int const* n,
    lapack_complex_float* A, lapack_int const* lda,
    lapack_complex_float* tau,
    lapack_complex_float* work, lapack_int const* lwork,
    lapack_int* info );

#define LAPACK_dgelqf LAPACK_GLOBAL_SUFFIX(dgelqf,DGELQF)
void LAPACK_dgelqf(
    lapack_int const* m, lapack_int const* n,
    double* A, lapack_int const* lda,
    double* tau,
    double* work, lapack_int const* lwork,
    lapack_int* info );

#define LAPACK_sgelqf LAPACK_GLOBAL_SUFFIX(sgelqf,SGELQF)
void LAPACK_sgelqf(
    lapack_int const* m, lapack_int const* n,
    float* A, lapack_int const* lda,
    float* tau,
    float* work, lapack_int const* lwork,
    lapack_int* info );

#define LAPACK_zgelqf LAPACK_GLOBAL_SUFFIX(zgelqf,ZGELQF)
void LAPACK_zgelqf(
    lapack_int const* m, lapack_int const* n,
    lapack_complex_double* A, lapack_int const* lda,
    lapack_complex_double* tau,
    lapack_complex_double* work, lapack_int const* lwork,
    lapack_int* info );

#define LAPACK_cgels_base LAPACK_GLOBAL_SUFFIX(cgels,CGELS)
void LAPACK_cgels_base(
    char const* trans,
    lapack_int const* m, lapack_int const* n, lapack_int const* nrhs,
    lapack_complex_float* A, lapack_int const* lda,
    lapack_complex_float* B, lapack_int const* ldb,
    lapack_complex_float* work, lapack_int const* lwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_cgels(...) LAPACK_cgels_base(__VA_ARGS__, 1)
#else
    #define LAPACK_cgels(...) LAPACK_cgels_base(__VA_ARGS__)
#endif

#define LAPACK_dgels_base LAPACK_GLOBAL_SUFFIX(dgels,DGELS)
void LAPACK_dgels_base(
    char const* trans,
    lapack_int const* m, lapack_int const* n, lapack_int const* nrhs,
    double* A, lapack_int const* lda,
    double* B, lapack_int const* ldb,
    double* work, lapack_int const* lwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_dgels(...) LAPACK_dgels_base(__VA_ARGS__, 1)
#else
    #define LAPACK_dgels(...) LAPACK_dgels_base(__VA_ARGS__)
#endif

#define LAPACK_sgels_base LAPACK_GLOBAL_SUFFIX(sgels,SGELS)
void LAPACK_sgels_base(
    char const* trans,
    lapack_int const* m, lapack_int const* n, lapack_int const* nrhs,
    float* A, lapack_int const* lda,
    float* B, lapack_int const* ldb,
    float* work, lapack_int const* lwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_sgels(...) LAPACK_sgels_base(__VA_ARGS__, 1)
#else
    #define LAPACK_sgels(...) LAPACK_sgels_base(__VA_ARGS__)
#endif

#define LAPACK_zgels_base LAPACK_GLOBAL_SUFFIX(zgels,ZGELS)
void LAPACK_zgels_base(
    char const* trans,
    lapack_int const* m, lapack_int const* n, lapack_int const* nrhs,
    lapack_complex_double* A, lapack_int const* lda,
    lapack_complex_double* B, lapack_int const* ldb,
    lapack_complex_double* work, lapack_int const* lwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_zgels(...) LAPACK_zgels_base(__VA_ARGS__, 1)
#else
    #define LAPACK_zgels(...) LAPACK_zgels_base(__VA_ARGS__)
#endif

#define LAPACK_cgelsd LAPACK_GLOBAL_SUFFIX(cgelsd,CGELSD)
void LAPACK_cgelsd(
    lapack_int const* m, lapack_int const* n, lapack_int const* nrhs,
    lapack_complex_float* A, lapack_int const* lda,
    lapack_complex_float* B, lapack_int const* ldb,
    float* S,
    float const* rcond, lapack_int* rank,
    lapack_complex_float* work, lapack_int const* lwork,
    float* rwork,
    lapack_int* iwork,
    lapack_int* info );

#define LAPACK_dgelsd LAPACK_GLOBAL_SUFFIX(dgelsd,DGELSD)
void LAPACK_dgelsd(
    lapack_int const* m, lapack_int const* n, lapack_int const* nrhs,
    double* A, lapack_int const* lda,
    double* B, lapack_int const* ldb,
    double* S,
    double const* rcond, lapack_int* rank,
    double* work, lapack_int const* lwork,
    lapack_int* iwork,
    lapack_int* info );

#define LAPACK_sgelsd LAPACK_GLOBAL_SUFFIX(sgelsd,SGELSD)
void LAPACK_sgelsd(
    lapack_int const* m, lapack_int const* n, lapack_int const* nrhs,
    float* A, lapack_int const* lda,
    float* B, lapack_int const* ldb,
    float* S,
    float const* rcond, lapack_int* rank,
    float* work, lapack_int const* lwork,
    lapack_int* iwork,
    lapack_int* info );

#define LAPACK_zgelsd LAPACK_GLOBAL_SUFFIX(zgelsd,ZGELSD)
void LAPACK_zgelsd(
    lapack_int const* m, lapack_int const* n, lapack_int const* nrhs,
    lapack_complex_double* A, lapack_int const* lda,
    lapack_complex_double* B, lapack_int const* ldb,
    double* S,
    double const* rcond, lapack_int* rank,
    lapack_complex_double* work, lapack_int const* lwork,
    double* rwork,
    lapack_int* iwork,
    lapack_int* info );

#define LAPACK_cgelss LAPACK_GLOBAL_SUFFIX(cgelss,CGELSS)
void LAPACK_cgelss(
    lapack_int const* m, lapack_int const* n, lapack_int const* nrhs,
    lapack_complex_float* A, lapack_int const* lda,
    lapack_complex_float* B, lapack_int const* ldb,
    float* S,
    float const* rcond, lapack_int* rank,
    lapack_complex_float* work, lapack_int const* lwork,
    float* rwork,
    lapack_int* info );

#define LAPACK_dgelss LAPACK_GLOBAL_SUFFIX(dgelss,DGELSS)
void LAPACK_dgelss(
    lapack_int const* m, lapack_int const* n, lapack_int const* nrhs,
    double* A, lapack_int const* lda,
    double* B, lapack_int const* ldb,
    double* S,
    double const* rcond, lapack_int* rank,
    double* work, lapack_int const* lwork,
    lapack_int* info );

#define LAPACK_sgelss LAPACK_GLOBAL_SUFFIX(sgelss,SGELSS)
void LAPACK_sgelss(
    lapack_int const* m, lapack_int const* n, lapack_int const* nrhs,
    float* A, lapack_int const* lda,
    float* B, lapack_int const* ldb,
    float* S,
    float const* rcond, lapack_int* rank,
    float* work, lapack_int const* lwork,
    lapack_int* info );

#define LAPACK_zgelss LAPACK_GLOBAL_SUFFIX(zgelss,ZGELSS)
void LAPACK_zgelss(
    lapack_int const* m, lapack_int const* n, lapack_int const* nrhs,
    lapack_complex_double* A, lapack_int const* lda,
    lapack_complex_double* B, lapack_int const* ldb,
    double* S,
    double const* rcond, lapack_int* rank,
    lapack_complex_double* work, lapack_int const* lwork,
    double* rwork,
    lapack_int* info );

#define LAPACK_cgelsy LAPACK_GLOBAL_SUFFIX(cgelsy,CGELSY)
void LAPACK_cgelsy(
    lapack_int const* m, lapack_int const* n, lapack_int const* nrhs,
    lapack_complex_float* A, lapack_int const* lda,
    lapack_complex_float* B, lapack_int const* ldb, lapack_int* JPVT,
    float const* rcond, lapack_int* rank,
    lapack_complex_float* work, lapack_int const* lwork,
    float* rwork,
    lapack_int* info );

#define LAPACK_dgelsy LAPACK_GLOBAL_SUFFIX(dgelsy,DGELSY)
void LAPACK_dgelsy(
    lapack_int const* m, lapack_int const* n, lapack_int const* nrhs,
    double* A, lapack_int const* lda,
    double* B, lapack_int const* ldb, lapack_int* JPVT,
    double const* rcond, lapack_int* rank,
    double* work, lapack_int const* lwork,
    lapack_int* info );

#define LAPACK_sgelsy LAPACK_GLOBAL_SUFFIX(sgelsy,SGELSY)
void LAPACK_sgelsy(
    lapack_int const* m, lapack_int const* n, lapack_int const* nrhs,
    float* A, lapack_int const* lda,
    float* B, lapack_int const* ldb, lapack_int* JPVT,
    float const* rcond, lapack_int* rank,
    float* work, lapack_int const* lwork,
    lapack_int* info );

#define LAPACK_zgelsy LAPACK_GLOBAL_SUFFIX(zgelsy,ZGELSY)
void LAPACK_zgelsy(
    lapack_int const* m, lapack_int const* n, lapack_int const* nrhs,
    lapack_complex_double* A, lapack_int const* lda,
    lapack_complex_double* B, lapack_int const* ldb, lapack_int* JPVT,
    double const* rcond, lapack_int* rank,
    lapack_complex_double* work, lapack_int const* lwork,
    double* rwork,
    lapack_int* info );

#define LAPACK_cgemlq_base LAPACK_GLOBAL_SUFFIX(cgemlq,CGEMLQ)
void LAPACK_cgemlq_base(
    char const* side, char const* trans,
    lapack_int const* m, lapack_int const* n, lapack_int const* k,
    lapack_complex_float const* A, lapack_int const* lda,
    lapack_complex_float const* T, lapack_int const* tsize,
    lapack_complex_float* C, lapack_int const* ldc,
    lapack_complex_float* work, lapack_int const* lwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_cgemlq(...) LAPACK_cgemlq_base(__VA_ARGS__, 1, 1)
#else
    #define LAPACK_cgemlq(...) LAPACK_cgemlq_base(__VA_ARGS__)
#endif

#define LAPACK_dgemlq_base LAPACK_GLOBAL_SUFFIX(dgemlq,DGEMLQ)
void LAPACK_dgemlq_base(
    char const* side, char const* trans,
    lapack_int const* m, lapack_int const* n, lapack_int const* k,
    double const* A, lapack_int const* lda,
    double const* T, lapack_int const* tsize,
    double* C, lapack_int const* ldc,
    double* work, lapack_int const* lwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_dgemlq(...) LAPACK_dgemlq_base(__VA_ARGS__, 1, 1)
#else
    #define LAPACK_dgemlq(...) LAPACK_dgemlq_base(__VA_ARGS__)
#endif

#define LAPACK_sgemlq_base LAPACK_GLOBAL_SUFFIX(sgemlq,SGEMLQ)
void LAPACK_sgemlq_base(
    char const* side, char const* trans,
    lapack_int const* m, lapack_int const* n, lapack_int const* k,
    float const* A, lapack_int const* lda,
    float const* T, lapack_int const* tsize,
    float* C, lapack_int const* ldc,
    float* work, lapack_int const* lwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_sgemlq(...) LAPACK_sgemlq_base(__VA_ARGS__, 1, 1)
#else
    #define LAPACK_sgemlq(...) LAPACK_sgemlq_base(__VA_ARGS__)
#endif

#define LAPACK_zgemlq_base LAPACK_GLOBAL_SUFFIX(zgemlq,ZGEMLQ)
void LAPACK_zgemlq_base(
    char const* side, char const* trans,
    lapack_int const* m, lapack_int const* n, lapack_int const* k,
    lapack_complex_double const* A, lapack_int const* lda,
    lapack_complex_double const* T, lapack_int const* tsize,
    lapack_complex_double* C, lapack_int const* ldc,
    lapack_complex_double* work, lapack_int const* lwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_zgemlq(...) LAPACK_zgemlq_base(__VA_ARGS__, 1, 1)
#else
    #define LAPACK_zgemlq(...) LAPACK_zgemlq_base(__VA_ARGS__)
#endif

#define LAPACK_cgemqr_base LAPACK_GLOBAL_SUFFIX(cgemqr,CGEMQR)
void LAPACK_cgemqr_base(
    char const* side, char const* trans,
    lapack_int const* m, lapack_int const* n, lapack_int const* k,
    lapack_complex_float const* A, lapack_int const* lda,
    lapack_complex_float const* T, lapack_int const* tsize,
    lapack_complex_float* C, lapack_int const* ldc,
    lapack_complex_float* work, lapack_int const* lwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_cgemqr(...) LAPACK_cgemqr_base(__VA_ARGS__, 1, 1)
#else
    #define LAPACK_cgemqr(...) LAPACK_cgemqr_base(__VA_ARGS__)
#endif

#define LAPACK_dgemqr_base LAPACK_GLOBAL_SUFFIX(dgemqr,DGEMQR)
void LAPACK_dgemqr_base(
    char const* side, char const* trans,
    lapack_int const* m, lapack_int const* n, lapack_int const* k,
    double const* A, lapack_int const* lda,
    double const* T, lapack_int const* tsize,
    double* C, lapack_int const* ldc,
    double* work, lapack_int const* lwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_dgemqr(...) LAPACK_dgemqr_base(__VA_ARGS__, 1, 1)
#else
    #define LAPACK_dgemqr(...) LAPACK_dgemqr_base(__VA_ARGS__)
#endif

#define LAPACK_sgemqr_base LAPACK_GLOBAL_SUFFIX(sgemqr,SGEMQR)
void LAPACK_sgemqr_base(
    char const* side, char const* trans,
    lapack_int const* m, lapack_int const* n, lapack_int const* k,
    float const* A, lapack_int const* lda,
    float const* T, lapack_int const* tsize,
    float* C, lapack_int const* ldc,
    float* work, lapack_int const* lwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_sgemqr(...) LAPACK_sgemqr_base(__VA_ARGS__, 1, 1)
#else
    #define LAPACK_sgemqr(...) LAPACK_sgemqr_base(__VA_ARGS__)
#endif

#define LAPACK_zgemqr_base LAPACK_GLOBAL_SUFFIX(zgemqr,ZGEMQR)
void LAPACK_zgemqr_base(
    char const* side, char const* trans,
    lapack_int const* m, lapack_int const* n, lapack_int const* k,
    lapack_complex_double const* A, lapack_int const* lda,
    lapack_complex_double const* T, lapack_int const* tsize,
    lapack_complex_double* C, lapack_int const* ldc,
    lapack_complex_double* work, lapack_int const* lwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_zgemqr(...) LAPACK_zgemqr_base(__VA_ARGS__, 1, 1)
#else
    #define LAPACK_zgemqr(...) LAPACK_zgemqr_base(__VA_ARGS__)
#endif

#define LAPACK_cgemqrt_base LAPACK_GLOBAL_SUFFIX(cgemqrt,CGEMQRT)
void LAPACK_cgemqrt_base(
    char const* side, char const* trans,
    lapack_int const* m, lapack_int const* n, lapack_int const* k, lapack_int const* nb,
    lapack_complex_float const* V, lapack_int const* ldv,
    lapack_complex_float const* T, lapack_int const* ldt,
    lapack_complex_float* C, lapack_int const* ldc,
    lapack_complex_float* work,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_cgemqrt(...) LAPACK_cgemqrt_base(__VA_ARGS__, 1, 1)
#else
    #define LAPACK_cgemqrt(...) LAPACK_cgemqrt_base(__VA_ARGS__)
#endif

#define LAPACK_dgemqrt_base LAPACK_GLOBAL_SUFFIX(dgemqrt,DGEMQRT)
void LAPACK_dgemqrt_base(
    char const* side, char const* trans,
    lapack_int const* m, lapack_int const* n, lapack_int const* k, lapack_int const* nb,
    double const* V, lapack_int const* ldv,
    double const* T, lapack_int const* ldt,
    double* C, lapack_int const* ldc,
    double* work,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_dgemqrt(...) LAPACK_dgemqrt_base(__VA_ARGS__, 1, 1)
#else
    #define LAPACK_dgemqrt(...) LAPACK_dgemqrt_base(__VA_ARGS__)
#endif

#define LAPACK_sgemqrt_base LAPACK_GLOBAL_SUFFIX(sgemqrt,SGEMQRT)
void LAPACK_sgemqrt_base(
    char const* side, char const* trans,
    lapack_int const* m, lapack_int const* n, lapack_int const* k, lapack_int const* nb,
    float const* V, lapack_int const* ldv,
    float const* T, lapack_int const* ldt,
    float* C, lapack_int const* ldc,
    float* work,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_sgemqrt(...) LAPACK_sgemqrt_base(__VA_ARGS__, 1, 1)
#else
    #define LAPACK_sgemqrt(...) LAPACK_sgemqrt_base(__VA_ARGS__)
#endif

#define LAPACK_zgemqrt_base LAPACK_GLOBAL_SUFFIX(zgemqrt,ZGEMQRT)
void LAPACK_zgemqrt_base(
    char const* side, char const* trans,
    lapack_int const* m, lapack_int const* n, lapack_int const* k, lapack_int const* nb,
    lapack_complex_double const* V, lapack_int const* ldv,
    lapack_complex_double const* T, lapack_int const* ldt,
    lapack_complex_double* C, lapack_int const* ldc,
    lapack_complex_double* work,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_zgemqrt(...) LAPACK_zgemqrt_base(__VA_ARGS__, 1, 1)
#else
    #define LAPACK_zgemqrt(...) LAPACK_zgemqrt_base(__VA_ARGS__)
#endif

#define LAPACK_cgeql2 LAPACK_GLOBAL_SUFFIX(cgeql2,CGEQL2)
void LAPACK_cgeql2(
    lapack_int const* m, lapack_int const* n,
    lapack_complex_float* A, lapack_int const* lda,
    lapack_complex_float* tau,
    lapack_complex_float* work,
    lapack_int* info );

#define LAPACK_dgeql2 LAPACK_GLOBAL_SUFFIX(dgeql2,DGEQL2)
void LAPACK_dgeql2(
    lapack_int const* m, lapack_int const* n,
    double* A, lapack_int const* lda,
    double* tau,
    double* work,
    lapack_int* info );

#define LAPACK_sgeql2 LAPACK_GLOBAL_SUFFIX(sgeql2,SGEQL2)
void LAPACK_sgeql2(
    lapack_int const* m, lapack_int const* n,
    float* A, lapack_int const* lda,
    float* tau,
    float* work,
    lapack_int* info );

#define LAPACK_zgeql2 LAPACK_GLOBAL_SUFFIX(zgeql2,ZGEQL2)
void LAPACK_zgeql2(
    lapack_int const* m, lapack_int const* n,
    lapack_complex_double* A, lapack_int const* lda,
    lapack_complex_double* tau,
    lapack_complex_double* work,
    lapack_int* info );

#define LAPACK_cgeqlf LAPACK_GLOBAL_SUFFIX(cgeqlf,CGEQLF)
void LAPACK_cgeqlf(
    lapack_int const* m, lapack_int const* n,
    lapack_complex_float* A, lapack_int const* lda,
    lapack_complex_float* tau,
    lapack_complex_float* work, lapack_int const* lwork,
    lapack_int* info );

#define LAPACK_dgeqlf LAPACK_GLOBAL_SUFFIX(dgeqlf,DGEQLF)
void LAPACK_dgeqlf(
    lapack_int const* m, lapack_int const* n,
    double* A, lapack_int const* lda,
    double* tau,
    double* work, lapack_int const* lwork,
    lapack_int* info );

#define LAPACK_sgeqlf LAPACK_GLOBAL_SUFFIX(sgeqlf,SGEQLF)
void LAPACK_sgeqlf(
    lapack_int const* m, lapack_int const* n,
    float* A, lapack_int const* lda,
    float* tau,
    float* work, lapack_int const* lwork,
    lapack_int* info );

#define LAPACK_zgeqlf LAPACK_GLOBAL_SUFFIX(zgeqlf,ZGEQLF)
void LAPACK_zgeqlf(
    lapack_int const* m, lapack_int const* n,
    lapack_complex_double* A, lapack_int const* lda,
    lapack_complex_double* tau,
    lapack_complex_double* work, lapack_int const* lwork,
    lapack_int* info );

#define LAPACK_sgeqpf LAPACK_GLOBAL_SUFFIX(sgeqpf,SGEQPF)
void LAPACK_sgeqpf( lapack_int* m, lapack_int* n, float* a, lapack_int* lda,
                    lapack_int* jpvt, float* tau, float* work,
                    lapack_int *info );

#define LAPACK_dgeqpf LAPACK_GLOBAL_SUFFIX(dgeqpf,DGEQPF)
void LAPACK_dgeqpf( lapack_int* m, lapack_int* n, double* a, lapack_int* lda,
                    lapack_int* jpvt, double* tau, double* work,
                    lapack_int *info );

#define LAPACK_cgeqpf LAPACK_GLOBAL_SUFFIX(cgeqpf,CGEQPF)
void LAPACK_cgeqpf( lapack_int* m, lapack_int* n, lapack_complex_float* a,
                    lapack_int* lda, lapack_int* jpvt,
                    lapack_complex_float* tau, lapack_complex_float* work,
                    float* rwork, lapack_int *info );

#define LAPACK_zgeqpf LAPACK_GLOBAL_SUFFIX(zgeqpf,ZGEQPF)
void LAPACK_zgeqpf( lapack_int* m, lapack_int* n, lapack_complex_double* a,
                    lapack_int* lda, lapack_int* jpvt,
                    lapack_complex_double* tau, lapack_complex_double* work,
                    double* rwork, lapack_int *info );

#define LAPACK_cgeqp3 LAPACK_GLOBAL_SUFFIX(cgeqp3,CGEQP3)
void LAPACK_cgeqp3(
    lapack_int const* m, lapack_int const* n,
    lapack_complex_float* A, lapack_int const* lda, lapack_int* JPVT,
    lapack_complex_float* tau,
    lapack_complex_float* work, lapack_int const* lwork,
    float* rwork,
    lapack_int* info );

#define LAPACK_dgeqp3 LAPACK_GLOBAL_SUFFIX(dgeqp3,DGEQP3)
void LAPACK_dgeqp3(
    lapack_int const* m, lapack_int const* n,
    double* A, lapack_int const* lda, lapack_int* JPVT,
    double* tau,
    double* work, lapack_int const* lwork,
    lapack_int* info );

#define LAPACK_sgeqp3 LAPACK_GLOBAL_SUFFIX(sgeqp3,SGEQP3)
void LAPACK_sgeqp3(
    lapack_int const* m, lapack_int const* n,
    float* A, lapack_int const* lda, lapack_int* JPVT,
    float* tau,
    float* work, lapack_int const* lwork,
    lapack_int* info );

#define LAPACK_zgeqp3 LAPACK_GLOBAL_SUFFIX(zgeqp3,ZGEQP3)
void LAPACK_zgeqp3(
    lapack_int const* m, lapack_int const* n,
    lapack_complex_double* A, lapack_int const* lda, lapack_int* JPVT,
    lapack_complex_double* tau,
    lapack_complex_double* work, lapack_int const* lwork,
    double* rwork,
    lapack_int* info );

#define LAPACK_cgeqr LAPACK_GLOBAL_SUFFIX(cgeqr,CGEQR)
void LAPACK_cgeqr(
    lapack_int const* m, lapack_int const* n,
    lapack_complex_float* A, lapack_int const* lda,
    lapack_complex_float* T, lapack_int const* tsize,
    lapack_complex_float* work, lapack_int const* lwork,
    lapack_int* info );

#define LAPACK_dgeqr LAPACK_GLOBAL_SUFFIX(dgeqr,DGEQR)
void LAPACK_dgeqr(
    lapack_int const* m, lapack_int const* n,
    double* A, lapack_int const* lda,
    double* T, lapack_int const* tsize,
    double* work, lapack_int const* lwork,
    lapack_int* info );

#define LAPACK_sgeqr LAPACK_GLOBAL_SUFFIX(sgeqr,SGEQR)
void LAPACK_sgeqr(
    lapack_int const* m, lapack_int const* n,
    float* A, lapack_int const* lda,
    float* T, lapack_int const* tsize,
    float* work, lapack_int const* lwork,
    lapack_int* info );

#define LAPACK_zgeqr LAPACK_GLOBAL_SUFFIX(zgeqr,ZGEQR)
void LAPACK_zgeqr(
    lapack_int const* m, lapack_int const* n,
    lapack_complex_double* A, lapack_int const* lda,
    lapack_complex_double* T, lapack_int const* tsize,
    lapack_complex_double* work, lapack_int const* lwork,
    lapack_int* info );

#define LAPACK_cgeqr2 LAPACK_GLOBAL_SUFFIX(cgeqr2,CGEQR2)
void LAPACK_cgeqr2(
    lapack_int const* m, lapack_int const* n,
    lapack_complex_float* A, lapack_int const* lda,
    lapack_complex_float* tau,
    lapack_complex_float* work,
    lapack_int* info );

#define LAPACK_dgeqr2 LAPACK_GLOBAL_SUFFIX(dgeqr2,DGEQR2)
void LAPACK_dgeqr2(
    lapack_int const* m, lapack_int const* n,
    double* A, lapack_int const* lda,
    double* tau,
    double* work,
    lapack_int* info );

#define LAPACK_sgeqr2 LAPACK_GLOBAL_SUFFIX(sgeqr2,SGEQR2)
void LAPACK_sgeqr2(
    lapack_int const* m, lapack_int const* n,
    float* A, lapack_int const* lda,
    float* tau,
    float* work,
    lapack_int* info );

#define LAPACK_zgeqr2 LAPACK_GLOBAL_SUFFIX(zgeqr2,ZGEQR2)
void LAPACK_zgeqr2(
    lapack_int const* m, lapack_int const* n,
    lapack_complex_double* A, lapack_int const* lda,
    lapack_complex_double* tau,
    lapack_complex_double* work,
    lapack_int* info );

#define LAPACK_cgeqrf LAPACK_GLOBAL_SUFFIX(cgeqrf,CGEQRF)
void LAPACK_cgeqrf(
    lapack_int const* m, lapack_int const* n,
    lapack_complex_float* A, lapack_int const* lda,
    lapack_complex_float* tau,
    lapack_complex_float* work, lapack_int const* lwork,
    lapack_int* info );

#define LAPACK_dgeqrf LAPACK_GLOBAL_SUFFIX(dgeqrf,DGEQRF)
void LAPACK_dgeqrf(
    lapack_int const* m, lapack_int const* n,
    double* A, lapack_int const* lda,
    double* tau,
    double* work, lapack_int const* lwork,
    lapack_int* info );

#define LAPACK_sgeqrf LAPACK_GLOBAL_SUFFIX(sgeqrf,SGEQRF)
void LAPACK_sgeqrf(
    lapack_int const* m, lapack_int const* n,
    float* A, lapack_int const* lda,
    float* tau,
    float* work, lapack_int const* lwork,
    lapack_int* info );

#define LAPACK_zgeqrf LAPACK_GLOBAL_SUFFIX(zgeqrf,ZGEQRF)
void LAPACK_zgeqrf(
    lapack_int const* m, lapack_int const* n,
    lapack_complex_double* A, lapack_int const* lda,
    lapack_complex_double* tau,
    lapack_complex_double* work, lapack_int const* lwork,
    lapack_int* info );

#define LAPACK_cgeqrfp LAPACK_GLOBAL_SUFFIX(cgeqrfp,CGEQRFP)
void LAPACK_cgeqrfp(
    lapack_int const* m, lapack_int const* n,
    lapack_complex_float* A, lapack_int const* lda,
    lapack_complex_float* tau,
    lapack_complex_float* work, lapack_int const* lwork,
    lapack_int* info );

#define LAPACK_dgeqrfp LAPACK_GLOBAL_SUFFIX(dgeqrfp,DGEQRFP)
void LAPACK_dgeqrfp(
    lapack_int const* m, lapack_int const* n,
    double* A, lapack_int const* lda,
    double* tau,
    double* work, lapack_int const* lwork,
    lapack_int* info );

#define LAPACK_sgeqrfp LAPACK_GLOBAL_SUFFIX(sgeqrfp,SGEQRFP)
void LAPACK_sgeqrfp(
    lapack_int const* m, lapack_int const* n,
    float* A, lapack_int const* lda,
    float* tau,
    float* work, lapack_int const* lwork,
    lapack_int* info );

#define LAPACK_zgeqrfp LAPACK_GLOBAL_SUFFIX(zgeqrfp,ZGEQRFP)
void LAPACK_zgeqrfp(
    lapack_int const* m, lapack_int const* n,
    lapack_complex_double* A, lapack_int const* lda,
    lapack_complex_double* tau,
    lapack_complex_double* work, lapack_int const* lwork,
    lapack_int* info );

#define LAPACK_cgeqrt LAPACK_GLOBAL_SUFFIX(cgeqrt,CGEQRT)
void LAPACK_cgeqrt(
    lapack_int const* m, lapack_int const* n, lapack_int const* nb,
    lapack_complex_float* A, lapack_int const* lda,
    lapack_complex_float* T, lapack_int const* ldt,
    lapack_complex_float* work,
    lapack_int* info );

#define LAPACK_dgeqrt LAPACK_GLOBAL_SUFFIX(dgeqrt,DGEQRT)
void LAPACK_dgeqrt(
    lapack_int const* m, lapack_int const* n, lapack_int const* nb,
    double* A, lapack_int const* lda,
    double* T, lapack_int const* ldt,
    double* work,
    lapack_int* info );

#define LAPACK_sgeqrt LAPACK_GLOBAL_SUFFIX(sgeqrt,SGEQRT)
void LAPACK_sgeqrt(
    lapack_int const* m, lapack_int const* n, lapack_int const* nb,
    float* A, lapack_int const* lda,
    float* T, lapack_int const* ldt,
    float* work,
    lapack_int* info );

#define LAPACK_zgeqrt LAPACK_GLOBAL_SUFFIX(zgeqrt,ZGEQRT)
void LAPACK_zgeqrt(
    lapack_int const* m, lapack_int const* n, lapack_int const* nb,
    lapack_complex_double* A, lapack_int const* lda,
    lapack_complex_double* T, lapack_int const* ldt,
    lapack_complex_double* work,
    lapack_int* info );

#define LAPACK_cgeqrt2 LAPACK_GLOBAL_SUFFIX(cgeqrt2,CGEQRT2)
void LAPACK_cgeqrt2(
    lapack_int const* m, lapack_int const* n,
    lapack_complex_float* A, lapack_int const* lda,
    lapack_complex_float* T, lapack_int const* ldt,
    lapack_int* info );

#define LAPACK_dgeqrt2 LAPACK_GLOBAL_SUFFIX(dgeqrt2,DGEQRT2)
void LAPACK_dgeqrt2(
    lapack_int const* m, lapack_int const* n,
    double* A, lapack_int const* lda,
    double* T, lapack_int const* ldt,
    lapack_int* info );

#define LAPACK_sgeqrt2 LAPACK_GLOBAL_SUFFIX(sgeqrt2,SGEQRT2)
void LAPACK_sgeqrt2(
    lapack_int const* m, lapack_int const* n,
    float* A, lapack_int const* lda,
    float* T, lapack_int const* ldt,
    lapack_int* info );

#define LAPACK_zgeqrt2 LAPACK_GLOBAL_SUFFIX(zgeqrt2,ZGEQRT2)
void LAPACK_zgeqrt2(
    lapack_int const* m, lapack_int const* n,
    lapack_complex_double* A, lapack_int const* lda,
    lapack_complex_double* T, lapack_int const* ldt,
    lapack_int* info );

#define LAPACK_cgeqrt3 LAPACK_GLOBAL_SUFFIX(cgeqrt3,CGEQRT3)
void LAPACK_cgeqrt3(
    lapack_int const* m, lapack_int const* n,
    lapack_complex_float* A, lapack_int const* lda,
    lapack_complex_float* T, lapack_int const* ldt,
    lapack_int* info );

#define LAPACK_dgeqrt3 LAPACK_GLOBAL_SUFFIX(dgeqrt3,DGEQRT3)
void LAPACK_dgeqrt3(
    lapack_int const* m, lapack_int const* n,
    double* A, lapack_int const* lda,
    double* T, lapack_int const* ldt,
    lapack_int* info );

#define LAPACK_sgeqrt3 LAPACK_GLOBAL_SUFFIX(sgeqrt3,SGEQRT3)
void LAPACK_sgeqrt3(
    lapack_int const* m, lapack_int const* n,
    float* A, lapack_int const* lda,
    float* T, lapack_int const* ldt,
    lapack_int* info );

#define LAPACK_zgeqrt3 LAPACK_GLOBAL_SUFFIX(zgeqrt3,ZGEQRT3)
void LAPACK_zgeqrt3(
    lapack_int const* m, lapack_int const* n,
    lapack_complex_double* A, lapack_int const* lda,
    lapack_complex_double* T, lapack_int const* ldt,
    lapack_int* info );

#define LAPACK_cgerfs_base LAPACK_GLOBAL_SUFFIX(cgerfs,CGERFS)
void LAPACK_cgerfs_base(
    char const* trans,
    lapack_int const* n, lapack_int const* nrhs,
    lapack_complex_float const* A, lapack_int const* lda,
    lapack_complex_float const* AF, lapack_int const* ldaf, lapack_int const* ipiv,
    lapack_complex_float const* B, lapack_int const* ldb,
    lapack_complex_float* X, lapack_int const* ldx,
    float* ferr,
    float* berr,
    lapack_complex_float* work,
    float* rwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_cgerfs(...) LAPACK_cgerfs_base(__VA_ARGS__, 1)
#else
    #define LAPACK_cgerfs(...) LAPACK_cgerfs_base(__VA_ARGS__)
#endif

#define LAPACK_dgerfs_base LAPACK_GLOBAL_SUFFIX(dgerfs,DGERFS)
void LAPACK_dgerfs_base(
    char const* trans,
    lapack_int const* n, lapack_int const* nrhs,
    double const* A, lapack_int const* lda,
    double const* AF, lapack_int const* ldaf, lapack_int const* ipiv,
    double const* B, lapack_int const* ldb,
    double* X, lapack_int const* ldx,
    double* ferr,
    double* berr,
    double* work,
    lapack_int* iwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_dgerfs(...) LAPACK_dgerfs_base(__VA_ARGS__, 1)
#else
    #define LAPACK_dgerfs(...) LAPACK_dgerfs_base(__VA_ARGS__)
#endif

#define LAPACK_sgerfs_base LAPACK_GLOBAL_SUFFIX(sgerfs,SGERFS)
void LAPACK_sgerfs_base(
    char const* trans,
    lapack_int const* n, lapack_int const* nrhs,
    float const* A, lapack_int const* lda,
    float const* AF, lapack_int const* ldaf, lapack_int const* ipiv,
    float const* B, lapack_int const* ldb,
    float* X, lapack_int const* ldx,
    float* ferr,
    float* berr,
    float* work,
    lapack_int* iwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_sgerfs(...) LAPACK_sgerfs_base(__VA_ARGS__, 1)
#else
    #define LAPACK_sgerfs(...) LAPACK_sgerfs_base(__VA_ARGS__)
#endif

#define LAPACK_zgerfs_base LAPACK_GLOBAL_SUFFIX(zgerfs,ZGERFS)
void LAPACK_zgerfs_base(
    char const* trans,
    lapack_int const* n, lapack_int const* nrhs,
    lapack_complex_double const* A, lapack_int const* lda,
    lapack_complex_double const* AF, lapack_int const* ldaf, lapack_int const* ipiv,
    lapack_complex_double const* B, lapack_int const* ldb,
    lapack_complex_double* X, lapack_int const* ldx,
    double* ferr,
    double* berr,
    lapack_complex_double* work,
    double* rwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_zgerfs(...) LAPACK_zgerfs_base(__VA_ARGS__, 1)
#else
    #define LAPACK_zgerfs(...) LAPACK_zgerfs_base(__VA_ARGS__)
#endif

#define LAPACK_cgerfsx_base LAPACK_GLOBAL_SUFFIX(cgerfsx,CGERFSX)
void LAPACK_cgerfsx_base(
    char const* trans, char const* equed,
    lapack_int const* n, lapack_int const* nrhs,
    lapack_complex_float const* A, lapack_int const* lda,
    lapack_complex_float const* AF, lapack_int const* ldaf, lapack_int const* ipiv,
    float const* R,
    float const* C,
    lapack_complex_float const* B, lapack_int const* ldb,
    lapack_complex_float* X, lapack_int const* ldx,
    float* rcond,
    float* berr, lapack_int const* n_err_bnds,
    float* err_bnds_norm,
    float* err_bnds_comp, lapack_int const* nparams,
    float* params,
    lapack_complex_float* work,
    float* rwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_cgerfsx(...) LAPACK_cgerfsx_base(__VA_ARGS__, 1, 1)
#else
    #define LAPACK_cgerfsx(...) LAPACK_cgerfsx_base(__VA_ARGS__)
#endif

#define LAPACK_dgerfsx_base LAPACK_GLOBAL_SUFFIX(dgerfsx,DGERFSX)
void LAPACK_dgerfsx_base(
    char const* trans, char const* equed,
    lapack_int const* n, lapack_int const* nrhs,
    double const* A, lapack_int const* lda,
    double const* AF, lapack_int const* ldaf, lapack_int const* ipiv,
    double const* R,
    double const* C,
    double const* B, lapack_int const* ldb,
    double* X, lapack_int const* ldx,
    double* rcond,
    double* berr, lapack_int const* n_err_bnds,
    double* err_bnds_norm,
    double* err_bnds_comp, lapack_int const* nparams,
    double* params,
    double* work,
    lapack_int* iwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_dgerfsx(...) LAPACK_dgerfsx_base(__VA_ARGS__, 1, 1)
#else
    #define LAPACK_dgerfsx(...) LAPACK_dgerfsx_base(__VA_ARGS__)
#endif

#define LAPACK_sgerfsx_base LAPACK_GLOBAL_SUFFIX(sgerfsx,SGERFSX)
void LAPACK_sgerfsx_base(
    char const* trans, char const* equed,
    lapack_int const* n, lapack_int const* nrhs,
    float const* A, lapack_int const* lda,
    float const* AF, lapack_int const* ldaf, lapack_int const* ipiv,
    float const* R,
    float const* C,
    float const* B, lapack_int const* ldb,
    float* X, lapack_int const* ldx,
    float* rcond,
    float* berr, lapack_int const* n_err_bnds,
    float* err_bnds_norm,
    float* err_bnds_comp, lapack_int const* nparams,
    float* params,
    float* work,
    lapack_int* iwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_sgerfsx(...) LAPACK_sgerfsx_base(__VA_ARGS__, 1, 1)
#else
    #define LAPACK_sgerfsx(...) LAPACK_sgerfsx_base(__VA_ARGS__)
#endif

#define LAPACK_zgerfsx_base LAPACK_GLOBAL_SUFFIX(zgerfsx,ZGERFSX)
void LAPACK_zgerfsx_base(
    char const* trans, char const* equed,
    lapack_int const* n, lapack_int const* nrhs,
    lapack_complex_double const* A, lapack_int const* lda,
    lapack_complex_double const* AF, lapack_int const* ldaf, lapack_int const* ipiv,
    double const* R,
    double const* C,
    lapack_complex_double const* B, lapack_int const* ldb,
    lapack_complex_double* X, lapack_int const* ldx,
    double* rcond,
    double* berr, lapack_int const* n_err_bnds,
    double* err_bnds_norm,
    double* err_bnds_comp, lapack_int const* nparams,
    double* params,
    lapack_complex_double* work,
    double* rwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_zgerfsx(...) LAPACK_zgerfsx_base(__VA_ARGS__, 1, 1)
#else
    #define LAPACK_zgerfsx(...) LAPACK_zgerfsx_base(__VA_ARGS__)
#endif

#define LAPACK_cgerq2 LAPACK_GLOBAL_SUFFIX(cgerq2,CGERQ2)
void LAPACK_cgerq2(
    lapack_int const* m, lapack_int const* n,
    lapack_complex_float* A, lapack_int const* lda,
    lapack_complex_float* tau,
    lapack_complex_float* work,
    lapack_int* info );

#define LAPACK_dgerq2 LAPACK_GLOBAL_SUFFIX(dgerq2,DGERQ2)
void LAPACK_dgerq2(
    lapack_int const* m, lapack_int const* n,
    double* A, lapack_int const* lda,
    double* tau,
    double* work,
    lapack_int* info );

#define LAPACK_sgerq2 LAPACK_GLOBAL_SUFFIX(sgerq2,SGERQ2)
void LAPACK_sgerq2(
    lapack_int const* m, lapack_int const* n,
    float* A, lapack_int const* lda,
    float* tau,
    float* work,
    lapack_int* info );

#define LAPACK_zgerq2 LAPACK_GLOBAL_SUFFIX(zgerq2,ZGERQ2)
void LAPACK_zgerq2(
    lapack_int const* m, lapack_int const* n,
    lapack_complex_double* A, lapack_int const* lda,
    lapack_complex_double* tau,
    lapack_complex_double* work,
    lapack_int* info );

#define LAPACK_cgerqf LAPACK_GLOBAL_SUFFIX(cgerqf,CGERQF)
void LAPACK_cgerqf(
    lapack_int const* m, lapack_int const* n,
    lapack_complex_float* A, lapack_int const* lda,
    lapack_complex_float* tau,
    lapack_complex_float* work, lapack_int const* lwork,
    lapack_int* info );

#define LAPACK_dgerqf LAPACK_GLOBAL_SUFFIX(dgerqf,DGERQF)
void LAPACK_dgerqf(
    lapack_int const* m, lapack_int const* n,
    double* A, lapack_int const* lda,
    double* tau,
    double* work, lapack_int const* lwork,
    lapack_int* info );

#define LAPACK_sgerqf LAPACK_GLOBAL_SUFFIX(sgerqf,SGERQF)
void LAPACK_sgerqf(
    lapack_int const* m, lapack_int const* n,
    float* A, lapack_int const* lda,
    float* tau,
    float* work, lapack_int const* lwork,
    lapack_int* info );

#define LAPACK_zgerqf LAPACK_GLOBAL_SUFFIX(zgerqf,ZGERQF)
void LAPACK_zgerqf(
    lapack_int const* m, lapack_int const* n,
    lapack_complex_double* A, lapack_int const* lda,
    lapack_complex_double* tau,
    lapack_complex_double* work, lapack_int const* lwork,
    lapack_int* info );

#define LAPACK_cgesdd_base LAPACK_GLOBAL_SUFFIX(cgesdd,CGESDD)
void LAPACK_cgesdd_base(
    char const* jobz,
    lapack_int const* m, lapack_int const* n,
    lapack_complex_float* A, lapack_int const* lda,
    float* S,
    lapack_complex_float* U, lapack_int const* ldu,
    lapack_complex_float* VT, lapack_int const* ldvt,
    lapack_complex_float* work, lapack_int const* lwork,
    float* rwork,
    lapack_int* iwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_cgesdd(...) LAPACK_cgesdd_base(__VA_ARGS__, 1)
#else
    #define LAPACK_cgesdd(...) LAPACK_cgesdd_base(__VA_ARGS__)
#endif

#define LAPACK_dgesdd_base LAPACK_GLOBAL_SUFFIX(dgesdd,DGESDD)
void LAPACK_dgesdd_base(
    char const* jobz,
    lapack_int const* m, lapack_int const* n,
    double* A, lapack_int const* lda,
    double* S,
    double* U, lapack_int const* ldu,
    double* VT, lapack_int const* ldvt,
    double* work, lapack_int const* lwork,
    lapack_int* iwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_dgesdd(...) LAPACK_dgesdd_base(__VA_ARGS__, 1)
#else
    #define LAPACK_dgesdd(...) LAPACK_dgesdd_base(__VA_ARGS__)
#endif

#define LAPACK_sgesdd_base LAPACK_GLOBAL_SUFFIX(sgesdd,SGESDD)
void LAPACK_sgesdd_base(
    char const* jobz,
    lapack_int const* m, lapack_int const* n,
    float* A, lapack_int const* lda,
    float* S,
    float* U, lapack_int const* ldu,
    float* VT, lapack_int const* ldvt,
    float* work, lapack_int const* lwork,
    lapack_int* iwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_sgesdd(...) LAPACK_sgesdd_base(__VA_ARGS__, 1)
#else
    #define LAPACK_sgesdd(...) LAPACK_sgesdd_base(__VA_ARGS__)
#endif

#define LAPACK_zgesdd_base LAPACK_GLOBAL_SUFFIX(zgesdd,ZGESDD)
void LAPACK_zgesdd_base(
    char const* jobz,
    lapack_int const* m, lapack_int const* n,
    lapack_complex_double* A, lapack_int const* lda,
    double* S,
    lapack_complex_double* U, lapack_int const* ldu,
    lapack_complex_double* VT, lapack_int const* ldvt,
    lapack_complex_double* work, lapack_int const* lwork,
    double* rwork,
    lapack_int* iwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_zgesdd(...) LAPACK_zgesdd_base(__VA_ARGS__, 1)
#else
    #define LAPACK_zgesdd(...) LAPACK_zgesdd_base(__VA_ARGS__)
#endif

#define LAPACK_cgedmd_base LAPACK_GLOBAL_SUFFIX(cgedmd,CGEDMD)
void LAPACK_cgedmd_base(
    char const* jobs, char const* jobz, char const* jobr, char const* jobf,
    lapack_int const* whtsvd, lapack_int const* m, lapack_int const* n,
    lapack_complex_float* x, lapack_int const* ldx,
    lapack_complex_float* y, lapack_int const* ldy, lapack_int const* nrnk,
    const float* tol, lapack_int* k, lapack_complex_float* eigs,
    lapack_complex_float* z, lapack_int const* ldz, float* res,
    lapack_complex_float* b, lapack_int const* ldb,
    lapack_complex_float* w, lapack_int const* ldw,
    lapack_complex_float* s, lapack_int const* lds,
    lapack_complex_float* zwork, lapack_int const* lzwork,
    float* work, lapack_int const* lwork,
    lapack_int* iwork, lapack_int const* liwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN, FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_cgedmd(...) LAPACK_cgedmd_base(__VA_ARGS__, 1, 1, 1, 1)
#else
    #define LAPACK_cgedmd(...) LAPACK_cgedmd_base(__VA_ARGS__)
#endif


#define LAPACK_dgedmd_base LAPACK_GLOBAL_SUFFIX(dgedmd,DGEDMD)
void LAPACK_dgedmd_base(
    char const* jobs, char const* jobz, char const* jobr, char const* jobf,
    lapack_int const* whtsvd, lapack_int const* m, lapack_int const* n,
    double* x, lapack_int const* ldx,
    double* y, lapack_int const* ldy, lapack_int const* nrnk,
    const double* tol, lapack_int* k, double* reig, double* imeig,
    double* z, lapack_int const* ldz, double* res,
    double* b, lapack_int const* ldb,
    double* w, lapack_int const* ldw,
    double* s, lapack_int const* lds,
    double* work, lapack_int const* lwork,
    lapack_int* iwork, lapack_int const* liwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN, FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_dgedmd(...) LAPACK_dgedmd_base(__VA_ARGS__, 1, 1, 1, 1)
#else
    #define LAPACK_dgedmd(...) LAPACK_dgedmd_base(__VA_ARGS__)
#endif

#define LAPACK_sgedmd_base LAPACK_GLOBAL_SUFFIX(sgedmd,SGEDMD)
void LAPACK_sgedmd_base(
    char const* jobs, char const* jobz, char const* jobr, char const* jobf,
    lapack_int const* whtsvd, lapack_int const* m, lapack_int const* n,
    float* x, lapack_int const* ldx,
    float* y, lapack_int const* ldy, lapack_int const* nrnk,
    const float* tol, lapack_int* k, float* reig, float *imeig,
    float* z, lapack_int const* ldz, float* res,
    float* b, lapack_int const* ldb,
    float* w, lapack_int const* ldw,
    float* s, lapack_int const* lds,
    float* work, lapack_int const* lwork,
    lapack_int* iwork, lapack_int const* liwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN, FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_sgedmd(...) LAPACK_sgedmd_base(__VA_ARGS__, 1, 1, 1, 1)
#else
    #define LAPACK_sgedmd(...) LAPACK_sgedmd_base(__VA_ARGS__)
#endif

#define LAPACK_zgedmd_base LAPACK_GLOBAL_SUFFIX(zgedmd,ZGEDMD)
void LAPACK_zgedmd_base(
    char const* jobs, char const* jobz, char const* jobr, char const* jobf,
    lapack_int const* whtsvd, lapack_int const* m, lapack_int const* n,
    lapack_complex_double* x, lapack_int const* ldx,
    lapack_complex_double* y, lapack_int const* ldy, lapack_int const* nrnk,
    const double* tol, lapack_int *k, lapack_complex_double* eigs,
    lapack_complex_double* z, lapack_int const* ldz, double* res,
    lapack_complex_double* b, lapack_int const* ldb,
    lapack_complex_double* w, lapack_int const* ldw,
    lapack_complex_double* s, lapack_int const* lds,
    lapack_complex_double* zwork, lapack_int const* lzwork,
    double* rwork, lapack_int const* lrwork,
    lapack_int* iwork, lapack_int const* liwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN, FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_zgedmd(...) LAPACK_zgedmd_base(__VA_ARGS__, 1, 1, 1, 1)
#else
    #define LAPACK_zgedmd(...) LAPACK_zgedmd_base(__VA_ARGS__)
#endif

#define LAPACK_cgedmdq_base LAPACK_GLOBAL_SUFFIX(cgedmdq,CGEDMDQ)
void LAPACK_cgedmdq_base(
    char const* jobs, char const* jobz, char const* jobr, char const* jobq,
    char const* jobt, char const* jobf, lapack_int const* whtsvd,
    lapack_int const* m, lapack_int const* n,
    lapack_complex_float* f, lapack_int const* ldf,
    lapack_complex_float* x, lapack_int const* ldx,
    lapack_complex_float* y, lapack_int const* ldy, lapack_int const* nrnk,
    float const* tol, lapack_int const* k,
    lapack_complex_float* eigs,
    lapack_complex_float* z, lapack_int const* ldz, float* res,
    lapack_complex_float* b, lapack_int const* ldb,
    lapack_complex_float* v, lapack_int const* ldv,
    lapack_complex_float* s, lapack_int const* lds,
    lapack_complex_float* zwork, lapack_int const* lzwork,
    float* work, lapack_int const* lwork,
    lapack_int* iwork, lapack_int const* liwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN, FORTRAN_STRLEN, FORTRAN_STRLEN, FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_cgedmdq(...) LAPACK_cgedmdq_base(__VA_ARGS__, 1, 1, 1, 1, 1, 1)
#else
    #define LAPACK_cgedmdq(...) LAPACK_cgedmdq_base(__VA_ARGS__)
#endif

#define LAPACK_dgedmdq_base LAPACK_GLOBAL_SUFFIX(dgedmdq,DGEDMDQ)
void LAPACK_dgedmdq_base(
    char const* jobs, char const* jobz, char const* jobr, char const* jobq,
    char const* jobt, char const* jobf, lapack_int const* whtsvd,
    lapack_int const* m, lapack_int const* n,
    double* f, lapack_int const* ldf,
    double* x, lapack_int const* ldx,
    double* y, lapack_int const* ldy, lapack_int const* nrnk,
    double const* tol, lapack_int* k,
    double* reig, double *imeig,
    double* z, lapack_int const* ldz, double* res,
    double* b, lapack_int const* ldb,
    double* v, lapack_int const* ldv,
    double* s, lapack_int const* lds,
    double* work, lapack_int const* lwork,
    lapack_int* iwork, lapack_int const* liwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN, FORTRAN_STRLEN, FORTRAN_STRLEN, FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_dgedmdq(...) LAPACK_dgedmdq_base(__VA_ARGS__, 1, 1, 1, 1, 1, 1)
#else
    #define LAPACK_dgedmdq(...) LAPACK_dgedmdq_base(__VA_ARGS__)
#endif

#define LAPACK_sgedmdq_base LAPACK_GLOBAL_SUFFIX(sgedmdq,SGEDMDQ)
void LAPACK_sgedmdq_base(
    char const* jobs, char const* jobz, char const* jobr, char const* jobq,
    char const* jobt, char const* jobf, lapack_int const* whtsvd,
    lapack_int const* m, lapack_int const* n,
    float* f, lapack_int const* ldf,
    float* x, lapack_int const* ldx,
    float* y, lapack_int const* ldy, lapack_int const* nrnk,
    float const* tol, lapack_int const* k,
    float* reig, float* imeig,
    float* z, lapack_int const* ldz, float* res,
    float* b, lapack_int const* ldb,
    float* v, lapack_int const* ldv,
    float* s, lapack_int const* lds,
    float* work, lapack_int const* lwork,
    lapack_int* iwork, lapack_int const* liwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN, FORTRAN_STRLEN, FORTRAN_STRLEN, FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_sgedmdq(...) LAPACK_sgedmdq_base(__VA_ARGS__, 1, 1, 1, 1, 1, 1)
#else
    #define LAPACK_sgedmdq(...) LAPACK_sgedmdq_base(__VA_ARGS__)
#endif

#define LAPACK_zgedmdq_base LAPACK_GLOBAL_SUFFIX(zgedmdq,ZGEDMDQ)
void LAPACK_zgedmdq_base(
    char const* jobs, char const* jobz, char const* jobr, char const* jobq,
    char const* jobt, char const* jobf, lapack_int const* whtsvd,
    lapack_int const* m, lapack_int const* n,
    lapack_complex_double* f, lapack_int const* ldf,
    lapack_complex_double* x, lapack_int const* ldx,
    lapack_complex_double* y, lapack_int const* ldy, lapack_int const* nrnk,
    double const* tol, lapack_int const* k,
    lapack_complex_double* eigs,
    lapack_complex_double* z, lapack_int const* ldz, double* res,
    lapack_complex_double* b, lapack_int const* ldb,
    lapack_complex_double* v, lapack_int const* ldv,
    lapack_complex_double* s, lapack_int const* lds,
    lapack_complex_double* zwork, lapack_int const* lzwork,
    double* work, lapack_int const* lwork,
    lapack_int* iwork, lapack_int const* liwork,
    lapack_int* info

#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN, FORTRAN_STRLEN, FORTRAN_STRLEN, FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_zgedmdq(...) LAPACK_zgedmdq_base(__VA_ARGS__, 1, 1, 1, 1, 1, 1)
#else
    #define LAPACK_zgedmdq(...) LAPACK_zgedmdq_base(__VA_ARGS__)
#endif

#define LAPACK_cgesv LAPACK_GLOBAL_SUFFIX(cgesv,CGESV)
void LAPACK_cgesv(
    lapack_int const* n, lapack_int const* nrhs,
    lapack_complex_float* A, lapack_int const* lda, lapack_int* ipiv,
    lapack_complex_float* B, lapack_int const* ldb,
    lapack_int* info );

#define LAPACK_dgesv LAPACK_GLOBAL_SUFFIX(dgesv,DGESV)
void LAPACK_dgesv(
    lapack_int const* n, lapack_int const* nrhs,
    double* A, lapack_int const* lda, lapack_int* ipiv,
    double* B, lapack_int const* ldb,
    lapack_int* info );

#define LAPACK_sgesv LAPACK_GLOBAL_SUFFIX(sgesv,SGESV)
void LAPACK_sgesv(
    lapack_int const* n, lapack_int const* nrhs,
    float* A, lapack_int const* lda, lapack_int* ipiv,
    float* B, lapack_int const* ldb,
    lapack_int* info );

#define LAPACK_zgesv LAPACK_GLOBAL_SUFFIX(zgesv,ZGESV)
void LAPACK_zgesv(
    lapack_int const* n, lapack_int const* nrhs,
    lapack_complex_double* A, lapack_int const* lda, lapack_int* ipiv,
    lapack_complex_double* B, lapack_int const* ldb,
    lapack_int* info );

#define LAPACK_dsgesv LAPACK_GLOBAL_SUFFIX(dsgesv,DSGESV)
void LAPACK_dsgesv(
    lapack_int const* n, lapack_int const* nrhs,
    double* A, lapack_int const* lda, lapack_int* ipiv,
    double const* B, lapack_int const* ldb,
    double* X, lapack_int const* ldx,
    double* work,
    float* swork, lapack_int* iter,
    lapack_int* info );

#define LAPACK_zcgesv LAPACK_GLOBAL_SUFFIX(zcgesv,ZCGESV)
void LAPACK_zcgesv(
    lapack_int const* n, lapack_int const* nrhs,
    lapack_complex_double* A, lapack_int const* lda, lapack_int* ipiv,
    lapack_complex_double const* B, lapack_int const* ldb,
    lapack_complex_double* X, lapack_int const* ldx,
    lapack_complex_double* work,
    lapack_complex_float* swork,
    double* rwork, lapack_int* iter,
    lapack_int* info );

#define LAPACK_cgesvd_base LAPACK_GLOBAL_SUFFIX(cgesvd,CGESVD)
void LAPACK_cgesvd_base(
    char const* jobu, char const* jobvt,
    lapack_int const* m, lapack_int const* n,
    lapack_complex_float* A, lapack_int const* lda,
    float* S,
    lapack_complex_float* U, lapack_int const* ldu,
    lapack_complex_float* VT, lapack_int const* ldvt,
    lapack_complex_float* work, lapack_int const* lwork,
    float* rwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_cgesvd(...) LAPACK_cgesvd_base(__VA_ARGS__, 1, 1)
#else
    #define LAPACK_cgesvd(...) LAPACK_cgesvd_base(__VA_ARGS__)
#endif

#define LAPACK_dgesvd_base LAPACK_GLOBAL_SUFFIX(dgesvd,DGESVD)
void LAPACK_dgesvd_base(
    char const* jobu, char const* jobvt,
    lapack_int const* m, lapack_int const* n,
    double* A, lapack_int const* lda,
    double* S,
    double* U, lapack_int const* ldu,
    double* VT, lapack_int const* ldvt,
    double* work, lapack_int const* lwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_dgesvd(...) LAPACK_dgesvd_base(__VA_ARGS__, 1, 1)
#else
    #define LAPACK_dgesvd(...) LAPACK_dgesvd_base(__VA_ARGS__)
#endif

#define LAPACK_sgesvd_base LAPACK_GLOBAL_SUFFIX(sgesvd,SGESVD)
void LAPACK_sgesvd_base(
    char const* jobu, char const* jobvt,
    lapack_int const* m, lapack_int const* n,
    float* A, lapack_int const* lda,
    float* S,
    float* U, lapack_int const* ldu,
    float* VT, lapack_int const* ldvt,
    float* work, lapack_int const* lwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_sgesvd(...) LAPACK_sgesvd_base(__VA_ARGS__, 1, 1)
#else
    #define LAPACK_sgesvd(...) LAPACK_sgesvd_base(__VA_ARGS__)
#endif

#define LAPACK_zgesvd_base LAPACK_GLOBAL_SUFFIX(zgesvd,ZGESVD)
void LAPACK_zgesvd_base(
    char const* jobu, char const* jobvt,
    lapack_int const* m, lapack_int const* n,
    lapack_complex_double* A, lapack_int const* lda,
    double* S,
    lapack_complex_double* U, lapack_int const* ldu,
    lapack_complex_double* VT, lapack_int const* ldvt,
    lapack_complex_double* work, lapack_int const* lwork,
    double* rwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_zgesvd(...) LAPACK_zgesvd_base(__VA_ARGS__, 1, 1)
#else
    #define LAPACK_zgesvd(...) LAPACK_zgesvd_base(__VA_ARGS__)
#endif

#define LAPACK_cgesvdq_base LAPACK_GLOBAL_SUFFIX(cgesvdq,CGESVDQ)
void LAPACK_cgesvdq_base(
    char const* joba, char const* jobp, char const* jobr, char const* jobu, char const* jobv,
    lapack_int const* m, lapack_int const* n,
    lapack_complex_float* A, lapack_int const* lda,
    float* S,
    lapack_complex_float* U, lapack_int const* ldu,
    lapack_complex_float* V, lapack_int const* ldv, lapack_int* numrank,
    lapack_int* iwork, lapack_int const* liwork,
    lapack_complex_float* cwork, lapack_int* lcwork,
    float* rwork, lapack_int const* lrwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN, FORTRAN_STRLEN, FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_cgesvdq(...) LAPACK_cgesvdq_base(__VA_ARGS__, 1, 1, 1, 1, 1)
#else
    #define LAPACK_cgesvdq(...) LAPACK_cgesvdq_base(__VA_ARGS__)
#endif

#define LAPACK_dgesvdq_base LAPACK_GLOBAL_SUFFIX(dgesvdq,DGESVDQ)
void LAPACK_dgesvdq_base(
    char const* joba, char const* jobp, char const* jobr, char const* jobu, char const* jobv,
    lapack_int const* m, lapack_int const* n,
    double* A, lapack_int const* lda,
    double* S,
    double* U, lapack_int const* ldu,
    double* V, lapack_int const* ldv, lapack_int* numrank,
    lapack_int* iwork, lapack_int const* liwork,
    double* work, lapack_int* lwork,
    double* rwork, lapack_int const* lrwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN, FORTRAN_STRLEN, FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_dgesvdq(...) LAPACK_dgesvdq_base(__VA_ARGS__, 1, 1, 1, 1, 1)
#else
    #define LAPACK_dgesvdq(...) LAPACK_dgesvdq_base(__VA_ARGS__)
#endif

#define LAPACK_sgesvdq_base LAPACK_GLOBAL_SUFFIX(sgesvdq,SGESVDQ)
void LAPACK_sgesvdq_base(
    char const* joba, char const* jobp, char const* jobr, char const* jobu, char const* jobv,
    lapack_int const* m, lapack_int const* n,
    float* A, lapack_int const* lda,
    float* S,
    float* U, lapack_int const* ldu,
    float* V, lapack_int const* ldv, lapack_int* numrank,
    lapack_int* iwork, lapack_int const* liwork,
    float* work, lapack_int* lwork,
    float* rwork, lapack_int const* lrwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN, FORTRAN_STRLEN, FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_sgesvdq(...) LAPACK_sgesvdq_base(__VA_ARGS__, 1, 1, 1, 1, 1)
#else
    #define LAPACK_sgesvdq(...) LAPACK_sgesvdq_base(__VA_ARGS__)
#endif

#define LAPACK_zgesvdq_base LAPACK_GLOBAL_SUFFIX(zgesvdq,ZGESVDQ)
void LAPACK_zgesvdq_base(
    char const* joba, char const* jobp, char const* jobr, char const* jobu, char const* jobv,
    lapack_int const* m, lapack_int const* n,
    lapack_complex_double* A, lapack_int const* lda,
    double* S,
    lapack_complex_double* U, lapack_int const* ldu,
    lapack_complex_double* V, lapack_int const* ldv, lapack_int* numrank,
    lapack_int* iwork, lapack_int const* liwork,
    lapack_complex_double* cwork, lapack_int* lcwork,
    double* rwork, lapack_int const* lrwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN, FORTRAN_STRLEN, FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_zgesvdq(...) LAPACK_zgesvdq_base(__VA_ARGS__, 1, 1, 1, 1, 1)
#else
    #define LAPACK_zgesvdq(...) LAPACK_zgesvdq_base(__VA_ARGS__)
#endif

#define LAPACK_cgesvdx_base LAPACK_GLOBAL_SUFFIX(cgesvdx,CGESVDX)
void LAPACK_cgesvdx_base(
    char const* jobu, char const* jobvt, char const* range,
    lapack_int const* m, lapack_int const* n,
    lapack_complex_float* A, lapack_int const* lda,
    float const* vl,
    float const* vu, lapack_int const* il, lapack_int const* iu, lapack_int* ns,
    float* S,
    lapack_complex_float* U, lapack_int const* ldu,
    lapack_complex_float* VT, lapack_int const* ldvt,
    lapack_complex_float* work, lapack_int const* lwork,
    float* rwork,
    lapack_int* iwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_cgesvdx(...) LAPACK_cgesvdx_base(__VA_ARGS__, 1, 1, 1)
#else
    #define LAPACK_cgesvdx(...) LAPACK_cgesvdx_base(__VA_ARGS__)
#endif


#define LAPACK_dgesvdx_base LAPACK_GLOBAL_SUFFIX(dgesvdx,DGESVDX)
void LAPACK_dgesvdx_base(
    char const* jobu, char const* jobvt, char const* range,
    lapack_int const* m, lapack_int const* n,
    double* A, lapack_int const* lda,
    double const* vl,
    double const* vu, lapack_int const* il, lapack_int const* iu, lapack_int* ns,
    double* S,
    double* U, lapack_int const* ldu,
    double* VT, lapack_int const* ldvt,
    double* work, lapack_int const* lwork,
    lapack_int* iwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_dgesvdx(...) LAPACK_dgesvdx_base(__VA_ARGS__, 1, 1, 1)
#else
    #define LAPACK_dgesvdx(...) LAPACK_dgesvdx_base(__VA_ARGS__)
#endif

#define LAPACK_sgesvdx_base LAPACK_GLOBAL_SUFFIX(sgesvdx,SGESVDX)
void LAPACK_sgesvdx_base(
    char const* jobu, char const* jobvt, char const* range,
    lapack_int const* m, lapack_int const* n,
    float* A, lapack_int const* lda,
    float const* vl,
    float const* vu, lapack_int const* il, lapack_int const* iu, lapack_int* ns,
    float* S,
    float* U, lapack_int const* ldu,
    float* VT, lapack_int const* ldvt,
    float* work, lapack_int const* lwork,
    lapack_int* iwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_sgesvdx(...) LAPACK_sgesvdx_base(__VA_ARGS__, 1, 1, 1)
#else
    #define LAPACK_sgesvdx(...) LAPACK_sgesvdx_base(__VA_ARGS__)
#endif

#define LAPACK_zgesvdx_base LAPACK_GLOBAL_SUFFIX(zgesvdx,ZGESVDX)
void LAPACK_zgesvdx_base(
    char const* jobu, char const* jobvt, char const* range,
    lapack_int const* m, lapack_int const* n,
    lapack_complex_double* A, lapack_int const* lda,
    double const* vl,
    double const* vu, lapack_int const* il, lapack_int const* iu, lapack_int* ns,
    double* S,
    lapack_complex_double* U, lapack_int const* ldu,
    lapack_complex_double* VT, lapack_int const* ldvt,
    lapack_complex_double* work, lapack_int const* lwork,
    double* rwork,
    lapack_int* iwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_zgesvdx(...) LAPACK_zgesvdx_base(__VA_ARGS__, 1, 1, 1)
#else
    #define LAPACK_zgesvdx(...) LAPACK_zgesvdx_base(__VA_ARGS__)
#endif

#define LAPACK_cgesvj_base LAPACK_GLOBAL_SUFFIX(cgesvj,CGESVJ)
void LAPACK_cgesvj_base(
    char const* joba, char const* jobu, char const* jobv,
    lapack_int const* m, lapack_int const* n,
    lapack_complex_float* A, lapack_int const* lda,
    float* SVA, lapack_int const* mv,
    lapack_complex_float* V, lapack_int const* ldv,
    lapack_complex_float* cwork, lapack_int const* lwork,
    float* rwork, lapack_int const* lrwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_cgesvj(...) LAPACK_cgesvj_base(__VA_ARGS__, 1, 1, 1)
#else
    #define LAPACK_cgesvj(...) LAPACK_cgesvj_base(__VA_ARGS__)
#endif

#define LAPACK_dgesvj_base LAPACK_GLOBAL_SUFFIX(dgesvj,DGESVJ)
void LAPACK_dgesvj_base(
    char const* joba, char const* jobu, char const* jobv,
    lapack_int const* m, lapack_int const* n,
    double* A, lapack_int const* lda,
    double* SVA, lapack_int const* mv,
    double* V, lapack_int const* ldv,
    double* work, lapack_int const* lwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_dgesvj(...) LAPACK_dgesvj_base(__VA_ARGS__, 1, 1, 1)
#else
    #define LAPACK_dgesvj(...) LAPACK_dgesvj_base(__VA_ARGS__)
#endif

#define LAPACK_sgesvj_base LAPACK_GLOBAL_SUFFIX(sgesvj,SGESVJ)
void LAPACK_sgesvj_base(
    char const* joba, char const* jobu, char const* jobv,
    lapack_int const* m, lapack_int const* n,
    float* A, lapack_int const* lda,
    float* SVA, lapack_int const* mv,
    float* V, lapack_int const* ldv,
    float* work, lapack_int const* lwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_sgesvj(...) LAPACK_sgesvj_base(__VA_ARGS__, 1, 1, 1)
#else
    #define LAPACK_sgesvj(...) LAPACK_sgesvj_base(__VA_ARGS__)
#endif

#define LAPACK_zgesvj_base LAPACK_GLOBAL_SUFFIX(zgesvj,ZGESVJ)
void LAPACK_zgesvj_base(
    char const* joba, char const* jobu, char const* jobv,
    lapack_int const* m, lapack_int const* n,
    lapack_complex_double* A, lapack_int const* lda,
    double* SVA, lapack_int const* mv,
    lapack_complex_double* V, lapack_int const* ldv,
    lapack_complex_double* cwork, lapack_int const* lwork,
    double* rwork, lapack_int const* lrwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_zgesvj(...) LAPACK_zgesvj_base(__VA_ARGS__, 1, 1, 1)
#else
    #define LAPACK_zgesvj(...) LAPACK_zgesvj_base(__VA_ARGS__)
#endif

#define LAPACK_cgesvx_base LAPACK_GLOBAL_SUFFIX(cgesvx,CGESVX)
void LAPACK_cgesvx_base(
    char const* fact, char const* trans,
    lapack_int const* n, lapack_int const* nrhs,
    lapack_complex_float* A, lapack_int const* lda,
    lapack_complex_float* AF, lapack_int const* ldaf, lapack_int* ipiv, char* equed,
    float* R,
    float* C,
    lapack_complex_float* B,
    lapack_int const* ldb,
    lapack_complex_float* X, lapack_int const* ldx,
    float* rcond,
    float* ferr,
    float* berr,
    lapack_complex_float* work,
    float* rwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_cgesvx(...) LAPACK_cgesvx_base(__VA_ARGS__, 1, 1, 1)
#else
    #define LAPACK_cgesvx(...) LAPACK_cgesvx_base(__VA_ARGS__)
#endif

#define LAPACK_dgesvx_base LAPACK_GLOBAL_SUFFIX(dgesvx,DGESVX)
void LAPACK_dgesvx_base(
    char const* fact, char const* trans,
    lapack_int const* n, lapack_int const* nrhs,
    double* A, lapack_int const* lda,
    double* AF, lapack_int const* ldaf, lapack_int* ipiv, char* equed,
    double* R,
    double* C,
    double* B,
    lapack_int const* ldb,
    double* X, lapack_int const* ldx,
    double* rcond,
    double* ferr,
    double* berr,
    double* work,
    lapack_int* iwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_dgesvx(...) LAPACK_dgesvx_base(__VA_ARGS__, 1, 1, 1)
#else
    #define LAPACK_dgesvx(...) LAPACK_dgesvx_base(__VA_ARGS__)
#endif

#define LAPACK_sgesvx_base LAPACK_GLOBAL_SUFFIX(sgesvx,SGESVX)
void LAPACK_sgesvx_base(
    char const* fact, char const* trans,
    lapack_int const* n, lapack_int const* nrhs,
    float* A, lapack_int const* lda,
    float* AF, lapack_int const* ldaf, lapack_int* ipiv, char* equed,
    float* R,
    float* C,
    float* B,
    lapack_int const* ldb,
    float* X, lapack_int const* ldx,
    float* rcond,
    float* ferr,
    float* berr,
    float* work,
    lapack_int* iwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_sgesvx(...) LAPACK_sgesvx_base(__VA_ARGS__, 1, 1, 1)
#else
    #define LAPACK_sgesvx(...) LAPACK_sgesvx_base(__VA_ARGS__)
#endif

#define LAPACK_zgesvx_base LAPACK_GLOBAL_SUFFIX(zgesvx,ZGESVX)
void LAPACK_zgesvx_base(
    char const* fact, char const* trans,
    lapack_int const* n, lapack_int const* nrhs,
    lapack_complex_double* A, lapack_int const* lda,
    lapack_complex_double* AF, lapack_int const* ldaf, lapack_int* ipiv, char* equed,
    double* R,
    double* C,
    lapack_complex_double* B,
    lapack_int const* ldb,
    lapack_complex_double* X, lapack_int const* ldx,
    double* rcond,
    double* ferr,
    double* berr,
    lapack_complex_double* work,
    double* rwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_zgesvx(...) LAPACK_zgesvx_base(__VA_ARGS__, 1, 1, 1)
#else
    #define LAPACK_zgesvx(...) LAPACK_zgesvx_base(__VA_ARGS__)
#endif

#define LAPACK_cgesvxx_base LAPACK_GLOBAL_SUFFIX(cgesvxx,CGESVXX)
void LAPACK_cgesvxx_base(
    char const* fact, char const* trans,
    lapack_int const* n, lapack_int const* nrhs,
    lapack_complex_float* A, lapack_int const* lda,
    lapack_complex_float* AF, lapack_int const* ldaf, lapack_int* ipiv, char* equed,
    float* R,
    float* C,
    lapack_complex_float* B,
    lapack_int const* ldb,
    lapack_complex_float* X, lapack_int const* ldx,
    float* rcond,
    float* rpvgrw,
    float* berr, lapack_int const* n_err_bnds,
    float* err_bnds_norm,
    float* err_bnds_comp, lapack_int const* nparams,
    float* params,
    lapack_complex_float* work,
    float* rwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_cgesvxx(...) LAPACK_cgesvxx_base(__VA_ARGS__, 1, 1, 1)
#else
    #define LAPACK_cgesvxx(...) LAPACK_cgesvxx_base(__VA_ARGS__)
#endif

#define LAPACK_dgesvxx_base LAPACK_GLOBAL_SUFFIX(dgesvxx,DGESVXX)
void LAPACK_dgesvxx_base(
    char const* fact, char const* trans,
    lapack_int const* n, lapack_int const* nrhs,
    double* A, lapack_int const* lda,
    double* AF, lapack_int const* ldaf, lapack_int* ipiv, char* equed,
    double* R,
    double* C,
    double* B,
    lapack_int const* ldb,
    double* X, lapack_int const* ldx,
    double* rcond,
    double* rpvgrw,
    double* berr, lapack_int const* n_err_bnds,
    double* err_bnds_norm,
    double* err_bnds_comp, lapack_int const* nparams,
    double* params,
    double* work,
    lapack_int* iwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_dgesvxx(...) LAPACK_dgesvxx_base(__VA_ARGS__, 1, 1, 1)
#else
    #define LAPACK_dgesvxx(...) LAPACK_dgesvxx_base(__VA_ARGS__)
#endif

#define LAPACK_sgesvxx_base LAPACK_GLOBAL_SUFFIX(sgesvxx,SGESVXX)
void LAPACK_sgesvxx_base(
    char const* fact, char const* trans,
    lapack_int const* n, lapack_int const* nrhs,
    float* A, lapack_int const* lda,
    float* AF, lapack_int const* ldaf, lapack_int* ipiv, char* equed,
    float* R,
    float* C,
    float* B,
    lapack_int const* ldb,
    float* X, lapack_int const* ldx,
    float* rcond,
    float* rpvgrw,
    float* berr, lapack_int const* n_err_bnds,
    float* err_bnds_norm,
    float* err_bnds_comp, lapack_int const* nparams,
    float* params,
    float* work,
    lapack_int* iwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_sgesvxx(...) LAPACK_sgesvxx_base(__VA_ARGS__, 1, 1, 1)
#else
    #define LAPACK_sgesvxx(...) LAPACK_sgesvxx_base(__VA_ARGS__)
#endif

#define LAPACK_zgesvxx_base LAPACK_GLOBAL_SUFFIX(zgesvxx,ZGESVXX)
void LAPACK_zgesvxx_base(
    char const* fact, char const* trans,
    lapack_int const* n, lapack_int const* nrhs,
    lapack_complex_double* A, lapack_int const* lda,
    lapack_complex_double* AF, lapack_int const* ldaf, lapack_int* ipiv, char* equed,
    double* R,
    double* C,
    lapack_complex_double* B,
    lapack_int const* ldb,
    lapack_complex_double* X, lapack_int const* ldx,
    double* rcond,
    double* rpvgrw,
    double* berr, lapack_int const* n_err_bnds,
    double* err_bnds_norm,
    double* err_bnds_comp, lapack_int const* nparams,
    double* params,
    lapack_complex_double* work,
    double* rwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_zgesvxx(...) LAPACK_zgesvxx_base(__VA_ARGS__, 1, 1, 1)
#else
    #define LAPACK_zgesvxx(...) LAPACK_zgesvxx_base(__VA_ARGS__)
#endif

#define LAPACK_cgetf2 LAPACK_GLOBAL_SUFFIX(cgetf2,CGETF2)
void LAPACK_cgetf2(
    lapack_int const* m, lapack_int const* n,
    lapack_complex_float* A, lapack_int const* lda, lapack_int* ipiv,
    lapack_int* info );

#define LAPACK_dgetf2 LAPACK_GLOBAL_SUFFIX(dgetf2,DGETF2)
void LAPACK_dgetf2(
    lapack_int const* m, lapack_int const* n,
    double* A, lapack_int const* lda, lapack_int* ipiv,
    lapack_int* info );

#define LAPACK_sgetf2 LAPACK_GLOBAL_SUFFIX(sgetf2,SGETF2)
void LAPACK_sgetf2(
    lapack_int const* m, lapack_int const* n,
    float* A, lapack_int const* lda, lapack_int* ipiv,
    lapack_int* info );

#define LAPACK_zgetf2 LAPACK_GLOBAL_SUFFIX(zgetf2,ZGETF2)
void LAPACK_zgetf2(
    lapack_int const* m, lapack_int const* n,
    lapack_complex_double* A, lapack_int const* lda, lapack_int* ipiv,
    lapack_int* info );

#define LAPACK_cgetrf LAPACK_GLOBAL_SUFFIX(cgetrf,CGETRF)
void LAPACK_cgetrf(
    lapack_int const* m, lapack_int const* n,
    lapack_complex_float* A, lapack_int const* lda, lapack_int* ipiv,
    lapack_int* info );

#define LAPACK_dgetrf LAPACK_GLOBAL_SUFFIX(dgetrf,DGETRF)
void LAPACK_dgetrf(
    lapack_int const* m, lapack_int const* n,
    double* A, lapack_int const* lda, lapack_int* ipiv,
    lapack_int* info );

#define LAPACK_sgetrf LAPACK_GLOBAL_SUFFIX(sgetrf,SGETRF)
void LAPACK_sgetrf(
    lapack_int const* m, lapack_int const* n,
    float* A, lapack_int const* lda, lapack_int* ipiv,
    lapack_int* info );

#define LAPACK_zgetrf LAPACK_GLOBAL_SUFFIX(zgetrf,ZGETRF)
void LAPACK_zgetrf(
    lapack_int const* m, lapack_int const* n,
    lapack_complex_double* A, lapack_int const* lda, lapack_int* ipiv,
    lapack_int* info );

#define LAPACK_cgetrf2 LAPACK_GLOBAL_SUFFIX(cgetrf2,CGETRF2)
void LAPACK_cgetrf2(
    lapack_int const* m, lapack_int const* n,
    lapack_complex_float* A, lapack_int const* lda, lapack_int* ipiv,
    lapack_int* info );

#define LAPACK_dgetrf2 LAPACK_GLOBAL_SUFFIX(dgetrf2,DGETRF2)
void LAPACK_dgetrf2(
    lapack_int const* m, lapack_int const* n,
    double* A, lapack_int const* lda, lapack_int* ipiv,
    lapack_int* info );

#define LAPACK_sgetrf2 LAPACK_GLOBAL_SUFFIX(sgetrf2,SGETRF2)
void LAPACK_sgetrf2(
    lapack_int const* m, lapack_int const* n,
    float* A, lapack_int const* lda, lapack_int* ipiv,
    lapack_int* info );

#define LAPACK_zgetrf2 LAPACK_GLOBAL_SUFFIX(zgetrf2,ZGETRF2)
void LAPACK_zgetrf2(
    lapack_int const* m, lapack_int const* n,
    lapack_complex_double* A, lapack_int const* lda, lapack_int* ipiv,
    lapack_int* info );

#define LAPACK_cgetri LAPACK_GLOBAL_SUFFIX(cgetri,CGETRI)
void LAPACK_cgetri(
    lapack_int const* n,
    lapack_complex_float* A, lapack_int const* lda, lapack_int const* ipiv,
    lapack_complex_float* work, lapack_int const* lwork,
    lapack_int* info );

#define LAPACK_dgetri LAPACK_GLOBAL_SUFFIX(dgetri,DGETRI)
void LAPACK_dgetri(
    lapack_int const* n,
    double* A, lapack_int const* lda, lapack_int const* ipiv,
    double* work, lapack_int const* lwork,
    lapack_int* info );

#define LAPACK_sgetri LAPACK_GLOBAL_SUFFIX(sgetri,SGETRI)
void LAPACK_sgetri(
    lapack_int const* n,
    float* A, lapack_int const* lda, lapack_int const* ipiv,
    float* work, lapack_int const* lwork,
    lapack_int* info );

#define LAPACK_zgetri LAPACK_GLOBAL_SUFFIX(zgetri,ZGETRI)
void LAPACK_zgetri(
    lapack_int const* n,
    lapack_complex_double* A, lapack_int const* lda, lapack_int const* ipiv,
    lapack_complex_double* work, lapack_int const* lwork,
    lapack_int* info );

#define LAPACK_cgetrs_base LAPACK_GLOBAL_SUFFIX(cgetrs,CGETRS)
void LAPACK_cgetrs_base(
    char const* trans,
    lapack_int const* n, lapack_int const* nrhs,
    lapack_complex_float const* A, lapack_int const* lda, lapack_int const* ipiv,
    lapack_complex_float* B, lapack_int const* ldb,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_cgetrs(...) LAPACK_cgetrs_base(__VA_ARGS__, 1)
#else
    #define LAPACK_cgetrs(...) LAPACK_cgetrs_base(__VA_ARGS__)
#endif

#define LAPACK_dgetrs_base LAPACK_GLOBAL_SUFFIX(dgetrs,DGETRS)
void LAPACK_dgetrs_base(
    char const* trans,
    lapack_int const* n, lapack_int const* nrhs,
    double const* A, lapack_int const* lda, lapack_int const* ipiv,
    double* B, lapack_int const* ldb,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_dgetrs(...) LAPACK_dgetrs_base(__VA_ARGS__, 1)
#else
    #define LAPACK_dgetrs(...) LAPACK_dgetrs_base(__VA_ARGS__)
#endif

#define LAPACK_sgetrs_base LAPACK_GLOBAL_SUFFIX(sgetrs,SGETRS)
void LAPACK_sgetrs_base(
    char const* trans,
    lapack_int const* n, lapack_int const* nrhs,
    float const* A, lapack_int const* lda, lapack_int const* ipiv,
    float* B, lapack_int const* ldb,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_sgetrs(...) LAPACK_sgetrs_base(__VA_ARGS__, 1)
#else
    #define LAPACK_sgetrs(...) LAPACK_sgetrs_base(__VA_ARGS__)
#endif

#define LAPACK_zgetrs_base LAPACK_GLOBAL_SUFFIX(zgetrs,ZGETRS)
void LAPACK_zgetrs_base(
    char const* trans,
    lapack_int const* n, lapack_int const* nrhs,
    lapack_complex_double const* A, lapack_int const* lda, lapack_int const* ipiv,
    lapack_complex_double* B, lapack_int const* ldb,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_zgetrs(...) LAPACK_zgetrs_base(__VA_ARGS__, 1)
#else
    #define LAPACK_zgetrs(...) LAPACK_zgetrs_base(__VA_ARGS__)
#endif

#define LAPACK_cgetsls_base LAPACK_GLOBAL_SUFFIX(cgetsls,CGETSLS)
void LAPACK_cgetsls_base(
    char const* trans,
    lapack_int const* m, lapack_int const* n, lapack_int const* nrhs,
    lapack_complex_float* A, lapack_int const* lda,
    lapack_complex_float* B, lapack_int const* ldb,
    lapack_complex_float* work, lapack_int const* lwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_cgetsls(...) LAPACK_cgetsls_base(__VA_ARGS__, 1)
#else
    #define LAPACK_cgetsls(...) LAPACK_cgetsls_base(__VA_ARGS__)
#endif

#define LAPACK_dgetsls_base LAPACK_GLOBAL_SUFFIX(dgetsls,DGETSLS)
void LAPACK_dgetsls_base(
    char const* trans,
    lapack_int const* m, lapack_int const* n, lapack_int const* nrhs,
    double* A, lapack_int const* lda,
    double* B, lapack_int const* ldb,
    double* work, lapack_int const* lwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_dgetsls(...) LAPACK_dgetsls_base(__VA_ARGS__, 1)
#else
    #define LAPACK_dgetsls(...) LAPACK_dgetsls_base(__VA_ARGS__)
#endif

#define LAPACK_sgetsls_base LAPACK_GLOBAL_SUFFIX(sgetsls,SGETSLS)
void LAPACK_sgetsls_base(
    char const* trans,
    lapack_int const* m, lapack_int const* n, lapack_int const* nrhs,
    float* A, lapack_int const* lda,
    float* B, lapack_int const* ldb,
    float* work, lapack_int const* lwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_sgetsls(...) LAPACK_sgetsls_base(__VA_ARGS__, 1)
#else
    #define LAPACK_sgetsls(...) LAPACK_sgetsls_base(__VA_ARGS__)
#endif

#define LAPACK_zgetsls_base LAPACK_GLOBAL_SUFFIX(zgetsls,ZGETSLS)
void LAPACK_zgetsls_base(
    char const* trans,
    lapack_int const* m, lapack_int const* n, lapack_int const* nrhs,
    lapack_complex_double* A, lapack_int const* lda,
    lapack_complex_double* B, lapack_int const* ldb,
    lapack_complex_double* work, lapack_int const* lwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_zgetsls(...) LAPACK_zgetsls_base(__VA_ARGS__, 1)
#else
    #define LAPACK_zgetsls(...) LAPACK_zgetsls_base(__VA_ARGS__)
#endif

#define LAPACK_cgetsqrhrt LAPACK_GLOBAL_SUFFIX(cgetsqrhrt,CGETSQRHRT)
void LAPACK_cgetsqrhrt(
    lapack_int const* m, lapack_int const* n,
    lapack_int const* mb1, lapack_int const* nb1, lapack_int const* nb2,
    lapack_complex_float* A, lapack_int const* lda,
    lapack_complex_float* T, lapack_int const* ldt,
    lapack_complex_float* work, lapack_int const* lwork,
    lapack_int* info );

#define LAPACK_dgetsqrhrt LAPACK_GLOBAL_SUFFIX(dgetsqrhrt,DGETSQRHRT)
void LAPACK_dgetsqrhrt(
    lapack_int const* m, lapack_int const* n,
    lapack_int const* mb1, lapack_int const* nb1, lapack_int const* nb2,
    double* A, lapack_int const* lda,
    double* T, lapack_int const* ldt,
    double* work, lapack_int const* lwork,
    lapack_int* info );

#define LAPACK_sgetsqrhrt LAPACK_GLOBAL_SUFFIX(sgetsqrhrt,SGETSQRHRT)
void LAPACK_sgetsqrhrt(
    lapack_int const* m, lapack_int const* n,
    lapack_int const* mb1, lapack_int const* nb1, lapack_int const* nb2,
    float* A, lapack_int const* lda,
    float* T, lapack_int const* ldt,
    float* work, lapack_int const* lwork,
    lapack_int* info );

#define LAPACK_zgetsqrhrt LAPACK_GLOBAL_SUFFIX(zgetsqrhrt,ZGETSQRHRT)
void LAPACK_zgetsqrhrt(
    lapack_int const* m, lapack_int const* n,
    lapack_int const* mb1, lapack_int const* nb1, lapack_int const* nb2,
    lapack_complex_double* A, lapack_int const* lda,
    lapack_complex_double* T, lapack_int const* ldt,
    lapack_complex_double* work, lapack_int const* lwork,
    lapack_int* info );

#define LAPACK_cggbak_base LAPACK_GLOBAL_SUFFIX(cggbak,CGGBAK)
void LAPACK_cggbak_base(
    char const* job, char const* side,
    lapack_int const* n, lapack_int const* ilo, lapack_int const* ihi,
    float const* lscale,
    float const* rscale, lapack_int const* m,
    lapack_complex_float* V, lapack_int const* ldv,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_cggbak(...) LAPACK_cggbak_base(__VA_ARGS__, 1, 1)
#else
    #define LAPACK_cggbak(...) LAPACK_cggbak_base(__VA_ARGS__)
#endif

#define LAPACK_dggbak_base LAPACK_GLOBAL_SUFFIX(dggbak,DGGBAK)
void LAPACK_dggbak_base(
    char const* job, char const* side,
    lapack_int const* n, lapack_int const* ilo, lapack_int const* ihi,
    double const* lscale,
    double const* rscale, lapack_int const* m,
    double* V, lapack_int const* ldv,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_dggbak(...) LAPACK_dggbak_base(__VA_ARGS__, 1, 1)
#else
    #define LAPACK_dggbak(...) LAPACK_dggbak_base(__VA_ARGS__)
#endif

#define LAPACK_sggbak_base LAPACK_GLOBAL_SUFFIX(sggbak,SGGBAK)
void LAPACK_sggbak_base(
    char const* job, char const* side,
    lapack_int const* n, lapack_int const* ilo, lapack_int const* ihi,
    float const* lscale,
    float const* rscale, lapack_int const* m,
    float* V, lapack_int const* ldv,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_sggbak(...) LAPACK_sggbak_base(__VA_ARGS__, 1, 1)
#else
    #define LAPACK_sggbak(...) LAPACK_sggbak_base(__VA_ARGS__)
#endif

#define LAPACK_zggbak_base LAPACK_GLOBAL_SUFFIX(zggbak,ZGGBAK)
void LAPACK_zggbak_base(
    char const* job, char const* side,
    lapack_int const* n, lapack_int const* ilo, lapack_int const* ihi,
    double const* lscale,
    double const* rscale, lapack_int const* m,
    lapack_complex_double* V, lapack_int const* ldv,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_zggbak(...) LAPACK_zggbak_base(__VA_ARGS__, 1, 1)
#else
    #define LAPACK_zggbak(...) LAPACK_zggbak_base(__VA_ARGS__)
#endif

#define LAPACK_cggbal_base LAPACK_GLOBAL_SUFFIX(cggbal,CGGBAL)
void LAPACK_cggbal_base(
    char const* job,
    lapack_int const* n,
    lapack_complex_float* A, lapack_int const* lda,
    lapack_complex_float* B, lapack_int const* ldb, lapack_int* ilo, lapack_int* ihi,
    float* lscale,
    float* rscale,
    float* work,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_cggbal(...) LAPACK_cggbal_base(__VA_ARGS__, 1)
#else
    #define LAPACK_cggbal(...) LAPACK_cggbal_base(__VA_ARGS__)
#endif

#define LAPACK_dggbal_base LAPACK_GLOBAL_SUFFIX(dggbal,DGGBAL)
void LAPACK_dggbal_base(
    char const* job,
    lapack_int const* n,
    double* A, lapack_int const* lda,
    double* B, lapack_int const* ldb, lapack_int* ilo, lapack_int* ihi,
    double* lscale,
    double* rscale,
    double* work,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_dggbal(...) LAPACK_dggbal_base(__VA_ARGS__, 1)
#else
    #define LAPACK_dggbal(...) LAPACK_dggbal_base(__VA_ARGS__)
#endif

#define LAPACK_sggbal_base LAPACK_GLOBAL_SUFFIX(sggbal,SGGBAL)
void LAPACK_sggbal_base(
    char const* job,
    lapack_int const* n,
    float* A, lapack_int const* lda,
    float* B, lapack_int const* ldb, lapack_int* ilo, lapack_int* ihi,
    float* lscale,
    float* rscale,
    float* work,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_sggbal(...) LAPACK_sggbal_base(__VA_ARGS__, 1)
#else
    #define LAPACK_sggbal(...) LAPACK_sggbal_base(__VA_ARGS__)
#endif

#define LAPACK_zggbal_base LAPACK_GLOBAL_SUFFIX(zggbal,ZGGBAL)
void LAPACK_zggbal_base(
    char const* job,
    lapack_int const* n,
    lapack_complex_double* A, lapack_int const* lda,
    lapack_complex_double* B, lapack_int const* ldb, lapack_int* ilo, lapack_int* ihi,
    double* lscale,
    double* rscale,
    double* work,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_zggbal(...) LAPACK_zggbal_base(__VA_ARGS__, 1)
#else
    #define LAPACK_zggbal(...) LAPACK_zggbal_base(__VA_ARGS__)
#endif

#define LAPACK_cgges_base LAPACK_GLOBAL_SUFFIX(cgges,CGGES)
void LAPACK_cgges_base(
    char const* jobvsl, char const* jobvsr, char const* sort, LAPACK_C_SELECT2 selctg,
    lapack_int const* n,
    lapack_complex_float* A, lapack_int const* lda,
    lapack_complex_float* B, lapack_int const* ldb, lapack_int* sdim,
    lapack_complex_float* alpha,
    lapack_complex_float* beta,
    lapack_complex_float* VSL, lapack_int const* ldvsl,
    lapack_complex_float* VSR, lapack_int const* ldvsr,
    lapack_complex_float* work, lapack_int const* lwork,
    float* rwork, lapack_logical* BWORK,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_cgges(...) LAPACK_cgges_base(__VA_ARGS__, 1, 1, 1)
#else
    #define LAPACK_cgges(...) LAPACK_cgges_base(__VA_ARGS__)
#endif

#define LAPACK_dgges_base LAPACK_GLOBAL_SUFFIX(dgges,DGGES)
void LAPACK_dgges_base(
    char const* jobvsl, char const* jobvsr, char const* sort, LAPACK_D_SELECT3 selctg,
    lapack_int const* n,
    double* A, lapack_int const* lda,
    double* B, lapack_int const* ldb, lapack_int* sdim,
    double* alphar,
    double* alphai,
    double* beta,
    double* VSL, lapack_int const* ldvsl,
    double* VSR, lapack_int const* ldvsr,
    double* work, lapack_int const* lwork, lapack_logical* BWORK,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_dgges(...) LAPACK_dgges_base(__VA_ARGS__, 1, 1, 1)
#else
    #define LAPACK_dgges(...) LAPACK_dgges_base(__VA_ARGS__)
#endif

#define LAPACK_sgges_base LAPACK_GLOBAL_SUFFIX(sgges,SGGES)
void LAPACK_sgges_base(
    char const* jobvsl, char const* jobvsr, char const* sort, LAPACK_S_SELECT3 selctg,
    lapack_int const* n,
    float* A, lapack_int const* lda,
    float* B, lapack_int const* ldb, lapack_int* sdim,
    float* alphar,
    float* alphai,
    float* beta,
    float* VSL, lapack_int const* ldvsl,
    float* VSR, lapack_int const* ldvsr,
    float* work, lapack_int const* lwork, lapack_logical* BWORK,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_sgges(...) LAPACK_sgges_base(__VA_ARGS__, 1, 1, 1)
#else
    #define LAPACK_sgges(...) LAPACK_sgges_base(__VA_ARGS__)
#endif

#define LAPACK_zgges_base LAPACK_GLOBAL_SUFFIX(zgges,ZGGES)
void LAPACK_zgges_base(
    char const* jobvsl, char const* jobvsr, char const* sort, LAPACK_Z_SELECT2 selctg,
    lapack_int const* n,
    lapack_complex_double* A, lapack_int const* lda,
    lapack_complex_double* B, lapack_int const* ldb, lapack_int* sdim,
    lapack_complex_double* alpha,
    lapack_complex_double* beta,
    lapack_complex_double* VSL, lapack_int const* ldvsl,
    lapack_complex_double* VSR, lapack_int const* ldvsr,
    lapack_complex_double* work, lapack_int const* lwork,
    double* rwork, lapack_logical* BWORK,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_zgges(...) LAPACK_zgges_base(__VA_ARGS__, 1, 1, 1)
#else
    #define LAPACK_zgges(...) LAPACK_zgges_base(__VA_ARGS__)
#endif

#define LAPACK_cgges3_base LAPACK_GLOBAL_SUFFIX(cgges3,CGGES3)
void LAPACK_cgges3_base(
    char const* jobvsl, char const* jobvsr, char const* sort, LAPACK_C_SELECT2 selctg,
    lapack_int const* n,
    lapack_complex_float* A, lapack_int const* lda,
    lapack_complex_float* B, lapack_int const* ldb, lapack_int* sdim,
    lapack_complex_float* alpha,
    lapack_complex_float* beta,
    lapack_complex_float* VSL, lapack_int const* ldvsl,
    lapack_complex_float* VSR, lapack_int const* ldvsr,
    lapack_complex_float* work, lapack_int const* lwork,
    float* rwork, lapack_logical* BWORK,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_cgges3(...) LAPACK_cgges3_base(__VA_ARGS__, 1, 1, 1)
#else
    #define LAPACK_cgges3(...) LAPACK_cgges3_base(__VA_ARGS__)
#endif

#define LAPACK_dgges3_base LAPACK_GLOBAL_SUFFIX(dgges3,DGGES3)
void LAPACK_dgges3_base(
    char const* jobvsl, char const* jobvsr, char const* sort, LAPACK_D_SELECT3 selctg,
    lapack_int const* n,
    double* A, lapack_int const* lda,
    double* B, lapack_int const* ldb, lapack_int* sdim,
    double* alphar,
    double* alphai,
    double* beta,
    double* VSL, lapack_int const* ldvsl,
    double* VSR, lapack_int const* ldvsr,
    double* work, lapack_int const* lwork, lapack_logical* BWORK,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_dgges3(...) LAPACK_dgges3_base(__VA_ARGS__, 1, 1, 1)
#else
    #define LAPACK_dgges3(...) LAPACK_dgges3_base(__VA_ARGS__)
#endif

#define LAPACK_sgges3_base LAPACK_GLOBAL_SUFFIX(sgges3,SGGES3)
void LAPACK_sgges3_base(
    char const* jobvsl, char const* jobvsr, char const* sort, LAPACK_S_SELECT3 selctg,
    lapack_int const* n,
    float* A, lapack_int const* lda,
    float* B, lapack_int const* ldb, lapack_int* sdim,
    float* alphar,
    float* alphai,
    float* beta,
    float* VSL, lapack_int const* ldvsl,
    float* VSR, lapack_int const* ldvsr,
    float* work, lapack_int const* lwork, lapack_logical* BWORK,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_sgges3(...) LAPACK_sgges3_base(__VA_ARGS__, 1, 1, 1)
#else
    #define LAPACK_sgges3(...) LAPACK_sgges3_base(__VA_ARGS__)
#endif

#define LAPACK_zgges3_base LAPACK_GLOBAL_SUFFIX(zgges3,ZGGES3)
void LAPACK_zgges3_base(
    char const* jobvsl, char const* jobvsr, char const* sort, LAPACK_Z_SELECT2 selctg,
    lapack_int const* n,
    lapack_complex_double* A, lapack_int const* lda,
    lapack_complex_double* B, lapack_int const* ldb, lapack_int* sdim,
    lapack_complex_double* alpha,
    lapack_complex_double* beta,
    lapack_complex_double* VSL, lapack_int const* ldvsl,
    lapack_complex_double* VSR, lapack_int const* ldvsr,
    lapack_complex_double* work, lapack_int const* lwork,
    double* rwork, lapack_logical* BWORK,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_zgges3(...) LAPACK_zgges3_base(__VA_ARGS__, 1, 1, 1)
#else
    #define LAPACK_zgges3(...) LAPACK_zgges3_base(__VA_ARGS__)
#endif

#define LAPACK_cggesx_base LAPACK_GLOBAL_SUFFIX(cggesx,CGGESX)
void LAPACK_cggesx_base(
    char const* jobvsl, char const* jobvsr, char const* sort, LAPACK_C_SELECT2 selctg, char const* sense,
    lapack_int const* n,
    lapack_complex_float* A, lapack_int const* lda,
    lapack_complex_float* B, lapack_int const* ldb, lapack_int* sdim,
    lapack_complex_float* alpha,
    lapack_complex_float* beta,
    lapack_complex_float* VSL, lapack_int const* ldvsl,
    lapack_complex_float* VSR, lapack_int const* ldvsr,
    float* rconde,
    float* rcondv,
    lapack_complex_float* work, lapack_int const* lwork,
    float* rwork,
    lapack_int* iwork, lapack_int const* liwork, lapack_logical* BWORK,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN, FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_cggesx(...) LAPACK_cggesx_base(__VA_ARGS__, 1, 1, 1, 1)
#else
    #define LAPACK_cggesx(...) LAPACK_cggesx_base(__VA_ARGS__)
#endif

#define LAPACK_dggesx_base LAPACK_GLOBAL_SUFFIX(dggesx,DGGESX)
void LAPACK_dggesx_base(
    char const* jobvsl, char const* jobvsr, char const* sort, LAPACK_D_SELECT3 selctg, char const* sense,
    lapack_int const* n,
    double* A, lapack_int const* lda,
    double* B, lapack_int const* ldb, lapack_int* sdim,
    double* alphar,
    double* alphai,
    double* beta,
    double* VSL, lapack_int const* ldvsl,
    double* VSR, lapack_int const* ldvsr,
    double* rconde,
    double* rcondv,
    double* work, lapack_int const* lwork,
    lapack_int* iwork, lapack_int const* liwork, lapack_logical* BWORK,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN, FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_dggesx(...) LAPACK_dggesx_base(__VA_ARGS__, 1, 1, 1, 1)
#else
    #define LAPACK_dggesx(...) LAPACK_dggesx_base(__VA_ARGS__)
#endif

#define LAPACK_sggesx_base LAPACK_GLOBAL_SUFFIX(sggesx,SGGESX)
void LAPACK_sggesx_base(
    char const* jobvsl, char const* jobvsr, char const* sort, LAPACK_S_SELECT3 selctg, char const* sense,
    lapack_int const* n,
    float* A, lapack_int const* lda,
    float* B, lapack_int const* ldb, lapack_int* sdim,
    float* alphar,
    float* alphai,
    float* beta,
    float* VSL, lapack_int const* ldvsl,
    float* VSR, lapack_int const* ldvsr,
    float* rconde,
    float* rcondv,
    float* work, lapack_int const* lwork,
    lapack_int* iwork, lapack_int const* liwork, lapack_logical* BWORK,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN, FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_sggesx(...) LAPACK_sggesx_base(__VA_ARGS__, 1, 1, 1, 1)
#else
    #define LAPACK_sggesx(...) LAPACK_sggesx_base(__VA_ARGS__)
#endif

#define LAPACK_zggesx_base LAPACK_GLOBAL_SUFFIX(zggesx,ZGGESX)
void LAPACK_zggesx_base(
    char const* jobvsl, char const* jobvsr, char const* sort, LAPACK_Z_SELECT2 selctg, char const* sense,
    lapack_int const* n,
    lapack_complex_double* A, lapack_int const* lda,
    lapack_complex_double* B, lapack_int const* ldb, lapack_int* sdim,
    lapack_complex_double* alpha,
    lapack_complex_double* beta,
    lapack_complex_double* VSL, lapack_int const* ldvsl,
    lapack_complex_double* VSR, lapack_int const* ldvsr,
    double* rconde,
    double* rcondv,
    lapack_complex_double* work, lapack_int const* lwork,
    double* rwork,
    lapack_int* iwork, lapack_int const* liwork, lapack_logical* BWORK,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN, FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_zggesx(...) LAPACK_zggesx_base(__VA_ARGS__, 1, 1, 1, 1)
#else
    #define LAPACK_zggesx(...) LAPACK_zggesx_base(__VA_ARGS__)
#endif

#define LAPACK_cggev_base LAPACK_GLOBAL_SUFFIX(cggev,CGGEV)
void LAPACK_cggev_base(
    char const* jobvl, char const* jobvr,
    lapack_int const* n,
    lapack_complex_float* A, lapack_int const* lda,
    lapack_complex_float* B, lapack_int const* ldb,
    lapack_complex_float* alpha,
    lapack_complex_float* beta,
    lapack_complex_float* VL, lapack_int const* ldvl,
    lapack_complex_float* VR, lapack_int const* ldvr,
    lapack_complex_float* work, lapack_int const* lwork,
    float* rwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_cggev(...) LAPACK_cggev_base(__VA_ARGS__, 1, 1)
#else
    #define LAPACK_cggev(...) LAPACK_cggev_base(__VA_ARGS__)
#endif

#define LAPACK_dggev_base LAPACK_GLOBAL_SUFFIX(dggev,DGGEV)
void LAPACK_dggev_base(
    char const* jobvl, char const* jobvr,
    lapack_int const* n,
    double* A, lapack_int const* lda,
    double* B, lapack_int const* ldb,
    double* alphar,
    double* alphai,
    double* beta,
    double* VL, lapack_int const* ldvl,
    double* VR, lapack_int const* ldvr,
    double* work, lapack_int const* lwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_dggev(...) LAPACK_dggev_base(__VA_ARGS__, 1, 1)
#else
    #define LAPACK_dggev(...) LAPACK_dggev_base(__VA_ARGS__)
#endif

#define LAPACK_sggev_base LAPACK_GLOBAL_SUFFIX(sggev,SGGEV)
void LAPACK_sggev_base(
    char const* jobvl, char const* jobvr,
    lapack_int const* n,
    float* A, lapack_int const* lda,
    float* B, lapack_int const* ldb,
    float* alphar,
    float* alphai,
    float* beta,
    float* VL, lapack_int const* ldvl,
    float* VR, lapack_int const* ldvr,
    float* work, lapack_int const* lwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_sggev(...) LAPACK_sggev_base(__VA_ARGS__, 1, 1)
#else
    #define LAPACK_sggev(...) LAPACK_sggev_base(__VA_ARGS__)
#endif

#define LAPACK_zggev_base LAPACK_GLOBAL_SUFFIX(zggev,ZGGEV)
void LAPACK_zggev_base(
    char const* jobvl, char const* jobvr,
    lapack_int const* n,
    lapack_complex_double* A, lapack_int const* lda,
    lapack_complex_double* B, lapack_int const* ldb,
    lapack_complex_double* alpha,
    lapack_complex_double* beta,
    lapack_complex_double* VL, lapack_int const* ldvl,
    lapack_complex_double* VR, lapack_int const* ldvr,
    lapack_complex_double* work, lapack_int const* lwork,
    double* rwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_zggev(...) LAPACK_zggev_base(__VA_ARGS__, 1, 1)
#else
    #define LAPACK_zggev(...) LAPACK_zggev_base(__VA_ARGS__)
#endif

#define LAPACK_cggev3_base LAPACK_GLOBAL_SUFFIX(cggev3,CGGEV3)
void LAPACK_cggev3_base(
    char const* jobvl, char const* jobvr,
    lapack_int const* n,
    lapack_complex_float* A, lapack_int const* lda,
    lapack_complex_float* B, lapack_int const* ldb,
    lapack_complex_float* alpha,
    lapack_complex_float* beta,
    lapack_complex_float* VL, lapack_int const* ldvl,
    lapack_complex_float* VR, lapack_int const* ldvr,
    lapack_complex_float* work, lapack_int const* lwork,
    float* rwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_cggev3(...) LAPACK_cggev3_base(__VA_ARGS__, 1, 1)
#else
    #define LAPACK_cggev3(...) LAPACK_cggev3_base(__VA_ARGS__)
#endif

#define LAPACK_dggev3_base LAPACK_GLOBAL_SUFFIX(dggev3,DGGEV3)
void LAPACK_dggev3_base(
    char const* jobvl, char const* jobvr,
    lapack_int const* n,
    double* A, lapack_int const* lda,
    double* B, lapack_int const* ldb,
    double* alphar,
    double* alphai,
    double* beta,
    double* VL, lapack_int const* ldvl,
    double* VR, lapack_int const* ldvr,
    double* work, lapack_int const* lwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_dggev3(...) LAPACK_dggev3_base(__VA_ARGS__, 1, 1)
#else
    #define LAPACK_dggev3(...) LAPACK_dggev3_base(__VA_ARGS__)
#endif

#define LAPACK_sggev3_base LAPACK_GLOBAL_SUFFIX(sggev3,SGGEV3)
void LAPACK_sggev3_base(
    char const* jobvl, char const* jobvr,
    lapack_int const* n,
    float* A, lapack_int const* lda,
    float* B, lapack_int const* ldb,
    float* alphar,
    float* alphai,
    float* beta,
    float* VL, lapack_int const* ldvl,
    float* VR, lapack_int const* ldvr,
    float* work, lapack_int const* lwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_sggev3(...) LAPACK_sggev3_base(__VA_ARGS__, 1, 1)
#else
    #define LAPACK_sggev3(...) LAPACK_sggev3_base(__VA_ARGS__)
#endif

#define LAPACK_zggev3_base LAPACK_GLOBAL_SUFFIX(zggev3,ZGGEV3)
void LAPACK_zggev3_base(
    char const* jobvl, char const* jobvr,
    lapack_int const* n,
    lapack_complex_double* A, lapack_int const* lda,
    lapack_complex_double* B, lapack_int const* ldb,
    lapack_complex_double* alpha,
    lapack_complex_double* beta,
    lapack_complex_double* VL, lapack_int const* ldvl,
    lapack_complex_double* VR, lapack_int const* ldvr,
    lapack_complex_double* work, lapack_int const* lwork,
    double* rwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_zggev3(...) LAPACK_zggev3_base(__VA_ARGS__, 1, 1)
#else
    #define LAPACK_zggev3(...) LAPACK_zggev3_base(__VA_ARGS__)
#endif

#define LAPACK_cggevx_base LAPACK_GLOBAL_SUFFIX(cggevx,CGGEVX)
void LAPACK_cggevx_base(
    char const* balanc, char const* jobvl, char const* jobvr, char const* sense,
    lapack_int const* n,
    lapack_complex_float* A, lapack_int const* lda,
    lapack_complex_float* B, lapack_int const* ldb,
    lapack_complex_float* alpha,
    lapack_complex_float* beta,
    lapack_complex_float* VL, lapack_int const* ldvl,
    lapack_complex_float* VR, lapack_int const* ldvr, lapack_int* ilo, lapack_int* ihi,
    float* lscale,
    float* rscale,
    float* abnrm,
    float* bbnrm,
    float* rconde,
    float* rcondv,
    lapack_complex_float* work, lapack_int const* lwork,
    float* rwork,
    lapack_int* iwork, lapack_logical* BWORK,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN, FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_cggevx(...) LAPACK_cggevx_base(__VA_ARGS__, 1, 1, 1, 1)
#else
    #define LAPACK_cggevx(...) LAPACK_cggevx_base(__VA_ARGS__)
#endif

#define LAPACK_dggevx_base LAPACK_GLOBAL_SUFFIX(dggevx,DGGEVX)
void LAPACK_dggevx_base(
    char const* balanc, char const* jobvl, char const* jobvr, char const* sense,
    lapack_int const* n,
    double* A, lapack_int const* lda,
    double* B, lapack_int const* ldb,
    double* alphar,
    double* alphai,
    double* beta,
    double* VL, lapack_int const* ldvl,
    double* VR, lapack_int const* ldvr, lapack_int* ilo, lapack_int* ihi,
    double* lscale,
    double* rscale,
    double* abnrm,
    double* bbnrm,
    double* rconde,
    double* rcondv,
    double* work, lapack_int const* lwork,
    lapack_int* iwork, lapack_logical* BWORK,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN, FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_dggevx(...) LAPACK_dggevx_base(__VA_ARGS__, 1, 1, 1, 1)
#else
    #define LAPACK_dggevx(...) LAPACK_dggevx_base(__VA_ARGS__)
#endif

#define LAPACK_sggevx_base LAPACK_GLOBAL_SUFFIX(sggevx,SGGEVX)
void LAPACK_sggevx_base(
    char const* balanc, char const* jobvl, char const* jobvr, char const* sense,
    lapack_int const* n,
    float* A, lapack_int const* lda,
    float* B, lapack_int const* ldb,
    float* alphar,
    float* alphai,
    float* beta,
    float* VL, lapack_int const* ldvl,
    float* VR, lapack_int const* ldvr, lapack_int* ilo, lapack_int* ihi,
    float* lscale,
    float* rscale,
    float* abnrm,
    float* bbnrm,
    float* rconde,
    float* rcondv,
    float* work, lapack_int const* lwork,
    lapack_int* iwork, lapack_logical* BWORK,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN, FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_sggevx(...) LAPACK_sggevx_base(__VA_ARGS__, 1, 1, 1, 1)
#else
    #define LAPACK_sggevx(...) LAPACK_sggevx_base(__VA_ARGS__)
#endif

#define LAPACK_zggevx_base LAPACK_GLOBAL_SUFFIX(zggevx,ZGGEVX)
void LAPACK_zggevx_base(
    char const* balanc, char const* jobvl, char const* jobvr, char const* sense,
    lapack_int const* n,
    lapack_complex_double* A, lapack_int const* lda,
    lapack_complex_double* B, lapack_int const* ldb,
    lapack_complex_double* alpha,
    lapack_complex_double* beta,
    lapack_complex_double* VL, lapack_int const* ldvl,
    lapack_complex_double* VR, lapack_int const* ldvr, lapack_int* ilo, lapack_int* ihi,
    double* lscale,
    double* rscale,
    double* abnrm,
    double* bbnrm,
    double* rconde,
    double* rcondv,
    lapack_complex_double* work, lapack_int const* lwork,
    double* rwork,
    lapack_int* iwork, lapack_logical* BWORK,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN, FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_zggevx(...) LAPACK_zggevx_base(__VA_ARGS__, 1, 1, 1, 1)
#else
    #define LAPACK_zggevx(...) LAPACK_zggevx_base(__VA_ARGS__)
#endif

#define LAPACK_cggglm LAPACK_GLOBAL_SUFFIX(cggglm,CGGGLM)
void LAPACK_cggglm(
    lapack_int const* n, lapack_int const* m, lapack_int const* p,
    lapack_complex_float* A, lapack_int const* lda,
    lapack_complex_float* B, lapack_int const* ldb,
    lapack_complex_float* D,
    lapack_complex_float* X,
    lapack_complex_float* Y,
    lapack_complex_float* work, lapack_int const* lwork,
    lapack_int* info );

#define LAPACK_dggglm LAPACK_GLOBAL_SUFFIX(dggglm,DGGGLM)
void LAPACK_dggglm(
    lapack_int const* n, lapack_int const* m, lapack_int const* p,
    double* A, lapack_int const* lda,
    double* B, lapack_int const* ldb,
    double* D,
    double* X,
    double* Y,
    double* work, lapack_int const* lwork,
    lapack_int* info );

#define LAPACK_sggglm LAPACK_GLOBAL_SUFFIX(sggglm,SGGGLM)
void LAPACK_sggglm(
    lapack_int const* n, lapack_int const* m, lapack_int const* p,
    float* A, lapack_int const* lda,
    float* B, lapack_int const* ldb,
    float* D,
    float* X,
    float* Y,
    float* work, lapack_int const* lwork,
    lapack_int* info );

#define LAPACK_zggglm LAPACK_GLOBAL_SUFFIX(zggglm,ZGGGLM)
void LAPACK_zggglm(
    lapack_int const* n, lapack_int const* m, lapack_int const* p,
    lapack_complex_double* A, lapack_int const* lda,
    lapack_complex_double* B, lapack_int const* ldb,
    lapack_complex_double* D,
    lapack_complex_double* X,
    lapack_complex_double* Y,
    lapack_complex_double* work, lapack_int const* lwork,
    lapack_int* info );

#define LAPACK_cgghd3_base LAPACK_GLOBAL_SUFFIX(cgghd3,CGGHD3)
void LAPACK_cgghd3_base(
    char const* compq, char const* compz,
    lapack_int const* n, lapack_int const* ilo, lapack_int const* ihi,
    lapack_complex_float* A, lapack_int const* lda,
    lapack_complex_float* B, lapack_int const* ldb,
    lapack_complex_float* Q, lapack_int const* ldq,
    lapack_complex_float* Z, lapack_int const* ldz,
    lapack_complex_float* work, lapack_int const* lwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_cgghd3(...) LAPACK_cgghd3_base(__VA_ARGS__, 1, 1)
#else
    #define LAPACK_cgghd3(...) LAPACK_cgghd3_base(__VA_ARGS__)
#endif

#define LAPACK_dgghd3_base LAPACK_GLOBAL_SUFFIX(dgghd3,DGGHD3)
void LAPACK_dgghd3_base(
    char const* compq, char const* compz,
    lapack_int const* n, lapack_int const* ilo, lapack_int const* ihi,
    double* A, lapack_int const* lda,
    double* B, lapack_int const* ldb,
    double* Q, lapack_int const* ldq,
    double* Z, lapack_int const* ldz,
    double* work, lapack_int const* lwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_dgghd3(...) LAPACK_dgghd3_base(__VA_ARGS__, 1, 1)
#else
    #define LAPACK_dgghd3(...) LAPACK_dgghd3_base(__VA_ARGS__)
#endif

#define LAPACK_sgghd3_base LAPACK_GLOBAL_SUFFIX(sgghd3,SGGHD3)
void LAPACK_sgghd3_base(
    char const* compq, char const* compz,
    lapack_int const* n, lapack_int const* ilo, lapack_int const* ihi,
    float* A, lapack_int const* lda,
    float* B, lapack_int const* ldb,
    float* Q, lapack_int const* ldq,
    float* Z, lapack_int const* ldz,
    float* work, lapack_int const* lwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_sgghd3(...) LAPACK_sgghd3_base(__VA_ARGS__, 1, 1)
#else
    #define LAPACK_sgghd3(...) LAPACK_sgghd3_base(__VA_ARGS__)
#endif

#define LAPACK_zgghd3_base LAPACK_GLOBAL_SUFFIX(zgghd3,ZGGHD3)
void LAPACK_zgghd3_base(
    char const* compq, char const* compz,
    lapack_int const* n, lapack_int const* ilo, lapack_int const* ihi,
    lapack_complex_double* A, lapack_int const* lda,
    lapack_complex_double* B, lapack_int const* ldb,
    lapack_complex_double* Q, lapack_int const* ldq,
    lapack_complex_double* Z, lapack_int const* ldz,
    lapack_complex_double* work, lapack_int const* lwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_zgghd3(...) LAPACK_zgghd3_base(__VA_ARGS__, 1, 1)
#else
    #define LAPACK_zgghd3(...) LAPACK_zgghd3_base(__VA_ARGS__)
#endif

#define LAPACK_cgghrd_base LAPACK_GLOBAL_SUFFIX(cgghrd,CGGHRD)
void LAPACK_cgghrd_base(
    char const* compq, char const* compz,
    lapack_int const* n, lapack_int const* ilo, lapack_int const* ihi,
    lapack_complex_float* A, lapack_int const* lda,
    lapack_complex_float* B, lapack_int const* ldb,
    lapack_complex_float* Q, lapack_int const* ldq,
    lapack_complex_float* Z, lapack_int const* ldz,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_cgghrd(...) LAPACK_cgghrd_base(__VA_ARGS__, 1, 1)
#else
    #define LAPACK_cgghrd(...) LAPACK_cgghrd_base(__VA_ARGS__)
#endif

#define LAPACK_dgghrd_base LAPACK_GLOBAL_SUFFIX(dgghrd,DGGHRD)
void LAPACK_dgghrd_base(
    char const* compq, char const* compz,
    lapack_int const* n, lapack_int const* ilo, lapack_int const* ihi,
    double* A, lapack_int const* lda,
    double* B, lapack_int const* ldb,
    double* Q, lapack_int const* ldq,
    double* Z, lapack_int const* ldz,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_dgghrd(...) LAPACK_dgghrd_base(__VA_ARGS__, 1, 1)
#else
    #define LAPACK_dgghrd(...) LAPACK_dgghrd_base(__VA_ARGS__)
#endif

#define LAPACK_sgghrd_base LAPACK_GLOBAL_SUFFIX(sgghrd,SGGHRD)
void LAPACK_sgghrd_base(
    char const* compq, char const* compz,
    lapack_int const* n, lapack_int const* ilo, lapack_int const* ihi,
    float* A, lapack_int const* lda,
    float* B, lapack_int const* ldb,
    float* Q, lapack_int const* ldq,
    float* Z, lapack_int const* ldz,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_sgghrd(...) LAPACK_sgghrd_base(__VA_ARGS__, 1, 1)
#else
    #define LAPACK_sgghrd(...) LAPACK_sgghrd_base(__VA_ARGS__)
#endif

#define LAPACK_zgghrd_base LAPACK_GLOBAL_SUFFIX(zgghrd,ZGGHRD)
void LAPACK_zgghrd_base(
    char const* compq, char const* compz,
    lapack_int const* n, lapack_int const* ilo, lapack_int const* ihi,
    lapack_complex_double* A, lapack_int const* lda,
    lapack_complex_double* B, lapack_int const* ldb,
    lapack_complex_double* Q, lapack_int const* ldq,
    lapack_complex_double* Z, lapack_int const* ldz,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_zgghrd(...) LAPACK_zgghrd_base(__VA_ARGS__, 1, 1)
#else
    #define LAPACK_zgghrd(...) LAPACK_zgghrd_base(__VA_ARGS__)
#endif

#define LAPACK_cgglse LAPACK_GLOBAL_SUFFIX(cgglse,CGGLSE)
void LAPACK_cgglse(
    lapack_int const* m, lapack_int const* n, lapack_int const* p,
    lapack_complex_float* A, lapack_int const* lda,
    lapack_complex_float* B, lapack_int const* ldb,
    lapack_complex_float* C,
    lapack_complex_float* D,
    lapack_complex_float* X,
    lapack_complex_float* work, lapack_int const* lwork,
    lapack_int* info );

#define LAPACK_dgglse LAPACK_GLOBAL_SUFFIX(dgglse,DGGLSE)
void LAPACK_dgglse(
    lapack_int const* m, lapack_int const* n, lapack_int const* p,
    double* A, lapack_int const* lda,
    double* B, lapack_int const* ldb,
    double* C,
    double* D,
    double* X,
    double* work, lapack_int const* lwork,
    lapack_int* info );

#define LAPACK_sgglse LAPACK_GLOBAL_SUFFIX(sgglse,SGGLSE)
void LAPACK_sgglse(
    lapack_int const* m, lapack_int const* n, lapack_int const* p,
    float* A, lapack_int const* lda,
    float* B, lapack_int const* ldb,
    float* C,
    float* D,
    float* X,
    float* work, lapack_int const* lwork,
    lapack_int* info );

#define LAPACK_zgglse LAPACK_GLOBAL_SUFFIX(zgglse,ZGGLSE)
void LAPACK_zgglse(
    lapack_int const* m, lapack_int const* n, lapack_int const* p,
    lapack_complex_double* A, lapack_int const* lda,
    lapack_complex_double* B, lapack_int const* ldb,
    lapack_complex_double* C,
    lapack_complex_double* D,
    lapack_complex_double* X,
    lapack_complex_double* work, lapack_int const* lwork,
    lapack_int* info );

#define LAPACK_cggqrf LAPACK_GLOBAL_SUFFIX(cggqrf,CGGQRF)
void LAPACK_cggqrf(
    lapack_int const* n, lapack_int const* m, lapack_int const* p,
    lapack_complex_float* A, lapack_int const* lda,
    lapack_complex_float* taua,
    lapack_complex_float* B, lapack_int const* ldb,
    lapack_complex_float* taub,
    lapack_complex_float* work, lapack_int const* lwork,
    lapack_int* info );

#define LAPACK_dggqrf LAPACK_GLOBAL_SUFFIX(dggqrf,DGGQRF)
void LAPACK_dggqrf(
    lapack_int const* n, lapack_int const* m, lapack_int const* p,
    double* A, lapack_int const* lda,
    double* taua,
    double* B, lapack_int const* ldb,
    double* taub,
    double* work, lapack_int const* lwork,
    lapack_int* info );

#define LAPACK_sggqrf LAPACK_GLOBAL_SUFFIX(sggqrf,SGGQRF)
void LAPACK_sggqrf(
    lapack_int const* n, lapack_int const* m, lapack_int const* p,
    float* A, lapack_int const* lda,
    float* taua,
    float* B, lapack_int const* ldb,
    float* taub,
    float* work, lapack_int const* lwork,
    lapack_int* info );

#define LAPACK_zggqrf LAPACK_GLOBAL_SUFFIX(zggqrf,ZGGQRF)
void LAPACK_zggqrf(
    lapack_int const* n, lapack_int const* m, lapack_int const* p,
    lapack_complex_double* A, lapack_int const* lda,
    lapack_complex_double* taua,
    lapack_complex_double* B, lapack_int const* ldb,
    lapack_complex_double* taub,
    lapack_complex_double* work, lapack_int const* lwork,
    lapack_int* info );

#define LAPACK_cggrqf LAPACK_GLOBAL_SUFFIX(cggrqf,CGGRQF)
void LAPACK_cggrqf(
    lapack_int const* m, lapack_int const* p, lapack_int const* n,
    lapack_complex_float* A, lapack_int const* lda,
    lapack_complex_float* taua,
    lapack_complex_float* B, lapack_int const* ldb,
    lapack_complex_float* taub,
    lapack_complex_float* work, lapack_int const* lwork,
    lapack_int* info );

#define LAPACK_dggrqf LAPACK_GLOBAL_SUFFIX(dggrqf,DGGRQF)
void LAPACK_dggrqf(
    lapack_int const* m, lapack_int const* p, lapack_int const* n,
    double* A, lapack_int const* lda,
    double* taua,
    double* B, lapack_int const* ldb,
    double* taub,
    double* work, lapack_int const* lwork,
    lapack_int* info );

#define LAPACK_sggrqf LAPACK_GLOBAL_SUFFIX(sggrqf,SGGRQF)
void LAPACK_sggrqf(
    lapack_int const* m, lapack_int const* p, lapack_int const* n,
    float* A, lapack_int const* lda,
    float* taua,
    float* B, lapack_int const* ldb,
    float* taub,
    float* work, lapack_int const* lwork,
    lapack_int* info );

#define LAPACK_zggrqf LAPACK_GLOBAL_SUFFIX(zggrqf,ZGGRQF)
void LAPACK_zggrqf(
    lapack_int const* m, lapack_int const* p, lapack_int const* n,
    lapack_complex_double* A, lapack_int const* lda,
    lapack_complex_double* taua,
    lapack_complex_double* B, lapack_int const* ldb,
    lapack_complex_double* taub,
    lapack_complex_double* work, lapack_int const* lwork,
    lapack_int* info );

#define LAPACK_cggsvd_base LAPACK_GLOBAL_SUFFIX(cggsvd,CGGSVD)
lapack_int LAPACK_cggsvd_base(
    char const* jobu, char const* jobv, char const* jobq,
    lapack_int const* m, lapack_int const* n, lapack_int const* p,
    lapack_int* k, lapack_int* l,
    lapack_complex_float* a, lapack_int const* lda,
    lapack_complex_float* b, lapack_int const* ldb,
    float* alpha, float* beta,
    lapack_complex_float* u, lapack_int const* ldu,
    lapack_complex_float* v, lapack_int const* ldv,
    lapack_complex_float* q, lapack_int const* ldq,
    lapack_complex_float* work, float* rwork,
    lapack_int* iwork, lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_cggsvd(...) LAPACK_cggsvd_base(__VA_ARGS__, 1, 1, 1)
#else
    #define LAPACK_cggsvd(...) LAPACK_cggsvd_base(__VA_ARGS__)
#endif

#define LAPACK_sggsvd_base LAPACK_GLOBAL_SUFFIX(sggsvd,SGGSVD)
lapack_int LAPACK_sggsvd_base(
    char const* jobu, char const* jobv, char const* jobq,
    lapack_int const* m, lapack_int const* n, lapack_int const* p,
    lapack_int* k, lapack_int* l,
    float* a, lapack_int const* lda,
    float* b, lapack_int const* ldb,
    float* alpha, float* beta,
    float* u, lapack_int const* ldu,
    float* v, lapack_int const* ldv,
    float* q, lapack_int const* ldq,
    float* work, lapack_int* iwork, lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_sggsvd(...) LAPACK_sggsvd_base(__VA_ARGS__, 1, 1, 1)
#else
    #define LAPACK_sggsvd(...) LAPACK_sggsvd_base(__VA_ARGS__)
#endif

#define LAPACK_dggsvd_base LAPACK_GLOBAL_SUFFIX(dggsvd,DGGSVD)
lapack_int LAPACK_dggsvd_base(
    char const* jobu, char const* jobv, char const* jobq,
    lapack_int const* m, lapack_int const* n, lapack_int const* p,
    lapack_int* k, lapack_int* l,
    double* a, lapack_int const* lda,
    double* b, lapack_int const* ldb,
    double* alpha, double* beta,
    double* u, lapack_int const* ldu,
    double* v, lapack_int const* ldv,
    double* q, lapack_int const* ldq,
    double* work, lapack_int* iwork, lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_dggsvd(...) LAPACK_dggsvd_base(__VA_ARGS__, 1, 1, 1)
#else
    #define LAPACK_dggsvd(...) LAPACK_dggsvd_base(__VA_ARGS__)
#endif

#define LAPACK_zggsvd_base LAPACK_GLOBAL_SUFFIX(zggsvd,ZGGSVD)
lapack_int LAPACK_zggsvd_base(
    char const* jobu, char const* jobv, char const* jobq,
    lapack_int const* m, lapack_int const* n, lapack_int const* p,
    lapack_int* k, lapack_int* l,
    lapack_complex_double* a, lapack_int const* lda,
    lapack_complex_double* b, lapack_int const* ldb,
    double* alpha, double* beta,
    lapack_complex_double* u, lapack_int const* ldu,
    lapack_complex_double* v, lapack_int const* ldv,
    lapack_complex_double* q, lapack_int const* ldq,
    lapack_complex_double* work, double* rwork,
    lapack_int* iwork, lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_zggsvd(...) LAPACK_zggsvd_base(__VA_ARGS__, 1, 1, 1)
#else
    #define LAPACK_zggsvd(...) LAPACK_zggsvd_base(__VA_ARGS__)
#endif

#define LAPACK_cggsvd3_base LAPACK_GLOBAL_SUFFIX(cggsvd3,CGGSVD3)
void LAPACK_cggsvd3_base(
    char const* jobu, char const* jobv, char const* jobq,
    lapack_int const* m, lapack_int const* n, lapack_int const* p, lapack_int* k, lapack_int* l,
    lapack_complex_float* A, lapack_int const* lda,
    lapack_complex_float* B, lapack_int const* ldb,
    float* alpha,
    float* beta,
    lapack_complex_float* U, lapack_int const* ldu,
    lapack_complex_float* V, lapack_int const* ldv,
    lapack_complex_float* Q, lapack_int const* ldq,
    lapack_complex_float* work, lapack_int const* lwork,
    float* rwork,
    lapack_int* iwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_cggsvd3(...) LAPACK_cggsvd3_base(__VA_ARGS__, 1, 1, 1)
#else
    #define LAPACK_cggsvd3(...) LAPACK_cggsvd3_base(__VA_ARGS__)
#endif

#define LAPACK_dggsvd3_base LAPACK_GLOBAL_SUFFIX(dggsvd3,DGGSVD3)
void LAPACK_dggsvd3_base(
    char const* jobu, char const* jobv, char const* jobq,
    lapack_int const* m, lapack_int const* n, lapack_int const* p, lapack_int* k, lapack_int* l,
    double* A, lapack_int const* lda,
    double* B, lapack_int const* ldb,
    double* alpha,
    double* beta,
    double* U, lapack_int const* ldu,
    double* V, lapack_int const* ldv,
    double* Q, lapack_int const* ldq,
    double* work, lapack_int const* lwork,
    lapack_int* iwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_dggsvd3(...) LAPACK_dggsvd3_base(__VA_ARGS__, 1, 1, 1)
#else
    #define LAPACK_dggsvd3(...) LAPACK_dggsvd3_base(__VA_ARGS__)
#endif

#define LAPACK_sggsvd3_base LAPACK_GLOBAL_SUFFIX(sggsvd3,SGGSVD3)
void LAPACK_sggsvd3_base(
    char const* jobu, char const* jobv, char const* jobq,
    lapack_int const* m, lapack_int const* n, lapack_int const* p, lapack_int* k, lapack_int* l,
    float* A, lapack_int const* lda,
    float* B, lapack_int const* ldb,
    float* alpha,
    float* beta,
    float* U, lapack_int const* ldu,
    float* V, lapack_int const* ldv,
    float* Q, lapack_int const* ldq,
    float* work, lapack_int const* lwork,
    lapack_int* iwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_sggsvd3(...) LAPACK_sggsvd3_base(__VA_ARGS__, 1, 1, 1)
#else
    #define LAPACK_sggsvd3(...) LAPACK_sggsvd3_base(__VA_ARGS__)
#endif

#define LAPACK_zggsvd3_base LAPACK_GLOBAL_SUFFIX(zggsvd3,ZGGSVD3)
void LAPACK_zggsvd3_base(
    char const* jobu, char const* jobv, char const* jobq,
    lapack_int const* m, lapack_int const* n, lapack_int const* p, lapack_int* k, lapack_int* l,
    lapack_complex_double* A, lapack_int const* lda,
    lapack_complex_double* B, lapack_int const* ldb,
    double* alpha,
    double* beta,
    lapack_complex_double* U, lapack_int const* ldu,
    lapack_complex_double* V, lapack_int const* ldv,
    lapack_complex_double* Q, lapack_int const* ldq,
    lapack_complex_double* work, lapack_int const* lwork,
    double* rwork,
    lapack_int* iwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_zggsvd3(...) LAPACK_zggsvd3_base(__VA_ARGS__, 1, 1, 1)
#else
    #define LAPACK_zggsvd3(...) LAPACK_zggsvd3_base(__VA_ARGS__)
#endif

#define LAPACK_sggsvp_base LAPACK_GLOBAL_SUFFIX(sggsvp,SGGSVP)
lapack_int LAPACK_sggsvp_base(
    char const* jobu, char const* jobv, char const* jobq,
    lapack_int const* m, lapack_int const* p, lapack_int const* n,
    float* a, lapack_int const* lda,
    float* b, lapack_int const* ldb,
    float* tola, float* tolb,
    lapack_int* k, lapack_int* l,
    float* u, lapack_int const* ldu,
    float* v, lapack_int const* ldv,
    float* q, lapack_int const* ldq,
    lapack_int* iwork, float* tau,
    float* work, lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_sggsvp(...) LAPACK_sggsvp_base(__VA_ARGS__, 1, 1, 1)
#else
    #define LAPACK_sggsvp(...) LAPACK_sggsvp_base(__VA_ARGS__)
#endif

#define LAPACK_dggsvp_base LAPACK_GLOBAL_SUFFIX(dggsvp,DGGSVP)
lapack_int LAPACK_dggsvp_base(
    char const* jobu, char const* jobv, char const* jobq,
    lapack_int const* m, lapack_int const* p, lapack_int const* n,
    double* a, lapack_int const* lda,
    double* b, lapack_int const* ldb,
    double* tola, double* tolb,
    lapack_int* k, lapack_int* l,
    double* u, lapack_int const* ldu,
    double* v, lapack_int const* ldv,
    double* q, lapack_int const* ldq,
    lapack_int* iwork, double* tau,
    double* work, lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_dggsvp(...) LAPACK_dggsvp_base(__VA_ARGS__, 1, 1, 1)
#else
    #define LAPACK_dggsvp(...) LAPACK_dggsvp_base(__VA_ARGS__)
#endif

#define LAPACK_cggsvp_base LAPACK_GLOBAL_SUFFIX(cggsvp,CGGSVP)
lapack_int LAPACK_cggsvp_base(
    char const* jobu, char const* jobv, char const* jobq,
    lapack_int const* m, lapack_int const* p, lapack_int const* n,
    lapack_complex_float* a, lapack_int const* lda,
    lapack_complex_float* b, lapack_int const* ldb,
    float* tola, float* tolb, lapack_int* k, lapack_int* l,
    lapack_complex_float* u, lapack_int const* ldu,
    lapack_complex_float* v, lapack_int const* ldv,
    lapack_complex_float* q, lapack_int const* ldq,
    lapack_int* iwork, float* rwork, lapack_complex_float* tau,
    lapack_complex_float* work, lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_cggsvp(...) LAPACK_cggsvp_base(__VA_ARGS__, 1, 1, 1)
#else
    #define LAPACK_cggsvp(...) LAPACK_cggsvp_base(__VA_ARGS__)
#endif

#define LAPACK_zggsvp_base LAPACK_GLOBAL_SUFFIX(zggsvp,ZGGSVP)
lapack_int LAPACK_zggsvp_base(
    char const* jobu, char const* jobv, char const* jobq,
    lapack_int const* m, lapack_int const* p, lapack_int const* n,
    lapack_complex_double* a, lapack_int const* lda,
    lapack_complex_double* b, lapack_int const* ldb,
    double* tola, double* tolb, lapack_int* k, lapack_int* l,
    lapack_complex_double* u, lapack_int const* ldu,
    lapack_complex_double* v, lapack_int const* ldv,
    lapack_complex_double* q, lapack_int const* ldq,
    lapack_int* iwork, double* rwork, lapack_complex_double* tau,
    lapack_complex_double* work, lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_zggsvp(...) LAPACK_zggsvp_base(__VA_ARGS__, 1, 1, 1)
#else
    #define LAPACK_zggsvp(...) LAPACK_zggsvp_base(__VA_ARGS__)
#endif

#define LAPACK_cggsvp3_base LAPACK_GLOBAL_SUFFIX(cggsvp3,CGGSVP3)
void LAPACK_cggsvp3_base(
    char const* jobu, char const* jobv, char const* jobq,
    lapack_int const* m, lapack_int const* p, lapack_int const* n,
    lapack_complex_float* A, lapack_int const* lda,
    lapack_complex_float* B, lapack_int const* ldb,
    float const* tola,
    float const* tolb, lapack_int* k, lapack_int* l,
    lapack_complex_float* U, lapack_int const* ldu,
    lapack_complex_float* V, lapack_int const* ldv,
    lapack_complex_float* Q, lapack_int const* ldq,
    lapack_int* iwork,
    float* rwork,
    lapack_complex_float* tau,
    lapack_complex_float* work, lapack_int const* lwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_cggsvp3(...) LAPACK_cggsvp3_base(__VA_ARGS__, 1, 1, 1)
#else
    #define LAPACK_cggsvp3(...) LAPACK_cggsvp3_base(__VA_ARGS__)
#endif

#define LAPACK_dggsvp3_base LAPACK_GLOBAL_SUFFIX(dggsvp3,DGGSVP3)
void LAPACK_dggsvp3_base(
    char const* jobu, char const* jobv, char const* jobq,
    lapack_int const* m, lapack_int const* p, lapack_int const* n,
    double* A, lapack_int const* lda,
    double* B, lapack_int const* ldb,
    double const* tola,
    double const* tolb, lapack_int* k, lapack_int* l,
    double* U, lapack_int const* ldu,
    double* V, lapack_int const* ldv,
    double* Q, lapack_int const* ldq,
    lapack_int* iwork,
    double* tau,
    double* work, lapack_int const* lwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_dggsvp3(...) LAPACK_dggsvp3_base(__VA_ARGS__, 1, 1, 1)
#else
    #define LAPACK_dggsvp3(...) LAPACK_dggsvp3_base(__VA_ARGS__)
#endif

#define LAPACK_sggsvp3_base LAPACK_GLOBAL_SUFFIX(sggsvp3,SGGSVP3)
void LAPACK_sggsvp3_base(
    char const* jobu, char const* jobv, char const* jobq,
    lapack_int const* m, lapack_int const* p, lapack_int const* n,
    float* A, lapack_int const* lda,
    float* B, lapack_int const* ldb,
    float const* tola,
    float const* tolb, lapack_int* k, lapack_int* l,
    float* U, lapack_int const* ldu,
    float* V, lapack_int const* ldv,
    float* Q, lapack_int const* ldq,
    lapack_int* iwork,
    float* tau,
    float* work, lapack_int const* lwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_sggsvp3(...) LAPACK_sggsvp3_base(__VA_ARGS__, 1, 1, 1)
#else
    #define LAPACK_sggsvp3(...) LAPACK_sggsvp3_base(__VA_ARGS__)
#endif

#define LAPACK_zggsvp3_base LAPACK_GLOBAL_SUFFIX(zggsvp3,ZGGSVP3)
void LAPACK_zggsvp3_base(
    char const* jobu, char const* jobv, char const* jobq,
    lapack_int const* m, lapack_int const* p, lapack_int const* n,
    lapack_complex_double* A, lapack_int const* lda,
    lapack_complex_double* B, lapack_int const* ldb,
    double const* tola,
    double const* tolb, lapack_int* k, lapack_int* l,
    lapack_complex_double* U, lapack_int const* ldu,
    lapack_complex_double* V, lapack_int const* ldv,
    lapack_complex_double* Q, lapack_int const* ldq,
    lapack_int* iwork,
    double* rwork,
    lapack_complex_double* tau,
    lapack_complex_double* work, lapack_int const* lwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_zggsvp3(...) LAPACK_zggsvp3_base(__VA_ARGS__, 1, 1, 1)
#else
    #define LAPACK_zggsvp3(...) LAPACK_zggsvp3_base(__VA_ARGS__)
#endif

#define LAPACK_cgtcon_base LAPACK_GLOBAL_SUFFIX(cgtcon,CGTCON)
void LAPACK_cgtcon_base(
    char const* norm,
    lapack_int const* n,
    lapack_complex_float const* DL,
    lapack_complex_float const* D,
    lapack_complex_float const* DU,
    lapack_complex_float const* DU2, lapack_int const* ipiv,
    float const* anorm,
    float* rcond,
    lapack_complex_float* work,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_cgtcon(...) LAPACK_cgtcon_base(__VA_ARGS__, 1)
#else
    #define LAPACK_cgtcon(...) LAPACK_cgtcon_base(__VA_ARGS__)
#endif

#define LAPACK_dgtcon_base LAPACK_GLOBAL_SUFFIX(dgtcon,DGTCON)
void LAPACK_dgtcon_base(
    char const* norm,
    lapack_int const* n,
    double const* DL,
    double const* D,
    double const* DU,
    double const* DU2, lapack_int const* ipiv,
    double const* anorm,
    double* rcond,
    double* work,
    lapack_int* iwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_dgtcon(...) LAPACK_dgtcon_base(__VA_ARGS__, 1)
#else
    #define LAPACK_dgtcon(...) LAPACK_dgtcon_base(__VA_ARGS__)
#endif

#define LAPACK_sgtcon_base LAPACK_GLOBAL_SUFFIX(sgtcon,SGTCON)
void LAPACK_sgtcon_base(
    char const* norm,
    lapack_int const* n,
    float const* DL,
    float const* D,
    float const* DU,
    float const* DU2, lapack_int const* ipiv,
    float const* anorm,
    float* rcond,
    float* work,
    lapack_int* iwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_sgtcon(...) LAPACK_sgtcon_base(__VA_ARGS__, 1)
#else
    #define LAPACK_sgtcon(...) LAPACK_sgtcon_base(__VA_ARGS__)
#endif

#define LAPACK_zgtcon_base LAPACK_GLOBAL_SUFFIX(zgtcon,ZGTCON)
void LAPACK_zgtcon_base(
    char const* norm,
    lapack_int const* n,
    lapack_complex_double const* DL,
    lapack_complex_double const* D,
    lapack_complex_double const* DU,
    lapack_complex_double const* DU2, lapack_int const* ipiv,
    double const* anorm,
    double* rcond,
    lapack_complex_double* work,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_zgtcon(...) LAPACK_zgtcon_base(__VA_ARGS__, 1)
#else
    #define LAPACK_zgtcon(...) LAPACK_zgtcon_base(__VA_ARGS__)
#endif

#define LAPACK_cgtrfs_base LAPACK_GLOBAL_SUFFIX(cgtrfs,CGTRFS)
void LAPACK_cgtrfs_base(
    char const* trans,
    lapack_int const* n, lapack_int const* nrhs,
    lapack_complex_float const* DL,
    lapack_complex_float const* D,
    lapack_complex_float const* DU,
    lapack_complex_float const* DLF,
    lapack_complex_float const* DF,
    lapack_complex_float const* DUF,
    lapack_complex_float const* DU2, lapack_int const* ipiv,
    lapack_complex_float const* B, lapack_int const* ldb,
    lapack_complex_float* X, lapack_int const* ldx,
    float* ferr,
    float* berr,
    lapack_complex_float* work,
    float* rwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_cgtrfs(...) LAPACK_cgtrfs_base(__VA_ARGS__, 1)
#else
    #define LAPACK_cgtrfs(...) LAPACK_cgtrfs_base(__VA_ARGS__)
#endif

#define LAPACK_dgtrfs_base LAPACK_GLOBAL_SUFFIX(dgtrfs,DGTRFS)
void LAPACK_dgtrfs_base(
    char const* trans,
    lapack_int const* n, lapack_int const* nrhs,
    double const* DL,
    double const* D,
    double const* DU,
    double const* DLF,
    double const* DF,
    double const* DUF,
    double const* DU2, lapack_int const* ipiv,
    double const* B, lapack_int const* ldb,
    double* X, lapack_int const* ldx,
    double* ferr,
    double* berr,
    double* work,
    lapack_int* iwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_dgtrfs(...) LAPACK_dgtrfs_base(__VA_ARGS__, 1)
#else
    #define LAPACK_dgtrfs(...) LAPACK_dgtrfs_base(__VA_ARGS__)
#endif

#define LAPACK_sgtrfs_base LAPACK_GLOBAL_SUFFIX(sgtrfs,SGTRFS)
void LAPACK_sgtrfs_base(
    char const* trans,
    lapack_int const* n, lapack_int const* nrhs,
    float const* DL,
    float const* D,
    float const* DU,
    float const* DLF,
    float const* DF,
    float const* DUF,
    float const* DU2, lapack_int const* ipiv,
    float const* B, lapack_int const* ldb,
    float* X, lapack_int const* ldx,
    float* ferr,
    float* berr,
    float* work,
    lapack_int* iwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_sgtrfs(...) LAPACK_sgtrfs_base(__VA_ARGS__, 1)
#else
    #define LAPACK_sgtrfs(...) LAPACK_sgtrfs_base(__VA_ARGS__)
#endif

#define LAPACK_zgtrfs_base LAPACK_GLOBAL_SUFFIX(zgtrfs,ZGTRFS)
void LAPACK_zgtrfs_base(
    char const* trans,
    lapack_int const* n, lapack_int const* nrhs,
    lapack_complex_double const* DL,
    lapack_complex_double const* D,
    lapack_complex_double const* DU,
    lapack_complex_double const* DLF,
    lapack_complex_double const* DF,
    lapack_complex_double const* DUF,
    lapack_complex_double const* DU2, lapack_int const* ipiv,
    lapack_complex_double const* B, lapack_int const* ldb,
    lapack_complex_double* X, lapack_int const* ldx,
    double* ferr,
    double* berr,
    lapack_complex_double* work,
    double* rwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_zgtrfs(...) LAPACK_zgtrfs_base(__VA_ARGS__, 1)
#else
    #define LAPACK_zgtrfs(...) LAPACK_zgtrfs_base(__VA_ARGS__)
#endif

#define LAPACK_cgtsv LAPACK_GLOBAL_SUFFIX(cgtsv,CGTSV)
void LAPACK_cgtsv(
    lapack_int const* n, lapack_int const* nrhs,
    lapack_complex_float* DL,
    lapack_complex_float* D,
    lapack_complex_float* DU,
    lapack_complex_float* B, lapack_int const* ldb,
    lapack_int* info );

#define LAPACK_dgtsv LAPACK_GLOBAL_SUFFIX(dgtsv,DGTSV)
void LAPACK_dgtsv(
    lapack_int const* n, lapack_int const* nrhs,
    double* DL,
    double* D,
    double* DU,
    double* B, lapack_int const* ldb,
    lapack_int* info );

#define LAPACK_sgtsv LAPACK_GLOBAL_SUFFIX(sgtsv,SGTSV)
void LAPACK_sgtsv(
    lapack_int const* n, lapack_int const* nrhs,
    float* DL,
    float* D,
    float* DU,
    float* B, lapack_int const* ldb,
    lapack_int* info );

#define LAPACK_zgtsv LAPACK_GLOBAL_SUFFIX(zgtsv,ZGTSV)
void LAPACK_zgtsv(
    lapack_int const* n, lapack_int const* nrhs,
    lapack_complex_double* DL,
    lapack_complex_double* D,
    lapack_complex_double* DU,
    lapack_complex_double* B, lapack_int const* ldb,
    lapack_int* info );

#define LAPACK_cgtsvx_base LAPACK_GLOBAL_SUFFIX(cgtsvx,CGTSVX)
void LAPACK_cgtsvx_base(
    char const* fact, char const* trans,
    lapack_int const* n, lapack_int const* nrhs,
    lapack_complex_float const* DL,
    lapack_complex_float const* D,
    lapack_complex_float const* DU,
    lapack_complex_float* DLF,
    lapack_complex_float* DF,
    lapack_complex_float* DUF,
    lapack_complex_float* DU2, lapack_int* ipiv,
    lapack_complex_float const* B, lapack_int const* ldb,
    lapack_complex_float* X, lapack_int const* ldx,
    float* rcond,
    float* ferr,
    float* berr,
    lapack_complex_float* work,
    float* rwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_cgtsvx(...) LAPACK_cgtsvx_base(__VA_ARGS__, 1, 1)
#else
    #define LAPACK_cgtsvx(...) LAPACK_cgtsvx_base(__VA_ARGS__)
#endif

#define LAPACK_dgtsvx_base LAPACK_GLOBAL_SUFFIX(dgtsvx,DGTSVX)
void LAPACK_dgtsvx_base(
    char const* fact, char const* trans,
    lapack_int const* n, lapack_int const* nrhs,
    double const* DL,
    double const* D,
    double const* DU,
    double* DLF,
    double* DF,
    double* DUF,
    double* DU2, lapack_int* ipiv,
    double const* B, lapack_int const* ldb,
    double* X, lapack_int const* ldx,
    double* rcond,
    double* ferr,
    double* berr,
    double* work,
    lapack_int* iwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_dgtsvx(...) LAPACK_dgtsvx_base(__VA_ARGS__, 1, 1)
#else
    #define LAPACK_dgtsvx(...) LAPACK_dgtsvx_base(__VA_ARGS__)
#endif

#define LAPACK_sgtsvx_base LAPACK_GLOBAL_SUFFIX(sgtsvx,SGTSVX)
void LAPACK_sgtsvx_base(
    char const* fact, char const* trans,
    lapack_int const* n, lapack_int const* nrhs,
    float const* DL,
    float const* D,
    float const* DU,
    float* DLF,
    float* DF,
    float* DUF,
    float* DU2, lapack_int* ipiv,
    float const* B, lapack_int const* ldb,
    float* X, lapack_int const* ldx,
    float* rcond,
    float* ferr,
    float* berr,
    float* work,
    lapack_int* iwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_sgtsvx(...) LAPACK_sgtsvx_base(__VA_ARGS__, 1, 1)
#else
    #define LAPACK_sgtsvx(...) LAPACK_sgtsvx_base(__VA_ARGS__)
#endif

#define LAPACK_zgtsvx_base LAPACK_GLOBAL_SUFFIX(zgtsvx,ZGTSVX)
void LAPACK_zgtsvx_base(
    char const* fact, char const* trans,
    lapack_int const* n, lapack_int const* nrhs,
    lapack_complex_double const* DL,
    lapack_complex_double const* D,
    lapack_complex_double const* DU,
    lapack_complex_double* DLF,
    lapack_complex_double* DF,
    lapack_complex_double* DUF,
    lapack_complex_double* DU2, lapack_int* ipiv,
    lapack_complex_double const* B, lapack_int const* ldb,
    lapack_complex_double* X, lapack_int const* ldx,
    double* rcond,
    double* ferr,
    double* berr,
    lapack_complex_double* work,
    double* rwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_zgtsvx(...) LAPACK_zgtsvx_base(__VA_ARGS__, 1, 1)
#else
    #define LAPACK_zgtsvx(...) LAPACK_zgtsvx_base(__VA_ARGS__)
#endif

#define LAPACK_cgttrf LAPACK_GLOBAL_SUFFIX(cgttrf,CGTTRF)
void LAPACK_cgttrf(
    lapack_int const* n,
    lapack_complex_float* DL,
    lapack_complex_float* D,
    lapack_complex_float* DU,
    lapack_complex_float* DU2, lapack_int* ipiv,
    lapack_int* info );

#define LAPACK_dgttrf LAPACK_GLOBAL_SUFFIX(dgttrf,DGTTRF)
void LAPACK_dgttrf(
    lapack_int const* n,
    double* DL,
    double* D,
    double* DU,
    double* DU2, lapack_int* ipiv,
    lapack_int* info );

#define LAPACK_sgttrf LAPACK_GLOBAL_SUFFIX(sgttrf,SGTTRF)
void LAPACK_sgttrf(
    lapack_int const* n,
    float* DL,
    float* D,
    float* DU,
    float* DU2, lapack_int* ipiv,
    lapack_int* info );

#define LAPACK_zgttrf LAPACK_GLOBAL_SUFFIX(zgttrf,ZGTTRF)
void LAPACK_zgttrf(
    lapack_int const* n,
    lapack_complex_double* DL,
    lapack_complex_double* D,
    lapack_complex_double* DU,
    lapack_complex_double* DU2, lapack_int* ipiv,
    lapack_int* info );

#define LAPACK_cgttrs_base LAPACK_GLOBAL_SUFFIX(cgttrs,CGTTRS)
void LAPACK_cgttrs_base(
    char const* trans,
    lapack_int const* n, lapack_int const* nrhs,
    lapack_complex_float const* DL,
    lapack_complex_float const* D,
    lapack_complex_float const* DU,
    lapack_complex_float const* DU2, lapack_int const* ipiv,
    lapack_complex_float* B, lapack_int const* ldb,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_cgttrs(...) LAPACK_cgttrs_base(__VA_ARGS__, 1)
#else
    #define LAPACK_cgttrs(...) LAPACK_cgttrs_base(__VA_ARGS__)
#endif

#define LAPACK_dgttrs_base LAPACK_GLOBAL_SUFFIX(dgttrs,DGTTRS)
void LAPACK_dgttrs_base(
    char const* trans,
    lapack_int const* n, lapack_int const* nrhs,
    double const* DL,
    double const* D,
    double const* DU,
    double const* DU2, lapack_int const* ipiv,
    double* B, lapack_int const* ldb,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_dgttrs(...) LAPACK_dgttrs_base(__VA_ARGS__, 1)
#else
    #define LAPACK_dgttrs(...) LAPACK_dgttrs_base(__VA_ARGS__)
#endif

#define LAPACK_sgttrs_base LAPACK_GLOBAL_SUFFIX(sgttrs,SGTTRS)
void LAPACK_sgttrs_base(
    char const* trans,
    lapack_int const* n, lapack_int const* nrhs,
    float const* DL,
    float const* D,
    float const* DU,
    float const* DU2, lapack_int const* ipiv,
    float* B, lapack_int const* ldb,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_sgttrs(...) LAPACK_sgttrs_base(__VA_ARGS__, 1)
#else
    #define LAPACK_sgttrs(...) LAPACK_sgttrs_base(__VA_ARGS__)
#endif

#define LAPACK_zgttrs_base LAPACK_GLOBAL_SUFFIX(zgttrs,ZGTTRS)
void LAPACK_zgttrs_base(
    char const* trans,
    lapack_int const* n, lapack_int const* nrhs,
    lapack_complex_double const* DL,
    lapack_complex_double const* D,
    lapack_complex_double const* DU,
    lapack_complex_double const* DU2, lapack_int const* ipiv,
    lapack_complex_double* B, lapack_int const* ldb,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_zgttrs(...) LAPACK_zgttrs_base(__VA_ARGS__, 1)
#else
    #define LAPACK_zgttrs(...) LAPACK_zgttrs_base(__VA_ARGS__)
#endif

#define LAPACK_chbev_base LAPACK_GLOBAL_SUFFIX(chbev,CHBEV)
void LAPACK_chbev_base(
    char const* jobz, char const* uplo,
    lapack_int const* n, lapack_int const* kd,
    lapack_complex_float* AB, lapack_int const* ldab,
    float* W,
    lapack_complex_float* Z, lapack_int const* ldz,
    lapack_complex_float* work,
    float* rwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_chbev(...) LAPACK_chbev_base(__VA_ARGS__, 1, 1)
#else
    #define LAPACK_chbev(...) LAPACK_chbev_base(__VA_ARGS__)
#endif

#define LAPACK_zhbev_base LAPACK_GLOBAL_SUFFIX(zhbev,ZHBEV)
void LAPACK_zhbev_base(
    char const* jobz, char const* uplo,
    lapack_int const* n, lapack_int const* kd,
    lapack_complex_double* AB, lapack_int const* ldab,
    double* W,
    lapack_complex_double* Z, lapack_int const* ldz,
    lapack_complex_double* work,
    double* rwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_zhbev(...) LAPACK_zhbev_base(__VA_ARGS__, 1, 1)
#else
    #define LAPACK_zhbev(...) LAPACK_zhbev_base(__VA_ARGS__)
#endif

#define LAPACK_chbev_2stage_base LAPACK_GLOBAL_SUFFIX(chbev_2stage,CHBEV_2STAGE)
void LAPACK_chbev_2stage_base(
    char const* jobz, char const* uplo,
    lapack_int const* n, lapack_int const* kd,
    lapack_complex_float* AB, lapack_int const* ldab,
    float* W,
    lapack_complex_float* Z, lapack_int const* ldz,
    lapack_complex_float* work, lapack_int const* lwork,
    float* rwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_chbev_2stage(...) LAPACK_chbev_2stage_base(__VA_ARGS__, 1, 1)
#else
    #define LAPACK_chbev_2stage(...) LAPACK_chbev_2stage_base(__VA_ARGS__)
#endif

#define LAPACK_zhbev_2stage_base LAPACK_GLOBAL_SUFFIX(zhbev_2stage,ZHBEV_2STAGE)
void LAPACK_zhbev_2stage_base(
    char const* jobz, char const* uplo,
    lapack_int const* n, lapack_int const* kd,
    lapack_complex_double* AB, lapack_int const* ldab,
    double* W,
    lapack_complex_double* Z, lapack_int const* ldz,
    lapack_complex_double* work, lapack_int const* lwork,
    double* rwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_zhbev_2stage(...) LAPACK_zhbev_2stage_base(__VA_ARGS__, 1, 1)
#else
    #define LAPACK_zhbev_2stage(...) LAPACK_zhbev_2stage_base(__VA_ARGS__)
#endif

#define LAPACK_chbevd_base LAPACK_GLOBAL_SUFFIX(chbevd,CHBEVD)
void LAPACK_chbevd_base(
    char const* jobz, char const* uplo,
    lapack_int const* n, lapack_int const* kd,
    lapack_complex_float* AB, lapack_int const* ldab,
    float* W,
    lapack_complex_float* Z, lapack_int const* ldz,
    lapack_complex_float* work, lapack_int const* lwork,
    float* rwork, lapack_int const* lrwork,
    lapack_int* iwork, lapack_int const* liwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_chbevd(...) LAPACK_chbevd_base(__VA_ARGS__, 1, 1)
#else
    #define LAPACK_chbevd(...) LAPACK_chbevd_base(__VA_ARGS__)
#endif

#define LAPACK_zhbevd_base LAPACK_GLOBAL_SUFFIX(zhbevd,ZHBEVD)
void LAPACK_zhbevd_base(
    char const* jobz, char const* uplo,
    lapack_int const* n, lapack_int const* kd,
    lapack_complex_double* AB, lapack_int const* ldab,
    double* W,
    lapack_complex_double* Z, lapack_int const* ldz,
    lapack_complex_double* work, lapack_int const* lwork,
    double* rwork, lapack_int const* lrwork,
    lapack_int* iwork, lapack_int const* liwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_zhbevd(...) LAPACK_zhbevd_base(__VA_ARGS__, 1, 1)
#else
    #define LAPACK_zhbevd(...) LAPACK_zhbevd_base(__VA_ARGS__)
#endif

#define LAPACK_chbevd_2stage_base LAPACK_GLOBAL_SUFFIX(chbevd_2stage,CHBEVD_2STAGE)
void LAPACK_chbevd_2stage_base(
    char const* jobz, char const* uplo,
    lapack_int const* n, lapack_int const* kd,
    lapack_complex_float* AB, lapack_int const* ldab,
    float* W,
    lapack_complex_float* Z, lapack_int const* ldz,
    lapack_complex_float* work, lapack_int const* lwork,
    float* rwork, lapack_int const* lrwork,
    lapack_int* iwork, lapack_int const* liwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_chbevd_2stage(...) LAPACK_chbevd_2stage_base(__VA_ARGS__, 1, 1)
#else
    #define LAPACK_chbevd_2stage(...) LAPACK_chbevd_2stage_base(__VA_ARGS__)
#endif

#define LAPACK_zhbevd_2stage_base LAPACK_GLOBAL_SUFFIX(zhbevd_2stage,ZHBEVD_2STAGE)
void LAPACK_zhbevd_2stage_base(
    char const* jobz, char const* uplo,
    lapack_int const* n, lapack_int const* kd,
    lapack_complex_double* AB, lapack_int const* ldab,
    double* W,
    lapack_complex_double* Z, lapack_int const* ldz,
    lapack_complex_double* work, lapack_int const* lwork,
    double* rwork, lapack_int const* lrwork,
    lapack_int* iwork, lapack_int const* liwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_zhbevd_2stage(...) LAPACK_zhbevd_2stage_base(__VA_ARGS__, 1, 1)
#else
    #define LAPACK_zhbevd_2stage(...) LAPACK_zhbevd_2stage_base(__VA_ARGS__)
#endif

#define LAPACK_chbevx_base LAPACK_GLOBAL_SUFFIX(chbevx,CHBEVX)
void LAPACK_chbevx_base(
    char const* jobz, char const* range, char const* uplo,
    lapack_int const* n, lapack_int const* kd,
    lapack_complex_float* AB, lapack_int const* ldab,
    lapack_complex_float* Q, lapack_int const* ldq,
    float const* vl,
    float const* vu, lapack_int const* il, lapack_int const* iu,
    float const* abstol, lapack_int* m,
    float* W,
    lapack_complex_float* Z, lapack_int const* ldz,
    lapack_complex_float* work,
    float* rwork,
    lapack_int* iwork, lapack_int* IFAIL,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_chbevx(...) LAPACK_chbevx_base(__VA_ARGS__, 1, 1, 1)
#else
    #define LAPACK_chbevx(...) LAPACK_chbevx_base(__VA_ARGS__)
#endif

#define LAPACK_zhbevx_base LAPACK_GLOBAL_SUFFIX(zhbevx,ZHBEVX)
void LAPACK_zhbevx_base(
    char const* jobz, char const* range, char const* uplo,
    lapack_int const* n, lapack_int const* kd,
    lapack_complex_double* AB, lapack_int const* ldab,
    lapack_complex_double* Q, lapack_int const* ldq,
    double const* vl,
    double const* vu, lapack_int const* il, lapack_int const* iu,
    double const* abstol, lapack_int* m,
    double* W,
    lapack_complex_double* Z, lapack_int const* ldz,
    lapack_complex_double* work,
    double* rwork,
    lapack_int* iwork, lapack_int* IFAIL,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_zhbevx(...) LAPACK_zhbevx_base(__VA_ARGS__, 1, 1, 1)
#else
    #define LAPACK_zhbevx(...) LAPACK_zhbevx_base(__VA_ARGS__)
#endif

#define LAPACK_chbevx_2stage_base LAPACK_GLOBAL_SUFFIX(chbevx_2stage,CHBEVX_2STAGE)
void LAPACK_chbevx_2stage_base(
    char const* jobz, char const* range, char const* uplo,
    lapack_int const* n, lapack_int const* kd,
    lapack_complex_float* AB, lapack_int const* ldab,
    lapack_complex_float* Q, lapack_int const* ldq,
    float const* vl,
    float const* vu, lapack_int const* il, lapack_int const* iu,
    float const* abstol, lapack_int* m,
    float* W,
    lapack_complex_float* Z, lapack_int const* ldz,
    lapack_complex_float* work, lapack_int const* lwork,
    float* rwork,
    lapack_int* iwork, lapack_int* IFAIL,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_chbevx_2stage(...) LAPACK_chbevx_2stage_base(__VA_ARGS__, 1, 1, 1)
#else
    #define LAPACK_chbevx_2stage(...) LAPACK_chbevx_2stage_base(__VA_ARGS__)
#endif

#define LAPACK_zhbevx_2stage_base LAPACK_GLOBAL_SUFFIX(zhbevx_2stage,ZHBEVX_2STAGE)
void LAPACK_zhbevx_2stage_base(
    char const* jobz, char const* range, char const* uplo,
    lapack_int const* n, lapack_int const* kd,
    lapack_complex_double* AB, lapack_int const* ldab,
    lapack_complex_double* Q, lapack_int const* ldq,
    double const* vl,
    double const* vu, lapack_int const* il, lapack_int const* iu,
    double const* abstol, lapack_int* m,
    double* W,
    lapack_complex_double* Z, lapack_int const* ldz,
    lapack_complex_double* work, lapack_int const* lwork,
    double* rwork,
    lapack_int* iwork, lapack_int* IFAIL,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_zhbevx_2stage(...) LAPACK_zhbevx_2stage_base(__VA_ARGS__, 1, 1, 1)
#else
    #define LAPACK_zhbevx_2stage(...) LAPACK_zhbevx_2stage_base(__VA_ARGS__)
#endif

#define LAPACK_chbgst_base LAPACK_GLOBAL_SUFFIX(chbgst,CHBGST)
void LAPACK_chbgst_base(
    char const* vect, char const* uplo,
    lapack_int const* n, lapack_int const* ka, lapack_int const* kb,
    lapack_complex_float* AB, lapack_int const* ldab,
    lapack_complex_float const* BB, lapack_int const* ldbb,
    lapack_complex_float* X, lapack_int const* ldx,
    lapack_complex_float* work,
    float* rwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_chbgst(...) LAPACK_chbgst_base(__VA_ARGS__, 1, 1)
#else
    #define LAPACK_chbgst(...) LAPACK_chbgst_base(__VA_ARGS__)
#endif

#define LAPACK_zhbgst_base LAPACK_GLOBAL_SUFFIX(zhbgst,ZHBGST)
void LAPACK_zhbgst_base(
    char const* vect, char const* uplo,
    lapack_int const* n, lapack_int const* ka, lapack_int const* kb,
    lapack_complex_double* AB, lapack_int const* ldab,
    lapack_complex_double const* BB, lapack_int const* ldbb,
    lapack_complex_double* X, lapack_int const* ldx,
    lapack_complex_double* work,
    double* rwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_zhbgst(...) LAPACK_zhbgst_base(__VA_ARGS__, 1, 1)
#else
    #define LAPACK_zhbgst(...) LAPACK_zhbgst_base(__VA_ARGS__)
#endif

#define LAPACK_chbgv_base LAPACK_GLOBAL_SUFFIX(chbgv,CHBGV)
void LAPACK_chbgv_base(
    char const* jobz, char const* uplo,
    lapack_int const* n, lapack_int const* ka, lapack_int const* kb,
    lapack_complex_float* AB, lapack_int const* ldab,
    lapack_complex_float* BB, lapack_int const* ldbb,
    float* W,
    lapack_complex_float* Z, lapack_int const* ldz,
    lapack_complex_float* work,
    float* rwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_chbgv(...) LAPACK_chbgv_base(__VA_ARGS__, 1, 1)
#else
    #define LAPACK_chbgv(...) LAPACK_chbgv_base(__VA_ARGS__)
#endif

#define LAPACK_zhbgv_base LAPACK_GLOBAL_SUFFIX(zhbgv,ZHBGV)
void LAPACK_zhbgv_base(
    char const* jobz, char const* uplo,
    lapack_int const* n, lapack_int const* ka, lapack_int const* kb,
    lapack_complex_double* AB, lapack_int const* ldab,
    lapack_complex_double* BB, lapack_int const* ldbb,
    double* W,
    lapack_complex_double* Z, lapack_int const* ldz,
    lapack_complex_double* work,
    double* rwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_zhbgv(...) LAPACK_zhbgv_base(__VA_ARGS__, 1, 1)
#else
    #define LAPACK_zhbgv(...) LAPACK_zhbgv_base(__VA_ARGS__)
#endif

#define LAPACK_chbgvd_base LAPACK_GLOBAL_SUFFIX(chbgvd,CHBGVD)
void LAPACK_chbgvd_base(
    char const* jobz, char const* uplo,
    lapack_int const* n, lapack_int const* ka, lapack_int const* kb,
    lapack_complex_float* AB, lapack_int const* ldab,
    lapack_complex_float* BB, lapack_int const* ldbb,
    float* W,
    lapack_complex_float* Z, lapack_int const* ldz,
    lapack_complex_float* work, lapack_int const* lwork,
    float* rwork, lapack_int const* lrwork,
    lapack_int* iwork, lapack_int const* liwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_chbgvd(...) LAPACK_chbgvd_base(__VA_ARGS__, 1, 1)
#else
    #define LAPACK_chbgvd(...) LAPACK_chbgvd_base(__VA_ARGS__)
#endif

#define LAPACK_zhbgvd_base LAPACK_GLOBAL_SUFFIX(zhbgvd,ZHBGVD)
void LAPACK_zhbgvd_base(
    char const* jobz, char const* uplo,
    lapack_int const* n, lapack_int const* ka, lapack_int const* kb,
    lapack_complex_double* AB, lapack_int const* ldab,
    lapack_complex_double* BB, lapack_int const* ldbb,
    double* W,
    lapack_complex_double* Z, lapack_int const* ldz,
    lapack_complex_double* work, lapack_int const* lwork,
    double* rwork, lapack_int const* lrwork,
    lapack_int* iwork, lapack_int const* liwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_zhbgvd(...) LAPACK_zhbgvd_base(__VA_ARGS__, 1, 1)
#else
    #define LAPACK_zhbgvd(...) LAPACK_zhbgvd_base(__VA_ARGS__)
#endif

#define LAPACK_chbgvx_base LAPACK_GLOBAL_SUFFIX(chbgvx,CHBGVX)
void LAPACK_chbgvx_base(
    char const* jobz, char const* range, char const* uplo,
    lapack_int const* n, lapack_int const* ka, lapack_int const* kb,
    lapack_complex_float* AB, lapack_int const* ldab,
    lapack_complex_float* BB, lapack_int const* ldbb,
    lapack_complex_float* Q, lapack_int const* ldq,
    float const* vl,
    float const* vu, lapack_int const* il, lapack_int const* iu,
    float const* abstol, lapack_int* m,
    float* W,
    lapack_complex_float* Z, lapack_int const* ldz,
    lapack_complex_float* work,
    float* rwork,
    lapack_int* iwork, lapack_int* IFAIL,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_chbgvx(...) LAPACK_chbgvx_base(__VA_ARGS__, 1, 1, 1)
#else
    #define LAPACK_chbgvx(...) LAPACK_chbgvx_base(__VA_ARGS__)
#endif

#define LAPACK_zhbgvx_base LAPACK_GLOBAL_SUFFIX(zhbgvx,ZHBGVX)
void LAPACK_zhbgvx_base(
    char const* jobz, char const* range, char const* uplo,
    lapack_int const* n, lapack_int const* ka, lapack_int const* kb,
    lapack_complex_double* AB, lapack_int const* ldab,
    lapack_complex_double* BB, lapack_int const* ldbb,
    lapack_complex_double* Q, lapack_int const* ldq,
    double const* vl,
    double const* vu, lapack_int const* il, lapack_int const* iu,
    double const* abstol, lapack_int* m,
    double* W,
    lapack_complex_double* Z, lapack_int const* ldz,
    lapack_complex_double* work,
    double* rwork,
    lapack_int* iwork, lapack_int* IFAIL,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_zhbgvx(...) LAPACK_zhbgvx_base(__VA_ARGS__, 1, 1, 1)
#else
    #define LAPACK_zhbgvx(...) LAPACK_zhbgvx_base(__VA_ARGS__)
#endif

#define LAPACK_chbtrd_base LAPACK_GLOBAL_SUFFIX(chbtrd,CHBTRD)
void LAPACK_chbtrd_base(
    char const* vect, char const* uplo,
    lapack_int const* n, lapack_int const* kd,
    lapack_complex_float* AB, lapack_int const* ldab,
    float* D,
    float* E,
    lapack_complex_float* Q, lapack_int const* ldq,
    lapack_complex_float* work,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_chbtrd(...) LAPACK_chbtrd_base(__VA_ARGS__, 1, 1)
#else
    #define LAPACK_chbtrd(...) LAPACK_chbtrd_base(__VA_ARGS__)
#endif

#define LAPACK_zhbtrd_base LAPACK_GLOBAL_SUFFIX(zhbtrd,ZHBTRD)
void LAPACK_zhbtrd_base(
    char const* vect, char const* uplo,
    lapack_int const* n, lapack_int const* kd,
    lapack_complex_double* AB, lapack_int const* ldab,
    double* D,
    double* E,
    lapack_complex_double* Q, lapack_int const* ldq,
    lapack_complex_double* work,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_zhbtrd(...) LAPACK_zhbtrd_base(__VA_ARGS__, 1, 1)
#else
    #define LAPACK_zhbtrd(...) LAPACK_zhbtrd_base(__VA_ARGS__)
#endif

#define LAPACK_checon_base LAPACK_GLOBAL_SUFFIX(checon,CHECON)
void LAPACK_checon_base(
    char const* uplo,
    lapack_int const* n,
    lapack_complex_float const* A, lapack_int const* lda, lapack_int const* ipiv,
    float const* anorm,
    float* rcond,
    lapack_complex_float* work,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_checon(...) LAPACK_checon_base(__VA_ARGS__, 1)
#else
    #define LAPACK_checon(...) LAPACK_checon_base(__VA_ARGS__)
#endif

#define LAPACK_zhecon_base LAPACK_GLOBAL_SUFFIX(zhecon,ZHECON)
void LAPACK_zhecon_base(
    char const* uplo,
    lapack_int const* n,
    lapack_complex_double const* A, lapack_int const* lda, lapack_int const* ipiv,
    double const* anorm,
    double* rcond,
    lapack_complex_double* work,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_zhecon(...) LAPACK_zhecon_base(__VA_ARGS__, 1)
#else
    #define LAPACK_zhecon(...) LAPACK_zhecon_base(__VA_ARGS__)
#endif

#define LAPACK_checon_3_base LAPACK_GLOBAL_SUFFIX(checon_3,CHECON_3)
void LAPACK_checon_3_base(
    char const* uplo,
    lapack_int const* n,
    lapack_complex_float const* A, lapack_int const* lda,
    lapack_complex_float const* E, lapack_int const* ipiv,
    float const* anorm,
    float* rcond,
    lapack_complex_float* work,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_checon_3(...) LAPACK_checon_3_base(__VA_ARGS__, 1)
#else
    #define LAPACK_checon_3(...) LAPACK_checon_3_base(__VA_ARGS__)
#endif

#define LAPACK_zhecon_3_base LAPACK_GLOBAL_SUFFIX(zhecon_3,ZHECON_3)
void LAPACK_zhecon_3_base(
    char const* uplo,
    lapack_int const* n,
    lapack_complex_double const* A, lapack_int const* lda,
    lapack_complex_double const* E, lapack_int const* ipiv,
    double const* anorm,
    double* rcond,
    lapack_complex_double* work,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_zhecon_3(...) LAPACK_zhecon_3_base(__VA_ARGS__, 1)
#else
    #define LAPACK_zhecon_3(...) LAPACK_zhecon_3_base(__VA_ARGS__)
#endif

#define LAPACK_cheequb_base LAPACK_GLOBAL_SUFFIX(cheequb,CHEEQUB)
void LAPACK_cheequb_base(
    char const* uplo,
    lapack_int const* n,
    lapack_complex_float const* A, lapack_int const* lda,
    float* S,
    float* scond,
    float* amax,
    lapack_complex_float* work,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_cheequb(...) LAPACK_cheequb_base(__VA_ARGS__, 1)
#else
    #define LAPACK_cheequb(...) LAPACK_cheequb_base(__VA_ARGS__)
#endif

#define LAPACK_zheequb_base LAPACK_GLOBAL_SUFFIX(zheequb,ZHEEQUB)
void LAPACK_zheequb_base(
    char const* uplo,
    lapack_int const* n,
    lapack_complex_double const* A, lapack_int const* lda,
    double* S,
    double* scond,
    double* amax,
    lapack_complex_double* work,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_zheequb(...) LAPACK_zheequb_base(__VA_ARGS__, 1)
#else
    #define LAPACK_zheequb(...) LAPACK_zheequb_base(__VA_ARGS__)
#endif

#define LAPACK_cheev_base LAPACK_GLOBAL_SUFFIX(cheev,CHEEV)
void LAPACK_cheev_base(
    char const* jobz, char const* uplo,
    lapack_int const* n,
    lapack_complex_float* A, lapack_int const* lda,
    float* W,
    lapack_complex_float* work, lapack_int const* lwork,
    float* rwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_cheev(...) LAPACK_cheev_base(__VA_ARGS__, 1, 1)
#else
    #define LAPACK_cheev(...) LAPACK_cheev_base(__VA_ARGS__)
#endif

#define LAPACK_zheev_base LAPACK_GLOBAL_SUFFIX(zheev,ZHEEV)
void LAPACK_zheev_base(
    char const* jobz, char const* uplo,
    lapack_int const* n,
    lapack_complex_double* A, lapack_int const* lda,
    double* W,
    lapack_complex_double* work, lapack_int const* lwork,
    double* rwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_zheev(...) LAPACK_zheev_base(__VA_ARGS__, 1, 1)
#else
    #define LAPACK_zheev(...) LAPACK_zheev_base(__VA_ARGS__)
#endif

#define LAPACK_cheev_2stage_base LAPACK_GLOBAL_SUFFIX(cheev_2stage,CHEEV_2STAGE)
void LAPACK_cheev_2stage_base(
    char const* jobz, char const* uplo,
    lapack_int const* n,
    lapack_complex_float* A, lapack_int const* lda,
    float* W,
    lapack_complex_float* work, lapack_int const* lwork,
    float* rwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_cheev_2stage(...) LAPACK_cheev_2stage_base(__VA_ARGS__, 1, 1)
#else
    #define LAPACK_cheev_2stage(...) LAPACK_cheev_2stage_base(__VA_ARGS__)
#endif

#define LAPACK_zheev_2stage_base LAPACK_GLOBAL_SUFFIX(zheev_2stage,ZHEEV_2STAGE)
void LAPACK_zheev_2stage_base(
    char const* jobz, char const* uplo,
    lapack_int const* n,
    lapack_complex_double* A, lapack_int const* lda,
    double* W,
    lapack_complex_double* work, lapack_int const* lwork,
    double* rwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_zheev_2stage(...) LAPACK_zheev_2stage_base(__VA_ARGS__, 1, 1)
#else
    #define LAPACK_zheev_2stage(...) LAPACK_zheev_2stage_base(__VA_ARGS__)
#endif

#define LAPACK_cheevd_base LAPACK_GLOBAL_SUFFIX(cheevd,CHEEVD)
void LAPACK_cheevd_base(
    char const* jobz, char const* uplo,
    lapack_int const* n,
    lapack_complex_float* A, lapack_int const* lda,
    float* W,
    lapack_complex_float* work, lapack_int const* lwork,
    float* rwork, lapack_int const* lrwork,
    lapack_int* iwork, lapack_int const* liwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_cheevd(...) LAPACK_cheevd_base(__VA_ARGS__, 1, 1)
#else
    #define LAPACK_cheevd(...) LAPACK_cheevd_base(__VA_ARGS__)
#endif

#define LAPACK_zheevd_base LAPACK_GLOBAL_SUFFIX(zheevd,ZHEEVD)
void LAPACK_zheevd_base(
    char const* jobz, char const* uplo,
    lapack_int const* n,
    lapack_complex_double* A, lapack_int const* lda,
    double* W,
    lapack_complex_double* work, lapack_int const* lwork,
    double* rwork, lapack_int const* lrwork,
    lapack_int* iwork, lapack_int const* liwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_zheevd(...) LAPACK_zheevd_base(__VA_ARGS__, 1, 1)
#else
    #define LAPACK_zheevd(...) LAPACK_zheevd_base(__VA_ARGS__)
#endif

#define LAPACK_cheevd_2stage_base LAPACK_GLOBAL_SUFFIX(cheevd_2stage,CHEEVD_2STAGE)
void LAPACK_cheevd_2stage_base(
    char const* jobz, char const* uplo,
    lapack_int const* n,
    lapack_complex_float* A, lapack_int const* lda,
    float* W,
    lapack_complex_float* work, lapack_int const* lwork,
    float* rwork, lapack_int const* lrwork,
    lapack_int* iwork, lapack_int const* liwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_cheevd_2stage(...) LAPACK_cheevd_2stage_base(__VA_ARGS__, 1, 1)
#else
    #define LAPACK_cheevd_2stage(...) LAPACK_cheevd_2stage_base(__VA_ARGS__)
#endif

#define LAPACK_zheevd_2stage_base LAPACK_GLOBAL_SUFFIX(zheevd_2stage,ZHEEVD_2STAGE)
void LAPACK_zheevd_2stage_base(
    char const* jobz, char const* uplo,
    lapack_int const* n,
    lapack_complex_double* A, lapack_int const* lda,
    double* W,
    lapack_complex_double* work, lapack_int const* lwork,
    double* rwork, lapack_int const* lrwork,
    lapack_int* iwork, lapack_int const* liwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_zheevd_2stage(...) LAPACK_zheevd_2stage_base(__VA_ARGS__, 1, 1)
#else
    #define LAPACK_zheevd_2stage(...) LAPACK_zheevd_2stage_base(__VA_ARGS__)
#endif

#define LAPACK_cheevr_base LAPACK_GLOBAL_SUFFIX(cheevr,CHEEVR)
void LAPACK_cheevr_base(
    char const* jobz, char const* range, char const* uplo,
    lapack_int const* n,
    lapack_complex_float* A, lapack_int const* lda,
    float const* vl,
    float const* vu, lapack_int const* il, lapack_int const* iu,
    float const* abstol, lapack_int* m,
    float* W,
    lapack_complex_float* Z, lapack_int const* ldz, lapack_int* ISUPPZ,
    lapack_complex_float* work, lapack_int const* lwork,
    float* rwork, lapack_int const* lrwork,
    lapack_int* iwork, lapack_int const* liwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_cheevr(...) LAPACK_cheevr_base(__VA_ARGS__, 1, 1, 1)
#else
    #define LAPACK_cheevr(...) LAPACK_cheevr_base(__VA_ARGS__)
#endif

#define LAPACK_zheevr_base LAPACK_GLOBAL_SUFFIX(zheevr,ZHEEVR)
void LAPACK_zheevr_base(
    char const* jobz, char const* range, char const* uplo,
    lapack_int const* n,
    lapack_complex_double* A, lapack_int const* lda,
    double const* vl,
    double const* vu, lapack_int const* il, lapack_int const* iu,
    double const* abstol, lapack_int* m,
    double* W,
    lapack_complex_double* Z, lapack_int const* ldz, lapack_int* ISUPPZ,
    lapack_complex_double* work, lapack_int const* lwork,
    double* rwork, lapack_int const* lrwork,
    lapack_int* iwork, lapack_int const* liwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_zheevr(...) LAPACK_zheevr_base(__VA_ARGS__, 1, 1, 1)
#else
    #define LAPACK_zheevr(...) LAPACK_zheevr_base(__VA_ARGS__)
#endif

#define LAPACK_cheevr_2stage_base LAPACK_GLOBAL_SUFFIX(cheevr_2stage,CHEEVR_2STAGE)
void LAPACK_cheevr_2stage_base(
    char const* jobz, char const* range, char const* uplo,
    lapack_int const* n,
    lapack_complex_float* A, lapack_int const* lda,
    float const* vl,
    float const* vu, lapack_int const* il, lapack_int const* iu,
    float const* abstol, lapack_int* m,
    float* W,
    lapack_complex_float* Z, lapack_int const* ldz, lapack_int* ISUPPZ,
    lapack_complex_float* work, lapack_int const* lwork,
    float* rwork, lapack_int const* lrwork,
    lapack_int* iwork, lapack_int const* liwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_cheevr_2stage(...) LAPACK_cheevr_2stage_base(__VA_ARGS__, 1, 1, 1)
#else
    #define LAPACK_cheevr_2stage(...) LAPACK_cheevr_2stage_base(__VA_ARGS__)
#endif

#define LAPACK_zheevr_2stage_base LAPACK_GLOBAL_SUFFIX(zheevr_2stage,ZHEEVR_2STAGE)
void LAPACK_zheevr_2stage_base(
    char const* jobz, char const* range, char const* uplo,
    lapack_int const* n,
    lapack_complex_double* A, lapack_int const* lda,
    double const* vl,
    double const* vu, lapack_int const* il, lapack_int const* iu,
    double const* abstol, lapack_int* m,
    double* W,
    lapack_complex_double* Z, lapack_int const* ldz, lapack_int* ISUPPZ,
    lapack_complex_double* work, lapack_int const* lwork,
    double* rwork, lapack_int const* lrwork,
    lapack_int* iwork, lapack_int const* liwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_zheevr_2stage(...) LAPACK_zheevr_2stage_base(__VA_ARGS__, 1, 1, 1)
#else
    #define LAPACK_zheevr_2stage(...) LAPACK_zheevr_2stage_base(__VA_ARGS__)
#endif

#define LAPACK_cheevx_base LAPACK_GLOBAL_SUFFIX(cheevx,CHEEVX)
void LAPACK_cheevx_base(
    char const* jobz, char const* range, char const* uplo,
    lapack_int const* n,
    lapack_complex_float* A, lapack_int const* lda,
    float const* vl,
    float const* vu, lapack_int const* il, lapack_int const* iu,
    float const* abstol, lapack_int* m,
    float* W,
    lapack_complex_float* Z, lapack_int const* ldz,
    lapack_complex_float* work, lapack_int const* lwork,
    float* rwork,
    lapack_int* iwork, lapack_int* IFAIL,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_cheevx(...) LAPACK_cheevx_base(__VA_ARGS__, 1, 1, 1)
#else
    #define LAPACK_cheevx(...) LAPACK_cheevx_base(__VA_ARGS__)
#endif

#define LAPACK_zheevx_base LAPACK_GLOBAL_SUFFIX(zheevx,ZHEEVX)
void LAPACK_zheevx_base(
    char const* jobz, char const* range, char const* uplo,
    lapack_int const* n,
    lapack_complex_double* A, lapack_int const* lda,
    double const* vl,
    double const* vu, lapack_int const* il, lapack_int const* iu,
    double const* abstol, lapack_int* m,
    double* W,
    lapack_complex_double* Z, lapack_int const* ldz,
    lapack_complex_double* work, lapack_int const* lwork,
    double* rwork,
    lapack_int* iwork, lapack_int* IFAIL,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_zheevx(...) LAPACK_zheevx_base(__VA_ARGS__, 1, 1, 1)
#else
    #define LAPACK_zheevx(...) LAPACK_zheevx_base(__VA_ARGS__)
#endif

#define LAPACK_cheevx_2stage_base LAPACK_GLOBAL_SUFFIX(cheevx_2stage,CHEEVX_2STAGE)
void LAPACK_cheevx_2stage_base(
    char const* jobz, char const* range, char const* uplo,
    lapack_int const* n,
    lapack_complex_float* A, lapack_int const* lda,
    float const* vl,
    float const* vu, lapack_int const* il, lapack_int const* iu,
    float const* abstol, lapack_int* m,
    float* W,
    lapack_complex_float* Z, lapack_int const* ldz,
    lapack_complex_float* work, lapack_int const* lwork,
    float* rwork,
    lapack_int* iwork, lapack_int* IFAIL,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_cheevx_2stage(...) LAPACK_cheevx_2stage_base(__VA_ARGS__, 1, 1, 1)
#else
    #define LAPACK_cheevx_2stage(...) LAPACK_cheevx_2stage_base(__VA_ARGS__)
#endif

#define LAPACK_zheevx_2stage_base LAPACK_GLOBAL_SUFFIX(zheevx_2stage,ZHEEVX_2STAGE)
void LAPACK_zheevx_2stage_base(
    char const* jobz, char const* range, char const* uplo,
    lapack_int const* n,
    lapack_complex_double* A, lapack_int const* lda,
    double const* vl,
    double const* vu, lapack_int const* il, lapack_int const* iu,
    double const* abstol, lapack_int* m,
    double* W,
    lapack_complex_double* Z, lapack_int const* ldz,
    lapack_complex_double* work, lapack_int const* lwork,
    double* rwork,
    lapack_int* iwork, lapack_int* IFAIL,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_zheevx_2stage(...) LAPACK_zheevx_2stage_base(__VA_ARGS__, 1, 1, 1)
#else
    #define LAPACK_zheevx_2stage(...) LAPACK_zheevx_2stage_base(__VA_ARGS__)
#endif

#define LAPACK_chegst_base LAPACK_GLOBAL_SUFFIX(chegst,CHEGST)
void LAPACK_chegst_base(
    lapack_int const* itype, char const* uplo,
    lapack_int const* n,
    lapack_complex_float* A, lapack_int const* lda,
    const lapack_complex_float* B, lapack_int const* ldb,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_chegst(...) LAPACK_chegst_base(__VA_ARGS__, 1)
#else
    #define LAPACK_chegst(...) LAPACK_chegst_base(__VA_ARGS__)
#endif

#define LAPACK_zhegst_base LAPACK_GLOBAL_SUFFIX(zhegst,ZHEGST)
void LAPACK_zhegst_base(
    lapack_int const* itype, char const* uplo,
    lapack_int const* n,
    lapack_complex_double* A, lapack_int const* lda,
    const lapack_complex_double* B, lapack_int const* ldb,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_zhegst(...) LAPACK_zhegst_base(__VA_ARGS__, 1)
#else
    #define LAPACK_zhegst(...) LAPACK_zhegst_base(__VA_ARGS__)
#endif

#define LAPACK_chegv_base LAPACK_GLOBAL_SUFFIX(chegv,CHEGV)
void LAPACK_chegv_base(
    lapack_int const* itype, char const* jobz, char const* uplo,
    lapack_int const* n,
    lapack_complex_float* A, lapack_int const* lda,
    lapack_complex_float* B, lapack_int const* ldb,
    float* W,
    lapack_complex_float* work, lapack_int const* lwork,
    float* rwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_chegv(...) LAPACK_chegv_base(__VA_ARGS__, 1, 1)
#else
    #define LAPACK_chegv(...) LAPACK_chegv_base(__VA_ARGS__)
#endif

#define LAPACK_zhegv_base LAPACK_GLOBAL_SUFFIX(zhegv,ZHEGV)
void LAPACK_zhegv_base(
    lapack_int const* itype, char const* jobz, char const* uplo,
    lapack_int const* n,
    lapack_complex_double* A, lapack_int const* lda,
    lapack_complex_double* B, lapack_int const* ldb,
    double* W,
    lapack_complex_double* work, lapack_int const* lwork,
    double* rwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_zhegv(...) LAPACK_zhegv_base(__VA_ARGS__, 1, 1)
#else
    #define LAPACK_zhegv(...) LAPACK_zhegv_base(__VA_ARGS__)
#endif

#define LAPACK_chegv_2stage_base LAPACK_GLOBAL_SUFFIX(chegv_2stage,CHEGV_2STAGE)
void LAPACK_chegv_2stage_base(
    lapack_int const* itype, char const* jobz, char const* uplo,
    lapack_int const* n,
    lapack_complex_float* A, lapack_int const* lda,
    lapack_complex_float* B, lapack_int const* ldb,
    float* W,
    lapack_complex_float* work, lapack_int const* lwork,
    float* rwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_chegv_2stage(...) LAPACK_chegv_2stage_base(__VA_ARGS__, 1, 1)
#else
    #define LAPACK_chegv_2stage(...) LAPACK_chegv_2stage_base(__VA_ARGS__)
#endif

#define LAPACK_zhegv_2stage_base LAPACK_GLOBAL_SUFFIX(zhegv_2stage,ZHEGV_2STAGE)
void LAPACK_zhegv_2stage_base(
    lapack_int const* itype, char const* jobz, char const* uplo,
    lapack_int const* n,
    lapack_complex_double* A, lapack_int const* lda,
    lapack_complex_double* B, lapack_int const* ldb,
    double* W,
    lapack_complex_double* work, lapack_int const* lwork,
    double* rwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_zhegv_2stage(...) LAPACK_zhegv_2stage_base(__VA_ARGS__, 1, 1)
#else
    #define LAPACK_zhegv_2stage(...) LAPACK_zhegv_2stage_base(__VA_ARGS__)
#endif

#define LAPACK_chegvd_base LAPACK_GLOBAL_SUFFIX(chegvd,CHEGVD)
void LAPACK_chegvd_base(
    lapack_int const* itype, char const* jobz, char const* uplo,
    lapack_int const* n,
    lapack_complex_float* A, lapack_int const* lda,
    lapack_complex_float* B, lapack_int const* ldb,
    float* W,
    lapack_complex_float* work, lapack_int const* lwork,
    float* rwork, lapack_int const* lrwork,
    lapack_int* iwork, lapack_int const* liwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_chegvd(...) LAPACK_chegvd_base(__VA_ARGS__, 1, 1)
#else
    #define LAPACK_chegvd(...) LAPACK_chegvd_base(__VA_ARGS__)
#endif

#define LAPACK_zhegvd_base LAPACK_GLOBAL_SUFFIX(zhegvd,ZHEGVD)
void LAPACK_zhegvd_base(
    lapack_int const* itype, char const* jobz, char const* uplo,
    lapack_int const* n,
    lapack_complex_double* A, lapack_int const* lda,
    lapack_complex_double* B, lapack_int const* ldb,
    double* W,
    lapack_complex_double* work, lapack_int const* lwork,
    double* rwork, lapack_int const* lrwork,
    lapack_int* iwork, lapack_int const* liwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_zhegvd(...) LAPACK_zhegvd_base(__VA_ARGS__, 1, 1)
#else
    #define LAPACK_zhegvd(...) LAPACK_zhegvd_base(__VA_ARGS__)
#endif

#define LAPACK_chegvx_base LAPACK_GLOBAL_SUFFIX(chegvx,CHEGVX)
void LAPACK_chegvx_base(
    lapack_int const* itype, char const* jobz, char const* range, char const* uplo,
    lapack_int const* n,
    lapack_complex_float* A, lapack_int const* lda,
    lapack_complex_float* B, lapack_int const* ldb,
    float const* vl,
    float const* vu, lapack_int const* il, lapack_int const* iu,
    float const* abstol, lapack_int* m,
    float* W,
    lapack_complex_float* Z, lapack_int const* ldz,
    lapack_complex_float* work, lapack_int const* lwork,
    float* rwork,
    lapack_int* iwork, lapack_int* IFAIL,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_chegvx(...) LAPACK_chegvx_base(__VA_ARGS__, 1, 1, 1)
#else
    #define LAPACK_chegvx(...) LAPACK_chegvx_base(__VA_ARGS__)
#endif

#define LAPACK_zhegvx_base LAPACK_GLOBAL_SUFFIX(zhegvx,ZHEGVX)
void LAPACK_zhegvx_base(
    lapack_int const* itype, char const* jobz, char const* range, char const* uplo,
    lapack_int const* n,
    lapack_complex_double* A, lapack_int const* lda,
    lapack_complex_double* B, lapack_int const* ldb,
    double const* vl,
    double const* vu, lapack_int const* il, lapack_int const* iu,
    double const* abstol, lapack_int* m,
    double* W,
    lapack_complex_double* Z, lapack_int const* ldz,
    lapack_complex_double* work, lapack_int const* lwork,
    double* rwork,
    lapack_int* iwork, lapack_int* IFAIL,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_zhegvx(...) LAPACK_zhegvx_base(__VA_ARGS__, 1, 1, 1)
#else
    #define LAPACK_zhegvx(...) LAPACK_zhegvx_base(__VA_ARGS__)
#endif

#define LAPACK_cherfs_base LAPACK_GLOBAL_SUFFIX(cherfs,CHERFS)
void LAPACK_cherfs_base(
    char const* uplo,
    lapack_int const* n, lapack_int const* nrhs,
    lapack_complex_float const* A, lapack_int const* lda,
    lapack_complex_float const* AF, lapack_int const* ldaf, lapack_int const* ipiv,
    lapack_complex_float const* B, lapack_int const* ldb,
    lapack_complex_float* X, lapack_int const* ldx,
    float* ferr,
    float* berr,
    lapack_complex_float* work,
    float* rwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_cherfs(...) LAPACK_cherfs_base(__VA_ARGS__, 1)
#else
    #define LAPACK_cherfs(...) LAPACK_cherfs_base(__VA_ARGS__)
#endif

#define LAPACK_zherfs_base LAPACK_GLOBAL_SUFFIX(zherfs,ZHERFS)
void LAPACK_zherfs_base(
    char const* uplo,
    lapack_int const* n, lapack_int const* nrhs,
    lapack_complex_double const* A, lapack_int const* lda,
    lapack_complex_double const* AF, lapack_int const* ldaf, lapack_int const* ipiv,
    lapack_complex_double const* B, lapack_int const* ldb,
    lapack_complex_double* X, lapack_int const* ldx,
    double* ferr,
    double* berr,
    lapack_complex_double* work,
    double* rwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_zherfs(...) LAPACK_zherfs_base(__VA_ARGS__, 1)
#else
    #define LAPACK_zherfs(...) LAPACK_zherfs_base(__VA_ARGS__)
#endif

#define LAPACK_cherfsx_base LAPACK_GLOBAL_SUFFIX(cherfsx,CHERFSX)
void LAPACK_cherfsx_base(
    char const* uplo, char const* equed,
    lapack_int const* n, lapack_int const* nrhs,
    lapack_complex_float const* A, lapack_int const* lda,
    lapack_complex_float const* AF, lapack_int const* ldaf, lapack_int const* ipiv,
    const float* S,
    lapack_complex_float const* B, lapack_int const* ldb,
    lapack_complex_float* X, lapack_int const* ldx,
    float* rcond,
    float* berr, lapack_int const* n_err_bnds,
    float* err_bnds_norm,
    float* err_bnds_comp, lapack_int const* nparams,
    float* params,
    lapack_complex_float* work,
    float* rwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_cherfsx(...) LAPACK_cherfsx_base(__VA_ARGS__, 1, 1)
#else
    #define LAPACK_cherfsx(...) LAPACK_cherfsx_base(__VA_ARGS__)
#endif

#define LAPACK_zherfsx_base LAPACK_GLOBAL_SUFFIX(zherfsx,ZHERFSX)
void LAPACK_zherfsx_base(
    char const* uplo, char const* equed,
    lapack_int const* n, lapack_int const* nrhs,
    lapack_complex_double const* A, lapack_int const* lda,
    lapack_complex_double const* AF, lapack_int const* ldaf, lapack_int const* ipiv,
    const double* S,
    lapack_complex_double const* B, lapack_int const* ldb,
    lapack_complex_double* X, lapack_int const* ldx,
    double* rcond,
    double* berr, lapack_int const* n_err_bnds,
    double* err_bnds_norm,
    double* err_bnds_comp, lapack_int const* nparams,
    double* params,
    lapack_complex_double* work,
    double* rwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_zherfsx(...) LAPACK_zherfsx_base(__VA_ARGS__, 1, 1)
#else
    #define LAPACK_zherfsx(...) LAPACK_zherfsx_base(__VA_ARGS__)
#endif

#define LAPACK_chesv_base LAPACK_GLOBAL_SUFFIX(chesv,CHESV)
void LAPACK_chesv_base(
    char const* uplo,
    lapack_int const* n, lapack_int const* nrhs,
    lapack_complex_float* A, lapack_int const* lda, lapack_int* ipiv,
    lapack_complex_float* B, lapack_int const* ldb,
    lapack_complex_float* work, lapack_int const* lwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_chesv(...) LAPACK_chesv_base(__VA_ARGS__, 1)
#else
    #define LAPACK_chesv(...) LAPACK_chesv_base(__VA_ARGS__)
#endif

#define LAPACK_zhesv_base LAPACK_GLOBAL_SUFFIX(zhesv,ZHESV)
void LAPACK_zhesv_base(
    char const* uplo,
    lapack_int const* n, lapack_int const* nrhs,
    lapack_complex_double* A, lapack_int const* lda, lapack_int* ipiv,
    lapack_complex_double* B, lapack_int const* ldb,
    lapack_complex_double* work, lapack_int const* lwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_zhesv(...) LAPACK_zhesv_base(__VA_ARGS__, 1)
#else
    #define LAPACK_zhesv(...) LAPACK_zhesv_base(__VA_ARGS__)
#endif

#define LAPACK_chesv_aa_base LAPACK_GLOBAL_SUFFIX(chesv_aa,CHESV_AA)
void LAPACK_chesv_aa_base(
    char const* uplo,
    lapack_int const* n, lapack_int const* nrhs,
    lapack_complex_float* A, lapack_int const* lda, lapack_int* ipiv,
    lapack_complex_float* B, lapack_int const* ldb,
    lapack_complex_float* work, lapack_int const* lwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_chesv_aa(...) LAPACK_chesv_aa_base(__VA_ARGS__, 1)
#else
    #define LAPACK_chesv_aa(...) LAPACK_chesv_aa_base(__VA_ARGS__)
#endif

#define LAPACK_zhesv_aa_base LAPACK_GLOBAL_SUFFIX(zhesv_aa,ZHESV_AA)
void LAPACK_zhesv_aa_base(
    char const* uplo,
    lapack_int const* n, lapack_int const* nrhs,
    lapack_complex_double* A, lapack_int const* lda, lapack_int* ipiv,
    lapack_complex_double* B, lapack_int const* ldb,
    lapack_complex_double* work, lapack_int const* lwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_zhesv_aa(...) LAPACK_zhesv_aa_base(__VA_ARGS__, 1)
#else
    #define LAPACK_zhesv_aa(...) LAPACK_zhesv_aa_base(__VA_ARGS__)
#endif

#define LAPACK_chesv_aa_2stage_base LAPACK_GLOBAL_SUFFIX(chesv_aa_2stage,CHESV_AA_2STAGE)
void LAPACK_chesv_aa_2stage_base(
    char const* uplo,
    lapack_int const* n, lapack_int const* nrhs,
    lapack_complex_float* A, lapack_int const* lda,
    lapack_complex_float* TB, lapack_int const* ltb, lapack_int* ipiv, lapack_int* ipiv2,
    lapack_complex_float* B, lapack_int const* ldb,
    lapack_complex_float* work, lapack_int const* lwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_chesv_aa_2stage(...) LAPACK_chesv_aa_2stage_base(__VA_ARGS__, 1)
#else
    #define LAPACK_chesv_aa_2stage(...) LAPACK_chesv_aa_2stage_base(__VA_ARGS__)
#endif

#define LAPACK_zhesv_aa_2stage_base LAPACK_GLOBAL_SUFFIX(zhesv_aa_2stage,ZHESV_AA_2STAGE)
void LAPACK_zhesv_aa_2stage_base(
    char const* uplo,
    lapack_int const* n, lapack_int const* nrhs,
    lapack_complex_double* A, lapack_int const* lda,
    lapack_complex_double* TB, lapack_int const* ltb, lapack_int* ipiv, lapack_int* ipiv2,
    lapack_complex_double* B, lapack_int const* ldb,
    lapack_complex_double* work, lapack_int const* lwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_zhesv_aa_2stage(...) LAPACK_zhesv_aa_2stage_base(__VA_ARGS__, 1)
#else
    #define LAPACK_zhesv_aa_2stage(...) LAPACK_zhesv_aa_2stage_base(__VA_ARGS__)
#endif

#define LAPACK_chesv_rk_base LAPACK_GLOBAL_SUFFIX(chesv_rk,CHESV_RK)
void LAPACK_chesv_rk_base(
    char const* uplo,
    lapack_int const* n, lapack_int const* nrhs,
    lapack_complex_float* A, lapack_int const* lda,
    lapack_complex_float* E, lapack_int* ipiv,
    lapack_complex_float* B, lapack_int const* ldb,
    lapack_complex_float* work, lapack_int const* lwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_chesv_rk(...) LAPACK_chesv_rk_base(__VA_ARGS__, 1)
#else
    #define LAPACK_chesv_rk(...) LAPACK_chesv_rk_base(__VA_ARGS__)
#endif

#define LAPACK_zhesv_rk_base LAPACK_GLOBAL_SUFFIX(zhesv_rk,ZHESV_RK)
void LAPACK_zhesv_rk_base(
    char const* uplo,
    lapack_int const* n, lapack_int const* nrhs,
    lapack_complex_double* A, lapack_int const* lda,
    lapack_complex_double* E, lapack_int* ipiv,
    lapack_complex_double* B, lapack_int const* ldb,
    lapack_complex_double* work, lapack_int const* lwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_zhesv_rk(...) LAPACK_zhesv_rk_base(__VA_ARGS__, 1)
#else
    #define LAPACK_zhesv_rk(...) LAPACK_zhesv_rk_base(__VA_ARGS__)
#endif

#define LAPACK_chesv_rook_base LAPACK_GLOBAL_SUFFIX(chesv_rook,CHESV_ROOK)
void LAPACK_chesv_rook_base(
    char const* uplo,
    lapack_int const* n, lapack_int const* nrhs,
    lapack_complex_float* A, lapack_int const* lda, lapack_int* ipiv,
    lapack_complex_float* B, lapack_int const* ldb,
    lapack_complex_float* work, lapack_int const* lwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_chesv_rook(...) LAPACK_chesv_rook_base(__VA_ARGS__, 1)
#else
    #define LAPACK_chesv_rook(...) LAPACK_chesv_rook_base(__VA_ARGS__)
#endif

#define LAPACK_zhesv_rook_base LAPACK_GLOBAL_SUFFIX(zhesv_rook,ZHESV_ROOK)
void LAPACK_zhesv_rook_base(
    char const* uplo,
    lapack_int const* n, lapack_int const* nrhs,
    lapack_complex_double* A, lapack_int const* lda, lapack_int* ipiv,
    lapack_complex_double* B, lapack_int const* ldb,
    lapack_complex_double* work, lapack_int const* lwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_zhesv_rook(...) LAPACK_zhesv_rook_base(__VA_ARGS__, 1)
#else
    #define LAPACK_zhesv_rook(...) LAPACK_zhesv_rook_base(__VA_ARGS__)
#endif

#define LAPACK_chesvx_base LAPACK_GLOBAL_SUFFIX(chesvx,CHESVX)
void LAPACK_chesvx_base(
    char const* fact, char const* uplo,
    lapack_int const* n, lapack_int const* nrhs,
    lapack_complex_float const* A, lapack_int const* lda,
    lapack_complex_float* AF, lapack_int const* ldaf, lapack_int* ipiv,
    lapack_complex_float const* B, lapack_int const* ldb,
    lapack_complex_float* X, lapack_int const* ldx,
    float* rcond,
    float* ferr,
    float* berr,
    lapack_complex_float* work, lapack_int const* lwork,
    float* rwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_chesvx(...) LAPACK_chesvx_base(__VA_ARGS__, 1, 1)
#else
    #define LAPACK_chesvx(...) LAPACK_chesvx_base(__VA_ARGS__)
#endif

#define LAPACK_zhesvx_base LAPACK_GLOBAL_SUFFIX(zhesvx,ZHESVX)
void LAPACK_zhesvx_base(
    char const* fact, char const* uplo,
    lapack_int const* n, lapack_int const* nrhs,
    lapack_complex_double const* A, lapack_int const* lda,
    lapack_complex_double* AF, lapack_int const* ldaf, lapack_int* ipiv,
    lapack_complex_double const* B, lapack_int const* ldb,
    lapack_complex_double* X, lapack_int const* ldx,
    double* rcond,
    double* ferr,
    double* berr,
    lapack_complex_double* work, lapack_int const* lwork,
    double* rwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_zhesvx(...) LAPACK_zhesvx_base(__VA_ARGS__, 1, 1)
#else
    #define LAPACK_zhesvx(...) LAPACK_zhesvx_base(__VA_ARGS__)
#endif

#define LAPACK_chesvxx_base LAPACK_GLOBAL_SUFFIX(chesvxx,CHESVXX)
void LAPACK_chesvxx_base(
    char const* fact, char const* uplo,
    lapack_int const* n, lapack_int const* nrhs,
    lapack_complex_float* A, lapack_int const* lda,
    lapack_complex_float* AF, lapack_int const* ldaf, lapack_int* ipiv, char* equed,
    float* S,
    lapack_complex_float* B,
    lapack_int const* ldb,
    lapack_complex_float* X, lapack_int const* ldx,
    float* rcond,
    float* rpvgrw,
    float* berr, lapack_int const* n_err_bnds,
    float* err_bnds_norm,
    float* err_bnds_comp, lapack_int const* nparams,
    float* params,
    lapack_complex_float* work,
    float* rwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_chesvxx(...) LAPACK_chesvxx_base(__VA_ARGS__, 1, 1, 1)
#else
    #define LAPACK_chesvxx(...) LAPACK_chesvxx_base(__VA_ARGS__)
#endif

#define LAPACK_zhesvxx_base LAPACK_GLOBAL_SUFFIX(zhesvxx,ZHESVXX)
void LAPACK_zhesvxx_base(
    char const* fact, char const* uplo,
    lapack_int const* n, lapack_int const* nrhs,
    lapack_complex_double* A, lapack_int const* lda,
    lapack_complex_double* AF, lapack_int const* ldaf, lapack_int* ipiv, char* equed,
    double* S,
    lapack_complex_double* B,
    lapack_int const* ldb,
    lapack_complex_double* X, lapack_int const* ldx,
    double* rcond,
    double* rpvgrw,
    double* berr, lapack_int const* n_err_bnds,
    double* err_bnds_norm,
    double* err_bnds_comp, lapack_int const* nparams,
    double* params,
    lapack_complex_double* work,
    double* rwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_zhesvxx(...) LAPACK_zhesvxx_base(__VA_ARGS__, 1, 1, 1)
#else
    #define LAPACK_zhesvxx(...) LAPACK_zhesvxx_base(__VA_ARGS__)
#endif

#define LAPACK_cheswapr_base LAPACK_GLOBAL_SUFFIX(cheswapr,CHESWAPR)
void LAPACK_cheswapr_base(
    char const* uplo,
    lapack_int const* n,
    lapack_complex_float* A, lapack_int const* lda, lapack_int const* i1, lapack_int const* i2
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_cheswapr(...) LAPACK_cheswapr_base(__VA_ARGS__, 1)
#else
    #define LAPACK_cheswapr(...) LAPACK_cheswapr_base(__VA_ARGS__)
#endif

#define LAPACK_zheswapr_base LAPACK_GLOBAL_SUFFIX(zheswapr,ZHESWAPR)
void LAPACK_zheswapr_base(
    char const* uplo,
    lapack_int const* n,
    lapack_complex_double* A, lapack_int const* lda, lapack_int const* i1, lapack_int const* i2
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_zheswapr(...) LAPACK_zheswapr_base(__VA_ARGS__, 1)
#else
    #define LAPACK_zheswapr(...) LAPACK_zheswapr_base(__VA_ARGS__)
#endif

#define LAPACK_chetrd_base LAPACK_GLOBAL_SUFFIX(chetrd,CHETRD)
void LAPACK_chetrd_base(
    char const* uplo,
    lapack_int const* n,
    lapack_complex_float* A, lapack_int const* lda,
    float* D,
    float* E,
    lapack_complex_float* tau,
    lapack_complex_float* work, lapack_int const* lwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_chetrd(...) LAPACK_chetrd_base(__VA_ARGS__, 1)
#else
    #define LAPACK_chetrd(...) LAPACK_chetrd_base(__VA_ARGS__)
#endif

#define LAPACK_zhetrd_base LAPACK_GLOBAL_SUFFIX(zhetrd,ZHETRD)
void LAPACK_zhetrd_base(
    char const* uplo,
    lapack_int const* n,
    lapack_complex_double* A, lapack_int const* lda,
    double* D,
    double* E,
    lapack_complex_double* tau,
    lapack_complex_double* work, lapack_int const* lwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_zhetrd(...) LAPACK_zhetrd_base(__VA_ARGS__, 1)
#else
    #define LAPACK_zhetrd(...) LAPACK_zhetrd_base(__VA_ARGS__)
#endif

#define LAPACK_chetrd_2stage_base LAPACK_GLOBAL_SUFFIX(chetrd_2stage,CHETRD_2STAGE)
void LAPACK_chetrd_2stage_base(
    char const* vect, char const* uplo,
    lapack_int const* n,
    lapack_complex_float* A, lapack_int const* lda,
    float* D,
    float* E,
    lapack_complex_float* tau,
    lapack_complex_float* HOUS2, lapack_int const* lhous2,
    lapack_complex_float* work, lapack_int const* lwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_chetrd_2stage(...) LAPACK_chetrd_2stage_base(__VA_ARGS__, 1, 1)
#else
    #define LAPACK_chetrd_2stage(...) LAPACK_chetrd_2stage_base(__VA_ARGS__)
#endif

#define LAPACK_zhetrd_2stage_base LAPACK_GLOBAL_SUFFIX(zhetrd_2stage,ZHETRD_2STAGE)
void LAPACK_zhetrd_2stage_base(
    char const* vect, char const* uplo,
    lapack_int const* n,
    lapack_complex_double* A, lapack_int const* lda,
    double* D,
    double* E,
    lapack_complex_double* tau,
    lapack_complex_double* HOUS2, lapack_int const* lhous2,
    lapack_complex_double* work, lapack_int const* lwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_zhetrd_2stage(...) LAPACK_zhetrd_2stage_base(__VA_ARGS__, 1, 1)
#else
    #define LAPACK_zhetrd_2stage(...) LAPACK_zhetrd_2stage_base(__VA_ARGS__)
#endif

#define LAPACK_chetrf_base LAPACK_GLOBAL_SUFFIX(chetrf,CHETRF)
void LAPACK_chetrf_base(
    char const* uplo,
    lapack_int const* n,
    lapack_complex_float* A, lapack_int const* lda, lapack_int* ipiv,
    lapack_complex_float* work, lapack_int const* lwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_chetrf(...) LAPACK_chetrf_base(__VA_ARGS__, 1)
#else
    #define LAPACK_chetrf(...) LAPACK_chetrf_base(__VA_ARGS__)
#endif

#define LAPACK_zhetrf_base LAPACK_GLOBAL_SUFFIX(zhetrf,ZHETRF)
void LAPACK_zhetrf_base(
    char const* uplo,
    lapack_int const* n,
    lapack_complex_double* A, lapack_int const* lda, lapack_int* ipiv,
    lapack_complex_double* work, lapack_int const* lwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_zhetrf(...) LAPACK_zhetrf_base(__VA_ARGS__, 1)
#else
    #define LAPACK_zhetrf(...) LAPACK_zhetrf_base(__VA_ARGS__)
#endif

#define LAPACK_chetrf_aa_base LAPACK_GLOBAL_SUFFIX(chetrf_aa,CHETRF_AA)
void LAPACK_chetrf_aa_base(
    char const* uplo,
    lapack_int const* n,
    lapack_complex_float* A, lapack_int const* lda, lapack_int* ipiv,
    lapack_complex_float* work, lapack_int const* lwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_chetrf_aa(...) LAPACK_chetrf_aa_base(__VA_ARGS__, 1)
#else
    #define LAPACK_chetrf_aa(...) LAPACK_chetrf_aa_base(__VA_ARGS__)
#endif

#define LAPACK_zhetrf_aa_base LAPACK_GLOBAL_SUFFIX(zhetrf_aa,ZHETRF_AA)
void LAPACK_zhetrf_aa_base(
    char const* uplo,
    lapack_int const* n,
    lapack_complex_double* A, lapack_int const* lda, lapack_int* ipiv,
    lapack_complex_double* work, lapack_int const* lwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_zhetrf_aa(...) LAPACK_zhetrf_aa_base(__VA_ARGS__, 1)
#else
    #define LAPACK_zhetrf_aa(...) LAPACK_zhetrf_aa_base(__VA_ARGS__)
#endif

#define LAPACK_chetrf_aa_2stage_base LAPACK_GLOBAL_SUFFIX(chetrf_aa_2stage,CHETRF_AA_2STAGE)
void LAPACK_chetrf_aa_2stage_base(
    char const* uplo,
    lapack_int const* n,
    lapack_complex_float* A, lapack_int const* lda,
    lapack_complex_float* TB, lapack_int const* ltb, lapack_int* ipiv, lapack_int* ipiv2,
    lapack_complex_float* work, lapack_int const* lwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_chetrf_aa_2stage(...) LAPACK_chetrf_aa_2stage_base(__VA_ARGS__, 1)
#else
    #define LAPACK_chetrf_aa_2stage(...) LAPACK_chetrf_aa_2stage_base(__VA_ARGS__)
#endif

#define LAPACK_zhetrf_aa_2stage_base LAPACK_GLOBAL_SUFFIX(zhetrf_aa_2stage,ZHETRF_AA_2STAGE)
void LAPACK_zhetrf_aa_2stage_base(
    char const* uplo,
    lapack_int const* n,
    lapack_complex_double* A, lapack_int const* lda,
    lapack_complex_double* TB, lapack_int const* ltb, lapack_int* ipiv, lapack_int* ipiv2,
    lapack_complex_double* work, lapack_int const* lwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_zhetrf_aa_2stage(...) LAPACK_zhetrf_aa_2stage_base(__VA_ARGS__, 1)
#else
    #define LAPACK_zhetrf_aa_2stage(...) LAPACK_zhetrf_aa_2stage_base(__VA_ARGS__)
#endif

#define LAPACK_chetrf_rk_base LAPACK_GLOBAL_SUFFIX(chetrf_rk,CHETRF_RK)
void LAPACK_chetrf_rk_base(
    char const* uplo,
    lapack_int const* n,
    lapack_complex_float* A, lapack_int const* lda,
    lapack_complex_float* E, lapack_int* ipiv,
    lapack_complex_float* work, lapack_int const* lwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_chetrf_rk(...) LAPACK_chetrf_rk_base(__VA_ARGS__, 1)
#else
    #define LAPACK_chetrf_rk(...) LAPACK_chetrf_rk_base(__VA_ARGS__)
#endif

#define LAPACK_zhetrf_rk_base LAPACK_GLOBAL_SUFFIX(zhetrf_rk,ZHETRF_RK)
void LAPACK_zhetrf_rk_base(
    char const* uplo,
    lapack_int const* n,
    lapack_complex_double* A, lapack_int const* lda,
    lapack_complex_double* E, lapack_int* ipiv,
    lapack_complex_double* work, lapack_int const* lwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_zhetrf_rk(...) LAPACK_zhetrf_rk_base(__VA_ARGS__, 1)
#else
    #define LAPACK_zhetrf_rk(...) LAPACK_zhetrf_rk_base(__VA_ARGS__)
#endif

#define LAPACK_chetrf_rook_base LAPACK_GLOBAL_SUFFIX(chetrf_rook,CHETRF_ROOK)
void LAPACK_chetrf_rook_base(
    char const* uplo,
    lapack_int const* n,
    lapack_complex_float* A, lapack_int const* lda, lapack_int* ipiv,
    lapack_complex_float* work, lapack_int const* lwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_chetrf_rook(...) LAPACK_chetrf_rook_base(__VA_ARGS__, 1)
#else
    #define LAPACK_chetrf_rook(...) LAPACK_chetrf_rook_base(__VA_ARGS__)
#endif

#define LAPACK_zhetrf_rook_base LAPACK_GLOBAL_SUFFIX(zhetrf_rook,ZHETRF_ROOK)
void LAPACK_zhetrf_rook_base(
    char const* uplo,
    lapack_int const* n,
    lapack_complex_double* A, lapack_int const* lda, lapack_int* ipiv,
    lapack_complex_double* work, lapack_int const* lwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_zhetrf_rook(...) LAPACK_zhetrf_rook_base(__VA_ARGS__, 1)
#else
    #define LAPACK_zhetrf_rook(...) LAPACK_zhetrf_rook_base(__VA_ARGS__)
#endif

#define LAPACK_chetri_base LAPACK_GLOBAL_SUFFIX(chetri,CHETRI)
void LAPACK_chetri_base(
    char const* uplo,
    lapack_int const* n,
    lapack_complex_float* A, lapack_int const* lda, lapack_int const* ipiv,
    lapack_complex_float* work,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_chetri(...) LAPACK_chetri_base(__VA_ARGS__, 1)
#else
    #define LAPACK_chetri(...) LAPACK_chetri_base(__VA_ARGS__)
#endif

#define LAPACK_zhetri_base LAPACK_GLOBAL_SUFFIX(zhetri,ZHETRI)
void LAPACK_zhetri_base(
    char const* uplo,
    lapack_int const* n,
    lapack_complex_double* A, lapack_int const* lda, lapack_int const* ipiv,
    lapack_complex_double* work,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_zhetri(...) LAPACK_zhetri_base(__VA_ARGS__, 1)
#else
    #define LAPACK_zhetri(...) LAPACK_zhetri_base(__VA_ARGS__)
#endif

#define LAPACK_chetri2_base LAPACK_GLOBAL_SUFFIX(chetri2,CHETRI2)
void LAPACK_chetri2_base(
    char const* uplo,
    lapack_int const* n,
    lapack_complex_float* A, lapack_int const* lda, lapack_int const* ipiv,
    lapack_complex_float* work, lapack_int const* lwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_chetri2(...) LAPACK_chetri2_base(__VA_ARGS__, 1)
#else
    #define LAPACK_chetri2(...) LAPACK_chetri2_base(__VA_ARGS__)
#endif

#define LAPACK_zhetri2_base LAPACK_GLOBAL_SUFFIX(zhetri2,ZHETRI2)
void LAPACK_zhetri2_base(
    char const* uplo,
    lapack_int const* n,
    lapack_complex_double* A, lapack_int const* lda, lapack_int const* ipiv,
    lapack_complex_double* work, lapack_int const* lwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_zhetri2(...) LAPACK_zhetri2_base(__VA_ARGS__, 1)
#else
    #define LAPACK_zhetri2(...) LAPACK_zhetri2_base(__VA_ARGS__)
#endif

#define LAPACK_chetri2x_base LAPACK_GLOBAL_SUFFIX(chetri2x,CHETRI2X)
void LAPACK_chetri2x_base(
    char const* uplo,
    lapack_int const* n,
    lapack_complex_float* A, lapack_int const* lda, lapack_int const* ipiv,
    lapack_complex_float* work, lapack_int const* nb,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_chetri2x(...) LAPACK_chetri2x_base(__VA_ARGS__, 1)
#else
    #define LAPACK_chetri2x(...) LAPACK_chetri2x_base(__VA_ARGS__)
#endif

#define LAPACK_zhetri2x_base LAPACK_GLOBAL_SUFFIX(zhetri2x,ZHETRI2X)
void LAPACK_zhetri2x_base(
    char const* uplo,
    lapack_int const* n,
    lapack_complex_double* A, lapack_int const* lda, lapack_int const* ipiv,
    lapack_complex_double* work, lapack_int const* nb,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_zhetri2x(...) LAPACK_zhetri2x_base(__VA_ARGS__, 1)
#else
    #define LAPACK_zhetri2x(...) LAPACK_zhetri2x_base(__VA_ARGS__)
#endif

#define LAPACK_chetri_3_base LAPACK_GLOBAL_SUFFIX(chetri_3,CHETRI_3)
void LAPACK_chetri_3_base(
    char const* uplo,
    lapack_int const* n,
    lapack_complex_float* A, lapack_int const* lda,
    lapack_complex_float const* E, lapack_int const* ipiv,
    lapack_complex_float* work, lapack_int const* lwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_chetri_3(...) LAPACK_chetri_3_base(__VA_ARGS__, 1)
#else
    #define LAPACK_chetri_3(...) LAPACK_chetri_3_base(__VA_ARGS__)
#endif

#define LAPACK_zhetri_3_base LAPACK_GLOBAL_SUFFIX(zhetri_3,ZHETRI_3)
void LAPACK_zhetri_3_base(
    char const* uplo,
    lapack_int const* n,
    lapack_complex_double* A, lapack_int const* lda,
    lapack_complex_double const* E, lapack_int const* ipiv,
    lapack_complex_double* work, lapack_int const* lwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_zhetri_3(...) LAPACK_zhetri_3_base(__VA_ARGS__, 1)
#else
    #define LAPACK_zhetri_3(...) LAPACK_zhetri_3_base(__VA_ARGS__)
#endif

#define LAPACK_chetrs_base LAPACK_GLOBAL_SUFFIX(chetrs,CHETRS)
void LAPACK_chetrs_base(
    char const* uplo,
    lapack_int const* n, lapack_int const* nrhs,
    lapack_complex_float const* A, lapack_int const* lda, lapack_int const* ipiv,
    lapack_complex_float* B, lapack_int const* ldb,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_chetrs(...) LAPACK_chetrs_base(__VA_ARGS__, 1)
#else
    #define LAPACK_chetrs(...) LAPACK_chetrs_base(__VA_ARGS__)
#endif

#define LAPACK_zhetrs_base LAPACK_GLOBAL_SUFFIX(zhetrs,ZHETRS)
void LAPACK_zhetrs_base(
    char const* uplo,
    lapack_int const* n, lapack_int const* nrhs,
    lapack_complex_double const* A, lapack_int const* lda, lapack_int const* ipiv,
    lapack_complex_double* B, lapack_int const* ldb,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_zhetrs(...) LAPACK_zhetrs_base(__VA_ARGS__, 1)
#else
    #define LAPACK_zhetrs(...) LAPACK_zhetrs_base(__VA_ARGS__)
#endif

#define LAPACK_chetrs2_base LAPACK_GLOBAL_SUFFIX(chetrs2,CHETRS2)
void LAPACK_chetrs2_base(
    char const* uplo,
    lapack_int const* n, lapack_int const* nrhs,
    lapack_complex_float const* A, lapack_int const* lda, lapack_int const* ipiv,
    lapack_complex_float* B, lapack_int const* ldb,
    lapack_complex_float* work,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_chetrs2(...) LAPACK_chetrs2_base(__VA_ARGS__, 1)
#else
    #define LAPACK_chetrs2(...) LAPACK_chetrs2_base(__VA_ARGS__)
#endif

#define LAPACK_zhetrs2_base LAPACK_GLOBAL_SUFFIX(zhetrs2,ZHETRS2)
void LAPACK_zhetrs2_base(
    char const* uplo,
    lapack_int const* n, lapack_int const* nrhs,
    lapack_complex_double const* A, lapack_int const* lda, lapack_int const* ipiv,
    lapack_complex_double* B, lapack_int const* ldb,
    lapack_complex_double* work,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_zhetrs2(...) LAPACK_zhetrs2_base(__VA_ARGS__, 1)
#else
    #define LAPACK_zhetrs2(...) LAPACK_zhetrs2_base(__VA_ARGS__)
#endif

#define LAPACK_chetrs_3_base LAPACK_GLOBAL_SUFFIX(chetrs_3,CHETRS_3)
void LAPACK_chetrs_3_base(
    char const* uplo,
    lapack_int const* n, lapack_int const* nrhs,
    lapack_complex_float const* A, lapack_int const* lda,
    lapack_complex_float const* E, lapack_int const* ipiv,
    lapack_complex_float* B, lapack_int const* ldb,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_chetrs_3(...) LAPACK_chetrs_3_base(__VA_ARGS__, 1)
#else
    #define LAPACK_chetrs_3(...) LAPACK_chetrs_3_base(__VA_ARGS__)
#endif

#define LAPACK_zhetrs_3_base LAPACK_GLOBAL_SUFFIX(zhetrs_3,ZHETRS_3)
void LAPACK_zhetrs_3_base(
    char const* uplo,
    lapack_int const* n, lapack_int const* nrhs,
    lapack_complex_double const* A, lapack_int const* lda,
    lapack_complex_double const* E, lapack_int const* ipiv,
    lapack_complex_double* B, lapack_int const* ldb,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_zhetrs_3(...) LAPACK_zhetrs_3_base(__VA_ARGS__, 1)
#else
    #define LAPACK_zhetrs_3(...) LAPACK_zhetrs_3_base(__VA_ARGS__)
#endif

#define LAPACK_chetrs_aa_base LAPACK_GLOBAL_SUFFIX(chetrs_aa,CHETRS_AA)
void LAPACK_chetrs_aa_base(
    char const* uplo,
    lapack_int const* n, lapack_int const* nrhs,
    lapack_complex_float const* A, lapack_int const* lda, lapack_int const* ipiv,
    lapack_complex_float* B, lapack_int const* ldb,
    lapack_complex_float* work, lapack_int const* lwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_chetrs_aa(...) LAPACK_chetrs_aa_base(__VA_ARGS__, 1)
#else
    #define LAPACK_chetrs_aa(...) LAPACK_chetrs_aa_base(__VA_ARGS__)
#endif

#define LAPACK_zhetrs_aa_base LAPACK_GLOBAL_SUFFIX(zhetrs_aa,ZHETRS_AA)
void LAPACK_zhetrs_aa_base(
    char const* uplo,
    lapack_int const* n, lapack_int const* nrhs,
    lapack_complex_double const* A, lapack_int const* lda, lapack_int const* ipiv,
    lapack_complex_double* B, lapack_int const* ldb,
    lapack_complex_double* work, lapack_int const* lwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_zhetrs_aa(...) LAPACK_zhetrs_aa_base(__VA_ARGS__, 1)
#else
    #define LAPACK_zhetrs_aa(...) LAPACK_zhetrs_aa_base(__VA_ARGS__)
#endif

#define LAPACK_chetrs_aa_2stage_base LAPACK_GLOBAL_SUFFIX(chetrs_aa_2stage,CHETRS_AA_2STAGE)
void LAPACK_chetrs_aa_2stage_base(
    char const* uplo,
    lapack_int const* n, lapack_int const* nrhs,
    lapack_complex_float const* A, lapack_int const* lda,
    lapack_complex_float* TB, lapack_int const* ltb, lapack_int const* ipiv, lapack_int const* ipiv2,
    lapack_complex_float* B, lapack_int const* ldb,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_chetrs_aa_2stage(...) LAPACK_chetrs_aa_2stage_base(__VA_ARGS__, 1)
#else
    #define LAPACK_chetrs_aa_2stage(...) LAPACK_chetrs_aa_2stage_base(__VA_ARGS__)
#endif

#define LAPACK_zhetrs_aa_2stage_base LAPACK_GLOBAL_SUFFIX(zhetrs_aa_2stage,ZHETRS_AA_2STAGE)
void LAPACK_zhetrs_aa_2stage_base(
    char const* uplo,
    lapack_int const* n, lapack_int const* nrhs,
    lapack_complex_double const* A, lapack_int const* lda,
    lapack_complex_double* TB, lapack_int const* ltb, lapack_int const* ipiv, lapack_int const* ipiv2,
    lapack_complex_double* B, lapack_int const* ldb,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_zhetrs_aa_2stage(...) LAPACK_zhetrs_aa_2stage_base(__VA_ARGS__, 1)
#else
    #define LAPACK_zhetrs_aa_2stage(...) LAPACK_zhetrs_aa_2stage_base(__VA_ARGS__)
#endif

#define LAPACK_chetrs_rook_base LAPACK_GLOBAL_SUFFIX(chetrs_rook,CHETRS_ROOK)
void LAPACK_chetrs_rook_base(
    char const* uplo,
    lapack_int const* n, lapack_int const* nrhs,
    lapack_complex_float const* A, lapack_int const* lda, lapack_int const* ipiv,
    lapack_complex_float* B, lapack_int const* ldb,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_chetrs_rook(...) LAPACK_chetrs_rook_base(__VA_ARGS__, 1)
#else
    #define LAPACK_chetrs_rook(...) LAPACK_chetrs_rook_base(__VA_ARGS__)
#endif

#define LAPACK_zhetrs_rook_base LAPACK_GLOBAL_SUFFIX(zhetrs_rook,ZHETRS_ROOK)
void LAPACK_zhetrs_rook_base(
    char const* uplo,
    lapack_int const* n, lapack_int const* nrhs,
    lapack_complex_double const* A, lapack_int const* lda, lapack_int const* ipiv,
    lapack_complex_double* B, lapack_int const* ldb,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_zhetrs_rook(...) LAPACK_zhetrs_rook_base(__VA_ARGS__, 1)
#else
    #define LAPACK_zhetrs_rook(...) LAPACK_zhetrs_rook_base(__VA_ARGS__)
#endif

#define LAPACK_chfrk_base LAPACK_GLOBAL_SUFFIX(chfrk,CHFRK)
void LAPACK_chfrk_base(
    char const* transr, char const* uplo, char const* trans,
    lapack_int const* n, lapack_int const* k,
    float const* alpha,
    lapack_complex_float const* A, lapack_int const* lda,
    float const* beta,
    lapack_complex_float* C
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_chfrk(...) LAPACK_chfrk_base(__VA_ARGS__, 1, 1, 1)
#else
    #define LAPACK_chfrk(...) LAPACK_chfrk_base(__VA_ARGS__)
#endif

#define LAPACK_zhfrk_base LAPACK_GLOBAL_SUFFIX(zhfrk,ZHFRK)
void LAPACK_zhfrk_base(
    char const* transr, char const* uplo, char const* trans,
    lapack_int const* n, lapack_int const* k,
    double const* alpha,
    lapack_complex_double const* A, lapack_int const* lda,
    double const* beta,
    lapack_complex_double* C
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_zhfrk(...) LAPACK_zhfrk_base(__VA_ARGS__, 1, 1, 1)
#else
    #define LAPACK_zhfrk(...) LAPACK_zhfrk_base(__VA_ARGS__)
#endif

#define LAPACK_chgeqz_base LAPACK_GLOBAL_SUFFIX(chgeqz,CHGEQZ)
void LAPACK_chgeqz_base(
    char const* job, char const* compq, char const* compz,
    lapack_int const* n, lapack_int const* ilo, lapack_int const* ihi,
    lapack_complex_float* H, lapack_int const* ldh,
    lapack_complex_float* T, lapack_int const* ldt,
    lapack_complex_float* alpha,
    lapack_complex_float* beta,
    lapack_complex_float* Q, lapack_int const* ldq,
    lapack_complex_float* Z, lapack_int const* ldz,
    lapack_complex_float* work, lapack_int const* lwork,
    float* rwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_chgeqz(...) LAPACK_chgeqz_base(__VA_ARGS__, 1, 1, 1)
#else
    #define LAPACK_chgeqz(...) LAPACK_chgeqz_base(__VA_ARGS__)
#endif

#define LAPACK_dhgeqz_base LAPACK_GLOBAL_SUFFIX(dhgeqz,DHGEQZ)
void LAPACK_dhgeqz_base(
    char const* job, char const* compq, char const* compz,
    lapack_int const* n, lapack_int const* ilo, lapack_int const* ihi,
    double* H, lapack_int const* ldh,
    double* T, lapack_int const* ldt,
    double* alphar,
    double* alphai,
    double* beta,
    double* Q, lapack_int const* ldq,
    double* Z, lapack_int const* ldz,
    double* work, lapack_int const* lwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_dhgeqz(...) LAPACK_dhgeqz_base(__VA_ARGS__, 1, 1, 1)
#else
    #define LAPACK_dhgeqz(...) LAPACK_dhgeqz_base(__VA_ARGS__)
#endif

#define LAPACK_shgeqz_base LAPACK_GLOBAL_SUFFIX(shgeqz,SHGEQZ)
void LAPACK_shgeqz_base(
    char const* job, char const* compq, char const* compz,
    lapack_int const* n, lapack_int const* ilo, lapack_int const* ihi,
    float* H, lapack_int const* ldh,
    float* T, lapack_int const* ldt,
    float* alphar,
    float* alphai,
    float* beta,
    float* Q, lapack_int const* ldq,
    float* Z, lapack_int const* ldz,
    float* work, lapack_int const* lwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_shgeqz(...) LAPACK_shgeqz_base(__VA_ARGS__, 1, 1, 1)
#else
    #define LAPACK_shgeqz(...) LAPACK_shgeqz_base(__VA_ARGS__)
#endif

#define LAPACK_zhgeqz_base LAPACK_GLOBAL_SUFFIX(zhgeqz,ZHGEQZ)
void LAPACK_zhgeqz_base(
    char const* job, char const* compq, char const* compz,
    lapack_int const* n, lapack_int const* ilo, lapack_int const* ihi,
    lapack_complex_double* H, lapack_int const* ldh,
    lapack_complex_double* T, lapack_int const* ldt,
    lapack_complex_double* alpha,
    lapack_complex_double* beta,
    lapack_complex_double* Q, lapack_int const* ldq,
    lapack_complex_double* Z, lapack_int const* ldz,
    lapack_complex_double* work, lapack_int const* lwork,
    double* rwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_zhgeqz(...) LAPACK_zhgeqz_base(__VA_ARGS__, 1, 1, 1)
#else
    #define LAPACK_zhgeqz(...) LAPACK_zhgeqz_base(__VA_ARGS__)
#endif

#define LAPACK_chpcon_base LAPACK_GLOBAL_SUFFIX(chpcon,CHPCON)
void LAPACK_chpcon_base(
    char const* uplo,
    lapack_int const* n,
    lapack_complex_float const* AP, lapack_int const* ipiv,
    float const* anorm,
    float* rcond,
    lapack_complex_float* work,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_chpcon(...) LAPACK_chpcon_base(__VA_ARGS__, 1)
#else
    #define LAPACK_chpcon(...) LAPACK_chpcon_base(__VA_ARGS__)
#endif

#define LAPACK_zhpcon_base LAPACK_GLOBAL_SUFFIX(zhpcon,ZHPCON)
void LAPACK_zhpcon_base(
    char const* uplo,
    lapack_int const* n,
    lapack_complex_double const* AP, lapack_int const* ipiv,
    double const* anorm,
    double* rcond,
    lapack_complex_double* work,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_zhpcon(...) LAPACK_zhpcon_base(__VA_ARGS__, 1)
#else
    #define LAPACK_zhpcon(...) LAPACK_zhpcon_base(__VA_ARGS__)
#endif

#define LAPACK_chpev_base LAPACK_GLOBAL_SUFFIX(chpev,CHPEV)
void LAPACK_chpev_base(
    char const* jobz, char const* uplo,
    lapack_int const* n,
    lapack_complex_float* AP,
    float* W,
    lapack_complex_float* Z, lapack_int const* ldz,
    lapack_complex_float* work,
    float* rwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_chpev(...) LAPACK_chpev_base(__VA_ARGS__, 1, 1)
#else
    #define LAPACK_chpev(...) LAPACK_chpev_base(__VA_ARGS__)
#endif

#define LAPACK_zhpev_base LAPACK_GLOBAL_SUFFIX(zhpev,ZHPEV)
void LAPACK_zhpev_base(
    char const* jobz, char const* uplo,
    lapack_int const* n,
    lapack_complex_double* AP,
    double* W,
    lapack_complex_double* Z, lapack_int const* ldz,
    lapack_complex_double* work,
    double* rwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_zhpev(...) LAPACK_zhpev_base(__VA_ARGS__, 1, 1)
#else
    #define LAPACK_zhpev(...) LAPACK_zhpev_base(__VA_ARGS__)
#endif

#define LAPACK_chpevd_base LAPACK_GLOBAL_SUFFIX(chpevd,CHPEVD)
void LAPACK_chpevd_base(
    char const* jobz, char const* uplo,
    lapack_int const* n,
    lapack_complex_float* AP,
    float* W,
    lapack_complex_float* Z, lapack_int const* ldz,
    lapack_complex_float* work, lapack_int const* lwork,
    float* rwork, lapack_int const* lrwork,
    lapack_int* iwork, lapack_int const* liwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_chpevd(...) LAPACK_chpevd_base(__VA_ARGS__, 1, 1)
#else
    #define LAPACK_chpevd(...) LAPACK_chpevd_base(__VA_ARGS__)
#endif

#define LAPACK_zhpevd_base LAPACK_GLOBAL_SUFFIX(zhpevd,ZHPEVD)
void LAPACK_zhpevd_base(
    char const* jobz, char const* uplo,
    lapack_int const* n,
    lapack_complex_double* AP,
    double* W,
    lapack_complex_double* Z, lapack_int const* ldz,
    lapack_complex_double* work, lapack_int const* lwork,
    double* rwork, lapack_int const* lrwork,
    lapack_int* iwork, lapack_int const* liwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_zhpevd(...) LAPACK_zhpevd_base(__VA_ARGS__, 1, 1)
#else
    #define LAPACK_zhpevd(...) LAPACK_zhpevd_base(__VA_ARGS__)
#endif

#define LAPACK_chpevx_base LAPACK_GLOBAL_SUFFIX(chpevx,CHPEVX)
void LAPACK_chpevx_base(
    char const* jobz, char const* range, char const* uplo,
    lapack_int const* n,
    lapack_complex_float* AP,
    float const* vl,
    float const* vu, lapack_int const* il, lapack_int const* iu,
    float const* abstol, lapack_int* m,
    float* W,
    lapack_complex_float* Z, lapack_int const* ldz,
    lapack_complex_float* work,
    float* rwork,
    lapack_int* iwork, lapack_int* IFAIL,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_chpevx(...) LAPACK_chpevx_base(__VA_ARGS__, 1, 1, 1)
#else
    #define LAPACK_chpevx(...) LAPACK_chpevx_base(__VA_ARGS__)
#endif

#define LAPACK_zhpevx_base LAPACK_GLOBAL_SUFFIX(zhpevx,ZHPEVX)
void LAPACK_zhpevx_base(
    char const* jobz, char const* range, char const* uplo,
    lapack_int const* n,
    lapack_complex_double* AP,
    double const* vl,
    double const* vu, lapack_int const* il, lapack_int const* iu,
    double const* abstol, lapack_int* m,
    double* W,
    lapack_complex_double* Z, lapack_int const* ldz,
    lapack_complex_double* work,
    double* rwork,
    lapack_int* iwork, lapack_int* IFAIL,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_zhpevx(...) LAPACK_zhpevx_base(__VA_ARGS__, 1, 1, 1)
#else
    #define LAPACK_zhpevx(...) LAPACK_zhpevx_base(__VA_ARGS__)
#endif

#define LAPACK_chpgst_base LAPACK_GLOBAL_SUFFIX(chpgst,CHPGST)
void LAPACK_chpgst_base(
    lapack_int const* itype, char const* uplo,
    lapack_int const* n,
    lapack_complex_float* AP,
    lapack_complex_float const* BP,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_chpgst(...) LAPACK_chpgst_base(__VA_ARGS__, 1)
#else
    #define LAPACK_chpgst(...) LAPACK_chpgst_base(__VA_ARGS__)
#endif

#define LAPACK_zhpgst_base LAPACK_GLOBAL_SUFFIX(zhpgst,ZHPGST)
void LAPACK_zhpgst_base(
    lapack_int const* itype, char const* uplo,
    lapack_int const* n,
    lapack_complex_double* AP,
    lapack_complex_double const* BP,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_zhpgst(...) LAPACK_zhpgst_base(__VA_ARGS__, 1)
#else
    #define LAPACK_zhpgst(...) LAPACK_zhpgst_base(__VA_ARGS__)
#endif

#define LAPACK_chpgv_base LAPACK_GLOBAL_SUFFIX(chpgv,CHPGV)
void LAPACK_chpgv_base(
    lapack_int const* itype, char const* jobz, char const* uplo,
    lapack_int const* n,
    lapack_complex_float* AP,
    lapack_complex_float* BP,
    float* W,
    lapack_complex_float* Z, lapack_int const* ldz,
    lapack_complex_float* work,
    float* rwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_chpgv(...) LAPACK_chpgv_base(__VA_ARGS__, 1, 1)
#else
    #define LAPACK_chpgv(...) LAPACK_chpgv_base(__VA_ARGS__)
#endif

#define LAPACK_zhpgv_base LAPACK_GLOBAL_SUFFIX(zhpgv,ZHPGV)
void LAPACK_zhpgv_base(
    lapack_int const* itype, char const* jobz, char const* uplo,
    lapack_int const* n,
    lapack_complex_double* AP,
    lapack_complex_double* BP,
    double* W,
    lapack_complex_double* Z, lapack_int const* ldz,
    lapack_complex_double* work,
    double* rwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_zhpgv(...) LAPACK_zhpgv_base(__VA_ARGS__, 1, 1)
#else
    #define LAPACK_zhpgv(...) LAPACK_zhpgv_base(__VA_ARGS__)
#endif

#define LAPACK_chpgvd_base LAPACK_GLOBAL_SUFFIX(chpgvd,CHPGVD)
void LAPACK_chpgvd_base(
    lapack_int const* itype, char const* jobz, char const* uplo,
    lapack_int const* n,
    lapack_complex_float* AP,
    lapack_complex_float* BP,
    float* W,
    lapack_complex_float* Z, lapack_int const* ldz,
    lapack_complex_float* work, lapack_int const* lwork,
    float* rwork, lapack_int const* lrwork,
    lapack_int* iwork, lapack_int const* liwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_chpgvd(...) LAPACK_chpgvd_base(__VA_ARGS__, 1, 1)
#else
    #define LAPACK_chpgvd(...) LAPACK_chpgvd_base(__VA_ARGS__)
#endif

#define LAPACK_zhpgvd_base LAPACK_GLOBAL_SUFFIX(zhpgvd,ZHPGVD)
void LAPACK_zhpgvd_base(
    lapack_int const* itype, char const* jobz, char const* uplo,
    lapack_int const* n,
    lapack_complex_double* AP,
    lapack_complex_double* BP,
    double* W,
    lapack_complex_double* Z, lapack_int const* ldz,
    lapack_complex_double* work, lapack_int const* lwork,
    double* rwork, lapack_int const* lrwork,
    lapack_int* iwork, lapack_int const* liwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_zhpgvd(...) LAPACK_zhpgvd_base(__VA_ARGS__, 1, 1)
#else
    #define LAPACK_zhpgvd(...) LAPACK_zhpgvd_base(__VA_ARGS__)
#endif

#define LAPACK_chpgvx_base LAPACK_GLOBAL_SUFFIX(chpgvx,CHPGVX)
void LAPACK_chpgvx_base(
    lapack_int const* itype, char const* jobz, char const* range, char const* uplo,
    lapack_int const* n,
    lapack_complex_float* AP,
    lapack_complex_float* BP,
    float const* vl,
    float const* vu, lapack_int const* il, lapack_int const* iu,
    float const* abstol, lapack_int* m,
    float* W,
    lapack_complex_float* Z, lapack_int const* ldz,
    lapack_complex_float* work,
    float* rwork,
    lapack_int* iwork, lapack_int* IFAIL,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_chpgvx(...) LAPACK_chpgvx_base(__VA_ARGS__, 1, 1, 1)
#else
    #define LAPACK_chpgvx(...) LAPACK_chpgvx_base(__VA_ARGS__)
#endif

#define LAPACK_zhpgvx_base LAPACK_GLOBAL_SUFFIX(zhpgvx,ZHPGVX)
void LAPACK_zhpgvx_base(
    lapack_int const* itype, char const* jobz, char const* range, char const* uplo,
    lapack_int const* n,
    lapack_complex_double* AP,
    lapack_complex_double* BP,
    double const* vl,
    double const* vu, lapack_int const* il, lapack_int const* iu,
    double const* abstol, lapack_int* m,
    double* W,
    lapack_complex_double* Z, lapack_int const* ldz,
    lapack_complex_double* work,
    double* rwork,
    lapack_int* iwork, lapack_int* IFAIL,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_zhpgvx(...) LAPACK_zhpgvx_base(__VA_ARGS__, 1, 1, 1)
#else
    #define LAPACK_zhpgvx(...) LAPACK_zhpgvx_base(__VA_ARGS__)
#endif

#define LAPACK_chprfs_base LAPACK_GLOBAL_SUFFIX(chprfs,CHPRFS)
void LAPACK_chprfs_base(
    char const* uplo,
    lapack_int const* n, lapack_int const* nrhs,
    lapack_complex_float const* AP,
    lapack_complex_float const* AFP, lapack_int const* ipiv,
    lapack_complex_float const* B, lapack_int const* ldb,
    lapack_complex_float* X, lapack_int const* ldx,
    float* ferr,
    float* berr,
    lapack_complex_float* work,
    float* rwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_chprfs(...) LAPACK_chprfs_base(__VA_ARGS__, 1)
#else
    #define LAPACK_chprfs(...) LAPACK_chprfs_base(__VA_ARGS__)
#endif

#define LAPACK_zhprfs_base LAPACK_GLOBAL_SUFFIX(zhprfs,ZHPRFS)
void LAPACK_zhprfs_base(
    char const* uplo,
    lapack_int const* n, lapack_int const* nrhs,
    lapack_complex_double const* AP,
    lapack_complex_double const* AFP, lapack_int const* ipiv,
    lapack_complex_double const* B, lapack_int const* ldb,
    lapack_complex_double* X, lapack_int const* ldx,
    double* ferr,
    double* berr,
    lapack_complex_double* work,
    double* rwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_zhprfs(...) LAPACK_zhprfs_base(__VA_ARGS__, 1)
#else
    #define LAPACK_zhprfs(...) LAPACK_zhprfs_base(__VA_ARGS__)
#endif

#define LAPACK_chpsv_base LAPACK_GLOBAL_SUFFIX(chpsv,CHPSV)
void LAPACK_chpsv_base(
    char const* uplo,
    lapack_int const* n, lapack_int const* nrhs,
    lapack_complex_float* AP, lapack_int* ipiv,
    lapack_complex_float* B, lapack_int const* ldb,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_chpsv(...) LAPACK_chpsv_base(__VA_ARGS__, 1)
#else
    #define LAPACK_chpsv(...) LAPACK_chpsv_base(__VA_ARGS__)
#endif

#define LAPACK_zhpsv_base LAPACK_GLOBAL_SUFFIX(zhpsv,ZHPSV)
void LAPACK_zhpsv_base(
    char const* uplo,
    lapack_int const* n, lapack_int const* nrhs,
    lapack_complex_double* AP, lapack_int* ipiv,
    lapack_complex_double* B, lapack_int const* ldb,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_zhpsv(...) LAPACK_zhpsv_base(__VA_ARGS__, 1)
#else
    #define LAPACK_zhpsv(...) LAPACK_zhpsv_base(__VA_ARGS__)
#endif

#define LAPACK_chpsvx_base LAPACK_GLOBAL_SUFFIX(chpsvx,CHPSVX)
void LAPACK_chpsvx_base(
    char const* fact, char const* uplo,
    lapack_int const* n, lapack_int const* nrhs,
    lapack_complex_float const* AP,
    lapack_complex_float* AFP, lapack_int* ipiv,
    lapack_complex_float const* B, lapack_int const* ldb,
    lapack_complex_float* X, lapack_int const* ldx,
    float* rcond,
    float* ferr,
    float* berr,
    lapack_complex_float* work,
    float* rwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_chpsvx(...) LAPACK_chpsvx_base(__VA_ARGS__, 1, 1)
#else
    #define LAPACK_chpsvx(...) LAPACK_chpsvx_base(__VA_ARGS__)
#endif

#define LAPACK_zhpsvx_base LAPACK_GLOBAL_SUFFIX(zhpsvx,ZHPSVX)
void LAPACK_zhpsvx_base(
    char const* fact, char const* uplo,
    lapack_int const* n, lapack_int const* nrhs,
    lapack_complex_double const* AP,
    lapack_complex_double* AFP, lapack_int* ipiv,
    lapack_complex_double const* B, lapack_int const* ldb,
    lapack_complex_double* X, lapack_int const* ldx,
    double* rcond,
    double* ferr,
    double* berr,
    lapack_complex_double* work,
    double* rwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_zhpsvx(...) LAPACK_zhpsvx_base(__VA_ARGS__, 1, 1)
#else
    #define LAPACK_zhpsvx(...) LAPACK_zhpsvx_base(__VA_ARGS__)
#endif

#define LAPACK_chptrd_base LAPACK_GLOBAL_SUFFIX(chptrd,CHPTRD)
void LAPACK_chptrd_base(
    char const* uplo,
    lapack_int const* n,
    lapack_complex_float* AP,
    float* D,
    float* E,
    lapack_complex_float* tau,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_chptrd(...) LAPACK_chptrd_base(__VA_ARGS__, 1)
#else
    #define LAPACK_chptrd(...) LAPACK_chptrd_base(__VA_ARGS__)
#endif

#define LAPACK_zhptrd_base LAPACK_GLOBAL_SUFFIX(zhptrd,ZHPTRD)
void LAPACK_zhptrd_base(
    char const* uplo,
    lapack_int const* n,
    lapack_complex_double* AP,
    double* D,
    double* E,
    lapack_complex_double* tau,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_zhptrd(...) LAPACK_zhptrd_base(__VA_ARGS__, 1)
#else
    #define LAPACK_zhptrd(...) LAPACK_zhptrd_base(__VA_ARGS__)
#endif

#define LAPACK_chptrf_base LAPACK_GLOBAL_SUFFIX(chptrf,CHPTRF)
void LAPACK_chptrf_base(
    char const* uplo,
    lapack_int const* n,
    lapack_complex_float* AP, lapack_int* ipiv,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_chptrf(...) LAPACK_chptrf_base(__VA_ARGS__, 1)
#else
    #define LAPACK_chptrf(...) LAPACK_chptrf_base(__VA_ARGS__)
#endif

#define LAPACK_zhptrf_base LAPACK_GLOBAL_SUFFIX(zhptrf,ZHPTRF)
void LAPACK_zhptrf_base(
    char const* uplo,
    lapack_int const* n,
    lapack_complex_double* AP, lapack_int* ipiv,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_zhptrf(...) LAPACK_zhptrf_base(__VA_ARGS__, 1)
#else
    #define LAPACK_zhptrf(...) LAPACK_zhptrf_base(__VA_ARGS__)
#endif

#define LAPACK_chptri_base LAPACK_GLOBAL_SUFFIX(chptri,CHPTRI)
void LAPACK_chptri_base(
    char const* uplo,
    lapack_int const* n,
    lapack_complex_float* AP, lapack_int const* ipiv,
    lapack_complex_float* work,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_chptri(...) LAPACK_chptri_base(__VA_ARGS__, 1)
#else
    #define LAPACK_chptri(...) LAPACK_chptri_base(__VA_ARGS__)
#endif

#define LAPACK_zhptri_base LAPACK_GLOBAL_SUFFIX(zhptri,ZHPTRI)
void LAPACK_zhptri_base(
    char const* uplo,
    lapack_int const* n,
    lapack_complex_double* AP, lapack_int const* ipiv,
    lapack_complex_double* work,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_zhptri(...) LAPACK_zhptri_base(__VA_ARGS__, 1)
#else
    #define LAPACK_zhptri(...) LAPACK_zhptri_base(__VA_ARGS__)
#endif

#define LAPACK_chptrs_base LAPACK_GLOBAL_SUFFIX(chptrs,CHPTRS)
void LAPACK_chptrs_base(
    char const* uplo,
    lapack_int const* n, lapack_int const* nrhs,
    lapack_complex_float const* AP, lapack_int const* ipiv,
    lapack_complex_float* B, lapack_int const* ldb,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_chptrs(...) LAPACK_chptrs_base(__VA_ARGS__, 1)
#else
    #define LAPACK_chptrs(...) LAPACK_chptrs_base(__VA_ARGS__)
#endif

#define LAPACK_zhptrs_base LAPACK_GLOBAL_SUFFIX(zhptrs,ZHPTRS)
void LAPACK_zhptrs_base(
    char const* uplo,
    lapack_int const* n, lapack_int const* nrhs,
    lapack_complex_double const* AP, lapack_int const* ipiv,
    lapack_complex_double* B, lapack_int const* ldb,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_zhptrs(...) LAPACK_zhptrs_base(__VA_ARGS__, 1)
#else
    #define LAPACK_zhptrs(...) LAPACK_zhptrs_base(__VA_ARGS__)
#endif

#define LAPACK_chsein_base LAPACK_GLOBAL_SUFFIX(chsein,CHSEIN)
void LAPACK_chsein_base(
    char const* side, char const* eigsrc, char const* initv,
    lapack_logical const* select,
    lapack_int const* n,
    lapack_complex_float const* H, lapack_int const* ldh,
    lapack_complex_float* W,
    lapack_complex_float* VL, lapack_int const* ldvl,
    lapack_complex_float* VR, lapack_int const* ldvr, lapack_int const* mm, lapack_int* m,
    lapack_complex_float* work,
    float* rwork, lapack_int* IFAILL, lapack_int* IFAILR,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_chsein(...) LAPACK_chsein_base(__VA_ARGS__, 1, 1, 1)
#else
    #define LAPACK_chsein(...) LAPACK_chsein_base(__VA_ARGS__)
#endif

#define LAPACK_dhsein_base LAPACK_GLOBAL_SUFFIX(dhsein,DHSEIN)
void LAPACK_dhsein_base(
    char const* side, char const* eigsrc, char const* initv,
    lapack_logical* select,
    lapack_int const* n,
    double const* H, lapack_int const* ldh,
    double* WR,
    double const* WI,
    double* VL, lapack_int const* ldvl,
    double* VR, lapack_int const* ldvr, lapack_int const* mm, lapack_int* m,
    double* work, lapack_int* IFAILL, lapack_int* IFAILR,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_dhsein(...) LAPACK_dhsein_base(__VA_ARGS__, 1, 1, 1)
#else
    #define LAPACK_dhsein(...) LAPACK_dhsein_base(__VA_ARGS__)
#endif

#define LAPACK_shsein_base LAPACK_GLOBAL_SUFFIX(shsein,SHSEIN)
void LAPACK_shsein_base(
    char const* side, char const* eigsrc, char const* initv,
    lapack_logical* select,
    lapack_int const* n,
    float const* H, lapack_int const* ldh,
    float* WR,
    float const* WI,
    float* VL, lapack_int const* ldvl,
    float* VR, lapack_int const* ldvr, lapack_int const* mm, lapack_int* m,
    float* work, lapack_int* IFAILL, lapack_int* IFAILR,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_shsein(...) LAPACK_shsein_base(__VA_ARGS__, 1, 1, 1)
#else
    #define LAPACK_shsein(...) LAPACK_shsein_base(__VA_ARGS__)
#endif

#define LAPACK_zhsein_base LAPACK_GLOBAL_SUFFIX(zhsein,ZHSEIN)
void LAPACK_zhsein_base(
    char const* side, char const* eigsrc, char const* initv,
    lapack_logical const* select,
    lapack_int const* n,
    lapack_complex_double const* H, lapack_int const* ldh,
    lapack_complex_double* W,
    lapack_complex_double* VL, lapack_int const* ldvl,
    lapack_complex_double* VR, lapack_int const* ldvr, lapack_int const* mm, lapack_int* m,
    lapack_complex_double* work,
    double* rwork, lapack_int* IFAILL, lapack_int* IFAILR,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_zhsein(...) LAPACK_zhsein_base(__VA_ARGS__, 1, 1, 1)
#else
    #define LAPACK_zhsein(...) LAPACK_zhsein_base(__VA_ARGS__)
#endif

#define LAPACK_chseqr_base LAPACK_GLOBAL_SUFFIX(chseqr,CHSEQR)
void LAPACK_chseqr_base(
    char const* job, char const* compz,
    lapack_int const* n, lapack_int const* ilo, lapack_int const* ihi,
    lapack_complex_float* H, lapack_int const* ldh,
    lapack_complex_float* W,
    lapack_complex_float* Z, lapack_int const* ldz,
    lapack_complex_float* work, lapack_int const* lwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_chseqr(...) LAPACK_chseqr_base(__VA_ARGS__, 1, 1)
#else
    #define LAPACK_chseqr(...) LAPACK_chseqr_base(__VA_ARGS__)
#endif

#define LAPACK_dhseqr_base LAPACK_GLOBAL_SUFFIX(dhseqr,DHSEQR)
void LAPACK_dhseqr_base(
    char const* job, char const* compz,
    lapack_int const* n, lapack_int const* ilo, lapack_int const* ihi,
    double* H, lapack_int const* ldh,
    double* WR,
    double* WI,
    double* Z, lapack_int const* ldz,
    double* work, lapack_int const* lwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_dhseqr(...) LAPACK_dhseqr_base(__VA_ARGS__, 1, 1)
#else
    #define LAPACK_dhseqr(...) LAPACK_dhseqr_base(__VA_ARGS__)
#endif

#define LAPACK_shseqr_base LAPACK_GLOBAL_SUFFIX(shseqr,SHSEQR)
void LAPACK_shseqr_base(
    char const* job, char const* compz,
    lapack_int const* n, lapack_int const* ilo, lapack_int const* ihi,
    float* H, lapack_int const* ldh,
    float* WR,
    float* WI,
    float* Z, lapack_int const* ldz,
    float* work, lapack_int const* lwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_shseqr(...) LAPACK_shseqr_base(__VA_ARGS__, 1, 1)
#else
    #define LAPACK_shseqr(...) LAPACK_shseqr_base(__VA_ARGS__)
#endif

#define LAPACK_zhseqr_base LAPACK_GLOBAL_SUFFIX(zhseqr,ZHSEQR)
void LAPACK_zhseqr_base(
    char const* job, char const* compz,
    lapack_int const* n, lapack_int const* ilo, lapack_int const* ihi,
    lapack_complex_double* H, lapack_int const* ldh,
    lapack_complex_double* W,
    lapack_complex_double* Z, lapack_int const* ldz,
    lapack_complex_double* work, lapack_int const* lwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_zhseqr(...) LAPACK_zhseqr_base(__VA_ARGS__, 1, 1)
#else
    #define LAPACK_zhseqr(...) LAPACK_zhseqr_base(__VA_ARGS__)
#endif

#define LAPACK_clacgv LAPACK_GLOBAL_SUFFIX(clacgv,CLACGV)
void LAPACK_clacgv(
    lapack_int const* n,
    lapack_complex_float* X, lapack_int const* incx );

#define LAPACK_zlacgv LAPACK_GLOBAL_SUFFIX(zlacgv,ZLACGV)
void LAPACK_zlacgv(
    lapack_int const* n,
    lapack_complex_double* X, lapack_int const* incx );

#define LAPACK_clacn2 LAPACK_GLOBAL_SUFFIX(clacn2,CLACN2)
void LAPACK_clacn2(
    lapack_int const* n,
    lapack_complex_float* V,
    lapack_complex_float* X,
    float* est, lapack_int* kase, lapack_int* ISAVE );

#define LAPACK_dlacn2 LAPACK_GLOBAL_SUFFIX(dlacn2,DLACN2)
void LAPACK_dlacn2(
    lapack_int const* n,
    double* V,
    double* X, lapack_int* ISGN,
    double* est, lapack_int* kase, lapack_int* ISAVE );

#define LAPACK_slacn2 LAPACK_GLOBAL_SUFFIX(slacn2,SLACN2)
void LAPACK_slacn2(
    lapack_int const* n,
    float* V,
    float* X, lapack_int* ISGN,
    float* est, lapack_int* kase, lapack_int* ISAVE );

#define LAPACK_zlacn2 LAPACK_GLOBAL_SUFFIX(zlacn2,ZLACN2)
void LAPACK_zlacn2(
    lapack_int const* n,
    lapack_complex_double* V,
    lapack_complex_double* X,
    double* est, lapack_int* kase, lapack_int* ISAVE );

#define LAPACK_clacp2_base LAPACK_GLOBAL_SUFFIX(clacp2,CLACP2)
void LAPACK_clacp2_base(
    char const* uplo,
    lapack_int const* m, lapack_int const* n,
    float const* A, lapack_int const* lda,
    lapack_complex_float* B, lapack_int const* ldb
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_clacp2(...) LAPACK_clacp2_base(__VA_ARGS__, 1)
#else
    #define LAPACK_clacp2(...) LAPACK_clacp2_base(__VA_ARGS__)
#endif

#define LAPACK_zlacp2_base LAPACK_GLOBAL_SUFFIX(zlacp2,ZLACP2)
void LAPACK_zlacp2_base(
    char const* uplo,
    lapack_int const* m, lapack_int const* n,
    double const* A, lapack_int const* lda,
    lapack_complex_double* B, lapack_int const* ldb
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_zlacp2(...) LAPACK_zlacp2_base(__VA_ARGS__, 1)
#else
    #define LAPACK_zlacp2(...) LAPACK_zlacp2_base(__VA_ARGS__)
#endif

#define LAPACK_clacpy_base LAPACK_GLOBAL_SUFFIX(clacpy,CLACPY)
void LAPACK_clacpy_base(
    char const* uplo,
    lapack_int const* m, lapack_int const* n,
    lapack_complex_float const* A, lapack_int const* lda,
    lapack_complex_float* B, lapack_int const* ldb
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_clacpy(...) LAPACK_clacpy_base(__VA_ARGS__, 1)
#else
    #define LAPACK_clacpy(...) LAPACK_clacpy_base(__VA_ARGS__)
#endif

#define LAPACK_dlacpy_base LAPACK_GLOBAL_SUFFIX(dlacpy,DLACPY)
void LAPACK_dlacpy_base(
    char const* uplo,
    lapack_int const* m, lapack_int const* n,
    double const* A, lapack_int const* lda,
    double* B, lapack_int const* ldb
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_dlacpy(...) LAPACK_dlacpy_base(__VA_ARGS__, 1)
#else
    #define LAPACK_dlacpy(...) LAPACK_dlacpy_base(__VA_ARGS__)
#endif

#define LAPACK_slacpy_base LAPACK_GLOBAL_SUFFIX(slacpy,SLACPY)
void LAPACK_slacpy_base(
    char const* uplo,
    lapack_int const* m, lapack_int const* n,
    float const* A, lapack_int const* lda,
    float* B, lapack_int const* ldb
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_slacpy(...) LAPACK_slacpy_base(__VA_ARGS__, 1)
#else
    #define LAPACK_slacpy(...) LAPACK_slacpy_base(__VA_ARGS__)
#endif

#define LAPACK_zlacpy_base LAPACK_GLOBAL_SUFFIX(zlacpy,ZLACPY)
void LAPACK_zlacpy_base(
    char const* uplo,
    lapack_int const* m, lapack_int const* n,
    lapack_complex_double const* A, lapack_int const* lda,
    lapack_complex_double* B, lapack_int const* ldb
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_zlacpy(...) LAPACK_zlacpy_base(__VA_ARGS__, 1)
#else
    #define LAPACK_zlacpy(...) LAPACK_zlacpy_base(__VA_ARGS__)
#endif

#define LAPACK_clacrm LAPACK_GLOBAL_SUFFIX(clacrm,CLACRM)
void LAPACK_clacrm(
    lapack_int const* m, lapack_int const* n,
    lapack_complex_float const* A, lapack_int const* lda,
    float const* B, lapack_int const* ldb,
    lapack_complex_float* C, lapack_int const* ldc,
    float* rwork );

#define LAPACK_zlacrm LAPACK_GLOBAL_SUFFIX(zlacrm,ZLACRM)
void LAPACK_zlacrm(
    lapack_int const* m, lapack_int const* n,
    lapack_complex_double const* A, lapack_int const* lda,
    double const* B, lapack_int const* ldb,
    lapack_complex_double* C, lapack_int const* ldc,
    double* rwork );

#define LAPACK_zlag2c LAPACK_GLOBAL_SUFFIX(zlag2c,ZLAG2C)
void LAPACK_zlag2c(
    lapack_int const* m, lapack_int const* n,
    lapack_complex_double const* A, lapack_int const* lda,
    lapack_complex_float* SA, lapack_int const* ldsa,
    lapack_int* info );

#define LAPACK_slag2d LAPACK_GLOBAL_SUFFIX(slag2d,SLAG2D)
void LAPACK_slag2d(
    lapack_int const* m, lapack_int const* n,
    float const* SA, lapack_int const* ldsa,
    double* A, lapack_int const* lda,
    lapack_int* info );

#define LAPACK_dlag2s LAPACK_GLOBAL_SUFFIX(dlag2s,DLAG2S)
void LAPACK_dlag2s(
    lapack_int const* m, lapack_int const* n,
    double const* A, lapack_int const* lda,
    float* SA, lapack_int const* ldsa,
    lapack_int* info );

#define LAPACK_clag2z LAPACK_GLOBAL_SUFFIX(clag2z,CLAG2Z)
void LAPACK_clag2z(
    lapack_int const* m, lapack_int const* n,
    lapack_complex_float const* SA, lapack_int const* ldsa,
    lapack_complex_double* A, lapack_int const* lda,
    lapack_int* info );

#define LAPACK_clagge LAPACK_GLOBAL_SUFFIX(clagge,CLAGGE)
void LAPACK_clagge(
    lapack_int const* m, lapack_int const* n, lapack_int const* kl, lapack_int const* ku,
    float const* D,
    lapack_complex_float* A, lapack_int const* lda, lapack_int* iseed,
    lapack_complex_float* work,
    lapack_int* info );

#define LAPACK_dlagge LAPACK_GLOBAL_SUFFIX(dlagge,DLAGGE)
void LAPACK_dlagge(
    lapack_int const* m, lapack_int const* n, lapack_int const* kl, lapack_int const* ku,
    double const* D,
    double* A, lapack_int const* lda, lapack_int* iseed,
    double* work,
    lapack_int* info );

#define LAPACK_slagge LAPACK_GLOBAL_SUFFIX(slagge,SLAGGE)
void LAPACK_slagge(
    lapack_int const* m, lapack_int const* n, lapack_int const* kl, lapack_int const* ku,
    float const* D,
    float* A, lapack_int const* lda, lapack_int* iseed,
    float* work,
    lapack_int* info );

#define LAPACK_zlagge LAPACK_GLOBAL_SUFFIX(zlagge,ZLAGGE)
void LAPACK_zlagge(
    lapack_int const* m, lapack_int const* n, lapack_int const* kl, lapack_int const* ku,
    double const* D,
    lapack_complex_double* A, lapack_int const* lda, lapack_int* iseed,
    lapack_complex_double* work,
    lapack_int* info );

#define LAPACK_claghe LAPACK_GLOBAL_SUFFIX(claghe,CLAGHE)
void LAPACK_claghe(
    lapack_int const* n, lapack_int const* k,
    float const* D,
    lapack_complex_float* A, lapack_int const* lda, lapack_int* iseed,
    lapack_complex_float* work,
    lapack_int* info );

#define LAPACK_zlaghe LAPACK_GLOBAL_SUFFIX(zlaghe,ZLAGHE)
void LAPACK_zlaghe(
    lapack_int const* n, lapack_int const* k,
    double const* D,
    lapack_complex_double* A, lapack_int const* lda, lapack_int* iseed,
    lapack_complex_double* work,
    lapack_int* info );

#define LAPACK_clagsy LAPACK_GLOBAL_SUFFIX(clagsy,CLAGSY)
void LAPACK_clagsy(
    lapack_int const* n, lapack_int const* k,
    float const* D,
    lapack_complex_float* A, lapack_int const* lda, lapack_int* iseed,
    lapack_complex_float* work,
    lapack_int* info );

#define LAPACK_dlagsy LAPACK_GLOBAL_SUFFIX(dlagsy,DLAGSY)
void LAPACK_dlagsy(
    lapack_int const* n, lapack_int const* k,
    double const* D,
    double* A, lapack_int const* lda, lapack_int* iseed,
    double* work,
    lapack_int* info );

#define LAPACK_slagsy LAPACK_GLOBAL_SUFFIX(slagsy,SLAGSY)
void LAPACK_slagsy(
    lapack_int const* n, lapack_int const* k,
    float const* D,
    float* A, lapack_int const* lda, lapack_int* iseed,
    float* work,
    lapack_int* info );

#define LAPACK_zlagsy LAPACK_GLOBAL_SUFFIX(zlagsy,ZLAGSY)
void LAPACK_zlagsy(
    lapack_int const* n, lapack_int const* k,
    double const* D,
    lapack_complex_double* A, lapack_int const* lda, lapack_int* iseed,
    lapack_complex_double* work,
    lapack_int* info );

#define LAPACK_dlamch_base LAPACK_GLOBAL_SUFFIX(dlamch,DLAMCH)
double LAPACK_dlamch_base(
    char const* cmach
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_dlamch(...) LAPACK_dlamch_base(__VA_ARGS__, 1)
#else
    #define LAPACK_dlamch(...) LAPACK_dlamch_base(__VA_ARGS__)
#endif

#define LAPACK_slamch_base LAPACK_GLOBAL_SUFFIX(slamch,SLAMCH)
lapack_float_return LAPACK_slamch_base(
    char const* cmach
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_slamch(...) LAPACK_slamch_base(__VA_ARGS__, 1)
#else
    #define LAPACK_slamch(...) LAPACK_slamch_base(__VA_ARGS__)
#endif

#define LAPACK_clangb_base LAPACK_GLOBAL_SUFFIX(clangb,CLANGB)
lapack_float_return LAPACK_clangb_base(
    char const* norm,
    lapack_int const* n, lapack_int const* kl, lapack_int const* ku,
    lapack_complex_float const* AB, lapack_int const* ldab,
    float* work
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_clangb(...) LAPACK_clangb_base(__VA_ARGS__, 1)
#else
    #define LAPACK_clangb(...) LAPACK_clangb_base(__VA_ARGS__)
#endif

#define LAPACK_dlangb_base LAPACK_GLOBAL_SUFFIX(dlangb,DLANGB)
double LAPACK_dlangb_base(
    char const* norm,
    lapack_int const* n, lapack_int const* kl, lapack_int const* ku,
    double const* AB, lapack_int const* ldab,
    double* work
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_dlangb(...) LAPACK_dlangb_base(__VA_ARGS__, 1)
#else
    #define LAPACK_dlangb(...) LAPACK_dlangb_base(__VA_ARGS__)
#endif

#define LAPACK_slangb_base LAPACK_GLOBAL_SUFFIX(slangb,SLANGB)
lapack_float_return LAPACK_slangb_base(
    char const* norm,
    lapack_int const* n, lapack_int const* kl, lapack_int const* ku,
    float const* AB, lapack_int const* ldab,
    float* work
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_slangb(...) LAPACK_slangb_base(__VA_ARGS__, 1)
#else
    #define LAPACK_slangb(...) LAPACK_slangb_base(__VA_ARGS__)
#endif

#define LAPACK_zlangb_base LAPACK_GLOBAL_SUFFIX(zlangb,ZLANGB)
double LAPACK_zlangb_base(
    char const* norm,
    lapack_int const* n, lapack_int const* kl, lapack_int const* ku,
    lapack_complex_double const* AB, lapack_int const* ldab,
    double* work
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_zlangb(...) LAPACK_zlangb_base(__VA_ARGS__, 1)
#else
    #define LAPACK_zlangb(...) LAPACK_zlangb_base(__VA_ARGS__)
#endif

#define LAPACK_clange_base LAPACK_GLOBAL_SUFFIX(clange,CLANGE)
lapack_float_return LAPACK_clange_base(
    char const* norm,
    lapack_int const* m, lapack_int const* n,
    lapack_complex_float const* A, lapack_int const* lda,
    float* work
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_clange(...) LAPACK_clange_base(__VA_ARGS__, 1)
#else
    #define LAPACK_clange(...) LAPACK_clange_base(__VA_ARGS__)
#endif

#define LAPACK_dlange_base LAPACK_GLOBAL_SUFFIX(dlange,DLANGE)
double LAPACK_dlange_base(
    char const* norm,
    lapack_int const* m, lapack_int const* n,
    double const* A, lapack_int const* lda,
    double* work
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_dlange(...) LAPACK_dlange_base(__VA_ARGS__, 1)
#else
    #define LAPACK_dlange(...) LAPACK_dlange_base(__VA_ARGS__)
#endif

#define LAPACK_slange_base LAPACK_GLOBAL_SUFFIX(slange,SLANGE)
lapack_float_return LAPACK_slange_base(
    char const* norm,
    lapack_int const* m, lapack_int const* n,
    float const* A, lapack_int const* lda,
    float* work
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_slange(...) LAPACK_slange_base(__VA_ARGS__, 1)
#else
    #define LAPACK_slange(...) LAPACK_slange_base(__VA_ARGS__)
#endif

#define LAPACK_zlange_base LAPACK_GLOBAL_SUFFIX(zlange,ZLANGE)
double LAPACK_zlange_base(
    char const* norm,
    lapack_int const* m, lapack_int const* n,
    lapack_complex_double const* A, lapack_int const* lda,
    double* work
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_zlange(...) LAPACK_zlange_base(__VA_ARGS__, 1)
#else
    #define LAPACK_zlange(...) LAPACK_zlange_base(__VA_ARGS__)
#endif

#define LAPACK_clangt_base LAPACK_GLOBAL_SUFFIX(clangt,CLANGT)
lapack_float_return LAPACK_clangt_base(
    char const* norm,
    lapack_int const* n,
    lapack_complex_float const* DL,
    lapack_complex_float const* D,
    lapack_complex_float const* DU
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_clangt(...) LAPACK_clangt_base(__VA_ARGS__, 1)
#else
    #define LAPACK_clangt(...) LAPACK_clangt_base(__VA_ARGS__)
#endif

#define LAPACK_dlangt_base LAPACK_GLOBAL_SUFFIX(dlangt,DLANGT)
double LAPACK_dlangt_base(
    char const* norm,
    lapack_int const* n,
    double const* DL,
    double const* D,
    double const* DU
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_dlangt(...) LAPACK_dlangt_base(__VA_ARGS__, 1)
#else
    #define LAPACK_dlangt(...) LAPACK_dlangt_base(__VA_ARGS__)
#endif

#define LAPACK_slangt_base LAPACK_GLOBAL_SUFFIX(slangt,SLANGT)
lapack_float_return LAPACK_slangt_base(
    char const* norm,
    lapack_int const* n,
    float const* DL,
    float const* D,
    float const* DU
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_slangt(...) LAPACK_slangt_base(__VA_ARGS__, 1)
#else
    #define LAPACK_slangt(...) LAPACK_slangt_base(__VA_ARGS__)
#endif

#define LAPACK_zlangt_base LAPACK_GLOBAL_SUFFIX(zlangt,ZLANGT)
double LAPACK_zlangt_base(
    char const* norm,
    lapack_int const* n,
    lapack_complex_double const* DL,
    lapack_complex_double const* D,
    lapack_complex_double const* DU
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_zlangt(...) LAPACK_zlangt_base(__VA_ARGS__, 1)
#else
    #define LAPACK_zlangt(...) LAPACK_zlangt_base(__VA_ARGS__)
#endif

#define LAPACK_clanhb_base LAPACK_GLOBAL_SUFFIX(clanhb,CLANHB)
lapack_float_return LAPACK_clanhb_base(
    char const* norm, char const* uplo,
    lapack_int const* n, lapack_int const* k,
    lapack_complex_float const* AB, lapack_int const* ldab,
    float* work
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_clanhb(...) LAPACK_clanhb_base(__VA_ARGS__, 1, 1)
#else
    #define LAPACK_clanhb(...) LAPACK_clanhb_base(__VA_ARGS__)
#endif

#define LAPACK_zlanhb_base LAPACK_GLOBAL_SUFFIX(zlanhb,ZLANHB)
double LAPACK_zlanhb_base(
    char const* norm, char const* uplo,
    lapack_int const* n, lapack_int const* k,
    lapack_complex_double const* AB, lapack_int const* ldab,
    double* work
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_zlanhb(...) LAPACK_zlanhb_base(__VA_ARGS__, 1, 1)
#else
    #define LAPACK_zlanhb(...) LAPACK_zlanhb_base(__VA_ARGS__)
#endif

#define LAPACK_clanhe_base LAPACK_GLOBAL_SUFFIX(clanhe,CLANHE)
lapack_float_return LAPACK_clanhe_base(
    char const* norm, char const* uplo,
    lapack_int const* n,
    lapack_complex_float const* A, lapack_int const* lda,
    float* work
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_clanhe(...) LAPACK_clanhe_base(__VA_ARGS__, 1, 1)
#else
    #define LAPACK_clanhe(...) LAPACK_clanhe_base(__VA_ARGS__)
#endif

#define LAPACK_zlanhe_base LAPACK_GLOBAL_SUFFIX(zlanhe,ZLANHE)
double LAPACK_zlanhe_base(
    char const* norm, char const* uplo,
    lapack_int const* n,
    lapack_complex_double const* A, lapack_int const* lda,
    double* work
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_zlanhe(...) LAPACK_zlanhe_base(__VA_ARGS__, 1, 1)
#else
    #define LAPACK_zlanhe(...) LAPACK_zlanhe_base(__VA_ARGS__)
#endif

#define LAPACK_clanhp_base LAPACK_GLOBAL_SUFFIX(clanhp,CLANHP)
lapack_float_return LAPACK_clanhp_base(
    char const* norm, char const* uplo,
    lapack_int const* n,
    lapack_complex_float const* AP,
    float* work
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_clanhp(...) LAPACK_clanhp_base(__VA_ARGS__, 1, 1)
#else
    #define LAPACK_clanhp(...) LAPACK_clanhp_base(__VA_ARGS__)
#endif

#define LAPACK_zlanhp_base LAPACK_GLOBAL_SUFFIX(zlanhp,ZLANHP)
double LAPACK_zlanhp_base(
    char const* norm, char const* uplo,
    lapack_int const* n,
    lapack_complex_double const* AP,
    double* work
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_zlanhp(...) LAPACK_zlanhp_base(__VA_ARGS__, 1, 1)
#else
    #define LAPACK_zlanhp(...) LAPACK_zlanhp_base(__VA_ARGS__)
#endif

#define LAPACK_clanhs_base LAPACK_GLOBAL_SUFFIX(clanhs,CLANHS)
lapack_float_return LAPACK_clanhs_base(
    char const* norm,
    lapack_int const* n,
    lapack_complex_float const* A, lapack_int const* lda,
    float* work
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_clanhs(...) LAPACK_clanhs_base(__VA_ARGS__, 1)
#else
    #define LAPACK_clanhs(...) LAPACK_clanhs_base(__VA_ARGS__)
#endif

#define LAPACK_dlanhs_base LAPACK_GLOBAL_SUFFIX(dlanhs,DLANHS)
double LAPACK_dlanhs_base(
    char const* norm,
    lapack_int const* n,
    double const* A, lapack_int const* lda,
    double* work
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_dlanhs(...) LAPACK_dlanhs_base(__VA_ARGS__, 1)
#else
    #define LAPACK_dlanhs(...) LAPACK_dlanhs_base(__VA_ARGS__)
#endif

#define LAPACK_slanhs_base LAPACK_GLOBAL_SUFFIX(slanhs,SLANHS)
lapack_float_return LAPACK_slanhs_base(
    char const* norm,
    lapack_int const* n,
    float const* A, lapack_int const* lda,
    float* work
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_slanhs(...) LAPACK_slanhs_base(__VA_ARGS__, 1)
#else
    #define LAPACK_slanhs(...) LAPACK_slanhs_base(__VA_ARGS__)
#endif

#define LAPACK_zlanhs_base LAPACK_GLOBAL_SUFFIX(zlanhs,ZLANHS)
double LAPACK_zlanhs_base(
    char const* norm,
    lapack_int const* n,
    lapack_complex_double const* A, lapack_int const* lda,
    double* work
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_zlanhs(...) LAPACK_zlanhs_base(__VA_ARGS__, 1)
#else
    #define LAPACK_zlanhs(...) LAPACK_zlanhs_base(__VA_ARGS__)
#endif

#define LAPACK_clanht_base LAPACK_GLOBAL_SUFFIX(clanht,CLANHT)
lapack_float_return LAPACK_clanht_base(
    char const* norm,
    lapack_int const* n,
    float const* D,
    lapack_complex_float const* E
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_clanht(...) LAPACK_clanht_base(__VA_ARGS__, 1)
#else
    #define LAPACK_clanht(...) LAPACK_clanht_base(__VA_ARGS__)
#endif

#define LAPACK_zlanht_base LAPACK_GLOBAL_SUFFIX(zlanht,ZLANHT)
double LAPACK_zlanht_base(
    char const* norm,
    lapack_int const* n,
    double const* D,
    lapack_complex_double const* E
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_zlanht(...) LAPACK_zlanht_base(__VA_ARGS__, 1)
#else
    #define LAPACK_zlanht(...) LAPACK_zlanht_base(__VA_ARGS__)
#endif

#define LAPACK_clansb_base LAPACK_GLOBAL_SUFFIX(clansb,CLANSB)
lapack_float_return LAPACK_clansb_base(
    char const* norm, char const* uplo,
    lapack_int const* n, lapack_int const* k,
    lapack_complex_float const* AB, lapack_int const* ldab,
    float* work
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_clansb(...) LAPACK_clansb_base(__VA_ARGS__, 1, 1)
#else
    #define LAPACK_clansb(...) LAPACK_clansb_base(__VA_ARGS__)
#endif

#define LAPACK_dlansb_base LAPACK_GLOBAL_SUFFIX(dlansb,DLANSB)
double LAPACK_dlansb_base(
    char const* norm, char const* uplo,
    lapack_int const* n, lapack_int const* k,
    double const* AB, lapack_int const* ldab,
    double* work
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_dlansb(...) LAPACK_dlansb_base(__VA_ARGS__, 1, 1)
#else
    #define LAPACK_dlansb(...) LAPACK_dlansb_base(__VA_ARGS__)
#endif

#define LAPACK_slansb_base LAPACK_GLOBAL_SUFFIX(slansb,SLANSB)
lapack_float_return LAPACK_slansb_base(
    char const* norm, char const* uplo,
    lapack_int const* n, lapack_int const* k,
    float const* AB, lapack_int const* ldab,
    float* work
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_slansb(...) LAPACK_slansb_base(__VA_ARGS__, 1, 1)
#else
    #define LAPACK_slansb(...) LAPACK_slansb_base(__VA_ARGS__)
#endif

#define LAPACK_zlansb_base LAPACK_GLOBAL_SUFFIX(zlansb,ZLANSB)
double LAPACK_zlansb_base(
    char const* norm, char const* uplo,
    lapack_int const* n, lapack_int const* k,
    lapack_complex_double const* AB, lapack_int const* ldab,
    double* work
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_zlansb(...) LAPACK_zlansb_base(__VA_ARGS__, 1, 1)
#else
    #define LAPACK_zlansb(...) LAPACK_zlansb_base(__VA_ARGS__)
#endif

#define LAPACK_clansp_base LAPACK_GLOBAL_SUFFIX(clansp,CLANSP)
lapack_float_return LAPACK_clansp_base(
    char const* norm, char const* uplo,
    lapack_int const* n,
    lapack_complex_float const* AP,
    float* work
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_clansp(...) LAPACK_clansp_base(__VA_ARGS__, 1, 1)
#else
    #define LAPACK_clansp(...) LAPACK_clansp_base(__VA_ARGS__)
#endif

#define LAPACK_dlansp_base LAPACK_GLOBAL_SUFFIX(dlansp,DLANSP)
double LAPACK_dlansp_base(
    char const* norm, char const* uplo,
    lapack_int const* n,
    double const* AP,
    double* work
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_dlansp(...) LAPACK_dlansp_base(__VA_ARGS__, 1, 1)
#else
    #define LAPACK_dlansp(...) LAPACK_dlansp_base(__VA_ARGS__)
#endif

#define LAPACK_slansp_base LAPACK_GLOBAL_SUFFIX(slansp,SLANSP)
lapack_float_return LAPACK_slansp_base(
    char const* norm, char const* uplo,
    lapack_int const* n,
    float const* AP,
    float* work
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_slansp(...) LAPACK_slansp_base(__VA_ARGS__, 1, 1)
#else
    #define LAPACK_slansp(...) LAPACK_slansp_base(__VA_ARGS__)
#endif

#define LAPACK_zlansp_base LAPACK_GLOBAL_SUFFIX(zlansp,ZLANSP)
double LAPACK_zlansp_base(
    char const* norm, char const* uplo,
    lapack_int const* n,
    lapack_complex_double const* AP,
    double* work
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_zlansp(...) LAPACK_zlansp_base(__VA_ARGS__, 1, 1)
#else
    #define LAPACK_zlansp(...) LAPACK_zlansp_base(__VA_ARGS__)
#endif

#define LAPACK_dlanst_base LAPACK_GLOBAL_SUFFIX(dlanst,DLANST)
double LAPACK_dlanst_base(
    char const* norm,
    lapack_int const* n,
    double const* D,
    double const* E
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_dlanst(...) LAPACK_dlanst_base(__VA_ARGS__, 1)
#else
    #define LAPACK_dlanst(...) LAPACK_dlanst_base(__VA_ARGS__)
#endif

#define LAPACK_slanst_base LAPACK_GLOBAL_SUFFIX(slanst,SLANST)
lapack_float_return LAPACK_slanst_base(
    char const* norm,
    lapack_int const* n,
    float const* D,
    float const* E
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_slanst(...) LAPACK_slanst_base(__VA_ARGS__, 1)
#else
    #define LAPACK_slanst(...) LAPACK_slanst_base(__VA_ARGS__)
#endif

#define LAPACK_clansy_base LAPACK_GLOBAL_SUFFIX(clansy,CLANSY)
lapack_float_return LAPACK_clansy_base(
    char const* norm, char const* uplo,
    lapack_int const* n,
    lapack_complex_float const* A, lapack_int const* lda,
    float* work
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_clansy(...) LAPACK_clansy_base(__VA_ARGS__, 1, 1)
#else
    #define LAPACK_clansy(...) LAPACK_clansy_base(__VA_ARGS__)
#endif

#define LAPACK_dlansy_base LAPACK_GLOBAL_SUFFIX(dlansy,DLANSY)
double LAPACK_dlansy_base(
    char const* norm, char const* uplo,
    lapack_int const* n,
    double const* A, lapack_int const* lda,
    double* work
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_dlansy(...) LAPACK_dlansy_base(__VA_ARGS__, 1, 1)
#else
    #define LAPACK_dlansy(...) LAPACK_dlansy_base(__VA_ARGS__)
#endif

#define LAPACK_slansy_base LAPACK_GLOBAL_SUFFIX(slansy,SLANSY)
lapack_float_return LAPACK_slansy_base(
    char const* norm, char const* uplo,
    lapack_int const* n,
    float const* A, lapack_int const* lda,
    float* work
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_slansy(...) LAPACK_slansy_base(__VA_ARGS__, 1, 1)
#else
    #define LAPACK_slansy(...) LAPACK_slansy_base(__VA_ARGS__)
#endif

#define LAPACK_zlansy_base LAPACK_GLOBAL_SUFFIX(zlansy,ZLANSY)
double LAPACK_zlansy_base(
    char const* norm, char const* uplo,
    lapack_int const* n,
    lapack_complex_double const* A, lapack_int const* lda,
    double* work
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_zlansy(...) LAPACK_zlansy_base(__VA_ARGS__, 1, 1)
#else
    #define LAPACK_zlansy(...) LAPACK_zlansy_base(__VA_ARGS__)
#endif

#define LAPACK_clantb_base LAPACK_GLOBAL_SUFFIX(clantb,CLANTB)
lapack_float_return LAPACK_clantb_base(
    char const* norm, char const* uplo, char const* diag,
    lapack_int const* n, lapack_int const* k,
    lapack_complex_float const* AB, lapack_int const* ldab,
    float* work
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_clantb(...) LAPACK_clantb_base(__VA_ARGS__, 1, 1, 1)
#else
    #define LAPACK_clantb(...) LAPACK_clantb_base(__VA_ARGS__)
#endif

#define LAPACK_dlantb_base LAPACK_GLOBAL_SUFFIX(dlantb,DLANTB)
double LAPACK_dlantb_base(
    char const* norm, char const* uplo, char const* diag,
    lapack_int const* n, lapack_int const* k,
    double const* AB, lapack_int const* ldab,
    double* work
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_dlantb(...) LAPACK_dlantb_base(__VA_ARGS__, 1, 1, 1)
#else
    #define LAPACK_dlantb(...) LAPACK_dlantb_base(__VA_ARGS__)
#endif

#define LAPACK_slantb_base LAPACK_GLOBAL_SUFFIX(slantb,SLANTB)
lapack_float_return LAPACK_slantb_base(
    char const* norm, char const* uplo, char const* diag,
    lapack_int const* n, lapack_int const* k,
    float const* AB, lapack_int const* ldab,
    float* work
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_slantb(...) LAPACK_slantb_base(__VA_ARGS__, 1, 1, 1)
#else
    #define LAPACK_slantb(...) LAPACK_slantb_base(__VA_ARGS__)
#endif

#define LAPACK_zlantb_base LAPACK_GLOBAL_SUFFIX(zlantb,ZLANTB)
double LAPACK_zlantb_base(
    char const* norm, char const* uplo, char const* diag,
    lapack_int const* n, lapack_int const* k,
    lapack_complex_double const* AB, lapack_int const* ldab,
    double* work
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_zlantb(...) LAPACK_zlantb_base(__VA_ARGS__, 1, 1, 1)
#else
    #define LAPACK_zlantb(...) LAPACK_zlantb_base(__VA_ARGS__)
#endif

#define LAPACK_clantp_base LAPACK_GLOBAL_SUFFIX(clantp,CLANTP)
lapack_float_return LAPACK_clantp_base(
    char const* norm, char const* uplo, char const* diag,
    lapack_int const* n,
    lapack_complex_float const* AP,
    float* work
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_clantp(...) LAPACK_clantp_base(__VA_ARGS__, 1, 1, 1)
#else
    #define LAPACK_clantp(...) LAPACK_clantp_base(__VA_ARGS__)
#endif

#define LAPACK_dlantp_base LAPACK_GLOBAL_SUFFIX(dlantp,DLANTP)
double LAPACK_dlantp_base(
    char const* norm, char const* uplo, char const* diag,
    lapack_int const* n,
    double const* AP,
    double* work
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_dlantp(...) LAPACK_dlantp_base(__VA_ARGS__, 1, 1, 1)
#else
    #define LAPACK_dlantp(...) LAPACK_dlantp_base(__VA_ARGS__)
#endif

#define LAPACK_slantp_base LAPACK_GLOBAL_SUFFIX(slantp,SLANTP)
lapack_float_return LAPACK_slantp_base(
    char const* norm, char const* uplo, char const* diag,
    lapack_int const* n,
    float const* AP,
    float* work
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_slantp(...) LAPACK_slantp_base(__VA_ARGS__, 1, 1, 1)
#else
    #define LAPACK_slantp(...) LAPACK_slantp_base(__VA_ARGS__)
#endif

#define LAPACK_zlantp_base LAPACK_GLOBAL_SUFFIX(zlantp,ZLANTP)
double LAPACK_zlantp_base(
    char const* norm, char const* uplo, char const* diag,
    lapack_int const* n,
    lapack_complex_double const* AP,
    double* work
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_zlantp(...) LAPACK_zlantp_base(__VA_ARGS__, 1, 1, 1)
#else
    #define LAPACK_zlantp(...) LAPACK_zlantp_base(__VA_ARGS__)
#endif

#define LAPACK_clantr_base LAPACK_GLOBAL_SUFFIX(clantr,CLANTR)
lapack_float_return LAPACK_clantr_base(
    char const* norm, char const* uplo, char const* diag,
    lapack_int const* m, lapack_int const* n,
    lapack_complex_float const* A, lapack_int const* lda,
    float* work
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_clantr(...) LAPACK_clantr_base(__VA_ARGS__, 1, 1, 1)
#else
    #define LAPACK_clantr(...) LAPACK_clantr_base(__VA_ARGS__)
#endif

#define LAPACK_dlantr_base LAPACK_GLOBAL_SUFFIX(dlantr,DLANTR)
double LAPACK_dlantr_base(
    char const* norm, char const* uplo, char const* diag,
    lapack_int const* m, lapack_int const* n,
    double const* A, lapack_int const* lda,
    double* work
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_dlantr(...) LAPACK_dlantr_base(__VA_ARGS__, 1, 1, 1)
#else
    #define LAPACK_dlantr(...) LAPACK_dlantr_base(__VA_ARGS__)
#endif

#define LAPACK_slantr_base LAPACK_GLOBAL_SUFFIX(slantr,SLANTR)
lapack_float_return LAPACK_slantr_base(
    char const* norm, char const* uplo, char const* diag,
    lapack_int const* m, lapack_int const* n,
    float const* A, lapack_int const* lda,
    float* work
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_slantr(...) LAPACK_slantr_base(__VA_ARGS__, 1, 1, 1)
#else
    #define LAPACK_slantr(...) LAPACK_slantr_base(__VA_ARGS__)
#endif

#define LAPACK_zlantr_base LAPACK_GLOBAL_SUFFIX(zlantr,ZLANTR)
double LAPACK_zlantr_base(
    char const* norm, char const* uplo, char const* diag,
    lapack_int const* m, lapack_int const* n,
    lapack_complex_double const* A, lapack_int const* lda,
    double* work
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_zlantr(...) LAPACK_zlantr_base(__VA_ARGS__, 1, 1, 1)
#else
    #define LAPACK_zlantr(...) LAPACK_zlantr_base(__VA_ARGS__)
#endif

#define LAPACK_clapmr LAPACK_GLOBAL_SUFFIX(clapmr,CLAPMR)
void LAPACK_clapmr(
    lapack_logical const* forwrd, lapack_int const* m, lapack_int const* n,
    lapack_complex_float* X, lapack_int const* ldx, lapack_int* K );

#define LAPACK_dlapmr LAPACK_GLOBAL_SUFFIX(dlapmr,DLAPMR)
void LAPACK_dlapmr(
    lapack_logical const* forwrd, lapack_int const* m, lapack_int const* n,
    double* X, lapack_int const* ldx, lapack_int* K );

#define LAPACK_slapmr LAPACK_GLOBAL_SUFFIX(slapmr,SLAPMR)
void LAPACK_slapmr(
    lapack_logical const* forwrd, lapack_int const* m, lapack_int const* n,
    float* X, lapack_int const* ldx, lapack_int* K );

#define LAPACK_zlapmr LAPACK_GLOBAL_SUFFIX(zlapmr,ZLAPMR)
void LAPACK_zlapmr(
    lapack_logical const* forwrd, lapack_int const* m, lapack_int const* n,
    lapack_complex_double* X, lapack_int const* ldx, lapack_int* K );

#define LAPACK_clapmt LAPACK_GLOBAL_SUFFIX(clapmt,CLAPMT)
void LAPACK_clapmt(
    lapack_logical const* forwrd, lapack_int const* m, lapack_int const* n,
    lapack_complex_float* X, lapack_int const* ldx, lapack_int* K );

#define LAPACK_dlapmt LAPACK_GLOBAL_SUFFIX(dlapmt,DLAPMT)
void LAPACK_dlapmt(
    lapack_logical const* forwrd, lapack_int const* m, lapack_int const* n,
    double* X, lapack_int const* ldx, lapack_int* K );

#define LAPACK_slapmt LAPACK_GLOBAL_SUFFIX(slapmt,SLAPMT)
void LAPACK_slapmt(
    lapack_logical const* forwrd, lapack_int const* m, lapack_int const* n,
    float* X, lapack_int const* ldx, lapack_int* K );

#define LAPACK_zlapmt LAPACK_GLOBAL_SUFFIX(zlapmt,ZLAPMT)
void LAPACK_zlapmt(
    lapack_logical const* forwrd, lapack_int const* m, lapack_int const* n,
    lapack_complex_double* X, lapack_int const* ldx, lapack_int* K );

#define LAPACK_dlapy2 LAPACK_GLOBAL_SUFFIX(dlapy2,DLAPY2)
double LAPACK_dlapy2(
    double const* x,
    double const* y );

#define LAPACK_slapy2 LAPACK_GLOBAL_SUFFIX(slapy2,SLAPY2)
lapack_float_return LAPACK_slapy2(
    float const* x,
    float const* y );

#define LAPACK_dlapy3 LAPACK_GLOBAL_SUFFIX(dlapy3,DLAPY3)
double LAPACK_dlapy3(
    double const* x,
    double const* y,
    double const* z );

#define LAPACK_slapy3 LAPACK_GLOBAL_SUFFIX(slapy3,SLAPY3)
lapack_float_return LAPACK_slapy3(
    float const* x,
    float const* y,
    float const* z );

#define LAPACK_clarcm LAPACK_GLOBAL_SUFFIX(clarcm,CLARCM)
void LAPACK_clarcm(
    lapack_int const* m, lapack_int const* n,
    float const* A, lapack_int const* lda,
    lapack_complex_float const* B, lapack_int const* ldb,
    lapack_complex_float* C, lapack_int const* ldc,
    float* rwork );

#define LAPACK_zlarcm LAPACK_GLOBAL_SUFFIX(zlarcm,ZLARCM)
void LAPACK_zlarcm(
    lapack_int const* m, lapack_int const* n,
    double const* A, lapack_int const* lda,
    lapack_complex_double const* B, lapack_int const* ldb,
    lapack_complex_double* C, lapack_int const* ldc,
    double* rwork );

#define LAPACK_clarf_base LAPACK_GLOBAL_SUFFIX(clarf,CLARF)
void LAPACK_clarf_base(
    char const* side,
    lapack_int const* m, lapack_int const* n,
    lapack_complex_float const* V, lapack_int const* incv,
    lapack_complex_float const* tau,
    lapack_complex_float* C, lapack_int const* ldc,
    lapack_complex_float* work
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_clarf(...) LAPACK_clarf_base(__VA_ARGS__, 1)
#else
    #define LAPACK_clarf(...) LAPACK_clarf_base(__VA_ARGS__)
#endif

#define LAPACK_dlarf_base LAPACK_GLOBAL_SUFFIX(dlarf,DLARF)
void LAPACK_dlarf_base(
    char const* side,
    lapack_int const* m, lapack_int const* n,
    double const* V, lapack_int const* incv,
    double const* tau,
    double* C, lapack_int const* ldc,
    double* work
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_dlarf(...) LAPACK_dlarf_base(__VA_ARGS__, 1)
#else
    #define LAPACK_dlarf(...) LAPACK_dlarf_base(__VA_ARGS__)
#endif

#define LAPACK_slarf_base LAPACK_GLOBAL_SUFFIX(slarf,SLARF)
void LAPACK_slarf_base(
    char const* side,
    lapack_int const* m, lapack_int const* n,
    float const* V, lapack_int const* incv,
    float const* tau,
    float* C, lapack_int const* ldc,
    float* work
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_slarf(...) LAPACK_slarf_base(__VA_ARGS__, 1)
#else
    #define LAPACK_slarf(...) LAPACK_slarf_base(__VA_ARGS__)
#endif

#define LAPACK_zlarf_base LAPACK_GLOBAL_SUFFIX(zlarf,ZLARF)
void LAPACK_zlarf_base(
    char const* side,
    lapack_int const* m, lapack_int const* n,
    lapack_complex_double const* V, lapack_int const* incv,
    lapack_complex_double const* tau,
    lapack_complex_double* C, lapack_int const* ldc,
    lapack_complex_double* work
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_zlarf(...) LAPACK_zlarf_base(__VA_ARGS__, 1)
#else
    #define LAPACK_zlarf(...) LAPACK_zlarf_base(__VA_ARGS__)
#endif

#define LAPACK_clarfb_base LAPACK_GLOBAL_SUFFIX(clarfb,CLARFB)
void LAPACK_clarfb_base(
    char const* side, char const* trans, char const* direct, char const* storev,
    lapack_int const* m, lapack_int const* n, lapack_int const* k,
    lapack_complex_float const* V, lapack_int const* ldv,
    lapack_complex_float const* T, lapack_int const* ldt,
    lapack_complex_float* C, lapack_int const* ldc,
    lapack_complex_float* work, lapack_int const* ldwork
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN, FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_clarfb(...) LAPACK_clarfb_base(__VA_ARGS__, 1, 1, 1, 1)
#else
    #define LAPACK_clarfb(...) LAPACK_clarfb_base(__VA_ARGS__)
#endif

#define LAPACK_dlarfb_base LAPACK_GLOBAL_SUFFIX(dlarfb,DLARFB)
void LAPACK_dlarfb_base(
    char const* side, char const* trans, char const* direct, char const* storev,
    lapack_int const* m, lapack_int const* n, lapack_int const* k,
    double const* V, lapack_int const* ldv,
    double const* T, lapack_int const* ldt,
    double* C, lapack_int const* ldc,
    double* work, lapack_int const* ldwork
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN, FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_dlarfb(...) LAPACK_dlarfb_base(__VA_ARGS__, 1, 1, 1, 1)
#else
    #define LAPACK_dlarfb(...) LAPACK_dlarfb_base(__VA_ARGS__)
#endif

#define LAPACK_slarfb_base LAPACK_GLOBAL_SUFFIX(slarfb,SLARFB)
void LAPACK_slarfb_base(
    char const* side, char const* trans, char const* direct, char const* storev,
    lapack_int const* m, lapack_int const* n, lapack_int const* k,
    float const* V, lapack_int const* ldv,
    float const* T, lapack_int const* ldt,
    float* C, lapack_int const* ldc,
    float* work, lapack_int const* ldwork
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN, FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_slarfb(...) LAPACK_slarfb_base(__VA_ARGS__, 1, 1, 1, 1)
#else
    #define LAPACK_slarfb(...) LAPACK_slarfb_base(__VA_ARGS__)
#endif

#define LAPACK_zlarfb_base LAPACK_GLOBAL_SUFFIX(zlarfb,ZLARFB)
void LAPACK_zlarfb_base(
    char const* side, char const* trans, char const* direct, char const* storev,
    lapack_int const* m, lapack_int const* n, lapack_int const* k,
    lapack_complex_double const* V, lapack_int const* ldv,
    lapack_complex_double const* T, lapack_int const* ldt,
    lapack_complex_double* C, lapack_int const* ldc,
    lapack_complex_double* work, lapack_int const* ldwork
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN, FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_zlarfb(...) LAPACK_zlarfb_base(__VA_ARGS__, 1, 1, 1, 1)
#else
    #define LAPACK_zlarfb(...) LAPACK_zlarfb_base(__VA_ARGS__)
#endif

#define LAPACK_clarfg LAPACK_GLOBAL_SUFFIX(clarfg,CLARFG)
void LAPACK_clarfg(
    lapack_int const* n,
    lapack_complex_float* alpha,
    lapack_complex_float* X, lapack_int const* incx,
    lapack_complex_float* tau );

#define LAPACK_dlarfg LAPACK_GLOBAL_SUFFIX(dlarfg,DLARFG)
void LAPACK_dlarfg(
    lapack_int const* n,
    double* alpha,
    double* X, lapack_int const* incx,
    double* tau );

#define LAPACK_slarfg LAPACK_GLOBAL_SUFFIX(slarfg,SLARFG)
void LAPACK_slarfg(
    lapack_int const* n,
    float* alpha,
    float* X, lapack_int const* incx,
    float* tau );

#define LAPACK_zlarfg LAPACK_GLOBAL_SUFFIX(zlarfg,ZLARFG)
void LAPACK_zlarfg(
    lapack_int const* n,
    lapack_complex_double* alpha,
    lapack_complex_double* X, lapack_int const* incx,
    lapack_complex_double* tau );

#define LAPACK_clarft_base LAPACK_GLOBAL_SUFFIX(clarft,CLARFT)
void LAPACK_clarft_base(
    char const* direct, char const* storev,
    lapack_int const* n, lapack_int const* k,
    lapack_complex_float const* V, lapack_int const* ldv,
    lapack_complex_float const* tau,
    lapack_complex_float* T, lapack_int const* ldt
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_clarft(...) LAPACK_clarft_base(__VA_ARGS__, 1, 1)
#else
    #define LAPACK_clarft(...) LAPACK_clarft_base(__VA_ARGS__)
#endif

#define LAPACK_dlarft_base LAPACK_GLOBAL_SUFFIX(dlarft,DLARFT)
void LAPACK_dlarft_base(
    char const* direct, char const* storev,
    lapack_int const* n, lapack_int const* k,
    double const* V, lapack_int const* ldv,
    double const* tau,
    double* T, lapack_int const* ldt
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_dlarft(...) LAPACK_dlarft_base(__VA_ARGS__, 1, 1)
#else
    #define LAPACK_dlarft(...) LAPACK_dlarft_base(__VA_ARGS__)
#endif

#define LAPACK_slarft_base LAPACK_GLOBAL_SUFFIX(slarft,SLARFT)
void LAPACK_slarft_base(
    char const* direct, char const* storev,
    lapack_int const* n, lapack_int const* k,
    float const* V, lapack_int const* ldv,
    float const* tau,
    float* T, lapack_int const* ldt
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_slarft(...) LAPACK_slarft_base(__VA_ARGS__, 1, 1)
#else
    #define LAPACK_slarft(...) LAPACK_slarft_base(__VA_ARGS__)
#endif

#define LAPACK_zlarft_base LAPACK_GLOBAL_SUFFIX(zlarft,ZLARFT)
void LAPACK_zlarft_base(
    char const* direct, char const* storev,
    lapack_int const* n, lapack_int const* k,
    lapack_complex_double const* V, lapack_int const* ldv,
    lapack_complex_double const* tau,
    lapack_complex_double* T, lapack_int const* ldt
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_zlarft(...) LAPACK_zlarft_base(__VA_ARGS__, 1, 1)
#else
    #define LAPACK_zlarft(...) LAPACK_zlarft_base(__VA_ARGS__)
#endif

#define LAPACK_clarfx_base LAPACK_GLOBAL_SUFFIX(clarfx,CLARFX)
void LAPACK_clarfx_base(
    char const* side,
    lapack_int const* m, lapack_int const* n,
    lapack_complex_float const* V,
    lapack_complex_float const* tau,
    lapack_complex_float* C, lapack_int const* ldc,
    lapack_complex_float* work
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_clarfx(...) LAPACK_clarfx_base(__VA_ARGS__, 1)
#else
    #define LAPACK_clarfx(...) LAPACK_clarfx_base(__VA_ARGS__)
#endif

#define LAPACK_dlarfx_base LAPACK_GLOBAL_SUFFIX(dlarfx,DLARFX)
void LAPACK_dlarfx_base(
    char const* side,
    lapack_int const* m, lapack_int const* n,
    double const* V,
    double const* tau,
    double* C, lapack_int const* ldc,
    double* work
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_dlarfx(...) LAPACK_dlarfx_base(__VA_ARGS__, 1)
#else
    #define LAPACK_dlarfx(...) LAPACK_dlarfx_base(__VA_ARGS__)
#endif

#define LAPACK_slarfx_base LAPACK_GLOBAL_SUFFIX(slarfx,SLARFX)
void LAPACK_slarfx_base(
    char const* side,
    lapack_int const* m, lapack_int const* n,
    float const* V,
    float const* tau,
    float* C, lapack_int const* ldc,
    float* work
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_slarfx(...) LAPACK_slarfx_base(__VA_ARGS__, 1)
#else
    #define LAPACK_slarfx(...) LAPACK_slarfx_base(__VA_ARGS__)
#endif

#define LAPACK_zlarfx_base LAPACK_GLOBAL_SUFFIX(zlarfx,ZLARFX)
void LAPACK_zlarfx_base(
    char const* side,
    lapack_int const* m, lapack_int const* n,
    lapack_complex_double const* V,
    lapack_complex_double const* tau,
    lapack_complex_double* C, lapack_int const* ldc,
    lapack_complex_double* work
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_zlarfx(...) LAPACK_zlarfx_base(__VA_ARGS__, 1)
#else
    #define LAPACK_zlarfx(...) LAPACK_zlarfx_base(__VA_ARGS__)
#endif

#define LAPACK_clarnv LAPACK_GLOBAL_SUFFIX(clarnv,CLARNV)
void LAPACK_clarnv(
    lapack_int const* idist, lapack_int* iseed, lapack_int const* n,
    lapack_complex_float* X );

#define LAPACK_dlarnv LAPACK_GLOBAL_SUFFIX(dlarnv,DLARNV)
void LAPACK_dlarnv(
    lapack_int const* idist, lapack_int* iseed, lapack_int const* n,
    double* X );

#define LAPACK_slarnv LAPACK_GLOBAL_SUFFIX(slarnv,SLARNV)
void LAPACK_slarnv(
    lapack_int const* idist, lapack_int* iseed, lapack_int const* n,
    float* X );

#define LAPACK_zlarnv LAPACK_GLOBAL_SUFFIX(zlarnv,ZLARNV)
void LAPACK_zlarnv(
    lapack_int const* idist, lapack_int* iseed, lapack_int const* n,
    lapack_complex_double* X );

#define LAPACK_dlartgp LAPACK_GLOBAL_SUFFIX(dlartgp,DLARTGP)
void LAPACK_dlartgp(
    double const* f,
    double const* g,
    double* cs,
    double* sn,
    double* r );

#define LAPACK_slartgp LAPACK_GLOBAL_SUFFIX(slartgp,SLARTGP)
void LAPACK_slartgp(
    float const* f,
    float const* g,
    float* cs,
    float* sn,
    float* r );

#define LAPACK_dlartgs LAPACK_GLOBAL_SUFFIX(dlartgs,DLARTGS)
void LAPACK_dlartgs(
    double const* x,
    double const* y,
    double const* sigma,
    double* cs,
    double* sn );

#define LAPACK_slartgs LAPACK_GLOBAL_SUFFIX(slartgs,SLARTGS)
void LAPACK_slartgs(
    float const* x,
    float const* y,
    float const* sigma,
    float* cs,
    float* sn );

#define LAPACK_clascl_base LAPACK_GLOBAL_SUFFIX(clascl,CLASCL)
void LAPACK_clascl_base(
    char const* type,
    lapack_int const* kl, lapack_int const* ku,
    float const* cfrom,
    float const* cto, lapack_int const* m, lapack_int const* n,
    lapack_complex_float* A, lapack_int const* lda,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_clascl(...) LAPACK_clascl_base(__VA_ARGS__, 1)
#else
    #define LAPACK_clascl(...) LAPACK_clascl_base(__VA_ARGS__)
#endif

#define LAPACK_dlascl_base LAPACK_GLOBAL_SUFFIX(dlascl,DLASCL)
void LAPACK_dlascl_base(
    char const* type,
    lapack_int const* kl, lapack_int const* ku,
    double const* cfrom,
    double const* cto, lapack_int const* m, lapack_int const* n,
    double* A, lapack_int const* lda,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_dlascl(...) LAPACK_dlascl_base(__VA_ARGS__, 1)
#else
    #define LAPACK_dlascl(...) LAPACK_dlascl_base(__VA_ARGS__)
#endif

#define LAPACK_slascl_base LAPACK_GLOBAL_SUFFIX(slascl,SLASCL)
void LAPACK_slascl_base(
    char const* type,
    lapack_int const* kl, lapack_int const* ku,
    float const* cfrom,
    float const* cto, lapack_int const* m, lapack_int const* n,
    float* A, lapack_int const* lda,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_slascl(...) LAPACK_slascl_base(__VA_ARGS__, 1)
#else
    #define LAPACK_slascl(...) LAPACK_slascl_base(__VA_ARGS__)
#endif

#define LAPACK_zlascl_base LAPACK_GLOBAL_SUFFIX(zlascl,ZLASCL)
void LAPACK_zlascl_base(
    char const* type,
    lapack_int const* kl, lapack_int const* ku,
    double const* cfrom,
    double const* cto, lapack_int const* m, lapack_int const* n,
    lapack_complex_double* A, lapack_int const* lda,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_zlascl(...) LAPACK_zlascl_base(__VA_ARGS__, 1)
#else
    #define LAPACK_zlascl(...) LAPACK_zlascl_base(__VA_ARGS__)
#endif

#define LAPACK_claset_base LAPACK_GLOBAL_SUFFIX(claset,CLASET)
void LAPACK_claset_base(
    char const* uplo,
    lapack_int const* m, lapack_int const* n,
    lapack_complex_float const* alpha,
    lapack_complex_float const* beta,
    lapack_complex_float* A, lapack_int const* lda
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_claset(...) LAPACK_claset_base(__VA_ARGS__, 1)
#else
    #define LAPACK_claset(...) LAPACK_claset_base(__VA_ARGS__)
#endif

#define LAPACK_dlaset_base LAPACK_GLOBAL_SUFFIX(dlaset,DLASET)
void LAPACK_dlaset_base(
    char const* uplo,
    lapack_int const* m, lapack_int const* n,
    double const* alpha,
    double const* beta,
    double* A, lapack_int const* lda
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_dlaset(...) LAPACK_dlaset_base(__VA_ARGS__, 1)
#else
    #define LAPACK_dlaset(...) LAPACK_dlaset_base(__VA_ARGS__)
#endif

#define LAPACK_slaset_base LAPACK_GLOBAL_SUFFIX(slaset,SLASET)
void LAPACK_slaset_base(
    char const* uplo,
    lapack_int const* m, lapack_int const* n,
    float const* alpha,
    float const* beta,
    float* A, lapack_int const* lda
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_slaset(...) LAPACK_slaset_base(__VA_ARGS__, 1)
#else
    #define LAPACK_slaset(...) LAPACK_slaset_base(__VA_ARGS__)
#endif

#define LAPACK_zlaset_base LAPACK_GLOBAL_SUFFIX(zlaset,ZLASET)
void LAPACK_zlaset_base(
    char const* uplo,
    lapack_int const* m, lapack_int const* n,
    lapack_complex_double const* alpha,
    lapack_complex_double const* beta,
    lapack_complex_double* A, lapack_int const* lda
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_zlaset(...) LAPACK_zlaset_base(__VA_ARGS__, 1)
#else
    #define LAPACK_zlaset(...) LAPACK_zlaset_base(__VA_ARGS__)
#endif

#define LAPACK_dlasrt_base LAPACK_GLOBAL_SUFFIX(dlasrt,DLASRT)
void LAPACK_dlasrt_base(
    char const* id,
    lapack_int const* n,
    double* D,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_dlasrt(...) LAPACK_dlasrt_base(__VA_ARGS__, 1)
#else
    #define LAPACK_dlasrt(...) LAPACK_dlasrt_base(__VA_ARGS__)
#endif

#define LAPACK_slasrt_base LAPACK_GLOBAL_SUFFIX(slasrt,SLASRT)
void LAPACK_slasrt_base(
    char const* id,
    lapack_int const* n,
    float* D,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_slasrt(...) LAPACK_slasrt_base(__VA_ARGS__, 1)
#else
    #define LAPACK_slasrt(...) LAPACK_slasrt_base(__VA_ARGS__)
#endif

#define LAPACK_classq LAPACK_GLOBAL_SUFFIX(classq,CLASSQ)
void LAPACK_classq(
    lapack_int const* n,
    lapack_complex_float const* X, lapack_int const* incx,
    float* scale,
    float* sumsq );

#define LAPACK_dlassq LAPACK_GLOBAL_SUFFIX(dlassq,DLASSQ)
void LAPACK_dlassq(
    lapack_int const* n,
    double const* X, lapack_int const* incx,
    double* scale,
    double* sumsq );

#define LAPACK_slassq LAPACK_GLOBAL_SUFFIX(slassq,SLASSQ)
void LAPACK_slassq(
    lapack_int const* n,
    float const* X, lapack_int const* incx,
    float* scale,
    float* sumsq );

#define LAPACK_zlassq LAPACK_GLOBAL_SUFFIX(zlassq,ZLASSQ)
void LAPACK_zlassq(
    lapack_int const* n,
    lapack_complex_double const* X, lapack_int const* incx,
    double* scale,
    double* sumsq );

#define LAPACK_claswp LAPACK_GLOBAL_SUFFIX(claswp,CLASWP)
void LAPACK_claswp(
    lapack_int const* n,
    lapack_complex_float* A, lapack_int const* lda, lapack_int const* k1, lapack_int const* k2, lapack_int const* ipiv, lapack_int const* incx );

#define LAPACK_dlaswp LAPACK_GLOBAL_SUFFIX(dlaswp,DLASWP)
void LAPACK_dlaswp(
    lapack_int const* n,
    double* A, lapack_int const* lda, lapack_int const* k1, lapack_int const* k2, lapack_int const* ipiv, lapack_int const* incx );

#define LAPACK_slaswp LAPACK_GLOBAL_SUFFIX(slaswp,SLASWP)
void LAPACK_slaswp(
    lapack_int const* n,
    float* A, lapack_int const* lda, lapack_int const* k1, lapack_int const* k2, lapack_int const* ipiv, lapack_int const* incx );

#define LAPACK_zlaswp LAPACK_GLOBAL_SUFFIX(zlaswp,ZLASWP)
void LAPACK_zlaswp(
    lapack_int const* n,
    lapack_complex_double* A, lapack_int const* lda, lapack_int const* k1, lapack_int const* k2, lapack_int const* ipiv, lapack_int const* incx );

#define LAPACK_clatms_base LAPACK_GLOBAL_SUFFIX(clatms,CLATMS)
void LAPACK_clatms_base(
    lapack_int const* m, lapack_int const* n, char const* dist,
    lapack_int* iseed, char const* sym,
    float* D,
    lapack_int const* mode,
    float const* cond,
    float const* dmax, lapack_int const* kl, lapack_int const* ku, char const* pack,
    lapack_complex_float* A,
    lapack_int const* lda,
    lapack_complex_float* work,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_clatms(...) LAPACK_clatms_base(__VA_ARGS__, 1, 1, 1)
#else
    #define LAPACK_clatms(...) LAPACK_clatms_base(__VA_ARGS__)
#endif

#define LAPACK_dlatms_base LAPACK_GLOBAL_SUFFIX(dlatms,DLATMS)
void LAPACK_dlatms_base(
    lapack_int const* m, lapack_int const* n, char const* dist,
    lapack_int* iseed, char const* sym,
    double* D,
    lapack_int const* mode,
    double const* cond,
    double const* dmax, lapack_int const* kl, lapack_int const* ku, char const* pack,
    double* A,
    lapack_int const* lda,
    double* work,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_dlatms(...) LAPACK_dlatms_base(__VA_ARGS__, 1, 1, 1)
#else
    #define LAPACK_dlatms(...) LAPACK_dlatms_base(__VA_ARGS__)
#endif

#define LAPACK_slatms_base LAPACK_GLOBAL_SUFFIX(slatms,SLATMS)
void LAPACK_slatms_base(
    lapack_int const* m, lapack_int const* n, char const* dist,
    lapack_int* iseed, char const* sym,
    float* D,
    lapack_int const* mode,
    float const* cond,
    float const* dmax, lapack_int const* kl, lapack_int const* ku, char const* pack,
    float* A,
    lapack_int const* lda,
    float* work,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_slatms(...) LAPACK_slatms_base(__VA_ARGS__, 1, 1, 1)
#else
    #define LAPACK_slatms(...) LAPACK_slatms_base(__VA_ARGS__)
#endif

#define LAPACK_zlatms_base LAPACK_GLOBAL_SUFFIX(zlatms,ZLATMS)
void LAPACK_zlatms_base(
    lapack_int const* m, lapack_int const* n, char const* dist,
    lapack_int* iseed, char const* sym,
    double* D,
    lapack_int const* mode,
    double const* cond,
    double const* dmax, lapack_int const* kl, lapack_int const* ku, char const* pack,
    lapack_complex_double* A,
    lapack_int const* lda,
    lapack_complex_double* work,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_zlatms(...) LAPACK_zlatms_base(__VA_ARGS__, 1, 1, 1)
#else
    #define LAPACK_zlatms(...) LAPACK_zlatms_base(__VA_ARGS__)
#endif

#define LAPACK_clauum_base LAPACK_GLOBAL_SUFFIX(clauum,CLAUUM)
void LAPACK_clauum_base(
    char const* uplo,
    lapack_int const* n,
    lapack_complex_float* A, lapack_int const* lda,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_clauum(...) LAPACK_clauum_base(__VA_ARGS__, 1)
#else
    #define LAPACK_clauum(...) LAPACK_clauum_base(__VA_ARGS__)
#endif

#define LAPACK_dlauum_base LAPACK_GLOBAL_SUFFIX(dlauum,DLAUUM)
void LAPACK_dlauum_base(
    char const* uplo,
    lapack_int const* n,
    double* A, lapack_int const* lda,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_dlauum(...) LAPACK_dlauum_base(__VA_ARGS__, 1)
#else
    #define LAPACK_dlauum(...) LAPACK_dlauum_base(__VA_ARGS__)
#endif

#define LAPACK_slauum_base LAPACK_GLOBAL_SUFFIX(slauum,SLAUUM)
void LAPACK_slauum_base(
    char const* uplo,
    lapack_int const* n,
    float* A, lapack_int const* lda,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_slauum(...) LAPACK_slauum_base(__VA_ARGS__, 1)
#else
    #define LAPACK_slauum(...) LAPACK_slauum_base(__VA_ARGS__)
#endif

#define LAPACK_zlauum_base LAPACK_GLOBAL_SUFFIX(zlauum,ZLAUUM)
void LAPACK_zlauum_base(
    char const* uplo,
    lapack_int const* n,
    lapack_complex_double* A, lapack_int const* lda,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_zlauum(...) LAPACK_zlauum_base(__VA_ARGS__, 1)
#else
    #define LAPACK_zlauum(...) LAPACK_zlauum_base(__VA_ARGS__)
#endif

#define LAPACK_ilaver LAPACK_GLOBAL_SUFFIX(ilaver,ILAVER)
void LAPACK_ilaver(
    lapack_int* vers_major, lapack_int* vers_minor, lapack_int* vers_patch );

#define LAPACK_dopgtr_base LAPACK_GLOBAL_SUFFIX(dopgtr,DOPGTR)
void LAPACK_dopgtr_base(
    char const* uplo,
    lapack_int const* n,
    double const* AP,
    double const* tau,
    double* Q, lapack_int const* ldq,
    double* work,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_dopgtr(...) LAPACK_dopgtr_base(__VA_ARGS__, 1)
#else
    #define LAPACK_dopgtr(...) LAPACK_dopgtr_base(__VA_ARGS__)
#endif

#define LAPACK_sopgtr_base LAPACK_GLOBAL_SUFFIX(sopgtr,SOPGTR)
void LAPACK_sopgtr_base(
    char const* uplo,
    lapack_int const* n,
    float const* AP,
    float const* tau,
    float* Q, lapack_int const* ldq,
    float* work,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_sopgtr(...) LAPACK_sopgtr_base(__VA_ARGS__, 1)
#else
    #define LAPACK_sopgtr(...) LAPACK_sopgtr_base(__VA_ARGS__)
#endif

#define LAPACK_dopmtr_base LAPACK_GLOBAL_SUFFIX(dopmtr,DOPMTR)
void LAPACK_dopmtr_base(
    char const* side, char const* uplo, char const* trans,
    lapack_int const* m, lapack_int const* n,
    double const* AP,
    double const* tau,
    double* C, lapack_int const* ldc,
    double* work,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_dopmtr(...) LAPACK_dopmtr_base(__VA_ARGS__, 1, 1, 1)
#else
    #define LAPACK_dopmtr(...) LAPACK_dopmtr_base(__VA_ARGS__)
#endif

#define LAPACK_sopmtr_base LAPACK_GLOBAL_SUFFIX(sopmtr,SOPMTR)
void LAPACK_sopmtr_base(
    char const* side, char const* uplo, char const* trans,
    lapack_int const* m, lapack_int const* n,
    float const* AP,
    float const* tau,
    float* C, lapack_int const* ldc,
    float* work,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_sopmtr(...) LAPACK_sopmtr_base(__VA_ARGS__, 1, 1, 1)
#else
    #define LAPACK_sopmtr(...) LAPACK_sopmtr_base(__VA_ARGS__)
#endif

#define LAPACK_dorbdb_base LAPACK_GLOBAL_SUFFIX(dorbdb,DORBDB)
void LAPACK_dorbdb_base(
    char const* trans, char const* signs,
    lapack_int const* m, lapack_int const* p, lapack_int const* q,
    double* X11, lapack_int const* ldx11,
    double* X12, lapack_int const* ldx12,
    double* X21, lapack_int const* ldx21,
    double* X22, lapack_int const* ldx22,
    double* theta,
    double* phi,
    double* TAUP1,
    double* TAUP2,
    double* TAUQ1,
    double* TAUQ2,
    double* work, lapack_int const* lwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_dorbdb(...) LAPACK_dorbdb_base(__VA_ARGS__, 1, 1)
#else
    #define LAPACK_dorbdb(...) LAPACK_dorbdb_base(__VA_ARGS__)
#endif

#define LAPACK_sorbdb_base LAPACK_GLOBAL_SUFFIX(sorbdb,SORBDB)
void LAPACK_sorbdb_base(
    char const* trans, char const* signs,
    lapack_int const* m, lapack_int const* p, lapack_int const* q,
    float* X11, lapack_int const* ldx11,
    float* X12, lapack_int const* ldx12,
    float* X21, lapack_int const* ldx21,
    float* X22, lapack_int const* ldx22,
    float* theta,
    float* phi,
    float* TAUP1,
    float* TAUP2,
    float* TAUQ1,
    float* TAUQ2,
    float* work, lapack_int const* lwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_sorbdb(...) LAPACK_sorbdb_base(__VA_ARGS__, 1, 1)
#else
    #define LAPACK_sorbdb(...) LAPACK_sorbdb_base(__VA_ARGS__)
#endif

#define LAPACK_dorcsd_base LAPACK_GLOBAL_SUFFIX(dorcsd,DORCSD)
void LAPACK_dorcsd_base(
    char const* jobu1, char const* jobu2, char const* jobv1t, char const* jobv2t, char const* trans, char const* signs,
    lapack_int const* m, lapack_int const* p, lapack_int const* q,
    double* X11, lapack_int const* ldx11,
    double* X12, lapack_int const* ldx12,
    double* X21, lapack_int const* ldx21,
    double* X22, lapack_int const* ldx22,
    double* theta,
    double* U1, lapack_int const* ldu1,
    double* U2, lapack_int const* ldu2,
    double* V1T, lapack_int const* ldv1t,
    double* V2T, lapack_int const* ldv2t,
    double* work, lapack_int const* lwork,
    lapack_int* iwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN, FORTRAN_STRLEN, FORTRAN_STRLEN, FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_dorcsd(...) LAPACK_dorcsd_base(__VA_ARGS__, 1, 1, 1, 1, 1, 1)
#else
    #define LAPACK_dorcsd(...) LAPACK_dorcsd_base(__VA_ARGS__)
#endif

#define LAPACK_sorcsd_base LAPACK_GLOBAL_SUFFIX(sorcsd,SORCSD)
void LAPACK_sorcsd_base(
    char const* jobu1, char const* jobu2, char const* jobv1t, char const* jobv2t, char const* trans, char const* signs,
    lapack_int const* m, lapack_int const* p, lapack_int const* q,
    float* X11, lapack_int const* ldx11,
    float* X12, lapack_int const* ldx12,
    float* X21, lapack_int const* ldx21,
    float* X22, lapack_int const* ldx22,
    float* theta,
    float* U1, lapack_int const* ldu1,
    float* U2, lapack_int const* ldu2,
    float* V1T, lapack_int const* ldv1t,
    float* V2T, lapack_int const* ldv2t,
    float* work, lapack_int const* lwork,
    lapack_int* iwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN, FORTRAN_STRLEN, FORTRAN_STRLEN, FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_sorcsd(...) LAPACK_sorcsd_base(__VA_ARGS__, 1, 1, 1, 1, 1, 1)
#else
    #define LAPACK_sorcsd(...) LAPACK_sorcsd_base(__VA_ARGS__)
#endif

#define LAPACK_dorcsd2by1_base LAPACK_GLOBAL_SUFFIX(dorcsd2by1,DORCSD2BY1)
void LAPACK_dorcsd2by1_base(
    char const* jobu1, char const* jobu2, char const* jobv1t,
    lapack_int const* m, lapack_int const* p, lapack_int const* q,
    double* X11, lapack_int const* ldx11,
    double* X21, lapack_int const* ldx21,
    double* theta,
    double* U1, lapack_int const* ldu1,
    double* U2, lapack_int const* ldu2,
    double* V1T, lapack_int const* ldv1t,
    double* work, lapack_int const* lwork,
    lapack_int* iwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_dorcsd2by1(...) LAPACK_dorcsd2by1_base(__VA_ARGS__, 1, 1, 1)
#else
    #define LAPACK_dorcsd2by1(...) LAPACK_dorcsd2by1_base(__VA_ARGS__)
#endif

#define LAPACK_sorcsd2by1_base LAPACK_GLOBAL_SUFFIX(sorcsd2by1,SORCSD2BY1)
void LAPACK_sorcsd2by1_base(
    char const* jobu1, char const* jobu2, char const* jobv1t,
    lapack_int const* m, lapack_int const* p, lapack_int const* q,
    float* X11, lapack_int const* ldx11,
    float* X21, lapack_int const* ldx21,
    float* theta,
    float* U1, lapack_int const* ldu1,
    float* U2, lapack_int const* ldu2,
    float* V1T, lapack_int const* ldv1t,
    float* work, lapack_int const* lwork,
    lapack_int* iwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_sorcsd2by1(...) LAPACK_sorcsd2by1_base(__VA_ARGS__, 1, 1, 1)
#else
    #define LAPACK_sorcsd2by1(...) LAPACK_sorcsd2by1_base(__VA_ARGS__)
#endif

#define LAPACK_dorgbr_base LAPACK_GLOBAL_SUFFIX(dorgbr,DORGBR)
void LAPACK_dorgbr_base(
    char const* vect,
    lapack_int const* m, lapack_int const* n, lapack_int const* k,
    double* A, lapack_int const* lda,
    double const* tau,
    double* work, lapack_int const* lwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_dorgbr(...) LAPACK_dorgbr_base(__VA_ARGS__, 1)
#else
    #define LAPACK_dorgbr(...) LAPACK_dorgbr_base(__VA_ARGS__)
#endif

#define LAPACK_sorgbr_base LAPACK_GLOBAL_SUFFIX(sorgbr,SORGBR)
void LAPACK_sorgbr_base(
    char const* vect,
    lapack_int const* m, lapack_int const* n, lapack_int const* k,
    float* A, lapack_int const* lda,
    float const* tau,
    float* work, lapack_int const* lwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_sorgbr(...) LAPACK_sorgbr_base(__VA_ARGS__, 1)
#else
    #define LAPACK_sorgbr(...) LAPACK_sorgbr_base(__VA_ARGS__)
#endif

#define LAPACK_dorghr LAPACK_GLOBAL_SUFFIX(dorghr,DORGHR)
void LAPACK_dorghr(
    lapack_int const* n, lapack_int const* ilo, lapack_int const* ihi,
    double* A, lapack_int const* lda,
    double const* tau,
    double* work, lapack_int const* lwork,
    lapack_int* info );

#define LAPACK_sorghr LAPACK_GLOBAL_SUFFIX(sorghr,SORGHR)
void LAPACK_sorghr(
    lapack_int const* n, lapack_int const* ilo, lapack_int const* ihi,
    float* A, lapack_int const* lda,
    float const* tau,
    float* work, lapack_int const* lwork,
    lapack_int* info );

#define LAPACK_dorglq LAPACK_GLOBAL_SUFFIX(dorglq,DORGLQ)
void LAPACK_dorglq(
    lapack_int const* m, lapack_int const* n, lapack_int const* k,
    double* A, lapack_int const* lda,
    double const* tau,
    double* work, lapack_int const* lwork,
    lapack_int* info );

#define LAPACK_sorglq LAPACK_GLOBAL_SUFFIX(sorglq,SORGLQ)
void LAPACK_sorglq(
    lapack_int const* m, lapack_int const* n, lapack_int const* k,
    float* A, lapack_int const* lda,
    float const* tau,
    float* work, lapack_int const* lwork,
    lapack_int* info );

#define LAPACK_dorgql LAPACK_GLOBAL_SUFFIX(dorgql,DORGQL)
void LAPACK_dorgql(
    lapack_int const* m, lapack_int const* n, lapack_int const* k,
    double* A, lapack_int const* lda,
    double const* tau,
    double* work, lapack_int const* lwork,
    lapack_int* info );

#define LAPACK_sorgql LAPACK_GLOBAL_SUFFIX(sorgql,SORGQL)
void LAPACK_sorgql(
    lapack_int const* m, lapack_int const* n, lapack_int const* k,
    float* A, lapack_int const* lda,
    float const* tau,
    float* work, lapack_int const* lwork,
    lapack_int* info );

#define LAPACK_dorgqr LAPACK_GLOBAL_SUFFIX(dorgqr,DORGQR)
void LAPACK_dorgqr(
    lapack_int const* m, lapack_int const* n, lapack_int const* k,
    double* A, lapack_int const* lda,
    double const* tau,
    double* work, lapack_int const* lwork,
    lapack_int* info );

#define LAPACK_sorgqr LAPACK_GLOBAL_SUFFIX(sorgqr,SORGQR)
void LAPACK_sorgqr(
    lapack_int const* m, lapack_int const* n, lapack_int const* k,
    float* A, lapack_int const* lda,
    float const* tau,
    float* work, lapack_int const* lwork,
    lapack_int* info );

#define LAPACK_dorgrq LAPACK_GLOBAL_SUFFIX(dorgrq,DORGRQ)
void LAPACK_dorgrq(
    lapack_int const* m, lapack_int const* n, lapack_int const* k,
    double* A, lapack_int const* lda,
    double const* tau,
    double* work, lapack_int const* lwork,
    lapack_int* info );

#define LAPACK_sorgrq LAPACK_GLOBAL_SUFFIX(sorgrq,SORGRQ)
void LAPACK_sorgrq(
    lapack_int const* m, lapack_int const* n, lapack_int const* k,
    float* A, lapack_int const* lda,
    float const* tau,
    float* work, lapack_int const* lwork,
    lapack_int* info );

#define LAPACK_dorgtr_base LAPACK_GLOBAL_SUFFIX(dorgtr,DORGTR)
void LAPACK_dorgtr_base(
    char const* uplo,
    lapack_int const* n,
    double* A, lapack_int const* lda,
    double const* tau,
    double* work, lapack_int const* lwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_dorgtr(...) LAPACK_dorgtr_base(__VA_ARGS__, 1)
#else
    #define LAPACK_dorgtr(...) LAPACK_dorgtr_base(__VA_ARGS__)
#endif

#define LAPACK_sorgtr_base LAPACK_GLOBAL_SUFFIX(sorgtr,SORGTR)
void LAPACK_sorgtr_base(
    char const* uplo,
    lapack_int const* n,
    float* A, lapack_int const* lda,
    float const* tau,
    float* work, lapack_int const* lwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_sorgtr(...) LAPACK_sorgtr_base(__VA_ARGS__, 1)
#else
    #define LAPACK_sorgtr(...) LAPACK_sorgtr_base(__VA_ARGS__)
#endif

#define LAPACK_dorgtsqr_row LAPACK_GLOBAL_SUFFIX(dorgtsqr_row,DORGTSQR_ROW)
void LAPACK_dorgtsqr_row(
    lapack_int const* m, lapack_int const* n,
    lapack_int const* mb, lapack_int const* nb,
    double* A, lapack_int const* lda,
    double const* T, lapack_int const* ldt,
    double* work, lapack_int const* lwork,
    lapack_int* info );

#define LAPACK_sorgtsqr_row LAPACK_GLOBAL_SUFFIX(sorgtsqr_row,SORGTSQR_ROW)
void LAPACK_sorgtsqr_row(
    lapack_int const* m, lapack_int const* n,
    lapack_int const* mb, lapack_int const* nb,
    float* A, lapack_int const* lda,
    float const* T, lapack_int const* ldt,
    float* work, lapack_int const* lwork,
    lapack_int* info );

#define LAPACK_dorhr_col LAPACK_GLOBAL_SUFFIX(dorhr_col,DORHR_COL)
void LAPACK_dorhr_col(
    lapack_int const* m, lapack_int const* n,
    lapack_int const* nb, double* A,
    lapack_int const* lda, double* T,
    lapack_int const* ldt, double* D,
    lapack_int* info );

#define LAPACK_sorhr_col LAPACK_GLOBAL_SUFFIX(sorhr_col,SORHR_COL)
void LAPACK_sorhr_col(
    lapack_int const* m, lapack_int const* n,
    lapack_int const* nb, float* A,
    lapack_int const* lda, float* T,
    lapack_int const* ldt, float* D,
    lapack_int* info );

#define LAPACK_dormbr_base LAPACK_GLOBAL_SUFFIX(dormbr,DORMBR)
void LAPACK_dormbr_base(
    char const* vect, char const* side, char const* trans,
    lapack_int const* m, lapack_int const* n, lapack_int const* k,
    double const* A, lapack_int const* lda,
    double const* tau,
    double* C, lapack_int const* ldc,
    double* work, lapack_int const* lwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_dormbr(...) LAPACK_dormbr_base(__VA_ARGS__, 1, 1, 1)
#else
    #define LAPACK_dormbr(...) LAPACK_dormbr_base(__VA_ARGS__)
#endif

#define LAPACK_sormbr_base LAPACK_GLOBAL_SUFFIX(sormbr,SORMBR)
void LAPACK_sormbr_base(
    char const* vect, char const* side, char const* trans,
    lapack_int const* m, lapack_int const* n, lapack_int const* k,
    float const* A, lapack_int const* lda,
    float const* tau,
    float* C, lapack_int const* ldc,
    float* work, lapack_int const* lwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_sormbr(...) LAPACK_sormbr_base(__VA_ARGS__, 1, 1, 1)
#else
    #define LAPACK_sormbr(...) LAPACK_sormbr_base(__VA_ARGS__)
#endif

#define LAPACK_dormhr_base LAPACK_GLOBAL_SUFFIX(dormhr,DORMHR)
void LAPACK_dormhr_base(
    char const* side, char const* trans,
    lapack_int const* m, lapack_int const* n, lapack_int const* ilo, lapack_int const* ihi,
    double const* A, lapack_int const* lda,
    double const* tau,
    double* C, lapack_int const* ldc,
    double* work, lapack_int const* lwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_dormhr(...) LAPACK_dormhr_base(__VA_ARGS__, 1, 1)
#else
    #define LAPACK_dormhr(...) LAPACK_dormhr_base(__VA_ARGS__)
#endif

#define LAPACK_sormhr_base LAPACK_GLOBAL_SUFFIX(sormhr,SORMHR)
void LAPACK_sormhr_base(
    char const* side, char const* trans,
    lapack_int const* m, lapack_int const* n, lapack_int const* ilo, lapack_int const* ihi,
    float const* A, lapack_int const* lda,
    float const* tau,
    float* C, lapack_int const* ldc,
    float* work, lapack_int const* lwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_sormhr(...) LAPACK_sormhr_base(__VA_ARGS__, 1, 1)
#else
    #define LAPACK_sormhr(...) LAPACK_sormhr_base(__VA_ARGS__)
#endif

#define LAPACK_dormlq_base LAPACK_GLOBAL_SUFFIX(dormlq,DORMLQ)
void LAPACK_dormlq_base(
    char const* side, char const* trans,
    lapack_int const* m, lapack_int const* n, lapack_int const* k,
    double const* A, lapack_int const* lda,
    double const* tau,
    double* C, lapack_int const* ldc,
    double* work, lapack_int const* lwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_dormlq(...) LAPACK_dormlq_base(__VA_ARGS__, 1, 1)
#else
    #define LAPACK_dormlq(...) LAPACK_dormlq_base(__VA_ARGS__)
#endif

#define LAPACK_sormlq_base LAPACK_GLOBAL_SUFFIX(sormlq,SORMLQ)
void LAPACK_sormlq_base(
    char const* side, char const* trans,
    lapack_int const* m, lapack_int const* n, lapack_int const* k,
    float const* A, lapack_int const* lda,
    float const* tau,
    float* C, lapack_int const* ldc,
    float* work, lapack_int const* lwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_sormlq(...) LAPACK_sormlq_base(__VA_ARGS__, 1, 1)
#else
    #define LAPACK_sormlq(...) LAPACK_sormlq_base(__VA_ARGS__)
#endif

#define LAPACK_dormql_base LAPACK_GLOBAL_SUFFIX(dormql,DORMQL)
void LAPACK_dormql_base(
    char const* side, char const* trans,
    lapack_int const* m, lapack_int const* n, lapack_int const* k,
    double const* A, lapack_int const* lda,
    double const* tau,
    double* C, lapack_int const* ldc,
    double* work, lapack_int const* lwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_dormql(...) LAPACK_dormql_base(__VA_ARGS__, 1, 1)
#else
    #define LAPACK_dormql(...) LAPACK_dormql_base(__VA_ARGS__)
#endif

#define LAPACK_sormql_base LAPACK_GLOBAL_SUFFIX(sormql,SORMQL)
void LAPACK_sormql_base(
    char const* side, char const* trans,
    lapack_int const* m, lapack_int const* n, lapack_int const* k,
    float const* A, lapack_int const* lda,
    float const* tau,
    float* C, lapack_int const* ldc,
    float* work, lapack_int const* lwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_sormql(...) LAPACK_sormql_base(__VA_ARGS__, 1, 1)
#else
    #define LAPACK_sormql(...) LAPACK_sormql_base(__VA_ARGS__)
#endif

#define LAPACK_dormqr_base LAPACK_GLOBAL_SUFFIX(dormqr,DORMQR)
void LAPACK_dormqr_base(
    char const* side, char const* trans,
    lapack_int const* m, lapack_int const* n, lapack_int const* k,
    double const* A, lapack_int const* lda,
    double const* tau,
    double* C, lapack_int const* ldc,
    double* work, lapack_int const* lwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_dormqr(...) LAPACK_dormqr_base(__VA_ARGS__, 1, 1)
#else
    #define LAPACK_dormqr(...) LAPACK_dormqr_base(__VA_ARGS__)
#endif

#define LAPACK_sormqr_base LAPACK_GLOBAL_SUFFIX(sormqr,SORMQR)
void LAPACK_sormqr_base(
    char const* side, char const* trans,
    lapack_int const* m, lapack_int const* n, lapack_int const* k,
    float const* A, lapack_int const* lda,
    float const* tau,
    float* C, lapack_int const* ldc,
    float* work, lapack_int const* lwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_sormqr(...) LAPACK_sormqr_base(__VA_ARGS__, 1, 1)
#else
    #define LAPACK_sormqr(...) LAPACK_sormqr_base(__VA_ARGS__)
#endif

#define LAPACK_dormrq_base LAPACK_GLOBAL_SUFFIX(dormrq,DORMRQ)
void LAPACK_dormrq_base(
    char const* side, char const* trans,
    lapack_int const* m, lapack_int const* n, lapack_int const* k,
    double const* A, lapack_int const* lda,
    double const* tau,
    double* C, lapack_int const* ldc,
    double* work, lapack_int const* lwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_dormrq(...) LAPACK_dormrq_base(__VA_ARGS__, 1, 1)
#else
    #define LAPACK_dormrq(...) LAPACK_dormrq_base(__VA_ARGS__)
#endif

#define LAPACK_sormrq_base LAPACK_GLOBAL_SUFFIX(sormrq,SORMRQ)
void LAPACK_sormrq_base(
    char const* side, char const* trans,
    lapack_int const* m, lapack_int const* n, lapack_int const* k,
    float const* A, lapack_int const* lda,
    float const* tau,
    float* C, lapack_int const* ldc,
    float* work, lapack_int const* lwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_sormrq(...) LAPACK_sormrq_base(__VA_ARGS__, 1, 1)
#else
    #define LAPACK_sormrq(...) LAPACK_sormrq_base(__VA_ARGS__)
#endif

#define LAPACK_dormrz_base LAPACK_GLOBAL_SUFFIX(dormrz,DORMRZ)
void LAPACK_dormrz_base(
    char const* side, char const* trans,
    lapack_int const* m, lapack_int const* n, lapack_int const* k, lapack_int const* l,
    double const* A, lapack_int const* lda,
    double const* tau,
    double* C, lapack_int const* ldc,
    double* work, lapack_int const* lwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_dormrz(...) LAPACK_dormrz_base(__VA_ARGS__, 1, 1)
#else
    #define LAPACK_dormrz(...) LAPACK_dormrz_base(__VA_ARGS__)
#endif

#define LAPACK_sormrz_base LAPACK_GLOBAL_SUFFIX(sormrz,SORMRZ)
void LAPACK_sormrz_base(
    char const* side, char const* trans,
    lapack_int const* m, lapack_int const* n, lapack_int const* k, lapack_int const* l,
    float const* A, lapack_int const* lda,
    float const* tau,
    float* C, lapack_int const* ldc,
    float* work, lapack_int const* lwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_sormrz(...) LAPACK_sormrz_base(__VA_ARGS__, 1, 1)
#else
    #define LAPACK_sormrz(...) LAPACK_sormrz_base(__VA_ARGS__)
#endif

#define LAPACK_dormtr_base LAPACK_GLOBAL_SUFFIX(dormtr,DORMTR)
void LAPACK_dormtr_base(
    char const* side, char const* uplo, char const* trans,
    lapack_int const* m, lapack_int const* n,
    double const* A, lapack_int const* lda,
    double const* tau,
    double* C, lapack_int const* ldc,
    double* work, lapack_int const* lwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_dormtr(...) LAPACK_dormtr_base(__VA_ARGS__, 1, 1, 1)
#else
    #define LAPACK_dormtr(...) LAPACK_dormtr_base(__VA_ARGS__)
#endif

#define LAPACK_sormtr_base LAPACK_GLOBAL_SUFFIX(sormtr,SORMTR)
void LAPACK_sormtr_base(
    char const* side, char const* uplo, char const* trans,
    lapack_int const* m, lapack_int const* n,
    float const* A, lapack_int const* lda,
    float const* tau,
    float* C, lapack_int const* ldc,
    float* work, lapack_int const* lwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_sormtr(...) LAPACK_sormtr_base(__VA_ARGS__, 1, 1, 1)
#else
    #define LAPACK_sormtr(...) LAPACK_sormtr_base(__VA_ARGS__)
#endif

#define LAPACK_cpbcon_base LAPACK_GLOBAL_SUFFIX(cpbcon,CPBCON)
void LAPACK_cpbcon_base(
    char const* uplo,
    lapack_int const* n, lapack_int const* kd,
    lapack_complex_float const* AB, lapack_int const* ldab,
    float const* anorm,
    float* rcond,
    lapack_complex_float* work,
    float* rwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_cpbcon(...) LAPACK_cpbcon_base(__VA_ARGS__, 1)
#else
    #define LAPACK_cpbcon(...) LAPACK_cpbcon_base(__VA_ARGS__)
#endif

#define LAPACK_dpbcon_base LAPACK_GLOBAL_SUFFIX(dpbcon,DPBCON)
void LAPACK_dpbcon_base(
    char const* uplo,
    lapack_int const* n, lapack_int const* kd,
    double const* AB, lapack_int const* ldab,
    double const* anorm,
    double* rcond,
    double* work,
    lapack_int* iwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_dpbcon(...) LAPACK_dpbcon_base(__VA_ARGS__, 1)
#else
    #define LAPACK_dpbcon(...) LAPACK_dpbcon_base(__VA_ARGS__)
#endif

#define LAPACK_spbcon_base LAPACK_GLOBAL_SUFFIX(spbcon,SPBCON)
void LAPACK_spbcon_base(
    char const* uplo,
    lapack_int const* n, lapack_int const* kd,
    float const* AB, lapack_int const* ldab,
    float const* anorm,
    float* rcond,
    float* work,
    lapack_int* iwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_spbcon(...) LAPACK_spbcon_base(__VA_ARGS__, 1)
#else
    #define LAPACK_spbcon(...) LAPACK_spbcon_base(__VA_ARGS__)
#endif

#define LAPACK_zpbcon_base LAPACK_GLOBAL_SUFFIX(zpbcon,ZPBCON)
void LAPACK_zpbcon_base(
    char const* uplo,
    lapack_int const* n, lapack_int const* kd,
    lapack_complex_double const* AB, lapack_int const* ldab,
    double const* anorm,
    double* rcond,
    lapack_complex_double* work,
    double* rwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_zpbcon(...) LAPACK_zpbcon_base(__VA_ARGS__, 1)
#else
    #define LAPACK_zpbcon(...) LAPACK_zpbcon_base(__VA_ARGS__)
#endif

#define LAPACK_cpbequ_base LAPACK_GLOBAL_SUFFIX(cpbequ,CPBEQU)
void LAPACK_cpbequ_base(
    char const* uplo,
    lapack_int const* n, lapack_int const* kd,
    lapack_complex_float const* AB, lapack_int const* ldab,
    float* S,
    float* scond,
    float* amax,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_cpbequ(...) LAPACK_cpbequ_base(__VA_ARGS__, 1)
#else
    #define LAPACK_cpbequ(...) LAPACK_cpbequ_base(__VA_ARGS__)
#endif

#define LAPACK_dpbequ_base LAPACK_GLOBAL_SUFFIX(dpbequ,DPBEQU)
void LAPACK_dpbequ_base(
    char const* uplo,
    lapack_int const* n, lapack_int const* kd,
    double const* AB, lapack_int const* ldab,
    double* S,
    double* scond,
    double* amax,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_dpbequ(...) LAPACK_dpbequ_base(__VA_ARGS__, 1)
#else
    #define LAPACK_dpbequ(...) LAPACK_dpbequ_base(__VA_ARGS__)
#endif

#define LAPACK_spbequ_base LAPACK_GLOBAL_SUFFIX(spbequ,SPBEQU)
void LAPACK_spbequ_base(
    char const* uplo,
    lapack_int const* n, lapack_int const* kd,
    float const* AB, lapack_int const* ldab,
    float* S,
    float* scond,
    float* amax,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_spbequ(...) LAPACK_spbequ_base(__VA_ARGS__, 1)
#else
    #define LAPACK_spbequ(...) LAPACK_spbequ_base(__VA_ARGS__)
#endif

#define LAPACK_zpbequ_base LAPACK_GLOBAL_SUFFIX(zpbequ,ZPBEQU)
void LAPACK_zpbequ_base(
    char const* uplo,
    lapack_int const* n, lapack_int const* kd,
    lapack_complex_double const* AB, lapack_int const* ldab,
    double* S,
    double* scond,
    double* amax,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_zpbequ(...) LAPACK_zpbequ_base(__VA_ARGS__, 1)
#else
    #define LAPACK_zpbequ(...) LAPACK_zpbequ_base(__VA_ARGS__)
#endif

#define LAPACK_cpbrfs_base LAPACK_GLOBAL_SUFFIX(cpbrfs,CPBRFS)
void LAPACK_cpbrfs_base(
    char const* uplo,
    lapack_int const* n, lapack_int const* kd, lapack_int const* nrhs,
    lapack_complex_float const* AB, lapack_int const* ldab,
    lapack_complex_float const* AFB, lapack_int const* ldafb,
    lapack_complex_float const* B, lapack_int const* ldb,
    lapack_complex_float* X, lapack_int const* ldx,
    float* ferr,
    float* berr,
    lapack_complex_float* work,
    float* rwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_cpbrfs(...) LAPACK_cpbrfs_base(__VA_ARGS__, 1)
#else
    #define LAPACK_cpbrfs(...) LAPACK_cpbrfs_base(__VA_ARGS__)
#endif

#define LAPACK_dpbrfs_base LAPACK_GLOBAL_SUFFIX(dpbrfs,DPBRFS)
void LAPACK_dpbrfs_base(
    char const* uplo,
    lapack_int const* n, lapack_int const* kd, lapack_int const* nrhs,
    double const* AB, lapack_int const* ldab,
    double const* AFB, lapack_int const* ldafb,
    double const* B, lapack_int const* ldb,
    double* X, lapack_int const* ldx,
    double* ferr,
    double* berr,
    double* work,
    lapack_int* iwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_dpbrfs(...) LAPACK_dpbrfs_base(__VA_ARGS__, 1)
#else
    #define LAPACK_dpbrfs(...) LAPACK_dpbrfs_base(__VA_ARGS__)
#endif

#define LAPACK_spbrfs_base LAPACK_GLOBAL_SUFFIX(spbrfs,SPBRFS)
void LAPACK_spbrfs_base(
    char const* uplo,
    lapack_int const* n, lapack_int const* kd, lapack_int const* nrhs,
    float const* AB, lapack_int const* ldab,
    float const* AFB, lapack_int const* ldafb,
    float const* B, lapack_int const* ldb,
    float* X, lapack_int const* ldx,
    float* ferr,
    float* berr,
    float* work,
    lapack_int* iwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_spbrfs(...) LAPACK_spbrfs_base(__VA_ARGS__, 1)
#else
    #define LAPACK_spbrfs(...) LAPACK_spbrfs_base(__VA_ARGS__)
#endif

#define LAPACK_zpbrfs_base LAPACK_GLOBAL_SUFFIX(zpbrfs,ZPBRFS)
void LAPACK_zpbrfs_base(
    char const* uplo,
    lapack_int const* n, lapack_int const* kd, lapack_int const* nrhs,
    lapack_complex_double const* AB, lapack_int const* ldab,
    lapack_complex_double const* AFB, lapack_int const* ldafb,
    lapack_complex_double const* B, lapack_int const* ldb,
    lapack_complex_double* X, lapack_int const* ldx,
    double* ferr,
    double* berr,
    lapack_complex_double* work,
    double* rwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_zpbrfs(...) LAPACK_zpbrfs_base(__VA_ARGS__, 1)
#else
    #define LAPACK_zpbrfs(...) LAPACK_zpbrfs_base(__VA_ARGS__)
#endif

#define LAPACK_cpbstf_base LAPACK_GLOBAL_SUFFIX(cpbstf,CPBSTF)
void LAPACK_cpbstf_base(
    char const* uplo,
    lapack_int const* n, lapack_int const* kd,
    lapack_complex_float* AB, lapack_int const* ldab,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_cpbstf(...) LAPACK_cpbstf_base(__VA_ARGS__, 1)
#else
    #define LAPACK_cpbstf(...) LAPACK_cpbstf_base(__VA_ARGS__)
#endif

#define LAPACK_dpbstf_base LAPACK_GLOBAL_SUFFIX(dpbstf,DPBSTF)
void LAPACK_dpbstf_base(
    char const* uplo,
    lapack_int const* n, lapack_int const* kd,
    double* AB, lapack_int const* ldab,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_dpbstf(...) LAPACK_dpbstf_base(__VA_ARGS__, 1)
#else
    #define LAPACK_dpbstf(...) LAPACK_dpbstf_base(__VA_ARGS__)
#endif

#define LAPACK_spbstf_base LAPACK_GLOBAL_SUFFIX(spbstf,SPBSTF)
void LAPACK_spbstf_base(
    char const* uplo,
    lapack_int const* n, lapack_int const* kd,
    float* AB, lapack_int const* ldab,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_spbstf(...) LAPACK_spbstf_base(__VA_ARGS__, 1)
#else
    #define LAPACK_spbstf(...) LAPACK_spbstf_base(__VA_ARGS__)
#endif

#define LAPACK_zpbstf_base LAPACK_GLOBAL_SUFFIX(zpbstf,ZPBSTF)
void LAPACK_zpbstf_base(
    char const* uplo,
    lapack_int const* n, lapack_int const* kd,
    lapack_complex_double* AB, lapack_int const* ldab,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_zpbstf(...) LAPACK_zpbstf_base(__VA_ARGS__, 1)
#else
    #define LAPACK_zpbstf(...) LAPACK_zpbstf_base(__VA_ARGS__)
#endif

#define LAPACK_cpbsv_base LAPACK_GLOBAL_SUFFIX(cpbsv,CPBSV)
void LAPACK_cpbsv_base(
    char const* uplo,
    lapack_int const* n, lapack_int const* kd, lapack_int const* nrhs,
    lapack_complex_float* AB, lapack_int const* ldab,
    lapack_complex_float* B, lapack_int const* ldb,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_cpbsv(...) LAPACK_cpbsv_base(__VA_ARGS__, 1)
#else
    #define LAPACK_cpbsv(...) LAPACK_cpbsv_base(__VA_ARGS__)
#endif

#define LAPACK_dpbsv_base LAPACK_GLOBAL_SUFFIX(dpbsv,DPBSV)
void LAPACK_dpbsv_base(
    char const* uplo,
    lapack_int const* n, lapack_int const* kd, lapack_int const* nrhs,
    double* AB, lapack_int const* ldab,
    double* B, lapack_int const* ldb,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_dpbsv(...) LAPACK_dpbsv_base(__VA_ARGS__, 1)
#else
    #define LAPACK_dpbsv(...) LAPACK_dpbsv_base(__VA_ARGS__)
#endif

#define LAPACK_spbsv_base LAPACK_GLOBAL_SUFFIX(spbsv,SPBSV)
void LAPACK_spbsv_base(
    char const* uplo,
    lapack_int const* n, lapack_int const* kd, lapack_int const* nrhs,
    float* AB, lapack_int const* ldab,
    float* B, lapack_int const* ldb,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_spbsv(...) LAPACK_spbsv_base(__VA_ARGS__, 1)
#else
    #define LAPACK_spbsv(...) LAPACK_spbsv_base(__VA_ARGS__)
#endif

#define LAPACK_zpbsv_base LAPACK_GLOBAL_SUFFIX(zpbsv,ZPBSV)
void LAPACK_zpbsv_base(
    char const* uplo,
    lapack_int const* n, lapack_int const* kd, lapack_int const* nrhs,
    lapack_complex_double* AB, lapack_int const* ldab,
    lapack_complex_double* B, lapack_int const* ldb,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_zpbsv(...) LAPACK_zpbsv_base(__VA_ARGS__, 1)
#else
    #define LAPACK_zpbsv(...) LAPACK_zpbsv_base(__VA_ARGS__)
#endif

#define LAPACK_cpbsvx_base LAPACK_GLOBAL_SUFFIX(cpbsvx,CPBSVX)
void LAPACK_cpbsvx_base(
    char const* fact, char const* uplo,
    lapack_int const* n, lapack_int const* kd, lapack_int const* nrhs,
    lapack_complex_float* AB, lapack_int const* ldab,
    lapack_complex_float* AFB, lapack_int const* ldafb, char* equed,
    float* S,
    lapack_complex_float* B,
    lapack_int const* ldb,
    lapack_complex_float* X, lapack_int const* ldx,
    float* rcond,
    float* ferr,
    float* berr,
    lapack_complex_float* work,
    float* rwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_cpbsvx(...) LAPACK_cpbsvx_base(__VA_ARGS__, 1, 1, 1)
#else
    #define LAPACK_cpbsvx(...) LAPACK_cpbsvx_base(__VA_ARGS__)
#endif

#define LAPACK_dpbsvx_base LAPACK_GLOBAL_SUFFIX(dpbsvx,DPBSVX)
void LAPACK_dpbsvx_base(
    char const* fact, char const* uplo,
    lapack_int const* n, lapack_int const* kd, lapack_int const* nrhs,
    double* AB, lapack_int const* ldab,
    double* AFB, lapack_int const* ldafb, char* equed,
    double* S,
    double* B,
    lapack_int const* ldb,
    double* X, lapack_int const* ldx,
    double* rcond,
    double* ferr,
    double* berr,
    double* work,
    lapack_int* iwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_dpbsvx(...) LAPACK_dpbsvx_base(__VA_ARGS__, 1, 1, 1)
#else
    #define LAPACK_dpbsvx(...) LAPACK_dpbsvx_base(__VA_ARGS__)
#endif

#define LAPACK_spbsvx_base LAPACK_GLOBAL_SUFFIX(spbsvx,SPBSVX)
void LAPACK_spbsvx_base(
    char const* fact, char const* uplo,
    lapack_int const* n, lapack_int const* kd, lapack_int const* nrhs,
    float* AB, lapack_int const* ldab,
    float* AFB, lapack_int const* ldafb, char* equed,
    float* S,
    float* B,
    lapack_int const* ldb,
    float* X, lapack_int const* ldx,
    float* rcond,
    float* ferr,
    float* berr,
    float* work,
    lapack_int* iwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_spbsvx(...) LAPACK_spbsvx_base(__VA_ARGS__, 1, 1, 1)
#else
    #define LAPACK_spbsvx(...) LAPACK_spbsvx_base(__VA_ARGS__)
#endif

#define LAPACK_zpbsvx_base LAPACK_GLOBAL_SUFFIX(zpbsvx,ZPBSVX)
void LAPACK_zpbsvx_base(
    char const* fact, char const* uplo,
    lapack_int const* n, lapack_int const* kd, lapack_int const* nrhs,
    lapack_complex_double* AB, lapack_int const* ldab,
    lapack_complex_double* AFB, lapack_int const* ldafb, char* equed,
    double* S,
    lapack_complex_double* B,
    lapack_int const* ldb,
    lapack_complex_double* X, lapack_int const* ldx,
    double* rcond,
    double* ferr,
    double* berr,
    lapack_complex_double* work,
    double* rwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_zpbsvx(...) LAPACK_zpbsvx_base(__VA_ARGS__, 1, 1, 1)
#else
    #define LAPACK_zpbsvx(...) LAPACK_zpbsvx_base(__VA_ARGS__)
#endif

#define LAPACK_cpbtrf_base LAPACK_GLOBAL_SUFFIX(cpbtrf,CPBTRF)
void LAPACK_cpbtrf_base(
    char const* uplo,
    lapack_int const* n, lapack_int const* kd,
    lapack_complex_float* AB, lapack_int const* ldab,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_cpbtrf(...) LAPACK_cpbtrf_base(__VA_ARGS__, 1)
#else
    #define LAPACK_cpbtrf(...) LAPACK_cpbtrf_base(__VA_ARGS__)
#endif

#define LAPACK_dpbtrf_base LAPACK_GLOBAL_SUFFIX(dpbtrf,DPBTRF)
void LAPACK_dpbtrf_base(
    char const* uplo,
    lapack_int const* n, lapack_int const* kd,
    double* AB, lapack_int const* ldab,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_dpbtrf(...) LAPACK_dpbtrf_base(__VA_ARGS__, 1)
#else
    #define LAPACK_dpbtrf(...) LAPACK_dpbtrf_base(__VA_ARGS__)
#endif

#define LAPACK_spbtrf_base LAPACK_GLOBAL_SUFFIX(spbtrf,SPBTRF)
void LAPACK_spbtrf_base(
    char const* uplo,
    lapack_int const* n, lapack_int const* kd,
    float* AB, lapack_int const* ldab,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_spbtrf(...) LAPACK_spbtrf_base(__VA_ARGS__, 1)
#else
    #define LAPACK_spbtrf(...) LAPACK_spbtrf_base(__VA_ARGS__)
#endif

#define LAPACK_zpbtrf_base LAPACK_GLOBAL_SUFFIX(zpbtrf,ZPBTRF)
void LAPACK_zpbtrf_base(
    char const* uplo,
    lapack_int const* n, lapack_int const* kd,
    lapack_complex_double* AB, lapack_int const* ldab,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_zpbtrf(...) LAPACK_zpbtrf_base(__VA_ARGS__, 1)
#else
    #define LAPACK_zpbtrf(...) LAPACK_zpbtrf_base(__VA_ARGS__)
#endif

#define LAPACK_cpbtrs_base LAPACK_GLOBAL_SUFFIX(cpbtrs,CPBTRS)
void LAPACK_cpbtrs_base(
    char const* uplo,
    lapack_int const* n, lapack_int const* kd, lapack_int const* nrhs,
    lapack_complex_float const* AB, lapack_int const* ldab,
    lapack_complex_float* B, lapack_int const* ldb,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_cpbtrs(...) LAPACK_cpbtrs_base(__VA_ARGS__, 1)
#else
    #define LAPACK_cpbtrs(...) LAPACK_cpbtrs_base(__VA_ARGS__)
#endif

#define LAPACK_dpbtrs_base LAPACK_GLOBAL_SUFFIX(dpbtrs,DPBTRS)
void LAPACK_dpbtrs_base(
    char const* uplo,
    lapack_int const* n, lapack_int const* kd, lapack_int const* nrhs,
    double const* AB, lapack_int const* ldab,
    double* B, lapack_int const* ldb,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_dpbtrs(...) LAPACK_dpbtrs_base(__VA_ARGS__, 1)
#else
    #define LAPACK_dpbtrs(...) LAPACK_dpbtrs_base(__VA_ARGS__)
#endif

#define LAPACK_spbtrs_base LAPACK_GLOBAL_SUFFIX(spbtrs,SPBTRS)
void LAPACK_spbtrs_base(
    char const* uplo,
    lapack_int const* n, lapack_int const* kd, lapack_int const* nrhs,
    float const* AB, lapack_int const* ldab,
    float* B, lapack_int const* ldb,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_spbtrs(...) LAPACK_spbtrs_base(__VA_ARGS__, 1)
#else
    #define LAPACK_spbtrs(...) LAPACK_spbtrs_base(__VA_ARGS__)
#endif

#define LAPACK_zpbtrs_base LAPACK_GLOBAL_SUFFIX(zpbtrs,ZPBTRS)
void LAPACK_zpbtrs_base(
    char const* uplo,
    lapack_int const* n, lapack_int const* kd, lapack_int const* nrhs,
    lapack_complex_double const* AB, lapack_int const* ldab,
    lapack_complex_double* B, lapack_int const* ldb,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_zpbtrs(...) LAPACK_zpbtrs_base(__VA_ARGS__, 1)
#else
    #define LAPACK_zpbtrs(...) LAPACK_zpbtrs_base(__VA_ARGS__)
#endif

#define LAPACK_cpftrf_base LAPACK_GLOBAL_SUFFIX(cpftrf,CPFTRF)
void LAPACK_cpftrf_base(
    char const* transr, char const* uplo,
    lapack_int const* n,
    lapack_complex_float* A,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_cpftrf(...) LAPACK_cpftrf_base(__VA_ARGS__, 1, 1)
#else
    #define LAPACK_cpftrf(...) LAPACK_cpftrf_base(__VA_ARGS__)
#endif

#define LAPACK_dpftrf_base LAPACK_GLOBAL_SUFFIX(dpftrf,DPFTRF)
void LAPACK_dpftrf_base(
    char const* transr, char const* uplo,
    lapack_int const* n,
    double* A,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_dpftrf(...) LAPACK_dpftrf_base(__VA_ARGS__, 1, 1)
#else
    #define LAPACK_dpftrf(...) LAPACK_dpftrf_base(__VA_ARGS__)
#endif

#define LAPACK_spftrf_base LAPACK_GLOBAL_SUFFIX(spftrf,SPFTRF)
void LAPACK_spftrf_base(
    char const* transr, char const* uplo,
    lapack_int const* n,
    float* A,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_spftrf(...) LAPACK_spftrf_base(__VA_ARGS__, 1, 1)
#else
    #define LAPACK_spftrf(...) LAPACK_spftrf_base(__VA_ARGS__)
#endif

#define LAPACK_zpftrf_base LAPACK_GLOBAL_SUFFIX(zpftrf,ZPFTRF)
void LAPACK_zpftrf_base(
    char const* transr, char const* uplo,
    lapack_int const* n,
    lapack_complex_double* A,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_zpftrf(...) LAPACK_zpftrf_base(__VA_ARGS__, 1, 1)
#else
    #define LAPACK_zpftrf(...) LAPACK_zpftrf_base(__VA_ARGS__)
#endif

#define LAPACK_cpftri_base LAPACK_GLOBAL_SUFFIX(cpftri,CPFTRI)
void LAPACK_cpftri_base(
    char const* transr, char const* uplo,
    lapack_int const* n,
    lapack_complex_float* A,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_cpftri(...) LAPACK_cpftri_base(__VA_ARGS__, 1, 1)
#else
    #define LAPACK_cpftri(...) LAPACK_cpftri_base(__VA_ARGS__)
#endif

#define LAPACK_dpftri_base LAPACK_GLOBAL_SUFFIX(dpftri,DPFTRI)
void LAPACK_dpftri_base(
    char const* transr, char const* uplo,
    lapack_int const* n,
    double* A,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_dpftri(...) LAPACK_dpftri_base(__VA_ARGS__, 1, 1)
#else
    #define LAPACK_dpftri(...) LAPACK_dpftri_base(__VA_ARGS__)
#endif

#define LAPACK_spftri_base LAPACK_GLOBAL_SUFFIX(spftri,SPFTRI)
void LAPACK_spftri_base(
    char const* transr, char const* uplo,
    lapack_int const* n,
    float* A,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_spftri(...) LAPACK_spftri_base(__VA_ARGS__, 1, 1)
#else
    #define LAPACK_spftri(...) LAPACK_spftri_base(__VA_ARGS__)
#endif

#define LAPACK_zpftri_base LAPACK_GLOBAL_SUFFIX(zpftri,ZPFTRI)
void LAPACK_zpftri_base(
    char const* transr, char const* uplo,
    lapack_int const* n,
    lapack_complex_double* A,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_zpftri(...) LAPACK_zpftri_base(__VA_ARGS__, 1, 1)
#else
    #define LAPACK_zpftri(...) LAPACK_zpftri_base(__VA_ARGS__)
#endif

#define LAPACK_cpftrs_base LAPACK_GLOBAL_SUFFIX(cpftrs,CPFTRS)
void LAPACK_cpftrs_base(
    char const* transr, char const* uplo,
    lapack_int const* n, lapack_int const* nrhs,
    lapack_complex_float const* A,
    lapack_complex_float* B, lapack_int const* ldb,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_cpftrs(...) LAPACK_cpftrs_base(__VA_ARGS__, 1, 1)
#else
    #define LAPACK_cpftrs(...) LAPACK_cpftrs_base(__VA_ARGS__)
#endif

#define LAPACK_dpftrs_base LAPACK_GLOBAL_SUFFIX(dpftrs,DPFTRS)
void LAPACK_dpftrs_base(
    char const* transr, char const* uplo,
    lapack_int const* n, lapack_int const* nrhs,
    double const* A,
    double* B, lapack_int const* ldb,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_dpftrs(...) LAPACK_dpftrs_base(__VA_ARGS__, 1, 1)
#else
    #define LAPACK_dpftrs(...) LAPACK_dpftrs_base(__VA_ARGS__)
#endif

#define LAPACK_spftrs_base LAPACK_GLOBAL_SUFFIX(spftrs,SPFTRS)
void LAPACK_spftrs_base(
    char const* transr, char const* uplo,
    lapack_int const* n, lapack_int const* nrhs,
    float const* A,
    float* B, lapack_int const* ldb,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_spftrs(...) LAPACK_spftrs_base(__VA_ARGS__, 1, 1)
#else
    #define LAPACK_spftrs(...) LAPACK_spftrs_base(__VA_ARGS__)
#endif

#define LAPACK_zpftrs_base LAPACK_GLOBAL_SUFFIX(zpftrs,ZPFTRS)
void LAPACK_zpftrs_base(
    char const* transr, char const* uplo,
    lapack_int const* n, lapack_int const* nrhs,
    lapack_complex_double const* A,
    lapack_complex_double* B, lapack_int const* ldb,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_zpftrs(...) LAPACK_zpftrs_base(__VA_ARGS__, 1, 1)
#else
    #define LAPACK_zpftrs(...) LAPACK_zpftrs_base(__VA_ARGS__)
#endif

#define LAPACK_cpocon_base LAPACK_GLOBAL_SUFFIX(cpocon,CPOCON)
void LAPACK_cpocon_base(
    char const* uplo,
    lapack_int const* n,
    lapack_complex_float const* A, lapack_int const* lda,
    float const* anorm,
    float* rcond,
    lapack_complex_float* work,
    float* rwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_cpocon(...) LAPACK_cpocon_base(__VA_ARGS__, 1)
#else
    #define LAPACK_cpocon(...) LAPACK_cpocon_base(__VA_ARGS__)
#endif

#define LAPACK_dpocon_base LAPACK_GLOBAL_SUFFIX(dpocon,DPOCON)
void LAPACK_dpocon_base(
    char const* uplo,
    lapack_int const* n,
    double const* A, lapack_int const* lda,
    double const* anorm,
    double* rcond,
    double* work,
    lapack_int* iwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_dpocon(...) LAPACK_dpocon_base(__VA_ARGS__, 1)
#else
    #define LAPACK_dpocon(...) LAPACK_dpocon_base(__VA_ARGS__)
#endif

#define LAPACK_spocon_base LAPACK_GLOBAL_SUFFIX(spocon,SPOCON)
void LAPACK_spocon_base(
    char const* uplo,
    lapack_int const* n,
    float const* A, lapack_int const* lda,
    float const* anorm,
    float* rcond,
    float* work,
    lapack_int* iwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_spocon(...) LAPACK_spocon_base(__VA_ARGS__, 1)
#else
    #define LAPACK_spocon(...) LAPACK_spocon_base(__VA_ARGS__)
#endif

#define LAPACK_zpocon_base LAPACK_GLOBAL_SUFFIX(zpocon,ZPOCON)
void LAPACK_zpocon_base(
    char const* uplo,
    lapack_int const* n,
    lapack_complex_double const* A, lapack_int const* lda,
    double const* anorm,
    double* rcond,
    lapack_complex_double* work,
    double* rwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_zpocon(...) LAPACK_zpocon_base(__VA_ARGS__, 1)
#else
    #define LAPACK_zpocon(...) LAPACK_zpocon_base(__VA_ARGS__)
#endif

#define LAPACK_cpoequ LAPACK_GLOBAL_SUFFIX(cpoequ,CPOEQU)
void LAPACK_cpoequ(
    lapack_int const* n,
    lapack_complex_float const* A, lapack_int const* lda,
    float* S,
    float* scond,
    float* amax,
    lapack_int* info );

#define LAPACK_dpoequ LAPACK_GLOBAL_SUFFIX(dpoequ,DPOEQU)
void LAPACK_dpoequ(
    lapack_int const* n,
    double const* A, lapack_int const* lda,
    double* S,
    double* scond,
    double* amax,
    lapack_int* info );

#define LAPACK_spoequ LAPACK_GLOBAL_SUFFIX(spoequ,SPOEQU)
void LAPACK_spoequ(
    lapack_int const* n,
    float const* A, lapack_int const* lda,
    float* S,
    float* scond,
    float* amax,
    lapack_int* info );

#define LAPACK_zpoequ LAPACK_GLOBAL_SUFFIX(zpoequ,ZPOEQU)
void LAPACK_zpoequ(
    lapack_int const* n,
    lapack_complex_double const* A, lapack_int const* lda,
    double* S,
    double* scond,
    double* amax,
    lapack_int* info );

#define LAPACK_cpoequb LAPACK_GLOBAL_SUFFIX(cpoequb,CPOEQUB)
void LAPACK_cpoequb(
    lapack_int const* n,
    lapack_complex_float const* A, lapack_int const* lda,
    float* S,
    float* scond,
    float* amax,
    lapack_int* info );

#define LAPACK_dpoequb LAPACK_GLOBAL_SUFFIX(dpoequb,DPOEQUB)
void LAPACK_dpoequb(
    lapack_int const* n,
    double const* A, lapack_int const* lda,
    double* S,
    double* scond,
    double* amax,
    lapack_int* info );

#define LAPACK_spoequb LAPACK_GLOBAL_SUFFIX(spoequb,SPOEQUB)
void LAPACK_spoequb(
    lapack_int const* n,
    float const* A, lapack_int const* lda,
    float* S,
    float* scond,
    float* amax,
    lapack_int* info );

#define LAPACK_zpoequb LAPACK_GLOBAL_SUFFIX(zpoequb,ZPOEQUB)
void LAPACK_zpoequb(
    lapack_int const* n,
    lapack_complex_double const* A, lapack_int const* lda,
    double* S,
    double* scond,
    double* amax,
    lapack_int* info );

#define LAPACK_cporfs_base LAPACK_GLOBAL_SUFFIX(cporfs,CPORFS)
void LAPACK_cporfs_base(
    char const* uplo,
    lapack_int const* n, lapack_int const* nrhs,
    lapack_complex_float const* A, lapack_int const* lda,
    lapack_complex_float const* AF, lapack_int const* ldaf,
    lapack_complex_float const* B, lapack_int const* ldb,
    lapack_complex_float* X, lapack_int const* ldx,
    float* ferr,
    float* berr,
    lapack_complex_float* work,
    float* rwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_cporfs(...) LAPACK_cporfs_base(__VA_ARGS__, 1)
#else
    #define LAPACK_cporfs(...) LAPACK_cporfs_base(__VA_ARGS__)
#endif

#define LAPACK_dporfs_base LAPACK_GLOBAL_SUFFIX(dporfs,DPORFS)
void LAPACK_dporfs_base(
    char const* uplo,
    lapack_int const* n, lapack_int const* nrhs,
    double const* A, lapack_int const* lda,
    double const* AF, lapack_int const* ldaf,
    double const* B, lapack_int const* ldb,
    double* X, lapack_int const* ldx,
    double* ferr,
    double* berr,
    double* work,
    lapack_int* iwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_dporfs(...) LAPACK_dporfs_base(__VA_ARGS__, 1)
#else
    #define LAPACK_dporfs(...) LAPACK_dporfs_base(__VA_ARGS__)
#endif

#define LAPACK_sporfs_base LAPACK_GLOBAL_SUFFIX(sporfs,SPORFS)
void LAPACK_sporfs_base(
    char const* uplo,
    lapack_int const* n, lapack_int const* nrhs,
    float const* A, lapack_int const* lda,
    float const* AF, lapack_int const* ldaf,
    float const* B, lapack_int const* ldb,
    float* X, lapack_int const* ldx,
    float* ferr,
    float* berr,
    float* work,
    lapack_int* iwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_sporfs(...) LAPACK_sporfs_base(__VA_ARGS__, 1)
#else
    #define LAPACK_sporfs(...) LAPACK_sporfs_base(__VA_ARGS__)
#endif

#define LAPACK_zporfs_base LAPACK_GLOBAL_SUFFIX(zporfs,ZPORFS)
void LAPACK_zporfs_base(
    char const* uplo,
    lapack_int const* n, lapack_int const* nrhs,
    lapack_complex_double const* A, lapack_int const* lda,
    lapack_complex_double const* AF, lapack_int const* ldaf,
    lapack_complex_double const* B, lapack_int const* ldb,
    lapack_complex_double* X, lapack_int const* ldx,
    double* ferr,
    double* berr,
    lapack_complex_double* work,
    double* rwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_zporfs(...) LAPACK_zporfs_base(__VA_ARGS__, 1)
#else
    #define LAPACK_zporfs(...) LAPACK_zporfs_base(__VA_ARGS__)
#endif

#define LAPACK_cporfsx_base LAPACK_GLOBAL_SUFFIX(cporfsx,CPORFSX)
void LAPACK_cporfsx_base(
    char const* uplo, char const* equed,
    lapack_int const* n, lapack_int const* nrhs,
    lapack_complex_float const* A, lapack_int const* lda,
    lapack_complex_float const* AF, lapack_int const* ldaf,
    const float* S,
    lapack_complex_float const* B, lapack_int const* ldb,
    lapack_complex_float* X, lapack_int const* ldx,
    float* rcond,
    float* berr, lapack_int const* n_err_bnds,
    float* err_bnds_norm,
    float* err_bnds_comp, lapack_int const* nparams,
    float* params,
    lapack_complex_float* work,
    float* rwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_cporfsx(...) LAPACK_cporfsx_base(__VA_ARGS__, 1, 1)
#else
    #define LAPACK_cporfsx(...) LAPACK_cporfsx_base(__VA_ARGS__)
#endif

#define LAPACK_dporfsx_base LAPACK_GLOBAL_SUFFIX(dporfsx,DPORFSX)
void LAPACK_dporfsx_base(
    char const* uplo, char const* equed,
    lapack_int const* n, lapack_int const* nrhs,
    double const* A, lapack_int const* lda,
    double const* AF, lapack_int const* ldaf,
    const double* S,
    double const* B, lapack_int const* ldb,
    double* X, lapack_int const* ldx,
    double* rcond,
    double* berr, lapack_int const* n_err_bnds,
    double* err_bnds_norm,
    double* err_bnds_comp, lapack_int const* nparams,
    double* params,
    double* work,
    lapack_int* iwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_dporfsx(...) LAPACK_dporfsx_base(__VA_ARGS__, 1, 1)
#else
    #define LAPACK_dporfsx(...) LAPACK_dporfsx_base(__VA_ARGS__)
#endif

#define LAPACK_sporfsx_base LAPACK_GLOBAL_SUFFIX(sporfsx,SPORFSX)
void LAPACK_sporfsx_base(
    char const* uplo, char const* equed,
    lapack_int const* n, lapack_int const* nrhs,
    float const* A, lapack_int const* lda,
    float const* AF, lapack_int const* ldaf,
    const float* S,
    float const* B, lapack_int const* ldb,
    float* X, lapack_int const* ldx,
    float* rcond,
    float* berr, lapack_int const* n_err_bnds,
    float* err_bnds_norm,
    float* err_bnds_comp, lapack_int const* nparams,
    float* params,
    float* work,
    lapack_int* iwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_sporfsx(...) LAPACK_sporfsx_base(__VA_ARGS__, 1, 1)
#else
    #define LAPACK_sporfsx(...) LAPACK_sporfsx_base(__VA_ARGS__)
#endif

#define LAPACK_zporfsx_base LAPACK_GLOBAL_SUFFIX(zporfsx,ZPORFSX)
void LAPACK_zporfsx_base(
    char const* uplo, char const* equed,
    lapack_int const* n, lapack_int const* nrhs,
    lapack_complex_double const* A, lapack_int const* lda,
    lapack_complex_double const* AF, lapack_int const* ldaf,
    const double* S,
    lapack_complex_double const* B, lapack_int const* ldb,
    lapack_complex_double* X, lapack_int const* ldx,
    double* rcond,
    double* berr, lapack_int const* n_err_bnds,
    double* err_bnds_norm,
    double* err_bnds_comp, lapack_int const* nparams,
    double* params,
    lapack_complex_double* work,
    double* rwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_zporfsx(...) LAPACK_zporfsx_base(__VA_ARGS__, 1, 1)
#else
    #define LAPACK_zporfsx(...) LAPACK_zporfsx_base(__VA_ARGS__)
#endif

#define LAPACK_cposv_base LAPACK_GLOBAL_SUFFIX(cposv,CPOSV)
void LAPACK_cposv_base(
    char const* uplo,
    lapack_int const* n, lapack_int const* nrhs,
    lapack_complex_float* A, lapack_int const* lda,
    lapack_complex_float* B, lapack_int const* ldb,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_cposv(...) LAPACK_cposv_base(__VA_ARGS__, 1)
#else
    #define LAPACK_cposv(...) LAPACK_cposv_base(__VA_ARGS__)
#endif

#define LAPACK_dposv_base LAPACK_GLOBAL_SUFFIX(dposv,DPOSV)
void LAPACK_dposv_base(
    char const* uplo,
    lapack_int const* n, lapack_int const* nrhs,
    double* A, lapack_int const* lda,
    double* B, lapack_int const* ldb,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_dposv(...) LAPACK_dposv_base(__VA_ARGS__, 1)
#else
    #define LAPACK_dposv(...) LAPACK_dposv_base(__VA_ARGS__)
#endif

#define LAPACK_sposv_base LAPACK_GLOBAL_SUFFIX(sposv,SPOSV)
void LAPACK_sposv_base(
    char const* uplo,
    lapack_int const* n, lapack_int const* nrhs,
    float* A, lapack_int const* lda,
    float* B, lapack_int const* ldb,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_sposv(...) LAPACK_sposv_base(__VA_ARGS__, 1)
#else
    #define LAPACK_sposv(...) LAPACK_sposv_base(__VA_ARGS__)
#endif

#define LAPACK_zposv_base LAPACK_GLOBAL_SUFFIX(zposv,ZPOSV)
void LAPACK_zposv_base(
    char const* uplo,
    lapack_int const* n, lapack_int const* nrhs,
    lapack_complex_double* A, lapack_int const* lda,
    lapack_complex_double* B, lapack_int const* ldb,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_zposv(...) LAPACK_zposv_base(__VA_ARGS__, 1)
#else
    #define LAPACK_zposv(...) LAPACK_zposv_base(__VA_ARGS__)
#endif

#define LAPACK_dsposv_base LAPACK_GLOBAL_SUFFIX(dsposv,DSPOSV)
void LAPACK_dsposv_base(
    char const* uplo,
    lapack_int const* n, lapack_int const* nrhs,
    double* A, lapack_int const* lda,
    double const* B, lapack_int const* ldb,
    double* X, lapack_int const* ldx,
    double* work,
    float* swork, lapack_int* iter,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_dsposv(...) LAPACK_dsposv_base(__VA_ARGS__, 1)
#else
    #define LAPACK_dsposv(...) LAPACK_dsposv_base(__VA_ARGS__)
#endif

#define LAPACK_zcposv_base LAPACK_GLOBAL_SUFFIX(zcposv,ZCPOSV)
void LAPACK_zcposv_base(
    char const* uplo,
    lapack_int const* n, lapack_int const* nrhs,
    lapack_complex_double* A, lapack_int const* lda,
    lapack_complex_double const* B, lapack_int const* ldb,
    lapack_complex_double* X, lapack_int const* ldx,
    lapack_complex_double* work,
    lapack_complex_float* swork,
    double* rwork, lapack_int* iter,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_zcposv(...) LAPACK_zcposv_base(__VA_ARGS__, 1)
#else
    #define LAPACK_zcposv(...) LAPACK_zcposv_base(__VA_ARGS__)
#endif

#define LAPACK_cposvx_base LAPACK_GLOBAL_SUFFIX(cposvx,CPOSVX)
void LAPACK_cposvx_base(
    char const* fact, char const* uplo,
    lapack_int const* n, lapack_int const* nrhs,
    lapack_complex_float* A, lapack_int const* lda,
    lapack_complex_float* AF, lapack_int const* ldaf, char* equed,
    float* S,
    lapack_complex_float* B,
    lapack_int const* ldb,
    lapack_complex_float* X, lapack_int const* ldx,
    float* rcond,
    float* ferr,
    float* berr,
    lapack_complex_float* work,
    float* rwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_cposvx(...) LAPACK_cposvx_base(__VA_ARGS__, 1, 1, 1)
#else
    #define LAPACK_cposvx(...) LAPACK_cposvx_base(__VA_ARGS__)
#endif

#define LAPACK_dposvx_base LAPACK_GLOBAL_SUFFIX(dposvx,DPOSVX)
void LAPACK_dposvx_base(
    char const* fact, char const* uplo,
    lapack_int const* n, lapack_int const* nrhs,
    double* A, lapack_int const* lda,
    double* AF, lapack_int const* ldaf, char* equed,
    double* S,
    double* B,
    lapack_int const* ldb,
    double* X, lapack_int const* ldx,
    double* rcond,
    double* ferr,
    double* berr,
    double* work,
    lapack_int* iwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_dposvx(...) LAPACK_dposvx_base(__VA_ARGS__, 1, 1, 1)
#else
    #define LAPACK_dposvx(...) LAPACK_dposvx_base(__VA_ARGS__)
#endif

#define LAPACK_sposvx_base LAPACK_GLOBAL_SUFFIX(sposvx,SPOSVX)
void LAPACK_sposvx_base(
    char const* fact, char const* uplo,
    lapack_int const* n, lapack_int const* nrhs,
    float* A, lapack_int const* lda,
    float* AF, lapack_int const* ldaf, char* equed,
    float* S,
    float* B,
    lapack_int const* ldb,
    float* X, lapack_int const* ldx,
    float* rcond,
    float* ferr,
    float* berr,
    float* work,
    lapack_int* iwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_sposvx(...) LAPACK_sposvx_base(__VA_ARGS__, 1, 1, 1)
#else
    #define LAPACK_sposvx(...) LAPACK_sposvx_base(__VA_ARGS__)
#endif

#define LAPACK_zposvx_base LAPACK_GLOBAL_SUFFIX(zposvx,ZPOSVX)
void LAPACK_zposvx_base(
    char const* fact, char const* uplo,
    lapack_int const* n, lapack_int const* nrhs,
    lapack_complex_double* A, lapack_int const* lda,
    lapack_complex_double* AF, lapack_int const* ldaf, char* equed,
    double* S,
    lapack_complex_double* B,
    lapack_int const* ldb,
    lapack_complex_double* X, lapack_int const* ldx,
    double* rcond,
    double* ferr,
    double* berr,
    lapack_complex_double* work,
    double* rwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_zposvx(...) LAPACK_zposvx_base(__VA_ARGS__, 1, 1, 1)
#else
    #define LAPACK_zposvx(...) LAPACK_zposvx_base(__VA_ARGS__)
#endif

#define LAPACK_cposvxx_base LAPACK_GLOBAL_SUFFIX(cposvxx,CPOSVXX)
void LAPACK_cposvxx_base(
    char const* fact, char const* uplo,
    lapack_int const* n, lapack_int const* nrhs,
    lapack_complex_float* A, lapack_int const* lda,
    lapack_complex_float* AF, lapack_int const* ldaf, char* equed,
    float* S,
    lapack_complex_float* B,
    lapack_int const* ldb,
    lapack_complex_float* X, lapack_int const* ldx,
    float* rcond,
    float* rpvgrw,
    float* berr, lapack_int const* n_err_bnds,
    float* err_bnds_norm,
    float* err_bnds_comp, lapack_int const* nparams,
    float* params,
    lapack_complex_float* work,
    float* rwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_cposvxx(...) LAPACK_cposvxx_base(__VA_ARGS__, 1, 1, 1)
#else
    #define LAPACK_cposvxx(...) LAPACK_cposvxx_base(__VA_ARGS__)
#endif

#define LAPACK_dposvxx_base LAPACK_GLOBAL_SUFFIX(dposvxx,DPOSVXX)
void LAPACK_dposvxx_base(
    char const* fact, char const* uplo,
    lapack_int const* n, lapack_int const* nrhs,
    double* A, lapack_int const* lda,
    double* AF, lapack_int const* ldaf, char* equed,
    double* S,
    double* B,
    lapack_int const* ldb,
    double* X, lapack_int const* ldx,
    double* rcond,
    double* rpvgrw,
    double* berr, lapack_int const* n_err_bnds,
    double* err_bnds_norm,
    double* err_bnds_comp, lapack_int const* nparams,
    double* params,
    double* work,
    lapack_int* iwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_dposvxx(...) LAPACK_dposvxx_base(__VA_ARGS__, 1, 1, 1)
#else
    #define LAPACK_dposvxx(...) LAPACK_dposvxx_base(__VA_ARGS__)
#endif

#define LAPACK_sposvxx_base LAPACK_GLOBAL_SUFFIX(sposvxx,SPOSVXX)
void LAPACK_sposvxx_base(
    char const* fact, char const* uplo,
    lapack_int const* n, lapack_int const* nrhs,
    float* A, lapack_int const* lda,
    float* AF, lapack_int const* ldaf, char* equed,
    float* S,
    float* B,
    lapack_int const* ldb,
    float* X, lapack_int const* ldx,
    float* rcond,
    float* rpvgrw,
    float* berr, lapack_int const* n_err_bnds,
    float* err_bnds_norm,
    float* err_bnds_comp, lapack_int const* nparams,
    float* params,
    float* work,
    lapack_int* iwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_sposvxx(...) LAPACK_sposvxx_base(__VA_ARGS__, 1, 1, 1)
#else
    #define LAPACK_sposvxx(...) LAPACK_sposvxx_base(__VA_ARGS__)
#endif

#define LAPACK_zposvxx_base LAPACK_GLOBAL_SUFFIX(zposvxx,ZPOSVXX)
void LAPACK_zposvxx_base(
    char const* fact, char const* uplo,
    lapack_int const* n, lapack_int const* nrhs,
    lapack_complex_double* A, lapack_int const* lda,
    lapack_complex_double* AF, lapack_int const* ldaf, char* equed,
    double* S,
    lapack_complex_double* B,
    lapack_int const* ldb,
    lapack_complex_double* X, lapack_int const* ldx,
    double* rcond,
    double* rpvgrw,
    double* berr, lapack_int const* n_err_bnds,
    double* err_bnds_norm,
    double* err_bnds_comp, lapack_int const* nparams,
    double* params,
    lapack_complex_double* work,
    double* rwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_zposvxx(...) LAPACK_zposvxx_base(__VA_ARGS__, 1, 1, 1)
#else
    #define LAPACK_zposvxx(...) LAPACK_zposvxx_base(__VA_ARGS__)
#endif

#define LAPACK_cpotf2_base LAPACK_GLOBAL_SUFFIX(cpotf2,CPOTF2)
void LAPACK_cpotf2_base(
    char const* uplo,
    lapack_int const* n,
    lapack_complex_float* A, lapack_int const* lda,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_cpotf2(...) LAPACK_cpotf2_base(__VA_ARGS__, 1)
#else
    #define LAPACK_cpotf2(...) LAPACK_cpotf2_base(__VA_ARGS__)
#endif

#define LAPACK_dpotf2_base LAPACK_GLOBAL_SUFFIX(dpotf2,DPOTF2)
void LAPACK_dpotf2_base(
    char const* uplo,
    lapack_int const* n,
    double* A, lapack_int const* lda,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_dpotf2(...) LAPACK_dpotf2_base(__VA_ARGS__, 1)
#else
    #define LAPACK_dpotf2(...) LAPACK_dpotf2_base(__VA_ARGS__)
#endif

#define LAPACK_spotf2_base LAPACK_GLOBAL_SUFFIX(spotf2,SPOTF2)
void LAPACK_spotf2_base(
    char const* uplo,
    lapack_int const* n,
    float* A, lapack_int const* lda,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_spotf2(...) LAPACK_spotf2_base(__VA_ARGS__, 1)
#else
    #define LAPACK_spotf2(...) LAPACK_spotf2_base(__VA_ARGS__)
#endif

#define LAPACK_zpotf2_base LAPACK_GLOBAL_SUFFIX(zpotf2,ZPOTF2)
void LAPACK_zpotf2_base(
    char const* uplo,
    lapack_int const* n,
    lapack_complex_double* A, lapack_int const* lda,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_zpotf2(...) LAPACK_zpotf2_base(__VA_ARGS__, 1)
#else
    #define LAPACK_zpotf2(...) LAPACK_zpotf2_base(__VA_ARGS__)
#endif

#define LAPACK_cpotrf_base LAPACK_GLOBAL_SUFFIX(cpotrf,CPOTRF)
void LAPACK_cpotrf_base(
    char const* uplo,
    lapack_int const* n,
    lapack_complex_float* A, lapack_int const* lda,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_cpotrf(...) LAPACK_cpotrf_base(__VA_ARGS__, 1)
#else
    #define LAPACK_cpotrf(...) LAPACK_cpotrf_base(__VA_ARGS__)
#endif

#define LAPACK_dpotrf_base LAPACK_GLOBAL_SUFFIX(dpotrf,DPOTRF)
void LAPACK_dpotrf_base(
    char const* uplo,
    lapack_int const* n,
    double* A, lapack_int const* lda,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_dpotrf(...) LAPACK_dpotrf_base(__VA_ARGS__, 1)
#else
    #define LAPACK_dpotrf(...) LAPACK_dpotrf_base(__VA_ARGS__)
#endif

#define LAPACK_spotrf_base LAPACK_GLOBAL_SUFFIX(spotrf,SPOTRF)
void LAPACK_spotrf_base(
    char const* uplo,
    lapack_int const* n,
    float* A, lapack_int const* lda,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_spotrf(...) LAPACK_spotrf_base(__VA_ARGS__, 1)
#else
    #define LAPACK_spotrf(...) LAPACK_spotrf_base(__VA_ARGS__)
#endif

#define LAPACK_zpotrf_base LAPACK_GLOBAL_SUFFIX(zpotrf,ZPOTRF)
void LAPACK_zpotrf_base(
    char const* uplo,
    lapack_int const* n,
    lapack_complex_double* A, lapack_int const* lda,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_zpotrf(...) LAPACK_zpotrf_base(__VA_ARGS__, 1)
#else
    #define LAPACK_zpotrf(...) LAPACK_zpotrf_base(__VA_ARGS__)
#endif

#define LAPACK_cpotrf2_base LAPACK_GLOBAL_SUFFIX(cpotrf2,CPOTRF2)
void LAPACK_cpotrf2_base(
    char const* uplo,
    lapack_int const* n,
    lapack_complex_float* A, lapack_int const* lda,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_cpotrf2(...) LAPACK_cpotrf2_base(__VA_ARGS__, 1)
#else
    #define LAPACK_cpotrf2(...) LAPACK_cpotrf2_base(__VA_ARGS__)
#endif

#define LAPACK_dpotrf2_base LAPACK_GLOBAL_SUFFIX(dpotrf2,DPOTRF2)
void LAPACK_dpotrf2_base(
    char const* uplo,
    lapack_int const* n,
    double* A, lapack_int const* lda,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_dpotrf2(...) LAPACK_dpotrf2_base(__VA_ARGS__, 1)
#else
    #define LAPACK_dpotrf2(...) LAPACK_dpotrf2_base(__VA_ARGS__)
#endif

#define LAPACK_spotrf2_base LAPACK_GLOBAL_SUFFIX(spotrf2,SPOTRF2)
void LAPACK_spotrf2_base(
    char const* uplo,
    lapack_int const* n,
    float* A, lapack_int const* lda,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_spotrf2(...) LAPACK_spotrf2_base(__VA_ARGS__, 1)
#else
    #define LAPACK_spotrf2(...) LAPACK_spotrf2_base(__VA_ARGS__)
#endif

#define LAPACK_zpotrf2_base LAPACK_GLOBAL_SUFFIX(zpotrf2,ZPOTRF2)
void LAPACK_zpotrf2_base(
    char const* uplo,
    lapack_int const* n,
    lapack_complex_double* A, lapack_int const* lda,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_zpotrf2(...) LAPACK_zpotrf2_base(__VA_ARGS__, 1)
#else
    #define LAPACK_zpotrf2(...) LAPACK_zpotrf2_base(__VA_ARGS__)
#endif

#define LAPACK_cpotri_base LAPACK_GLOBAL_SUFFIX(cpotri,CPOTRI)
void LAPACK_cpotri_base(
    char const* uplo,
    lapack_int const* n,
    lapack_complex_float* A, lapack_int const* lda,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_cpotri(...) LAPACK_cpotri_base(__VA_ARGS__, 1)
#else
    #define LAPACK_cpotri(...) LAPACK_cpotri_base(__VA_ARGS__)
#endif

#define LAPACK_dpotri_base LAPACK_GLOBAL_SUFFIX(dpotri,DPOTRI)
void LAPACK_dpotri_base(
    char const* uplo,
    lapack_int const* n,
    double* A, lapack_int const* lda,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_dpotri(...) LAPACK_dpotri_base(__VA_ARGS__, 1)
#else
    #define LAPACK_dpotri(...) LAPACK_dpotri_base(__VA_ARGS__)
#endif

#define LAPACK_spotri_base LAPACK_GLOBAL_SUFFIX(spotri,SPOTRI)
void LAPACK_spotri_base(
    char const* uplo,
    lapack_int const* n,
    float* A, lapack_int const* lda,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_spotri(...) LAPACK_spotri_base(__VA_ARGS__, 1)
#else
    #define LAPACK_spotri(...) LAPACK_spotri_base(__VA_ARGS__)
#endif

#define LAPACK_zpotri_base LAPACK_GLOBAL_SUFFIX(zpotri,ZPOTRI)
void LAPACK_zpotri_base(
    char const* uplo,
    lapack_int const* n,
    lapack_complex_double* A, lapack_int const* lda,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_zpotri(...) LAPACK_zpotri_base(__VA_ARGS__, 1)
#else
    #define LAPACK_zpotri(...) LAPACK_zpotri_base(__VA_ARGS__)
#endif

#define LAPACK_cpotrs_base LAPACK_GLOBAL_SUFFIX(cpotrs,CPOTRS)
void LAPACK_cpotrs_base(
    char const* uplo,
    lapack_int const* n, lapack_int const* nrhs,
    lapack_complex_float const* A, lapack_int const* lda,
    lapack_complex_float* B, lapack_int const* ldb,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_cpotrs(...) LAPACK_cpotrs_base(__VA_ARGS__, 1)
#else
    #define LAPACK_cpotrs(...) LAPACK_cpotrs_base(__VA_ARGS__)
#endif

#define LAPACK_dpotrs_base LAPACK_GLOBAL_SUFFIX(dpotrs,DPOTRS)
void LAPACK_dpotrs_base(
    char const* uplo,
    lapack_int const* n, lapack_int const* nrhs,
    double const* A, lapack_int const* lda,
    double* B, lapack_int const* ldb,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_dpotrs(...) LAPACK_dpotrs_base(__VA_ARGS__, 1)
#else
    #define LAPACK_dpotrs(...) LAPACK_dpotrs_base(__VA_ARGS__)
#endif

#define LAPACK_spotrs_base LAPACK_GLOBAL_SUFFIX(spotrs,SPOTRS)
void LAPACK_spotrs_base(
    char const* uplo,
    lapack_int const* n, lapack_int const* nrhs,
    float const* A, lapack_int const* lda,
    float* B, lapack_int const* ldb,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_spotrs(...) LAPACK_spotrs_base(__VA_ARGS__, 1)
#else
    #define LAPACK_spotrs(...) LAPACK_spotrs_base(__VA_ARGS__)
#endif

#define LAPACK_zpotrs_base LAPACK_GLOBAL_SUFFIX(zpotrs,ZPOTRS)
void LAPACK_zpotrs_base(
    char const* uplo,
    lapack_int const* n, lapack_int const* nrhs,
    lapack_complex_double const* A, lapack_int const* lda,
    lapack_complex_double* B, lapack_int const* ldb,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_zpotrs(...) LAPACK_zpotrs_base(__VA_ARGS__, 1)
#else
    #define LAPACK_zpotrs(...) LAPACK_zpotrs_base(__VA_ARGS__)
#endif

#define LAPACK_cppcon_base LAPACK_GLOBAL_SUFFIX(cppcon,CPPCON)
void LAPACK_cppcon_base(
    char const* uplo,
    lapack_int const* n,
    lapack_complex_float const* AP,
    float const* anorm,
    float* rcond,
    lapack_complex_float* work,
    float* rwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_cppcon(...) LAPACK_cppcon_base(__VA_ARGS__, 1)
#else
    #define LAPACK_cppcon(...) LAPACK_cppcon_base(__VA_ARGS__)
#endif

#define LAPACK_dppcon_base LAPACK_GLOBAL_SUFFIX(dppcon,DPPCON)
void LAPACK_dppcon_base(
    char const* uplo,
    lapack_int const* n,
    double const* AP,
    double const* anorm,
    double* rcond,
    double* work,
    lapack_int* iwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_dppcon(...) LAPACK_dppcon_base(__VA_ARGS__, 1)
#else
    #define LAPACK_dppcon(...) LAPACK_dppcon_base(__VA_ARGS__)
#endif

#define LAPACK_sppcon_base LAPACK_GLOBAL_SUFFIX(sppcon,SPPCON)
void LAPACK_sppcon_base(
    char const* uplo,
    lapack_int const* n,
    float const* AP,
    float const* anorm,
    float* rcond,
    float* work,
    lapack_int* iwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_sppcon(...) LAPACK_sppcon_base(__VA_ARGS__, 1)
#else
    #define LAPACK_sppcon(...) LAPACK_sppcon_base(__VA_ARGS__)
#endif

#define LAPACK_zppcon_base LAPACK_GLOBAL_SUFFIX(zppcon,ZPPCON)
void LAPACK_zppcon_base(
    char const* uplo,
    lapack_int const* n,
    lapack_complex_double const* AP,
    double const* anorm,
    double* rcond,
    lapack_complex_double* work,
    double* rwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_zppcon(...) LAPACK_zppcon_base(__VA_ARGS__, 1)
#else
    #define LAPACK_zppcon(...) LAPACK_zppcon_base(__VA_ARGS__)
#endif

#define LAPACK_cppequ_base LAPACK_GLOBAL_SUFFIX(cppequ,CPPEQU)
void LAPACK_cppequ_base(
    char const* uplo,
    lapack_int const* n,
    lapack_complex_float const* AP,
    float* S,
    float* scond,
    float* amax,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_cppequ(...) LAPACK_cppequ_base(__VA_ARGS__, 1)
#else
    #define LAPACK_cppequ(...) LAPACK_cppequ_base(__VA_ARGS__)
#endif

#define LAPACK_dppequ_base LAPACK_GLOBAL_SUFFIX(dppequ,DPPEQU)
void LAPACK_dppequ_base(
    char const* uplo,
    lapack_int const* n,
    double const* AP,
    double* S,
    double* scond,
    double* amax,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_dppequ(...) LAPACK_dppequ_base(__VA_ARGS__, 1)
#else
    #define LAPACK_dppequ(...) LAPACK_dppequ_base(__VA_ARGS__)
#endif

#define LAPACK_sppequ_base LAPACK_GLOBAL_SUFFIX(sppequ,SPPEQU)
void LAPACK_sppequ_base(
    char const* uplo,
    lapack_int const* n,
    float const* AP,
    float* S,
    float* scond,
    float* amax,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_sppequ(...) LAPACK_sppequ_base(__VA_ARGS__, 1)
#else
    #define LAPACK_sppequ(...) LAPACK_sppequ_base(__VA_ARGS__)
#endif

#define LAPACK_zppequ_base LAPACK_GLOBAL_SUFFIX(zppequ,ZPPEQU)
void LAPACK_zppequ_base(
    char const* uplo,
    lapack_int const* n,
    lapack_complex_double const* AP,
    double* S,
    double* scond,
    double* amax,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_zppequ(...) LAPACK_zppequ_base(__VA_ARGS__, 1)
#else
    #define LAPACK_zppequ(...) LAPACK_zppequ_base(__VA_ARGS__)
#endif

#define LAPACK_cpprfs_base LAPACK_GLOBAL_SUFFIX(cpprfs,CPPRFS)
void LAPACK_cpprfs_base(
    char const* uplo,
    lapack_int const* n, lapack_int const* nrhs,
    lapack_complex_float const* AP,
    lapack_complex_float const* AFP,
    lapack_complex_float const* B, lapack_int const* ldb,
    lapack_complex_float* X, lapack_int const* ldx,
    float* ferr,
    float* berr,
    lapack_complex_float* work,
    float* rwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_cpprfs(...) LAPACK_cpprfs_base(__VA_ARGS__, 1)
#else
    #define LAPACK_cpprfs(...) LAPACK_cpprfs_base(__VA_ARGS__)
#endif

#define LAPACK_dpprfs_base LAPACK_GLOBAL_SUFFIX(dpprfs,DPPRFS)
void LAPACK_dpprfs_base(
    char const* uplo,
    lapack_int const* n, lapack_int const* nrhs,
    double const* AP,
    double const* AFP,
    double const* B, lapack_int const* ldb,
    double* X, lapack_int const* ldx,
    double* ferr,
    double* berr,
    double* work,
    lapack_int* iwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_dpprfs(...) LAPACK_dpprfs_base(__VA_ARGS__, 1)
#else
    #define LAPACK_dpprfs(...) LAPACK_dpprfs_base(__VA_ARGS__)
#endif

#define LAPACK_spprfs_base LAPACK_GLOBAL_SUFFIX(spprfs,SPPRFS)
void LAPACK_spprfs_base(
    char const* uplo,
    lapack_int const* n, lapack_int const* nrhs,
    float const* AP,
    float const* AFP,
    float const* B, lapack_int const* ldb,
    float* X, lapack_int const* ldx,
    float* ferr,
    float* berr,
    float* work,
    lapack_int* iwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_spprfs(...) LAPACK_spprfs_base(__VA_ARGS__, 1)
#else
    #define LAPACK_spprfs(...) LAPACK_spprfs_base(__VA_ARGS__)
#endif

#define LAPACK_zpprfs_base LAPACK_GLOBAL_SUFFIX(zpprfs,ZPPRFS)
void LAPACK_zpprfs_base(
    char const* uplo,
    lapack_int const* n, lapack_int const* nrhs,
    lapack_complex_double const* AP,
    lapack_complex_double const* AFP,
    lapack_complex_double const* B, lapack_int const* ldb,
    lapack_complex_double* X, lapack_int const* ldx,
    double* ferr,
    double* berr,
    lapack_complex_double* work,
    double* rwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_zpprfs(...) LAPACK_zpprfs_base(__VA_ARGS__, 1)
#else
    #define LAPACK_zpprfs(...) LAPACK_zpprfs_base(__VA_ARGS__)
#endif

#define LAPACK_cppsv_base LAPACK_GLOBAL_SUFFIX(cppsv,CPPSV)
void LAPACK_cppsv_base(
    char const* uplo,
    lapack_int const* n, lapack_int const* nrhs,
    lapack_complex_float* AP,
    lapack_complex_float* B, lapack_int const* ldb,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_cppsv(...) LAPACK_cppsv_base(__VA_ARGS__, 1)
#else
    #define LAPACK_cppsv(...) LAPACK_cppsv_base(__VA_ARGS__)
#endif

#define LAPACK_dppsv_base LAPACK_GLOBAL_SUFFIX(dppsv,DPPSV)
void LAPACK_dppsv_base(
    char const* uplo,
    lapack_int const* n, lapack_int const* nrhs,
    double* AP,
    double* B, lapack_int const* ldb,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_dppsv(...) LAPACK_dppsv_base(__VA_ARGS__, 1)
#else
    #define LAPACK_dppsv(...) LAPACK_dppsv_base(__VA_ARGS__)
#endif

#define LAPACK_sppsv_base LAPACK_GLOBAL_SUFFIX(sppsv,SPPSV)
void LAPACK_sppsv_base(
    char const* uplo,
    lapack_int const* n, lapack_int const* nrhs,
    float* AP,
    float* B, lapack_int const* ldb,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_sppsv(...) LAPACK_sppsv_base(__VA_ARGS__, 1)
#else
    #define LAPACK_sppsv(...) LAPACK_sppsv_base(__VA_ARGS__)
#endif

#define LAPACK_zppsv_base LAPACK_GLOBAL_SUFFIX(zppsv,ZPPSV)
void LAPACK_zppsv_base(
    char const* uplo,
    lapack_int const* n, lapack_int const* nrhs,
    lapack_complex_double* AP,
    lapack_complex_double* B, lapack_int const* ldb,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_zppsv(...) LAPACK_zppsv_base(__VA_ARGS__, 1)
#else
    #define LAPACK_zppsv(...) LAPACK_zppsv_base(__VA_ARGS__)
#endif

#define LAPACK_cppsvx_base LAPACK_GLOBAL_SUFFIX(cppsvx,CPPSVX)
void LAPACK_cppsvx_base(
    char const* fact, char const* uplo,
    lapack_int const* n, lapack_int const* nrhs,
    lapack_complex_float* AP,
    lapack_complex_float* AFP, char* equed,
    float* S,
    lapack_complex_float* B,
    lapack_int const* ldb,
    lapack_complex_float* X, lapack_int const* ldx,
    float* rcond,
    float* ferr,
    float* berr,
    lapack_complex_float* work,
    float* rwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_cppsvx(...) LAPACK_cppsvx_base(__VA_ARGS__, 1, 1, 1)
#else
    #define LAPACK_cppsvx(...) LAPACK_cppsvx_base(__VA_ARGS__)
#endif

#define LAPACK_dppsvx_base LAPACK_GLOBAL_SUFFIX(dppsvx,DPPSVX)
void LAPACK_dppsvx_base(
    char const* fact, char const* uplo,
    lapack_int const* n, lapack_int const* nrhs,
    double* AP,
    double* AFP, char* equed,
    double* S,
    double* B,
    lapack_int const* ldb,
    double* X, lapack_int const* ldx,
    double* rcond,
    double* ferr,
    double* berr,
    double* work,
    lapack_int* iwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_dppsvx(...) LAPACK_dppsvx_base(__VA_ARGS__, 1, 1, 1)
#else
    #define LAPACK_dppsvx(...) LAPACK_dppsvx_base(__VA_ARGS__)
#endif

#define LAPACK_sppsvx_base LAPACK_GLOBAL_SUFFIX(sppsvx,SPPSVX)
void LAPACK_sppsvx_base(
    char const* fact, char const* uplo,
    lapack_int const* n, lapack_int const* nrhs,
    float* AP,
    float* AFP, char* equed,
    float* S,
    float* B,
    lapack_int const* ldb,
    float* X, lapack_int const* ldx,
    float* rcond,
    float* ferr,
    float* berr,
    float* work,
    lapack_int* iwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_sppsvx(...) LAPACK_sppsvx_base(__VA_ARGS__, 1, 1, 1)
#else
    #define LAPACK_sppsvx(...) LAPACK_sppsvx_base(__VA_ARGS__)
#endif

#define LAPACK_zppsvx_base LAPACK_GLOBAL_SUFFIX(zppsvx,ZPPSVX)
void LAPACK_zppsvx_base(
    char const* fact, char const* uplo,
    lapack_int const* n, lapack_int const* nrhs,
    lapack_complex_double* AP,
    lapack_complex_double* AFP, char* equed,
    double* S,
    lapack_complex_double* B,
    lapack_int const* ldb,
    lapack_complex_double* X, lapack_int const* ldx,
    double* rcond,
    double* ferr,
    double* berr,
    lapack_complex_double* work,
    double* rwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_zppsvx(...) LAPACK_zppsvx_base(__VA_ARGS__, 1, 1, 1)
#else
    #define LAPACK_zppsvx(...) LAPACK_zppsvx_base(__VA_ARGS__)
#endif

#define LAPACK_cpptrf_base LAPACK_GLOBAL_SUFFIX(cpptrf,CPPTRF)
void LAPACK_cpptrf_base(
    char const* uplo,
    lapack_int const* n,
    lapack_complex_float* AP,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_cpptrf(...) LAPACK_cpptrf_base(__VA_ARGS__, 1)
#else
    #define LAPACK_cpptrf(...) LAPACK_cpptrf_base(__VA_ARGS__)
#endif

#define LAPACK_dpptrf_base LAPACK_GLOBAL_SUFFIX(dpptrf,DPPTRF)
void LAPACK_dpptrf_base(
    char const* uplo,
    lapack_int const* n,
    double* AP,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_dpptrf(...) LAPACK_dpptrf_base(__VA_ARGS__, 1)
#else
    #define LAPACK_dpptrf(...) LAPACK_dpptrf_base(__VA_ARGS__)
#endif

#define LAPACK_spptrf_base LAPACK_GLOBAL_SUFFIX(spptrf,SPPTRF)
void LAPACK_spptrf_base(
    char const* uplo,
    lapack_int const* n,
    float* AP,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_spptrf(...) LAPACK_spptrf_base(__VA_ARGS__, 1)
#else
    #define LAPACK_spptrf(...) LAPACK_spptrf_base(__VA_ARGS__)
#endif

#define LAPACK_zpptrf_base LAPACK_GLOBAL_SUFFIX(zpptrf,ZPPTRF)
void LAPACK_zpptrf_base(
    char const* uplo,
    lapack_int const* n,
    lapack_complex_double* AP,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_zpptrf(...) LAPACK_zpptrf_base(__VA_ARGS__, 1)
#else
    #define LAPACK_zpptrf(...) LAPACK_zpptrf_base(__VA_ARGS__)
#endif

#define LAPACK_cpptri_base LAPACK_GLOBAL_SUFFIX(cpptri,CPPTRI)
void LAPACK_cpptri_base(
    char const* uplo,
    lapack_int const* n,
    lapack_complex_float* AP,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_cpptri(...) LAPACK_cpptri_base(__VA_ARGS__, 1)
#else
    #define LAPACK_cpptri(...) LAPACK_cpptri_base(__VA_ARGS__)
#endif

#define LAPACK_dpptri_base LAPACK_GLOBAL_SUFFIX(dpptri,DPPTRI)
void LAPACK_dpptri_base(
    char const* uplo,
    lapack_int const* n,
    double* AP,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_dpptri(...) LAPACK_dpptri_base(__VA_ARGS__, 1)
#else
    #define LAPACK_dpptri(...) LAPACK_dpptri_base(__VA_ARGS__)
#endif

#define LAPACK_spptri_base LAPACK_GLOBAL_SUFFIX(spptri,SPPTRI)
void LAPACK_spptri_base(
    char const* uplo,
    lapack_int const* n,
    float* AP,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_spptri(...) LAPACK_spptri_base(__VA_ARGS__, 1)
#else
    #define LAPACK_spptri(...) LAPACK_spptri_base(__VA_ARGS__)
#endif

#define LAPACK_zpptri_base LAPACK_GLOBAL_SUFFIX(zpptri,ZPPTRI)
void LAPACK_zpptri_base(
    char const* uplo,
    lapack_int const* n,
    lapack_complex_double* AP,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_zpptri(...) LAPACK_zpptri_base(__VA_ARGS__, 1)
#else
    #define LAPACK_zpptri(...) LAPACK_zpptri_base(__VA_ARGS__)
#endif

#define LAPACK_cpptrs_base LAPACK_GLOBAL_SUFFIX(cpptrs,CPPTRS)
void LAPACK_cpptrs_base(
    char const* uplo,
    lapack_int const* n, lapack_int const* nrhs,
    lapack_complex_float const* AP,
    lapack_complex_float* B, lapack_int const* ldb,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_cpptrs(...) LAPACK_cpptrs_base(__VA_ARGS__, 1)
#else
    #define LAPACK_cpptrs(...) LAPACK_cpptrs_base(__VA_ARGS__)
#endif

#define LAPACK_dpptrs_base LAPACK_GLOBAL_SUFFIX(dpptrs,DPPTRS)
void LAPACK_dpptrs_base(
    char const* uplo,
    lapack_int const* n, lapack_int const* nrhs,
    double const* AP,
    double* B, lapack_int const* ldb,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_dpptrs(...) LAPACK_dpptrs_base(__VA_ARGS__, 1)
#else
    #define LAPACK_dpptrs(...) LAPACK_dpptrs_base(__VA_ARGS__)
#endif

#define LAPACK_spptrs_base LAPACK_GLOBAL_SUFFIX(spptrs,SPPTRS)
void LAPACK_spptrs_base(
    char const* uplo,
    lapack_int const* n, lapack_int const* nrhs,
    float const* AP,
    float* B, lapack_int const* ldb,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_spptrs(...) LAPACK_spptrs_base(__VA_ARGS__, 1)
#else
    #define LAPACK_spptrs(...) LAPACK_spptrs_base(__VA_ARGS__)
#endif

#define LAPACK_zpptrs_base LAPACK_GLOBAL_SUFFIX(zpptrs,ZPPTRS)
void LAPACK_zpptrs_base(
    char const* uplo,
    lapack_int const* n, lapack_int const* nrhs,
    lapack_complex_double const* AP,
    lapack_complex_double* B, lapack_int const* ldb,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_zpptrs(...) LAPACK_zpptrs_base(__VA_ARGS__, 1)
#else
    #define LAPACK_zpptrs(...) LAPACK_zpptrs_base(__VA_ARGS__)
#endif

#define LAPACK_cpstrf_base LAPACK_GLOBAL_SUFFIX(cpstrf,CPSTRF)
void LAPACK_cpstrf_base(
    char const* uplo,
    lapack_int const* n,
    lapack_complex_float* A, lapack_int const* lda, lapack_int* piv, lapack_int* rank,
    float const* tol,
    float* work,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_cpstrf(...) LAPACK_cpstrf_base(__VA_ARGS__, 1)
#else
    #define LAPACK_cpstrf(...) LAPACK_cpstrf_base(__VA_ARGS__)
#endif

#define LAPACK_dpstrf_base LAPACK_GLOBAL_SUFFIX(dpstrf,DPSTRF)
void LAPACK_dpstrf_base(
    char const* uplo,
    lapack_int const* n,
    double* A, lapack_int const* lda, lapack_int* piv, lapack_int* rank,
    double const* tol,
    double* work,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_dpstrf(...) LAPACK_dpstrf_base(__VA_ARGS__, 1)
#else
    #define LAPACK_dpstrf(...) LAPACK_dpstrf_base(__VA_ARGS__)
#endif

#define LAPACK_spstrf_base LAPACK_GLOBAL_SUFFIX(spstrf,SPSTRF)
void LAPACK_spstrf_base(
    char const* uplo,
    lapack_int const* n,
    float* A, lapack_int const* lda, lapack_int* piv, lapack_int* rank,
    float const* tol,
    float* work,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_spstrf(...) LAPACK_spstrf_base(__VA_ARGS__, 1)
#else
    #define LAPACK_spstrf(...) LAPACK_spstrf_base(__VA_ARGS__)
#endif

#define LAPACK_zpstrf_base LAPACK_GLOBAL_SUFFIX(zpstrf,ZPSTRF)
void LAPACK_zpstrf_base(
    char const* uplo,
    lapack_int const* n,
    lapack_complex_double* A, lapack_int const* lda, lapack_int* piv, lapack_int* rank,
    double const* tol,
    double* work,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_zpstrf(...) LAPACK_zpstrf_base(__VA_ARGS__, 1)
#else
    #define LAPACK_zpstrf(...) LAPACK_zpstrf_base(__VA_ARGS__)
#endif

#define LAPACK_cptcon LAPACK_GLOBAL_SUFFIX(cptcon,CPTCON)
void LAPACK_cptcon(
    lapack_int const* n,
    float const* D,
    lapack_complex_float const* E,
    float const* anorm,
    float* rcond,
    float* rwork,
    lapack_int* info );

#define LAPACK_dptcon LAPACK_GLOBAL_SUFFIX(dptcon,DPTCON)
void LAPACK_dptcon(
    lapack_int const* n,
    double const* D,
    double const* E,
    double const* anorm,
    double* rcond,
    double* work,
    lapack_int* info );

#define LAPACK_sptcon LAPACK_GLOBAL_SUFFIX(sptcon,SPTCON)
void LAPACK_sptcon(
    lapack_int const* n,
    float const* D,
    float const* E,
    float const* anorm,
    float* rcond,
    float* work,
    lapack_int* info );

#define LAPACK_zptcon LAPACK_GLOBAL_SUFFIX(zptcon,ZPTCON)
void LAPACK_zptcon(
    lapack_int const* n,
    double const* D,
    lapack_complex_double const* E,
    double const* anorm,
    double* rcond,
    double* rwork,
    lapack_int* info );

#define LAPACK_cpteqr_base LAPACK_GLOBAL_SUFFIX(cpteqr,CPTEQR)
void LAPACK_cpteqr_base(
    char const* compz,
    lapack_int const* n,
    float* D,
    float* E,
    lapack_complex_float* Z, lapack_int const* ldz,
    float* work,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_cpteqr(...) LAPACK_cpteqr_base(__VA_ARGS__, 1)
#else
    #define LAPACK_cpteqr(...) LAPACK_cpteqr_base(__VA_ARGS__)
#endif

#define LAPACK_dpteqr_base LAPACK_GLOBAL_SUFFIX(dpteqr,DPTEQR)
void LAPACK_dpteqr_base(
    char const* compz,
    lapack_int const* n,
    double* D,
    double* E,
    double* Z, lapack_int const* ldz,
    double* work,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_dpteqr(...) LAPACK_dpteqr_base(__VA_ARGS__, 1)
#else
    #define LAPACK_dpteqr(...) LAPACK_dpteqr_base(__VA_ARGS__)
#endif

#define LAPACK_spteqr_base LAPACK_GLOBAL_SUFFIX(spteqr,SPTEQR)
void LAPACK_spteqr_base(
    char const* compz,
    lapack_int const* n,
    float* D,
    float* E,
    float* Z, lapack_int const* ldz,
    float* work,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_spteqr(...) LAPACK_spteqr_base(__VA_ARGS__, 1)
#else
    #define LAPACK_spteqr(...) LAPACK_spteqr_base(__VA_ARGS__)
#endif

#define LAPACK_zpteqr_base LAPACK_GLOBAL_SUFFIX(zpteqr,ZPTEQR)
void LAPACK_zpteqr_base(
    char const* compz,
    lapack_int const* n,
    double* D,
    double* E,
    lapack_complex_double* Z, lapack_int const* ldz,
    double* work,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_zpteqr(...) LAPACK_zpteqr_base(__VA_ARGS__, 1)
#else
    #define LAPACK_zpteqr(...) LAPACK_zpteqr_base(__VA_ARGS__)
#endif

#define LAPACK_cptrfs_base LAPACK_GLOBAL_SUFFIX(cptrfs,CPTRFS)
void LAPACK_cptrfs_base(
    char const* uplo,
    lapack_int const* n, lapack_int const* nrhs,
    float const* D,
    lapack_complex_float const* E,
    float const* DF,
    lapack_complex_float const* EF,
    lapack_complex_float const* B, lapack_int const* ldb,
    lapack_complex_float* X, lapack_int const* ldx,
    float* ferr,
    float* berr,
    lapack_complex_float* work,
    float* rwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_cptrfs(...) LAPACK_cptrfs_base(__VA_ARGS__, 1)
#else
    #define LAPACK_cptrfs(...) LAPACK_cptrfs_base(__VA_ARGS__)
#endif

#define LAPACK_dptrfs LAPACK_GLOBAL_SUFFIX(dptrfs,DPTRFS)
void LAPACK_dptrfs(
    lapack_int const* n, lapack_int const* nrhs,
    double const* D,
    double const* E,
    double const* DF,
    double const* EF,
    double const* B, lapack_int const* ldb,
    double* X, lapack_int const* ldx,
    double* ferr,
    double* berr,
    double* work,
    lapack_int* info );

#define LAPACK_sptrfs LAPACK_GLOBAL_SUFFIX(sptrfs,SPTRFS)
void LAPACK_sptrfs(
    lapack_int const* n, lapack_int const* nrhs,
    float const* D,
    float const* E,
    float const* DF,
    float const* EF,
    float const* B, lapack_int const* ldb,
    float* X, lapack_int const* ldx,
    float* ferr,
    float* berr,
    float* work,
    lapack_int* info );

#define LAPACK_zptrfs_base LAPACK_GLOBAL_SUFFIX(zptrfs,ZPTRFS)
void LAPACK_zptrfs_base(
    char const* uplo,
    lapack_int const* n, lapack_int const* nrhs,
    double const* D,
    lapack_complex_double const* E,
    double const* DF,
    lapack_complex_double const* EF,
    lapack_complex_double const* B, lapack_int const* ldb,
    lapack_complex_double* X, lapack_int const* ldx,
    double* ferr,
    double* berr,
    lapack_complex_double* work,
    double* rwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_zptrfs(...) LAPACK_zptrfs_base(__VA_ARGS__, 1)
#else
    #define LAPACK_zptrfs(...) LAPACK_zptrfs_base(__VA_ARGS__)
#endif

#define LAPACK_cptsv LAPACK_GLOBAL_SUFFIX(cptsv,CPTSV)
void LAPACK_cptsv(
    lapack_int const* n, lapack_int const* nrhs,
    float* D,
    lapack_complex_float* E,
    lapack_complex_float* B, lapack_int const* ldb,
    lapack_int* info );

#define LAPACK_dptsv LAPACK_GLOBAL_SUFFIX(dptsv,DPTSV)
void LAPACK_dptsv(
    lapack_int const* n, lapack_int const* nrhs,
    double* D,
    double* E,
    double* B, lapack_int const* ldb,
    lapack_int* info );

#define LAPACK_sptsv LAPACK_GLOBAL_SUFFIX(sptsv,SPTSV)
void LAPACK_sptsv(
    lapack_int const* n, lapack_int const* nrhs,
    float* D,
    float* E,
    float* B, lapack_int const* ldb,
    lapack_int* info );

#define LAPACK_zptsv LAPACK_GLOBAL_SUFFIX(zptsv,ZPTSV)
void LAPACK_zptsv(
    lapack_int const* n, lapack_int const* nrhs,
    double* D,
    lapack_complex_double* E,
    lapack_complex_double* B, lapack_int const* ldb,
    lapack_int* info );

#define LAPACK_cptsvx_base LAPACK_GLOBAL_SUFFIX(cptsvx,CPTSVX)
void LAPACK_cptsvx_base(
    char const* fact,
    lapack_int const* n, lapack_int const* nrhs,
    float const* D,
    lapack_complex_float const* E,
    float* DF,
    lapack_complex_float* EF,
    lapack_complex_float const* B, lapack_int const* ldb,
    lapack_complex_float* X, lapack_int const* ldx,
    float* rcond,
    float* ferr,
    float* berr,
    lapack_complex_float* work,
    float* rwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_cptsvx(...) LAPACK_cptsvx_base(__VA_ARGS__, 1)
#else
    #define LAPACK_cptsvx(...) LAPACK_cptsvx_base(__VA_ARGS__)
#endif

#define LAPACK_dptsvx_base LAPACK_GLOBAL_SUFFIX(dptsvx,DPTSVX)
void LAPACK_dptsvx_base(
    char const* fact,
    lapack_int const* n, lapack_int const* nrhs,
    double const* D,
    double const* E,
    double* DF,
    double* EF,
    double const* B, lapack_int const* ldb,
    double* X, lapack_int const* ldx,
    double* rcond,
    double* ferr,
    double* berr,
    double* work,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_dptsvx(...) LAPACK_dptsvx_base(__VA_ARGS__, 1)
#else
    #define LAPACK_dptsvx(...) LAPACK_dptsvx_base(__VA_ARGS__)
#endif

#define LAPACK_sptsvx_base LAPACK_GLOBAL_SUFFIX(sptsvx,SPTSVX)
void LAPACK_sptsvx_base(
    char const* fact,
    lapack_int const* n, lapack_int const* nrhs,
    float const* D,
    float const* E,
    float* DF,
    float* EF,
    float const* B, lapack_int const* ldb,
    float* X, lapack_int const* ldx,
    float* rcond,
    float* ferr,
    float* berr,
    float* work,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_sptsvx(...) LAPACK_sptsvx_base(__VA_ARGS__, 1)
#else
    #define LAPACK_sptsvx(...) LAPACK_sptsvx_base(__VA_ARGS__)
#endif

#define LAPACK_zptsvx_base LAPACK_GLOBAL_SUFFIX(zptsvx,ZPTSVX)
void LAPACK_zptsvx_base(
    char const* fact,
    lapack_int const* n, lapack_int const* nrhs,
    double const* D,
    lapack_complex_double const* E,
    double* DF,
    lapack_complex_double* EF,
    lapack_complex_double const* B, lapack_int const* ldb,
    lapack_complex_double* X, lapack_int const* ldx,
    double* rcond,
    double* ferr,
    double* berr,
    lapack_complex_double* work,
    double* rwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_zptsvx(...) LAPACK_zptsvx_base(__VA_ARGS__, 1)
#else
    #define LAPACK_zptsvx(...) LAPACK_zptsvx_base(__VA_ARGS__)
#endif

#define LAPACK_cpttrf LAPACK_GLOBAL_SUFFIX(cpttrf,CPTTRF)
void LAPACK_cpttrf(
    lapack_int const* n,
    float* D,
    lapack_complex_float* E,
    lapack_int* info );

#define LAPACK_dpttrf LAPACK_GLOBAL_SUFFIX(dpttrf,DPTTRF)
void LAPACK_dpttrf(
    lapack_int const* n,
    double* D,
    double* E,
    lapack_int* info );

#define LAPACK_spttrf LAPACK_GLOBAL_SUFFIX(spttrf,SPTTRF)
void LAPACK_spttrf(
    lapack_int const* n,
    float* D,
    float* E,
    lapack_int* info );

#define LAPACK_zpttrf LAPACK_GLOBAL_SUFFIX(zpttrf,ZPTTRF)
void LAPACK_zpttrf(
    lapack_int const* n,
    double* D,
    lapack_complex_double* E,
    lapack_int* info );

#define LAPACK_cpttrs_base LAPACK_GLOBAL_SUFFIX(cpttrs,CPTTRS)
void LAPACK_cpttrs_base(
    char const* uplo,
    lapack_int const* n, lapack_int const* nrhs,
    float const* D,
    lapack_complex_float const* E,
    lapack_complex_float* B, lapack_int const* ldb,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_cpttrs(...) LAPACK_cpttrs_base(__VA_ARGS__, 1)
#else
    #define LAPACK_cpttrs(...) LAPACK_cpttrs_base(__VA_ARGS__)
#endif

#define LAPACK_dpttrs LAPACK_GLOBAL_SUFFIX(dpttrs,DPTTRS)
void LAPACK_dpttrs(
    lapack_int const* n, lapack_int const* nrhs,
    double const* D,
    double const* E,
    double* B, lapack_int const* ldb,
    lapack_int* info );

#define LAPACK_spttrs LAPACK_GLOBAL_SUFFIX(spttrs,SPTTRS)
void LAPACK_spttrs(
    lapack_int const* n, lapack_int const* nrhs,
    float const* D,
    float const* E,
    float* B, lapack_int const* ldb,
    lapack_int* info );

#define LAPACK_zpttrs_base LAPACK_GLOBAL_SUFFIX(zpttrs,ZPTTRS)
void LAPACK_zpttrs_base(
    char const* uplo,
    lapack_int const* n, lapack_int const* nrhs,
    double const* D,
    lapack_complex_double const* E,
    lapack_complex_double* B, lapack_int const* ldb,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_zpttrs(...) LAPACK_zpttrs_base(__VA_ARGS__, 1)
#else
    #define LAPACK_zpttrs(...) LAPACK_zpttrs_base(__VA_ARGS__)
#endif

#define LAPACK_dsbev_base LAPACK_GLOBAL_SUFFIX(dsbev,DSBEV)
void LAPACK_dsbev_base(
    char const* jobz, char const* uplo,
    lapack_int const* n, lapack_int const* kd,
    double* AB, lapack_int const* ldab,
    double* W,
    double* Z, lapack_int const* ldz,
    double* work,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_dsbev(...) LAPACK_dsbev_base(__VA_ARGS__, 1, 1)
#else
    #define LAPACK_dsbev(...) LAPACK_dsbev_base(__VA_ARGS__)
#endif

#define LAPACK_ssbev_base LAPACK_GLOBAL_SUFFIX(ssbev,SSBEV)
void LAPACK_ssbev_base(
    char const* jobz, char const* uplo,
    lapack_int const* n, lapack_int const* kd,
    float* AB, lapack_int const* ldab,
    float* W,
    float* Z, lapack_int const* ldz,
    float* work,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_ssbev(...) LAPACK_ssbev_base(__VA_ARGS__, 1, 1)
#else
    #define LAPACK_ssbev(...) LAPACK_ssbev_base(__VA_ARGS__)
#endif

#define LAPACK_dsbev_2stage_base LAPACK_GLOBAL_SUFFIX(dsbev_2stage,DSBEV_2STAGE)
void LAPACK_dsbev_2stage_base(
    char const* jobz, char const* uplo,
    lapack_int const* n, lapack_int const* kd,
    double* AB, lapack_int const* ldab,
    double* W,
    double* Z, lapack_int const* ldz,
    double* work, lapack_int const* lwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_dsbev_2stage(...) LAPACK_dsbev_2stage_base(__VA_ARGS__, 1, 1)
#else
    #define LAPACK_dsbev_2stage(...) LAPACK_dsbev_2stage_base(__VA_ARGS__)
#endif

#define LAPACK_ssbev_2stage_base LAPACK_GLOBAL_SUFFIX(ssbev_2stage,SSBEV_2STAGE)
void LAPACK_ssbev_2stage_base(
    char const* jobz, char const* uplo,
    lapack_int const* n, lapack_int const* kd,
    float* AB, lapack_int const* ldab,
    float* W,
    float* Z, lapack_int const* ldz,
    float* work, lapack_int const* lwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_ssbev_2stage(...) LAPACK_ssbev_2stage_base(__VA_ARGS__, 1, 1)
#else
    #define LAPACK_ssbev_2stage(...) LAPACK_ssbev_2stage_base(__VA_ARGS__)
#endif

#define LAPACK_dsbevd_base LAPACK_GLOBAL_SUFFIX(dsbevd,DSBEVD)
void LAPACK_dsbevd_base(
    char const* jobz, char const* uplo,
    lapack_int const* n, lapack_int const* kd,
    double* AB, lapack_int const* ldab,
    double* W,
    double* Z, lapack_int const* ldz,
    double* work, lapack_int const* lwork,
    lapack_int* iwork, lapack_int const* liwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_dsbevd(...) LAPACK_dsbevd_base(__VA_ARGS__, 1, 1)
#else
    #define LAPACK_dsbevd(...) LAPACK_dsbevd_base(__VA_ARGS__)
#endif

#define LAPACK_ssbevd_base LAPACK_GLOBAL_SUFFIX(ssbevd,SSBEVD)
void LAPACK_ssbevd_base(
    char const* jobz, char const* uplo,
    lapack_int const* n, lapack_int const* kd,
    float* AB, lapack_int const* ldab,
    float* W,
    float* Z, lapack_int const* ldz,
    float* work, lapack_int const* lwork,
    lapack_int* iwork, lapack_int const* liwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_ssbevd(...) LAPACK_ssbevd_base(__VA_ARGS__, 1, 1)
#else
    #define LAPACK_ssbevd(...) LAPACK_ssbevd_base(__VA_ARGS__)
#endif

#define LAPACK_dsbevd_2stage_base LAPACK_GLOBAL_SUFFIX(dsbevd_2stage,DSBEVD_2STAGE)
void LAPACK_dsbevd_2stage_base(
    char const* jobz, char const* uplo,
    lapack_int const* n, lapack_int const* kd,
    double* AB, lapack_int const* ldab,
    double* W,
    double* Z, lapack_int const* ldz,
    double* work, lapack_int const* lwork,
    lapack_int* iwork, lapack_int const* liwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_dsbevd_2stage(...) LAPACK_dsbevd_2stage_base(__VA_ARGS__, 1, 1)
#else
    #define LAPACK_dsbevd_2stage(...) LAPACK_dsbevd_2stage_base(__VA_ARGS__)
#endif

#define LAPACK_ssbevd_2stage_base LAPACK_GLOBAL_SUFFIX(ssbevd_2stage,SSBEVD_2STAGE)
void LAPACK_ssbevd_2stage_base(
    char const* jobz, char const* uplo,
    lapack_int const* n, lapack_int const* kd,
    float* AB, lapack_int const* ldab,
    float* W,
    float* Z, lapack_int const* ldz,
    float* work, lapack_int const* lwork,
    lapack_int* iwork, lapack_int const* liwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_ssbevd_2stage(...) LAPACK_ssbevd_2stage_base(__VA_ARGS__, 1, 1)
#else
    #define LAPACK_ssbevd_2stage(...) LAPACK_ssbevd_2stage_base(__VA_ARGS__)
#endif

#define LAPACK_dsbevx_base LAPACK_GLOBAL_SUFFIX(dsbevx,DSBEVX)
void LAPACK_dsbevx_base(
    char const* jobz, char const* range, char const* uplo,
    lapack_int const* n, lapack_int const* kd,
    double* AB, lapack_int const* ldab,
    double* Q, lapack_int const* ldq,
    double const* vl,
    double const* vu, lapack_int const* il, lapack_int const* iu,
    double const* abstol, lapack_int* m,
    double* W,
    double* Z, lapack_int const* ldz,
    double* work,
    lapack_int* iwork, lapack_int* IFAIL,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_dsbevx(...) LAPACK_dsbevx_base(__VA_ARGS__, 1, 1, 1)
#else
    #define LAPACK_dsbevx(...) LAPACK_dsbevx_base(__VA_ARGS__)
#endif

#define LAPACK_ssbevx_base LAPACK_GLOBAL_SUFFIX(ssbevx,SSBEVX)
void LAPACK_ssbevx_base(
    char const* jobz, char const* range, char const* uplo,
    lapack_int const* n, lapack_int const* kd,
    float* AB, lapack_int const* ldab,
    float* Q, lapack_int const* ldq,
    float const* vl,
    float const* vu, lapack_int const* il, lapack_int const* iu,
    float const* abstol, lapack_int* m,
    float* W,
    float* Z, lapack_int const* ldz,
    float* work,
    lapack_int* iwork, lapack_int* IFAIL,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_ssbevx(...) LAPACK_ssbevx_base(__VA_ARGS__, 1, 1, 1)
#else
    #define LAPACK_ssbevx(...) LAPACK_ssbevx_base(__VA_ARGS__)
#endif

#define LAPACK_dsbevx_2stage_base LAPACK_GLOBAL_SUFFIX(dsbevx_2stage,DSBEVX_2STAGE)
void LAPACK_dsbevx_2stage_base(
    char const* jobz, char const* range, char const* uplo,
    lapack_int const* n, lapack_int const* kd,
    double* AB, lapack_int const* ldab,
    double* Q, lapack_int const* ldq,
    double const* vl,
    double const* vu, lapack_int const* il, lapack_int const* iu,
    double const* abstol, lapack_int* m,
    double* W,
    double* Z, lapack_int const* ldz,
    double* work, lapack_int const* lwork,
    lapack_int* iwork, lapack_int* IFAIL,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_dsbevx_2stage(...) LAPACK_dsbevx_2stage_base(__VA_ARGS__, 1, 1, 1)
#else
    #define LAPACK_dsbevx_2stage(...) LAPACK_dsbevx_2stage_base(__VA_ARGS__)
#endif

#define LAPACK_ssbevx_2stage_base LAPACK_GLOBAL_SUFFIX(ssbevx_2stage,SSBEVX_2STAGE)
void LAPACK_ssbevx_2stage_base(
    char const* jobz, char const* range, char const* uplo,
    lapack_int const* n, lapack_int const* kd,
    float* AB, lapack_int const* ldab,
    float* Q, lapack_int const* ldq,
    float const* vl,
    float const* vu, lapack_int const* il, lapack_int const* iu,
    float const* abstol, lapack_int* m,
    float* W,
    float* Z, lapack_int const* ldz,
    float* work, lapack_int const* lwork,
    lapack_int* iwork, lapack_int* IFAIL,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_ssbevx_2stage(...) LAPACK_ssbevx_2stage_base(__VA_ARGS__, 1, 1, 1)
#else
    #define LAPACK_ssbevx_2stage(...) LAPACK_ssbevx_2stage_base(__VA_ARGS__)
#endif

#define LAPACK_dsbgst_base LAPACK_GLOBAL_SUFFIX(dsbgst,DSBGST)
void LAPACK_dsbgst_base(
    char const* vect, char const* uplo,
    lapack_int const* n, lapack_int const* ka, lapack_int const* kb,
    double* AB, lapack_int const* ldab,
    double const* BB, lapack_int const* ldbb,
    double* X, lapack_int const* ldx,
    double* work,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_dsbgst(...) LAPACK_dsbgst_base(__VA_ARGS__, 1, 1)
#else
    #define LAPACK_dsbgst(...) LAPACK_dsbgst_base(__VA_ARGS__)
#endif

#define LAPACK_ssbgst_base LAPACK_GLOBAL_SUFFIX(ssbgst,SSBGST)
void LAPACK_ssbgst_base(
    char const* vect, char const* uplo,
    lapack_int const* n, lapack_int const* ka, lapack_int const* kb,
    float* AB, lapack_int const* ldab,
    float const* BB, lapack_int const* ldbb,
    float* X, lapack_int const* ldx,
    float* work,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_ssbgst(...) LAPACK_ssbgst_base(__VA_ARGS__, 1, 1)
#else
    #define LAPACK_ssbgst(...) LAPACK_ssbgst_base(__VA_ARGS__)
#endif

#define LAPACK_dsbgv_base LAPACK_GLOBAL_SUFFIX(dsbgv,DSBGV)
void LAPACK_dsbgv_base(
    char const* jobz, char const* uplo,
    lapack_int const* n, lapack_int const* ka, lapack_int const* kb,
    double* AB, lapack_int const* ldab,
    double* BB, lapack_int const* ldbb,
    double* W,
    double* Z, lapack_int const* ldz,
    double* work,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_dsbgv(...) LAPACK_dsbgv_base(__VA_ARGS__, 1, 1)
#else
    #define LAPACK_dsbgv(...) LAPACK_dsbgv_base(__VA_ARGS__)
#endif

#define LAPACK_ssbgv_base LAPACK_GLOBAL_SUFFIX(ssbgv,SSBGV)
void LAPACK_ssbgv_base(
    char const* jobz, char const* uplo,
    lapack_int const* n, lapack_int const* ka, lapack_int const* kb,
    float* AB, lapack_int const* ldab,
    float* BB, lapack_int const* ldbb,
    float* W,
    float* Z, lapack_int const* ldz,
    float* work,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_ssbgv(...) LAPACK_ssbgv_base(__VA_ARGS__, 1, 1)
#else
    #define LAPACK_ssbgv(...) LAPACK_ssbgv_base(__VA_ARGS__)
#endif

#define LAPACK_dsbgvd_base LAPACK_GLOBAL_SUFFIX(dsbgvd,DSBGVD)
void LAPACK_dsbgvd_base(
    char const* jobz, char const* uplo,
    lapack_int const* n, lapack_int const* ka, lapack_int const* kb,
    double* AB, lapack_int const* ldab,
    double* BB, lapack_int const* ldbb,
    double* W,
    double* Z, lapack_int const* ldz,
    double* work, lapack_int const* lwork,
    lapack_int* iwork, lapack_int const* liwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_dsbgvd(...) LAPACK_dsbgvd_base(__VA_ARGS__, 1, 1)
#else
    #define LAPACK_dsbgvd(...) LAPACK_dsbgvd_base(__VA_ARGS__)
#endif

#define LAPACK_ssbgvd_base LAPACK_GLOBAL_SUFFIX(ssbgvd,SSBGVD)
void LAPACK_ssbgvd_base(
    char const* jobz, char const* uplo,
    lapack_int const* n, lapack_int const* ka, lapack_int const* kb,
    float* AB, lapack_int const* ldab,
    float* BB, lapack_int const* ldbb,
    float* W,
    float* Z, lapack_int const* ldz,
    float* work, lapack_int const* lwork,
    lapack_int* iwork, lapack_int const* liwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_ssbgvd(...) LAPACK_ssbgvd_base(__VA_ARGS__, 1, 1)
#else
    #define LAPACK_ssbgvd(...) LAPACK_ssbgvd_base(__VA_ARGS__)
#endif

#define LAPACK_dsbgvx_base LAPACK_GLOBAL_SUFFIX(dsbgvx,DSBGVX)
void LAPACK_dsbgvx_base(
    char const* jobz, char const* range, char const* uplo,
    lapack_int const* n, lapack_int const* ka, lapack_int const* kb,
    double* AB, lapack_int const* ldab,
    double* BB, lapack_int const* ldbb,
    double* Q, lapack_int const* ldq,
    double const* vl,
    double const* vu, lapack_int const* il, lapack_int const* iu,
    double const* abstol, lapack_int* m,
    double* W,
    double* Z, lapack_int const* ldz,
    double* work,
    lapack_int* iwork, lapack_int* IFAIL,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_dsbgvx(...) LAPACK_dsbgvx_base(__VA_ARGS__, 1, 1, 1)
#else
    #define LAPACK_dsbgvx(...) LAPACK_dsbgvx_base(__VA_ARGS__)
#endif

#define LAPACK_ssbgvx_base LAPACK_GLOBAL_SUFFIX(ssbgvx,SSBGVX)
void LAPACK_ssbgvx_base(
    char const* jobz, char const* range, char const* uplo,
    lapack_int const* n, lapack_int const* ka, lapack_int const* kb,
    float* AB, lapack_int const* ldab,
    float* BB, lapack_int const* ldbb,
    float* Q, lapack_int const* ldq,
    float const* vl,
    float const* vu, lapack_int const* il, lapack_int const* iu,
    float const* abstol, lapack_int* m,
    float* W,
    float* Z, lapack_int const* ldz,
    float* work,
    lapack_int* iwork, lapack_int* IFAIL,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_ssbgvx(...) LAPACK_ssbgvx_base(__VA_ARGS__, 1, 1, 1)
#else
    #define LAPACK_ssbgvx(...) LAPACK_ssbgvx_base(__VA_ARGS__)
#endif

#define LAPACK_dsbtrd_base LAPACK_GLOBAL_SUFFIX(dsbtrd,DSBTRD)
void LAPACK_dsbtrd_base(
    char const* vect, char const* uplo,
    lapack_int const* n, lapack_int const* kd,
    double* AB, lapack_int const* ldab,
    double* D,
    double* E,
    double* Q, lapack_int const* ldq,
    double* work,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_dsbtrd(...) LAPACK_dsbtrd_base(__VA_ARGS__, 1, 1)
#else
    #define LAPACK_dsbtrd(...) LAPACK_dsbtrd_base(__VA_ARGS__)
#endif

#define LAPACK_ssbtrd_base LAPACK_GLOBAL_SUFFIX(ssbtrd,SSBTRD)
void LAPACK_ssbtrd_base(
    char const* vect, char const* uplo,
    lapack_int const* n, lapack_int const* kd,
    float* AB, lapack_int const* ldab,
    float* D,
    float* E,
    float* Q, lapack_int const* ldq,
    float* work,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_ssbtrd(...) LAPACK_ssbtrd_base(__VA_ARGS__, 1, 1)
#else
    #define LAPACK_ssbtrd(...) LAPACK_ssbtrd_base(__VA_ARGS__)
#endif

#define LAPACK_dsfrk_base LAPACK_GLOBAL_SUFFIX(dsfrk,DSFRK)
void LAPACK_dsfrk_base(
    char const* transr, char const* uplo, char const* trans,
    lapack_int const* n, lapack_int const* k,
    double const* alpha,
    double const* A, lapack_int const* lda,
    double const* beta,
    double* C
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_dsfrk(...) LAPACK_dsfrk_base(__VA_ARGS__, 1, 1, 1)
#else
    #define LAPACK_dsfrk(...) LAPACK_dsfrk_base(__VA_ARGS__)
#endif

#define LAPACK_ssfrk_base LAPACK_GLOBAL_SUFFIX(ssfrk,SSFRK)
void LAPACK_ssfrk_base(
    char const* transr, char const* uplo, char const* trans,
    lapack_int const* n, lapack_int const* k,
    float const* alpha,
    float const* A, lapack_int const* lda,
    float const* beta,
    float* C
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_ssfrk(...) LAPACK_ssfrk_base(__VA_ARGS__, 1, 1, 1)
#else
    #define LAPACK_ssfrk(...) LAPACK_ssfrk_base(__VA_ARGS__)
#endif

#define LAPACK_cspcon_base LAPACK_GLOBAL_SUFFIX(cspcon,CSPCON)
void LAPACK_cspcon_base(
    char const* uplo,
    lapack_int const* n,
    lapack_complex_float const* AP, lapack_int const* ipiv,
    float const* anorm,
    float* rcond,
    lapack_complex_float* work,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_cspcon(...) LAPACK_cspcon_base(__VA_ARGS__, 1)
#else
    #define LAPACK_cspcon(...) LAPACK_cspcon_base(__VA_ARGS__)
#endif

#define LAPACK_dspcon_base LAPACK_GLOBAL_SUFFIX(dspcon,DSPCON)
void LAPACK_dspcon_base(
    char const* uplo,
    lapack_int const* n,
    double const* AP, lapack_int const* ipiv,
    double const* anorm,
    double* rcond,
    double* work,
    lapack_int* iwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_dspcon(...) LAPACK_dspcon_base(__VA_ARGS__, 1)
#else
    #define LAPACK_dspcon(...) LAPACK_dspcon_base(__VA_ARGS__)
#endif

#define LAPACK_sspcon_base LAPACK_GLOBAL_SUFFIX(sspcon,SSPCON)
void LAPACK_sspcon_base(
    char const* uplo,
    lapack_int const* n,
    float const* AP, lapack_int const* ipiv,
    float const* anorm,
    float* rcond,
    float* work,
    lapack_int* iwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_sspcon(...) LAPACK_sspcon_base(__VA_ARGS__, 1)
#else
    #define LAPACK_sspcon(...) LAPACK_sspcon_base(__VA_ARGS__)
#endif

#define LAPACK_zspcon_base LAPACK_GLOBAL_SUFFIX(zspcon,ZSPCON)
void LAPACK_zspcon_base(
    char const* uplo,
    lapack_int const* n,
    lapack_complex_double const* AP, lapack_int const* ipiv,
    double const* anorm,
    double* rcond,
    lapack_complex_double* work,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_zspcon(...) LAPACK_zspcon_base(__VA_ARGS__, 1)
#else
    #define LAPACK_zspcon(...) LAPACK_zspcon_base(__VA_ARGS__)
#endif

#define LAPACK_dspev_base LAPACK_GLOBAL_SUFFIX(dspev,DSPEV)
void LAPACK_dspev_base(
    char const* jobz, char const* uplo,
    lapack_int const* n,
    double* AP,
    double* W,
    double* Z, lapack_int const* ldz,
    double* work,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_dspev(...) LAPACK_dspev_base(__VA_ARGS__, 1, 1)
#else
    #define LAPACK_dspev(...) LAPACK_dspev_base(__VA_ARGS__)
#endif

#define LAPACK_sspev_base LAPACK_GLOBAL_SUFFIX(sspev,SSPEV)
void LAPACK_sspev_base(
    char const* jobz, char const* uplo,
    lapack_int const* n,
    float* AP,
    float* W,
    float* Z, lapack_int const* ldz,
    float* work,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_sspev(...) LAPACK_sspev_base(__VA_ARGS__, 1, 1)
#else
    #define LAPACK_sspev(...) LAPACK_sspev_base(__VA_ARGS__)
#endif

#define LAPACK_dspevd_base LAPACK_GLOBAL_SUFFIX(dspevd,DSPEVD)
void LAPACK_dspevd_base(
    char const* jobz, char const* uplo,
    lapack_int const* n,
    double* AP,
    double* W,
    double* Z, lapack_int const* ldz,
    double* work, lapack_int const* lwork,
    lapack_int* iwork, lapack_int const* liwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_dspevd(...) LAPACK_dspevd_base(__VA_ARGS__, 1, 1)
#else
    #define LAPACK_dspevd(...) LAPACK_dspevd_base(__VA_ARGS__)
#endif

#define LAPACK_sspevd_base LAPACK_GLOBAL_SUFFIX(sspevd,SSPEVD)
void LAPACK_sspevd_base(
    char const* jobz, char const* uplo,
    lapack_int const* n,
    float* AP,
    float* W,
    float* Z, lapack_int const* ldz,
    float* work, lapack_int const* lwork,
    lapack_int* iwork, lapack_int const* liwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_sspevd(...) LAPACK_sspevd_base(__VA_ARGS__, 1, 1)
#else
    #define LAPACK_sspevd(...) LAPACK_sspevd_base(__VA_ARGS__)
#endif

#define LAPACK_dspevx_base LAPACK_GLOBAL_SUFFIX(dspevx,DSPEVX)
void LAPACK_dspevx_base(
    char const* jobz, char const* range, char const* uplo,
    lapack_int const* n,
    double* AP,
    double const* vl,
    double const* vu, lapack_int const* il, lapack_int const* iu,
    double const* abstol, lapack_int* m,
    double* W,
    double* Z, lapack_int const* ldz,
    double* work,
    lapack_int* iwork, lapack_int* IFAIL,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_dspevx(...) LAPACK_dspevx_base(__VA_ARGS__, 1, 1, 1)
#else
    #define LAPACK_dspevx(...) LAPACK_dspevx_base(__VA_ARGS__)
#endif

#define LAPACK_sspevx_base LAPACK_GLOBAL_SUFFIX(sspevx,SSPEVX)
void LAPACK_sspevx_base(
    char const* jobz, char const* range, char const* uplo,
    lapack_int const* n,
    float* AP,
    float const* vl,
    float const* vu, lapack_int const* il, lapack_int const* iu,
    float const* abstol, lapack_int* m,
    float* W,
    float* Z, lapack_int const* ldz,
    float* work,
    lapack_int* iwork, lapack_int* IFAIL,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_sspevx(...) LAPACK_sspevx_base(__VA_ARGS__, 1, 1, 1)
#else
    #define LAPACK_sspevx(...) LAPACK_sspevx_base(__VA_ARGS__)
#endif

#define LAPACK_dspgst_base LAPACK_GLOBAL_SUFFIX(dspgst,DSPGST)
void LAPACK_dspgst_base(
    lapack_int const* itype, char const* uplo,
    lapack_int const* n,
    double* AP,
    double const* BP,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_dspgst(...) LAPACK_dspgst_base(__VA_ARGS__, 1)
#else
    #define LAPACK_dspgst(...) LAPACK_dspgst_base(__VA_ARGS__)
#endif

#define LAPACK_sspgst_base LAPACK_GLOBAL_SUFFIX(sspgst,SSPGST)
void LAPACK_sspgst_base(
    lapack_int const* itype, char const* uplo,
    lapack_int const* n,
    float* AP,
    float const* BP,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_sspgst(...) LAPACK_sspgst_base(__VA_ARGS__, 1)
#else
    #define LAPACK_sspgst(...) LAPACK_sspgst_base(__VA_ARGS__)
#endif

#define LAPACK_dspgv_base LAPACK_GLOBAL_SUFFIX(dspgv,DSPGV)
void LAPACK_dspgv_base(
    lapack_int const* itype, char const* jobz, char const* uplo,
    lapack_int const* n,
    double* AP,
    double* BP,
    double* W,
    double* Z, lapack_int const* ldz,
    double* work,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_dspgv(...) LAPACK_dspgv_base(__VA_ARGS__, 1, 1)
#else
    #define LAPACK_dspgv(...) LAPACK_dspgv_base(__VA_ARGS__)
#endif

#define LAPACK_sspgv_base LAPACK_GLOBAL_SUFFIX(sspgv,SSPGV)
void LAPACK_sspgv_base(
    lapack_int const* itype, char const* jobz, char const* uplo,
    lapack_int const* n,
    float* AP,
    float* BP,
    float* W,
    float* Z, lapack_int const* ldz,
    float* work,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_sspgv(...) LAPACK_sspgv_base(__VA_ARGS__, 1, 1)
#else
    #define LAPACK_sspgv(...) LAPACK_sspgv_base(__VA_ARGS__)
#endif

#define LAPACK_dspgvd_base LAPACK_GLOBAL_SUFFIX(dspgvd,DSPGVD)
void LAPACK_dspgvd_base(
    lapack_int const* itype, char const* jobz, char const* uplo,
    lapack_int const* n,
    double* AP,
    double* BP,
    double* W,
    double* Z, lapack_int const* ldz,
    double* work, lapack_int const* lwork,
    lapack_int* iwork, lapack_int const* liwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_dspgvd(...) LAPACK_dspgvd_base(__VA_ARGS__, 1, 1)
#else
    #define LAPACK_dspgvd(...) LAPACK_dspgvd_base(__VA_ARGS__)
#endif

#define LAPACK_sspgvd_base LAPACK_GLOBAL_SUFFIX(sspgvd,SSPGVD)
void LAPACK_sspgvd_base(
    lapack_int const* itype, char const* jobz, char const* uplo,
    lapack_int const* n,
    float* AP,
    float* BP,
    float* W,
    float* Z, lapack_int const* ldz,
    float* work, lapack_int const* lwork,
    lapack_int* iwork, lapack_int const* liwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_sspgvd(...) LAPACK_sspgvd_base(__VA_ARGS__, 1, 1)
#else
    #define LAPACK_sspgvd(...) LAPACK_sspgvd_base(__VA_ARGS__)
#endif

#define LAPACK_dspgvx_base LAPACK_GLOBAL_SUFFIX(dspgvx,DSPGVX)
void LAPACK_dspgvx_base(
    lapack_int const* itype, char const* jobz, char const* range, char const* uplo,
    lapack_int const* n,
    double* AP,
    double* BP,
    double const* vl,
    double const* vu, lapack_int const* il, lapack_int const* iu,
    double const* abstol, lapack_int* m,
    double* W,
    double* Z, lapack_int const* ldz,
    double* work,
    lapack_int* iwork, lapack_int* IFAIL,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_dspgvx(...) LAPACK_dspgvx_base(__VA_ARGS__, 1, 1, 1)
#else
    #define LAPACK_dspgvx(...) LAPACK_dspgvx_base(__VA_ARGS__)
#endif

#define LAPACK_sspgvx_base LAPACK_GLOBAL_SUFFIX(sspgvx,SSPGVX)
void LAPACK_sspgvx_base(
    lapack_int const* itype, char const* jobz, char const* range, char const* uplo,
    lapack_int const* n,
    float* AP,
    float* BP,
    float const* vl,
    float const* vu, lapack_int const* il, lapack_int const* iu,
    float const* abstol, lapack_int* m,
    float* W,
    float* Z, lapack_int const* ldz,
    float* work,
    lapack_int* iwork, lapack_int* IFAIL,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_sspgvx(...) LAPACK_sspgvx_base(__VA_ARGS__, 1, 1, 1)
#else
    #define LAPACK_sspgvx(...) LAPACK_sspgvx_base(__VA_ARGS__)
#endif

#define LAPACK_csprfs_base LAPACK_GLOBAL_SUFFIX(csprfs,CSPRFS)
void LAPACK_csprfs_base(
    char const* uplo,
    lapack_int const* n, lapack_int const* nrhs,
    lapack_complex_float const* AP,
    lapack_complex_float const* AFP, lapack_int const* ipiv,
    lapack_complex_float const* B, lapack_int const* ldb,
    lapack_complex_float* X, lapack_int const* ldx,
    float* ferr,
    float* berr,
    lapack_complex_float* work,
    float* rwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_csprfs(...) LAPACK_csprfs_base(__VA_ARGS__, 1)
#else
    #define LAPACK_csprfs(...) LAPACK_csprfs_base(__VA_ARGS__)
#endif

#define LAPACK_dsprfs_base LAPACK_GLOBAL_SUFFIX(dsprfs,DSPRFS)
void LAPACK_dsprfs_base(
    char const* uplo,
    lapack_int const* n, lapack_int const* nrhs,
    double const* AP,
    double const* AFP, lapack_int const* ipiv,
    double const* B, lapack_int const* ldb,
    double* X, lapack_int const* ldx,
    double* ferr,
    double* berr,
    double* work,
    lapack_int* iwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_dsprfs(...) LAPACK_dsprfs_base(__VA_ARGS__, 1)
#else
    #define LAPACK_dsprfs(...) LAPACK_dsprfs_base(__VA_ARGS__)
#endif

#define LAPACK_ssprfs_base LAPACK_GLOBAL_SUFFIX(ssprfs,SSPRFS)
void LAPACK_ssprfs_base(
    char const* uplo,
    lapack_int const* n, lapack_int const* nrhs,
    float const* AP,
    float const* AFP, lapack_int const* ipiv,
    float const* B, lapack_int const* ldb,
    float* X, lapack_int const* ldx,
    float* ferr,
    float* berr,
    float* work,
    lapack_int* iwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_ssprfs(...) LAPACK_ssprfs_base(__VA_ARGS__, 1)
#else
    #define LAPACK_ssprfs(...) LAPACK_ssprfs_base(__VA_ARGS__)
#endif

#define LAPACK_zsprfs_base LAPACK_GLOBAL_SUFFIX(zsprfs,ZSPRFS)
void LAPACK_zsprfs_base(
    char const* uplo,
    lapack_int const* n, lapack_int const* nrhs,
    lapack_complex_double const* AP,
    lapack_complex_double const* AFP, lapack_int const* ipiv,
    lapack_complex_double const* B, lapack_int const* ldb,
    lapack_complex_double* X, lapack_int const* ldx,
    double* ferr,
    double* berr,
    lapack_complex_double* work,
    double* rwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_zsprfs(...) LAPACK_zsprfs_base(__VA_ARGS__, 1)
#else
    #define LAPACK_zsprfs(...) LAPACK_zsprfs_base(__VA_ARGS__)
#endif

#define LAPACK_cspsv_base LAPACK_GLOBAL_SUFFIX(cspsv,CSPSV)
void LAPACK_cspsv_base(
    char const* uplo,
    lapack_int const* n, lapack_int const* nrhs,
    lapack_complex_float* AP, lapack_int* ipiv,
    lapack_complex_float* B, lapack_int const* ldb,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_cspsv(...) LAPACK_cspsv_base(__VA_ARGS__, 1)
#else
    #define LAPACK_cspsv(...) LAPACK_cspsv_base(__VA_ARGS__)
#endif

#define LAPACK_dspsv_base LAPACK_GLOBAL_SUFFIX(dspsv,DSPSV)
void LAPACK_dspsv_base(
    char const* uplo,
    lapack_int const* n, lapack_int const* nrhs,
    double* AP, lapack_int* ipiv,
    double* B, lapack_int const* ldb,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_dspsv(...) LAPACK_dspsv_base(__VA_ARGS__, 1)
#else
    #define LAPACK_dspsv(...) LAPACK_dspsv_base(__VA_ARGS__)
#endif

#define LAPACK_sspsv_base LAPACK_GLOBAL_SUFFIX(sspsv,SSPSV)
void LAPACK_sspsv_base(
    char const* uplo,
    lapack_int const* n, lapack_int const* nrhs,
    float* AP, lapack_int* ipiv,
    float* B, lapack_int const* ldb,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_sspsv(...) LAPACK_sspsv_base(__VA_ARGS__, 1)
#else
    #define LAPACK_sspsv(...) LAPACK_sspsv_base(__VA_ARGS__)
#endif

#define LAPACK_zspsv_base LAPACK_GLOBAL_SUFFIX(zspsv,ZSPSV)
void LAPACK_zspsv_base(
    char const* uplo,
    lapack_int const* n, lapack_int const* nrhs,
    lapack_complex_double* AP, lapack_int* ipiv,
    lapack_complex_double* B, lapack_int const* ldb,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_zspsv(...) LAPACK_zspsv_base(__VA_ARGS__, 1)
#else
    #define LAPACK_zspsv(...) LAPACK_zspsv_base(__VA_ARGS__)
#endif

#define LAPACK_cspsvx_base LAPACK_GLOBAL_SUFFIX(cspsvx,CSPSVX)
void LAPACK_cspsvx_base(
    char const* fact, char const* uplo,
    lapack_int const* n, lapack_int const* nrhs,
    lapack_complex_float const* AP,
    lapack_complex_float* AFP, lapack_int* ipiv,
    lapack_complex_float const* B, lapack_int const* ldb,
    lapack_complex_float* X, lapack_int const* ldx,
    float* rcond,
    float* ferr,
    float* berr,
    lapack_complex_float* work,
    float* rwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_cspsvx(...) LAPACK_cspsvx_base(__VA_ARGS__, 1, 1)
#else
    #define LAPACK_cspsvx(...) LAPACK_cspsvx_base(__VA_ARGS__)
#endif

#define LAPACK_dspsvx_base LAPACK_GLOBAL_SUFFIX(dspsvx,DSPSVX)
void LAPACK_dspsvx_base(
    char const* fact, char const* uplo,
    lapack_int const* n, lapack_int const* nrhs,
    double const* AP,
    double* AFP, lapack_int* ipiv,
    double const* B, lapack_int const* ldb,
    double* X, lapack_int const* ldx,
    double* rcond,
    double* ferr,
    double* berr,
    double* work,
    lapack_int* iwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_dspsvx(...) LAPACK_dspsvx_base(__VA_ARGS__, 1, 1)
#else
    #define LAPACK_dspsvx(...) LAPACK_dspsvx_base(__VA_ARGS__)
#endif

#define LAPACK_sspsvx_base LAPACK_GLOBAL_SUFFIX(sspsvx,SSPSVX)
void LAPACK_sspsvx_base(
    char const* fact, char const* uplo,
    lapack_int const* n, lapack_int const* nrhs,
    float const* AP,
    float* AFP, lapack_int* ipiv,
    float const* B, lapack_int const* ldb,
    float* X, lapack_int const* ldx,
    float* rcond,
    float* ferr,
    float* berr,
    float* work,
    lapack_int* iwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_sspsvx(...) LAPACK_sspsvx_base(__VA_ARGS__, 1, 1)
#else
    #define LAPACK_sspsvx(...) LAPACK_sspsvx_base(__VA_ARGS__)
#endif

#define LAPACK_zspsvx_base LAPACK_GLOBAL_SUFFIX(zspsvx,ZSPSVX)
void LAPACK_zspsvx_base(
    char const* fact, char const* uplo,
    lapack_int const* n, lapack_int const* nrhs,
    lapack_complex_double const* AP,
    lapack_complex_double* AFP, lapack_int* ipiv,
    lapack_complex_double const* B, lapack_int const* ldb,
    lapack_complex_double* X, lapack_int const* ldx,
    double* rcond,
    double* ferr,
    double* berr,
    lapack_complex_double* work,
    double* rwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_zspsvx(...) LAPACK_zspsvx_base(__VA_ARGS__, 1, 1)
#else
    #define LAPACK_zspsvx(...) LAPACK_zspsvx_base(__VA_ARGS__)
#endif

#define LAPACK_dsptrd_base LAPACK_GLOBAL_SUFFIX(dsptrd,DSPTRD)
void LAPACK_dsptrd_base(
    char const* uplo,
    lapack_int const* n,
    double* AP,
    double* D,
    double* E,
    double* tau,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_dsptrd(...) LAPACK_dsptrd_base(__VA_ARGS__, 1)
#else
    #define LAPACK_dsptrd(...) LAPACK_dsptrd_base(__VA_ARGS__)
#endif

#define LAPACK_ssptrd_base LAPACK_GLOBAL_SUFFIX(ssptrd,SSPTRD)
void LAPACK_ssptrd_base(
    char const* uplo,
    lapack_int const* n,
    float* AP,
    float* D,
    float* E,
    float* tau,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_ssptrd(...) LAPACK_ssptrd_base(__VA_ARGS__, 1)
#else
    #define LAPACK_ssptrd(...) LAPACK_ssptrd_base(__VA_ARGS__)
#endif

#define LAPACK_csptrf_base LAPACK_GLOBAL_SUFFIX(csptrf,CSPTRF)
void LAPACK_csptrf_base(
    char const* uplo,
    lapack_int const* n,
    lapack_complex_float* AP, lapack_int* ipiv,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_csptrf(...) LAPACK_csptrf_base(__VA_ARGS__, 1)
#else
    #define LAPACK_csptrf(...) LAPACK_csptrf_base(__VA_ARGS__)
#endif

#define LAPACK_dsptrf_base LAPACK_GLOBAL_SUFFIX(dsptrf,DSPTRF)
void LAPACK_dsptrf_base(
    char const* uplo,
    lapack_int const* n,
    double* AP, lapack_int* ipiv,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_dsptrf(...) LAPACK_dsptrf_base(__VA_ARGS__, 1)
#else
    #define LAPACK_dsptrf(...) LAPACK_dsptrf_base(__VA_ARGS__)
#endif

#define LAPACK_ssptrf_base LAPACK_GLOBAL_SUFFIX(ssptrf,SSPTRF)
void LAPACK_ssptrf_base(
    char const* uplo,
    lapack_int const* n,
    float* AP, lapack_int* ipiv,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_ssptrf(...) LAPACK_ssptrf_base(__VA_ARGS__, 1)
#else
    #define LAPACK_ssptrf(...) LAPACK_ssptrf_base(__VA_ARGS__)
#endif

#define LAPACK_zsptrf_base LAPACK_GLOBAL_SUFFIX(zsptrf,ZSPTRF)
void LAPACK_zsptrf_base(
    char const* uplo,
    lapack_int const* n,
    lapack_complex_double* AP, lapack_int* ipiv,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_zsptrf(...) LAPACK_zsptrf_base(__VA_ARGS__, 1)
#else
    #define LAPACK_zsptrf(...) LAPACK_zsptrf_base(__VA_ARGS__)
#endif

#define LAPACK_csptri_base LAPACK_GLOBAL_SUFFIX(csptri,CSPTRI)
void LAPACK_csptri_base(
    char const* uplo,
    lapack_int const* n,
    lapack_complex_float* AP, lapack_int const* ipiv,
    lapack_complex_float* work,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_csptri(...) LAPACK_csptri_base(__VA_ARGS__, 1)
#else
    #define LAPACK_csptri(...) LAPACK_csptri_base(__VA_ARGS__)
#endif

#define LAPACK_dsptri_base LAPACK_GLOBAL_SUFFIX(dsptri,DSPTRI)
void LAPACK_dsptri_base(
    char const* uplo,
    lapack_int const* n,
    double* AP, lapack_int const* ipiv,
    double* work,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_dsptri(...) LAPACK_dsptri_base(__VA_ARGS__, 1)
#else
    #define LAPACK_dsptri(...) LAPACK_dsptri_base(__VA_ARGS__)
#endif

#define LAPACK_ssptri_base LAPACK_GLOBAL_SUFFIX(ssptri,SSPTRI)
void LAPACK_ssptri_base(
    char const* uplo,
    lapack_int const* n,
    float* AP, lapack_int const* ipiv,
    float* work,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_ssptri(...) LAPACK_ssptri_base(__VA_ARGS__, 1)
#else
    #define LAPACK_ssptri(...) LAPACK_ssptri_base(__VA_ARGS__)
#endif

#define LAPACK_zsptri_base LAPACK_GLOBAL_SUFFIX(zsptri,ZSPTRI)
void LAPACK_zsptri_base(
    char const* uplo,
    lapack_int const* n,
    lapack_complex_double* AP, lapack_int const* ipiv,
    lapack_complex_double* work,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_zsptri(...) LAPACK_zsptri_base(__VA_ARGS__, 1)
#else
    #define LAPACK_zsptri(...) LAPACK_zsptri_base(__VA_ARGS__)
#endif

#define LAPACK_csptrs_base LAPACK_GLOBAL_SUFFIX(csptrs,CSPTRS)
void LAPACK_csptrs_base(
    char const* uplo,
    lapack_int const* n, lapack_int const* nrhs,
    lapack_complex_float const* AP, lapack_int const* ipiv,
    lapack_complex_float* B, lapack_int const* ldb,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_csptrs(...) LAPACK_csptrs_base(__VA_ARGS__, 1)
#else
    #define LAPACK_csptrs(...) LAPACK_csptrs_base(__VA_ARGS__)
#endif

#define LAPACK_dsptrs_base LAPACK_GLOBAL_SUFFIX(dsptrs,DSPTRS)
void LAPACK_dsptrs_base(
    char const* uplo,
    lapack_int const* n, lapack_int const* nrhs,
    double const* AP, lapack_int const* ipiv,
    double* B, lapack_int const* ldb,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_dsptrs(...) LAPACK_dsptrs_base(__VA_ARGS__, 1)
#else
    #define LAPACK_dsptrs(...) LAPACK_dsptrs_base(__VA_ARGS__)
#endif

#define LAPACK_ssptrs_base LAPACK_GLOBAL_SUFFIX(ssptrs,SSPTRS)
void LAPACK_ssptrs_base(
    char const* uplo,
    lapack_int const* n, lapack_int const* nrhs,
    float const* AP, lapack_int const* ipiv,
    float* B, lapack_int const* ldb,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_ssptrs(...) LAPACK_ssptrs_base(__VA_ARGS__, 1)
#else
    #define LAPACK_ssptrs(...) LAPACK_ssptrs_base(__VA_ARGS__)
#endif

#define LAPACK_zsptrs_base LAPACK_GLOBAL_SUFFIX(zsptrs,ZSPTRS)
void LAPACK_zsptrs_base(
    char const* uplo,
    lapack_int const* n, lapack_int const* nrhs,
    lapack_complex_double const* AP, lapack_int const* ipiv,
    lapack_complex_double* B, lapack_int const* ldb,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_zsptrs(...) LAPACK_zsptrs_base(__VA_ARGS__, 1)
#else
    #define LAPACK_zsptrs(...) LAPACK_zsptrs_base(__VA_ARGS__)
#endif

#define LAPACK_dstebz_base LAPACK_GLOBAL_SUFFIX(dstebz,DSTEBZ)
void LAPACK_dstebz_base(
    char const* range, char const* order,
    lapack_int const* n,
    double const* vl,
    double const* vu, lapack_int const* il, lapack_int const* iu,
    double const* abstol,
    double const* D,
    double const* E, lapack_int* m, lapack_int* nsplit,
    double* W, lapack_int* IBLOCK, lapack_int* ISPLIT,
    double* work,
    lapack_int* iwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_dstebz(...) LAPACK_dstebz_base(__VA_ARGS__, 1, 1)
#else
    #define LAPACK_dstebz(...) LAPACK_dstebz_base(__VA_ARGS__)
#endif

#define LAPACK_sstebz_base LAPACK_GLOBAL_SUFFIX(sstebz,SSTEBZ)
void LAPACK_sstebz_base(
    char const* range, char const* order,
    lapack_int const* n,
    float const* vl,
    float const* vu, lapack_int const* il, lapack_int const* iu,
    float const* abstol,
    float const* D,
    float const* E, lapack_int* m, lapack_int* nsplit,
    float* W, lapack_int* IBLOCK, lapack_int* ISPLIT,
    float* work,
    lapack_int* iwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_sstebz(...) LAPACK_sstebz_base(__VA_ARGS__, 1, 1)
#else
    #define LAPACK_sstebz(...) LAPACK_sstebz_base(__VA_ARGS__)
#endif

#define LAPACK_cstedc_base LAPACK_GLOBAL_SUFFIX(cstedc,CSTEDC)
void LAPACK_cstedc_base(
    char const* compz,
    lapack_int const* n,
    float* D,
    float* E,
    lapack_complex_float* Z, lapack_int const* ldz,
    lapack_complex_float* work, lapack_int const* lwork,
    float* rwork, lapack_int const* lrwork,
    lapack_int* iwork, lapack_int const* liwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_cstedc(...) LAPACK_cstedc_base(__VA_ARGS__, 1)
#else
    #define LAPACK_cstedc(...) LAPACK_cstedc_base(__VA_ARGS__)
#endif

#define LAPACK_dstedc_base LAPACK_GLOBAL_SUFFIX(dstedc,DSTEDC)
void LAPACK_dstedc_base(
    char const* compz,
    lapack_int const* n,
    double* D,
    double* E,
    double* Z, lapack_int const* ldz,
    double* work, lapack_int const* lwork,
    lapack_int* iwork, lapack_int const* liwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_dstedc(...) LAPACK_dstedc_base(__VA_ARGS__, 1)
#else
    #define LAPACK_dstedc(...) LAPACK_dstedc_base(__VA_ARGS__)
#endif

#define LAPACK_sstedc_base LAPACK_GLOBAL_SUFFIX(sstedc,SSTEDC)
void LAPACK_sstedc_base(
    char const* compz,
    lapack_int const* n,
    float* D,
    float* E,
    float* Z, lapack_int const* ldz,
    float* work, lapack_int const* lwork,
    lapack_int* iwork, lapack_int const* liwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_sstedc(...) LAPACK_sstedc_base(__VA_ARGS__, 1)
#else
    #define LAPACK_sstedc(...) LAPACK_sstedc_base(__VA_ARGS__)
#endif

#define LAPACK_zstedc_base LAPACK_GLOBAL_SUFFIX(zstedc,ZSTEDC)
void LAPACK_zstedc_base(
    char const* compz,
    lapack_int const* n,
    double* D,
    double* E,
    lapack_complex_double* Z, lapack_int const* ldz,
    lapack_complex_double* work, lapack_int const* lwork,
    double* rwork, lapack_int const* lrwork,
    lapack_int* iwork, lapack_int const* liwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_zstedc(...) LAPACK_zstedc_base(__VA_ARGS__, 1)
#else
    #define LAPACK_zstedc(...) LAPACK_zstedc_base(__VA_ARGS__)
#endif

#define LAPACK_cstegr_base LAPACK_GLOBAL_SUFFIX(cstegr,CSTEGR)
void LAPACK_cstegr_base(
    char const* jobz, char const* range,
    lapack_int const* n,
    float* D,
    float* E,
    float const* vl,
    float const* vu, lapack_int const* il, lapack_int const* iu,
    float const* abstol, lapack_int* m,
    float* W,
    lapack_complex_float* Z, lapack_int const* ldz, lapack_int* ISUPPZ,
    float* work, lapack_int const* lwork,
    lapack_int* iwork, lapack_int const* liwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_cstegr(...) LAPACK_cstegr_base(__VA_ARGS__, 1, 1)
#else
    #define LAPACK_cstegr(...) LAPACK_cstegr_base(__VA_ARGS__)
#endif

#define LAPACK_dstegr_base LAPACK_GLOBAL_SUFFIX(dstegr,DSTEGR)
void LAPACK_dstegr_base(
    char const* jobz, char const* range,
    lapack_int const* n,
    double* D,
    double* E,
    double const* vl,
    double const* vu, lapack_int const* il, lapack_int const* iu,
    double const* abstol, lapack_int* m,
    double* W,
    double* Z, lapack_int const* ldz, lapack_int* ISUPPZ,
    double* work, lapack_int const* lwork,
    lapack_int* iwork, lapack_int const* liwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_dstegr(...) LAPACK_dstegr_base(__VA_ARGS__, 1, 1)
#else
    #define LAPACK_dstegr(...) LAPACK_dstegr_base(__VA_ARGS__)
#endif

#define LAPACK_sstegr_base LAPACK_GLOBAL_SUFFIX(sstegr,SSTEGR)
void LAPACK_sstegr_base(
    char const* jobz, char const* range,
    lapack_int const* n,
    float* D,
    float* E,
    float const* vl,
    float const* vu, lapack_int const* il, lapack_int const* iu,
    float const* abstol, lapack_int* m,
    float* W,
    float* Z, lapack_int const* ldz, lapack_int* ISUPPZ,
    float* work, lapack_int const* lwork,
    lapack_int* iwork, lapack_int const* liwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_sstegr(...) LAPACK_sstegr_base(__VA_ARGS__, 1, 1)
#else
    #define LAPACK_sstegr(...) LAPACK_sstegr_base(__VA_ARGS__)
#endif

#define LAPACK_zstegr_base LAPACK_GLOBAL_SUFFIX(zstegr,ZSTEGR)
void LAPACK_zstegr_base(
    char const* jobz, char const* range,
    lapack_int const* n,
    double* D,
    double* E,
    double const* vl,
    double const* vu, lapack_int const* il, lapack_int const* iu,
    double const* abstol, lapack_int* m,
    double* W,
    lapack_complex_double* Z, lapack_int const* ldz, lapack_int* ISUPPZ,
    double* work, lapack_int const* lwork,
    lapack_int* iwork, lapack_int const* liwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_zstegr(...) LAPACK_zstegr_base(__VA_ARGS__, 1, 1)
#else
    #define LAPACK_zstegr(...) LAPACK_zstegr_base(__VA_ARGS__)
#endif

#define LAPACK_cstein LAPACK_GLOBAL_SUFFIX(cstein,CSTEIN)
void LAPACK_cstein(
    lapack_int const* n,
    float const* D,
    float const* E, lapack_int const* m,
    float const* W, lapack_int const* IBLOCK, lapack_int const* ISPLIT,
    lapack_complex_float* Z, lapack_int const* ldz,
    float* work,
    lapack_int* iwork, lapack_int* IFAIL,
    lapack_int* info );

#define LAPACK_dstein LAPACK_GLOBAL_SUFFIX(dstein,DSTEIN)
void LAPACK_dstein(
    lapack_int const* n,
    double const* D,
    double const* E, lapack_int const* m,
    double const* W, lapack_int const* IBLOCK, lapack_int const* ISPLIT,
    double* Z, lapack_int const* ldz,
    double* work,
    lapack_int* iwork, lapack_int* IFAIL,
    lapack_int* info );

#define LAPACK_sstein LAPACK_GLOBAL_SUFFIX(sstein,SSTEIN)
void LAPACK_sstein(
    lapack_int const* n,
    float const* D,
    float const* E, lapack_int const* m,
    float const* W, lapack_int const* IBLOCK, lapack_int const* ISPLIT,
    float* Z, lapack_int const* ldz,
    float* work,
    lapack_int* iwork, lapack_int* IFAIL,
    lapack_int* info );

#define LAPACK_zstein LAPACK_GLOBAL_SUFFIX(zstein,ZSTEIN)
void LAPACK_zstein(
    lapack_int const* n,
    double const* D,
    double const* E, lapack_int const* m,
    double const* W, lapack_int const* IBLOCK, lapack_int const* ISPLIT,
    lapack_complex_double* Z, lapack_int const* ldz,
    double* work,
    lapack_int* iwork, lapack_int* IFAIL,
    lapack_int* info );

#define LAPACK_cstemr_base LAPACK_GLOBAL_SUFFIX(cstemr,CSTEMR)
void LAPACK_cstemr_base(
    char const* jobz, char const* range,
    lapack_int const* n,
    float* D,
    float* E,
    float const* vl,
    float const* vu, lapack_int const* il, lapack_int const* iu, lapack_int* m,
    float* W,
    lapack_complex_float* Z, lapack_int const* ldz, lapack_int const* nzc, lapack_int* ISUPPZ, lapack_logical* tryrac,
    float* work, lapack_int const* lwork,
    lapack_int* iwork, lapack_int const* liwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_cstemr(...) LAPACK_cstemr_base(__VA_ARGS__, 1, 1)
#else
    #define LAPACK_cstemr(...) LAPACK_cstemr_base(__VA_ARGS__)
#endif

#define LAPACK_dstemr_base LAPACK_GLOBAL_SUFFIX(dstemr,DSTEMR)
void LAPACK_dstemr_base(
    char const* jobz, char const* range,
    lapack_int const* n,
    double* D,
    double* E,
    double const* vl,
    double const* vu, lapack_int const* il, lapack_int const* iu, lapack_int* m,
    double* W,
    double* Z, lapack_int const* ldz, lapack_int const* nzc, lapack_int* ISUPPZ, lapack_logical* tryrac,
    double* work, lapack_int const* lwork,
    lapack_int* iwork, lapack_int const* liwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_dstemr(...) LAPACK_dstemr_base(__VA_ARGS__, 1, 1)
#else
    #define LAPACK_dstemr(...) LAPACK_dstemr_base(__VA_ARGS__)
#endif

#define LAPACK_sstemr_base LAPACK_GLOBAL_SUFFIX(sstemr,SSTEMR)
void LAPACK_sstemr_base(
    char const* jobz, char const* range,
    lapack_int const* n,
    float* D,
    float* E,
    float const* vl,
    float const* vu, lapack_int const* il, lapack_int const* iu, lapack_int* m,
    float* W,
    float* Z, lapack_int const* ldz, lapack_int const* nzc, lapack_int* ISUPPZ, lapack_logical* tryrac,
    float* work, lapack_int const* lwork,
    lapack_int* iwork, lapack_int const* liwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_sstemr(...) LAPACK_sstemr_base(__VA_ARGS__, 1, 1)
#else
    #define LAPACK_sstemr(...) LAPACK_sstemr_base(__VA_ARGS__)
#endif

#define LAPACK_zstemr_base LAPACK_GLOBAL_SUFFIX(zstemr,ZSTEMR)
void LAPACK_zstemr_base(
    char const* jobz, char const* range,
    lapack_int const* n,
    double* D,
    double* E,
    double const* vl,
    double const* vu, lapack_int const* il, lapack_int const* iu, lapack_int* m,
    double* W,
    lapack_complex_double* Z, lapack_int const* ldz, lapack_int const* nzc, lapack_int* ISUPPZ, lapack_logical* tryrac,
    double* work, lapack_int const* lwork,
    lapack_int* iwork, lapack_int const* liwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_zstemr(...) LAPACK_zstemr_base(__VA_ARGS__, 1, 1)
#else
    #define LAPACK_zstemr(...) LAPACK_zstemr_base(__VA_ARGS__)
#endif

#define LAPACK_csteqr_base LAPACK_GLOBAL_SUFFIX(csteqr,CSTEQR)
void LAPACK_csteqr_base(
    char const* compz,
    lapack_int const* n,
    float* D,
    float* E,
    lapack_complex_float* Z, lapack_int const* ldz,
    float* work,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_csteqr(...) LAPACK_csteqr_base(__VA_ARGS__, 1)
#else
    #define LAPACK_csteqr(...) LAPACK_csteqr_base(__VA_ARGS__)
#endif

#define LAPACK_dsteqr_base LAPACK_GLOBAL_SUFFIX(dsteqr,DSTEQR)
void LAPACK_dsteqr_base(
    char const* compz,
    lapack_int const* n,
    double* D,
    double* E,
    double* Z, lapack_int const* ldz,
    double* work,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_dsteqr(...) LAPACK_dsteqr_base(__VA_ARGS__, 1)
#else
    #define LAPACK_dsteqr(...) LAPACK_dsteqr_base(__VA_ARGS__)
#endif

#define LAPACK_ssteqr_base LAPACK_GLOBAL_SUFFIX(ssteqr,SSTEQR)
void LAPACK_ssteqr_base(
    char const* compz,
    lapack_int const* n,
    float* D,
    float* E,
    float* Z, lapack_int const* ldz,
    float* work,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_ssteqr(...) LAPACK_ssteqr_base(__VA_ARGS__, 1)
#else
    #define LAPACK_ssteqr(...) LAPACK_ssteqr_base(__VA_ARGS__)
#endif

#define LAPACK_zsteqr_base LAPACK_GLOBAL_SUFFIX(zsteqr,ZSTEQR)
void LAPACK_zsteqr_base(
    char const* compz,
    lapack_int const* n,
    double* D,
    double* E,
    lapack_complex_double* Z, lapack_int const* ldz,
    double* work,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_zsteqr(...) LAPACK_zsteqr_base(__VA_ARGS__, 1)
#else
    #define LAPACK_zsteqr(...) LAPACK_zsteqr_base(__VA_ARGS__)
#endif

#define LAPACK_dsterf LAPACK_GLOBAL_SUFFIX(dsterf,DSTERF)
void LAPACK_dsterf(
    lapack_int const* n,
    double* D,
    double* E,
    lapack_int* info );

#define LAPACK_ssterf LAPACK_GLOBAL_SUFFIX(ssterf,SSTERF)
void LAPACK_ssterf(
    lapack_int const* n,
    float* D,
    float* E,
    lapack_int* info );

#define LAPACK_dstev_base LAPACK_GLOBAL_SUFFIX(dstev,DSTEV)
void LAPACK_dstev_base(
    char const* jobz,
    lapack_int const* n,
    double* D,
    double* E,
    double* Z, lapack_int const* ldz,
    double* work,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_dstev(...) LAPACK_dstev_base(__VA_ARGS__, 1)
#else
    #define LAPACK_dstev(...) LAPACK_dstev_base(__VA_ARGS__)
#endif

#define LAPACK_sstev_base LAPACK_GLOBAL_SUFFIX(sstev,SSTEV)
void LAPACK_sstev_base(
    char const* jobz,
    lapack_int const* n,
    float* D,
    float* E,
    float* Z, lapack_int const* ldz,
    float* work,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_sstev(...) LAPACK_sstev_base(__VA_ARGS__, 1)
#else
    #define LAPACK_sstev(...) LAPACK_sstev_base(__VA_ARGS__)
#endif

#define LAPACK_dstevd_base LAPACK_GLOBAL_SUFFIX(dstevd,DSTEVD)
void LAPACK_dstevd_base(
    char const* jobz,
    lapack_int const* n,
    double* D,
    double* E,
    double* Z, lapack_int const* ldz,
    double* work, lapack_int const* lwork,
    lapack_int* iwork, lapack_int const* liwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_dstevd(...) LAPACK_dstevd_base(__VA_ARGS__, 1)
#else
    #define LAPACK_dstevd(...) LAPACK_dstevd_base(__VA_ARGS__)
#endif

#define LAPACK_sstevd_base LAPACK_GLOBAL_SUFFIX(sstevd,SSTEVD)
void LAPACK_sstevd_base(
    char const* jobz,
    lapack_int const* n,
    float* D,
    float* E,
    float* Z, lapack_int const* ldz,
    float* work, lapack_int const* lwork,
    lapack_int* iwork, lapack_int const* liwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_sstevd(...) LAPACK_sstevd_base(__VA_ARGS__, 1)
#else
    #define LAPACK_sstevd(...) LAPACK_sstevd_base(__VA_ARGS__)
#endif

#define LAPACK_dstevr_base LAPACK_GLOBAL_SUFFIX(dstevr,DSTEVR)
void LAPACK_dstevr_base(
    char const* jobz, char const* range,
    lapack_int const* n,
    double* D,
    double* E,
    double const* vl,
    double const* vu, lapack_int const* il, lapack_int const* iu,
    double const* abstol, lapack_int* m,
    double* W,
    double* Z, lapack_int const* ldz, lapack_int* ISUPPZ,
    double* work, lapack_int const* lwork,
    lapack_int* iwork, lapack_int const* liwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_dstevr(...) LAPACK_dstevr_base(__VA_ARGS__, 1, 1)
#else
    #define LAPACK_dstevr(...) LAPACK_dstevr_base(__VA_ARGS__)
#endif

#define LAPACK_sstevr_base LAPACK_GLOBAL_SUFFIX(sstevr,SSTEVR)
void LAPACK_sstevr_base(
    char const* jobz, char const* range,
    lapack_int const* n,
    float* D,
    float* E,
    float const* vl,
    float const* vu, lapack_int const* il, lapack_int const* iu,
    float const* abstol, lapack_int* m,
    float* W,
    float* Z, lapack_int const* ldz, lapack_int* ISUPPZ,
    float* work, lapack_int const* lwork,
    lapack_int* iwork, lapack_int const* liwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_sstevr(...) LAPACK_sstevr_base(__VA_ARGS__, 1, 1)
#else
    #define LAPACK_sstevr(...) LAPACK_sstevr_base(__VA_ARGS__)
#endif

#define LAPACK_dstevx_base LAPACK_GLOBAL_SUFFIX(dstevx,DSTEVX)
void LAPACK_dstevx_base(
    char const* jobz, char const* range,
    lapack_int const* n,
    double* D,
    double* E,
    double const* vl,
    double const* vu, lapack_int const* il, lapack_int const* iu,
    double const* abstol, lapack_int* m,
    double* W,
    double* Z, lapack_int const* ldz,
    double* work,
    lapack_int* iwork, lapack_int* IFAIL,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_dstevx(...) LAPACK_dstevx_base(__VA_ARGS__, 1, 1)
#else
    #define LAPACK_dstevx(...) LAPACK_dstevx_base(__VA_ARGS__)
#endif

#define LAPACK_sstevx_base LAPACK_GLOBAL_SUFFIX(sstevx,SSTEVX)
void LAPACK_sstevx_base(
    char const* jobz, char const* range,
    lapack_int const* n,
    float* D,
    float* E,
    float const* vl,
    float const* vu, lapack_int const* il, lapack_int const* iu,
    float const* abstol, lapack_int* m,
    float* W,
    float* Z, lapack_int const* ldz,
    float* work,
    lapack_int* iwork, lapack_int* IFAIL,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_sstevx(...) LAPACK_sstevx_base(__VA_ARGS__, 1, 1)
#else
    #define LAPACK_sstevx(...) LAPACK_sstevx_base(__VA_ARGS__)
#endif

#define LAPACK_csycon_base LAPACK_GLOBAL_SUFFIX(csycon,CSYCON)
void LAPACK_csycon_base(
    char const* uplo,
    lapack_int const* n,
    lapack_complex_float const* A, lapack_int const* lda, lapack_int const* ipiv,
    float const* anorm,
    float* rcond,
    lapack_complex_float* work,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_csycon(...) LAPACK_csycon_base(__VA_ARGS__, 1)
#else
    #define LAPACK_csycon(...) LAPACK_csycon_base(__VA_ARGS__)
#endif

#define LAPACK_dsycon_base LAPACK_GLOBAL_SUFFIX(dsycon,DSYCON)
void LAPACK_dsycon_base(
    char const* uplo,
    lapack_int const* n,
    double const* A, lapack_int const* lda, lapack_int const* ipiv,
    double const* anorm,
    double* rcond,
    double* work,
    lapack_int* iwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_dsycon(...) LAPACK_dsycon_base(__VA_ARGS__, 1)
#else
    #define LAPACK_dsycon(...) LAPACK_dsycon_base(__VA_ARGS__)
#endif

#define LAPACK_ssycon_base LAPACK_GLOBAL_SUFFIX(ssycon,SSYCON)
void LAPACK_ssycon_base(
    char const* uplo,
    lapack_int const* n,
    float const* A, lapack_int const* lda, lapack_int const* ipiv,
    float const* anorm,
    float* rcond,
    float* work,
    lapack_int* iwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_ssycon(...) LAPACK_ssycon_base(__VA_ARGS__, 1)
#else
    #define LAPACK_ssycon(...) LAPACK_ssycon_base(__VA_ARGS__)
#endif

#define LAPACK_zsycon_base LAPACK_GLOBAL_SUFFIX(zsycon,ZSYCON)
void LAPACK_zsycon_base(
    char const* uplo,
    lapack_int const* n,
    lapack_complex_double const* A, lapack_int const* lda, lapack_int const* ipiv,
    double const* anorm,
    double* rcond,
    lapack_complex_double* work,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_zsycon(...) LAPACK_zsycon_base(__VA_ARGS__, 1)
#else
    #define LAPACK_zsycon(...) LAPACK_zsycon_base(__VA_ARGS__)
#endif

#define LAPACK_csycon_3_base LAPACK_GLOBAL_SUFFIX(csycon_3,CSYCON_3)
void LAPACK_csycon_3_base(
    char const* uplo,
    lapack_int const* n,
    lapack_complex_float const* A, lapack_int const* lda,
    lapack_complex_float const* E, lapack_int const* ipiv,
    float const* anorm,
    float* rcond,
    lapack_complex_float* work,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_csycon_3(...) LAPACK_csycon_3_base(__VA_ARGS__, 1)
#else
    #define LAPACK_csycon_3(...) LAPACK_csycon_3_base(__VA_ARGS__)
#endif

#define LAPACK_dsycon_3_base LAPACK_GLOBAL_SUFFIX(dsycon_3,DSYCON_3)
void LAPACK_dsycon_3_base(
    char const* uplo,
    lapack_int const* n,
    double const* A, lapack_int const* lda,
    double const* E, lapack_int const* ipiv,
    double const* anorm,
    double* rcond,
    double* work,
    lapack_int* iwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_dsycon_3(...) LAPACK_dsycon_3_base(__VA_ARGS__, 1)
#else
    #define LAPACK_dsycon_3(...) LAPACK_dsycon_3_base(__VA_ARGS__)
#endif

#define LAPACK_ssycon_3_base LAPACK_GLOBAL_SUFFIX(ssycon_3,SSYCON_3)
void LAPACK_ssycon_3_base(
    char const* uplo,
    lapack_int const* n,
    float const* A, lapack_int const* lda,
    float const* E, lapack_int const* ipiv,
    float const* anorm,
    float* rcond,
    float* work,
    lapack_int* iwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_ssycon_3(...) LAPACK_ssycon_3_base(__VA_ARGS__, 1)
#else
    #define LAPACK_ssycon_3(...) LAPACK_ssycon_3_base(__VA_ARGS__)
#endif

#define LAPACK_zsycon_3_base LAPACK_GLOBAL_SUFFIX(zsycon_3,ZSYCON_3)
void LAPACK_zsycon_3_base(
    char const* uplo,
    lapack_int const* n,
    lapack_complex_double const* A, lapack_int const* lda,
    lapack_complex_double const* E, lapack_int const* ipiv,
    double const* anorm,
    double* rcond,
    lapack_complex_double* work,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_zsycon_3(...) LAPACK_zsycon_3_base(__VA_ARGS__, 1)
#else
    #define LAPACK_zsycon_3(...) LAPACK_zsycon_3_base(__VA_ARGS__)
#endif

#define LAPACK_csyconv_base LAPACK_GLOBAL_SUFFIX(csyconv,CSYCONV)
void LAPACK_csyconv_base(
    char const* uplo, char const* way,
    lapack_int const* n,
    lapack_complex_float* A, lapack_int const* lda, lapack_int const* ipiv,
    lapack_complex_float* E,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_csyconv(...) LAPACK_csyconv_base(__VA_ARGS__, 1, 1)
#else
    #define LAPACK_csyconv(...) LAPACK_csyconv_base(__VA_ARGS__)
#endif

#define LAPACK_dsyconv_base LAPACK_GLOBAL_SUFFIX(dsyconv,DSYCONV)
void LAPACK_dsyconv_base(
    char const* uplo, char const* way,
    lapack_int const* n,
    double* A, lapack_int const* lda, lapack_int const* ipiv,
    double* E,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_dsyconv(...) LAPACK_dsyconv_base(__VA_ARGS__, 1, 1)
#else
    #define LAPACK_dsyconv(...) LAPACK_dsyconv_base(__VA_ARGS__)
#endif

#define LAPACK_ssyconv_base LAPACK_GLOBAL_SUFFIX(ssyconv,SSYCONV)
void LAPACK_ssyconv_base(
    char const* uplo, char const* way,
    lapack_int const* n,
    float* A, lapack_int const* lda, lapack_int const* ipiv,
    float* E,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_ssyconv(...) LAPACK_ssyconv_base(__VA_ARGS__, 1, 1)
#else
    #define LAPACK_ssyconv(...) LAPACK_ssyconv_base(__VA_ARGS__)
#endif

#define LAPACK_zsyconv_base LAPACK_GLOBAL_SUFFIX(zsyconv,ZSYCONV)
void LAPACK_zsyconv_base(
    char const* uplo, char const* way,
    lapack_int const* n,
    lapack_complex_double* A, lapack_int const* lda, lapack_int const* ipiv,
    lapack_complex_double* E,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_zsyconv(...) LAPACK_zsyconv_base(__VA_ARGS__, 1, 1)
#else
    #define LAPACK_zsyconv(...) LAPACK_zsyconv_base(__VA_ARGS__)
#endif

#define LAPACK_csyequb_base LAPACK_GLOBAL_SUFFIX(csyequb,CSYEQUB)
void LAPACK_csyequb_base(
    char const* uplo,
    lapack_int const* n,
    lapack_complex_float const* A, lapack_int const* lda,
    float* S,
    float* scond,
    float* amax,
    lapack_complex_float* work,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_csyequb(...) LAPACK_csyequb_base(__VA_ARGS__, 1)
#else
    #define LAPACK_csyequb(...) LAPACK_csyequb_base(__VA_ARGS__)
#endif

#define LAPACK_dsyequb_base LAPACK_GLOBAL_SUFFIX(dsyequb,DSYEQUB)
void LAPACK_dsyequb_base(
    char const* uplo,
    lapack_int const* n,
    double const* A, lapack_int const* lda,
    double* S,
    double* scond,
    double* amax,
    double* work,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_dsyequb(...) LAPACK_dsyequb_base(__VA_ARGS__, 1)
#else
    #define LAPACK_dsyequb(...) LAPACK_dsyequb_base(__VA_ARGS__)
#endif

#define LAPACK_ssyequb_base LAPACK_GLOBAL_SUFFIX(ssyequb,SSYEQUB)
void LAPACK_ssyequb_base(
    char const* uplo,
    lapack_int const* n,
    float const* A, lapack_int const* lda,
    float* S,
    float* scond,
    float* amax,
    float* work,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_ssyequb(...) LAPACK_ssyequb_base(__VA_ARGS__, 1)
#else
    #define LAPACK_ssyequb(...) LAPACK_ssyequb_base(__VA_ARGS__)
#endif

#define LAPACK_zsyequb_base LAPACK_GLOBAL_SUFFIX(zsyequb,ZSYEQUB)
void LAPACK_zsyequb_base(
    char const* uplo,
    lapack_int const* n,
    lapack_complex_double const* A, lapack_int const* lda,
    double* S,
    double* scond,
    double* amax,
    lapack_complex_double* work,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_zsyequb(...) LAPACK_zsyequb_base(__VA_ARGS__, 1)
#else
    #define LAPACK_zsyequb(...) LAPACK_zsyequb_base(__VA_ARGS__)
#endif

#define LAPACK_dsyev_base LAPACK_GLOBAL_SUFFIX(dsyev,DSYEV)
void LAPACK_dsyev_base(
    char const* jobz, char const* uplo,
    lapack_int const* n,
    double* A, lapack_int const* lda,
    double* W,
    double* work, lapack_int const* lwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_dsyev(...) LAPACK_dsyev_base(__VA_ARGS__, 1, 1)
#else
    #define LAPACK_dsyev(...) LAPACK_dsyev_base(__VA_ARGS__)
#endif

#define LAPACK_ssyev_base LAPACK_GLOBAL_SUFFIX(ssyev,SSYEV)
void LAPACK_ssyev_base(
    char const* jobz, char const* uplo,
    lapack_int const* n,
    float* A, lapack_int const* lda,
    float* W,
    float* work, lapack_int const* lwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_ssyev(...) LAPACK_ssyev_base(__VA_ARGS__, 1, 1)
#else
    #define LAPACK_ssyev(...) LAPACK_ssyev_base(__VA_ARGS__)
#endif

#define LAPACK_dsyev_2stage_base LAPACK_GLOBAL_SUFFIX(dsyev_2stage,DSYEV_2STAGE)
void LAPACK_dsyev_2stage_base(
    char const* jobz, char const* uplo,
    lapack_int const* n,
    double* A, lapack_int const* lda,
    double* W,
    double* work, lapack_int const* lwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_dsyev_2stage(...) LAPACK_dsyev_2stage_base(__VA_ARGS__, 1, 1)
#else
    #define LAPACK_dsyev_2stage(...) LAPACK_dsyev_2stage_base(__VA_ARGS__)
#endif

#define LAPACK_ssyev_2stage_base LAPACK_GLOBAL_SUFFIX(ssyev_2stage,SSYEV_2STAGE)
void LAPACK_ssyev_2stage_base(
    char const* jobz, char const* uplo,
    lapack_int const* n,
    float* A, lapack_int const* lda,
    float* W,
    float* work, lapack_int const* lwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_ssyev_2stage(...) LAPACK_ssyev_2stage_base(__VA_ARGS__, 1, 1)
#else
    #define LAPACK_ssyev_2stage(...) LAPACK_ssyev_2stage_base(__VA_ARGS__)
#endif

#define LAPACK_dsyevd_base LAPACK_GLOBAL_SUFFIX(dsyevd,DSYEVD)
void LAPACK_dsyevd_base(
    char const* jobz, char const* uplo,
    lapack_int const* n,
    double* A, lapack_int const* lda,
    double* W,
    double* work, lapack_int const* lwork,
    lapack_int* iwork, lapack_int const* liwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_dsyevd(...) LAPACK_dsyevd_base(__VA_ARGS__, 1, 1)
#else
    #define LAPACK_dsyevd(...) LAPACK_dsyevd_base(__VA_ARGS__)
#endif

#define LAPACK_ssyevd_base LAPACK_GLOBAL_SUFFIX(ssyevd,SSYEVD)
void LAPACK_ssyevd_base(
    char const* jobz, char const* uplo,
    lapack_int const* n,
    float* A, lapack_int const* lda,
    float* W,
    float* work, lapack_int const* lwork,
    lapack_int* iwork, lapack_int const* liwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_ssyevd(...) LAPACK_ssyevd_base(__VA_ARGS__, 1, 1)
#else
    #define LAPACK_ssyevd(...) LAPACK_ssyevd_base(__VA_ARGS__)
#endif

#define LAPACK_dsyevd_2stage_base LAPACK_GLOBAL_SUFFIX(dsyevd_2stage,DSYEVD_2STAGE)
void LAPACK_dsyevd_2stage_base(
    char const* jobz, char const* uplo,
    lapack_int const* n,
    double* A, lapack_int const* lda,
    double* W,
    double* work, lapack_int const* lwork,
    lapack_int* iwork, lapack_int const* liwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_dsyevd_2stage(...) LAPACK_dsyevd_2stage_base(__VA_ARGS__, 1, 1)
#else
    #define LAPACK_dsyevd_2stage(...) LAPACK_dsyevd_2stage_base(__VA_ARGS__)
#endif

#define LAPACK_ssyevd_2stage_base LAPACK_GLOBAL_SUFFIX(ssyevd_2stage,SSYEVD_2STAGE)
void LAPACK_ssyevd_2stage_base(
    char const* jobz, char const* uplo,
    lapack_int const* n,
    float* A, lapack_int const* lda,
    float* W,
    float* work, lapack_int const* lwork,
    lapack_int* iwork, lapack_int const* liwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_ssyevd_2stage(...) LAPACK_ssyevd_2stage_base(__VA_ARGS__, 1, 1)
#else
    #define LAPACK_ssyevd_2stage(...) LAPACK_ssyevd_2stage_base(__VA_ARGS__)
#endif

#define LAPACK_dsyevr_base LAPACK_GLOBAL_SUFFIX(dsyevr,DSYEVR)
void LAPACK_dsyevr_base(
    char const* jobz, char const* range, char const* uplo,
    lapack_int const* n,
    double* A, lapack_int const* lda,
    double const* vl,
    double const* vu, lapack_int const* il, lapack_int const* iu,
    double const* abstol, lapack_int* m,
    double* W,
    double* Z, lapack_int const* ldz, lapack_int* ISUPPZ,
    double* work, lapack_int const* lwork,
    lapack_int* iwork, lapack_int const* liwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_dsyevr(...) LAPACK_dsyevr_base(__VA_ARGS__, 1, 1, 1)
#else
    #define LAPACK_dsyevr(...) LAPACK_dsyevr_base(__VA_ARGS__)
#endif

#define LAPACK_ssyevr_base LAPACK_GLOBAL_SUFFIX(ssyevr,SSYEVR)
void LAPACK_ssyevr_base(
    char const* jobz, char const* range, char const* uplo,
    lapack_int const* n,
    float* A, lapack_int const* lda,
    float const* vl,
    float const* vu, lapack_int const* il, lapack_int const* iu,
    float const* abstol, lapack_int* m,
    float* W,
    float* Z, lapack_int const* ldz, lapack_int* ISUPPZ,
    float* work, lapack_int const* lwork,
    lapack_int* iwork, lapack_int const* liwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_ssyevr(...) LAPACK_ssyevr_base(__VA_ARGS__, 1, 1, 1)
#else
    #define LAPACK_ssyevr(...) LAPACK_ssyevr_base(__VA_ARGS__)
#endif

#define LAPACK_dsyevr_2stage_base LAPACK_GLOBAL_SUFFIX(dsyevr_2stage,DSYEVR_2STAGE)
void LAPACK_dsyevr_2stage_base(
    char const* jobz, char const* range, char const* uplo,
    lapack_int const* n,
    double* A, lapack_int const* lda,
    double const* vl,
    double const* vu, lapack_int const* il, lapack_int const* iu,
    double const* abstol, lapack_int* m,
    double* W,
    double* Z, lapack_int const* ldz, lapack_int* ISUPPZ,
    double* work, lapack_int const* lwork,
    lapack_int* iwork, lapack_int const* liwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_dsyevr_2stage(...) LAPACK_dsyevr_2stage_base(__VA_ARGS__, 1, 1, 1)
#else
    #define LAPACK_dsyevr_2stage(...) LAPACK_dsyevr_2stage_base(__VA_ARGS__)
#endif

#define LAPACK_ssyevr_2stage_base LAPACK_GLOBAL_SUFFIX(ssyevr_2stage,SSYEVR_2STAGE)
void LAPACK_ssyevr_2stage_base(
    char const* jobz, char const* range, char const* uplo,
    lapack_int const* n,
    float* A, lapack_int const* lda,
    float const* vl,
    float const* vu, lapack_int const* il, lapack_int const* iu,
    float const* abstol, lapack_int* m,
    float* W,
    float* Z, lapack_int const* ldz, lapack_int* ISUPPZ,
    float* work, lapack_int const* lwork,
    lapack_int* iwork, lapack_int const* liwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_ssyevr_2stage(...) LAPACK_ssyevr_2stage_base(__VA_ARGS__, 1, 1, 1)
#else
    #define LAPACK_ssyevr_2stage(...) LAPACK_ssyevr_2stage_base(__VA_ARGS__)
#endif

#define LAPACK_dsyevx_base LAPACK_GLOBAL_SUFFIX(dsyevx,DSYEVX)
void LAPACK_dsyevx_base(
    char const* jobz, char const* range, char const* uplo,
    lapack_int const* n,
    double* A, lapack_int const* lda,
    double const* vl,
    double const* vu, lapack_int const* il, lapack_int const* iu,
    double const* abstol, lapack_int* m,
    double* W,
    double* Z, lapack_int const* ldz,
    double* work, lapack_int const* lwork,
    lapack_int* iwork, lapack_int* IFAIL,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_dsyevx(...) LAPACK_dsyevx_base(__VA_ARGS__, 1, 1, 1)
#else
    #define LAPACK_dsyevx(...) LAPACK_dsyevx_base(__VA_ARGS__)
#endif

#define LAPACK_ssyevx_base LAPACK_GLOBAL_SUFFIX(ssyevx,SSYEVX)
void LAPACK_ssyevx_base(
    char const* jobz, char const* range, char const* uplo,
    lapack_int const* n,
    float* A, lapack_int const* lda,
    float const* vl,
    float const* vu, lapack_int const* il, lapack_int const* iu,
    float const* abstol, lapack_int* m,
    float* W,
    float* Z, lapack_int const* ldz,
    float* work, lapack_int const* lwork,
    lapack_int* iwork, lapack_int* IFAIL,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_ssyevx(...) LAPACK_ssyevx_base(__VA_ARGS__, 1, 1, 1)
#else
    #define LAPACK_ssyevx(...) LAPACK_ssyevx_base(__VA_ARGS__)
#endif

#define LAPACK_dsyevx_2stage_base LAPACK_GLOBAL_SUFFIX(dsyevx_2stage,DSYEVX_2STAGE)
void LAPACK_dsyevx_2stage_base(
    char const* jobz, char const* range, char const* uplo,
    lapack_int const* n,
    double* A, lapack_int const* lda,
    double const* vl,
    double const* vu, lapack_int const* il, lapack_int const* iu,
    double const* abstol, lapack_int* m,
    double* W,
    double* Z, lapack_int const* ldz,
    double* work, lapack_int const* lwork,
    lapack_int* iwork, lapack_int* IFAIL,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_dsyevx_2stage(...) LAPACK_dsyevx_2stage_base(__VA_ARGS__, 1, 1, 1)
#else
    #define LAPACK_dsyevx_2stage(...) LAPACK_dsyevx_2stage_base(__VA_ARGS__)
#endif

#define LAPACK_ssyevx_2stage_base LAPACK_GLOBAL_SUFFIX(ssyevx_2stage,SSYEVX_2STAGE)
void LAPACK_ssyevx_2stage_base(
    char const* jobz, char const* range, char const* uplo,
    lapack_int const* n,
    float* A, lapack_int const* lda,
    float const* vl,
    float const* vu, lapack_int const* il, lapack_int const* iu,
    float const* abstol, lapack_int* m,
    float* W,
    float* Z, lapack_int const* ldz,
    float* work, lapack_int const* lwork,
    lapack_int* iwork, lapack_int* IFAIL,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_ssyevx_2stage(...) LAPACK_ssyevx_2stage_base(__VA_ARGS__, 1, 1, 1)
#else
    #define LAPACK_ssyevx_2stage(...) LAPACK_ssyevx_2stage_base(__VA_ARGS__)
#endif

#define LAPACK_dsygst_base LAPACK_GLOBAL_SUFFIX(dsygst,DSYGST)
void LAPACK_dsygst_base(
    lapack_int const* itype, char const* uplo,
    lapack_int const* n,
    double* A, lapack_int const* lda,
    double const* B, lapack_int const* ldb,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_dsygst(...) LAPACK_dsygst_base(__VA_ARGS__, 1)
#else
    #define LAPACK_dsygst(...) LAPACK_dsygst_base(__VA_ARGS__)
#endif

#define LAPACK_ssygst_base LAPACK_GLOBAL_SUFFIX(ssygst,SSYGST)
void LAPACK_ssygst_base(
    lapack_int const* itype, char const* uplo,
    lapack_int const* n,
    float* A, lapack_int const* lda,
    float const* B, lapack_int const* ldb,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_ssygst(...) LAPACK_ssygst_base(__VA_ARGS__, 1)
#else
    #define LAPACK_ssygst(...) LAPACK_ssygst_base(__VA_ARGS__)
#endif

#define LAPACK_dsygv_base LAPACK_GLOBAL_SUFFIX(dsygv,DSYGV)
void LAPACK_dsygv_base(
    lapack_int const* itype, char const* jobz, char const* uplo,
    lapack_int const* n,
    double* A, lapack_int const* lda,
    double* B, lapack_int const* ldb,
    double* W,
    double* work, lapack_int const* lwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_dsygv(...) LAPACK_dsygv_base(__VA_ARGS__, 1, 1)
#else
    #define LAPACK_dsygv(...) LAPACK_dsygv_base(__VA_ARGS__)
#endif

#define LAPACK_ssygv_base LAPACK_GLOBAL_SUFFIX(ssygv,SSYGV)
void LAPACK_ssygv_base(
    lapack_int const* itype, char const* jobz, char const* uplo,
    lapack_int const* n,
    float* A, lapack_int const* lda,
    float* B, lapack_int const* ldb,
    float* W,
    float* work, lapack_int const* lwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_ssygv(...) LAPACK_ssygv_base(__VA_ARGS__, 1, 1)
#else
    #define LAPACK_ssygv(...) LAPACK_ssygv_base(__VA_ARGS__)
#endif

#define LAPACK_dsygv_2stage_base LAPACK_GLOBAL_SUFFIX(dsygv_2stage,DSYGV_2STAGE)
void LAPACK_dsygv_2stage_base(
    lapack_int const* itype, char const* jobz, char const* uplo,
    lapack_int const* n,
    double* A, lapack_int const* lda,
    double* B, lapack_int const* ldb,
    double* W,
    double* work, lapack_int const* lwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_dsygv_2stage(...) LAPACK_dsygv_2stage_base(__VA_ARGS__, 1, 1)
#else
    #define LAPACK_dsygv_2stage(...) LAPACK_dsygv_2stage_base(__VA_ARGS__)
#endif

#define LAPACK_ssygv_2stage_base LAPACK_GLOBAL_SUFFIX(ssygv_2stage,SSYGV_2STAGE)
void LAPACK_ssygv_2stage_base(
    lapack_int const* itype, char const* jobz, char const* uplo,
    lapack_int const* n,
    float* A, lapack_int const* lda,
    float* B, lapack_int const* ldb,
    float* W,
    float* work, lapack_int const* lwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_ssygv_2stage(...) LAPACK_ssygv_2stage_base(__VA_ARGS__, 1, 1)
#else
    #define LAPACK_ssygv_2stage(...) LAPACK_ssygv_2stage_base(__VA_ARGS__)
#endif

#define LAPACK_dsygvd_base LAPACK_GLOBAL_SUFFIX(dsygvd,DSYGVD)
void LAPACK_dsygvd_base(
    lapack_int const* itype, char const* jobz, char const* uplo,
    lapack_int const* n,
    double* A, lapack_int const* lda,
    double* B, lapack_int const* ldb,
    double* W,
    double* work, lapack_int const* lwork,
    lapack_int* iwork, lapack_int const* liwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_dsygvd(...) LAPACK_dsygvd_base(__VA_ARGS__, 1, 1)
#else
    #define LAPACK_dsygvd(...) LAPACK_dsygvd_base(__VA_ARGS__)
#endif

#define LAPACK_ssygvd_base LAPACK_GLOBAL_SUFFIX(ssygvd,SSYGVD)
void LAPACK_ssygvd_base(
    lapack_int const* itype, char const* jobz, char const* uplo,
    lapack_int const* n,
    float* A, lapack_int const* lda,
    float* B, lapack_int const* ldb,
    float* W,
    float* work, lapack_int const* lwork,
    lapack_int* iwork, lapack_int const* liwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_ssygvd(...) LAPACK_ssygvd_base(__VA_ARGS__, 1, 1)
#else
    #define LAPACK_ssygvd(...) LAPACK_ssygvd_base(__VA_ARGS__)
#endif

#define LAPACK_dsygvx_base LAPACK_GLOBAL_SUFFIX(dsygvx,DSYGVX)
void LAPACK_dsygvx_base(
    lapack_int const* itype, char const* jobz, char const* range, char const* uplo,
    lapack_int const* n,
    double* A, lapack_int const* lda,
    double* B, lapack_int const* ldb,
    double const* vl,
    double const* vu, lapack_int const* il, lapack_int const* iu,
    double const* abstol, lapack_int* m,
    double* W,
    double* Z, lapack_int const* ldz,
    double* work, lapack_int const* lwork,
    lapack_int* iwork, lapack_int* IFAIL,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_dsygvx(...) LAPACK_dsygvx_base(__VA_ARGS__, 1, 1, 1)
#else
    #define LAPACK_dsygvx(...) LAPACK_dsygvx_base(__VA_ARGS__)
#endif

#define LAPACK_ssygvx_base LAPACK_GLOBAL_SUFFIX(ssygvx,SSYGVX)
void LAPACK_ssygvx_base(
    lapack_int const* itype, char const* jobz, char const* range, char const* uplo,
    lapack_int const* n,
    float* A, lapack_int const* lda,
    float* B, lapack_int const* ldb,
    float const* vl,
    float const* vu, lapack_int const* il, lapack_int const* iu,
    float const* abstol, lapack_int* m,
    float* W,
    float* Z, lapack_int const* ldz,
    float* work, lapack_int const* lwork,
    lapack_int* iwork, lapack_int* IFAIL,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_ssygvx(...) LAPACK_ssygvx_base(__VA_ARGS__, 1, 1, 1)
#else
    #define LAPACK_ssygvx(...) LAPACK_ssygvx_base(__VA_ARGS__)
#endif

#define LAPACK_csyr_base LAPACK_GLOBAL_SUFFIX(csyr,CSYR)
void LAPACK_csyr_base(
    char const* uplo,
    lapack_int const* n,
    lapack_complex_float const* alpha,
    lapack_complex_float const* X, lapack_int const* incx,
    lapack_complex_float* A, lapack_int const* lda
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_csyr(...) LAPACK_csyr_base(__VA_ARGS__, 1)
#else
    #define LAPACK_csyr(...) LAPACK_csyr_base(__VA_ARGS__)
#endif

#define LAPACK_zsyr_base LAPACK_GLOBAL_SUFFIX(zsyr,ZSYR)
void LAPACK_zsyr_base(
    char const* uplo,
    lapack_int const* n,
    lapack_complex_double const* alpha,
    lapack_complex_double const* X, lapack_int const* incx,
    lapack_complex_double* A, lapack_int const* lda
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_zsyr(...) LAPACK_zsyr_base(__VA_ARGS__, 1)
#else
    #define LAPACK_zsyr(...) LAPACK_zsyr_base(__VA_ARGS__)
#endif

#define LAPACK_csyrfs_base LAPACK_GLOBAL_SUFFIX(csyrfs,CSYRFS)
void LAPACK_csyrfs_base(
    char const* uplo,
    lapack_int const* n, lapack_int const* nrhs,
    lapack_complex_float const* A, lapack_int const* lda,
    lapack_complex_float const* AF, lapack_int const* ldaf, lapack_int const* ipiv,
    lapack_complex_float const* B, lapack_int const* ldb,
    lapack_complex_float* X, lapack_int const* ldx,
    float* ferr,
    float* berr,
    lapack_complex_float* work,
    float* rwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_csyrfs(...) LAPACK_csyrfs_base(__VA_ARGS__, 1)
#else
    #define LAPACK_csyrfs(...) LAPACK_csyrfs_base(__VA_ARGS__)
#endif

#define LAPACK_dsyrfs_base LAPACK_GLOBAL_SUFFIX(dsyrfs,DSYRFS)
void LAPACK_dsyrfs_base(
    char const* uplo,
    lapack_int const* n, lapack_int const* nrhs,
    double const* A, lapack_int const* lda,
    double const* AF, lapack_int const* ldaf, lapack_int const* ipiv,
    double const* B, lapack_int const* ldb,
    double* X, lapack_int const* ldx,
    double* ferr,
    double* berr,
    double* work,
    lapack_int* iwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_dsyrfs(...) LAPACK_dsyrfs_base(__VA_ARGS__, 1)
#else
    #define LAPACK_dsyrfs(...) LAPACK_dsyrfs_base(__VA_ARGS__)
#endif

#define LAPACK_ssyrfs_base LAPACK_GLOBAL_SUFFIX(ssyrfs,SSYRFS)
void LAPACK_ssyrfs_base(
    char const* uplo,
    lapack_int const* n, lapack_int const* nrhs,
    float const* A, lapack_int const* lda,
    float const* AF, lapack_int const* ldaf, lapack_int const* ipiv,
    float const* B, lapack_int const* ldb,
    float* X, lapack_int const* ldx,
    float* ferr,
    float* berr,
    float* work,
    lapack_int* iwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_ssyrfs(...) LAPACK_ssyrfs_base(__VA_ARGS__, 1)
#else
    #define LAPACK_ssyrfs(...) LAPACK_ssyrfs_base(__VA_ARGS__)
#endif

#define LAPACK_zsyrfs_base LAPACK_GLOBAL_SUFFIX(zsyrfs,ZSYRFS)
void LAPACK_zsyrfs_base(
    char const* uplo,
    lapack_int const* n, lapack_int const* nrhs,
    lapack_complex_double const* A, lapack_int const* lda,
    lapack_complex_double const* AF, lapack_int const* ldaf, lapack_int const* ipiv,
    lapack_complex_double const* B, lapack_int const* ldb,
    lapack_complex_double* X, lapack_int const* ldx,
    double* ferr,
    double* berr,
    lapack_complex_double* work,
    double* rwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_zsyrfs(...) LAPACK_zsyrfs_base(__VA_ARGS__, 1)
#else
    #define LAPACK_zsyrfs(...) LAPACK_zsyrfs_base(__VA_ARGS__)
#endif

#define LAPACK_csyrfsx_base LAPACK_GLOBAL_SUFFIX(csyrfsx,CSYRFSX)
void LAPACK_csyrfsx_base(
    char const* uplo, char const* equed,
    lapack_int const* n, lapack_int const* nrhs,
    lapack_complex_float const* A, lapack_int const* lda,
    lapack_complex_float const* AF, lapack_int const* ldaf, lapack_int const* ipiv,
    const float* S,
    lapack_complex_float const* B, lapack_int const* ldb,
    lapack_complex_float* X, lapack_int const* ldx,
    float* rcond,
    float* berr, lapack_int const* n_err_bnds,
    float* err_bnds_norm,
    float* err_bnds_comp, lapack_int const* nparams,
    float* params,
    lapack_complex_float* work,
    float* rwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_csyrfsx(...) LAPACK_csyrfsx_base(__VA_ARGS__, 1, 1)
#else
    #define LAPACK_csyrfsx(...) LAPACK_csyrfsx_base(__VA_ARGS__)
#endif

#define LAPACK_dsyrfsx_base LAPACK_GLOBAL_SUFFIX(dsyrfsx,DSYRFSX)
void LAPACK_dsyrfsx_base(
    char const* uplo, char const* equed,
    lapack_int const* n, lapack_int const* nrhs,
    double const* A, lapack_int const* lda,
    double const* AF, lapack_int const* ldaf, lapack_int const* ipiv,
    const double* S,
    double const* B, lapack_int const* ldb,
    double* X, lapack_int const* ldx,
    double* rcond,
    double* berr, lapack_int const* n_err_bnds,
    double* err_bnds_norm,
    double* err_bnds_comp, lapack_int const* nparams,
    double* params,
    double* work,
    lapack_int* iwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_dsyrfsx(...) LAPACK_dsyrfsx_base(__VA_ARGS__, 1, 1)
#else
    #define LAPACK_dsyrfsx(...) LAPACK_dsyrfsx_base(__VA_ARGS__)
#endif

#define LAPACK_ssyrfsx_base LAPACK_GLOBAL_SUFFIX(ssyrfsx,SSYRFSX)
void LAPACK_ssyrfsx_base(
    char const* uplo, char const* equed,
    lapack_int const* n, lapack_int const* nrhs,
    float const* A, lapack_int const* lda,
    float const* AF, lapack_int const* ldaf, lapack_int const* ipiv,
    const float* S,
    float const* B, lapack_int const* ldb,
    float* X, lapack_int const* ldx,
    float* rcond,
    float* berr, lapack_int const* n_err_bnds,
    float* err_bnds_norm,
    float* err_bnds_comp, lapack_int const* nparams,
    float* params,
    float* work,
    lapack_int* iwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_ssyrfsx(...) LAPACK_ssyrfsx_base(__VA_ARGS__, 1, 1)
#else
    #define LAPACK_ssyrfsx(...) LAPACK_ssyrfsx_base(__VA_ARGS__)
#endif

#define LAPACK_zsyrfsx_base LAPACK_GLOBAL_SUFFIX(zsyrfsx,ZSYRFSX)
void LAPACK_zsyrfsx_base(
    char const* uplo, char const* equed,
    lapack_int const* n, lapack_int const* nrhs,
    lapack_complex_double const* A, lapack_int const* lda,
    lapack_complex_double const* AF, lapack_int const* ldaf, lapack_int const* ipiv,
    const double* S,
    lapack_complex_double const* B, lapack_int const* ldb,
    lapack_complex_double* X, lapack_int const* ldx,
    double* rcond,
    double* berr, lapack_int const* n_err_bnds,
    double* err_bnds_norm,
    double* err_bnds_comp, lapack_int const* nparams,
    double* params,
    lapack_complex_double* work,
    double* rwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_zsyrfsx(...) LAPACK_zsyrfsx_base(__VA_ARGS__, 1, 1)
#else
    #define LAPACK_zsyrfsx(...) LAPACK_zsyrfsx_base(__VA_ARGS__)
#endif

#define LAPACK_csysv_base LAPACK_GLOBAL_SUFFIX(csysv,CSYSV)
void LAPACK_csysv_base(
    char const* uplo,
    lapack_int const* n, lapack_int const* nrhs,
    lapack_complex_float* A, lapack_int const* lda, lapack_int* ipiv,
    lapack_complex_float* B, lapack_int const* ldb,
    lapack_complex_float* work, lapack_int const* lwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_csysv(...) LAPACK_csysv_base(__VA_ARGS__, 1)
#else
    #define LAPACK_csysv(...) LAPACK_csysv_base(__VA_ARGS__)
#endif

#define LAPACK_dsysv_base LAPACK_GLOBAL_SUFFIX(dsysv,DSYSV)
void LAPACK_dsysv_base(
    char const* uplo,
    lapack_int const* n, lapack_int const* nrhs,
    double* A, lapack_int const* lda, lapack_int* ipiv,
    double* B, lapack_int const* ldb,
    double* work, lapack_int const* lwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_dsysv(...) LAPACK_dsysv_base(__VA_ARGS__, 1)
#else
    #define LAPACK_dsysv(...) LAPACK_dsysv_base(__VA_ARGS__)
#endif

#define LAPACK_ssysv_base LAPACK_GLOBAL_SUFFIX(ssysv,SSYSV)
void LAPACK_ssysv_base(
    char const* uplo,
    lapack_int const* n, lapack_int const* nrhs,
    float* A, lapack_int const* lda, lapack_int* ipiv,
    float* B, lapack_int const* ldb,
    float* work, lapack_int const* lwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_ssysv(...) LAPACK_ssysv_base(__VA_ARGS__, 1)
#else
    #define LAPACK_ssysv(...) LAPACK_ssysv_base(__VA_ARGS__)
#endif

#define LAPACK_zsysv_base LAPACK_GLOBAL_SUFFIX(zsysv,ZSYSV)
void LAPACK_zsysv_base(
    char const* uplo,
    lapack_int const* n, lapack_int const* nrhs,
    lapack_complex_double* A, lapack_int const* lda, lapack_int* ipiv,
    lapack_complex_double* B, lapack_int const* ldb,
    lapack_complex_double* work, lapack_int const* lwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_zsysv(...) LAPACK_zsysv_base(__VA_ARGS__, 1)
#else
    #define LAPACK_zsysv(...) LAPACK_zsysv_base(__VA_ARGS__)
#endif

#define LAPACK_csysv_aa_base LAPACK_GLOBAL_SUFFIX(csysv_aa,CSYSV_AA)
void LAPACK_csysv_aa_base(
    char const* uplo,
    lapack_int const* n, lapack_int const* nrhs,
    lapack_complex_float* A, lapack_int const* lda, lapack_int* ipiv,
    lapack_complex_float* B, lapack_int const* ldb,
    lapack_complex_float* work, lapack_int const* lwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_csysv_aa(...) LAPACK_csysv_aa_base(__VA_ARGS__, 1)
#else
    #define LAPACK_csysv_aa(...) LAPACK_csysv_aa_base(__VA_ARGS__)
#endif

#define LAPACK_dsysv_aa_base LAPACK_GLOBAL_SUFFIX(dsysv_aa,DSYSV_AA)
void LAPACK_dsysv_aa_base(
    char const* uplo,
    lapack_int const* n, lapack_int const* nrhs,
    double* A, lapack_int const* lda, lapack_int* ipiv,
    double* B, lapack_int const* ldb,
    double* work, lapack_int const* lwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_dsysv_aa(...) LAPACK_dsysv_aa_base(__VA_ARGS__, 1)
#else
    #define LAPACK_dsysv_aa(...) LAPACK_dsysv_aa_base(__VA_ARGS__)
#endif

#define LAPACK_ssysv_aa_base LAPACK_GLOBAL_SUFFIX(ssysv_aa,SSYSV_AA)
void LAPACK_ssysv_aa_base(
    char const* uplo,
    lapack_int const* n, lapack_int const* nrhs,
    float* A, lapack_int const* lda, lapack_int* ipiv,
    float* B, lapack_int const* ldb,
    float* work, lapack_int const* lwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_ssysv_aa(...) LAPACK_ssysv_aa_base(__VA_ARGS__, 1)
#else
    #define LAPACK_ssysv_aa(...) LAPACK_ssysv_aa_base(__VA_ARGS__)
#endif

#define LAPACK_zsysv_aa_base LAPACK_GLOBAL_SUFFIX(zsysv_aa,ZSYSV_AA)
void LAPACK_zsysv_aa_base(
    char const* uplo,
    lapack_int const* n, lapack_int const* nrhs,
    lapack_complex_double* A, lapack_int const* lda, lapack_int* ipiv,
    lapack_complex_double* B, lapack_int const* ldb,
    lapack_complex_double* work, lapack_int const* lwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_zsysv_aa(...) LAPACK_zsysv_aa_base(__VA_ARGS__, 1)
#else
    #define LAPACK_zsysv_aa(...) LAPACK_zsysv_aa_base(__VA_ARGS__)
#endif

#define LAPACK_csysv_aa_2stage_base LAPACK_GLOBAL_SUFFIX(csysv_aa_2stage,CSYSV_AA_2STAGE)
void LAPACK_csysv_aa_2stage_base(
    char const* uplo,
    lapack_int const* n, lapack_int const* nrhs,
    lapack_complex_float* A, lapack_int const* lda,
    lapack_complex_float* TB, lapack_int const* ltb, lapack_int* ipiv, lapack_int* ipiv2,
    lapack_complex_float* B, lapack_int const* ldb,
    lapack_complex_float* work, lapack_int const* lwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_csysv_aa_2stage(...) LAPACK_csysv_aa_2stage_base(__VA_ARGS__, 1)
#else
    #define LAPACK_csysv_aa_2stage(...) LAPACK_csysv_aa_2stage_base(__VA_ARGS__)
#endif

#define LAPACK_dsysv_aa_2stage_base LAPACK_GLOBAL_SUFFIX(dsysv_aa_2stage,DSYSV_AA_2STAGE)
void LAPACK_dsysv_aa_2stage_base(
    char const* uplo,
    lapack_int const* n, lapack_int const* nrhs,
    double* A, lapack_int const* lda,
    double* TB, lapack_int const* ltb, lapack_int* ipiv, lapack_int* ipiv2,
    double* B, lapack_int const* ldb,
    double* work, lapack_int const* lwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_dsysv_aa_2stage(...) LAPACK_dsysv_aa_2stage_base(__VA_ARGS__, 1)
#else
    #define LAPACK_dsysv_aa_2stage(...) LAPACK_dsysv_aa_2stage_base(__VA_ARGS__)
#endif

#define LAPACK_ssysv_aa_2stage_base LAPACK_GLOBAL_SUFFIX(ssysv_aa_2stage,SSYSV_AA_2STAGE)
void LAPACK_ssysv_aa_2stage_base(
    char const* uplo,
    lapack_int const* n, lapack_int const* nrhs,
    float* A, lapack_int const* lda,
    float* TB, lapack_int const* ltb, lapack_int* ipiv, lapack_int* ipiv2,
    float* B, lapack_int const* ldb,
    float* work, lapack_int const* lwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_ssysv_aa_2stage(...) LAPACK_ssysv_aa_2stage_base(__VA_ARGS__, 1)
#else
    #define LAPACK_ssysv_aa_2stage(...) LAPACK_ssysv_aa_2stage_base(__VA_ARGS__)
#endif

#define LAPACK_zsysv_aa_2stage_base LAPACK_GLOBAL_SUFFIX(zsysv_aa_2stage,ZSYSV_AA_2STAGE)
void LAPACK_zsysv_aa_2stage_base(
    char const* uplo,
    lapack_int const* n, lapack_int const* nrhs,
    lapack_complex_double* A, lapack_int const* lda,
    lapack_complex_double* TB, lapack_int const* ltb, lapack_int* ipiv, lapack_int* ipiv2,
    lapack_complex_double* B, lapack_int const* ldb,
    lapack_complex_double* work, lapack_int const* lwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_zsysv_aa_2stage(...) LAPACK_zsysv_aa_2stage_base(__VA_ARGS__, 1)
#else
    #define LAPACK_zsysv_aa_2stage(...) LAPACK_zsysv_aa_2stage_base(__VA_ARGS__)
#endif

#define LAPACK_csysv_rk_base LAPACK_GLOBAL_SUFFIX(csysv_rk,CSYSV_RK)
void LAPACK_csysv_rk_base(
    char const* uplo,
    lapack_int const* n, lapack_int const* nrhs,
    lapack_complex_float* A, lapack_int const* lda,
    lapack_complex_float* E, lapack_int* ipiv,
    lapack_complex_float* B, lapack_int const* ldb,
    lapack_complex_float* work, lapack_int const* lwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_csysv_rk(...) LAPACK_csysv_rk_base(__VA_ARGS__, 1)
#else
    #define LAPACK_csysv_rk(...) LAPACK_csysv_rk_base(__VA_ARGS__)
#endif

#define LAPACK_dsysv_rk_base LAPACK_GLOBAL_SUFFIX(dsysv_rk,DSYSV_RK)
void LAPACK_dsysv_rk_base(
    char const* uplo,
    lapack_int const* n, lapack_int const* nrhs,
    double* A, lapack_int const* lda,
    double* E, lapack_int* ipiv,
    double* B, lapack_int const* ldb,
    double* work, lapack_int const* lwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_dsysv_rk(...) LAPACK_dsysv_rk_base(__VA_ARGS__, 1)
#else
    #define LAPACK_dsysv_rk(...) LAPACK_dsysv_rk_base(__VA_ARGS__)
#endif

#define LAPACK_ssysv_rk_base LAPACK_GLOBAL_SUFFIX(ssysv_rk,SSYSV_RK)
void LAPACK_ssysv_rk_base(
    char const* uplo,
    lapack_int const* n, lapack_int const* nrhs,
    float* A, lapack_int const* lda,
    float* E, lapack_int* ipiv,
    float* B, lapack_int const* ldb,
    float* work, lapack_int const* lwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_ssysv_rk(...) LAPACK_ssysv_rk_base(__VA_ARGS__, 1)
#else
    #define LAPACK_ssysv_rk(...) LAPACK_ssysv_rk_base(__VA_ARGS__)
#endif

#define LAPACK_zsysv_rk_base LAPACK_GLOBAL_SUFFIX(zsysv_rk,ZSYSV_RK)
void LAPACK_zsysv_rk_base(
    char const* uplo,
    lapack_int const* n, lapack_int const* nrhs,
    lapack_complex_double* A, lapack_int const* lda,
    lapack_complex_double* E, lapack_int* ipiv,
    lapack_complex_double* B, lapack_int const* ldb,
    lapack_complex_double* work, lapack_int const* lwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_zsysv_rk(...) LAPACK_zsysv_rk_base(__VA_ARGS__, 1)
#else
    #define LAPACK_zsysv_rk(...) LAPACK_zsysv_rk_base(__VA_ARGS__)
#endif

#define LAPACK_csysv_rook_base LAPACK_GLOBAL_SUFFIX(csysv_rook,CSYSV_ROOK)
void LAPACK_csysv_rook_base(
    char const* uplo,
    lapack_int const* n, lapack_int const* nrhs,
    lapack_complex_float* A, lapack_int const* lda, lapack_int* ipiv,
    lapack_complex_float* B, lapack_int const* ldb,
    lapack_complex_float* work, lapack_int const* lwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_csysv_rook(...) LAPACK_csysv_rook_base(__VA_ARGS__, 1)
#else
    #define LAPACK_csysv_rook(...) LAPACK_csysv_rook_base(__VA_ARGS__)
#endif

#define LAPACK_dsysv_rook_base LAPACK_GLOBAL_SUFFIX(dsysv_rook,DSYSV_ROOK)
void LAPACK_dsysv_rook_base(
    char const* uplo,
    lapack_int const* n, lapack_int const* nrhs,
    double* A, lapack_int const* lda, lapack_int* ipiv,
    double* B, lapack_int const* ldb,
    double* work, lapack_int const* lwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_dsysv_rook(...) LAPACK_dsysv_rook_base(__VA_ARGS__, 1)
#else
    #define LAPACK_dsysv_rook(...) LAPACK_dsysv_rook_base(__VA_ARGS__)
#endif

#define LAPACK_ssysv_rook_base LAPACK_GLOBAL_SUFFIX(ssysv_rook,SSYSV_ROOK)
void LAPACK_ssysv_rook_base(
    char const* uplo,
    lapack_int const* n, lapack_int const* nrhs,
    float* A, lapack_int const* lda, lapack_int* ipiv,
    float* B, lapack_int const* ldb,
    float* work, lapack_int const* lwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_ssysv_rook(...) LAPACK_ssysv_rook_base(__VA_ARGS__, 1)
#else
    #define LAPACK_ssysv_rook(...) LAPACK_ssysv_rook_base(__VA_ARGS__)
#endif

#define LAPACK_zsysv_rook_base LAPACK_GLOBAL_SUFFIX(zsysv_rook,ZSYSV_ROOK)
void LAPACK_zsysv_rook_base(
    char const* uplo,
    lapack_int const* n, lapack_int const* nrhs,
    lapack_complex_double* A, lapack_int const* lda, lapack_int* ipiv,
    lapack_complex_double* B, lapack_int const* ldb,
    lapack_complex_double* work, lapack_int const* lwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_zsysv_rook(...) LAPACK_zsysv_rook_base(__VA_ARGS__, 1)
#else
    #define LAPACK_zsysv_rook(...) LAPACK_zsysv_rook_base(__VA_ARGS__)
#endif

#define LAPACK_csysvx_base LAPACK_GLOBAL_SUFFIX(csysvx,CSYSVX)
void LAPACK_csysvx_base(
    char const* fact, char const* uplo,
    lapack_int const* n, lapack_int const* nrhs,
    lapack_complex_float const* A, lapack_int const* lda,
    lapack_complex_float* AF, lapack_int const* ldaf, lapack_int* ipiv,
    lapack_complex_float const* B, lapack_int const* ldb,
    lapack_complex_float* X, lapack_int const* ldx,
    float* rcond,
    float* ferr,
    float* berr,
    lapack_complex_float* work, lapack_int const* lwork,
    float* rwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_csysvx(...) LAPACK_csysvx_base(__VA_ARGS__, 1, 1)
#else
    #define LAPACK_csysvx(...) LAPACK_csysvx_base(__VA_ARGS__)
#endif

#define LAPACK_dsysvx_base LAPACK_GLOBAL_SUFFIX(dsysvx,DSYSVX)
void LAPACK_dsysvx_base(
    char const* fact, char const* uplo,
    lapack_int const* n, lapack_int const* nrhs,
    double const* A, lapack_int const* lda,
    double* AF, lapack_int const* ldaf, lapack_int* ipiv,
    double const* B, lapack_int const* ldb,
    double* X, lapack_int const* ldx,
    double* rcond,
    double* ferr,
    double* berr,
    double* work, lapack_int const* lwork,
    lapack_int* iwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_dsysvx(...) LAPACK_dsysvx_base(__VA_ARGS__, 1, 1)
#else
    #define LAPACK_dsysvx(...) LAPACK_dsysvx_base(__VA_ARGS__)
#endif

#define LAPACK_ssysvx_base LAPACK_GLOBAL_SUFFIX(ssysvx,SSYSVX)
void LAPACK_ssysvx_base(
    char const* fact, char const* uplo,
    lapack_int const* n, lapack_int const* nrhs,
    float const* A, lapack_int const* lda,
    float* AF, lapack_int const* ldaf, lapack_int* ipiv,
    float const* B, lapack_int const* ldb,
    float* X, lapack_int const* ldx,
    float* rcond,
    float* ferr,
    float* berr,
    float* work, lapack_int const* lwork,
    lapack_int* iwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_ssysvx(...) LAPACK_ssysvx_base(__VA_ARGS__, 1, 1)
#else
    #define LAPACK_ssysvx(...) LAPACK_ssysvx_base(__VA_ARGS__)
#endif

#define LAPACK_zsysvx_base LAPACK_GLOBAL_SUFFIX(zsysvx,ZSYSVX)
void LAPACK_zsysvx_base(
    char const* fact, char const* uplo,
    lapack_int const* n, lapack_int const* nrhs,
    lapack_complex_double const* A, lapack_int const* lda,
    lapack_complex_double* AF, lapack_int const* ldaf, lapack_int* ipiv,
    lapack_complex_double const* B, lapack_int const* ldb,
    lapack_complex_double* X, lapack_int const* ldx,
    double* rcond,
    double* ferr,
    double* berr,
    lapack_complex_double* work, lapack_int const* lwork,
    double* rwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_zsysvx(...) LAPACK_zsysvx_base(__VA_ARGS__, 1, 1)
#else
    #define LAPACK_zsysvx(...) LAPACK_zsysvx_base(__VA_ARGS__)
#endif

#define LAPACK_csysvxx_base LAPACK_GLOBAL_SUFFIX(csysvxx,CSYSVXX)
void LAPACK_csysvxx_base(
    char const* fact, char const* uplo,
    lapack_int const* n, lapack_int const* nrhs,
    lapack_complex_float* A, lapack_int const* lda,
    lapack_complex_float* AF, lapack_int const* ldaf, lapack_int* ipiv, char* equed,
    float* S,
    lapack_complex_float* B,
    lapack_int const* ldb,
    lapack_complex_float* X, lapack_int const* ldx,
    float* rcond,
    float* rpvgrw,
    float* berr, lapack_int const* n_err_bnds,
    float* err_bnds_norm,
    float* err_bnds_comp, lapack_int const* nparams,
    float* params,
    lapack_complex_float* work,
    float* rwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_csysvxx(...) LAPACK_csysvxx_base(__VA_ARGS__, 1, 1, 1)
#else
    #define LAPACK_csysvxx(...) LAPACK_csysvxx_base(__VA_ARGS__)
#endif

#define LAPACK_dsysvxx_base LAPACK_GLOBAL_SUFFIX(dsysvxx,DSYSVXX)
void LAPACK_dsysvxx_base(
    char const* fact, char const* uplo,
    lapack_int const* n, lapack_int const* nrhs,
    double* A, lapack_int const* lda,
    double* AF, lapack_int const* ldaf, lapack_int* ipiv, char* equed,
    double* S,
    double* B,
    lapack_int const* ldb,
    double* X, lapack_int const* ldx,
    double* rcond,
    double* rpvgrw,
    double* berr, lapack_int const* n_err_bnds,
    double* err_bnds_norm,
    double* err_bnds_comp, lapack_int const* nparams,
    double* params,
    double* work,
    lapack_int* iwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_dsysvxx(...) LAPACK_dsysvxx_base(__VA_ARGS__, 1, 1, 1)
#else
    #define LAPACK_dsysvxx(...) LAPACK_dsysvxx_base(__VA_ARGS__)
#endif

#define LAPACK_ssysvxx_base LAPACK_GLOBAL_SUFFIX(ssysvxx,SSYSVXX)
void LAPACK_ssysvxx_base(
    char const* fact, char const* uplo,
    lapack_int const* n, lapack_int const* nrhs,
    float* A, lapack_int const* lda,
    float* AF, lapack_int const* ldaf, lapack_int* ipiv, char* equed,
    float* S,
    float* B,
    lapack_int const* ldb,
    float* X, lapack_int const* ldx,
    float* rcond,
    float* rpvgrw,
    float* berr, lapack_int const* n_err_bnds,
    float* err_bnds_norm,
    float* err_bnds_comp, lapack_int const* nparams,
    float* params,
    float* work,
    lapack_int* iwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_ssysvxx(...) LAPACK_ssysvxx_base(__VA_ARGS__, 1, 1, 1)
#else
    #define LAPACK_ssysvxx(...) LAPACK_ssysvxx_base(__VA_ARGS__)
#endif

#define LAPACK_zsysvxx_base LAPACK_GLOBAL_SUFFIX(zsysvxx,ZSYSVXX)
void LAPACK_zsysvxx_base(
    char const* fact, char const* uplo,
    lapack_int const* n, lapack_int const* nrhs,
    lapack_complex_double* A, lapack_int const* lda,
    lapack_complex_double* AF, lapack_int const* ldaf, lapack_int* ipiv, char* equed,
    double* S,
    lapack_complex_double* B,
    lapack_int const* ldb,
    lapack_complex_double* X, lapack_int const* ldx,
    double* rcond,
    double* rpvgrw,
    double* berr, lapack_int const* n_err_bnds,
    double* err_bnds_norm,
    double* err_bnds_comp, lapack_int const* nparams,
    double* params,
    lapack_complex_double* work,
    double* rwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_zsysvxx(...) LAPACK_zsysvxx_base(__VA_ARGS__, 1, 1, 1)
#else
    #define LAPACK_zsysvxx(...) LAPACK_zsysvxx_base(__VA_ARGS__)
#endif

#define LAPACK_csyswapr_base LAPACK_GLOBAL_SUFFIX(csyswapr,CSYSWAPR)
void LAPACK_csyswapr_base(
    char const* uplo,
    lapack_int const* n,
    lapack_complex_float* A, lapack_int const* lda, lapack_int const* i1, lapack_int const* i2
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_csyswapr(...) LAPACK_csyswapr_base(__VA_ARGS__, 1)
#else
    #define LAPACK_csyswapr(...) LAPACK_csyswapr_base(__VA_ARGS__)
#endif

#define LAPACK_dsyswapr_base LAPACK_GLOBAL_SUFFIX(dsyswapr,DSYSWAPR)
void LAPACK_dsyswapr_base(
    char const* uplo,
    lapack_int const* n,
    double* A, lapack_int const* lda, lapack_int const* i1, lapack_int const* i2
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_dsyswapr(...) LAPACK_dsyswapr_base(__VA_ARGS__, 1)
#else
    #define LAPACK_dsyswapr(...) LAPACK_dsyswapr_base(__VA_ARGS__)
#endif

#define LAPACK_ssyswapr_base LAPACK_GLOBAL_SUFFIX(ssyswapr,SSYSWAPR)
void LAPACK_ssyswapr_base(
    char const* uplo,
    lapack_int const* n,
    float* A, lapack_int const* lda, lapack_int const* i1, lapack_int const* i2
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_ssyswapr(...) LAPACK_ssyswapr_base(__VA_ARGS__, 1)
#else
    #define LAPACK_ssyswapr(...) LAPACK_ssyswapr_base(__VA_ARGS__)
#endif

#define LAPACK_zsyswapr_base LAPACK_GLOBAL_SUFFIX(zsyswapr,ZSYSWAPR)
void LAPACK_zsyswapr_base(
    char const* uplo,
    lapack_int const* n,
    lapack_complex_double* A, lapack_int const* lda, lapack_int const* i1, lapack_int const* i2
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_zsyswapr(...) LAPACK_zsyswapr_base(__VA_ARGS__, 1)
#else
    #define LAPACK_zsyswapr(...) LAPACK_zsyswapr_base(__VA_ARGS__)
#endif

#define LAPACK_dsytrd_base LAPACK_GLOBAL_SUFFIX(dsytrd,DSYTRD)
void LAPACK_dsytrd_base(
    char const* uplo,
    lapack_int const* n,
    double* A, lapack_int const* lda,
    double* D,
    double* E,
    double* tau,
    double* work, lapack_int const* lwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_dsytrd(...) LAPACK_dsytrd_base(__VA_ARGS__, 1)
#else
    #define LAPACK_dsytrd(...) LAPACK_dsytrd_base(__VA_ARGS__)
#endif

#define LAPACK_ssytrd_base LAPACK_GLOBAL_SUFFIX(ssytrd,SSYTRD)
void LAPACK_ssytrd_base(
    char const* uplo,
    lapack_int const* n,
    float* A, lapack_int const* lda,
    float* D,
    float* E,
    float* tau,
    float* work, lapack_int const* lwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_ssytrd(...) LAPACK_ssytrd_base(__VA_ARGS__, 1)
#else
    #define LAPACK_ssytrd(...) LAPACK_ssytrd_base(__VA_ARGS__)
#endif

#define LAPACK_dsytrd_2stage_base LAPACK_GLOBAL_SUFFIX(dsytrd_2stage,DSYTRD_2STAGE)
void LAPACK_dsytrd_2stage_base(
    char const* vect, char const* uplo,
    lapack_int const* n,
    double* A, lapack_int const* lda,
    double* D,
    double* E,
    double* tau,
    double* HOUS2, lapack_int const* lhous2,
    double* work, lapack_int const* lwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_dsytrd_2stage(...) LAPACK_dsytrd_2stage_base(__VA_ARGS__, 1, 1)
#else
    #define LAPACK_dsytrd_2stage(...) LAPACK_dsytrd_2stage_base(__VA_ARGS__)
#endif

#define LAPACK_ssytrd_2stage_base LAPACK_GLOBAL_SUFFIX(ssytrd_2stage,SSYTRD_2STAGE)
void LAPACK_ssytrd_2stage_base(
    char const* vect, char const* uplo,
    lapack_int const* n,
    float* A, lapack_int const* lda,
    float* D,
    float* E,
    float* tau,
    float* HOUS2, lapack_int const* lhous2,
    float* work, lapack_int const* lwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_ssytrd_2stage(...) LAPACK_ssytrd_2stage_base(__VA_ARGS__, 1, 1)
#else
    #define LAPACK_ssytrd_2stage(...) LAPACK_ssytrd_2stage_base(__VA_ARGS__)
#endif

#define LAPACK_csytrf_base LAPACK_GLOBAL_SUFFIX(csytrf,CSYTRF)
void LAPACK_csytrf_base(
    char const* uplo,
    lapack_int const* n,
    lapack_complex_float* A, lapack_int const* lda, lapack_int* ipiv,
    lapack_complex_float* work, lapack_int const* lwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_csytrf(...) LAPACK_csytrf_base(__VA_ARGS__, 1)
#else
    #define LAPACK_csytrf(...) LAPACK_csytrf_base(__VA_ARGS__)
#endif

#define LAPACK_dsytrf_base LAPACK_GLOBAL_SUFFIX(dsytrf,DSYTRF)
void LAPACK_dsytrf_base(
    char const* uplo,
    lapack_int const* n,
    double* A, lapack_int const* lda, lapack_int* ipiv,
    double* work, lapack_int const* lwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_dsytrf(...) LAPACK_dsytrf_base(__VA_ARGS__, 1)
#else
    #define LAPACK_dsytrf(...) LAPACK_dsytrf_base(__VA_ARGS__)
#endif

#define LAPACK_ssytrf_base LAPACK_GLOBAL_SUFFIX(ssytrf,SSYTRF)
void LAPACK_ssytrf_base(
    char const* uplo,
    lapack_int const* n,
    float* A, lapack_int const* lda, lapack_int* ipiv,
    float* work, lapack_int const* lwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_ssytrf(...) LAPACK_ssytrf_base(__VA_ARGS__, 1)
#else
    #define LAPACK_ssytrf(...) LAPACK_ssytrf_base(__VA_ARGS__)
#endif

#define LAPACK_zsytrf_base LAPACK_GLOBAL_SUFFIX(zsytrf,ZSYTRF)
void LAPACK_zsytrf_base(
    char const* uplo,
    lapack_int const* n,
    lapack_complex_double* A, lapack_int const* lda, lapack_int* ipiv,
    lapack_complex_double* work, lapack_int const* lwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_zsytrf(...) LAPACK_zsytrf_base(__VA_ARGS__, 1)
#else
    #define LAPACK_zsytrf(...) LAPACK_zsytrf_base(__VA_ARGS__)
#endif

#define LAPACK_csytrf_aa_base LAPACK_GLOBAL_SUFFIX(csytrf_aa,CSYTRF_AA)
void LAPACK_csytrf_aa_base(
    char const* uplo,
    lapack_int const* n,
    lapack_complex_float* A, lapack_int const* lda, lapack_int* ipiv,
    lapack_complex_float* work, lapack_int const* lwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_csytrf_aa(...) LAPACK_csytrf_aa_base(__VA_ARGS__, 1)
#else
    #define LAPACK_csytrf_aa(...) LAPACK_csytrf_aa_base(__VA_ARGS__)
#endif

#define LAPACK_dsytrf_aa_base LAPACK_GLOBAL_SUFFIX(dsytrf_aa,DSYTRF_AA)
void LAPACK_dsytrf_aa_base(
    char const* uplo,
    lapack_int const* n,
    double* A, lapack_int const* lda, lapack_int* ipiv,
    double* work, lapack_int const* lwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_dsytrf_aa(...) LAPACK_dsytrf_aa_base(__VA_ARGS__, 1)
#else
    #define LAPACK_dsytrf_aa(...) LAPACK_dsytrf_aa_base(__VA_ARGS__)
#endif

#define LAPACK_ssytrf_aa_base LAPACK_GLOBAL_SUFFIX(ssytrf_aa,SSYTRF_AA)
void LAPACK_ssytrf_aa_base(
    char const* uplo,
    lapack_int const* n,
    float* A, lapack_int const* lda, lapack_int* ipiv,
    float* work, lapack_int const* lwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_ssytrf_aa(...) LAPACK_ssytrf_aa_base(__VA_ARGS__, 1)
#else
    #define LAPACK_ssytrf_aa(...) LAPACK_ssytrf_aa_base(__VA_ARGS__)
#endif

#define LAPACK_zsytrf_aa_base LAPACK_GLOBAL_SUFFIX(zsytrf_aa,ZSYTRF_AA)
void LAPACK_zsytrf_aa_base(
    char const* uplo,
    lapack_int const* n,
    lapack_complex_double* A, lapack_int const* lda, lapack_int* ipiv,
    lapack_complex_double* work, lapack_int const* lwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_zsytrf_aa(...) LAPACK_zsytrf_aa_base(__VA_ARGS__, 1)
#else
    #define LAPACK_zsytrf_aa(...) LAPACK_zsytrf_aa_base(__VA_ARGS__)
#endif

#define LAPACK_csytrf_aa_2stage_base LAPACK_GLOBAL_SUFFIX(csytrf_aa_2stage,CSYTRF_AA_2STAGE)
void LAPACK_csytrf_aa_2stage_base(
    char const* uplo,
    lapack_int const* n,
    lapack_complex_float* A, lapack_int const* lda,
    lapack_complex_float* TB, lapack_int const* ltb, lapack_int* ipiv, lapack_int* ipiv2,
    lapack_complex_float* work, lapack_int const* lwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_csytrf_aa_2stage(...) LAPACK_csytrf_aa_2stage_base(__VA_ARGS__, 1)
#else
    #define LAPACK_csytrf_aa_2stage(...) LAPACK_csytrf_aa_2stage_base(__VA_ARGS__)
#endif

#define LAPACK_dsytrf_aa_2stage_base LAPACK_GLOBAL_SUFFIX(dsytrf_aa_2stage,DSYTRF_AA_2STAGE)
void LAPACK_dsytrf_aa_2stage_base(
    char const* uplo,
    lapack_int const* n,
    double* A, lapack_int const* lda,
    double* TB, lapack_int const* ltb, lapack_int* ipiv, lapack_int* ipiv2,
    double* work, lapack_int const* lwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_dsytrf_aa_2stage(...) LAPACK_dsytrf_aa_2stage_base(__VA_ARGS__, 1)
#else
    #define LAPACK_dsytrf_aa_2stage(...) LAPACK_dsytrf_aa_2stage_base(__VA_ARGS__)
#endif

#define LAPACK_ssytrf_aa_2stage_base LAPACK_GLOBAL_SUFFIX(ssytrf_aa_2stage,SSYTRF_AA_2STAGE)
void LAPACK_ssytrf_aa_2stage_base(
    char const* uplo,
    lapack_int const* n,
    float* A, lapack_int const* lda,
    float* TB, lapack_int const* ltb, lapack_int* ipiv, lapack_int* ipiv2,
    float* work, lapack_int const* lwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_ssytrf_aa_2stage(...) LAPACK_ssytrf_aa_2stage_base(__VA_ARGS__, 1)
#else
    #define LAPACK_ssytrf_aa_2stage(...) LAPACK_ssytrf_aa_2stage_base(__VA_ARGS__)
#endif

#define LAPACK_zsytrf_aa_2stage_base LAPACK_GLOBAL_SUFFIX(zsytrf_aa_2stage,ZSYTRF_AA_2STAGE)
void LAPACK_zsytrf_aa_2stage_base(
    char const* uplo,
    lapack_int const* n,
    lapack_complex_double* A, lapack_int const* lda,
    lapack_complex_double* TB, lapack_int const* ltb, lapack_int* ipiv, lapack_int* ipiv2,
    lapack_complex_double* work, lapack_int const* lwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_zsytrf_aa_2stage(...) LAPACK_zsytrf_aa_2stage_base(__VA_ARGS__, 1)
#else
    #define LAPACK_zsytrf_aa_2stage(...) LAPACK_zsytrf_aa_2stage_base(__VA_ARGS__)
#endif

#define LAPACK_csytrf_rk_base LAPACK_GLOBAL_SUFFIX(csytrf_rk,CSYTRF_RK)
void LAPACK_csytrf_rk_base(
    char const* uplo,
    lapack_int const* n,
    lapack_complex_float* A, lapack_int const* lda,
    lapack_complex_float* E, lapack_int* ipiv,
    lapack_complex_float* work, lapack_int const* lwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_csytrf_rk(...) LAPACK_csytrf_rk_base(__VA_ARGS__, 1)
#else
    #define LAPACK_csytrf_rk(...) LAPACK_csytrf_rk_base(__VA_ARGS__)
#endif

#define LAPACK_dsytrf_rk_base LAPACK_GLOBAL_SUFFIX(dsytrf_rk,DSYTRF_RK)
void LAPACK_dsytrf_rk_base(
    char const* uplo,
    lapack_int const* n,
    double* A, lapack_int const* lda,
    double* E, lapack_int* ipiv,
    double* work, lapack_int const* lwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_dsytrf_rk(...) LAPACK_dsytrf_rk_base(__VA_ARGS__, 1)
#else
    #define LAPACK_dsytrf_rk(...) LAPACK_dsytrf_rk_base(__VA_ARGS__)
#endif

#define LAPACK_ssytrf_rk_base LAPACK_GLOBAL_SUFFIX(ssytrf_rk,SSYTRF_RK)
void LAPACK_ssytrf_rk_base(
    char const* uplo,
    lapack_int const* n,
    float* A, lapack_int const* lda,
    float* E, lapack_int* ipiv,
    float* work, lapack_int const* lwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_ssytrf_rk(...) LAPACK_ssytrf_rk_base(__VA_ARGS__, 1)
#else
    #define LAPACK_ssytrf_rk(...) LAPACK_ssytrf_rk_base(__VA_ARGS__)
#endif

#define LAPACK_zsytrf_rk_base LAPACK_GLOBAL_SUFFIX(zsytrf_rk,ZSYTRF_RK)
void LAPACK_zsytrf_rk_base(
    char const* uplo,
    lapack_int const* n,
    lapack_complex_double* A, lapack_int const* lda,
    lapack_complex_double* E, lapack_int* ipiv,
    lapack_complex_double* work, lapack_int const* lwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_zsytrf_rk(...) LAPACK_zsytrf_rk_base(__VA_ARGS__, 1)
#else
    #define LAPACK_zsytrf_rk(...) LAPACK_zsytrf_rk_base(__VA_ARGS__)
#endif

#define LAPACK_csytrf_rook_base LAPACK_GLOBAL_SUFFIX(csytrf_rook,CSYTRF_ROOK)
void LAPACK_csytrf_rook_base(
    char const* uplo,
    lapack_int const* n,
    lapack_complex_float* A, lapack_int const* lda, lapack_int* ipiv,
    lapack_complex_float* work, lapack_int const* lwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_csytrf_rook(...) LAPACK_csytrf_rook_base(__VA_ARGS__, 1)
#else
    #define LAPACK_csytrf_rook(...) LAPACK_csytrf_rook_base(__VA_ARGS__)
#endif

#define LAPACK_dsytrf_rook_base LAPACK_GLOBAL_SUFFIX(dsytrf_rook,DSYTRF_ROOK)
void LAPACK_dsytrf_rook_base(
    char const* uplo,
    lapack_int const* n,
    double* A, lapack_int const* lda, lapack_int* ipiv,
    double* work, lapack_int const* lwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_dsytrf_rook(...) LAPACK_dsytrf_rook_base(__VA_ARGS__, 1)
#else
    #define LAPACK_dsytrf_rook(...) LAPACK_dsytrf_rook_base(__VA_ARGS__)
#endif

#define LAPACK_ssytrf_rook_base LAPACK_GLOBAL_SUFFIX(ssytrf_rook,SSYTRF_ROOK)
void LAPACK_ssytrf_rook_base(
    char const* uplo,
    lapack_int const* n,
    float* A, lapack_int const* lda, lapack_int* ipiv,
    float* work, lapack_int const* lwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_ssytrf_rook(...) LAPACK_ssytrf_rook_base(__VA_ARGS__, 1)
#else
    #define LAPACK_ssytrf_rook(...) LAPACK_ssytrf_rook_base(__VA_ARGS__)
#endif

#define LAPACK_zsytrf_rook_base LAPACK_GLOBAL_SUFFIX(zsytrf_rook,ZSYTRF_ROOK)
void LAPACK_zsytrf_rook_base(
    char const* uplo,
    lapack_int const* n,
    lapack_complex_double* A, lapack_int const* lda, lapack_int* ipiv,
    lapack_complex_double* work, lapack_int const* lwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_zsytrf_rook(...) LAPACK_zsytrf_rook_base(__VA_ARGS__, 1)
#else
    #define LAPACK_zsytrf_rook(...) LAPACK_zsytrf_rook_base(__VA_ARGS__)
#endif

#define LAPACK_csytri_base LAPACK_GLOBAL_SUFFIX(csytri,CSYTRI)
void LAPACK_csytri_base(
    char const* uplo,
    lapack_int const* n,
    lapack_complex_float* A, lapack_int const* lda, lapack_int const* ipiv,
    lapack_complex_float* work,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_csytri(...) LAPACK_csytri_base(__VA_ARGS__, 1)
#else
    #define LAPACK_csytri(...) LAPACK_csytri_base(__VA_ARGS__)
#endif

#define LAPACK_dsytri_base LAPACK_GLOBAL_SUFFIX(dsytri,DSYTRI)
void LAPACK_dsytri_base(
    char const* uplo,
    lapack_int const* n,
    double* A, lapack_int const* lda, lapack_int const* ipiv,
    double* work,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_dsytri(...) LAPACK_dsytri_base(__VA_ARGS__, 1)
#else
    #define LAPACK_dsytri(...) LAPACK_dsytri_base(__VA_ARGS__)
#endif

#define LAPACK_ssytri_base LAPACK_GLOBAL_SUFFIX(ssytri,SSYTRI)
void LAPACK_ssytri_base(
    char const* uplo,
    lapack_int const* n,
    float* A, lapack_int const* lda, lapack_int const* ipiv,
    float* work,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_ssytri(...) LAPACK_ssytri_base(__VA_ARGS__, 1)
#else
    #define LAPACK_ssytri(...) LAPACK_ssytri_base(__VA_ARGS__)
#endif

#define LAPACK_zsytri_base LAPACK_GLOBAL_SUFFIX(zsytri,ZSYTRI)
void LAPACK_zsytri_base(
    char const* uplo,
    lapack_int const* n,
    lapack_complex_double* A, lapack_int const* lda, lapack_int const* ipiv,
    lapack_complex_double* work,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_zsytri(...) LAPACK_zsytri_base(__VA_ARGS__, 1)
#else
    #define LAPACK_zsytri(...) LAPACK_zsytri_base(__VA_ARGS__)
#endif

#define LAPACK_csytri2_base LAPACK_GLOBAL_SUFFIX(csytri2,CSYTRI2)
void LAPACK_csytri2_base(
    char const* uplo,
    lapack_int const* n,
    lapack_complex_float* A, lapack_int const* lda, lapack_int const* ipiv,
    lapack_complex_float* work, lapack_int const* lwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_csytri2(...) LAPACK_csytri2_base(__VA_ARGS__, 1)
#else
    #define LAPACK_csytri2(...) LAPACK_csytri2_base(__VA_ARGS__)
#endif

#define LAPACK_dsytri2_base LAPACK_GLOBAL_SUFFIX(dsytri2,DSYTRI2)
void LAPACK_dsytri2_base(
    char const* uplo,
    lapack_int const* n,
    double* A, lapack_int const* lda, lapack_int const* ipiv,
    double* work, lapack_int const* lwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_dsytri2(...) LAPACK_dsytri2_base(__VA_ARGS__, 1)
#else
    #define LAPACK_dsytri2(...) LAPACK_dsytri2_base(__VA_ARGS__)
#endif

#define LAPACK_ssytri2_base LAPACK_GLOBAL_SUFFIX(ssytri2,SSYTRI2)
void LAPACK_ssytri2_base(
    char const* uplo,
    lapack_int const* n,
    float* A, lapack_int const* lda, lapack_int const* ipiv,
    float* work, lapack_int const* lwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_ssytri2(...) LAPACK_ssytri2_base(__VA_ARGS__, 1)
#else
    #define LAPACK_ssytri2(...) LAPACK_ssytri2_base(__VA_ARGS__)
#endif

#define LAPACK_zsytri2_base LAPACK_GLOBAL_SUFFIX(zsytri2,ZSYTRI2)
void LAPACK_zsytri2_base(
    char const* uplo,
    lapack_int const* n,
    lapack_complex_double* A, lapack_int const* lda, lapack_int const* ipiv,
    lapack_complex_double* work, lapack_int const* lwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_zsytri2(...) LAPACK_zsytri2_base(__VA_ARGS__, 1)
#else
    #define LAPACK_zsytri2(...) LAPACK_zsytri2_base(__VA_ARGS__)
#endif

#define LAPACK_csytri2x_base LAPACK_GLOBAL_SUFFIX(csytri2x,CSYTRI2X)
void LAPACK_csytri2x_base(
    char const* uplo,
    lapack_int const* n,
    lapack_complex_float* A, lapack_int const* lda, lapack_int const* ipiv,
    lapack_complex_float* work, lapack_int const* nb,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_csytri2x(...) LAPACK_csytri2x_base(__VA_ARGS__, 1)
#else
    #define LAPACK_csytri2x(...) LAPACK_csytri2x_base(__VA_ARGS__)
#endif

#define LAPACK_dsytri2x_base LAPACK_GLOBAL_SUFFIX(dsytri2x,DSYTRI2X)
void LAPACK_dsytri2x_base(
    char const* uplo,
    lapack_int const* n,
    double* A, lapack_int const* lda, lapack_int const* ipiv,
    double* work, lapack_int const* nb,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_dsytri2x(...) LAPACK_dsytri2x_base(__VA_ARGS__, 1)
#else
    #define LAPACK_dsytri2x(...) LAPACK_dsytri2x_base(__VA_ARGS__)
#endif

#define LAPACK_ssytri2x_base LAPACK_GLOBAL_SUFFIX(ssytri2x,SSYTRI2X)
void LAPACK_ssytri2x_base(
    char const* uplo,
    lapack_int const* n,
    float* A, lapack_int const* lda, lapack_int const* ipiv,
    float* work, lapack_int const* nb,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_ssytri2x(...) LAPACK_ssytri2x_base(__VA_ARGS__, 1)
#else
    #define LAPACK_ssytri2x(...) LAPACK_ssytri2x_base(__VA_ARGS__)
#endif

#define LAPACK_zsytri2x_base LAPACK_GLOBAL_SUFFIX(zsytri2x,ZSYTRI2X)
void LAPACK_zsytri2x_base(
    char const* uplo,
    lapack_int const* n,
    lapack_complex_double* A, lapack_int const* lda, lapack_int const* ipiv,
    lapack_complex_double* work, lapack_int const* nb,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_zsytri2x(...) LAPACK_zsytri2x_base(__VA_ARGS__, 1)
#else
    #define LAPACK_zsytri2x(...) LAPACK_zsytri2x_base(__VA_ARGS__)
#endif

#define LAPACK_csytri_3_base LAPACK_GLOBAL_SUFFIX(csytri_3,CSYTRI_3)
void LAPACK_csytri_3_base(
    char const* uplo,
    lapack_int const* n,
    lapack_complex_float* A, lapack_int const* lda,
    lapack_complex_float const* E, lapack_int const* ipiv,
    lapack_complex_float* work, lapack_int const* lwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_csytri_3(...) LAPACK_csytri_3_base(__VA_ARGS__, 1)
#else
    #define LAPACK_csytri_3(...) LAPACK_csytri_3_base(__VA_ARGS__)
#endif

#define LAPACK_dsytri_3_base LAPACK_GLOBAL_SUFFIX(dsytri_3,DSYTRI_3)
void LAPACK_dsytri_3_base(
    char const* uplo,
    lapack_int const* n,
    double* A, lapack_int const* lda,
    double const* E, lapack_int const* ipiv,
    double* work, lapack_int const* lwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_dsytri_3(...) LAPACK_dsytri_3_base(__VA_ARGS__, 1)
#else
    #define LAPACK_dsytri_3(...) LAPACK_dsytri_3_base(__VA_ARGS__)
#endif

#define LAPACK_ssytri_3_base LAPACK_GLOBAL_SUFFIX(ssytri_3,SSYTRI_3)
void LAPACK_ssytri_3_base(
    char const* uplo,
    lapack_int const* n,
    float* A, lapack_int const* lda,
    float const* E, lapack_int const* ipiv,
    float* work, lapack_int const* lwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_ssytri_3(...) LAPACK_ssytri_3_base(__VA_ARGS__, 1)
#else
    #define LAPACK_ssytri_3(...) LAPACK_ssytri_3_base(__VA_ARGS__)
#endif

#define LAPACK_zsytri_3_base LAPACK_GLOBAL_SUFFIX(zsytri_3,ZSYTRI_3)
void LAPACK_zsytri_3_base(
    char const* uplo,
    lapack_int const* n,
    lapack_complex_double* A, lapack_int const* lda,
    lapack_complex_double const* E, lapack_int const* ipiv,
    lapack_complex_double* work, lapack_int const* lwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_zsytri_3(...) LAPACK_zsytri_3_base(__VA_ARGS__, 1)
#else
    #define LAPACK_zsytri_3(...) LAPACK_zsytri_3_base(__VA_ARGS__)
#endif

#define LAPACK_csytrs_base LAPACK_GLOBAL_SUFFIX(csytrs,CSYTRS)
void LAPACK_csytrs_base(
    char const* uplo,
    lapack_int const* n, lapack_int const* nrhs,
    lapack_complex_float const* A, lapack_int const* lda, lapack_int const* ipiv,
    lapack_complex_float* B, lapack_int const* ldb,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_csytrs(...) LAPACK_csytrs_base(__VA_ARGS__, 1)
#else
    #define LAPACK_csytrs(...) LAPACK_csytrs_base(__VA_ARGS__)
#endif

#define LAPACK_dsytrs_base LAPACK_GLOBAL_SUFFIX(dsytrs,DSYTRS)
void LAPACK_dsytrs_base(
    char const* uplo,
    lapack_int const* n, lapack_int const* nrhs,
    double const* A, lapack_int const* lda, lapack_int const* ipiv,
    double* B, lapack_int const* ldb,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_dsytrs(...) LAPACK_dsytrs_base(__VA_ARGS__, 1)
#else
    #define LAPACK_dsytrs(...) LAPACK_dsytrs_base(__VA_ARGS__)
#endif

#define LAPACK_ssytrs_base LAPACK_GLOBAL_SUFFIX(ssytrs,SSYTRS)
void LAPACK_ssytrs_base(
    char const* uplo,
    lapack_int const* n, lapack_int const* nrhs,
    float const* A, lapack_int const* lda, lapack_int const* ipiv,
    float* B, lapack_int const* ldb,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_ssytrs(...) LAPACK_ssytrs_base(__VA_ARGS__, 1)
#else
    #define LAPACK_ssytrs(...) LAPACK_ssytrs_base(__VA_ARGS__)
#endif

#define LAPACK_zsytrs_base LAPACK_GLOBAL_SUFFIX(zsytrs,ZSYTRS)
void LAPACK_zsytrs_base(
    char const* uplo,
    lapack_int const* n, lapack_int const* nrhs,
    lapack_complex_double const* A, lapack_int const* lda, lapack_int const* ipiv,
    lapack_complex_double* B, lapack_int const* ldb,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_zsytrs(...) LAPACK_zsytrs_base(__VA_ARGS__, 1)
#else
    #define LAPACK_zsytrs(...) LAPACK_zsytrs_base(__VA_ARGS__)
#endif

#define LAPACK_csytrs2_base LAPACK_GLOBAL_SUFFIX(csytrs2,CSYTRS2)
void LAPACK_csytrs2_base(
    char const* uplo,
    lapack_int const* n, lapack_int const* nrhs,
    const lapack_complex_float* A, lapack_int const* lda, lapack_int const* ipiv,
    lapack_complex_float* B, lapack_int const* ldb,
    lapack_complex_float* work,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_csytrs2(...) LAPACK_csytrs2_base(__VA_ARGS__, 1)
#else
    #define LAPACK_csytrs2(...) LAPACK_csytrs2_base(__VA_ARGS__)
#endif

#define LAPACK_dsytrs2_base LAPACK_GLOBAL_SUFFIX(dsytrs2,DSYTRS2)
void LAPACK_dsytrs2_base(
    char const* uplo,
    lapack_int const* n, lapack_int const* nrhs,
    const double* A, lapack_int const* lda, lapack_int const* ipiv,
    double* B, lapack_int const* ldb,
    double* work,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_dsytrs2(...) LAPACK_dsytrs2_base(__VA_ARGS__, 1)
#else
    #define LAPACK_dsytrs2(...) LAPACK_dsytrs2_base(__VA_ARGS__)
#endif

#define LAPACK_ssytrs2_base LAPACK_GLOBAL_SUFFIX(ssytrs2,SSYTRS2)
void LAPACK_ssytrs2_base(
    char const* uplo,
    lapack_int const* n, lapack_int const* nrhs,
    const float* A, lapack_int const* lda, lapack_int const* ipiv,
    float* B, lapack_int const* ldb,
    float* work,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_ssytrs2(...) LAPACK_ssytrs2_base(__VA_ARGS__, 1)
#else
    #define LAPACK_ssytrs2(...) LAPACK_ssytrs2_base(__VA_ARGS__)
#endif

#define LAPACK_zsytrs2_base LAPACK_GLOBAL_SUFFIX(zsytrs2,ZSYTRS2)
void LAPACK_zsytrs2_base(
    char const* uplo,
    lapack_int const* n, lapack_int const* nrhs,
    const lapack_complex_double* A, lapack_int const* lda, lapack_int const* ipiv,
    lapack_complex_double* B, lapack_int const* ldb,
    lapack_complex_double* work,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_zsytrs2(...) LAPACK_zsytrs2_base(__VA_ARGS__, 1)
#else
    #define LAPACK_zsytrs2(...) LAPACK_zsytrs2_base(__VA_ARGS__)
#endif

#define LAPACK_csytrs_3_base LAPACK_GLOBAL_SUFFIX(csytrs_3,CSYTRS_3)
void LAPACK_csytrs_3_base(
    char const* uplo,
    lapack_int const* n, lapack_int const* nrhs,
    lapack_complex_float const* A, lapack_int const* lda,
    lapack_complex_float const* E, lapack_int const* ipiv,
    lapack_complex_float* B, lapack_int const* ldb,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_csytrs_3(...) LAPACK_csytrs_3_base(__VA_ARGS__, 1)
#else
    #define LAPACK_csytrs_3(...) LAPACK_csytrs_3_base(__VA_ARGS__)
#endif

#define LAPACK_dsytrs_3_base LAPACK_GLOBAL_SUFFIX(dsytrs_3,DSYTRS_3)
void LAPACK_dsytrs_3_base(
    char const* uplo,
    lapack_int const* n, lapack_int const* nrhs,
    double const* A, lapack_int const* lda,
    double const* E, lapack_int const* ipiv,
    double* B, lapack_int const* ldb,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_dsytrs_3(...) LAPACK_dsytrs_3_base(__VA_ARGS__, 1)
#else
    #define LAPACK_dsytrs_3(...) LAPACK_dsytrs_3_base(__VA_ARGS__)
#endif

#define LAPACK_ssytrs_3_base LAPACK_GLOBAL_SUFFIX(ssytrs_3,SSYTRS_3)
void LAPACK_ssytrs_3_base(
    char const* uplo,
    lapack_int const* n, lapack_int const* nrhs,
    float const* A, lapack_int const* lda,
    float const* E, lapack_int const* ipiv,
    float* B, lapack_int const* ldb,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_ssytrs_3(...) LAPACK_ssytrs_3_base(__VA_ARGS__, 1)
#else
    #define LAPACK_ssytrs_3(...) LAPACK_ssytrs_3_base(__VA_ARGS__)
#endif

#define LAPACK_zsytrs_3_base LAPACK_GLOBAL_SUFFIX(zsytrs_3,ZSYTRS_3)
void LAPACK_zsytrs_3_base(
    char const* uplo,
    lapack_int const* n, lapack_int const* nrhs,
    lapack_complex_double const* A, lapack_int const* lda,
    lapack_complex_double const* E, lapack_int const* ipiv,
    lapack_complex_double* B, lapack_int const* ldb,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_zsytrs_3(...) LAPACK_zsytrs_3_base(__VA_ARGS__, 1)
#else
    #define LAPACK_zsytrs_3(...) LAPACK_zsytrs_3_base(__VA_ARGS__)
#endif

#define LAPACK_csytrs_aa_base LAPACK_GLOBAL_SUFFIX(csytrs_aa,CSYTRS_AA)
void LAPACK_csytrs_aa_base(
    char const* uplo,
    lapack_int const* n, lapack_int const* nrhs,
    lapack_complex_float const* A, lapack_int const* lda, lapack_int const* ipiv,
    lapack_complex_float* B, lapack_int const* ldb,
    lapack_complex_float* work, lapack_int const* lwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_csytrs_aa(...) LAPACK_csytrs_aa_base(__VA_ARGS__, 1)
#else
    #define LAPACK_csytrs_aa(...) LAPACK_csytrs_aa_base(__VA_ARGS__)
#endif

#define LAPACK_dsytrs_aa_base LAPACK_GLOBAL_SUFFIX(dsytrs_aa,DSYTRS_AA)
void LAPACK_dsytrs_aa_base(
    char const* uplo,
    lapack_int const* n, lapack_int const* nrhs,
    double const* A, lapack_int const* lda, lapack_int const* ipiv,
    double* B, lapack_int const* ldb,
    double* work, lapack_int const* lwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_dsytrs_aa(...) LAPACK_dsytrs_aa_base(__VA_ARGS__, 1)
#else
    #define LAPACK_dsytrs_aa(...) LAPACK_dsytrs_aa_base(__VA_ARGS__)
#endif

#define LAPACK_ssytrs_aa_base LAPACK_GLOBAL_SUFFIX(ssytrs_aa,SSYTRS_AA)
void LAPACK_ssytrs_aa_base(
    char const* uplo,
    lapack_int const* n, lapack_int const* nrhs,
    float const* A, lapack_int const* lda, lapack_int const* ipiv,
    float* B, lapack_int const* ldb,
    float* work, lapack_int const* lwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_ssytrs_aa(...) LAPACK_ssytrs_aa_base(__VA_ARGS__, 1)
#else
    #define LAPACK_ssytrs_aa(...) LAPACK_ssytrs_aa_base(__VA_ARGS__)
#endif

#define LAPACK_zsytrs_aa_base LAPACK_GLOBAL_SUFFIX(zsytrs_aa,ZSYTRS_AA)
void LAPACK_zsytrs_aa_base(
    char const* uplo,
    lapack_int const* n, lapack_int const* nrhs,
    lapack_complex_double const* A, lapack_int const* lda, lapack_int const* ipiv,
    lapack_complex_double* B, lapack_int const* ldb,
    lapack_complex_double* work, lapack_int const* lwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_zsytrs_aa(...) LAPACK_zsytrs_aa_base(__VA_ARGS__, 1)
#else
    #define LAPACK_zsytrs_aa(...) LAPACK_zsytrs_aa_base(__VA_ARGS__)
#endif

#define LAPACK_csytrs_aa_2stage_base LAPACK_GLOBAL_SUFFIX(csytrs_aa_2stage,CSYTRS_AA_2STAGE)
void LAPACK_csytrs_aa_2stage_base(
    char const* uplo,
    lapack_int const* n, lapack_int const* nrhs,
    lapack_complex_float const* A, lapack_int const* lda,
    lapack_complex_float* TB, lapack_int const* ltb, lapack_int const* ipiv, lapack_int const* ipiv2,
    lapack_complex_float* B, lapack_int const* ldb,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_csytrs_aa_2stage(...) LAPACK_csytrs_aa_2stage_base(__VA_ARGS__, 1)
#else
    #define LAPACK_csytrs_aa_2stage(...) LAPACK_csytrs_aa_2stage_base(__VA_ARGS__)
#endif

#define LAPACK_dsytrs_aa_2stage_base LAPACK_GLOBAL_SUFFIX(dsytrs_aa_2stage,DSYTRS_AA_2STAGE)
void LAPACK_dsytrs_aa_2stage_base(
    char const* uplo,
    lapack_int const* n, lapack_int const* nrhs,
    double const* A, lapack_int const* lda,
    double* TB, lapack_int const* ltb, lapack_int const* ipiv, lapack_int const* ipiv2,
    double* B, lapack_int const* ldb,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_dsytrs_aa_2stage(...) LAPACK_dsytrs_aa_2stage_base(__VA_ARGS__, 1)
#else
    #define LAPACK_dsytrs_aa_2stage(...) LAPACK_dsytrs_aa_2stage_base(__VA_ARGS__)
#endif

#define LAPACK_ssytrs_aa_2stage_base LAPACK_GLOBAL_SUFFIX(ssytrs_aa_2stage,SSYTRS_AA_2STAGE)
void LAPACK_ssytrs_aa_2stage_base(
    char const* uplo,
    lapack_int const* n, lapack_int const* nrhs,
    float const* A, lapack_int const* lda,
    float* TB, lapack_int const* ltb, lapack_int const* ipiv, lapack_int const* ipiv2,
    float* B, lapack_int const* ldb,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_ssytrs_aa_2stage(...) LAPACK_ssytrs_aa_2stage_base(__VA_ARGS__, 1)
#else
    #define LAPACK_ssytrs_aa_2stage(...) LAPACK_ssytrs_aa_2stage_base(__VA_ARGS__)
#endif

#define LAPACK_zsytrs_aa_2stage_base LAPACK_GLOBAL_SUFFIX(zsytrs_aa_2stage,ZSYTRS_AA_2STAGE)
void LAPACK_zsytrs_aa_2stage_base(
    char const* uplo,
    lapack_int const* n, lapack_int const* nrhs,
    lapack_complex_double const* A, lapack_int const* lda,
    lapack_complex_double* TB, lapack_int const* ltb, lapack_int const* ipiv, lapack_int const* ipiv2,
    lapack_complex_double* B, lapack_int const* ldb,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_zsytrs_aa_2stage(...) LAPACK_zsytrs_aa_2stage_base(__VA_ARGS__, 1)
#else
    #define LAPACK_zsytrs_aa_2stage(...) LAPACK_zsytrs_aa_2stage_base(__VA_ARGS__)
#endif

#define LAPACK_csytrs_rook_base LAPACK_GLOBAL_SUFFIX(csytrs_rook,CSYTRS_ROOK)
void LAPACK_csytrs_rook_base(
    char const* uplo,
    lapack_int const* n, lapack_int const* nrhs,
    lapack_complex_float const* A, lapack_int const* lda, lapack_int const* ipiv,
    lapack_complex_float* B, lapack_int const* ldb,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_csytrs_rook(...) LAPACK_csytrs_rook_base(__VA_ARGS__, 1)
#else
    #define LAPACK_csytrs_rook(...) LAPACK_csytrs_rook_base(__VA_ARGS__)
#endif

#define LAPACK_dsytrs_rook_base LAPACK_GLOBAL_SUFFIX(dsytrs_rook,DSYTRS_ROOK)
void LAPACK_dsytrs_rook_base(
    char const* uplo,
    lapack_int const* n, lapack_int const* nrhs,
    double const* A, lapack_int const* lda, lapack_int const* ipiv,
    double* B, lapack_int const* ldb,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_dsytrs_rook(...) LAPACK_dsytrs_rook_base(__VA_ARGS__, 1)
#else
    #define LAPACK_dsytrs_rook(...) LAPACK_dsytrs_rook_base(__VA_ARGS__)
#endif

#define LAPACK_ssytrs_rook_base LAPACK_GLOBAL_SUFFIX(ssytrs_rook,SSYTRS_ROOK)
void LAPACK_ssytrs_rook_base(
    char const* uplo,
    lapack_int const* n, lapack_int const* nrhs,
    float const* A, lapack_int const* lda, lapack_int const* ipiv,
    float* B, lapack_int const* ldb,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_ssytrs_rook(...) LAPACK_ssytrs_rook_base(__VA_ARGS__, 1)
#else
    #define LAPACK_ssytrs_rook(...) LAPACK_ssytrs_rook_base(__VA_ARGS__)
#endif

#define LAPACK_zsytrs_rook_base LAPACK_GLOBAL_SUFFIX(zsytrs_rook,ZSYTRS_ROOK)
void LAPACK_zsytrs_rook_base(
    char const* uplo,
    lapack_int const* n, lapack_int const* nrhs,
    lapack_complex_double const* A, lapack_int const* lda, lapack_int const* ipiv,
    lapack_complex_double* B, lapack_int const* ldb,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_zsytrs_rook(...) LAPACK_zsytrs_rook_base(__VA_ARGS__, 1)
#else
    #define LAPACK_zsytrs_rook(...) LAPACK_zsytrs_rook_base(__VA_ARGS__)
#endif

#define LAPACK_ctbcon_base LAPACK_GLOBAL_SUFFIX(ctbcon,CTBCON)
void LAPACK_ctbcon_base(
    char const* norm, char const* uplo, char const* diag,
    lapack_int const* n, lapack_int const* kd,
    lapack_complex_float const* AB, lapack_int const* ldab,
    float* rcond,
    lapack_complex_float* work,
    float* rwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_ctbcon(...) LAPACK_ctbcon_base(__VA_ARGS__, 1, 1, 1)
#else
    #define LAPACK_ctbcon(...) LAPACK_ctbcon_base(__VA_ARGS__)
#endif

#define LAPACK_dtbcon_base LAPACK_GLOBAL_SUFFIX(dtbcon,DTBCON)
void LAPACK_dtbcon_base(
    char const* norm, char const* uplo, char const* diag,
    lapack_int const* n, lapack_int const* kd,
    double const* AB, lapack_int const* ldab,
    double* rcond,
    double* work,
    lapack_int* iwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_dtbcon(...) LAPACK_dtbcon_base(__VA_ARGS__, 1, 1, 1)
#else
    #define LAPACK_dtbcon(...) LAPACK_dtbcon_base(__VA_ARGS__)
#endif

#define LAPACK_stbcon_base LAPACK_GLOBAL_SUFFIX(stbcon,STBCON)
void LAPACK_stbcon_base(
    char const* norm, char const* uplo, char const* diag,
    lapack_int const* n, lapack_int const* kd,
    float const* AB, lapack_int const* ldab,
    float* rcond,
    float* work,
    lapack_int* iwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_stbcon(...) LAPACK_stbcon_base(__VA_ARGS__, 1, 1, 1)
#else
    #define LAPACK_stbcon(...) LAPACK_stbcon_base(__VA_ARGS__)
#endif

#define LAPACK_ztbcon_base LAPACK_GLOBAL_SUFFIX(ztbcon,ZTBCON)
void LAPACK_ztbcon_base(
    char const* norm, char const* uplo, char const* diag,
    lapack_int const* n, lapack_int const* kd,
    lapack_complex_double const* AB, lapack_int const* ldab,
    double* rcond,
    lapack_complex_double* work,
    double* rwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_ztbcon(...) LAPACK_ztbcon_base(__VA_ARGS__, 1, 1, 1)
#else
    #define LAPACK_ztbcon(...) LAPACK_ztbcon_base(__VA_ARGS__)
#endif

#define LAPACK_ctbrfs_base LAPACK_GLOBAL_SUFFIX(ctbrfs,CTBRFS)
void LAPACK_ctbrfs_base(
    char const* uplo, char const* trans, char const* diag,
    lapack_int const* n, lapack_int const* kd, lapack_int const* nrhs,
    lapack_complex_float const* AB, lapack_int const* ldab,
    lapack_complex_float const* B, lapack_int const* ldb,
    lapack_complex_float const* X, lapack_int const* ldx,
    float* ferr,
    float* berr,
    lapack_complex_float* work,
    float* rwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_ctbrfs(...) LAPACK_ctbrfs_base(__VA_ARGS__, 1, 1, 1)
#else
    #define LAPACK_ctbrfs(...) LAPACK_ctbrfs_base(__VA_ARGS__)
#endif

#define LAPACK_dtbrfs_base LAPACK_GLOBAL_SUFFIX(dtbrfs,DTBRFS)
void LAPACK_dtbrfs_base(
    char const* uplo, char const* trans, char const* diag,
    lapack_int const* n, lapack_int const* kd, lapack_int const* nrhs,
    double const* AB, lapack_int const* ldab,
    double const* B, lapack_int const* ldb,
    double const* X, lapack_int const* ldx,
    double* ferr,
    double* berr,
    double* work,
    lapack_int* iwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_dtbrfs(...) LAPACK_dtbrfs_base(__VA_ARGS__, 1, 1, 1)
#else
    #define LAPACK_dtbrfs(...) LAPACK_dtbrfs_base(__VA_ARGS__)
#endif

#define LAPACK_stbrfs_base LAPACK_GLOBAL_SUFFIX(stbrfs,STBRFS)
void LAPACK_stbrfs_base(
    char const* uplo, char const* trans, char const* diag,
    lapack_int const* n, lapack_int const* kd, lapack_int const* nrhs,
    float const* AB, lapack_int const* ldab,
    float const* B, lapack_int const* ldb,
    float const* X, lapack_int const* ldx,
    float* ferr,
    float* berr,
    float* work,
    lapack_int* iwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_stbrfs(...) LAPACK_stbrfs_base(__VA_ARGS__, 1, 1, 1)
#else
    #define LAPACK_stbrfs(...) LAPACK_stbrfs_base(__VA_ARGS__)
#endif

#define LAPACK_ztbrfs_base LAPACK_GLOBAL_SUFFIX(ztbrfs,ZTBRFS)
void LAPACK_ztbrfs_base(
    char const* uplo, char const* trans, char const* diag,
    lapack_int const* n, lapack_int const* kd, lapack_int const* nrhs,
    lapack_complex_double const* AB, lapack_int const* ldab,
    lapack_complex_double const* B, lapack_int const* ldb,
    lapack_complex_double const* X, lapack_int const* ldx,
    double* ferr,
    double* berr,
    lapack_complex_double* work,
    double* rwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_ztbrfs(...) LAPACK_ztbrfs_base(__VA_ARGS__, 1, 1, 1)
#else
    #define LAPACK_ztbrfs(...) LAPACK_ztbrfs_base(__VA_ARGS__)
#endif

#define LAPACK_ctbtrs_base LAPACK_GLOBAL_SUFFIX(ctbtrs,CTBTRS)
void LAPACK_ctbtrs_base(
    char const* uplo, char const* trans, char const* diag,
    lapack_int const* n, lapack_int const* kd, lapack_int const* nrhs,
    lapack_complex_float const* AB, lapack_int const* ldab,
    lapack_complex_float* B, lapack_int const* ldb,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_ctbtrs(...) LAPACK_ctbtrs_base(__VA_ARGS__, 1, 1, 1)
#else
    #define LAPACK_ctbtrs(...) LAPACK_ctbtrs_base(__VA_ARGS__)
#endif

#define LAPACK_dtbtrs_base LAPACK_GLOBAL_SUFFIX(dtbtrs,DTBTRS)
void LAPACK_dtbtrs_base(
    char const* uplo, char const* trans, char const* diag,
    lapack_int const* n, lapack_int const* kd, lapack_int const* nrhs,
    double const* AB, lapack_int const* ldab,
    double* B, lapack_int const* ldb,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_dtbtrs(...) LAPACK_dtbtrs_base(__VA_ARGS__, 1, 1, 1)
#else
    #define LAPACK_dtbtrs(...) LAPACK_dtbtrs_base(__VA_ARGS__)
#endif

#define LAPACK_stbtrs_base LAPACK_GLOBAL_SUFFIX(stbtrs,STBTRS)
void LAPACK_stbtrs_base(
    char const* uplo, char const* trans, char const* diag,
    lapack_int const* n, lapack_int const* kd, lapack_int const* nrhs,
    float const* AB, lapack_int const* ldab,
    float* B, lapack_int const* ldb,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_stbtrs(...) LAPACK_stbtrs_base(__VA_ARGS__, 1, 1, 1)
#else
    #define LAPACK_stbtrs(...) LAPACK_stbtrs_base(__VA_ARGS__)
#endif

#define LAPACK_ztbtrs_base LAPACK_GLOBAL_SUFFIX(ztbtrs,ZTBTRS)
void LAPACK_ztbtrs_base(
    char const* uplo, char const* trans, char const* diag,
    lapack_int const* n, lapack_int const* kd, lapack_int const* nrhs,
    lapack_complex_double const* AB, lapack_int const* ldab,
    lapack_complex_double* B, lapack_int const* ldb,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_ztbtrs(...) LAPACK_ztbtrs_base(__VA_ARGS__, 1, 1, 1)
#else
    #define LAPACK_ztbtrs(...) LAPACK_ztbtrs_base(__VA_ARGS__)
#endif

#define LAPACK_ctfsm_base LAPACK_GLOBAL_SUFFIX(ctfsm,CTFSM)
void LAPACK_ctfsm_base(
    char const* transr, char const* side, char const* uplo, char const* trans, char const* diag,
    lapack_int const* m, lapack_int const* n,
    lapack_complex_float const* alpha,
    lapack_complex_float const* A,
    lapack_complex_float* B, lapack_int const* ldb
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN, FORTRAN_STRLEN, FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_ctfsm(...) LAPACK_ctfsm_base(__VA_ARGS__, 1, 1, 1, 1, 1)
#else
    #define LAPACK_ctfsm(...) LAPACK_ctfsm_base(__VA_ARGS__)
#endif

#define LAPACK_dtfsm_base LAPACK_GLOBAL_SUFFIX(dtfsm,DTFSM)
void LAPACK_dtfsm_base(
    char const* transr, char const* side, char const* uplo, char const* trans, char const* diag,
    lapack_int const* m, lapack_int const* n,
    double const* alpha,
    double const* A,
    double* B, lapack_int const* ldb
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN, FORTRAN_STRLEN, FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_dtfsm(...) LAPACK_dtfsm_base(__VA_ARGS__, 1, 1, 1, 1, 1)
#else
    #define LAPACK_dtfsm(...) LAPACK_dtfsm_base(__VA_ARGS__)
#endif

#define LAPACK_stfsm_base LAPACK_GLOBAL_SUFFIX(stfsm,STFSM)
void LAPACK_stfsm_base(
    char const* transr, char const* side, char const* uplo, char const* trans, char const* diag,
    lapack_int const* m, lapack_int const* n,
    float const* alpha,
    float const* A,
    float* B, lapack_int const* ldb
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN, FORTRAN_STRLEN, FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_stfsm(...) LAPACK_stfsm_base(__VA_ARGS__, 1, 1, 1, 1, 1)
#else
    #define LAPACK_stfsm(...) LAPACK_stfsm_base(__VA_ARGS__)
#endif

#define LAPACK_ztfsm_base LAPACK_GLOBAL_SUFFIX(ztfsm,ZTFSM)
void LAPACK_ztfsm_base(
    char const* transr, char const* side, char const* uplo, char const* trans, char const* diag,
    lapack_int const* m, lapack_int const* n,
    lapack_complex_double const* alpha,
    lapack_complex_double const* A,
    lapack_complex_double* B, lapack_int const* ldb
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN, FORTRAN_STRLEN, FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_ztfsm(...) LAPACK_ztfsm_base(__VA_ARGS__, 1, 1, 1, 1, 1)
#else
    #define LAPACK_ztfsm(...) LAPACK_ztfsm_base(__VA_ARGS__)
#endif

#define LAPACK_ctftri_base LAPACK_GLOBAL_SUFFIX(ctftri,CTFTRI)
void LAPACK_ctftri_base(
    char const* transr, char const* uplo, char const* diag,
    lapack_int const* n,
    lapack_complex_float* A,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_ctftri(...) LAPACK_ctftri_base(__VA_ARGS__, 1, 1, 1)
#else
    #define LAPACK_ctftri(...) LAPACK_ctftri_base(__VA_ARGS__)
#endif

#define LAPACK_dtftri_base LAPACK_GLOBAL_SUFFIX(dtftri,DTFTRI)
void LAPACK_dtftri_base(
    char const* transr, char const* uplo, char const* diag,
    lapack_int const* n,
    double* A,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_dtftri(...) LAPACK_dtftri_base(__VA_ARGS__, 1, 1, 1)
#else
    #define LAPACK_dtftri(...) LAPACK_dtftri_base(__VA_ARGS__)
#endif

#define LAPACK_stftri_base LAPACK_GLOBAL_SUFFIX(stftri,STFTRI)
void LAPACK_stftri_base(
    char const* transr, char const* uplo, char const* diag,
    lapack_int const* n,
    float* A,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_stftri(...) LAPACK_stftri_base(__VA_ARGS__, 1, 1, 1)
#else
    #define LAPACK_stftri(...) LAPACK_stftri_base(__VA_ARGS__)
#endif

#define LAPACK_ztftri_base LAPACK_GLOBAL_SUFFIX(ztftri,ZTFTRI)
void LAPACK_ztftri_base(
    char const* transr, char const* uplo, char const* diag,
    lapack_int const* n,
    lapack_complex_double* A,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_ztftri(...) LAPACK_ztftri_base(__VA_ARGS__, 1, 1, 1)
#else
    #define LAPACK_ztftri(...) LAPACK_ztftri_base(__VA_ARGS__)
#endif

#define LAPACK_ctfttp_base LAPACK_GLOBAL_SUFFIX(ctfttp,CTFTTP)
void LAPACK_ctfttp_base(
    char const* transr, char const* uplo,
    lapack_int const* n,
    lapack_complex_float const* ARF,
    lapack_complex_float* AP,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_ctfttp(...) LAPACK_ctfttp_base(__VA_ARGS__, 1, 1)
#else
    #define LAPACK_ctfttp(...) LAPACK_ctfttp_base(__VA_ARGS__)
#endif

#define LAPACK_dtfttp_base LAPACK_GLOBAL_SUFFIX(dtfttp,DTFTTP)
void LAPACK_dtfttp_base(
    char const* transr, char const* uplo,
    lapack_int const* n,
    double const* ARF,
    double* AP,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_dtfttp(...) LAPACK_dtfttp_base(__VA_ARGS__, 1, 1)
#else
    #define LAPACK_dtfttp(...) LAPACK_dtfttp_base(__VA_ARGS__)
#endif

#define LAPACK_stfttp_base LAPACK_GLOBAL_SUFFIX(stfttp,STFTTP)
void LAPACK_stfttp_base(
    char const* transr, char const* uplo,
    lapack_int const* n,
    float const* ARF,
    float* AP,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_stfttp(...) LAPACK_stfttp_base(__VA_ARGS__, 1, 1)
#else
    #define LAPACK_stfttp(...) LAPACK_stfttp_base(__VA_ARGS__)
#endif

#define LAPACK_ztfttp_base LAPACK_GLOBAL_SUFFIX(ztfttp,ZTFTTP)
void LAPACK_ztfttp_base(
    char const* transr, char const* uplo,
    lapack_int const* n,
    lapack_complex_double const* ARF,
    lapack_complex_double* AP,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_ztfttp(...) LAPACK_ztfttp_base(__VA_ARGS__, 1, 1)
#else
    #define LAPACK_ztfttp(...) LAPACK_ztfttp_base(__VA_ARGS__)
#endif

#define LAPACK_ctfttr_base LAPACK_GLOBAL_SUFFIX(ctfttr,CTFTTR)
void LAPACK_ctfttr_base(
    char const* transr, char const* uplo,
    lapack_int const* n,
    lapack_complex_float const* ARF,
    lapack_complex_float* A, lapack_int const* lda,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_ctfttr(...) LAPACK_ctfttr_base(__VA_ARGS__, 1, 1)
#else
    #define LAPACK_ctfttr(...) LAPACK_ctfttr_base(__VA_ARGS__)
#endif

#define LAPACK_dtfttr_base LAPACK_GLOBAL_SUFFIX(dtfttr,DTFTTR)
void LAPACK_dtfttr_base(
    char const* transr, char const* uplo,
    lapack_int const* n,
    double const* ARF,
    double* A, lapack_int const* lda,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_dtfttr(...) LAPACK_dtfttr_base(__VA_ARGS__, 1, 1)
#else
    #define LAPACK_dtfttr(...) LAPACK_dtfttr_base(__VA_ARGS__)
#endif

#define LAPACK_stfttr_base LAPACK_GLOBAL_SUFFIX(stfttr,STFTTR)
void LAPACK_stfttr_base(
    char const* transr, char const* uplo,
    lapack_int const* n,
    float const* ARF,
    float* A, lapack_int const* lda,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_stfttr(...) LAPACK_stfttr_base(__VA_ARGS__, 1, 1)
#else
    #define LAPACK_stfttr(...) LAPACK_stfttr_base(__VA_ARGS__)
#endif

#define LAPACK_ztfttr_base LAPACK_GLOBAL_SUFFIX(ztfttr,ZTFTTR)
void LAPACK_ztfttr_base(
    char const* transr, char const* uplo,
    lapack_int const* n,
    lapack_complex_double const* ARF,
    lapack_complex_double* A, lapack_int const* lda,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_ztfttr(...) LAPACK_ztfttr_base(__VA_ARGS__, 1, 1)
#else
    #define LAPACK_ztfttr(...) LAPACK_ztfttr_base(__VA_ARGS__)
#endif

#define LAPACK_ctgevc_base LAPACK_GLOBAL_SUFFIX(ctgevc,CTGEVC)
void LAPACK_ctgevc_base(
    char const* side, char const* howmny,
    lapack_logical const* select,
    lapack_int const* n,
    lapack_complex_float const* S, lapack_int const* lds,
    lapack_complex_float const* P, lapack_int const* ldp,
    lapack_complex_float* VL, lapack_int const* ldvl,
    lapack_complex_float* VR, lapack_int const* ldvr, lapack_int const* mm, lapack_int* m,
    lapack_complex_float* work,
    float* rwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_ctgevc(...) LAPACK_ctgevc_base(__VA_ARGS__, 1, 1)
#else
    #define LAPACK_ctgevc(...) LAPACK_ctgevc_base(__VA_ARGS__)
#endif

#define LAPACK_dtgevc_base LAPACK_GLOBAL_SUFFIX(dtgevc,DTGEVC)
void LAPACK_dtgevc_base(
    char const* side, char const* howmny,
    lapack_logical const* select,
    lapack_int const* n,
    double const* S, lapack_int const* lds,
    double const* P, lapack_int const* ldp,
    double* VL, lapack_int const* ldvl,
    double* VR, lapack_int const* ldvr, lapack_int const* mm, lapack_int* m,
    double* work,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_dtgevc(...) LAPACK_dtgevc_base(__VA_ARGS__, 1, 1)
#else
    #define LAPACK_dtgevc(...) LAPACK_dtgevc_base(__VA_ARGS__)
#endif

#define LAPACK_stgevc_base LAPACK_GLOBAL_SUFFIX(stgevc,STGEVC)
void LAPACK_stgevc_base(
    char const* side, char const* howmny,
    lapack_logical const* select,
    lapack_int const* n,
    float const* S, lapack_int const* lds,
    float const* P, lapack_int const* ldp,
    float* VL, lapack_int const* ldvl,
    float* VR, lapack_int const* ldvr, lapack_int const* mm, lapack_int* m,
    float* work,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_stgevc(...) LAPACK_stgevc_base(__VA_ARGS__, 1, 1)
#else
    #define LAPACK_stgevc(...) LAPACK_stgevc_base(__VA_ARGS__)
#endif

#define LAPACK_ztgevc_base LAPACK_GLOBAL_SUFFIX(ztgevc,ZTGEVC)
void LAPACK_ztgevc_base(
    char const* side, char const* howmny,
    lapack_logical const* select,
    lapack_int const* n,
    lapack_complex_double const* S, lapack_int const* lds,
    lapack_complex_double const* P, lapack_int const* ldp,
    lapack_complex_double* VL, lapack_int const* ldvl,
    lapack_complex_double* VR, lapack_int const* ldvr, lapack_int const* mm, lapack_int* m,
    lapack_complex_double* work,
    double* rwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_ztgevc(...) LAPACK_ztgevc_base(__VA_ARGS__, 1, 1)
#else
    #define LAPACK_ztgevc(...) LAPACK_ztgevc_base(__VA_ARGS__)
#endif

#define LAPACK_ctgexc LAPACK_GLOBAL_SUFFIX(ctgexc,CTGEXC)
void LAPACK_ctgexc(
    lapack_logical const* wantq, lapack_logical const* wantz, lapack_int const* n,
    lapack_complex_float* A, lapack_int const* lda,
    lapack_complex_float* B, lapack_int const* ldb,
    lapack_complex_float* Q, lapack_int const* ldq,
    lapack_complex_float* Z, lapack_int const* ldz, lapack_int const* ifst, lapack_int* ilst,
    lapack_int* info );

#define LAPACK_dtgexc LAPACK_GLOBAL_SUFFIX(dtgexc,DTGEXC)
void LAPACK_dtgexc(
    lapack_logical const* wantq, lapack_logical const* wantz, lapack_int const* n,
    double* A, lapack_int const* lda,
    double* B, lapack_int const* ldb,
    double* Q, lapack_int const* ldq,
    double* Z, lapack_int const* ldz, lapack_int* ifst, lapack_int* ilst,
    double* work, lapack_int const* lwork,
    lapack_int* info );

#define LAPACK_stgexc LAPACK_GLOBAL_SUFFIX(stgexc,STGEXC)
void LAPACK_stgexc(
    lapack_logical const* wantq, lapack_logical const* wantz, lapack_int const* n,
    float* A, lapack_int const* lda,
    float* B, lapack_int const* ldb,
    float* Q, lapack_int const* ldq,
    float* Z, lapack_int const* ldz, lapack_int* ifst, lapack_int* ilst,
    float* work, lapack_int const* lwork,
    lapack_int* info );

#define LAPACK_ztgexc LAPACK_GLOBAL_SUFFIX(ztgexc,ZTGEXC)
void LAPACK_ztgexc(
    lapack_logical const* wantq, lapack_logical const* wantz, lapack_int const* n,
    lapack_complex_double* A, lapack_int const* lda,
    lapack_complex_double* B, lapack_int const* ldb,
    lapack_complex_double* Q, lapack_int const* ldq,
    lapack_complex_double* Z, lapack_int const* ldz, lapack_int const* ifst, lapack_int* ilst,
    lapack_int* info );

#define LAPACK_ctgsen LAPACK_GLOBAL_SUFFIX(ctgsen,CTGSEN)
void LAPACK_ctgsen(
    lapack_int const* ijob, lapack_logical const* wantq, lapack_logical const* wantz, lapack_logical const* select, lapack_int const* n,
    lapack_complex_float* A, lapack_int const* lda,
    lapack_complex_float* B, lapack_int const* ldb,
    lapack_complex_float* alpha,
    lapack_complex_float* beta,
    lapack_complex_float* Q, lapack_int const* ldq,
    lapack_complex_float* Z, lapack_int const* ldz, lapack_int* m,
    float* pl,
    float* pr,
    float* DIF,
    lapack_complex_float* work, lapack_int const* lwork,
    lapack_int* iwork, lapack_int const* liwork,
    lapack_int* info );

#define LAPACK_dtgsen LAPACK_GLOBAL_SUFFIX(dtgsen,DTGSEN)
void LAPACK_dtgsen(
    lapack_int const* ijob, lapack_logical const* wantq, lapack_logical const* wantz, lapack_logical const* select, lapack_int const* n,
    double* A, lapack_int const* lda,
    double* B, lapack_int const* ldb,
    double* alphar,
    double* alphai,
    double* beta,
    double* Q, lapack_int const* ldq,
    double* Z, lapack_int const* ldz, lapack_int* m,
    double* pl,
    double* pr,
    double* DIF,
    double* work, lapack_int const* lwork,
    lapack_int* iwork, lapack_int const* liwork,
    lapack_int* info );

#define LAPACK_stgsen LAPACK_GLOBAL_SUFFIX(stgsen,STGSEN)
void LAPACK_stgsen(
    lapack_int const* ijob, lapack_logical const* wantq, lapack_logical const* wantz, lapack_logical const* select, lapack_int const* n,
    float* A, lapack_int const* lda,
    float* B, lapack_int const* ldb,
    float* alphar,
    float* alphai,
    float* beta,
    float* Q, lapack_int const* ldq,
    float* Z, lapack_int const* ldz, lapack_int* m,
    float* pl,
    float* pr,
    float* DIF,
    float* work, lapack_int const* lwork,
    lapack_int* iwork, lapack_int const* liwork,
    lapack_int* info );

#define LAPACK_ztgsen LAPACK_GLOBAL_SUFFIX(ztgsen,ZTGSEN)
void LAPACK_ztgsen(
    lapack_int const* ijob, lapack_logical const* wantq, lapack_logical const* wantz, lapack_logical const* select, lapack_int const* n,
    lapack_complex_double* A, lapack_int const* lda,
    lapack_complex_double* B, lapack_int const* ldb,
    lapack_complex_double* alpha,
    lapack_complex_double* beta,
    lapack_complex_double* Q, lapack_int const* ldq,
    lapack_complex_double* Z, lapack_int const* ldz, lapack_int* m,
    double* pl,
    double* pr,
    double* DIF,
    lapack_complex_double* work, lapack_int const* lwork,
    lapack_int* iwork, lapack_int const* liwork,
    lapack_int* info );

#define LAPACK_ctgsja_base LAPACK_GLOBAL_SUFFIX(ctgsja,CTGSJA)
void LAPACK_ctgsja_base(
    char const* jobu, char const* jobv, char const* jobq,
    lapack_int const* m, lapack_int const* p, lapack_int const* n, lapack_int const* k, lapack_int const* l,
    lapack_complex_float* A, lapack_int const* lda,
    lapack_complex_float* B, lapack_int const* ldb,
    float const* tola,
    float const* tolb,
    float* alpha,
    float* beta,
    lapack_complex_float* U, lapack_int const* ldu,
    lapack_complex_float* V, lapack_int const* ldv,
    lapack_complex_float* Q, lapack_int const* ldq,
    lapack_complex_float* work, lapack_int* ncycle,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_ctgsja(...) LAPACK_ctgsja_base(__VA_ARGS__, 1, 1, 1)
#else
    #define LAPACK_ctgsja(...) LAPACK_ctgsja_base(__VA_ARGS__)
#endif

#define LAPACK_dtgsja_base LAPACK_GLOBAL_SUFFIX(dtgsja,DTGSJA)
void LAPACK_dtgsja_base(
    char const* jobu, char const* jobv, char const* jobq,
    lapack_int const* m, lapack_int const* p, lapack_int const* n, lapack_int const* k, lapack_int const* l,
    double* A, lapack_int const* lda,
    double* B, lapack_int const* ldb,
    double const* tola,
    double const* tolb,
    double* alpha,
    double* beta,
    double* U, lapack_int const* ldu,
    double* V, lapack_int const* ldv,
    double* Q, lapack_int const* ldq,
    double* work, lapack_int* ncycle,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_dtgsja(...) LAPACK_dtgsja_base(__VA_ARGS__, 1, 1, 1)
#else
    #define LAPACK_dtgsja(...) LAPACK_dtgsja_base(__VA_ARGS__)
#endif

#define LAPACK_stgsja_base LAPACK_GLOBAL_SUFFIX(stgsja,STGSJA)
void LAPACK_stgsja_base(
    char const* jobu, char const* jobv, char const* jobq,
    lapack_int const* m, lapack_int const* p, lapack_int const* n, lapack_int const* k, lapack_int const* l,
    float* A, lapack_int const* lda,
    float* B, lapack_int const* ldb,
    float const* tola,
    float const* tolb,
    float* alpha,
    float* beta,
    float* U, lapack_int const* ldu,
    float* V, lapack_int const* ldv,
    float* Q, lapack_int const* ldq,
    float* work, lapack_int* ncycle,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_stgsja(...) LAPACK_stgsja_base(__VA_ARGS__, 1, 1, 1)
#else
    #define LAPACK_stgsja(...) LAPACK_stgsja_base(__VA_ARGS__)
#endif

#define LAPACK_ztgsja_base LAPACK_GLOBAL_SUFFIX(ztgsja,ZTGSJA)
void LAPACK_ztgsja_base(
    char const* jobu, char const* jobv, char const* jobq,
    lapack_int const* m, lapack_int const* p, lapack_int const* n, lapack_int const* k, lapack_int const* l,
    lapack_complex_double* A, lapack_int const* lda,
    lapack_complex_double* B, lapack_int const* ldb,
    double const* tola,
    double const* tolb,
    double* alpha,
    double* beta,
    lapack_complex_double* U, lapack_int const* ldu,
    lapack_complex_double* V, lapack_int const* ldv,
    lapack_complex_double* Q, lapack_int const* ldq,
    lapack_complex_double* work, lapack_int* ncycle,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_ztgsja(...) LAPACK_ztgsja_base(__VA_ARGS__, 1, 1, 1)
#else
    #define LAPACK_ztgsja(...) LAPACK_ztgsja_base(__VA_ARGS__)
#endif

#define LAPACK_ctgsna_base LAPACK_GLOBAL_SUFFIX(ctgsna,CTGSNA)
void LAPACK_ctgsna_base(
    char const* job, char const* howmny,
    lapack_logical const* select,
    lapack_int const* n,
    lapack_complex_float const* A, lapack_int const* lda,
    lapack_complex_float const* B, lapack_int const* ldb,
    lapack_complex_float const* VL, lapack_int const* ldvl,
    lapack_complex_float const* VR, lapack_int const* ldvr,
    float* S,
    float* DIF, lapack_int const* mm, lapack_int* m,
    lapack_complex_float* work, lapack_int const* lwork,
    lapack_int* iwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_ctgsna(...) LAPACK_ctgsna_base(__VA_ARGS__, 1, 1)
#else
    #define LAPACK_ctgsna(...) LAPACK_ctgsna_base(__VA_ARGS__)
#endif

#define LAPACK_dtgsna_base LAPACK_GLOBAL_SUFFIX(dtgsna,DTGSNA)
void LAPACK_dtgsna_base(
    char const* job, char const* howmny,
    lapack_logical const* select,
    lapack_int const* n,
    double const* A, lapack_int const* lda,
    double const* B, lapack_int const* ldb,
    double const* VL, lapack_int const* ldvl,
    double const* VR, lapack_int const* ldvr,
    double* S,
    double* DIF, lapack_int const* mm, lapack_int* m,
    double* work, lapack_int const* lwork,
    lapack_int* iwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_dtgsna(...) LAPACK_dtgsna_base(__VA_ARGS__, 1, 1)
#else
    #define LAPACK_dtgsna(...) LAPACK_dtgsna_base(__VA_ARGS__)
#endif

#define LAPACK_stgsna_base LAPACK_GLOBAL_SUFFIX(stgsna,STGSNA)
void LAPACK_stgsna_base(
    char const* job, char const* howmny,
    lapack_logical const* select,
    lapack_int const* n,
    float const* A, lapack_int const* lda,
    float const* B, lapack_int const* ldb,
    float const* VL, lapack_int const* ldvl,
    float const* VR, lapack_int const* ldvr,
    float* S,
    float* DIF, lapack_int const* mm, lapack_int* m,
    float* work, lapack_int const* lwork,
    lapack_int* iwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_stgsna(...) LAPACK_stgsna_base(__VA_ARGS__, 1, 1)
#else
    #define LAPACK_stgsna(...) LAPACK_stgsna_base(__VA_ARGS__)
#endif

#define LAPACK_ztgsna_base LAPACK_GLOBAL_SUFFIX(ztgsna,ZTGSNA)
void LAPACK_ztgsna_base(
    char const* job, char const* howmny,
    lapack_logical const* select,
    lapack_int const* n,
    lapack_complex_double const* A, lapack_int const* lda,
    lapack_complex_double const* B, lapack_int const* ldb,
    lapack_complex_double const* VL, lapack_int const* ldvl,
    lapack_complex_double const* VR, lapack_int const* ldvr,
    double* S,
    double* DIF, lapack_int const* mm, lapack_int* m,
    lapack_complex_double* work, lapack_int const* lwork,
    lapack_int* iwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_ztgsna(...) LAPACK_ztgsna_base(__VA_ARGS__, 1, 1)
#else
    #define LAPACK_ztgsna(...) LAPACK_ztgsna_base(__VA_ARGS__)
#endif

#define LAPACK_ctgsyl_base LAPACK_GLOBAL_SUFFIX(ctgsyl,CTGSYL)
void LAPACK_ctgsyl_base(
    char const* trans,
    lapack_int const* ijob, lapack_int const* m, lapack_int const* n,
    lapack_complex_float const* A, lapack_int const* lda,
    lapack_complex_float const* B, lapack_int const* ldb,
    lapack_complex_float* C, lapack_int const* ldc,
    lapack_complex_float const* D, lapack_int const* ldd,
    lapack_complex_float const* E, lapack_int const* lde,
    lapack_complex_float* F, lapack_int const* ldf,
    float* dif,
    float* scale,
    lapack_complex_float* work, lapack_int const* lwork,
    lapack_int* iwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_ctgsyl(...) LAPACK_ctgsyl_base(__VA_ARGS__, 1)
#else
    #define LAPACK_ctgsyl(...) LAPACK_ctgsyl_base(__VA_ARGS__)
#endif

#define LAPACK_dtgsyl_base LAPACK_GLOBAL_SUFFIX(dtgsyl,DTGSYL)
void LAPACK_dtgsyl_base(
    char const* trans,
    lapack_int const* ijob, lapack_int const* m, lapack_int const* n,
    double const* A, lapack_int const* lda,
    double const* B, lapack_int const* ldb,
    double* C, lapack_int const* ldc,
    double const* D, lapack_int const* ldd,
    double const* E, lapack_int const* lde,
    double* F, lapack_int const* ldf,
    double* dif,
    double* scale,
    double* work, lapack_int const* lwork,
    lapack_int* iwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_dtgsyl(...) LAPACK_dtgsyl_base(__VA_ARGS__, 1)
#else
    #define LAPACK_dtgsyl(...) LAPACK_dtgsyl_base(__VA_ARGS__)
#endif

#define LAPACK_stgsyl_base LAPACK_GLOBAL_SUFFIX(stgsyl,STGSYL)
void LAPACK_stgsyl_base(
    char const* trans,
    lapack_int const* ijob, lapack_int const* m, lapack_int const* n,
    float const* A, lapack_int const* lda,
    float const* B, lapack_int const* ldb,
    float* C, lapack_int const* ldc,
    float const* D, lapack_int const* ldd,
    float const* E, lapack_int const* lde,
    float* F, lapack_int const* ldf,
    float* dif,
    float* scale,
    float* work, lapack_int const* lwork,
    lapack_int* iwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_stgsyl(...) LAPACK_stgsyl_base(__VA_ARGS__, 1)
#else
    #define LAPACK_stgsyl(...) LAPACK_stgsyl_base(__VA_ARGS__)
#endif

#define LAPACK_ztgsyl_base LAPACK_GLOBAL_SUFFIX(ztgsyl,ZTGSYL)
void LAPACK_ztgsyl_base(
    char const* trans,
    lapack_int const* ijob, lapack_int const* m, lapack_int const* n,
    lapack_complex_double const* A, lapack_int const* lda,
    lapack_complex_double const* B, lapack_int const* ldb,
    lapack_complex_double* C, lapack_int const* ldc,
    lapack_complex_double const* D, lapack_int const* ldd,
    lapack_complex_double const* E, lapack_int const* lde,
    lapack_complex_double* F, lapack_int const* ldf,
    double* dif,
    double* scale,
    lapack_complex_double* work, lapack_int const* lwork,
    lapack_int* iwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_ztgsyl(...) LAPACK_ztgsyl_base(__VA_ARGS__, 1)
#else
    #define LAPACK_ztgsyl(...) LAPACK_ztgsyl_base(__VA_ARGS__)
#endif

#define LAPACK_ctpcon_base LAPACK_GLOBAL_SUFFIX(ctpcon,CTPCON)
void LAPACK_ctpcon_base(
    char const* norm, char const* uplo, char const* diag,
    lapack_int const* n,
    lapack_complex_float const* AP,
    float* rcond,
    lapack_complex_float* work,
    float* rwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_ctpcon(...) LAPACK_ctpcon_base(__VA_ARGS__, 1, 1, 1)
#else
    #define LAPACK_ctpcon(...) LAPACK_ctpcon_base(__VA_ARGS__)
#endif

#define LAPACK_dtpcon_base LAPACK_GLOBAL_SUFFIX(dtpcon,DTPCON)
void LAPACK_dtpcon_base(
    char const* norm, char const* uplo, char const* diag,
    lapack_int const* n,
    double const* AP,
    double* rcond,
    double* work,
    lapack_int* iwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_dtpcon(...) LAPACK_dtpcon_base(__VA_ARGS__, 1, 1, 1)
#else
    #define LAPACK_dtpcon(...) LAPACK_dtpcon_base(__VA_ARGS__)
#endif

#define LAPACK_stpcon_base LAPACK_GLOBAL_SUFFIX(stpcon,STPCON)
void LAPACK_stpcon_base(
    char const* norm, char const* uplo, char const* diag,
    lapack_int const* n,
    float const* AP,
    float* rcond,
    float* work,
    lapack_int* iwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_stpcon(...) LAPACK_stpcon_base(__VA_ARGS__, 1, 1, 1)
#else
    #define LAPACK_stpcon(...) LAPACK_stpcon_base(__VA_ARGS__)
#endif

#define LAPACK_ztpcon_base LAPACK_GLOBAL_SUFFIX(ztpcon,ZTPCON)
void LAPACK_ztpcon_base(
    char const* norm, char const* uplo, char const* diag,
    lapack_int const* n,
    lapack_complex_double const* AP,
    double* rcond,
    lapack_complex_double* work,
    double* rwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_ztpcon(...) LAPACK_ztpcon_base(__VA_ARGS__, 1, 1, 1)
#else
    #define LAPACK_ztpcon(...) LAPACK_ztpcon_base(__VA_ARGS__)
#endif

#define LAPACK_ctplqt LAPACK_GLOBAL_SUFFIX(ctplqt,CTPLQT)
void LAPACK_ctplqt(
    lapack_int const* m, lapack_int const* n, lapack_int const* l, lapack_int const* mb,
    lapack_complex_float* A, lapack_int const* lda,
    lapack_complex_float* B, lapack_int const* ldb,
    lapack_complex_float* T, lapack_int const* ldt,
    lapack_complex_float* work,
    lapack_int* info );

#define LAPACK_dtplqt LAPACK_GLOBAL_SUFFIX(dtplqt,DTPLQT)
void LAPACK_dtplqt(
    lapack_int const* m, lapack_int const* n, lapack_int const* l, lapack_int const* mb,
    double* A, lapack_int const* lda,
    double* B, lapack_int const* ldb,
    double* T, lapack_int const* ldt,
    double* work,
    lapack_int* info );

#define LAPACK_stplqt LAPACK_GLOBAL_SUFFIX(stplqt,STPLQT)
void LAPACK_stplqt(
    lapack_int const* m, lapack_int const* n, lapack_int const* l, lapack_int const* mb,
    float* A, lapack_int const* lda,
    float* B, lapack_int const* ldb,
    float* T, lapack_int const* ldt,
    float* work,
    lapack_int* info );

#define LAPACK_ztplqt LAPACK_GLOBAL_SUFFIX(ztplqt,ZTPLQT)
void LAPACK_ztplqt(
    lapack_int const* m, lapack_int const* n, lapack_int const* l, lapack_int const* mb,
    lapack_complex_double* A, lapack_int const* lda,
    lapack_complex_double* B, lapack_int const* ldb,
    lapack_complex_double* T, lapack_int const* ldt,
    lapack_complex_double* work,
    lapack_int* info );

#define LAPACK_ctplqt2 LAPACK_GLOBAL_SUFFIX(ctplqt2,CTPLQT2)
void LAPACK_ctplqt2(
    lapack_int const* m, lapack_int const* n, lapack_int const* l,
    lapack_complex_float* A, lapack_int const* lda,
    lapack_complex_float* B, lapack_int const* ldb,
    lapack_complex_float* T, lapack_int const* ldt,
    lapack_int* info );

#define LAPACK_dtplqt2 LAPACK_GLOBAL_SUFFIX(dtplqt2,DTPLQT2)
void LAPACK_dtplqt2(
    lapack_int const* m, lapack_int const* n, lapack_int const* l,
    double* A, lapack_int const* lda,
    double* B, lapack_int const* ldb,
    double* T, lapack_int const* ldt,
    lapack_int* info );

#define LAPACK_stplqt2 LAPACK_GLOBAL_SUFFIX(stplqt2,STPLQT2)
void LAPACK_stplqt2(
    lapack_int const* m, lapack_int const* n, lapack_int const* l,
    float* A, lapack_int const* lda,
    float* B, lapack_int const* ldb,
    float* T, lapack_int const* ldt,
    lapack_int* info );

#define LAPACK_ztplqt2 LAPACK_GLOBAL_SUFFIX(ztplqt2,ZTPLQT2)
void LAPACK_ztplqt2(
    lapack_int const* m, lapack_int const* n, lapack_int const* l,
    lapack_complex_double* A, lapack_int const* lda,
    lapack_complex_double* B, lapack_int const* ldb,
    lapack_complex_double* T, lapack_int const* ldt,
    lapack_int* info );

#define LAPACK_ctpmlqt_base LAPACK_GLOBAL_SUFFIX(ctpmlqt,CTPMLQT)
void LAPACK_ctpmlqt_base(
    char const* side, char const* trans,
    lapack_int const* m, lapack_int const* n, lapack_int const* k, lapack_int const* l, lapack_int const* mb,
    lapack_complex_float const* V, lapack_int const* ldv,
    lapack_complex_float const* T, lapack_int const* ldt,
    lapack_complex_float* A, lapack_int const* lda,
    lapack_complex_float* B, lapack_int const* ldb,
    lapack_complex_float* work,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_ctpmlqt(...) LAPACK_ctpmlqt_base(__VA_ARGS__, 1, 1)
#else
    #define LAPACK_ctpmlqt(...) LAPACK_ctpmlqt_base(__VA_ARGS__)
#endif

#define LAPACK_dtpmlqt_base LAPACK_GLOBAL_SUFFIX(dtpmlqt,DTPMLQT)
void LAPACK_dtpmlqt_base(
    char const* side, char const* trans,
    lapack_int const* m, lapack_int const* n, lapack_int const* k, lapack_int const* l, lapack_int const* mb,
    double const* V, lapack_int const* ldv,
    double const* T, lapack_int const* ldt,
    double* A, lapack_int const* lda,
    double* B, lapack_int const* ldb,
    double* work,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_dtpmlqt(...) LAPACK_dtpmlqt_base(__VA_ARGS__, 1, 1)
#else
    #define LAPACK_dtpmlqt(...) LAPACK_dtpmlqt_base(__VA_ARGS__)
#endif

#define LAPACK_stpmlqt_base LAPACK_GLOBAL_SUFFIX(stpmlqt,STPMLQT)
void LAPACK_stpmlqt_base(
    char const* side, char const* trans,
    lapack_int const* m, lapack_int const* n, lapack_int const* k, lapack_int const* l, lapack_int const* mb,
    float const* V, lapack_int const* ldv,
    float const* T, lapack_int const* ldt,
    float* A, lapack_int const* lda,
    float* B, lapack_int const* ldb,
    float* work,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_stpmlqt(...) LAPACK_stpmlqt_base(__VA_ARGS__, 1, 1)
#else
    #define LAPACK_stpmlqt(...) LAPACK_stpmlqt_base(__VA_ARGS__)
#endif

#define LAPACK_ztpmlqt_base LAPACK_GLOBAL_SUFFIX(ztpmlqt,ZTPMLQT)
void LAPACK_ztpmlqt_base(
    char const* side, char const* trans,
    lapack_int const* m, lapack_int const* n, lapack_int const* k, lapack_int const* l, lapack_int const* mb,
    lapack_complex_double const* V, lapack_int const* ldv,
    lapack_complex_double const* T, lapack_int const* ldt,
    lapack_complex_double* A, lapack_int const* lda,
    lapack_complex_double* B, lapack_int const* ldb,
    lapack_complex_double* work,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_ztpmlqt(...) LAPACK_ztpmlqt_base(__VA_ARGS__, 1, 1)
#else
    #define LAPACK_ztpmlqt(...) LAPACK_ztpmlqt_base(__VA_ARGS__)
#endif

#define LAPACK_ctpmqrt_base LAPACK_GLOBAL_SUFFIX(ctpmqrt,CTPMQRT)
void LAPACK_ctpmqrt_base(
    char const* side, char const* trans,
    lapack_int const* m, lapack_int const* n, lapack_int const* k, lapack_int const* l, lapack_int const* nb,
    lapack_complex_float const* V, lapack_int const* ldv,
    lapack_complex_float const* T, lapack_int const* ldt,
    lapack_complex_float* A, lapack_int const* lda,
    lapack_complex_float* B, lapack_int const* ldb,
    lapack_complex_float* work,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_ctpmqrt(...) LAPACK_ctpmqrt_base(__VA_ARGS__, 1, 1)
#else
    #define LAPACK_ctpmqrt(...) LAPACK_ctpmqrt_base(__VA_ARGS__)
#endif

#define LAPACK_dtpmqrt_base LAPACK_GLOBAL_SUFFIX(dtpmqrt,DTPMQRT)
void LAPACK_dtpmqrt_base(
    char const* side, char const* trans,
    lapack_int const* m, lapack_int const* n, lapack_int const* k, lapack_int const* l, lapack_int const* nb,
    double const* V, lapack_int const* ldv,
    double const* T, lapack_int const* ldt,
    double* A, lapack_int const* lda,
    double* B, lapack_int const* ldb,
    double* work,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_dtpmqrt(...) LAPACK_dtpmqrt_base(__VA_ARGS__, 1, 1)
#else
    #define LAPACK_dtpmqrt(...) LAPACK_dtpmqrt_base(__VA_ARGS__)
#endif

#define LAPACK_stpmqrt_base LAPACK_GLOBAL_SUFFIX(stpmqrt,STPMQRT)
void LAPACK_stpmqrt_base(
    char const* side, char const* trans,
    lapack_int const* m, lapack_int const* n, lapack_int const* k, lapack_int const* l, lapack_int const* nb,
    float const* V, lapack_int const* ldv,
    float const* T, lapack_int const* ldt,
    float* A, lapack_int const* lda,
    float* B, lapack_int const* ldb,
    float* work,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_stpmqrt(...) LAPACK_stpmqrt_base(__VA_ARGS__, 1, 1)
#else
    #define LAPACK_stpmqrt(...) LAPACK_stpmqrt_base(__VA_ARGS__)
#endif

#define LAPACK_ztpmqrt_base LAPACK_GLOBAL_SUFFIX(ztpmqrt,ZTPMQRT)
void LAPACK_ztpmqrt_base(
    char const* side, char const* trans,
    lapack_int const* m, lapack_int const* n, lapack_int const* k, lapack_int const* l, lapack_int const* nb,
    lapack_complex_double const* V, lapack_int const* ldv,
    lapack_complex_double const* T, lapack_int const* ldt,
    lapack_complex_double* A, lapack_int const* lda,
    lapack_complex_double* B, lapack_int const* ldb,
    lapack_complex_double* work,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_ztpmqrt(...) LAPACK_ztpmqrt_base(__VA_ARGS__, 1, 1)
#else
    #define LAPACK_ztpmqrt(...) LAPACK_ztpmqrt_base(__VA_ARGS__)
#endif

#define LAPACK_ctpqrt LAPACK_GLOBAL_SUFFIX(ctpqrt,CTPQRT)
void LAPACK_ctpqrt(
    lapack_int const* m, lapack_int const* n, lapack_int const* l, lapack_int const* nb,
    lapack_complex_float* A, lapack_int const* lda,
    lapack_complex_float* B, lapack_int const* ldb,
    lapack_complex_float* T, lapack_int const* ldt,
    lapack_complex_float* work,
    lapack_int* info );

#define LAPACK_dtpqrt LAPACK_GLOBAL_SUFFIX(dtpqrt,DTPQRT)
void LAPACK_dtpqrt(
    lapack_int const* m, lapack_int const* n, lapack_int const* l, lapack_int const* nb,
    double* A, lapack_int const* lda,
    double* B, lapack_int const* ldb,
    double* T, lapack_int const* ldt,
    double* work,
    lapack_int* info );

#define LAPACK_stpqrt LAPACK_GLOBAL_SUFFIX(stpqrt,STPQRT)
void LAPACK_stpqrt(
    lapack_int const* m, lapack_int const* n, lapack_int const* l, lapack_int const* nb,
    float* A, lapack_int const* lda,
    float* B, lapack_int const* ldb,
    float* T, lapack_int const* ldt,
    float* work,
    lapack_int* info );

#define LAPACK_ztpqrt LAPACK_GLOBAL_SUFFIX(ztpqrt,ZTPQRT)
void LAPACK_ztpqrt(
    lapack_int const* m, lapack_int const* n, lapack_int const* l, lapack_int const* nb,
    lapack_complex_double* A, lapack_int const* lda,
    lapack_complex_double* B, lapack_int const* ldb,
    lapack_complex_double* T, lapack_int const* ldt,
    lapack_complex_double* work,
    lapack_int* info );

#define LAPACK_ctpqrt2 LAPACK_GLOBAL_SUFFIX(ctpqrt2,CTPQRT2)
void LAPACK_ctpqrt2(
    lapack_int const* m, lapack_int const* n, lapack_int const* l,
    lapack_complex_float* A, lapack_int const* lda,
    lapack_complex_float* B, lapack_int const* ldb,
    lapack_complex_float* T, lapack_int const* ldt,
    lapack_int* info );

#define LAPACK_dtpqrt2 LAPACK_GLOBAL_SUFFIX(dtpqrt2,DTPQRT2)
void LAPACK_dtpqrt2(
    lapack_int const* m, lapack_int const* n, lapack_int const* l,
    double* A, lapack_int const* lda,
    double* B, lapack_int const* ldb,
    double* T, lapack_int const* ldt,
    lapack_int* info );

#define LAPACK_stpqrt2 LAPACK_GLOBAL_SUFFIX(stpqrt2,STPQRT2)
void LAPACK_stpqrt2(
    lapack_int const* m, lapack_int const* n, lapack_int const* l,
    float* A, lapack_int const* lda,
    float* B, lapack_int const* ldb,
    float* T, lapack_int const* ldt,
    lapack_int* info );

#define LAPACK_ztpqrt2 LAPACK_GLOBAL_SUFFIX(ztpqrt2,ZTPQRT2)
void LAPACK_ztpqrt2(
    lapack_int const* m, lapack_int const* n, lapack_int const* l,
    lapack_complex_double* A, lapack_int const* lda,
    lapack_complex_double* B, lapack_int const* ldb,
    lapack_complex_double* T, lapack_int const* ldt,
    lapack_int* info );

#define LAPACK_ctprfb_base LAPACK_GLOBAL_SUFFIX(ctprfb,CTPRFB)
void LAPACK_ctprfb_base(
    char const* side, char const* trans, char const* direct, char const* storev,
    lapack_int const* m, lapack_int const* n, lapack_int const* k, lapack_int const* l,
    lapack_complex_float const* V, lapack_int const* ldv,
    lapack_complex_float const* T, lapack_int const* ldt,
    lapack_complex_float* A, lapack_int const* lda,
    lapack_complex_float* B, lapack_int const* ldb,
    lapack_complex_float* work, lapack_int const* ldwork
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN, FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_ctprfb(...) LAPACK_ctprfb_base(__VA_ARGS__, 1, 1, 1, 1)
#else
    #define LAPACK_ctprfb(...) LAPACK_ctprfb_base(__VA_ARGS__)
#endif

#define LAPACK_dtprfb_base LAPACK_GLOBAL_SUFFIX(dtprfb,DTPRFB)
void LAPACK_dtprfb_base(
    char const* side, char const* trans, char const* direct, char const* storev,
    lapack_int const* m, lapack_int const* n, lapack_int const* k, lapack_int const* l,
    double const* V, lapack_int const* ldv,
    double const* T, lapack_int const* ldt,
    double* A, lapack_int const* lda,
    double* B, lapack_int const* ldb,
    double* work, lapack_int const* ldwork
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN, FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_dtprfb(...) LAPACK_dtprfb_base(__VA_ARGS__, 1, 1, 1, 1)
#else
    #define LAPACK_dtprfb(...) LAPACK_dtprfb_base(__VA_ARGS__)
#endif

#define LAPACK_stprfb_base LAPACK_GLOBAL_SUFFIX(stprfb,STPRFB)
void LAPACK_stprfb_base(
    char const* side, char const* trans, char const* direct, char const* storev,
    lapack_int const* m, lapack_int const* n, lapack_int const* k, lapack_int const* l,
    float const* V, lapack_int const* ldv,
    float const* T, lapack_int const* ldt,
    float* A, lapack_int const* lda,
    float* B, lapack_int const* ldb,
    float* work, lapack_int const* ldwork
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN, FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_stprfb(...) LAPACK_stprfb_base(__VA_ARGS__, 1, 1, 1, 1)
#else
    #define LAPACK_stprfb(...) LAPACK_stprfb_base(__VA_ARGS__)
#endif

#define LAPACK_ztprfb_base LAPACK_GLOBAL_SUFFIX(ztprfb,ZTPRFB)
void LAPACK_ztprfb_base(
    char const* side, char const* trans, char const* direct, char const* storev,
    lapack_int const* m, lapack_int const* n, lapack_int const* k, lapack_int const* l,
    lapack_complex_double const* V, lapack_int const* ldv,
    lapack_complex_double const* T, lapack_int const* ldt,
    lapack_complex_double* A, lapack_int const* lda,
    lapack_complex_double* B, lapack_int const* ldb,
    lapack_complex_double* work, lapack_int const* ldwork
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN, FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_ztprfb(...) LAPACK_ztprfb_base(__VA_ARGS__, 1, 1, 1, 1)
#else
    #define LAPACK_ztprfb(...) LAPACK_ztprfb_base(__VA_ARGS__)
#endif

#define LAPACK_ctprfs_base LAPACK_GLOBAL_SUFFIX(ctprfs,CTPRFS)
void LAPACK_ctprfs_base(
    char const* uplo, char const* trans, char const* diag,
    lapack_int const* n, lapack_int const* nrhs,
    lapack_complex_float const* AP,
    lapack_complex_float const* B, lapack_int const* ldb,
    lapack_complex_float const* X, lapack_int const* ldx,
    float* ferr,
    float* berr,
    lapack_complex_float* work,
    float* rwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_ctprfs(...) LAPACK_ctprfs_base(__VA_ARGS__, 1, 1, 1)
#else
    #define LAPACK_ctprfs(...) LAPACK_ctprfs_base(__VA_ARGS__)
#endif

#define LAPACK_dtprfs_base LAPACK_GLOBAL_SUFFIX(dtprfs,DTPRFS)
void LAPACK_dtprfs_base(
    char const* uplo, char const* trans, char const* diag,
    lapack_int const* n, lapack_int const* nrhs,
    double const* AP,
    double const* B, lapack_int const* ldb,
    double const* X, lapack_int const* ldx,
    double* ferr,
    double* berr,
    double* work,
    lapack_int* iwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_dtprfs(...) LAPACK_dtprfs_base(__VA_ARGS__, 1, 1, 1)
#else
    #define LAPACK_dtprfs(...) LAPACK_dtprfs_base(__VA_ARGS__)
#endif

#define LAPACK_stprfs_base LAPACK_GLOBAL_SUFFIX(stprfs,STPRFS)
void LAPACK_stprfs_base(
    char const* uplo, char const* trans, char const* diag,
    lapack_int const* n, lapack_int const* nrhs,
    float const* AP,
    float const* B, lapack_int const* ldb,
    float const* X, lapack_int const* ldx,
    float* ferr,
    float* berr,
    float* work,
    lapack_int* iwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_stprfs(...) LAPACK_stprfs_base(__VA_ARGS__, 1, 1, 1)
#else
    #define LAPACK_stprfs(...) LAPACK_stprfs_base(__VA_ARGS__)
#endif

#define LAPACK_ztprfs_base LAPACK_GLOBAL_SUFFIX(ztprfs,ZTPRFS)
void LAPACK_ztprfs_base(
    char const* uplo, char const* trans, char const* diag,
    lapack_int const* n, lapack_int const* nrhs,
    lapack_complex_double const* AP,
    lapack_complex_double const* B, lapack_int const* ldb,
    lapack_complex_double const* X, lapack_int const* ldx,
    double* ferr,
    double* berr,
    lapack_complex_double* work,
    double* rwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_ztprfs(...) LAPACK_ztprfs_base(__VA_ARGS__, 1, 1, 1)
#else
    #define LAPACK_ztprfs(...) LAPACK_ztprfs_base(__VA_ARGS__)
#endif

#define LAPACK_ctptri_base LAPACK_GLOBAL_SUFFIX(ctptri,CTPTRI)
void LAPACK_ctptri_base(
    char const* uplo, char const* diag,
    lapack_int const* n,
    lapack_complex_float* AP,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_ctptri(...) LAPACK_ctptri_base(__VA_ARGS__, 1, 1)
#else
    #define LAPACK_ctptri(...) LAPACK_ctptri_base(__VA_ARGS__)
#endif

#define LAPACK_dtptri_base LAPACK_GLOBAL_SUFFIX(dtptri,DTPTRI)
void LAPACK_dtptri_base(
    char const* uplo, char const* diag,
    lapack_int const* n,
    double* AP,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_dtptri(...) LAPACK_dtptri_base(__VA_ARGS__, 1, 1)
#else
    #define LAPACK_dtptri(...) LAPACK_dtptri_base(__VA_ARGS__)
#endif

#define LAPACK_stptri_base LAPACK_GLOBAL_SUFFIX(stptri,STPTRI)
void LAPACK_stptri_base(
    char const* uplo, char const* diag,
    lapack_int const* n,
    float* AP,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_stptri(...) LAPACK_stptri_base(__VA_ARGS__, 1, 1)
#else
    #define LAPACK_stptri(...) LAPACK_stptri_base(__VA_ARGS__)
#endif

#define LAPACK_ztptri_base LAPACK_GLOBAL_SUFFIX(ztptri,ZTPTRI)
void LAPACK_ztptri_base(
    char const* uplo, char const* diag,
    lapack_int const* n,
    lapack_complex_double* AP,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_ztptri(...) LAPACK_ztptri_base(__VA_ARGS__, 1, 1)
#else
    #define LAPACK_ztptri(...) LAPACK_ztptri_base(__VA_ARGS__)
#endif

#define LAPACK_ctptrs_base LAPACK_GLOBAL_SUFFIX(ctptrs,CTPTRS)
void LAPACK_ctptrs_base(
    char const* uplo, char const* trans, char const* diag,
    lapack_int const* n, lapack_int const* nrhs,
    lapack_complex_float const* AP,
    lapack_complex_float* B, lapack_int const* ldb,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_ctptrs(...) LAPACK_ctptrs_base(__VA_ARGS__, 1, 1, 1)
#else
    #define LAPACK_ctptrs(...) LAPACK_ctptrs_base(__VA_ARGS__)
#endif

#define LAPACK_dtptrs_base LAPACK_GLOBAL_SUFFIX(dtptrs,DTPTRS)
void LAPACK_dtptrs_base(
    char const* uplo, char const* trans, char const* diag,
    lapack_int const* n, lapack_int const* nrhs,
    double const* AP,
    double* B, lapack_int const* ldb,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_dtptrs(...) LAPACK_dtptrs_base(__VA_ARGS__, 1, 1, 1)
#else
    #define LAPACK_dtptrs(...) LAPACK_dtptrs_base(__VA_ARGS__)
#endif

#define LAPACK_stptrs_base LAPACK_GLOBAL_SUFFIX(stptrs,STPTRS)
void LAPACK_stptrs_base(
    char const* uplo, char const* trans, char const* diag,
    lapack_int const* n, lapack_int const* nrhs,
    float const* AP,
    float* B, lapack_int const* ldb,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_stptrs(...) LAPACK_stptrs_base(__VA_ARGS__, 1, 1, 1)
#else
    #define LAPACK_stptrs(...) LAPACK_stptrs_base(__VA_ARGS__)
#endif

#define LAPACK_ztptrs_base LAPACK_GLOBAL_SUFFIX(ztptrs,ZTPTRS)
void LAPACK_ztptrs_base(
    char const* uplo, char const* trans, char const* diag,
    lapack_int const* n, lapack_int const* nrhs,
    lapack_complex_double const* AP,
    lapack_complex_double* B, lapack_int const* ldb,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_ztptrs(...) LAPACK_ztptrs_base(__VA_ARGS__, 1, 1, 1)
#else
    #define LAPACK_ztptrs(...) LAPACK_ztptrs_base(__VA_ARGS__)
#endif

#define LAPACK_ctpttf_base LAPACK_GLOBAL_SUFFIX(ctpttf,CTPTTF)
void LAPACK_ctpttf_base(
    char const* transr, char const* uplo,
    lapack_int const* n,
    lapack_complex_float const* AP,
    lapack_complex_float* ARF,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_ctpttf(...) LAPACK_ctpttf_base(__VA_ARGS__, 1, 1)
#else
    #define LAPACK_ctpttf(...) LAPACK_ctpttf_base(__VA_ARGS__)
#endif

#define LAPACK_dtpttf_base LAPACK_GLOBAL_SUFFIX(dtpttf,DTPTTF)
void LAPACK_dtpttf_base(
    char const* transr, char const* uplo,
    lapack_int const* n,
    double const* AP,
    double* ARF,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_dtpttf(...) LAPACK_dtpttf_base(__VA_ARGS__, 1, 1)
#else
    #define LAPACK_dtpttf(...) LAPACK_dtpttf_base(__VA_ARGS__)
#endif

#define LAPACK_stpttf_base LAPACK_GLOBAL_SUFFIX(stpttf,STPTTF)
void LAPACK_stpttf_base(
    char const* transr, char const* uplo,
    lapack_int const* n,
    float const* AP,
    float* ARF,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_stpttf(...) LAPACK_stpttf_base(__VA_ARGS__, 1, 1)
#else
    #define LAPACK_stpttf(...) LAPACK_stpttf_base(__VA_ARGS__)
#endif

#define LAPACK_ztpttf_base LAPACK_GLOBAL_SUFFIX(ztpttf,ZTPTTF)
void LAPACK_ztpttf_base(
    char const* transr, char const* uplo,
    lapack_int const* n,
    lapack_complex_double const* AP,
    lapack_complex_double* ARF,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_ztpttf(...) LAPACK_ztpttf_base(__VA_ARGS__, 1, 1)
#else
    #define LAPACK_ztpttf(...) LAPACK_ztpttf_base(__VA_ARGS__)
#endif

#define LAPACK_ctpttr_base LAPACK_GLOBAL_SUFFIX(ctpttr,CTPTTR)
void LAPACK_ctpttr_base(
    char const* uplo,
    lapack_int const* n,
    lapack_complex_float const* AP,
    lapack_complex_float* A, lapack_int const* lda,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_ctpttr(...) LAPACK_ctpttr_base(__VA_ARGS__, 1)
#else
    #define LAPACK_ctpttr(...) LAPACK_ctpttr_base(__VA_ARGS__)
#endif

#define LAPACK_dtpttr_base LAPACK_GLOBAL_SUFFIX(dtpttr,DTPTTR)
void LAPACK_dtpttr_base(
    char const* uplo,
    lapack_int const* n,
    double const* AP,
    double* A, lapack_int const* lda,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_dtpttr(...) LAPACK_dtpttr_base(__VA_ARGS__, 1)
#else
    #define LAPACK_dtpttr(...) LAPACK_dtpttr_base(__VA_ARGS__)
#endif

#define LAPACK_stpttr_base LAPACK_GLOBAL_SUFFIX(stpttr,STPTTR)
void LAPACK_stpttr_base(
    char const* uplo,
    lapack_int const* n,
    float const* AP,
    float* A, lapack_int const* lda,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_stpttr(...) LAPACK_stpttr_base(__VA_ARGS__, 1)
#else
    #define LAPACK_stpttr(...) LAPACK_stpttr_base(__VA_ARGS__)
#endif

#define LAPACK_ztpttr_base LAPACK_GLOBAL_SUFFIX(ztpttr,ZTPTTR)
void LAPACK_ztpttr_base(
    char const* uplo,
    lapack_int const* n,
    lapack_complex_double const* AP,
    lapack_complex_double* A, lapack_int const* lda,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_ztpttr(...) LAPACK_ztpttr_base(__VA_ARGS__, 1)
#else
    #define LAPACK_ztpttr(...) LAPACK_ztpttr_base(__VA_ARGS__)
#endif

#define LAPACK_ctrcon_base LAPACK_GLOBAL_SUFFIX(ctrcon,CTRCON)
void LAPACK_ctrcon_base(
    char const* norm, char const* uplo, char const* diag,
    lapack_int const* n,
    lapack_complex_float const* A, lapack_int const* lda,
    float* rcond,
    lapack_complex_float* work,
    float* rwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_ctrcon(...) LAPACK_ctrcon_base(__VA_ARGS__, 1, 1, 1)
#else
    #define LAPACK_ctrcon(...) LAPACK_ctrcon_base(__VA_ARGS__)
#endif

#define LAPACK_dtrcon_base LAPACK_GLOBAL_SUFFIX(dtrcon,DTRCON)
void LAPACK_dtrcon_base(
    char const* norm, char const* uplo, char const* diag,
    lapack_int const* n,
    double const* A, lapack_int const* lda,
    double* rcond,
    double* work,
    lapack_int* iwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_dtrcon(...) LAPACK_dtrcon_base(__VA_ARGS__, 1, 1, 1)
#else
    #define LAPACK_dtrcon(...) LAPACK_dtrcon_base(__VA_ARGS__)
#endif

#define LAPACK_strcon_base LAPACK_GLOBAL_SUFFIX(strcon,STRCON)
void LAPACK_strcon_base(
    char const* norm, char const* uplo, char const* diag,
    lapack_int const* n,
    float const* A, lapack_int const* lda,
    float* rcond,
    float* work,
    lapack_int* iwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_strcon(...) LAPACK_strcon_base(__VA_ARGS__, 1, 1, 1)
#else
    #define LAPACK_strcon(...) LAPACK_strcon_base(__VA_ARGS__)
#endif

#define LAPACK_ztrcon_base LAPACK_GLOBAL_SUFFIX(ztrcon,ZTRCON)
void LAPACK_ztrcon_base(
    char const* norm, char const* uplo, char const* diag,
    lapack_int const* n,
    lapack_complex_double const* A, lapack_int const* lda,
    double* rcond,
    lapack_complex_double* work,
    double* rwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_ztrcon(...) LAPACK_ztrcon_base(__VA_ARGS__, 1, 1, 1)
#else
    #define LAPACK_ztrcon(...) LAPACK_ztrcon_base(__VA_ARGS__)
#endif

#define LAPACK_ctrevc_base LAPACK_GLOBAL_SUFFIX(ctrevc,CTREVC)
void LAPACK_ctrevc_base(
    char const* side, char const* howmny,
    lapack_logical const* select,
    lapack_int const* n,
    lapack_complex_float* T, lapack_int const* ldt,
    lapack_complex_float* VL, lapack_int const* ldvl,
    lapack_complex_float* VR, lapack_int const* ldvr, lapack_int const* mm, lapack_int* m,
    lapack_complex_float* work,
    float* rwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_ctrevc(...) LAPACK_ctrevc_base(__VA_ARGS__, 1, 1)
#else
    #define LAPACK_ctrevc(...) LAPACK_ctrevc_base(__VA_ARGS__)
#endif

#define LAPACK_dtrevc_base LAPACK_GLOBAL_SUFFIX(dtrevc,DTREVC)
void LAPACK_dtrevc_base(
    char const* side, char const* howmny,
    lapack_logical* select,
    lapack_int const* n,
    double const* T, lapack_int const* ldt,
    double* VL, lapack_int const* ldvl,
    double* VR, lapack_int const* ldvr, lapack_int const* mm, lapack_int* m,
    double* work,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_dtrevc(...) LAPACK_dtrevc_base(__VA_ARGS__, 1, 1)
#else
    #define LAPACK_dtrevc(...) LAPACK_dtrevc_base(__VA_ARGS__)
#endif

#define LAPACK_strevc_base LAPACK_GLOBAL_SUFFIX(strevc,STREVC)
void LAPACK_strevc_base(
    char const* side, char const* howmny,
    lapack_logical* select,
    lapack_int const* n,
    float const* T, lapack_int const* ldt,
    float* VL, lapack_int const* ldvl,
    float* VR, lapack_int const* ldvr, lapack_int const* mm, lapack_int* m,
    float* work,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_strevc(...) LAPACK_strevc_base(__VA_ARGS__, 1, 1)
#else
    #define LAPACK_strevc(...) LAPACK_strevc_base(__VA_ARGS__)
#endif

#define LAPACK_ztrevc_base LAPACK_GLOBAL_SUFFIX(ztrevc,ZTREVC)
void LAPACK_ztrevc_base(
    char const* side, char const* howmny,
    lapack_logical const* select,
    lapack_int const* n,
    lapack_complex_double* T, lapack_int const* ldt,
    lapack_complex_double* VL, lapack_int const* ldvl,
    lapack_complex_double* VR, lapack_int const* ldvr, lapack_int const* mm, lapack_int* m,
    lapack_complex_double* work,
    double* rwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_ztrevc(...) LAPACK_ztrevc_base(__VA_ARGS__, 1, 1)
#else
    #define LAPACK_ztrevc(...) LAPACK_ztrevc_base(__VA_ARGS__)
#endif

#define LAPACK_ctrevc3_base LAPACK_GLOBAL_SUFFIX(ctrevc3,CTREVC3)
void LAPACK_ctrevc3_base(
    char const* side, char const* howmny,
    lapack_logical const* select,
    lapack_int const* n,
    lapack_complex_float* T, lapack_int const* ldt,
    lapack_complex_float* VL, lapack_int const* ldvl,
    lapack_complex_float* VR, lapack_int const* ldvr, lapack_int const* mm, lapack_int* m,
    lapack_complex_float* work, lapack_int const* lwork,
    float* rwork, lapack_int const* lrwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_ctrevc3(...) LAPACK_ctrevc3_base(__VA_ARGS__, 1, 1)
#else
    #define LAPACK_ctrevc3(...) LAPACK_ctrevc3_base(__VA_ARGS__)
#endif

#define LAPACK_dtrevc3_base LAPACK_GLOBAL_SUFFIX(dtrevc3,DTREVC3)
void LAPACK_dtrevc3_base(
    char const* side, char const* howmny,
    lapack_logical* select,
    lapack_int const* n,
    double const* T, lapack_int const* ldt,
    double* VL, lapack_int const* ldvl,
    double* VR, lapack_int const* ldvr, lapack_int const* mm, lapack_int* m,
    double* work, lapack_int const* lwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_dtrevc3(...) LAPACK_dtrevc3_base(__VA_ARGS__, 1, 1)
#else
    #define LAPACK_dtrevc3(...) LAPACK_dtrevc3_base(__VA_ARGS__)
#endif

#define LAPACK_strevc3_base LAPACK_GLOBAL_SUFFIX(strevc3,STREVC3)
void LAPACK_strevc3_base(
    char const* side, char const* howmny,
    lapack_logical* select,
    lapack_int const* n,
    float const* T, lapack_int const* ldt,
    float* VL, lapack_int const* ldvl,
    float* VR, lapack_int const* ldvr, lapack_int const* mm, lapack_int* m,
    float* work, lapack_int const* lwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_strevc3(...) LAPACK_strevc3_base(__VA_ARGS__, 1, 1)
#else
    #define LAPACK_strevc3(...) LAPACK_strevc3_base(__VA_ARGS__)
#endif

#define LAPACK_ztrevc3_base LAPACK_GLOBAL_SUFFIX(ztrevc3,ZTREVC3)
void LAPACK_ztrevc3_base(
    char const* side, char const* howmny,
    lapack_logical const* select,
    lapack_int const* n,
    lapack_complex_double* T, lapack_int const* ldt,
    lapack_complex_double* VL, lapack_int const* ldvl,
    lapack_complex_double* VR, lapack_int const* ldvr, lapack_int const* mm, lapack_int* m,
    lapack_complex_double* work, lapack_int const* lwork,
    double* rwork, lapack_int const* lrwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_ztrevc3(...) LAPACK_ztrevc3_base(__VA_ARGS__, 1, 1)
#else
    #define LAPACK_ztrevc3(...) LAPACK_ztrevc3_base(__VA_ARGS__)
#endif

#define LAPACK_ctrexc_base LAPACK_GLOBAL_SUFFIX(ctrexc,CTREXC)
void LAPACK_ctrexc_base(
    char const* compq,
    lapack_int const* n,
    lapack_complex_float* T, lapack_int const* ldt,
    lapack_complex_float* Q, lapack_int const* ldq, lapack_int const* ifst, lapack_int const* ilst,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_ctrexc(...) LAPACK_ctrexc_base(__VA_ARGS__, 1)
#else
    #define LAPACK_ctrexc(...) LAPACK_ctrexc_base(__VA_ARGS__)
#endif

#define LAPACK_dtrexc_base LAPACK_GLOBAL_SUFFIX(dtrexc,DTREXC)
void LAPACK_dtrexc_base(
    char const* compq,
    lapack_int const* n,
    double* T, lapack_int const* ldt,
    double* Q, lapack_int const* ldq, lapack_int* ifst, lapack_int* ilst,
    double* work,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_dtrexc(...) LAPACK_dtrexc_base(__VA_ARGS__, 1)
#else
    #define LAPACK_dtrexc(...) LAPACK_dtrexc_base(__VA_ARGS__)
#endif

#define LAPACK_strexc_base LAPACK_GLOBAL_SUFFIX(strexc,STREXC)
void LAPACK_strexc_base(
    char const* compq,
    lapack_int const* n,
    float* T, lapack_int const* ldt,
    float* Q, lapack_int const* ldq, lapack_int* ifst, lapack_int* ilst,
    float* work,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_strexc(...) LAPACK_strexc_base(__VA_ARGS__, 1)
#else
    #define LAPACK_strexc(...) LAPACK_strexc_base(__VA_ARGS__)
#endif

#define LAPACK_ztrexc_base LAPACK_GLOBAL_SUFFIX(ztrexc,ZTREXC)
void LAPACK_ztrexc_base(
    char const* compq,
    lapack_int const* n,
    lapack_complex_double* T, lapack_int const* ldt,
    lapack_complex_double* Q, lapack_int const* ldq, lapack_int const* ifst, lapack_int const* ilst,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_ztrexc(...) LAPACK_ztrexc_base(__VA_ARGS__, 1)
#else
    #define LAPACK_ztrexc(...) LAPACK_ztrexc_base(__VA_ARGS__)
#endif

#define LAPACK_ctrrfs_base LAPACK_GLOBAL_SUFFIX(ctrrfs,CTRRFS)
void LAPACK_ctrrfs_base(
    char const* uplo, char const* trans, char const* diag,
    lapack_int const* n, lapack_int const* nrhs,
    lapack_complex_float const* A, lapack_int const* lda,
    lapack_complex_float const* B, lapack_int const* ldb,
    lapack_complex_float const* X, lapack_int const* ldx,
    float* ferr,
    float* berr,
    lapack_complex_float* work,
    float* rwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_ctrrfs(...) LAPACK_ctrrfs_base(__VA_ARGS__, 1, 1, 1)
#else
    #define LAPACK_ctrrfs(...) LAPACK_ctrrfs_base(__VA_ARGS__)
#endif

#define LAPACK_dtrrfs_base LAPACK_GLOBAL_SUFFIX(dtrrfs,DTRRFS)
void LAPACK_dtrrfs_base(
    char const* uplo, char const* trans, char const* diag,
    lapack_int const* n, lapack_int const* nrhs,
    double const* A, lapack_int const* lda,
    double const* B, lapack_int const* ldb,
    double const* X, lapack_int const* ldx,
    double* ferr,
    double* berr,
    double* work,
    lapack_int* iwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_dtrrfs(...) LAPACK_dtrrfs_base(__VA_ARGS__, 1, 1, 1)
#else
    #define LAPACK_dtrrfs(...) LAPACK_dtrrfs_base(__VA_ARGS__)
#endif

#define LAPACK_strrfs_base LAPACK_GLOBAL_SUFFIX(strrfs,STRRFS)
void LAPACK_strrfs_base(
    char const* uplo, char const* trans, char const* diag,
    lapack_int const* n, lapack_int const* nrhs,
    float const* A, lapack_int const* lda,
    float const* B, lapack_int const* ldb,
    float const* X, lapack_int const* ldx,
    float* ferr,
    float* berr,
    float* work,
    lapack_int* iwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_strrfs(...) LAPACK_strrfs_base(__VA_ARGS__, 1, 1, 1)
#else
    #define LAPACK_strrfs(...) LAPACK_strrfs_base(__VA_ARGS__)
#endif

#define LAPACK_ztrrfs_base LAPACK_GLOBAL_SUFFIX(ztrrfs,ZTRRFS)
void LAPACK_ztrrfs_base(
    char const* uplo, char const* trans, char const* diag,
    lapack_int const* n, lapack_int const* nrhs,
    lapack_complex_double const* A, lapack_int const* lda,
    lapack_complex_double const* B, lapack_int const* ldb,
    lapack_complex_double const* X, lapack_int const* ldx,
    double* ferr,
    double* berr,
    lapack_complex_double* work,
    double* rwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_ztrrfs(...) LAPACK_ztrrfs_base(__VA_ARGS__, 1, 1, 1)
#else
    #define LAPACK_ztrrfs(...) LAPACK_ztrrfs_base(__VA_ARGS__)
#endif

#define LAPACK_ctrsen_base LAPACK_GLOBAL_SUFFIX(ctrsen,CTRSEN)
void LAPACK_ctrsen_base(
    char const* job, char const* compq,
    lapack_logical const* select,
    lapack_int const* n,
    lapack_complex_float* T, lapack_int const* ldt,
    lapack_complex_float* Q, lapack_int const* ldq,
    lapack_complex_float* W, lapack_int* m,
    float* s,
    float* sep,
    lapack_complex_float* work, lapack_int const* lwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_ctrsen(...) LAPACK_ctrsen_base(__VA_ARGS__, 1, 1)
#else
    #define LAPACK_ctrsen(...) LAPACK_ctrsen_base(__VA_ARGS__)
#endif

#define LAPACK_dtrsen_base LAPACK_GLOBAL_SUFFIX(dtrsen,DTRSEN)
void LAPACK_dtrsen_base(
    char const* job, char const* compq,
    lapack_logical const* select,
    lapack_int const* n,
    double* T, lapack_int const* ldt,
    double* Q, lapack_int const* ldq,
    double* WR,
    double* WI, lapack_int* m,
    double* s,
    double* sep,
    double* work, lapack_int const* lwork,
    lapack_int* iwork, lapack_int const* liwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_dtrsen(...) LAPACK_dtrsen_base(__VA_ARGS__, 1, 1)
#else
    #define LAPACK_dtrsen(...) LAPACK_dtrsen_base(__VA_ARGS__)
#endif

#define LAPACK_strsen_base LAPACK_GLOBAL_SUFFIX(strsen,STRSEN)
void LAPACK_strsen_base(
    char const* job, char const* compq,
    lapack_logical const* select,
    lapack_int const* n,
    float* T, lapack_int const* ldt,
    float* Q, lapack_int const* ldq,
    float* WR,
    float* WI, lapack_int* m,
    float* s,
    float* sep,
    float* work, lapack_int const* lwork,
    lapack_int* iwork, lapack_int const* liwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_strsen(...) LAPACK_strsen_base(__VA_ARGS__, 1, 1)
#else
    #define LAPACK_strsen(...) LAPACK_strsen_base(__VA_ARGS__)
#endif

#define LAPACK_ztrsen_base LAPACK_GLOBAL_SUFFIX(ztrsen,ZTRSEN)
void LAPACK_ztrsen_base(
    char const* job, char const* compq,
    lapack_logical const* select,
    lapack_int const* n,
    lapack_complex_double* T, lapack_int const* ldt,
    lapack_complex_double* Q, lapack_int const* ldq,
    lapack_complex_double* W, lapack_int* m,
    double* s,
    double* sep,
    lapack_complex_double* work, lapack_int const* lwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_ztrsen(...) LAPACK_ztrsen_base(__VA_ARGS__, 1, 1)
#else
    #define LAPACK_ztrsen(...) LAPACK_ztrsen_base(__VA_ARGS__)
#endif

#define LAPACK_ctrsna_base LAPACK_GLOBAL_SUFFIX(ctrsna,CTRSNA)
void LAPACK_ctrsna_base(
    char const* job, char const* howmny,
    lapack_logical const* select,
    lapack_int const* n,
    lapack_complex_float const* T, lapack_int const* ldt,
    lapack_complex_float const* VL, lapack_int const* ldvl,
    lapack_complex_float const* VR, lapack_int const* ldvr,
    float* S,
    float* SEP, lapack_int const* mm, lapack_int* m,
    lapack_complex_float* work, lapack_int const* ldwork,
    float* rwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_ctrsna(...) LAPACK_ctrsna_base(__VA_ARGS__, 1, 1)
#else
    #define LAPACK_ctrsna(...) LAPACK_ctrsna_base(__VA_ARGS__)
#endif

#define LAPACK_dtrsna_base LAPACK_GLOBAL_SUFFIX(dtrsna,DTRSNA)
void LAPACK_dtrsna_base(
    char const* job, char const* howmny,
    lapack_logical const* select,
    lapack_int const* n,
    double const* T, lapack_int const* ldt,
    double const* VL, lapack_int const* ldvl,
    double const* VR, lapack_int const* ldvr,
    double* S,
    double* SEP, lapack_int const* mm, lapack_int* m,
    double* work, lapack_int const* ldwork,
    lapack_int* iwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_dtrsna(...) LAPACK_dtrsna_base(__VA_ARGS__, 1, 1)
#else
    #define LAPACK_dtrsna(...) LAPACK_dtrsna_base(__VA_ARGS__)
#endif

#define LAPACK_strsna_base LAPACK_GLOBAL_SUFFIX(strsna,STRSNA)
void LAPACK_strsna_base(
    char const* job, char const* howmny,
    lapack_logical const* select,
    lapack_int const* n,
    float const* T, lapack_int const* ldt,
    float const* VL, lapack_int const* ldvl,
    float const* VR, lapack_int const* ldvr,
    float* S,
    float* SEP, lapack_int const* mm, lapack_int* m,
    float* work, lapack_int const* ldwork,
    lapack_int* iwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_strsna(...) LAPACK_strsna_base(__VA_ARGS__, 1, 1)
#else
    #define LAPACK_strsna(...) LAPACK_strsna_base(__VA_ARGS__)
#endif

#define LAPACK_ztrsna_base LAPACK_GLOBAL_SUFFIX(ztrsna,ZTRSNA)
void LAPACK_ztrsna_base(
    char const* job, char const* howmny,
    lapack_logical const* select,
    lapack_int const* n,
    lapack_complex_double const* T, lapack_int const* ldt,
    lapack_complex_double const* VL, lapack_int const* ldvl,
    lapack_complex_double const* VR, lapack_int const* ldvr,
    double* S,
    double* SEP, lapack_int const* mm, lapack_int* m,
    lapack_complex_double* work, lapack_int const* ldwork,
    double* rwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_ztrsna(...) LAPACK_ztrsna_base(__VA_ARGS__, 1, 1)
#else
    #define LAPACK_ztrsna(...) LAPACK_ztrsna_base(__VA_ARGS__)
#endif

#define LAPACK_ctrsyl_base LAPACK_GLOBAL_SUFFIX(ctrsyl,CTRSYL)
void LAPACK_ctrsyl_base(
    char const* trana, char const* tranb,
    lapack_int const* isgn, lapack_int const* m, lapack_int const* n,
    lapack_complex_float const* A, lapack_int const* lda,
    lapack_complex_float const* B, lapack_int const* ldb,
    lapack_complex_float* C, lapack_int const* ldc,
    float* scale,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_ctrsyl(...) LAPACK_ctrsyl_base(__VA_ARGS__, 1, 1)
#else
    #define LAPACK_ctrsyl(...) LAPACK_ctrsyl_base(__VA_ARGS__)
#endif

#define LAPACK_dtrsyl_base LAPACK_GLOBAL_SUFFIX(dtrsyl,DTRSYL)
void LAPACK_dtrsyl_base(
    char const* trana, char const* tranb,
    lapack_int const* isgn, lapack_int const* m, lapack_int const* n,
    double const* A, lapack_int const* lda,
    double const* B, lapack_int const* ldb,
    double* C, lapack_int const* ldc,
    double* scale,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_dtrsyl(...) LAPACK_dtrsyl_base(__VA_ARGS__, 1, 1)
#else
    #define LAPACK_dtrsyl(...) LAPACK_dtrsyl_base(__VA_ARGS__)
#endif

#define LAPACK_strsyl_base LAPACK_GLOBAL_SUFFIX(strsyl,STRSYL)
void LAPACK_strsyl_base(
    char const* trana, char const* tranb,
    lapack_int const* isgn, lapack_int const* m, lapack_int const* n,
    float const* A, lapack_int const* lda,
    float const* B, lapack_int const* ldb,
    float* C, lapack_int const* ldc,
    float* scale,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_strsyl(...) LAPACK_strsyl_base(__VA_ARGS__, 1, 1)
#else
    #define LAPACK_strsyl(...) LAPACK_strsyl_base(__VA_ARGS__)
#endif

#define LAPACK_ztrsyl_base LAPACK_GLOBAL_SUFFIX(ztrsyl,ZTRSYL)
void LAPACK_ztrsyl_base(
    char const* trana, char const* tranb,
    lapack_int const* isgn, lapack_int const* m, lapack_int const* n,
    lapack_complex_double const* A, lapack_int const* lda,
    lapack_complex_double const* B, lapack_int const* ldb,
    lapack_complex_double* C, lapack_int const* ldc,
    double* scale,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_ztrsyl(...) LAPACK_ztrsyl_base(__VA_ARGS__, 1, 1)
#else
    #define LAPACK_ztrsyl(...) LAPACK_ztrsyl_base(__VA_ARGS__)
#endif

#define LAPACK_ctrsyl3_base LAPACK_GLOBAL_SUFFIX(ctrsyl3,CTRSYL3)
void LAPACK_ctrsyl3_base(
    char const* trana, char const* tranb,
    lapack_int const* isgn, lapack_int const* m, lapack_int const* n,
    lapack_complex_float const* A, lapack_int const* lda,
    lapack_complex_float const* B, lapack_int const* ldb,
    lapack_complex_float* C, lapack_int const* ldc, float* scale,
    float* swork, lapack_int const *ldswork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_ctrsyl3(...) LAPACK_ctrsyl3_base(__VA_ARGS__, 1, 1)
#else
    #define LAPACK_ctrsyl3(...) LAPACK_ctrsyl3_base(__VA_ARGS__)
#endif

#define LAPACK_dtrsyl3_base LAPACK_GLOBAL_SUFFIX(dtrsyl3,DTRSYL3)
void LAPACK_dtrsyl3_base(
    char const* trana, char const* tranb,
    lapack_int const* isgn, lapack_int const* m, lapack_int const* n,
    double const* A, lapack_int const* lda,
    double const* B, lapack_int const* ldb,
    double* C, lapack_int const* ldc, double* scale,
    lapack_int* iwork, lapack_int const* liwork,
    double* swork, lapack_int const *ldswork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_dtrsyl3(...) LAPACK_dtrsyl3_base(__VA_ARGS__, 1, 1)
#else
    #define LAPACK_dtrsyl3(...) LAPACK_dtrsyl3_base(__VA_ARGS__)
#endif

#define LAPACK_strsyl3_base LAPACK_GLOBAL_SUFFIX(strsyl3,STRSYL3)
void LAPACK_strsyl3_base(
    char const* trana, char const* tranb,
    lapack_int const* isgn, lapack_int const* m, lapack_int const* n,
    float const* A, lapack_int const* lda,
    float const* B, lapack_int const* ldb,
    float* C, lapack_int const* ldc, float* scale,
    lapack_int* iwork, lapack_int const* liwork,
    float* swork, lapack_int const *ldswork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_strsyl3(...) LAPACK_strsyl3_base(__VA_ARGS__, 1, 1)
#else
    #define LAPACK_strsyl3(...) LAPACK_strsyl3_base(__VA_ARGS__)
#endif

#define LAPACK_ztrsyl3_base LAPACK_GLOBAL_SUFFIX(ztrsyl3,ZTRSYL3)
void LAPACK_ztrsyl3_base(
    char const* trana, char const* tranb,
    lapack_int const* isgn, lapack_int const* m, lapack_int const* n,
    lapack_complex_double const* A, lapack_int const* lda,
    lapack_complex_double const* B, lapack_int const* ldb,
    lapack_complex_double* C, lapack_int const* ldc, double* scale,
    double* swork, lapack_int const *ldswork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_ztrsyl3(...) LAPACK_ztrsyl3_base(__VA_ARGS__, 1, 1)
#else
    #define LAPACK_ztrsyl3(...) LAPACK_ztrsyl3_base(__VA_ARGS__)
#endif

#define LAPACK_ctrtri_base LAPACK_GLOBAL_SUFFIX(ctrtri,CTRTRI)
void LAPACK_ctrtri_base(
    char const* uplo, char const* diag,
    lapack_int const* n,
    lapack_complex_float* A, lapack_int const* lda,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_ctrtri(...) LAPACK_ctrtri_base(__VA_ARGS__, 1, 1)
#else
    #define LAPACK_ctrtri(...) LAPACK_ctrtri_base(__VA_ARGS__)
#endif

#define LAPACK_dtrtri_base LAPACK_GLOBAL_SUFFIX(dtrtri,DTRTRI)
void LAPACK_dtrtri_base(
    char const* uplo, char const* diag,
    lapack_int const* n,
    double* A, lapack_int const* lda,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_dtrtri(...) LAPACK_dtrtri_base(__VA_ARGS__, 1, 1)
#else
    #define LAPACK_dtrtri(...) LAPACK_dtrtri_base(__VA_ARGS__)
#endif

#define LAPACK_strtri_base LAPACK_GLOBAL_SUFFIX(strtri,STRTRI)
void LAPACK_strtri_base(
    char const* uplo, char const* diag,
    lapack_int const* n,
    float* A, lapack_int const* lda,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_strtri(...) LAPACK_strtri_base(__VA_ARGS__, 1, 1)
#else
    #define LAPACK_strtri(...) LAPACK_strtri_base(__VA_ARGS__)
#endif

#define LAPACK_ztrtri_base LAPACK_GLOBAL_SUFFIX(ztrtri,ZTRTRI)
void LAPACK_ztrtri_base(
    char const* uplo, char const* diag,
    lapack_int const* n,
    lapack_complex_double* A, lapack_int const* lda,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_ztrtri(...) LAPACK_ztrtri_base(__VA_ARGS__, 1, 1)
#else
    #define LAPACK_ztrtri(...) LAPACK_ztrtri_base(__VA_ARGS__)
#endif

#define LAPACK_ctrtrs_base LAPACK_GLOBAL_SUFFIX(ctrtrs,CTRTRS)
void LAPACK_ctrtrs_base(
    char const* uplo, char const* trans, char const* diag,
    lapack_int const* n, lapack_int const* nrhs,
    lapack_complex_float const* A, lapack_int const* lda,
    lapack_complex_float* B, lapack_int const* ldb,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_ctrtrs(...) LAPACK_ctrtrs_base(__VA_ARGS__, 1, 1, 1)
#else
    #define LAPACK_ctrtrs(...) LAPACK_ctrtrs_base(__VA_ARGS__)
#endif

#define LAPACK_dtrtrs_base LAPACK_GLOBAL_SUFFIX(dtrtrs,DTRTRS)
void LAPACK_dtrtrs_base(
    char const* uplo, char const* trans, char const* diag,
    lapack_int const* n, lapack_int const* nrhs,
    double const* A, lapack_int const* lda,
    double* B, lapack_int const* ldb,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_dtrtrs(...) LAPACK_dtrtrs_base(__VA_ARGS__, 1, 1, 1)
#else
    #define LAPACK_dtrtrs(...) LAPACK_dtrtrs_base(__VA_ARGS__)
#endif

#define LAPACK_strtrs_base LAPACK_GLOBAL_SUFFIX(strtrs,STRTRS)
void LAPACK_strtrs_base(
    char const* uplo, char const* trans, char const* diag,
    lapack_int const* n, lapack_int const* nrhs,
    float const* A, lapack_int const* lda,
    float* B, lapack_int const* ldb,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_strtrs(...) LAPACK_strtrs_base(__VA_ARGS__, 1, 1, 1)
#else
    #define LAPACK_strtrs(...) LAPACK_strtrs_base(__VA_ARGS__)
#endif

#define LAPACK_ztrtrs_base LAPACK_GLOBAL_SUFFIX(ztrtrs,ZTRTRS)
void LAPACK_ztrtrs_base(
    char const* uplo, char const* trans, char const* diag,
    lapack_int const* n, lapack_int const* nrhs,
    lapack_complex_double const* A, lapack_int const* lda,
    lapack_complex_double* B, lapack_int const* ldb,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_ztrtrs(...) LAPACK_ztrtrs_base(__VA_ARGS__, 1, 1, 1)
#else
    #define LAPACK_ztrtrs(...) LAPACK_ztrtrs_base(__VA_ARGS__)
#endif

#define LAPACK_ctrttf_base LAPACK_GLOBAL_SUFFIX(ctrttf,CTRTTF)
void LAPACK_ctrttf_base(
    char const* transr, char const* uplo,
    lapack_int const* n,
    lapack_complex_float const* A, lapack_int const* lda,
    lapack_complex_float* ARF,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_ctrttf(...) LAPACK_ctrttf_base(__VA_ARGS__, 1, 1)
#else
    #define LAPACK_ctrttf(...) LAPACK_ctrttf_base(__VA_ARGS__)
#endif

#define LAPACK_dtrttf_base LAPACK_GLOBAL_SUFFIX(dtrttf,DTRTTF)
void LAPACK_dtrttf_base(
    char const* transr, char const* uplo,
    lapack_int const* n,
    double const* A, lapack_int const* lda,
    double* ARF,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_dtrttf(...) LAPACK_dtrttf_base(__VA_ARGS__, 1, 1)
#else
    #define LAPACK_dtrttf(...) LAPACK_dtrttf_base(__VA_ARGS__)
#endif

#define LAPACK_strttf_base LAPACK_GLOBAL_SUFFIX(strttf,STRTTF)
void LAPACK_strttf_base(
    char const* transr, char const* uplo,
    lapack_int const* n,
    float const* A, lapack_int const* lda,
    float* ARF,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_strttf(...) LAPACK_strttf_base(__VA_ARGS__, 1, 1)
#else
    #define LAPACK_strttf(...) LAPACK_strttf_base(__VA_ARGS__)
#endif

#define LAPACK_ztrttf_base LAPACK_GLOBAL_SUFFIX(ztrttf,ZTRTTF)
void LAPACK_ztrttf_base(
    char const* transr, char const* uplo,
    lapack_int const* n,
    lapack_complex_double const* A, lapack_int const* lda,
    lapack_complex_double* ARF,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_ztrttf(...) LAPACK_ztrttf_base(__VA_ARGS__, 1, 1)
#else
    #define LAPACK_ztrttf(...) LAPACK_ztrttf_base(__VA_ARGS__)
#endif

#define LAPACK_ctrttp_base LAPACK_GLOBAL_SUFFIX(ctrttp,CTRTTP)
void LAPACK_ctrttp_base(
    char const* uplo,
    lapack_int const* n,
    lapack_complex_float const* A, lapack_int const* lda,
    lapack_complex_float* AP,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_ctrttp(...) LAPACK_ctrttp_base(__VA_ARGS__, 1)
#else
    #define LAPACK_ctrttp(...) LAPACK_ctrttp_base(__VA_ARGS__)
#endif

#define LAPACK_dtrttp_base LAPACK_GLOBAL_SUFFIX(dtrttp,DTRTTP)
void LAPACK_dtrttp_base(
    char const* uplo,
    lapack_int const* n,
    double const* A, lapack_int const* lda,
    double* AP,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_dtrttp(...) LAPACK_dtrttp_base(__VA_ARGS__, 1)
#else
    #define LAPACK_dtrttp(...) LAPACK_dtrttp_base(__VA_ARGS__)
#endif

#define LAPACK_strttp_base LAPACK_GLOBAL_SUFFIX(strttp,STRTTP)
void LAPACK_strttp_base(
    char const* uplo,
    lapack_int const* n,
    float const* A, lapack_int const* lda,
    float* AP,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_strttp(...) LAPACK_strttp_base(__VA_ARGS__, 1)
#else
    #define LAPACK_strttp(...) LAPACK_strttp_base(__VA_ARGS__)
#endif

#define LAPACK_ztrttp_base LAPACK_GLOBAL_SUFFIX(ztrttp,ZTRTTP)
void LAPACK_ztrttp_base(
    char const* uplo,
    lapack_int const* n,
    lapack_complex_double const* A, lapack_int const* lda,
    lapack_complex_double* AP,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_ztrttp(...) LAPACK_ztrttp_base(__VA_ARGS__, 1)
#else
    #define LAPACK_ztrttp(...) LAPACK_ztrttp_base(__VA_ARGS__)
#endif

#define LAPACK_ctzrzf LAPACK_GLOBAL_SUFFIX(ctzrzf,CTZRZF)
void LAPACK_ctzrzf(
    lapack_int const* m, lapack_int const* n,
    lapack_complex_float* A, lapack_int const* lda,
    lapack_complex_float* tau,
    lapack_complex_float* work, lapack_int const* lwork,
    lapack_int* info );

#define LAPACK_dtzrzf LAPACK_GLOBAL_SUFFIX(dtzrzf,DTZRZF)
void LAPACK_dtzrzf(
    lapack_int const* m, lapack_int const* n,
    double* A, lapack_int const* lda,
    double* tau,
    double* work, lapack_int const* lwork,
    lapack_int* info );

#define LAPACK_stzrzf LAPACK_GLOBAL_SUFFIX(stzrzf,STZRZF)
void LAPACK_stzrzf(
    lapack_int const* m, lapack_int const* n,
    float* A, lapack_int const* lda,
    float* tau,
    float* work, lapack_int const* lwork,
    lapack_int* info );

#define LAPACK_ztzrzf LAPACK_GLOBAL_SUFFIX(ztzrzf,ZTZRZF)
void LAPACK_ztzrzf(
    lapack_int const* m, lapack_int const* n,
    lapack_complex_double* A, lapack_int const* lda,
    lapack_complex_double* tau,
    lapack_complex_double* work, lapack_int const* lwork,
    lapack_int* info );

#define LAPACK_cunbdb_base LAPACK_GLOBAL_SUFFIX(cunbdb,CUNBDB)
void LAPACK_cunbdb_base(
    char const* trans, char const* signs,
    lapack_int const* m, lapack_int const* p, lapack_int const* q,
    lapack_complex_float* X11, lapack_int const* ldx11,
    lapack_complex_float* X12, lapack_int const* ldx12,
    lapack_complex_float* X21, lapack_int const* ldx21,
    lapack_complex_float* X22, lapack_int const* ldx22,
    float* theta,
    float* phi,
    lapack_complex_float* TAUP1,
    lapack_complex_float* TAUP2,
    lapack_complex_float* TAUQ1,
    lapack_complex_float* TAUQ2,
    lapack_complex_float* work, lapack_int const* lwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_cunbdb(...) LAPACK_cunbdb_base(__VA_ARGS__, 1, 1)
#else
    #define LAPACK_cunbdb(...) LAPACK_cunbdb_base(__VA_ARGS__)
#endif

#define LAPACK_zunbdb_base LAPACK_GLOBAL_SUFFIX(zunbdb,ZUNBDB)
void LAPACK_zunbdb_base(
    char const* trans, char const* signs,
    lapack_int const* m, lapack_int const* p, lapack_int const* q,
    lapack_complex_double* X11, lapack_int const* ldx11,
    lapack_complex_double* X12, lapack_int const* ldx12,
    lapack_complex_double* X21, lapack_int const* ldx21,
    lapack_complex_double* X22, lapack_int const* ldx22,
    double* theta,
    double* phi,
    lapack_complex_double* TAUP1,
    lapack_complex_double* TAUP2,
    lapack_complex_double* TAUQ1,
    lapack_complex_double* TAUQ2,
    lapack_complex_double* work, lapack_int const* lwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_zunbdb(...) LAPACK_zunbdb_base(__VA_ARGS__, 1, 1)
#else
    #define LAPACK_zunbdb(...) LAPACK_zunbdb_base(__VA_ARGS__)
#endif

#define LAPACK_cuncsd_base LAPACK_GLOBAL_SUFFIX(cuncsd,CUNCSD)
void LAPACK_cuncsd_base(
    char const* jobu1, char const* jobu2, char const* jobv1t, char const* jobv2t, char const* trans, char const* signs,
    lapack_int const* m, lapack_int const* p, lapack_int const* q,
    lapack_complex_float* X11, lapack_int const* ldx11,
    lapack_complex_float* X12, lapack_int const* ldx12,
    lapack_complex_float* X21, lapack_int const* ldx21,
    lapack_complex_float* X22, lapack_int const* ldx22,
    float* theta,
    lapack_complex_float* U1, lapack_int const* ldu1,
    lapack_complex_float* U2, lapack_int const* ldu2,
    lapack_complex_float* V1T, lapack_int const* ldv1t,
    lapack_complex_float* V2T, lapack_int const* ldv2t,
    lapack_complex_float* work, lapack_int const* lwork,
    float* rwork, lapack_int const* lrwork,
    lapack_int* iwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN, FORTRAN_STRLEN, FORTRAN_STRLEN, FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_cuncsd(...) LAPACK_cuncsd_base(__VA_ARGS__, 1, 1, 1, 1, 1, 1)
#else
    #define LAPACK_cuncsd(...) LAPACK_cuncsd_base(__VA_ARGS__)
#endif

#define LAPACK_zuncsd_base LAPACK_GLOBAL_SUFFIX(zuncsd,ZUNCSD)
void LAPACK_zuncsd_base(
    char const* jobu1, char const* jobu2, char const* jobv1t, char const* jobv2t, char const* trans, char const* signs,
    lapack_int const* m, lapack_int const* p, lapack_int const* q,
    lapack_complex_double* X11, lapack_int const* ldx11,
    lapack_complex_double* X12, lapack_int const* ldx12,
    lapack_complex_double* X21, lapack_int const* ldx21,
    lapack_complex_double* X22, lapack_int const* ldx22,
    double* theta,
    lapack_complex_double* U1, lapack_int const* ldu1,
    lapack_complex_double* U2, lapack_int const* ldu2,
    lapack_complex_double* V1T, lapack_int const* ldv1t,
    lapack_complex_double* V2T, lapack_int const* ldv2t,
    lapack_complex_double* work, lapack_int const* lwork,
    double* rwork, lapack_int const* lrwork,
    lapack_int* iwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN, FORTRAN_STRLEN, FORTRAN_STRLEN, FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_zuncsd(...) LAPACK_zuncsd_base(__VA_ARGS__, 1, 1, 1, 1, 1, 1)
#else
    #define LAPACK_zuncsd(...) LAPACK_zuncsd_base(__VA_ARGS__)
#endif

#define LAPACK_cuncsd2by1_base LAPACK_GLOBAL_SUFFIX(cuncsd2by1,CUNCSD2BY1)
void LAPACK_cuncsd2by1_base(
    char const* jobu1, char const* jobu2, char const* jobv1t,
    lapack_int const* m, lapack_int const* p, lapack_int const* q,
    lapack_complex_float* X11, lapack_int const* ldx11,
    lapack_complex_float* X21, lapack_int const* ldx21,
    float* theta,
    lapack_complex_float* U1, lapack_int const* ldu1,
    lapack_complex_float* U2, lapack_int const* ldu2,
    lapack_complex_float* V1T, lapack_int const* ldv1t,
    lapack_complex_float* work, lapack_int const* lwork,
    float* rwork, lapack_int const* lrwork,
    lapack_int* iwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_cuncsd2by1(...) LAPACK_cuncsd2by1_base(__VA_ARGS__, 1, 1, 1)
#else
    #define LAPACK_cuncsd2by1(...) LAPACK_cuncsd2by1_base(__VA_ARGS__)
#endif

#define LAPACK_zuncsd2by1_base LAPACK_GLOBAL_SUFFIX(zuncsd2by1,ZUNCSD2BY1)
void LAPACK_zuncsd2by1_base(
    char const* jobu1, char const* jobu2, char const* jobv1t,
    lapack_int const* m, lapack_int const* p, lapack_int const* q,
    lapack_complex_double* X11, lapack_int const* ldx11,
    lapack_complex_double* X21, lapack_int const* ldx21,
    double* theta,
    lapack_complex_double* U1, lapack_int const* ldu1,
    lapack_complex_double* U2, lapack_int const* ldu2,
    lapack_complex_double* V1T, lapack_int const* ldv1t,
    lapack_complex_double* work, lapack_int const* lwork,
    double* rwork, lapack_int const* lrwork,
    lapack_int* iwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_zuncsd2by1(...) LAPACK_zuncsd2by1_base(__VA_ARGS__, 1, 1, 1)
#else
    #define LAPACK_zuncsd2by1(...) LAPACK_zuncsd2by1_base(__VA_ARGS__)
#endif

#define LAPACK_cungbr_base LAPACK_GLOBAL_SUFFIX(cungbr,CUNGBR)
void LAPACK_cungbr_base(
    char const* vect,
    lapack_int const* m, lapack_int const* n, lapack_int const* k,
    lapack_complex_float* A, lapack_int const* lda,
    lapack_complex_float const* tau,
    lapack_complex_float* work, lapack_int const* lwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_cungbr(...) LAPACK_cungbr_base(__VA_ARGS__, 1)
#else
    #define LAPACK_cungbr(...) LAPACK_cungbr_base(__VA_ARGS__)
#endif

#define LAPACK_zungbr_base LAPACK_GLOBAL_SUFFIX(zungbr,ZUNGBR)
void LAPACK_zungbr_base(
    char const* vect,
    lapack_int const* m, lapack_int const* n, lapack_int const* k,
    lapack_complex_double* A, lapack_int const* lda,
    lapack_complex_double const* tau,
    lapack_complex_double* work, lapack_int const* lwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_zungbr(...) LAPACK_zungbr_base(__VA_ARGS__, 1)
#else
    #define LAPACK_zungbr(...) LAPACK_zungbr_base(__VA_ARGS__)
#endif

#define LAPACK_cunghr LAPACK_GLOBAL_SUFFIX(cunghr,CUNGHR)
void LAPACK_cunghr(
    lapack_int const* n, lapack_int const* ilo, lapack_int const* ihi,
    lapack_complex_float* A, lapack_int const* lda,
    lapack_complex_float const* tau,
    lapack_complex_float* work, lapack_int const* lwork,
    lapack_int* info );

#define LAPACK_zunghr LAPACK_GLOBAL_SUFFIX(zunghr,ZUNGHR)
void LAPACK_zunghr(
    lapack_int const* n, lapack_int const* ilo, lapack_int const* ihi,
    lapack_complex_double* A, lapack_int const* lda,
    lapack_complex_double const* tau,
    lapack_complex_double* work, lapack_int const* lwork,
    lapack_int* info );

#define LAPACK_cunglq LAPACK_GLOBAL_SUFFIX(cunglq,CUNGLQ)
void LAPACK_cunglq(
    lapack_int const* m, lapack_int const* n, lapack_int const* k,
    lapack_complex_float* A, lapack_int const* lda,
    lapack_complex_float const* tau,
    lapack_complex_float* work, lapack_int const* lwork,
    lapack_int* info );

#define LAPACK_zunglq LAPACK_GLOBAL_SUFFIX(zunglq,ZUNGLQ)
void LAPACK_zunglq(
    lapack_int const* m, lapack_int const* n, lapack_int const* k,
    lapack_complex_double* A, lapack_int const* lda,
    lapack_complex_double const* tau,
    lapack_complex_double* work, lapack_int const* lwork,
    lapack_int* info );

#define LAPACK_cungql LAPACK_GLOBAL_SUFFIX(cungql,CUNGQL)
void LAPACK_cungql(
    lapack_int const* m, lapack_int const* n, lapack_int const* k,
    lapack_complex_float* A, lapack_int const* lda,
    lapack_complex_float const* tau,
    lapack_complex_float* work, lapack_int const* lwork,
    lapack_int* info );

#define LAPACK_zungql LAPACK_GLOBAL_SUFFIX(zungql,ZUNGQL)
void LAPACK_zungql(
    lapack_int const* m, lapack_int const* n, lapack_int const* k,
    lapack_complex_double* A, lapack_int const* lda,
    lapack_complex_double const* tau,
    lapack_complex_double* work, lapack_int const* lwork,
    lapack_int* info );

#define LAPACK_cungqr LAPACK_GLOBAL_SUFFIX(cungqr,CUNGQR)
void LAPACK_cungqr(
    lapack_int const* m, lapack_int const* n, lapack_int const* k,
    lapack_complex_float* A, lapack_int const* lda,
    lapack_complex_float const* tau,
    lapack_complex_float* work, lapack_int const* lwork,
    lapack_int* info );

#define LAPACK_zungqr LAPACK_GLOBAL_SUFFIX(zungqr,ZUNGQR)
void LAPACK_zungqr(
    lapack_int const* m, lapack_int const* n, lapack_int const* k,
    lapack_complex_double* A, lapack_int const* lda,
    lapack_complex_double const* tau,
    lapack_complex_double* work, lapack_int const* lwork,
    lapack_int* info );

#define LAPACK_cungrq LAPACK_GLOBAL_SUFFIX(cungrq,CUNGRQ)
void LAPACK_cungrq(
    lapack_int const* m, lapack_int const* n, lapack_int const* k,
    lapack_complex_float* A, lapack_int const* lda,
    lapack_complex_float const* tau,
    lapack_complex_float* work, lapack_int const* lwork,
    lapack_int* info );

#define LAPACK_zungrq LAPACK_GLOBAL_SUFFIX(zungrq,ZUNGRQ)
void LAPACK_zungrq(
    lapack_int const* m, lapack_int const* n, lapack_int const* k,
    lapack_complex_double* A, lapack_int const* lda,
    lapack_complex_double const* tau,
    lapack_complex_double* work, lapack_int const* lwork,
    lapack_int* info );

#define LAPACK_cungtr_base LAPACK_GLOBAL_SUFFIX(cungtr,CUNGTR)
void LAPACK_cungtr_base(
    char const* uplo,
    lapack_int const* n,
    lapack_complex_float* A, lapack_int const* lda,
    lapack_complex_float const* tau,
    lapack_complex_float* work, lapack_int const* lwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_cungtr(...) LAPACK_cungtr_base(__VA_ARGS__, 1)
#else
    #define LAPACK_cungtr(...) LAPACK_cungtr_base(__VA_ARGS__)
#endif

#define LAPACK_zungtr_base LAPACK_GLOBAL_SUFFIX(zungtr,ZUNGTR)
void LAPACK_zungtr_base(
    char const* uplo,
    lapack_int const* n,
    lapack_complex_double* A, lapack_int const* lda,
    lapack_complex_double const* tau,
    lapack_complex_double* work, lapack_int const* lwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_zungtr(...) LAPACK_zungtr_base(__VA_ARGS__, 1)
#else
    #define LAPACK_zungtr(...) LAPACK_zungtr_base(__VA_ARGS__)
#endif

#define LAPACK_cungtsqr_row LAPACK_GLOBAL_SUFFIX(cungtsqr_row,CUNGTSQR_ROW)
void LAPACK_cungtsqr_row(
    lapack_int const* m, lapack_int const* n,
    lapack_int const* mb, lapack_int const* nb,
    lapack_complex_float* A, lapack_int const* lda,
    lapack_complex_float const* T, lapack_int const* ldt,
    lapack_complex_float* work, lapack_int const* lwork,
    lapack_int* info );

#define LAPACK_zungtsqr_row LAPACK_GLOBAL_SUFFIX(zungtsqr_row,ZUNGTSQR_ROW)
void LAPACK_zungtsqr_row(
    lapack_int const* m, lapack_int const* n,
    lapack_int const* mb, lapack_int const* nb,
    lapack_complex_double* A, lapack_int const* lda,
    lapack_complex_double const* T, lapack_int const* ldt,
    lapack_complex_double* work, lapack_int const* lwork,
    lapack_int* info );

#define LAPACK_cunhr_col LAPACK_GLOBAL_SUFFIX(cunhr_col,CUNHR_COL)
void LAPACK_cunhr_col(
    lapack_int const* m, lapack_int const* n,
    lapack_int const* nb, lapack_complex_float* A,
    lapack_int const* lda, lapack_complex_float* T,
    lapack_int const* ldt, lapack_complex_float* D,
    lapack_int* info );

#define LAPACK_zunhr_col LAPACK_GLOBAL_SUFFIX(zunhr_col,ZUNHR_COL)
void LAPACK_zunhr_col(
    lapack_int const* m, lapack_int const* n,
    lapack_int const* nb, lapack_complex_double* A,
    lapack_int const* lda, lapack_complex_double* T,
    lapack_int const* ldt, lapack_complex_double* D,
    lapack_int* info );

#define LAPACK_cunmbr_base LAPACK_GLOBAL_SUFFIX(cunmbr,CUNMBR)
void LAPACK_cunmbr_base(
    char const* vect, char const* side, char const* trans,
    lapack_int const* m, lapack_int const* n, lapack_int const* k,
    lapack_complex_float const* A, lapack_int const* lda,
    lapack_complex_float const* tau,
    lapack_complex_float* C, lapack_int const* ldc,
    lapack_complex_float* work, lapack_int const* lwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_cunmbr(...) LAPACK_cunmbr_base(__VA_ARGS__, 1, 1, 1)
#else
    #define LAPACK_cunmbr(...) LAPACK_cunmbr_base(__VA_ARGS__)
#endif

#define LAPACK_zunmbr_base LAPACK_GLOBAL_SUFFIX(zunmbr,ZUNMBR)
void LAPACK_zunmbr_base(
    char const* vect, char const* side, char const* trans,
    lapack_int const* m, lapack_int const* n, lapack_int const* k,
    lapack_complex_double const* A, lapack_int const* lda,
    lapack_complex_double const* tau,
    lapack_complex_double* C, lapack_int const* ldc,
    lapack_complex_double* work, lapack_int const* lwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_zunmbr(...) LAPACK_zunmbr_base(__VA_ARGS__, 1, 1, 1)
#else
    #define LAPACK_zunmbr(...) LAPACK_zunmbr_base(__VA_ARGS__)
#endif

#define LAPACK_cunmhr_base LAPACK_GLOBAL_SUFFIX(cunmhr,CUNMHR)
void LAPACK_cunmhr_base(
    char const* side, char const* trans,
    lapack_int const* m, lapack_int const* n, lapack_int const* ilo, lapack_int const* ihi,
    lapack_complex_float const* A, lapack_int const* lda,
    lapack_complex_float const* tau,
    lapack_complex_float* C, lapack_int const* ldc,
    lapack_complex_float* work, lapack_int const* lwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_cunmhr(...) LAPACK_cunmhr_base(__VA_ARGS__, 1, 1)
#else
    #define LAPACK_cunmhr(...) LAPACK_cunmhr_base(__VA_ARGS__)
#endif

#define LAPACK_zunmhr_base LAPACK_GLOBAL_SUFFIX(zunmhr,ZUNMHR)
void LAPACK_zunmhr_base(
    char const* side, char const* trans,
    lapack_int const* m, lapack_int const* n, lapack_int const* ilo, lapack_int const* ihi,
    lapack_complex_double const* A, lapack_int const* lda,
    lapack_complex_double const* tau,
    lapack_complex_double* C, lapack_int const* ldc,
    lapack_complex_double* work, lapack_int const* lwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_zunmhr(...) LAPACK_zunmhr_base(__VA_ARGS__, 1, 1)
#else
    #define LAPACK_zunmhr(...) LAPACK_zunmhr_base(__VA_ARGS__)
#endif

#define LAPACK_cunmlq_base LAPACK_GLOBAL_SUFFIX(cunmlq,CUNMLQ)
void LAPACK_cunmlq_base(
    char const* side, char const* trans,
    lapack_int const* m, lapack_int const* n, lapack_int const* k,
    lapack_complex_float const* A, lapack_int const* lda,
    lapack_complex_float const* tau,
    lapack_complex_float* C, lapack_int const* ldc,
    lapack_complex_float* work, lapack_int const* lwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_cunmlq(...) LAPACK_cunmlq_base(__VA_ARGS__, 1, 1)
#else
    #define LAPACK_cunmlq(...) LAPACK_cunmlq_base(__VA_ARGS__)
#endif

#define LAPACK_zunmlq_base LAPACK_GLOBAL_SUFFIX(zunmlq,ZUNMLQ)
void LAPACK_zunmlq_base(
    char const* side, char const* trans,
    lapack_int const* m, lapack_int const* n, lapack_int const* k,
    lapack_complex_double const* A, lapack_int const* lda,
    lapack_complex_double const* tau,
    lapack_complex_double* C, lapack_int const* ldc,
    lapack_complex_double* work, lapack_int const* lwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_zunmlq(...) LAPACK_zunmlq_base(__VA_ARGS__, 1, 1)
#else
    #define LAPACK_zunmlq(...) LAPACK_zunmlq_base(__VA_ARGS__)
#endif

#define LAPACK_cunmql_base LAPACK_GLOBAL_SUFFIX(cunmql,CUNMQL)
void LAPACK_cunmql_base(
    char const* side, char const* trans,
    lapack_int const* m, lapack_int const* n, lapack_int const* k,
    lapack_complex_float const* A, lapack_int const* lda,
    lapack_complex_float const* tau,
    lapack_complex_float* C, lapack_int const* ldc,
    lapack_complex_float* work, lapack_int const* lwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_cunmql(...) LAPACK_cunmql_base(__VA_ARGS__, 1, 1)
#else
    #define LAPACK_cunmql(...) LAPACK_cunmql_base(__VA_ARGS__)
#endif

#define LAPACK_zunmql_base LAPACK_GLOBAL_SUFFIX(zunmql,ZUNMQL)
void LAPACK_zunmql_base(
    char const* side, char const* trans,
    lapack_int const* m, lapack_int const* n, lapack_int const* k,
    lapack_complex_double const* A, lapack_int const* lda,
    lapack_complex_double const* tau,
    lapack_complex_double* C, lapack_int const* ldc,
    lapack_complex_double* work, lapack_int const* lwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_zunmql(...) LAPACK_zunmql_base(__VA_ARGS__, 1, 1)
#else
    #define LAPACK_zunmql(...) LAPACK_zunmql_base(__VA_ARGS__)
#endif

#define LAPACK_cunmqr_base LAPACK_GLOBAL_SUFFIX(cunmqr,CUNMQR)
void LAPACK_cunmqr_base(
    char const* side, char const* trans,
    lapack_int const* m, lapack_int const* n, lapack_int const* k,
    lapack_complex_float const* A, lapack_int const* lda,
    lapack_complex_float const* tau,
    lapack_complex_float* C, lapack_int const* ldc,
    lapack_complex_float* work, lapack_int const* lwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_cunmqr(...) LAPACK_cunmqr_base(__VA_ARGS__, 1, 1)
#else
    #define LAPACK_cunmqr(...) LAPACK_cunmqr_base(__VA_ARGS__)
#endif

#define LAPACK_zunmqr_base LAPACK_GLOBAL_SUFFIX(zunmqr,ZUNMQR)
void LAPACK_zunmqr_base(
    char const* side, char const* trans,
    lapack_int const* m, lapack_int const* n, lapack_int const* k,
    lapack_complex_double const* A, lapack_int const* lda,
    lapack_complex_double const* tau,
    lapack_complex_double* C, lapack_int const* ldc,
    lapack_complex_double* work, lapack_int const* lwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_zunmqr(...) LAPACK_zunmqr_base(__VA_ARGS__, 1, 1)
#else
    #define LAPACK_zunmqr(...) LAPACK_zunmqr_base(__VA_ARGS__)
#endif

#define LAPACK_cunmrq_base LAPACK_GLOBAL_SUFFIX(cunmrq,CUNMRQ)
void LAPACK_cunmrq_base(
    char const* side, char const* trans,
    lapack_int const* m, lapack_int const* n, lapack_int const* k,
    lapack_complex_float const* A, lapack_int const* lda,
    lapack_complex_float const* tau,
    lapack_complex_float* C, lapack_int const* ldc,
    lapack_complex_float* work, lapack_int const* lwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_cunmrq(...) LAPACK_cunmrq_base(__VA_ARGS__, 1, 1)
#else
    #define LAPACK_cunmrq(...) LAPACK_cunmrq_base(__VA_ARGS__)
#endif

#define LAPACK_zunmrq_base LAPACK_GLOBAL_SUFFIX(zunmrq,ZUNMRQ)
void LAPACK_zunmrq_base(
    char const* side, char const* trans,
    lapack_int const* m, lapack_int const* n, lapack_int const* k,
    lapack_complex_double const* A, lapack_int const* lda,
    lapack_complex_double const* tau,
    lapack_complex_double* C, lapack_int const* ldc,
    lapack_complex_double* work, lapack_int const* lwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_zunmrq(...) LAPACK_zunmrq_base(__VA_ARGS__, 1, 1)
#else
    #define LAPACK_zunmrq(...) LAPACK_zunmrq_base(__VA_ARGS__)
#endif

#define LAPACK_cunmrz_base LAPACK_GLOBAL_SUFFIX(cunmrz,CUNMRZ)
void LAPACK_cunmrz_base(
    char const* side, char const* trans,
    lapack_int const* m, lapack_int const* n, lapack_int const* k, lapack_int const* l,
    lapack_complex_float const* A, lapack_int const* lda,
    lapack_complex_float const* tau,
    lapack_complex_float* C, lapack_int const* ldc,
    lapack_complex_float* work, lapack_int const* lwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_cunmrz(...) LAPACK_cunmrz_base(__VA_ARGS__, 1, 1)
#else
    #define LAPACK_cunmrz(...) LAPACK_cunmrz_base(__VA_ARGS__)
#endif

#define LAPACK_zunmrz_base LAPACK_GLOBAL_SUFFIX(zunmrz,ZUNMRZ)
void LAPACK_zunmrz_base(
    char const* side, char const* trans,
    lapack_int const* m, lapack_int const* n, lapack_int const* k, lapack_int const* l,
    lapack_complex_double const* A, lapack_int const* lda,
    lapack_complex_double const* tau,
    lapack_complex_double* C, lapack_int const* ldc,
    lapack_complex_double* work, lapack_int const* lwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_zunmrz(...) LAPACK_zunmrz_base(__VA_ARGS__, 1, 1)
#else
    #define LAPACK_zunmrz(...) LAPACK_zunmrz_base(__VA_ARGS__)
#endif

#define LAPACK_cunmtr_base LAPACK_GLOBAL_SUFFIX(cunmtr,CUNMTR)
void LAPACK_cunmtr_base(
    char const* side, char const* uplo, char const* trans,
    lapack_int const* m, lapack_int const* n,
    lapack_complex_float const* A, lapack_int const* lda,
    lapack_complex_float const* tau,
    lapack_complex_float* C, lapack_int const* ldc,
    lapack_complex_float* work, lapack_int const* lwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_cunmtr(...) LAPACK_cunmtr_base(__VA_ARGS__, 1, 1, 1)
#else
    #define LAPACK_cunmtr(...) LAPACK_cunmtr_base(__VA_ARGS__)
#endif

#define LAPACK_zunmtr_base LAPACK_GLOBAL_SUFFIX(zunmtr,ZUNMTR)
void LAPACK_zunmtr_base(
    char const* side, char const* uplo, char const* trans,
    lapack_int const* m, lapack_int const* n,
    lapack_complex_double const* A, lapack_int const* lda,
    lapack_complex_double const* tau,
    lapack_complex_double* C, lapack_int const* ldc,
    lapack_complex_double* work, lapack_int const* lwork,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_zunmtr(...) LAPACK_zunmtr_base(__VA_ARGS__, 1, 1, 1)
#else
    #define LAPACK_zunmtr(...) LAPACK_zunmtr_base(__VA_ARGS__)
#endif

#define LAPACK_cupgtr_base LAPACK_GLOBAL_SUFFIX(cupgtr,CUPGTR)
void LAPACK_cupgtr_base(
    char const* uplo,
    lapack_int const* n,
    lapack_complex_float const* AP,
    lapack_complex_float const* tau,
    lapack_complex_float* Q, lapack_int const* ldq,
    lapack_complex_float* work,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_cupgtr(...) LAPACK_cupgtr_base(__VA_ARGS__, 1)
#else
    #define LAPACK_cupgtr(...) LAPACK_cupgtr_base(__VA_ARGS__)
#endif

#define LAPACK_zupgtr_base LAPACK_GLOBAL_SUFFIX(zupgtr,ZUPGTR)
void LAPACK_zupgtr_base(
    char const* uplo,
    lapack_int const* n,
    lapack_complex_double const* AP,
    lapack_complex_double const* tau,
    lapack_complex_double* Q, lapack_int const* ldq,
    lapack_complex_double* work,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_zupgtr(...) LAPACK_zupgtr_base(__VA_ARGS__, 1)
#else
    #define LAPACK_zupgtr(...) LAPACK_zupgtr_base(__VA_ARGS__)
#endif

#define LAPACK_cupmtr_base LAPACK_GLOBAL_SUFFIX(cupmtr,CUPMTR)
void LAPACK_cupmtr_base(
    char const* side, char const* uplo, char const* trans,
    lapack_int const* m, lapack_int const* n,
    lapack_complex_float const* AP,
    lapack_complex_float const* tau,
    lapack_complex_float* C, lapack_int const* ldc,
    lapack_complex_float* work,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_cupmtr(...) LAPACK_cupmtr_base(__VA_ARGS__, 1, 1, 1)
#else
    #define LAPACK_cupmtr(...) LAPACK_cupmtr_base(__VA_ARGS__)
#endif

#define LAPACK_zupmtr_base LAPACK_GLOBAL_SUFFIX(zupmtr,ZUPMTR)
void LAPACK_zupmtr_base(
    char const* side, char const* uplo, char const* trans,
    lapack_int const* m, lapack_int const* n,
    lapack_complex_double const* AP,
    lapack_complex_double const* tau,
    lapack_complex_double* C, lapack_int const* ldc,
    lapack_complex_double* work,
    lapack_int* info
#ifdef LAPACK_FORTRAN_STRLEN_END
    , FORTRAN_STRLEN, FORTRAN_STRLEN, FORTRAN_STRLEN
#endif
);
#ifdef LAPACK_FORTRAN_STRLEN_END
    #define LAPACK_zupmtr(...) LAPACK_zupmtr_base(__VA_ARGS__, 1, 1, 1)
#else
    #define LAPACK_zupmtr(...) LAPACK_zupmtr_base(__VA_ARGS__)
#endif

#ifdef __cplusplus
} /* extern "C" */
#endif

#endif /* LAPACK_H */