Blob Blame Raw
#!/usr/bin/perl

@blasobjs   = (
	       caxpy,ccopy,cdotc,cdotu,cgbmv,cgemm,cgemv,cgerc,cgeru,
	       chbmv,chemm,chemv,cher2,cher2k,cher,cherk,
	       chpmv,chpr2,chpr,crotg,cscal,csrot,csscal,cswap,
	       csymm,csyr2k,csyrk,ctbmv,ctbsv,ctpmv,ctpsv,ctrmm,ctrmv,ctrsm,
	       ctrsv, csymv,
	       damax,damin,dasum,daxpy,dcabs1,dcopy,ddot,dgbmv,dgemm,
	       dgemv,dger,dmax,dmin,dnrm2,drot,drotg,drotm,drotmg,dsbmv,
               dscal,dsdot,dspmv,dspr2,
	       dspr,dswap,dsymm,dsymv,dsyr2,dsyr2k,dsyr,dsyrk,dtbmv,dtbsv,
	       dtpmv,dtpsv,dtrmm,dtrmv,dtrsm,dtrsv,dzamax,dzamin,dzasum,dznrm2,
	       icamax,icamin,idamax,idamin,idmax,idmin,isamax,isamin,ismax,ismin,
	       izamax,izamin,lsame,samax,samin,sasum,saxpy,scabs1,scamax,
	       scamin,scasum,scnrm2,scopy,sdot,sdsdot,sgbmv,sgemm,sgemv,sger,
	       smax,smin,snrm2,
	       srot,srotg,srotm,srotmg,ssbmv,sscal,sspmv,sspr2,sspr,sswap,
	       ssymm,ssymv,ssyr2,ssyr2k,ssyr,ssyrk,stbmv,stbsv,stpmv,stpsv,
	       strmm,strmv,strsm,strsv,zaxpy,zcopy,zdotc,zdotu,zdrot,
	       zdscal,zgbmv,zgemm,zgemv,zgerc,zgeru,
	       zhbmv,zhemm,zhemv,zher2,zher2k,zher,zherk,zhpmv,zhpr2,
	       zhpr,zrotg,zscal,zswap,zsymm,zsyr2k,zsyrk,ztbmv,
	       ztbsv,ztpmv,ztpsv,ztrmm,ztrmv,ztrsm,ztrsv, zsymv,
	       xerbla);

@cblasobjs  = (
	       cblas_caxpy, cblas_ccopy, cblas_cdotc, cblas_cdotu, cblas_cgbmv, cblas_cgemm, cblas_cgemv,
	       cblas_cgerc, cblas_cgeru, cblas_chbmv, cblas_chemm, cblas_chemv, cblas_cher2, cblas_cher2k,
	       cblas_cher, cblas_cherk,  cblas_chpmv, cblas_chpr2, cblas_chpr, cblas_cscal,
	       cblas_csscal, cblas_cswap, cblas_csymm, cblas_csyr2k, cblas_csyrk, cblas_ctbmv,
	       cblas_ctbsv, cblas_ctpmv, cblas_ctpsv, cblas_ctrmm, cblas_ctrmv, cblas_ctrsm, cblas_ctrsv,
	       cblas_dasum, cblas_daxpy, cblas_dcopy, cblas_ddot,
	       cblas_dgbmv, cblas_dgemm, cblas_dgemv, cblas_dger, cblas_dnrm2,
	       cblas_drot, cblas_drotg, cblas_drotm, cblas_drotmg, cblas_dsbmv, cblas_dscal, cblas_dsdot,
	       cblas_dspmv, cblas_dspr2, cblas_dspr, cblas_dswap, cblas_dsymm, cblas_dsymv, cblas_dsyr2,
	       cblas_dsyr2k, cblas_dsyr, cblas_dsyrk, cblas_dtbmv, cblas_dtbsv, cblas_dtpmv, cblas_dtpsv,
	       cblas_dtrmm, cblas_dtrmv, cblas_dtrsm, cblas_dtrsv, cblas_dzasum,
	       cblas_dznrm2, cblas_icamax, cblas_idamax,
	       cblas_isamax, cblas_izamax,
	       cblas_sasum, cblas_saxpy,
	       cblas_scasum, cblas_scnrm2, cblas_scopy, cblas_sdot, cblas_sdsdot, cblas_sgbmv, cblas_sgemm,
	       cblas_sgemv, cblas_sger, cblas_snrm2, cblas_srot, cblas_srotg,
	       cblas_srotm, cblas_srotmg, cblas_ssbmv, cblas_sscal, cblas_sspmv, cblas_sspr2, cblas_sspr,
	       cblas_sswap, cblas_ssymm, cblas_ssymv, cblas_ssyr2, cblas_ssyr2k, cblas_ssyr, cblas_ssyrk,
	       cblas_stbmv, cblas_stbsv, cblas_stpmv, cblas_stpsv, cblas_strmm, cblas_strmv, cblas_strsm,
	       cblas_strsv, cblas_zaxpy, cblas_zcopy, cblas_zdotc, cblas_zdotu, cblas_zdscal,
	       cblas_zgbmv, cblas_zgemm, cblas_zgemv, cblas_zgerc, cblas_zgeru, cblas_zhbmv, cblas_zhemm,
	       cblas_zhemv, cblas_zher2, cblas_zher2k, cblas_zher, cblas_zherk, cblas_zhpmv, cblas_zhpr2,
	       cblas_zhpr, cblas_zscal, cblas_zswap, cblas_zsymm, cblas_zsyr2k, cblas_zsyrk,
	       cblas_ztbmv, cblas_ztbsv, cblas_ztpmv, cblas_ztpsv, cblas_ztrmm, cblas_ztrmv, cblas_ztrsm,
	       cblas_ztrsv);

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

@gemm3mobjs = (
	       zgemm3m, cgemm3m, zsymm3m, csymm3m, zhemm3m, chemm3m,
	       );

@lapackobjs = (
	       sgesv,  dgesv,  cgesv,  zgesv, 
	       sgetf2, dgetf2, cgetf2, zgetf2, 
	       sgetrf, dgetrf, cgetrf, zgetrf, 
	       slaswp, dlaswp, claswp, zlaswp, 
	       sgetrs, dgetrs, cgetrs, zgetrs, 
	       slauu2, dlauu2, clauu2, zlauu2, 
	       slauum, dlauum, clauum, zlauum, 
	       spotf2, dpotf2, cpotf2, zpotf2, 
	       spotrf, dpotrf, cpotrf, zpotrf, 
	       strti2, dtrti2, ctrti2, ztrti2, 
	       strtri, dtrtri, ctrtri, ztrtri, 
	       spotri, dpotri, cpotri, zpotri,
	       );

@lapackobjs2 = (
		sgbbrd, sgbcon, sgbequ, sgbrfs, sgbsv, 
		sgbsvx, sgbtf2, sgbtrf, sgbtrs, sgebak, sgebal, sgebd2,
		sgebrd, sgecon, sgeequ, sgees,  sgeesx, sgeev,  sgeevx,
		sgegs,  sgegv,  sgehd2, sgehrd, sgelq2, sgelqf,
		sgels,  sgelsd, sgelss, sgelsx, sgelsy, sgeql2, sgeqlf,
		sgeqp3, sgeqpf, sgeqr2, sgeqr2p, sgeqrf, sgeqrfp, sgerfs, sgerq2, sgerqf,
		sgesc2, sgesdd, sgesvd, sgesvx, sgetc2,
		sgetri,
		sggbak, sggbal, sgges,  sggesx, sggev,  sggevx,
		sggglm, sgghrd, sgglse, sggqrf,
		sggrqf, sggsvd, sggsvp, sgtcon, sgtrfs, sgtsv, 
		sgtsvx, sgttrf, sgttrs, sgtts2, shgeqz,
		shsein, shseqr, slabrd, slacon, slacn2,
		slaein, slaexc, slag2,  slags2, slagtm, slagv2, slahqr,
		slahrd, slahr2, slaic1, slaln2, slals0, slalsa, slalsd,
		slangb, slange, slangt, slanhs, slansb, slansp,
		slansy, slantb, slantp, slantr, slanv2,
		slapll, slapmt, slapy2, slapy3,
		slaqgb, slaqge, slaqp2, slaqps, slaqsb, slaqsp, slaqsy,
		slaqr0, slaqr1, slaqr2, slaqr3, slaqr4, slaqr5,
		slaqtr, slar1v, slar2v, ilaslr, ilaslc,
		slarf,  slarfb, slarfg, slarfgp, slarft, slarfx, slargv,
		slarrv, slartv,
		slarz,  slarzb, slarzt, slasy2, slasyf,
		slatbs, slatdf, slatps, slatrd, slatrs, slatrz, slatzm,
		sopgtr, sopmtr, sorg2l, sorg2r,
		sorgbr, sorghr, sorgl2, sorglq, sorgql, sorgqr, sorgr2,
		sorgrq, sorgtr, sorm2l, sorm2r,
		sormbr, sormhr, sorml2, sormlq, sormql, sormqr, sormr2,
		sormr3, sormrq, sormrz, sormtr, spbcon, spbequ, spbrfs,
		spbstf, spbsv,  spbsvx,
		spbtf2, spbtrf, spbtrs, spocon, spoequ, sporfs, sposv, 
		sposvx, spotrs, spstrf, spstf2,
		sppcon, sppequ,
		spprfs, sppsv,  sppsvx, spptrf, spptri, spptrs, sptcon,
		spteqr, sptrfs, sptsv,  sptsvx, spttrs, sptts2, srscl, 
		ssbev,  ssbevd, ssbevx, ssbgst, ssbgv,  ssbgvd, ssbgvx,
		ssbtrd, sspcon, sspev,  sspevd, sspevx, sspgst,
		sspgv,  sspgvd, sspgvx, ssprfs, sspsv,  sspsvx, ssptrd,
		ssptrf, ssptri, ssptrs, sstegr, sstein, sstev,  sstevd, sstevr,
		sstevx, ssycon, ssyev,  ssyevd, ssyevr, ssyevx, ssygs2,
		ssygst, ssygv,  ssygvd, ssygvx, ssyrfs, ssysv,  ssysvx,
		ssytd2, ssytf2, ssytrd, ssytrf, ssytri, ssytri2, ssytri2x,
		ssyswapr, ssytrs, ssytrs2, ssyconv, stbcon,
		stbrfs, stbtrs, stgevc, stgex2, stgexc, stgsen,
		stgsja, stgsna, stgsy2, stgsyl, stpcon, stprfs, stptri,
		stptrs,
		strcon, strevc, strexc, strrfs, strsen, strsna, strsyl,
		strtrs, stzrqf, stzrzf, sstemr,
		slansf, spftrf, spftri, spftrs, ssfrk, stfsm, stftri, stfttp,
		stfttr, stpttf, stpttr, strttf, strttp,
		sgejsv,  sgesvj,  sgsvj0,  sgsvj1,
		sgeequb, ssyequb, spoequb, sgbequb,
		sbbcsd, slapmr, sorbdb, sorcsd,
		sgeqrt, sgeqrt2, sgeqrt3, sgemqrt,
		stpqrt, stpqrt2, stpmqrt, stprfb,
		
		cbdsqr, cgbbrd, cgbcon, cgbequ, cgbrfs, cgbsv,  cgbsvx,
		cgbtf2, cgbtrf, cgbtrs, cgebak, cgebal, cgebd2, cgebrd,
		cgecon, cgeequ, cgees,  cgeesx, cgeev,  cgeevx,
		cgegs,  cgegv,  cgehd2, cgehrd, cgelq2, cgelqf,
		cgels,  cgelsd, cgelss, cgelsx, cgelsy, cgeql2, cgeqlf, cgeqp3,
		cgeqpf, cgeqr2, cgeqr2p, cgeqrf, cgeqrfp, cgerfs, cgerq2, cgerqf,
		cgesc2, cgesdd, cgesvd, cgesvx, cgetc2,
		cgetri,
		cggbak, cggbal, cgges,  cggesx, cggev,  cggevx, cggglm,
		cgghrd, cgglse, cggqrf, cggrqf,
		cggsvd, cggsvp,
		cgtcon, cgtrfs, cgtsv,  cgtsvx, cgttrf, cgttrs, cgtts2, chbev, 
		chbevd, chbevx, chbgst, chbgv,  chbgvd, chbgvx, chbtrd,
		checon, cheev,  cheevd, cheevr, cheevx, chegs2, chegst,
		chegv,  chegvd, chegvx, cherfs, chesv,  chesvx, chetd2,
		chetf2, chetrd,
		chetrf, chetri, chetri2,  chetri2x, cheswapr,
		chetrs, chetrs2, chgeqz, chpcon, chpev,  chpevd,
		chpevx, chpgst, chpgv,  chpgvd, chpgvx, chprfs, chpsv, 
		chpsvx,
		chptrd, chptrf, chptri, chptrs, chsein, chseqr, clabrd,
		clacgv, clacon, clacn2, clacp2, clacpy, clacrm, clacrt, cladiv,
		claed0, claed7, claed8,
		claein, claesy, claev2, clags2, clagtm,
		clahef, clahqr,
		clahrd, clahr2, claic1, clals0, clalsa, clalsd, clangb, clange, clangt,
		clanhb, clanhe,
		clanhp, clanhs, clanht, clansb, clansp, clansy, clantb,
		clantp, clantr, clapll, clapmt, clarcm, claqgb, claqge,
		claqhb, claqhe, claqhp, claqp2, claqps, claqsb,
		claqr0, claqr1, claqr2, claqr3, claqr4, claqr5,
		claqsp, claqsy, clar1v, clar2v, ilaclr, ilaclc,
		clarf,  clarfb, clarfg, clarfgp, clarft,
		clarfx, clargv, clarnv, clarrv, clartg, clartv,
		clarz,  clarzb, clarzt, clascl, claset, clasr,  classq,
		clasyf, clatbs, clatdf, clatps, clatrd, clatrs, clatrz,
		clatzm, cpbcon, cpbequ, cpbrfs, cpbstf, cpbsv, 
		cpbsvx, cpbtf2, cpbtrf, cpbtrs, cpocon, cpoequ, cporfs,
		cposv,  cposvx, cpotrs, cpstrf, cpstf2,
		cppcon, cppequ, cpprfs, cppsv,  cppsvx, cpptrf, cpptri, cpptrs,
		cptcon, cpteqr, cptrfs, cptsv,  cptsvx, cpttrf, cpttrs, cptts2,
		crot,   cspcon, cspmv,  cspr,   csprfs, cspsv, 
		cspsvx, csptrf, csptri, csptrs, csrscl, cstedc,
		cstegr, cstein, csteqr, csycon,
		csyr,   csyrfs, csysv,  csysvx, csytf2, csytrf, csytri,
		csytri2, csytri2x, csyswapr,
		csytrs, csytrs2, csyconv, ctbcon, ctbrfs, ctbtrs, ctgevc, ctgex2,
		ctgexc, ctgsen, ctgsja, ctgsna, ctgsy2, ctgsyl, ctpcon,
		ctprfs, ctptri,
		ctptrs, ctrcon, ctrevc, ctrexc, ctrrfs, ctrsen, ctrsna,
		ctrsyl, ctrtrs, ctzrqf, ctzrzf, cung2l, cung2r,
		cungbr, cunghr, cungl2, cunglq, cungql, cungqr, cungr2,
		cungrq, cungtr, cunm2l, cunm2r, cunmbr, cunmhr, cunml2,
		cunmlq, cunmql, cunmqr, cunmr2, cunmr3, cunmrq, cunmrz,
		cunmtr, cupgtr, cupmtr, icmax1, scsum1, cstemr,
		chfrk, ctfttp, clanhf, cpftrf, cpftri, cpftrs, ctfsm, ctftri,
		ctfttr, ctpttf, ctpttr, ctrttf, ctrttp,
		cgeequb, cgbequb, csyequb, cpoequb, cheequb,
		cbbcsd, clapmr, cunbdb, cuncsd,
		cgeqrt, cgeqrt2, cgeqrt3, cgemqrt,
		ctpqrt, ctpqrt2, ctpmqrt, ctprfb,

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

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

		);

@lapack_extendedprecision_objs = (
                zposvxx, clagge, clatms, chesvxx, cposvxx, cgesvxx, ssyrfssx, csyrfsx,
                dlagsy, dsysvxx, sporfsx, slatms, zlatms, zherfsx, csysvxx,
                );

@lapackeobjs = (
		lapack_make_complex_double,
		lapack_make_complex_float,
		LAPACKE_c_nancheck,
		LAPACKE_cbbcsd,
		LAPACKE_cbbcsd_work,
		LAPACKE_cbdsqr,
		LAPACKE_cbdsqr_work,
		LAPACKE_cgb_nancheck,
		LAPACKE_cgb_trans,
		LAPACKE_cgbbrd,
		LAPACKE_cgbbrd_work,
		LAPACKE_cgbcon,
		LAPACKE_cgbcon_work,
		LAPACKE_cgbequ,
		LAPACKE_cgbequ_work,
		LAPACKE_cgbequb,
		LAPACKE_cgbequb_work,
		LAPACKE_cgbrfs,
		LAPACKE_cgbrfs_work,
		LAPACKE_cgbsv,
		LAPACKE_cgbsv_work,
		LAPACKE_cgbsvx,
		LAPACKE_cgbsvx_work,
		LAPACKE_cgbtrf,
		LAPACKE_cgbtrf_work,
		LAPACKE_cgbtrs,
		LAPACKE_cgbtrs_work,
		LAPACKE_cge_nancheck,
		LAPACKE_cge_trans,
		LAPACKE_cgebak,
		LAPACKE_cgebak_work,
		LAPACKE_cgebal,
		LAPACKE_cgebal_work,
		LAPACKE_cgebrd,
		LAPACKE_cgebrd_work,
		LAPACKE_cgecon,
		LAPACKE_cgecon_work,
		LAPACKE_cgeequ,
		LAPACKE_cgeequ_work,
		LAPACKE_cgeequb,
		LAPACKE_cgeequb_work,
		LAPACKE_cgees,
		LAPACKE_cgees_work,
		LAPACKE_cgeesx,
		LAPACKE_cgeesx_work,
		LAPACKE_cgeev,
		LAPACKE_cgeev_work,
		LAPACKE_cgeevx,
		LAPACKE_cgeevx_work,
		LAPACKE_cgehrd,
		LAPACKE_cgehrd_work,
		LAPACKE_cgelq2,
		LAPACKE_cgelq2_work,
		LAPACKE_cgelqf,
		LAPACKE_cgelqf_work,
		LAPACKE_cgels,
		LAPACKE_cgels_work,
		LAPACKE_cgelsd,
		LAPACKE_cgelsd_work,
		LAPACKE_cgelss,
		LAPACKE_cgelss_work,
		LAPACKE_cgelsy,
		LAPACKE_cgelsy_work,
		LAPACKE_cgemqrt,
		LAPACKE_cgemqrt_work,
		LAPACKE_cgeqlf,
		LAPACKE_cgeqlf_work,
		LAPACKE_cgeqp3,
		LAPACKE_cgeqp3_work,
		LAPACKE_cgeqpf,
		LAPACKE_cgeqpf_work,
		LAPACKE_cgeqr2,
		LAPACKE_cgeqr2_work,
		LAPACKE_cgeqrf,
		LAPACKE_cgeqrf_work,
		LAPACKE_cgeqrfp,
		LAPACKE_cgeqrfp_work,
		LAPACKE_cgeqrt,
		LAPACKE_cgeqrt2,
		LAPACKE_cgeqrt2_work,
		LAPACKE_cgeqrt3,
		LAPACKE_cgeqrt3_work,
		LAPACKE_cgeqrt_work,
		LAPACKE_cgerfs,
		LAPACKE_cgerfs_work,
		LAPACKE_cgerqf,
		LAPACKE_cgerqf_work,
		LAPACKE_cgesdd,
		LAPACKE_cgesdd_work,
		LAPACKE_cgesv,
		LAPACKE_cgesv_work,
		LAPACKE_cgesvd,
		LAPACKE_cgesvd_work,
		LAPACKE_cgesvx,
		LAPACKE_cgesvx_work,
		LAPACKE_cgetf2,
		LAPACKE_cgetf2_work,
		LAPACKE_cgetrf,
		LAPACKE_cgetrf_work,
		LAPACKE_cgetri,
		LAPACKE_cgetri_work,
		LAPACKE_cgetrs,
		LAPACKE_cgetrs_work,
		LAPACKE_cgg_nancheck,
		LAPACKE_cgg_trans,
		LAPACKE_cggbak,
		LAPACKE_cggbak_work,
		LAPACKE_cggbal,
		LAPACKE_cggbal_work,
		LAPACKE_cgges,
		LAPACKE_cgges_work,
		LAPACKE_cggesx,
		LAPACKE_cggesx_work,
		LAPACKE_cggev,
		LAPACKE_cggev_work,
		LAPACKE_cggevx,
		LAPACKE_cggevx_work,
		LAPACKE_cggglm,
		LAPACKE_cggglm_work,
		LAPACKE_cgghrd,
		LAPACKE_cgghrd_work,
		LAPACKE_cgglse,
		LAPACKE_cgglse_work,
		LAPACKE_cggqrf,
		LAPACKE_cggqrf_work,
		LAPACKE_cggrqf,
		LAPACKE_cggrqf_work,
		LAPACKE_cggsvd,
		LAPACKE_cggsvd_work,
		LAPACKE_cggsvp,
		LAPACKE_cggsvp_work,
		LAPACKE_cgt_nancheck,
		LAPACKE_cgtcon,
		LAPACKE_cgtcon_work,
		LAPACKE_cgtrfs,
		LAPACKE_cgtrfs_work,
		LAPACKE_cgtsv,
		LAPACKE_cgtsv_work,
		LAPACKE_cgtsvx,
		LAPACKE_cgtsvx_work,
		LAPACKE_cgttrf,
		LAPACKE_cgttrf_work,
		LAPACKE_cgttrs,
		LAPACKE_cgttrs_work,
		LAPACKE_chb_nancheck,
		LAPACKE_chb_trans,
		LAPACKE_chbev,
		LAPACKE_chbev_work,
		LAPACKE_chbevd,
		LAPACKE_chbevd_work,
		LAPACKE_chbevx,
		LAPACKE_chbevx_work,
		LAPACKE_chbgst,
		LAPACKE_chbgst_work,
		LAPACKE_chbgv,
		LAPACKE_chbgv_work,
		LAPACKE_chbgvd,
		LAPACKE_chbgvd_work,
		LAPACKE_chbgvx,
		LAPACKE_chbgvx_work,
		LAPACKE_chbtrd,
		LAPACKE_chbtrd_work,
		LAPACKE_che_nancheck,
		LAPACKE_che_trans,
		LAPACKE_checon,
		LAPACKE_checon_work,
		LAPACKE_cheequb,
		LAPACKE_cheequb_work,
		LAPACKE_cheev,
		LAPACKE_cheev_work,
		LAPACKE_cheevd,
		LAPACKE_cheevd_work,
		LAPACKE_cheevr,
		LAPACKE_cheevr_work,
		LAPACKE_cheevx,
		LAPACKE_cheevx_work,
		LAPACKE_chegst,
		LAPACKE_chegst_work,
		LAPACKE_chegv,
		LAPACKE_chegv_work,
		LAPACKE_chegvd,
		LAPACKE_chegvd_work,
		LAPACKE_chegvx,
		LAPACKE_chegvx_work,
		LAPACKE_cherfs,
		LAPACKE_cherfs_work,
		LAPACKE_chesv,
		LAPACKE_chesv_work,
		LAPACKE_chesvx,
		LAPACKE_chesvx_work,
		LAPACKE_cheswapr,
		LAPACKE_cheswapr_work,
		LAPACKE_chetrd,
		LAPACKE_chetrd_work,
		LAPACKE_chetrf,
		LAPACKE_chetrf_work,
		LAPACKE_chetri,
		LAPACKE_chetri2,
		LAPACKE_chetri2_work,
		LAPACKE_chetri2x,
		LAPACKE_chetri2x_work,
		LAPACKE_chetri_work,
		LAPACKE_chetrs,
		LAPACKE_chetrs2,
		LAPACKE_chetrs2_work,
		LAPACKE_chetrs_work,
		LAPACKE_chfrk,
		LAPACKE_chfrk_work,
		LAPACKE_chgeqz,
		LAPACKE_chgeqz_work,
		LAPACKE_chp_nancheck,
		LAPACKE_chp_trans,
		LAPACKE_chpcon,
		LAPACKE_chpcon_work,
		LAPACKE_chpev,
		LAPACKE_chpev_work,
		LAPACKE_chpevd,
		LAPACKE_chpevd_work,
		LAPACKE_chpevx,
		LAPACKE_chpevx_work,
		LAPACKE_chpgst,
		LAPACKE_chpgst_work,
		LAPACKE_chpgv,
		LAPACKE_chpgv_work,
		LAPACKE_chpgvd,
		LAPACKE_chpgvd_work,
		LAPACKE_chpgvx,
		LAPACKE_chpgvx_work,
		LAPACKE_chprfs,
		LAPACKE_chprfs_work,
		LAPACKE_chpsv,
		LAPACKE_chpsv_work,
		LAPACKE_chpsvx,
		LAPACKE_chpsvx_work,
		LAPACKE_chptrd,
		LAPACKE_chptrd_work,
		LAPACKE_chptrf,
		LAPACKE_chptrf_work,
		LAPACKE_chptri,
		LAPACKE_chptri_work,
		LAPACKE_chptrs,
		LAPACKE_chptrs_work,
		LAPACKE_chs_nancheck,
		LAPACKE_chs_trans,
		LAPACKE_chsein,
		LAPACKE_chsein_work,
		LAPACKE_chseqr,
		LAPACKE_chseqr_work,
		LAPACKE_clacgv,
		LAPACKE_clacgv_work,
		LAPACKE_clacpy,
		LAPACKE_clacpy_work,
		LAPACKE_clag2z,
		LAPACKE_clag2z_work,
		LAPACKE_clange,
		LAPACKE_clange_work,
		LAPACKE_clanhe,
		LAPACKE_clanhe_work,
		LAPACKE_clansy,
		LAPACKE_clansy_work,
		LAPACKE_clantr,
		LAPACKE_clantr_work,
		LAPACKE_clapmr,
		LAPACKE_clapmr_work,
		LAPACKE_clarfb,
		LAPACKE_clarfb_work,
		LAPACKE_clarfg,
		LAPACKE_clarfg_work,
		LAPACKE_clarft,
		LAPACKE_clarft_work,
		LAPACKE_clarfx,
		LAPACKE_clarfx_work,
		LAPACKE_clarnv,
		LAPACKE_clarnv_work,
		LAPACKE_claset,
		LAPACKE_claset_work,
		LAPACKE_claswp,
		LAPACKE_claswp_work,
		LAPACKE_clauum,
		LAPACKE_clauum_work,
		LAPACKE_cpb_nancheck,
		LAPACKE_cpb_trans,
		LAPACKE_cpbcon,
		LAPACKE_cpbcon_work,
		LAPACKE_cpbequ,
		LAPACKE_cpbequ_work,
		LAPACKE_cpbrfs,
		LAPACKE_cpbrfs_work,
		LAPACKE_cpbstf,
		LAPACKE_cpbstf_work,
		LAPACKE_cpbsv,
		LAPACKE_cpbsv_work,
		LAPACKE_cpbsvx,
		LAPACKE_cpbsvx_work,
		LAPACKE_cpbtrf,
		LAPACKE_cpbtrf_work,
		LAPACKE_cpbtrs,
		LAPACKE_cpbtrs_work,
		LAPACKE_cpf_nancheck,
		LAPACKE_cpf_trans,
		LAPACKE_cpftrf,
		LAPACKE_cpftrf_work,
		LAPACKE_cpftri,
		LAPACKE_cpftri_work,
		LAPACKE_cpftrs,
		LAPACKE_cpftrs_work,
		LAPACKE_cpo_nancheck,
		LAPACKE_cpo_trans,
		LAPACKE_cpocon,
		LAPACKE_cpocon_work,
		LAPACKE_cpoequ,
		LAPACKE_cpoequ_work,
		LAPACKE_cpoequb,
		LAPACKE_cpoequb_work,
		LAPACKE_cporfs,
		LAPACKE_cporfs_work,
		LAPACKE_cposv,
		LAPACKE_cposv_work,
		LAPACKE_cposvx,
		LAPACKE_cposvx_work,
		LAPACKE_cpotrf,
		LAPACKE_cpotrf_work,
		LAPACKE_cpotri,
		LAPACKE_cpotri_work,
		LAPACKE_cpotrs,
		LAPACKE_cpotrs_work,
		LAPACKE_cpp_nancheck,
		LAPACKE_cpp_trans,
		LAPACKE_cppcon,
		LAPACKE_cppcon_work,
		LAPACKE_cppequ,
		LAPACKE_cppequ_work,
		LAPACKE_cpprfs,
		LAPACKE_cpprfs_work,
		LAPACKE_cppsv,
		LAPACKE_cppsv_work,
		LAPACKE_cppsvx,
		LAPACKE_cppsvx_work,
		LAPACKE_cpptrf,
		LAPACKE_cpptrf_work,
		LAPACKE_cpptri,
		LAPACKE_cpptri_work,
		LAPACKE_cpptrs,
		LAPACKE_cpptrs_work,
		LAPACKE_cpstrf,
		LAPACKE_cpstrf_work,
		LAPACKE_cpt_nancheck,
		LAPACKE_cptcon,
		LAPACKE_cptcon_work,
		LAPACKE_cpteqr,
		LAPACKE_cpteqr_work,
		LAPACKE_cptrfs,
		LAPACKE_cptrfs_work,
		LAPACKE_cptsv,
		LAPACKE_cptsv_work,
		LAPACKE_cptsvx,
		LAPACKE_cptsvx_work,
		LAPACKE_cpttrf,
		LAPACKE_cpttrf_work,
		LAPACKE_cpttrs,
		LAPACKE_cpttrs_work,
		LAPACKE_csp_nancheck,
		LAPACKE_csp_trans,
		LAPACKE_cspcon,
		LAPACKE_cspcon_work,
		LAPACKE_csprfs,
		LAPACKE_csprfs_work,
		LAPACKE_cspsv,
		LAPACKE_cspsv_work,
		LAPACKE_cspsvx,
		LAPACKE_cspsvx_work,
		LAPACKE_csptrf,
		LAPACKE_csptrf_work,
		LAPACKE_csptri,
		LAPACKE_csptri_work,
		LAPACKE_csptrs,
		LAPACKE_csptrs_work,
		LAPACKE_cst_nancheck,
		LAPACKE_cstedc,
		LAPACKE_cstedc_work,
		LAPACKE_cstegr,
		LAPACKE_cstegr_work,
		LAPACKE_cstein,
		LAPACKE_cstein_work,
		LAPACKE_cstemr,
		LAPACKE_cstemr_work,
		LAPACKE_csteqr,
		LAPACKE_csteqr_work,
		LAPACKE_csy_nancheck,
		LAPACKE_csy_trans,
		LAPACKE_csycon,
		LAPACKE_csycon_work,
		LAPACKE_csyconv,
		LAPACKE_csyconv_work,
		LAPACKE_csyequb,
		LAPACKE_csyequb_work,
		LAPACKE_csyr,
		LAPACKE_csyr_work,
		LAPACKE_csyrfs,
		LAPACKE_csyrfs_work,
		LAPACKE_csysv,
		LAPACKE_csysv_work,
		LAPACKE_csysvx,
		LAPACKE_csysvx_work,
		LAPACKE_csyswapr,
		LAPACKE_csyswapr_work,
		LAPACKE_csytrf,
		LAPACKE_csytrf_work,
		LAPACKE_csytri,
		LAPACKE_csytri2,
		LAPACKE_csytri2_work,
		LAPACKE_csytri2x,
		LAPACKE_csytri2x_work,
		LAPACKE_csytri_work,
		LAPACKE_csytrs,
		LAPACKE_csytrs2,
		LAPACKE_csytrs2_work,
		LAPACKE_csytrs_work,
		LAPACKE_ctb_nancheck,
		LAPACKE_ctb_trans,
		LAPACKE_ctbcon,
		LAPACKE_ctbcon_work,
		LAPACKE_ctbrfs,
		LAPACKE_ctbrfs_work,
		LAPACKE_ctbtrs,
		LAPACKE_ctbtrs_work,
		LAPACKE_ctf_nancheck,
		LAPACKE_ctf_trans,
		LAPACKE_ctfsm,
		LAPACKE_ctfsm_work,
		LAPACKE_ctftri,
		LAPACKE_ctftri_work,
		LAPACKE_ctfttp,
		LAPACKE_ctfttp_work,
		LAPACKE_ctfttr,
		LAPACKE_ctfttr_work,
		LAPACKE_ctgevc,
		LAPACKE_ctgevc_work,
		LAPACKE_ctgexc,
		LAPACKE_ctgexc_work,
		LAPACKE_ctgsen,
		LAPACKE_ctgsen_work,
		LAPACKE_ctgsja,
		LAPACKE_ctgsja_work,
		LAPACKE_ctgsna,
		LAPACKE_ctgsna_work,
		LAPACKE_ctgsyl,
		LAPACKE_ctgsyl_work,
		LAPACKE_ctp_nancheck,
		LAPACKE_ctp_trans,
		LAPACKE_ctpcon,
		LAPACKE_ctpcon_work,
		LAPACKE_ctpmqrt,
		LAPACKE_ctpmqrt_work,
		LAPACKE_ctpqrt,
		LAPACKE_ctpqrt2,
		LAPACKE_ctpqrt2_work,
		LAPACKE_ctpqrt_work,
		LAPACKE_ctprfb,
		LAPACKE_ctprfb_work,
		LAPACKE_ctprfs,
		LAPACKE_ctprfs_work,
		LAPACKE_ctptri,
		LAPACKE_ctptri_work,
		LAPACKE_ctptrs,
		LAPACKE_ctptrs_work,
		LAPACKE_ctpttf,
		LAPACKE_ctpttf_work,
		LAPACKE_ctpttr,
		LAPACKE_ctpttr_work,
		LAPACKE_ctr_nancheck,
		LAPACKE_ctr_trans,
		LAPACKE_ctrcon,
		LAPACKE_ctrcon_work,
		LAPACKE_ctrevc,
		LAPACKE_ctrevc_work,
		LAPACKE_ctrexc,
		LAPACKE_ctrexc_work,
		LAPACKE_ctrrfs,
		LAPACKE_ctrrfs_work,
		LAPACKE_ctrsen,
		LAPACKE_ctrsen_work,
		LAPACKE_ctrsna,
		LAPACKE_ctrsna_work,
		LAPACKE_ctrsyl,
		LAPACKE_ctrsyl_work,
		LAPACKE_ctrtri,
		LAPACKE_ctrtri_work,
		LAPACKE_ctrtrs,
		LAPACKE_ctrtrs_work,
		LAPACKE_ctrttf,
		LAPACKE_ctrttf_work,
		LAPACKE_ctrttp,
		LAPACKE_ctrttp_work,
		LAPACKE_ctzrzf,
		LAPACKE_ctzrzf_work,
		LAPACKE_cunbdb,
		LAPACKE_cunbdb_work,
		LAPACKE_cuncsd,
		LAPACKE_cuncsd_work,
		LAPACKE_cungbr,
		LAPACKE_cungbr_work,
		LAPACKE_cunghr,
		LAPACKE_cunghr_work,
		LAPACKE_cunglq,
		LAPACKE_cunglq_work,
		LAPACKE_cungql,
		LAPACKE_cungql_work,
		LAPACKE_cungqr,
		LAPACKE_cungqr_work,
		LAPACKE_cungrq,
		LAPACKE_cungrq_work,
		LAPACKE_cungtr,
		LAPACKE_cungtr_work,
		LAPACKE_cunmbr,
		LAPACKE_cunmbr_work,
		LAPACKE_cunmhr,
		LAPACKE_cunmhr_work,
		LAPACKE_cunmlq,
		LAPACKE_cunmlq_work,
		LAPACKE_cunmql,
		LAPACKE_cunmql_work,
		LAPACKE_cunmqr,
		LAPACKE_cunmqr_work,
		LAPACKE_cunmrq,
		LAPACKE_cunmrq_work,
		LAPACKE_cunmrz,
		LAPACKE_cunmrz_work,
		LAPACKE_cunmtr,
		LAPACKE_cunmtr_work,
		LAPACKE_cupgtr,
		LAPACKE_cupgtr_work,
		LAPACKE_cupmtr,
		LAPACKE_cupmtr_work,
		LAPACKE_d_nancheck,
		LAPACKE_dbbcsd,
		LAPACKE_dbbcsd_work,
		LAPACKE_dbdsdc,
		LAPACKE_dbdsdc_work,
		LAPACKE_dbdsqr,
		LAPACKE_dbdsqr_work,
		LAPACKE_ddisna,
		LAPACKE_ddisna_work,
		LAPACKE_dgb_nancheck,
		LAPACKE_dgb_trans,
		LAPACKE_dgbbrd,
		LAPACKE_dgbbrd_work,
		LAPACKE_dgbcon,
		LAPACKE_dgbcon_work,
		LAPACKE_dgbequ,
		LAPACKE_dgbequ_work,
		LAPACKE_dgbequb,
		LAPACKE_dgbequb_work,
		LAPACKE_dgbrfs,
		LAPACKE_dgbrfs_work,
		LAPACKE_dgbsv,
		LAPACKE_dgbsv_work,
		LAPACKE_dgbsvx,
		LAPACKE_dgbsvx_work,
		LAPACKE_dgbtrf,
		LAPACKE_dgbtrf_work,
		LAPACKE_dgbtrs,
		LAPACKE_dgbtrs_work,
		LAPACKE_dge_nancheck,
		LAPACKE_dge_trans,
		LAPACKE_dgebak,
		LAPACKE_dgebak_work,
		LAPACKE_dgebal,
		LAPACKE_dgebal_work,
		LAPACKE_dgebrd,
		LAPACKE_dgebrd_work,
		LAPACKE_dgecon,
		LAPACKE_dgecon_work,
		LAPACKE_dgeequ,
		LAPACKE_dgeequ_work,
		LAPACKE_dgeequb,
		LAPACKE_dgeequb_work,
		LAPACKE_dgees,
		LAPACKE_dgees_work,
		LAPACKE_dgeesx,
		LAPACKE_dgeesx_work,
		LAPACKE_dgeev,
		LAPACKE_dgeev_work,
		LAPACKE_dgeevx,
		LAPACKE_dgeevx_work,
		LAPACKE_dgehrd,
		LAPACKE_dgehrd_work,
		LAPACKE_dgejsv,
		LAPACKE_dgejsv_work,
		LAPACKE_dgelq2,
		LAPACKE_dgelq2_work,
		LAPACKE_dgelqf,
		LAPACKE_dgelqf_work,
		LAPACKE_dgels,
		LAPACKE_dgels_work,
		LAPACKE_dgelsd,
		LAPACKE_dgelsd_work,
		LAPACKE_dgelss,
		LAPACKE_dgelss_work,
		LAPACKE_dgelsy,
		LAPACKE_dgelsy_work,
		LAPACKE_dgemqrt,
		LAPACKE_dgemqrt_work,
		LAPACKE_dgeqlf,
		LAPACKE_dgeqlf_work,
		LAPACKE_dgeqp3,
		LAPACKE_dgeqp3_work,
		LAPACKE_dgeqpf,
		LAPACKE_dgeqpf_work,
		LAPACKE_dgeqr2,
		LAPACKE_dgeqr2_work,
		LAPACKE_dgeqrf,
		LAPACKE_dgeqrf_work,
		LAPACKE_dgeqrfp,
		LAPACKE_dgeqrfp_work,
		LAPACKE_dgeqrt,
		LAPACKE_dgeqrt2,
		LAPACKE_dgeqrt2_work,
		LAPACKE_dgeqrt3,
		LAPACKE_dgeqrt3_work,
		LAPACKE_dgeqrt_work,
		LAPACKE_dgerfs,
		LAPACKE_dgerfs_work,
		LAPACKE_dgerqf,
		LAPACKE_dgerqf_work,
		LAPACKE_dgesdd,
		LAPACKE_dgesdd_work,
		LAPACKE_dgesv,
		LAPACKE_dgesv_work,
		LAPACKE_dgesvd,
		LAPACKE_dgesvd_work,
		LAPACKE_dgesvj,
		LAPACKE_dgesvj_work,
		LAPACKE_dgesvx,
		LAPACKE_dgesvx_work,
		LAPACKE_dgetf2,
		LAPACKE_dgetf2_work,
		LAPACKE_dgetrf,
		LAPACKE_dgetrf_work,
		LAPACKE_dgetri,
		LAPACKE_dgetri_work,
		LAPACKE_dgetrs,
		LAPACKE_dgetrs_work,
		LAPACKE_dgg_nancheck,
		LAPACKE_dgg_trans,
		LAPACKE_dggbak,
		LAPACKE_dggbak_work,
		LAPACKE_dggbal,
		LAPACKE_dggbal_work,
		LAPACKE_dgges,
		LAPACKE_dgges_work,
		LAPACKE_dggesx,
		LAPACKE_dggesx_work,
		LAPACKE_dggev,
		LAPACKE_dggev_work,
		LAPACKE_dggevx,
		LAPACKE_dggevx_work,
		LAPACKE_dggglm,
		LAPACKE_dggglm_work,
		LAPACKE_dgghrd,
		LAPACKE_dgghrd_work,
		LAPACKE_dgglse,
		LAPACKE_dgglse_work,
		LAPACKE_dggqrf,
		LAPACKE_dggqrf_work,
		LAPACKE_dggrqf,
		LAPACKE_dggrqf_work,
		LAPACKE_dggsvd,
		LAPACKE_dggsvd_work,
		LAPACKE_dggsvp,
		LAPACKE_dggsvp_work,
		LAPACKE_dgt_nancheck,
		LAPACKE_dgtcon,
		LAPACKE_dgtcon_work,
		LAPACKE_dgtrfs,
		LAPACKE_dgtrfs_work,
		LAPACKE_dgtsv,
		LAPACKE_dgtsv_work,
		LAPACKE_dgtsvx,
		LAPACKE_dgtsvx_work,
		LAPACKE_dgttrf,
		LAPACKE_dgttrf_work,
		LAPACKE_dgttrs,
		LAPACKE_dgttrs_work,
		LAPACKE_dhgeqz,
		LAPACKE_dhgeqz_work,
		LAPACKE_dhs_nancheck,
		LAPACKE_dhs_trans,
		LAPACKE_dhsein,
		LAPACKE_dhsein_work,
		LAPACKE_dhseqr,
		LAPACKE_dhseqr_work,
		LAPACKE_dlacpy,
		LAPACKE_dlacpy_work,
		LAPACKE_dlag2s,
		LAPACKE_dlag2s_work,
		LAPACKE_dlamch,
		LAPACKE_dlamch_work,
		LAPACKE_dlange,
		LAPACKE_dlange_work,
		LAPACKE_dlansy,
		LAPACKE_dlansy_work,
		LAPACKE_dlantr,
		LAPACKE_dlantr_work,
		LAPACKE_dlapmr,
		LAPACKE_dlapmr_work,
		LAPACKE_dlapy2,
		LAPACKE_dlapy2_work,
		LAPACKE_dlapy3,
		LAPACKE_dlapy3_work,
		LAPACKE_dlarfb,
		LAPACKE_dlarfb_work,
		LAPACKE_dlarfg,
		LAPACKE_dlarfg_work,
		LAPACKE_dlarft,
		LAPACKE_dlarft_work,
		LAPACKE_dlarfx,
		LAPACKE_dlarfx_work,
		LAPACKE_dlarnv,
		LAPACKE_dlarnv_work,
		LAPACKE_dlartgp,
		LAPACKE_dlartgp_work,
		LAPACKE_dlartgs,
		LAPACKE_dlartgs_work,
		LAPACKE_dlaset,
		LAPACKE_dlaset_work,
		LAPACKE_dlasrt,
		LAPACKE_dlasrt_work,
		LAPACKE_dlaswp,
		LAPACKE_dlaswp_work,
		LAPACKE_dlauum,
		LAPACKE_dlauum_work,
		LAPACKE_dopgtr,
		LAPACKE_dopgtr_work,
		LAPACKE_dopmtr,
		LAPACKE_dopmtr_work,
		LAPACKE_dorbdb,
		LAPACKE_dorbdb_work,
		LAPACKE_dorcsd,
		LAPACKE_dorcsd_work,
		LAPACKE_dorgbr,
		LAPACKE_dorgbr_work,
		LAPACKE_dorghr,
		LAPACKE_dorghr_work,
		LAPACKE_dorglq,
		LAPACKE_dorglq_work,
		LAPACKE_dorgql,
		LAPACKE_dorgql_work,
		LAPACKE_dorgqr,
		LAPACKE_dorgqr_work,
		LAPACKE_dorgrq,
		LAPACKE_dorgrq_work,
		LAPACKE_dorgtr,
		LAPACKE_dorgtr_work,
		LAPACKE_dormbr,
		LAPACKE_dormbr_work,
		LAPACKE_dormhr,
		LAPACKE_dormhr_work,
		LAPACKE_dormlq,
		LAPACKE_dormlq_work,
		LAPACKE_dormql,
		LAPACKE_dormql_work,
		LAPACKE_dormqr,
		LAPACKE_dormqr_work,
		LAPACKE_dormrq,
		LAPACKE_dormrq_work,
		LAPACKE_dormrz,
		LAPACKE_dormrz_work,
		LAPACKE_dormtr,
		LAPACKE_dormtr_work,
		LAPACKE_dpb_nancheck,
		LAPACKE_dpb_trans,
		LAPACKE_dpbcon,
		LAPACKE_dpbcon_work,
		LAPACKE_dpbequ,
		LAPACKE_dpbequ_work,
		LAPACKE_dpbrfs,
		LAPACKE_dpbrfs_work,
		LAPACKE_dpbstf,
		LAPACKE_dpbstf_work,
		LAPACKE_dpbsv,
		LAPACKE_dpbsv_work,
		LAPACKE_dpbsvx,
		LAPACKE_dpbsvx_work,
		LAPACKE_dpbtrf,
		LAPACKE_dpbtrf_work,
		LAPACKE_dpbtrs,
		LAPACKE_dpbtrs_work,
		LAPACKE_dpf_nancheck,
		LAPACKE_dpf_trans,
		LAPACKE_dpftrf,
		LAPACKE_dpftrf_work,
		LAPACKE_dpftri,
		LAPACKE_dpftri_work,
		LAPACKE_dpftrs,
		LAPACKE_dpftrs_work,
		LAPACKE_dpo_nancheck,
		LAPACKE_dpo_trans,
		LAPACKE_dpocon,
		LAPACKE_dpocon_work,
		LAPACKE_dpoequ,
		LAPACKE_dpoequ_work,
		LAPACKE_dpoequb,
		LAPACKE_dpoequb_work,
		LAPACKE_dporfs,
		LAPACKE_dporfs_work,
		LAPACKE_dposv,
		LAPACKE_dposv_work,
		LAPACKE_dposvx,
		LAPACKE_dposvx_work,
		LAPACKE_dpotrf,
		LAPACKE_dpotrf_work,
		LAPACKE_dpotri,
		LAPACKE_dpotri_work,
		LAPACKE_dpotrs,
		LAPACKE_dpotrs_work,
		LAPACKE_dpp_nancheck,
		LAPACKE_dpp_trans,
		LAPACKE_dppcon,
		LAPACKE_dppcon_work,
		LAPACKE_dppequ,
		LAPACKE_dppequ_work,
		LAPACKE_dpprfs,
		LAPACKE_dpprfs_work,
		LAPACKE_dppsv,
		LAPACKE_dppsv_work,
		LAPACKE_dppsvx,
		LAPACKE_dppsvx_work,
		LAPACKE_dpptrf,
		LAPACKE_dpptrf_work,
		LAPACKE_dpptri,
		LAPACKE_dpptri_work,
		LAPACKE_dpptrs,
		LAPACKE_dpptrs_work,
		LAPACKE_dpstrf,
		LAPACKE_dpstrf_work,
		LAPACKE_dpt_nancheck,
		LAPACKE_dptcon,
		LAPACKE_dptcon_work,
		LAPACKE_dpteqr,
		LAPACKE_dpteqr_work,
		LAPACKE_dptrfs,
		LAPACKE_dptrfs_work,
		LAPACKE_dptsv,
		LAPACKE_dptsv_work,
		LAPACKE_dptsvx,
		LAPACKE_dptsvx_work,
		LAPACKE_dpttrf,
		LAPACKE_dpttrf_work,
		LAPACKE_dpttrs,
		LAPACKE_dpttrs_work,
		LAPACKE_dsb_nancheck,
		LAPACKE_dsb_trans,
		LAPACKE_dsbev,
		LAPACKE_dsbev_work,
		LAPACKE_dsbevd,
		LAPACKE_dsbevd_work,
		LAPACKE_dsbevx,
		LAPACKE_dsbevx_work,
		LAPACKE_dsbgst,
		LAPACKE_dsbgst_work,
		LAPACKE_dsbgv,
		LAPACKE_dsbgv_work,
		LAPACKE_dsbgvd,
		LAPACKE_dsbgvd_work,
		LAPACKE_dsbgvx,
		LAPACKE_dsbgvx_work,
		LAPACKE_dsbtrd,
		LAPACKE_dsbtrd_work,
		LAPACKE_dsfrk,
		LAPACKE_dsfrk_work,
		LAPACKE_dsgesv,
		LAPACKE_dsgesv_work,
		LAPACKE_dsp_nancheck,
		LAPACKE_dsp_trans,
		LAPACKE_dspcon,
		LAPACKE_dspcon_work,
		LAPACKE_dspev,
		LAPACKE_dspev_work,
		LAPACKE_dspevd,
		LAPACKE_dspevd_work,
		LAPACKE_dspevx,
		LAPACKE_dspevx_work,
		LAPACKE_dspgst,
		LAPACKE_dspgst_work,
		LAPACKE_dspgv,
		LAPACKE_dspgv_work,
		LAPACKE_dspgvd,
		LAPACKE_dspgvd_work,
		LAPACKE_dspgvx,
		LAPACKE_dspgvx_work,
		LAPACKE_dsposv,
		LAPACKE_dsposv_work,
		LAPACKE_dsprfs,
		LAPACKE_dsprfs_work,
		LAPACKE_dspsv,
		LAPACKE_dspsv_work,
		LAPACKE_dspsvx,
		LAPACKE_dspsvx_work,
		LAPACKE_dsptrd,
		LAPACKE_dsptrd_work,
		LAPACKE_dsptrf,
		LAPACKE_dsptrf_work,
		LAPACKE_dsptri,
		LAPACKE_dsptri_work,
		LAPACKE_dsptrs,
		LAPACKE_dsptrs_work,
		LAPACKE_dst_nancheck,
		LAPACKE_dstebz,
		LAPACKE_dstebz_work,
		LAPACKE_dstedc,
		LAPACKE_dstedc_work,
		LAPACKE_dstegr,
		LAPACKE_dstegr_work,
		LAPACKE_dstein,
		LAPACKE_dstein_work,
		LAPACKE_dstemr,
		LAPACKE_dstemr_work,
		LAPACKE_dsteqr,
		LAPACKE_dsteqr_work,
		LAPACKE_dsterf,
		LAPACKE_dsterf_work,
		LAPACKE_dstev,
		LAPACKE_dstev_work,
		LAPACKE_dstevd,
		LAPACKE_dstevd_work,
		LAPACKE_dstevr,
		LAPACKE_dstevr_work,
		LAPACKE_dstevx,
		LAPACKE_dstevx_work,
		LAPACKE_dsy_nancheck,
		LAPACKE_dsy_trans,
		LAPACKE_dsycon,
		LAPACKE_dsycon_work,
		LAPACKE_dsyconv,
		LAPACKE_dsyconv_work,
		LAPACKE_dsyequb,
		LAPACKE_dsyequb_work,
		LAPACKE_dsyev,
		LAPACKE_dsyev_work,
		LAPACKE_dsyevd,
		LAPACKE_dsyevd_work,
		LAPACKE_dsyevr,
		LAPACKE_dsyevr_work,
		LAPACKE_dsyevx,
		LAPACKE_dsyevx_work,
		LAPACKE_dsygst,
		LAPACKE_dsygst_work,
		LAPACKE_dsygv,
		LAPACKE_dsygv_work,
		LAPACKE_dsygvd,
		LAPACKE_dsygvd_work,
		LAPACKE_dsygvx,
		LAPACKE_dsygvx_work,
		LAPACKE_dsyrfs,
		LAPACKE_dsyrfs_work,
		LAPACKE_dsysv,
		LAPACKE_dsysv_work,
		LAPACKE_dsysvx,
		LAPACKE_dsysvx_work,
		LAPACKE_dsyswapr,
		LAPACKE_dsyswapr_work,
		LAPACKE_dsytrd,
		LAPACKE_dsytrd_work,
		LAPACKE_dsytrf,
		LAPACKE_dsytrf_work,
		LAPACKE_dsytri,
		LAPACKE_dsytri2,
		LAPACKE_dsytri2_work,
		LAPACKE_dsytri2x,
		LAPACKE_dsytri2x_work,
		LAPACKE_dsytri_work,
		LAPACKE_dsytrs,
		LAPACKE_dsytrs2,
		LAPACKE_dsytrs2_work,
		LAPACKE_dsytrs_work,
		LAPACKE_dtb_nancheck,
		LAPACKE_dtb_trans,
		LAPACKE_dtbcon,
		LAPACKE_dtbcon_work,
		LAPACKE_dtbrfs,
		LAPACKE_dtbrfs_work,
		LAPACKE_dtbtrs,
		LAPACKE_dtbtrs_work,
		LAPACKE_dtf_nancheck,
		LAPACKE_dtf_trans,
		LAPACKE_dtfsm,
		LAPACKE_dtfsm_work,
		LAPACKE_dtftri,
		LAPACKE_dtftri_work,
		LAPACKE_dtfttp,
		LAPACKE_dtfttp_work,
		LAPACKE_dtfttr,
		LAPACKE_dtfttr_work,
		LAPACKE_dtgevc,
		LAPACKE_dtgevc_work,
		LAPACKE_dtgexc,
		LAPACKE_dtgexc_work,
		LAPACKE_dtgsen,
		LAPACKE_dtgsen_work,
		LAPACKE_dtgsja,
		LAPACKE_dtgsja_work,
		LAPACKE_dtgsna,
		LAPACKE_dtgsna_work,
		LAPACKE_dtgsyl,
		LAPACKE_dtgsyl_work,
		LAPACKE_dtp_nancheck,
		LAPACKE_dtp_trans,
		LAPACKE_dtpcon,
		LAPACKE_dtpcon_work,
		LAPACKE_dtpmqrt,
		LAPACKE_dtpmqrt_work,
		LAPACKE_dtpqrt,
		LAPACKE_dtpqrt2,
		LAPACKE_dtpqrt2_work,
		LAPACKE_dtpqrt_work,
		LAPACKE_dtprfb,
		LAPACKE_dtprfb_work,
		LAPACKE_dtprfs,
		LAPACKE_dtprfs_work,
		LAPACKE_dtptri,
		LAPACKE_dtptri_work,
		LAPACKE_dtptrs,
		LAPACKE_dtptrs_work,
		LAPACKE_dtpttf,
		LAPACKE_dtpttf_work,
		LAPACKE_dtpttr,
		LAPACKE_dtpttr_work,
		LAPACKE_dtr_nancheck,
		LAPACKE_dtr_trans,
		LAPACKE_dtrcon,
		LAPACKE_dtrcon_work,
		LAPACKE_dtrevc,
		LAPACKE_dtrevc_work,
		LAPACKE_dtrexc,
		LAPACKE_dtrexc_work,
		LAPACKE_dtrrfs,
		LAPACKE_dtrrfs_work,
		LAPACKE_dtrsen,
		LAPACKE_dtrsen_work,
		LAPACKE_dtrsna,
		LAPACKE_dtrsna_work,
		LAPACKE_dtrsyl,
		LAPACKE_dtrsyl_work,
		LAPACKE_dtrtri,
		LAPACKE_dtrtri_work,
		LAPACKE_dtrtrs,
		LAPACKE_dtrtrs_work,
		LAPACKE_dtrttf,
		LAPACKE_dtrttf_work,
		LAPACKE_dtrttp,
		LAPACKE_dtrttp_work,
		LAPACKE_dtzrzf,
		LAPACKE_dtzrzf_work,
		LAPACKE_lsame,
		LAPACKE_s_nancheck,
		LAPACKE_sbbcsd,
		LAPACKE_sbbcsd_work,
		LAPACKE_sbdsdc,
		LAPACKE_sbdsdc_work,
		LAPACKE_sbdsqr,
		LAPACKE_sbdsqr_work,
		LAPACKE_sdisna,
		LAPACKE_sdisna_work,
		LAPACKE_sgb_nancheck,
		LAPACKE_sgb_trans,
		LAPACKE_sgbbrd,
		LAPACKE_sgbbrd_work,
		LAPACKE_sgbcon,
		LAPACKE_sgbcon_work,
		LAPACKE_sgbequ,
		LAPACKE_sgbequ_work,
		LAPACKE_sgbequb,
		LAPACKE_sgbequb_work,
		LAPACKE_sgbrfs,
		LAPACKE_sgbrfs_work,
		LAPACKE_sgbsv,
		LAPACKE_sgbsv_work,
		LAPACKE_sgbsvx,
		LAPACKE_sgbsvx_work,
		LAPACKE_sgbtrf,
		LAPACKE_sgbtrf_work,
		LAPACKE_sgbtrs,
		LAPACKE_sgbtrs_work,
		LAPACKE_sge_nancheck,
		LAPACKE_sge_trans,
		LAPACKE_sgebak,
		LAPACKE_sgebak_work,
		LAPACKE_sgebal,
		LAPACKE_sgebal_work,
		LAPACKE_sgebrd,
		LAPACKE_sgebrd_work,
		LAPACKE_sgecon,
		LAPACKE_sgecon_work,
		LAPACKE_sgeequ,
		LAPACKE_sgeequ_work,
		LAPACKE_sgeequb,
		LAPACKE_sgeequb_work,
		LAPACKE_sgees,
		LAPACKE_sgees_work,
		LAPACKE_sgeesx,
		LAPACKE_sgeesx_work,
		LAPACKE_sgeev,
		LAPACKE_sgeev_work,
		LAPACKE_sgeevx,
		LAPACKE_sgeevx_work,
		LAPACKE_sgehrd,
		LAPACKE_sgehrd_work,
		LAPACKE_sgejsv,
		LAPACKE_sgejsv_work,
		LAPACKE_sgelq2,
		LAPACKE_sgelq2_work,
		LAPACKE_sgelqf,
		LAPACKE_sgelqf_work,
		LAPACKE_sgels,
		LAPACKE_sgels_work,
		LAPACKE_sgelsd,
		LAPACKE_sgelsd_work,
		LAPACKE_sgelss,
		LAPACKE_sgelss_work,
		LAPACKE_sgelsy,
		LAPACKE_sgelsy_work,
		LAPACKE_sgemqrt,
		LAPACKE_sgemqrt_work,
		LAPACKE_sgeqlf,
		LAPACKE_sgeqlf_work,
		LAPACKE_sgeqp3,
		LAPACKE_sgeqp3_work,
		LAPACKE_sgeqpf,
		LAPACKE_sgeqpf_work,
		LAPACKE_sgeqr2,
		LAPACKE_sgeqr2_work,
		LAPACKE_sgeqrf,
		LAPACKE_sgeqrf_work,
		LAPACKE_sgeqrfp,
		LAPACKE_sgeqrfp_work,
		LAPACKE_sgeqrt,
		LAPACKE_sgeqrt2,
		LAPACKE_sgeqrt2_work,
		LAPACKE_sgeqrt3,
		LAPACKE_sgeqrt3_work,
		LAPACKE_sgeqrt_work,
		LAPACKE_sgerfs,
		LAPACKE_sgerfs_work,
		LAPACKE_sgerqf,
		LAPACKE_sgerqf_work,
		LAPACKE_sgesdd,
		LAPACKE_sgesdd_work,
		LAPACKE_sgesv,
		LAPACKE_sgesv_work,
		LAPACKE_sgesvd,
		LAPACKE_sgesvd_work,
		LAPACKE_sgesvj,
		LAPACKE_sgesvj_work,
		LAPACKE_sgesvx,
		LAPACKE_sgesvx_work,
		LAPACKE_sgetf2,
		LAPACKE_sgetf2_work,
		LAPACKE_sgetrf,
		LAPACKE_sgetrf_work,
		LAPACKE_sgetri,
		LAPACKE_sgetri_work,
		LAPACKE_sgetrs,
		LAPACKE_sgetrs_work,
		LAPACKE_sgg_nancheck,
		LAPACKE_sgg_trans,
		LAPACKE_sggbak,
		LAPACKE_sggbak_work,
		LAPACKE_sggbal,
		LAPACKE_sggbal_work,
		LAPACKE_sgges,
		LAPACKE_sgges_work,
		LAPACKE_sggesx,
		LAPACKE_sggesx_work,
		LAPACKE_sggev,
		LAPACKE_sggev_work,
		LAPACKE_sggevx,
		LAPACKE_sggevx_work,
		LAPACKE_sggglm,
		LAPACKE_sggglm_work,
		LAPACKE_sgghrd,
		LAPACKE_sgghrd_work,
		LAPACKE_sgglse,
		LAPACKE_sgglse_work,
		LAPACKE_sggqrf,
		LAPACKE_sggqrf_work,
		LAPACKE_sggrqf,
		LAPACKE_sggrqf_work,
		LAPACKE_sggsvd,
		LAPACKE_sggsvd_work,
		LAPACKE_sggsvp,
		LAPACKE_sggsvp_work,
		LAPACKE_sgt_nancheck,
		LAPACKE_sgtcon,
		LAPACKE_sgtcon_work,
		LAPACKE_sgtrfs,
		LAPACKE_sgtrfs_work,
		LAPACKE_sgtsv,
		LAPACKE_sgtsv_work,
		LAPACKE_sgtsvx,
		LAPACKE_sgtsvx_work,
		LAPACKE_sgttrf,
		LAPACKE_sgttrf_work,
		LAPACKE_sgttrs,
		LAPACKE_sgttrs_work,
		LAPACKE_shgeqz,
		LAPACKE_shgeqz_work,
		LAPACKE_shs_nancheck,
		LAPACKE_shs_trans,
		LAPACKE_shsein,
		LAPACKE_shsein_work,
		LAPACKE_shseqr,
		LAPACKE_shseqr_work,
		LAPACKE_slacpy,
		LAPACKE_slacpy_work,
		LAPACKE_slag2d,
		LAPACKE_slag2d_work,
		LAPACKE_slamch,
		LAPACKE_slamch_work,
		LAPACKE_slange,
		LAPACKE_slange_work,
		LAPACKE_slansy,
		LAPACKE_slansy_work,
		LAPACKE_slantr,
		LAPACKE_slantr_work,
		LAPACKE_slapmr,
		LAPACKE_slapmr_work,
		LAPACKE_slapy2,
		LAPACKE_slapy2_work,
		LAPACKE_slapy3,
		LAPACKE_slapy3_work,
		LAPACKE_slarfb,
		LAPACKE_slarfb_work,
		LAPACKE_slarfg,
		LAPACKE_slarfg_work,
		LAPACKE_slarft,
		LAPACKE_slarft_work,
		LAPACKE_slarfx,
		LAPACKE_slarfx_work,
		LAPACKE_slarnv,
		LAPACKE_slarnv_work,
		LAPACKE_slartgp,
		LAPACKE_slartgp_work,
		LAPACKE_slartgs,
		LAPACKE_slartgs_work,
		LAPACKE_slaset,
		LAPACKE_slaset_work,
		LAPACKE_slasrt,
		LAPACKE_slasrt_work,
		LAPACKE_slaswp,
		LAPACKE_slaswp_work,
		LAPACKE_slauum,
		LAPACKE_slauum_work,
		LAPACKE_sopgtr,
		LAPACKE_sopgtr_work,
		LAPACKE_sopmtr,
		LAPACKE_sopmtr_work,
		LAPACKE_sorbdb,
		LAPACKE_sorbdb_work,
		LAPACKE_sorcsd,
		LAPACKE_sorcsd_work,
		LAPACKE_sorgbr,
		LAPACKE_sorgbr_work,
		LAPACKE_sorghr,
		LAPACKE_sorghr_work,
		LAPACKE_sorglq,
		LAPACKE_sorglq_work,
		LAPACKE_sorgql,
		LAPACKE_sorgql_work,
		LAPACKE_sorgqr,
		LAPACKE_sorgqr_work,
		LAPACKE_sorgrq,
		LAPACKE_sorgrq_work,
		LAPACKE_sorgtr,
		LAPACKE_sorgtr_work,
		LAPACKE_sormbr,
		LAPACKE_sormbr_work,
		LAPACKE_sormhr,
		LAPACKE_sormhr_work,
		LAPACKE_sormlq,
		LAPACKE_sormlq_work,
		LAPACKE_sormql,
		LAPACKE_sormql_work,
		LAPACKE_sormqr,
		LAPACKE_sormqr_work,
		LAPACKE_sormrq,
		LAPACKE_sormrq_work,
		LAPACKE_sormrz,
		LAPACKE_sormrz_work,
		LAPACKE_sormtr,
		LAPACKE_sormtr_work,
		LAPACKE_spb_nancheck,
		LAPACKE_spb_trans,
		LAPACKE_spbcon,
		LAPACKE_spbcon_work,
		LAPACKE_spbequ,
		LAPACKE_spbequ_work,
		LAPACKE_spbrfs,
		LAPACKE_spbrfs_work,
		LAPACKE_spbstf,
		LAPACKE_spbstf_work,
		LAPACKE_spbsv,
		LAPACKE_spbsv_work,
		LAPACKE_spbsvx,
		LAPACKE_spbsvx_work,
		LAPACKE_spbtrf,
		LAPACKE_spbtrf_work,
		LAPACKE_spbtrs,
		LAPACKE_spbtrs_work,
		LAPACKE_spf_nancheck,
		LAPACKE_spf_trans,
		LAPACKE_spftrf,
		LAPACKE_spftrf_work,
		LAPACKE_spftri,
		LAPACKE_spftri_work,
		LAPACKE_spftrs,
		LAPACKE_spftrs_work,
		LAPACKE_spo_nancheck,
		LAPACKE_spo_trans,
		LAPACKE_spocon,
		LAPACKE_spocon_work,
		LAPACKE_spoequ,
		LAPACKE_spoequ_work,
		LAPACKE_spoequb,
		LAPACKE_spoequb_work,
		LAPACKE_sporfs,
		LAPACKE_sporfs_work,
		LAPACKE_sposv,
		LAPACKE_sposv_work,
		LAPACKE_sposvx,
		LAPACKE_sposvx_work,
		LAPACKE_spotrf,
		LAPACKE_spotrf_work,
		LAPACKE_spotri,
		LAPACKE_spotri_work,
		LAPACKE_spotrs,
		LAPACKE_spotrs_work,
		LAPACKE_spp_nancheck,
		LAPACKE_spp_trans,
		LAPACKE_sppcon,
		LAPACKE_sppcon_work,
		LAPACKE_sppequ,
		LAPACKE_sppequ_work,
		LAPACKE_spprfs,
		LAPACKE_spprfs_work,
		LAPACKE_sppsv,
		LAPACKE_sppsv_work,
		LAPACKE_sppsvx,
		LAPACKE_sppsvx_work,
		LAPACKE_spptrf,
		LAPACKE_spptrf_work,
		LAPACKE_spptri,
		LAPACKE_spptri_work,
		LAPACKE_spptrs,
		LAPACKE_spptrs_work,
		LAPACKE_spstrf,
		LAPACKE_spstrf_work,
		LAPACKE_spt_nancheck,
		LAPACKE_sptcon,
		LAPACKE_sptcon_work,
		LAPACKE_spteqr,
		LAPACKE_spteqr_work,
		LAPACKE_sptrfs,
		LAPACKE_sptrfs_work,
		LAPACKE_sptsv,
		LAPACKE_sptsv_work,
		LAPACKE_sptsvx,
		LAPACKE_sptsvx_work,
		LAPACKE_spttrf,
		LAPACKE_spttrf_work,
		LAPACKE_spttrs,
		LAPACKE_spttrs_work,
		LAPACKE_ssb_nancheck,
		LAPACKE_ssb_trans,
		LAPACKE_ssbev,
		LAPACKE_ssbev_work,
		LAPACKE_ssbevd,
		LAPACKE_ssbevd_work,
		LAPACKE_ssbevx,
		LAPACKE_ssbevx_work,
		LAPACKE_ssbgst,
		LAPACKE_ssbgst_work,
		LAPACKE_ssbgv,
		LAPACKE_ssbgv_work,
		LAPACKE_ssbgvd,
		LAPACKE_ssbgvd_work,
		LAPACKE_ssbgvx,
		LAPACKE_ssbgvx_work,
		LAPACKE_ssbtrd,
		LAPACKE_ssbtrd_work,
		LAPACKE_ssfrk,
		LAPACKE_ssfrk_work,
		LAPACKE_ssp_nancheck,
		LAPACKE_ssp_trans,
		LAPACKE_sspcon,
		LAPACKE_sspcon_work,
		LAPACKE_sspev,
		LAPACKE_sspev_work,
		LAPACKE_sspevd,
		LAPACKE_sspevd_work,
		LAPACKE_sspevx,
		LAPACKE_sspevx_work,
		LAPACKE_sspgst,
		LAPACKE_sspgst_work,
		LAPACKE_sspgv,
		LAPACKE_sspgv_work,
		LAPACKE_sspgvd,
		LAPACKE_sspgvd_work,
		LAPACKE_sspgvx,
		LAPACKE_sspgvx_work,
		LAPACKE_ssprfs,
		LAPACKE_ssprfs_work,
		LAPACKE_sspsv,
		LAPACKE_sspsv_work,
		LAPACKE_sspsvx,
		LAPACKE_sspsvx_work,
		LAPACKE_ssptrd,
		LAPACKE_ssptrd_work,
		LAPACKE_ssptrf,
		LAPACKE_ssptrf_work,
		LAPACKE_ssptri,
		LAPACKE_ssptri_work,
		LAPACKE_ssptrs,
		LAPACKE_ssptrs_work,
		LAPACKE_sst_nancheck,
		LAPACKE_sstebz,
		LAPACKE_sstebz_work,
		LAPACKE_sstedc,
		LAPACKE_sstedc_work,
		LAPACKE_sstegr,
		LAPACKE_sstegr_work,
		LAPACKE_sstein,
		LAPACKE_sstein_work,
		LAPACKE_sstemr,
		LAPACKE_sstemr_work,
		LAPACKE_ssteqr,
		LAPACKE_ssteqr_work,
		LAPACKE_ssterf,
		LAPACKE_ssterf_work,
		LAPACKE_sstev,
		LAPACKE_sstev_work,
		LAPACKE_sstevd,
		LAPACKE_sstevd_work,
		LAPACKE_sstevr,
		LAPACKE_sstevr_work,
		LAPACKE_sstevx,
		LAPACKE_sstevx_work,
		LAPACKE_ssy_nancheck,
		LAPACKE_ssy_trans,
		LAPACKE_ssycon,
		LAPACKE_ssycon_work,
		LAPACKE_ssyconv,
		LAPACKE_ssyconv_work,
		LAPACKE_ssyequb,
		LAPACKE_ssyequb_work,
		LAPACKE_ssyev,
		LAPACKE_ssyev_work,
		LAPACKE_ssyevd,
		LAPACKE_ssyevd_work,
		LAPACKE_ssyevr,
		LAPACKE_ssyevr_work,
		LAPACKE_ssyevx,
		LAPACKE_ssyevx_work,
		LAPACKE_ssygst,
		LAPACKE_ssygst_work,
		LAPACKE_ssygv,
		LAPACKE_ssygv_work,
		LAPACKE_ssygvd,
		LAPACKE_ssygvd_work,
		LAPACKE_ssygvx,
		LAPACKE_ssygvx_work,
		LAPACKE_ssyrfs,
		LAPACKE_ssyrfs_work,
		LAPACKE_ssysv,
		LAPACKE_ssysv_work,
		LAPACKE_ssysvx,
		LAPACKE_ssysvx_work,
		LAPACKE_ssyswapr,
		LAPACKE_ssyswapr_work,
		LAPACKE_ssytrd,
		LAPACKE_ssytrd_work,
		LAPACKE_ssytrf,
		LAPACKE_ssytrf_work,
		LAPACKE_ssytri,
		LAPACKE_ssytri2,
		LAPACKE_ssytri2_work,
		LAPACKE_ssytri2x,
		LAPACKE_ssytri2x_work,
		LAPACKE_ssytri_work,
		LAPACKE_ssytrs,
		LAPACKE_ssytrs2,
		LAPACKE_ssytrs2_work,
		LAPACKE_ssytrs_work,
		LAPACKE_stb_nancheck,
		LAPACKE_stb_trans,
		LAPACKE_stbcon,
		LAPACKE_stbcon_work,
		LAPACKE_stbrfs,
		LAPACKE_stbrfs_work,
		LAPACKE_stbtrs,
		LAPACKE_stbtrs_work,
		LAPACKE_stf_nancheck,
		LAPACKE_stf_trans,
		LAPACKE_stfsm,
		LAPACKE_stfsm_work,
		LAPACKE_stftri,
		LAPACKE_stftri_work,
		LAPACKE_stfttp,
		LAPACKE_stfttp_work,
		LAPACKE_stfttr,
		LAPACKE_stfttr_work,
		LAPACKE_stgevc,
		LAPACKE_stgevc_work,
		LAPACKE_stgexc,
		LAPACKE_stgexc_work,
		LAPACKE_stgsen,
		LAPACKE_stgsen_work,
		LAPACKE_stgsja,
		LAPACKE_stgsja_work,
		LAPACKE_stgsna,
		LAPACKE_stgsna_work,
		LAPACKE_stgsyl,
		LAPACKE_stgsyl_work,
		LAPACKE_stp_nancheck,
		LAPACKE_stp_trans,
		LAPACKE_stpcon,
		LAPACKE_stpcon_work,
		LAPACKE_stpmqrt,
		LAPACKE_stpmqrt_work,
		LAPACKE_stpqrt2,
		LAPACKE_stpqrt2_work,
		LAPACKE_stprfb,
		LAPACKE_stprfb_work,
		LAPACKE_stprfs,
		LAPACKE_stprfs_work,
		LAPACKE_stptri,
		LAPACKE_stptri_work,
		LAPACKE_stptrs,
		LAPACKE_stptrs_work,
		LAPACKE_stpttf,
		LAPACKE_stpttf_work,
		LAPACKE_stpttr,
		LAPACKE_stpttr_work,
		LAPACKE_str_nancheck,
		LAPACKE_str_trans,
		LAPACKE_strcon,
		LAPACKE_strcon_work,
		LAPACKE_strevc,
		LAPACKE_strevc_work,
		LAPACKE_strexc,
		LAPACKE_strexc_work,
		LAPACKE_strrfs,
		LAPACKE_strrfs_work,
		LAPACKE_strsen,
		LAPACKE_strsen_work,
		LAPACKE_strsna,
		LAPACKE_strsna_work,
		LAPACKE_strsyl,
		LAPACKE_strsyl_work,
		LAPACKE_strtri,
		LAPACKE_strtri_work,
		LAPACKE_strtrs,
		LAPACKE_strtrs_work,
		LAPACKE_strttf,
		LAPACKE_strttf_work,
		LAPACKE_strttp,
		LAPACKE_strttp_work,
		LAPACKE_stzrzf,
		LAPACKE_stzrzf_work,
		LAPACKE_xerbla,
		LAPACKE_z_nancheck,
		LAPACKE_zbbcsd,
		LAPACKE_zbbcsd_work,
		LAPACKE_zbdsqr,
		LAPACKE_zbdsqr_work,
		LAPACKE_zcgesv,
		LAPACKE_zcgesv_work,
		LAPACKE_zcposv,
		LAPACKE_zcposv_work,
		LAPACKE_zgb_nancheck,
		LAPACKE_zgb_trans,
		LAPACKE_zgbbrd,
		LAPACKE_zgbbrd_work,
		LAPACKE_zgbcon,
		LAPACKE_zgbcon_work,
		LAPACKE_zgbequ,
		LAPACKE_zgbequ_work,
		LAPACKE_zgbequb,
		LAPACKE_zgbequb_work,
		LAPACKE_zgbrfs,
		LAPACKE_zgbrfs_work,
		LAPACKE_zgbsv,
		LAPACKE_zgbsv_work,
		LAPACKE_zgbsvx,
		LAPACKE_zgbsvx_work,
		LAPACKE_zgbtrf,
		LAPACKE_zgbtrf_work,
		LAPACKE_zgbtrs,
		LAPACKE_zgbtrs_work,
		LAPACKE_zge_nancheck,
		LAPACKE_zge_trans,
		LAPACKE_zgebak,
		LAPACKE_zgebak_work,
		LAPACKE_zgebal,
		LAPACKE_zgebal_work,
		LAPACKE_zgebrd,
		LAPACKE_zgebrd_work,
		LAPACKE_zgecon,
		LAPACKE_zgecon_work,
		LAPACKE_zgeequ,
		LAPACKE_zgeequ_work,
		LAPACKE_zgeequb,
		LAPACKE_zgeequb_work,
		LAPACKE_zgees,
		LAPACKE_zgees_work,
		LAPACKE_zgeesx,
		LAPACKE_zgeesx_work,
		LAPACKE_zgeev,
		LAPACKE_zgeev_work,
		LAPACKE_zgeevx,
		LAPACKE_zgeevx_work,
		LAPACKE_zgehrd,
		LAPACKE_zgehrd_work,
		LAPACKE_zgelq2,
		LAPACKE_zgelq2_work,
		LAPACKE_zgelqf,
		LAPACKE_zgelqf_work,
		LAPACKE_zgels,
		LAPACKE_zgels_work,
		LAPACKE_zgelsd,
		LAPACKE_zgelsd_work,
		LAPACKE_zgelss,
		LAPACKE_zgelss_work,
		LAPACKE_zgelsy,
		LAPACKE_zgelsy_work,
		LAPACKE_zgemqrt,
		LAPACKE_zgemqrt_work,
		LAPACKE_zgeqlf,
		LAPACKE_zgeqlf_work,
		LAPACKE_zgeqp3,
		LAPACKE_zgeqp3_work,
		LAPACKE_zgeqpf,
		LAPACKE_zgeqpf_work,
		LAPACKE_zgeqr2,
		LAPACKE_zgeqr2_work,
		LAPACKE_zgeqrf,
		LAPACKE_zgeqrf_work,
		LAPACKE_zgeqrfp,
		LAPACKE_zgeqrfp_work,
		LAPACKE_zgeqrt,
		LAPACKE_zgeqrt2,
		LAPACKE_zgeqrt2_work,
		LAPACKE_zgeqrt3,
		LAPACKE_zgeqrt3_work,
		LAPACKE_zgeqrt_work,
		LAPACKE_zgerfs,
		LAPACKE_zgerfs_work,
		LAPACKE_zgerqf,
		LAPACKE_zgerqf_work,
		LAPACKE_zgesdd,
		LAPACKE_zgesdd_work,
		LAPACKE_zgesv,
		LAPACKE_zgesv_work,
		LAPACKE_zgesvd,
		LAPACKE_zgesvd_work,
		LAPACKE_zgesvx,
		LAPACKE_zgesvx_work,
		LAPACKE_zgetf2,
		LAPACKE_zgetf2_work,
		LAPACKE_zgetrf,
		LAPACKE_zgetrf_work,
		LAPACKE_zgetri,
		LAPACKE_zgetri_work,
		LAPACKE_zgetrs,
		LAPACKE_zgetrs_work,
		LAPACKE_zgg_nancheck,
		LAPACKE_zgg_trans,
		LAPACKE_zggbak,
		LAPACKE_zggbak_work,
		LAPACKE_zggbal,
		LAPACKE_zggbal_work,
		LAPACKE_zgges,
		LAPACKE_zgges_work,
		LAPACKE_zggesx,
		LAPACKE_zggesx_work,
		LAPACKE_zggev,
		LAPACKE_zggev_work,
		LAPACKE_zggevx,
		LAPACKE_zggevx_work,
		LAPACKE_zggglm,
		LAPACKE_zggglm_work,
		LAPACKE_zgghrd,
		LAPACKE_zgghrd_work,
		LAPACKE_zgglse,
		LAPACKE_zgglse_work,
		LAPACKE_zggqrf,
		LAPACKE_zggqrf_work,
		LAPACKE_zggrqf,
		LAPACKE_zggrqf_work,
		LAPACKE_zggsvd,
		LAPACKE_zggsvd_work,
		LAPACKE_zggsvp,
		LAPACKE_zggsvp_work,
		LAPACKE_zgt_nancheck,
		LAPACKE_zgtcon,
		LAPACKE_zgtcon_work,
		LAPACKE_zgtrfs,
		LAPACKE_zgtrfs_work,
		LAPACKE_zgtsv,
		LAPACKE_zgtsv_work,
		LAPACKE_zgtsvx,
		LAPACKE_zgtsvx_work,
		LAPACKE_zgttrf,
		LAPACKE_zgttrf_work,
		LAPACKE_zgttrs,
		LAPACKE_zgttrs_work,
		LAPACKE_zhb_nancheck,
		LAPACKE_zhb_trans,
		LAPACKE_zhbev,
		LAPACKE_zhbev_work,
		LAPACKE_zhbevd,
		LAPACKE_zhbevd_work,
		LAPACKE_zhbevx,
		LAPACKE_zhbevx_work,
		LAPACKE_zhbgst,
		LAPACKE_zhbgst_work,
		LAPACKE_zhbgv,
		LAPACKE_zhbgv_work,
		LAPACKE_zhbgvd,
		LAPACKE_zhbgvd_work,
		LAPACKE_zhbgvx,
		LAPACKE_zhbgvx_work,
		LAPACKE_zhbtrd,
		LAPACKE_zhbtrd_work,
		LAPACKE_zhe_nancheck,
		LAPACKE_zhe_trans,
		LAPACKE_zhecon,
		LAPACKE_zhecon_work,
		LAPACKE_zheequb,
		LAPACKE_zheequb_work,
		LAPACKE_zheev,
		LAPACKE_zheev_work,
		LAPACKE_zheevd,
		LAPACKE_zheevd_work,
		LAPACKE_zheevr,
		LAPACKE_zheevr_work,
		LAPACKE_zheevx,
		LAPACKE_zheevx_work,
		LAPACKE_zhegst,
		LAPACKE_zhegst_work,
		LAPACKE_zhegv,
		LAPACKE_zhegv_work,
		LAPACKE_zhegvd,
		LAPACKE_zhegvd_work,
		LAPACKE_zhegvx,
		LAPACKE_zhegvx_work,
		LAPACKE_zherfs,
		LAPACKE_zherfs_work,
		LAPACKE_zhesv,
		LAPACKE_zhesv_work,
		LAPACKE_zhesvx,
		LAPACKE_zhesvx_work,
		LAPACKE_zheswapr,
		LAPACKE_zheswapr_work,
		LAPACKE_zhetrd,
		LAPACKE_zhetrd_work,
		LAPACKE_zhetrf,
		LAPACKE_zhetrf_work,
		LAPACKE_zhetri,
		LAPACKE_zhetri2,
		LAPACKE_zhetri2_work,
		LAPACKE_zhetri2x,
		LAPACKE_zhetri2x_work,
		LAPACKE_zhetri_work,
		LAPACKE_zhetrs,
		LAPACKE_zhetrs2,
		LAPACKE_zhetrs2_work,
		LAPACKE_zhetrs_work,
		LAPACKE_zhfrk,
		LAPACKE_zhfrk_work,
		LAPACKE_zhgeqz,
		LAPACKE_zhgeqz_work,
		LAPACKE_zhp_nancheck,
		LAPACKE_zhp_trans,
		LAPACKE_zhpcon,
		LAPACKE_zhpcon_work,
		LAPACKE_zhpev,
		LAPACKE_zhpev_work,
		LAPACKE_zhpevd,
		LAPACKE_zhpevd_work,
		LAPACKE_zhpevx,
		LAPACKE_zhpevx_work,
		LAPACKE_zhpgst,
		LAPACKE_zhpgst_work,
		LAPACKE_zhpgv,
		LAPACKE_zhpgv_work,
		LAPACKE_zhpgvd,
		LAPACKE_zhpgvd_work,
		LAPACKE_zhpgvx,
		LAPACKE_zhpgvx_work,
		LAPACKE_zhprfs,
		LAPACKE_zhprfs_work,
		LAPACKE_zhpsv,
		LAPACKE_zhpsv_work,
		LAPACKE_zhpsvx,
		LAPACKE_zhpsvx_work,
		LAPACKE_zhptrd,
		LAPACKE_zhptrd_work,
		LAPACKE_zhptrf,
		LAPACKE_zhptrf_work,
		LAPACKE_zhptri,
		LAPACKE_zhptri_work,
		LAPACKE_zhptrs,
		LAPACKE_zhptrs_work,
		LAPACKE_zhs_nancheck,
		LAPACKE_zhs_trans,
		LAPACKE_zhsein,
		LAPACKE_zhsein_work,
		LAPACKE_zhseqr,
		LAPACKE_zhseqr_work,
		LAPACKE_zlacgv,
		LAPACKE_zlacgv_work,
		LAPACKE_zlacpy,
		LAPACKE_zlacpy_work,
		LAPACKE_zlag2c,
		LAPACKE_zlag2c_work,
		LAPACKE_zlange,
		LAPACKE_zlange_work,
		LAPACKE_zlanhe,
		LAPACKE_zlanhe_work,
		LAPACKE_zlansy,
		LAPACKE_zlansy_work,
		LAPACKE_zlantr,
		LAPACKE_zlantr_work,
		LAPACKE_zlapmr,
		LAPACKE_zlapmr_work,
		LAPACKE_zlarfb,
		LAPACKE_zlarfb_work,
		LAPACKE_zlarfg,
		LAPACKE_zlarfg_work,
		LAPACKE_zlarft,
		LAPACKE_zlarft_work,
		LAPACKE_zlarfx,
		LAPACKE_zlarfx_work,
		LAPACKE_zlarnv,
		LAPACKE_zlarnv_work,
		LAPACKE_zlaset,
		LAPACKE_zlaset_work,
		LAPACKE_zlaswp,
		LAPACKE_zlaswp_work,
		LAPACKE_zlauum,
		LAPACKE_zlauum_work,
		LAPACKE_zpb_nancheck,
		LAPACKE_zpb_trans,
		LAPACKE_zpbcon,
		LAPACKE_zpbcon_work,
		LAPACKE_zpbequ,
		LAPACKE_zpbequ_work,
		LAPACKE_zpbrfs,
		LAPACKE_zpbrfs_work,
		LAPACKE_zpbstf,
		LAPACKE_zpbstf_work,
		LAPACKE_zpbsv,
		LAPACKE_zpbsv_work,
		LAPACKE_zpbsvx,
		LAPACKE_zpbsvx_work,
		LAPACKE_zpbtrf,
		LAPACKE_zpbtrf_work,
		LAPACKE_zpbtrs,
		LAPACKE_zpbtrs_work,
		LAPACKE_zpf_nancheck,
		LAPACKE_zpf_trans,
		LAPACKE_zpftrf,
		LAPACKE_zpftrf_work,
		LAPACKE_zpftri,
		LAPACKE_zpftri_work,
		LAPACKE_zpftrs,
		LAPACKE_zpftrs_work,
		LAPACKE_zpo_nancheck,
		LAPACKE_zpo_trans,
		LAPACKE_zpocon,
		LAPACKE_zpocon_work,
		LAPACKE_zpoequ,
		LAPACKE_zpoequ_work,
		LAPACKE_zpoequb,
		LAPACKE_zpoequb_work,
		LAPACKE_zporfs,
		LAPACKE_zporfs_work,
		LAPACKE_zposv,
		LAPACKE_zposv_work,
		LAPACKE_zposvx,
		LAPACKE_zposvx_work,
		LAPACKE_zpotrf,
		LAPACKE_zpotrf_work,
		LAPACKE_zpotri,
		LAPACKE_zpotri_work,
		LAPACKE_zpotrs,
		LAPACKE_zpotrs_work,
		LAPACKE_zpp_nancheck,
		LAPACKE_zpp_trans,
		LAPACKE_zppcon,
		LAPACKE_zppcon_work,
		LAPACKE_zppequ,
		LAPACKE_zppequ_work,
		LAPACKE_zpprfs,
		LAPACKE_zpprfs_work,
		LAPACKE_zppsv,
		LAPACKE_zppsv_work,
		LAPACKE_zppsvx,
		LAPACKE_zppsvx_work,
		LAPACKE_zpptrf,
		LAPACKE_zpptrf_work,
		LAPACKE_zpptri,
		LAPACKE_zpptri_work,
		LAPACKE_zpptrs,
		LAPACKE_zpptrs_work,
		LAPACKE_zpstrf,
		LAPACKE_zpstrf_work,
		LAPACKE_zpt_nancheck,
		LAPACKE_zptcon,
		LAPACKE_zptcon_work,
		LAPACKE_zpteqr,
		LAPACKE_zpteqr_work,
		LAPACKE_zptrfs,
		LAPACKE_zptrfs_work,
		LAPACKE_zptsv,
		LAPACKE_zptsv_work,
		LAPACKE_zptsvx,
		LAPACKE_zptsvx_work,
		LAPACKE_zpttrf,
		LAPACKE_zpttrf_work,
		LAPACKE_zpttrs,
		LAPACKE_zpttrs_work,
		LAPACKE_zsp_nancheck,
		LAPACKE_zsp_trans,
		LAPACKE_zspcon,
		LAPACKE_zspcon_work,
		LAPACKE_zsprfs,
		LAPACKE_zsprfs_work,
		LAPACKE_zspsv,
		LAPACKE_zspsv_work,
		LAPACKE_zspsvx,
		LAPACKE_zspsvx_work,
		LAPACKE_zsptrf,
		LAPACKE_zsptrf_work,
		LAPACKE_zsptri,
		LAPACKE_zsptri_work,
		LAPACKE_zsptrs,
		LAPACKE_zsptrs_work,
		LAPACKE_zst_nancheck,
		LAPACKE_zstedc,
		LAPACKE_zstedc_work,
		LAPACKE_zstegr,
		LAPACKE_zstegr_work,
		LAPACKE_zstein,
		LAPACKE_zstein_work,
		LAPACKE_zstemr,
		LAPACKE_zstemr_work,
		LAPACKE_zsteqr,
		LAPACKE_zsteqr_work,
		LAPACKE_zsy_nancheck,
		LAPACKE_zsy_trans,
		LAPACKE_zsycon,
		LAPACKE_zsycon_work,
		LAPACKE_zsyconv,
		LAPACKE_zsyconv_work,
		LAPACKE_zsyequb,
		LAPACKE_zsyequb_work,
		LAPACKE_zsyr,
		LAPACKE_zsyr_work,
		LAPACKE_zsyrfs,
		LAPACKE_zsyrfs_work,
		LAPACKE_zsysv,
		LAPACKE_zsysv_work,
		LAPACKE_zsysvx,
		LAPACKE_zsysvx_work,
		LAPACKE_zsyswapr,
		LAPACKE_zsyswapr_work,
		LAPACKE_zsytrf,
		LAPACKE_zsytrf_work,
		LAPACKE_zsytri,
		LAPACKE_zsytri2,
		LAPACKE_zsytri2_work,
		LAPACKE_zsytri2x,
		LAPACKE_zsytri2x_work,
		LAPACKE_zsytri_work,
		LAPACKE_zsytrs,
		LAPACKE_zsytrs2,
		LAPACKE_zsytrs2_work,
		LAPACKE_zsytrs_work,
		LAPACKE_ztb_nancheck,
		LAPACKE_ztb_trans,
		LAPACKE_ztbcon,
		LAPACKE_ztbcon_work,
		LAPACKE_ztbrfs,
		LAPACKE_ztbrfs_work,
		LAPACKE_ztbtrs,
		LAPACKE_ztbtrs_work,
		LAPACKE_ztf_nancheck,
		LAPACKE_ztf_trans,
		LAPACKE_ztfsm,
		LAPACKE_ztfsm_work,
		LAPACKE_ztftri,
		LAPACKE_ztftri_work,
		LAPACKE_ztfttp,
		LAPACKE_ztfttp_work,
		LAPACKE_ztfttr,
		LAPACKE_ztfttr_work,
		LAPACKE_ztgevc,
		LAPACKE_ztgevc_work,
		LAPACKE_ztgexc,
		LAPACKE_ztgexc_work,
		LAPACKE_ztgsen,
		LAPACKE_ztgsen_work,
		LAPACKE_ztgsja,
		LAPACKE_ztgsja_work,
		LAPACKE_ztgsna,
		LAPACKE_ztgsna_work,
		LAPACKE_ztgsyl,
		LAPACKE_ztgsyl_work,
		LAPACKE_ztp_nancheck,
		LAPACKE_ztp_trans,
		LAPACKE_ztpcon,
		LAPACKE_ztpcon_work,
		LAPACKE_ztpmqrt,
		LAPACKE_ztpmqrt_work,
		LAPACKE_ztpqrt,
		LAPACKE_ztpqrt2,
		LAPACKE_ztpqrt2_work,
		LAPACKE_ztpqrt_work,
		LAPACKE_ztprfb,
		LAPACKE_ztprfb_work,
		LAPACKE_ztprfs,
		LAPACKE_ztprfs_work,
		LAPACKE_ztptri,
		LAPACKE_ztptri_work,
		LAPACKE_ztptrs,
		LAPACKE_ztptrs_work,
		LAPACKE_ztpttf,
		LAPACKE_ztpttf_work,
		LAPACKE_ztpttr,
		LAPACKE_ztpttr_work,
		LAPACKE_ztr_nancheck,
		LAPACKE_ztr_trans,
		LAPACKE_ztrcon,
		LAPACKE_ztrcon_work,
		LAPACKE_ztrevc,
		LAPACKE_ztrevc_work,
		LAPACKE_ztrexc,
		LAPACKE_ztrexc_work,
		LAPACKE_ztrrfs,
		LAPACKE_ztrrfs_work,
		LAPACKE_ztrsen,
		LAPACKE_ztrsen_work,
		LAPACKE_ztrsna,
		LAPACKE_ztrsna_work,
		LAPACKE_ztrsyl,
		LAPACKE_ztrsyl_work,
		LAPACKE_ztrtri,
		LAPACKE_ztrtri_work,
		LAPACKE_ztrtrs,
		LAPACKE_ztrtrs_work,
		LAPACKE_ztrttf,
		LAPACKE_ztrttf_work,
		LAPACKE_ztrttp,
		LAPACKE_ztrttp_work,
		LAPACKE_ztzrzf,
		LAPACKE_ztzrzf_work,
		LAPACKE_zunbdb,
		LAPACKE_zunbdb_work,
		LAPACKE_zuncsd,
		LAPACKE_zuncsd_work,
		LAPACKE_zungbr,
		LAPACKE_zungbr_work,
		LAPACKE_zunghr,
		LAPACKE_zunghr_work,
		LAPACKE_zunglq,
		LAPACKE_zunglq_work,
		LAPACKE_zungql,
		LAPACKE_zungql_work,
		LAPACKE_zungqr,
		LAPACKE_zungqr_work,
		LAPACKE_zungrq,
		LAPACKE_zungrq_work,
		LAPACKE_zungtr,
		LAPACKE_zungtr_work,
		LAPACKE_zunmbr,
		LAPACKE_zunmbr_work,
		LAPACKE_zunmhr,
		LAPACKE_zunmhr_work,
		LAPACKE_zunmlq,
		LAPACKE_zunmlq_work,
		LAPACKE_zunmql,
		LAPACKE_zunmql_work,
		LAPACKE_zunmqr,
		LAPACKE_zunmqr_work,
		LAPACKE_zunmrq,
		LAPACKE_zunmrq_work,
		LAPACKE_zunmrz,
		LAPACKE_zunmrz_work,
		LAPACKE_zunmtr,
		LAPACKE_zunmtr_work,
		LAPACKE_zupgtr,
		LAPACKE_zupgtr_work,
		LAPACKE_zupmtr,
		LAPACKE_zupmtr_work,
		);

if ($ARGV[5] == 1) {
	#NO_LAPACK=1
	@underscore_objs = (@blasobjs);
} elsif (-d "../lapack-3.1.1" || -d "../lapack-3.4.0" || -d "../lapack-3.4.1") {
    @underscore_objs = (@blasobjs, @lapackobjs, @lapackobjs2);
} else {
    @underscore_objs = (@blasobjs, @lapackobjs);
}

if ($ARGV[3] == 1){ @underscore_objs = (@underscore_objs, @exblasobjs); };

if ($ARGV[1] eq "X86_64"){ @underscore_objs = (@underscore_objs, @gemm3mobjs); };

if ($ARGV[1] eq "x86"){ @underscore_objs = (@underscore_objs, @gemm3mobjs); };

if ($ARGV[1] eq "ia64"){ @underscore_objs = (@underscore_objs, @gemm3mobjs); };

if ($ARGV[1] eq "MIPS"){ @underscore_objs = (@underscore_objs, @gemm3mobjs); };

if ($ARGV[4] == 0) {
    @no_underscore_objs = (@cblasobjs);
}else{
    #NO_CBLAS=1
    @no_underscore_objs = ();
}
if ($ARGV[6] == 1) {
    #NO_LAPACKE=1
    @no_underscore_objs = (@no_underscore_objs);
} else {
    @no_underscore_objs = (@no_underscore_objs, @lapackeobjs);
}

@linuxobjs = ('__strtol_internal', 'exit', 'free', 'getenv', 'malloc',
	      'mmap', 'printf', 'sqrt',
	      'pthread_cond_broadcast', 'pthread_cond_destroy',
	      'pthread_cond_init', 'pthread_cond_signal', 'pthread_cond_wait',
	      'pthread_create', 'pthread_exit', 'pthread_join',
	      'pthread_mutex_destroy', 'pthread_mutex_init',
	      'pthread_mutex_lock', 'pthread_mutex_unlock');

@hplobjs  = (daxpy, dcopy, dscal, idamax, dgemv, dtrsv, dger, dgemm, dtrsm);
@hplobjs2 = (HPL_dlaswp00N, HPL_dlaswp01N, HPL_dlaswp01T); 

$bu = $ARGV[2];

$bu = "" if (($bu eq "0") || ($bu eq "1"));

if ($ARGV[0] eq "linux"){
    foreach $objs (@underscore_objs) {
	print $objs, $bu, "\n";
    }

#    if ($ARGV[4] == 0) {
	foreach $objs (@no_underscore_objs) {
	    print $objs, "\n";
	}
#    }

    foreach $objs (@linuxobjs) {
	print $objs, "\n";
    }
    exit(0);
} 

if ($ARGV[0] eq "osx"){
    foreach $objs (@underscore_objs) {
	print "_", $objs, $bu, "\n";
    }

#    if ($ARGV[4] == 0) {
	foreach $objs (@no_underscore_objs) {
	    print "_", $objs, "\n";
	}
#    }
    exit(0);
} 

if ($ARGV[0] eq "aix"){
    foreach $objs (@underscore_objs) {
	print $objs, $bu, "\n";
    }

#    if ($ARGV[4] == 0) {
	foreach $objs (@no_underscore_objs) {
	    print $objs, "\n";
	}
#    }
    exit(0);
} 

if ($ARGV[0] eq "win2k"){
    print "EXPORTS\n";
    $count = 1;    
    foreach $objs (@underscore_objs) {
	$uppercase = $objs;
	$uppercase =~ tr/[a-z]/[A-Z]/;
   	print "\t$objs=$objs","_  \@", $count, "\n";
	$count ++;
   	print "\t",$objs, "_=$objs","_  \@", $count, "\n";
	$count ++;
	print "\t$uppercase=$objs", "_  \@", $count, "\n";
	$count ++;
    }

#	if ($ARGV[4] == 0) {
		foreach $objs (@no_underscore_objs) {
			print "\t",$objs,"=$objs","  \@", $count, "\n";
			$count ++;
		}
#    }
	
    exit(0);
}

if ($ARGV[0] eq "win2khpl"){
    print "EXPORTS\n";
    $count = 1;    
    foreach $objs (@hplobjs) {
	$uppercase = $objs;
	$uppercase =~ tr/[a-z]/[A-Z]/;
   	print "\t$objs=$objs","_  \@", $count, "\n";
	$count ++;
   	print "\t",$objs, "_=$objs","_  \@", $count, "\n";
	$count ++;
	print "\t$uppercase=$objs", "_  \@", $count, "\n";
	$count ++;
    }

#    foreach $objs (@hplobjs2) {
#   	print "\t$objs=$objs","  \@", $count, "\n";
#	$count ++;
#    }

    exit(0);
}

if ($ARGV[0] eq "microsoft"){
    print "EXPORTS\n";
    $count = 1;    
    foreach $objs (@underscore_objs) {
	$uppercase = $objs;
	$uppercase =~ tr/[a-z]/[A-Z]/;
   	print "\t$objs = $objs","_\n";
	$count ++;
   	print "\t$objs\_ = $objs","_\n";
	$count ++;
   	print "\t$uppercase = $objs","_\n";
	$count ++;
   	print "\t$uppercase\_ = $objs","_\n";
	$count ++;
    }
    exit(0);
}

if ($ARGV[0] eq "win2kasm"){
    print "\t.text\n";
    foreach $objs (@underscore_objs) {
	$uppercase = $objs;
	$uppercase =~ tr/[a-z]/[A-Z]/;
	print "\t.align 16\n";
	print "\t.globl _", $uppercase, "_\n";
	print "_", $uppercase, "_:\n";
	print "\tjmp\t_", $objs, "_\n";
    }
    exit(0);
}

if ($ARGV[0] eq "linktest"){
    print "int main(void){\n";
    foreach $objs (@underscore_objs) {
	print $objs, $bu, "();\n" if $objs ne "xerbla";
    }
#    if ($ARGV[4] == 0) {
	foreach $objs (@no_underscore_objs) {
	print $objs, "();\n";
	}
#    }




    print "return 0;}\n";
    exit(0);
}