/*******************************************************************************
* Copyright 1999-2022 Intel Corporation.
*
* This software and the related documents are Intel copyrighted  materials,  and
* your use of  them is  governed by the  express license  under which  they were
* provided to you (License).  Unless the License provides otherwise, you may not
* use, modify, copy, publish, distribute,  disclose or transmit this software or
* the related documents without Intel's prior written permission.
*
* This software and the related documents  are provided as  is,  with no express
* or implied  warranties,  other  than those  that are  expressly stated  in the
* License.
*******************************************************************************/

/*
!  Content:
!      Intel(R) oneAPI Math Kernel Library (oneMKL) interface for LAPACK routines
!******************************************************************************/

#ifndef _MKL_LAPACK_H_
#define _MKL_LAPACK_H_

#include "mkl_types.h"

#ifdef __cplusplus
extern "C" {
#if __cplusplus > 199711L
#define NOTHROW noexcept
#else
#define NOTHROW throw()
#endif
#else
#define NOTHROW
#endif /* __cplusplus */

/* LAPACK specific types */

typedef MKL_INT (*MKL_C_SELECT_FUNCTION_1) ( const MKL_Complex8* );
typedef MKL_INT (*MKL_C_SELECT_FUNCTION_2) ( const MKL_Complex8*, const MKL_Complex8* );
typedef MKL_INT (*MKL_D_SELECT_FUNCTION_2) ( const double*, const double* );
typedef MKL_INT (*MKL_D_SELECT_FUNCTION_3) ( const double*, const double*, const double* );
typedef MKL_INT (*MKL_S_SELECT_FUNCTION_2) ( const float*, const float* );
typedef MKL_INT (*MKL_S_SELECT_FUNCTION_3) ( const float*, const float*, const float* );
typedef MKL_INT (*MKL_Z_SELECT_FUNCTION_1) ( const MKL_Complex16* );
typedef MKL_INT (*MKL_Z_SELECT_FUNCTION_2) ( const MKL_Complex16*, const MKL_Complex16* );

void CGESVDQ( const char* joba, const char* jobp, const char* jobr, const char* jobu, const char* jobv, const MKL_INT* m, const MKL_INT* n, MKL_Complex8* a, const MKL_INT* lda, float* s, MKL_Complex8* u, const MKL_INT* ldu, MKL_Complex8* v, const MKL_INT* ldv, MKL_INT* numrank, MKL_INT* iwork, const MKL_INT* liwork, MKL_Complex8* cwork, MKL_INT* lcwork, float* rwork, const MKL_INT* lrwork, MKL_INT* info );
void CGESVDQ_( const char* joba, const char* jobp, const char* jobr, const char* jobu, const char* jobv, const MKL_INT* m, const MKL_INT* n, MKL_Complex8* a, const MKL_INT* lda, float* s, MKL_Complex8* u, const MKL_INT* ldu, MKL_Complex8* v, const MKL_INT* ldv, MKL_INT* numrank, MKL_INT* iwork, const MKL_INT* liwork, MKL_Complex8* cwork, MKL_INT* lcwork, float* rwork, const MKL_INT* lrwork, MKL_INT* info );
void cgesvdq( const char* joba, const char* jobp, const char* jobr, const char* jobu, const char* jobv, const MKL_INT* m, const MKL_INT* n, MKL_Complex8* a, const MKL_INT* lda, float* s, MKL_Complex8* u, const MKL_INT* ldu, MKL_Complex8* v, const MKL_INT* ldv, MKL_INT* numrank, MKL_INT* iwork, const MKL_INT* liwork, MKL_Complex8* cwork, MKL_INT* lcwork, float* rwork, const MKL_INT* lrwork, MKL_INT* info );
void cgesvdq_( const char* joba, const char* jobp, const char* jobr, const char* jobu, const char* jobv, const MKL_INT* m, const MKL_INT* n, MKL_Complex8* a, const MKL_INT* lda, float* s, MKL_Complex8* u, const MKL_INT* ldu, MKL_Complex8* v, const MKL_INT* ldv, MKL_INT* numrank, MKL_INT* iwork, const MKL_INT* liwork, MKL_Complex8* cwork, MKL_INT* lcwork, float* rwork, const MKL_INT* lrwork, MKL_INT* info );

void DGESVDQ( const char* joba, const char* jobp, const char* jobr, const char* jobu, const char* jobv, const MKL_INT* m, const MKL_INT* n, double* a, const MKL_INT* lda, double* s, double* u, const MKL_INT* ldu, double* v, const MKL_INT* ldv, MKL_INT* numrank, MKL_INT* iwork, const MKL_INT* liwork, double* work, MKL_INT* lwork, double* rwork, const MKL_INT* lrwork, MKL_INT* info );
void DGESVDQ_( const char* joba, const char* jobp, const char* jobr, const char* jobu, const char* jobv, const MKL_INT* m, const MKL_INT* n, double* a, const MKL_INT* lda, double* s, double* u, const MKL_INT* ldu, double* v, const MKL_INT* ldv, MKL_INT* numrank, MKL_INT* iwork, const MKL_INT* liwork, double* work, MKL_INT* lwork, double* rwork, const MKL_INT* lrwork, MKL_INT* info );
void dgesvdq( const char* joba, const char* jobp, const char* jobr, const char* jobu, const char* jobv, const MKL_INT* m, const MKL_INT* n, double* a, const MKL_INT* lda, double* s, double* u, const MKL_INT* ldu, double* v, const MKL_INT* ldv, MKL_INT* numrank, MKL_INT* iwork, const MKL_INT* liwork, double* work, MKL_INT* lwork, double* rwork, const MKL_INT* lrwork, MKL_INT* info );
void dgesvdq_( const char* joba, const char* jobp, const char* jobr, const char* jobu, const char* jobv, const MKL_INT* m, const MKL_INT* n, double* a, const MKL_INT* lda, double* s, double* u, const MKL_INT* ldu, double* v, const MKL_INT* ldv, MKL_INT* numrank, MKL_INT* iwork, const MKL_INT* liwork, double* work, MKL_INT* lwork, double* rwork, const MKL_INT* lrwork, MKL_INT* info );

void SGESVDQ( const char* joba, const char* jobp, const char* jobr, const char* jobu, const char* jobv, const MKL_INT* m, const MKL_INT* n, float* a, const MKL_INT* lda, float* s, float* u, const MKL_INT* ldu, float* v, const MKL_INT* ldv, MKL_INT* numrank, MKL_INT* iwork, const MKL_INT* liwork, float* work, MKL_INT* lwork, float* rwork, const MKL_INT* lrwork, MKL_INT* info );
void SGESVDQ_( const char* joba, const char* jobp, const char* jobr, const char* jobu, const char* jobv, const MKL_INT* m, const MKL_INT* n, float* a, const MKL_INT* lda, float* s, float* u, const MKL_INT* ldu, float* v, const MKL_INT* ldv, MKL_INT* numrank, MKL_INT* iwork, const MKL_INT* liwork, float* work, MKL_INT* lwork, float* rwork, const MKL_INT* lrwork, MKL_INT* info );
void sgesvdq( const char* joba, const char* jobp, const char* jobr, const char* jobu, const char* jobv, const MKL_INT* m, const MKL_INT* n, float* a, const MKL_INT* lda, float* s, float* u, const MKL_INT* ldu, float* v, const MKL_INT* ldv, MKL_INT* numrank, MKL_INT* iwork, const MKL_INT* liwork, float* work, MKL_INT* lwork, float* rwork, const MKL_INT* lrwork, MKL_INT* info );
void sgesvdq_( const char* joba, const char* jobp, const char* jobr, const char* jobu, const char* jobv, const MKL_INT* m, const MKL_INT* n, float* a, const MKL_INT* lda, float* s, float* u, const MKL_INT* ldu, float* v, const MKL_INT* ldv, MKL_INT* numrank, MKL_INT* iwork, const MKL_INT* liwork, float* work, MKL_INT* lwork, float* rwork, const MKL_INT* lrwork, MKL_INT* info );

void ZGESVDQ( const char* joba, const char* jobp, const char* jobr, const char* jobu, const char* jobv, const MKL_INT* m, const MKL_INT* n, MKL_Complex16* a, const MKL_INT* lda, double* s, MKL_Complex16* u, const MKL_INT* ldu, MKL_Complex16* v, const MKL_INT* ldv, MKL_INT* numrank, MKL_INT* iwork, const MKL_INT* liwork, MKL_Complex16* cwork, MKL_INT* lcwork, double* rwork, const MKL_INT* lrwork, MKL_INT* info );
void ZGESVDQ_( const char* joba, const char* jobp, const char* jobr, const char* jobu, const char* jobv, const MKL_INT* m, const MKL_INT* n, MKL_Complex16* a, const MKL_INT* lda, double* s, MKL_Complex16* u, const MKL_INT* ldu, MKL_Complex16* v, const MKL_INT* ldv, MKL_INT* numrank, MKL_INT* iwork, const MKL_INT* liwork, MKL_Complex16* cwork, MKL_INT* lcwork, double* rwork, const MKL_INT* lrwork, MKL_INT* info );
void zgesvdq( const char* joba, const char* jobp, const char* jobr, const char* jobu, const char* jobv, const MKL_INT* m, const MKL_INT* n, MKL_Complex16* a, const MKL_INT* lda, double* s, MKL_Complex16* u, const MKL_INT* ldu, MKL_Complex16* v, const MKL_INT* ldv, MKL_INT* numrank, MKL_INT* iwork, const MKL_INT* liwork, MKL_Complex16* cwork, MKL_INT* lcwork, double* rwork, const MKL_INT* lrwork, MKL_INT* info );
void zgesvdq_( const char* joba, const char* jobp, const char* jobr, const char* jobu, const char* jobv, const MKL_INT* m, const MKL_INT* n, MKL_Complex16* a, const MKL_INT* lda, double* s, MKL_Complex16* u, const MKL_INT* ldu, MKL_Complex16* v, const MKL_INT* ldv, MKL_INT* numrank, MKL_INT* iwork, const MKL_INT* liwork, MKL_Complex16* cwork, MKL_INT* lcwork, double* rwork, const MKL_INT* lrwork, MKL_INT* info );

void CLAUNHR_COL_GETRFNP2( const MKL_INT* m, const MKL_INT* n, MKL_Complex8* a, const MKL_INT* lda, MKL_Complex8* d, MKL_INT* info );
void CLAUNHR_COL_GETRFNP2_( const MKL_INT* m, const MKL_INT* n, MKL_Complex8* a, const MKL_INT* lda, MKL_Complex8* d, MKL_INT* info );
void claunhr_col_getrfnp2( const MKL_INT* m, const MKL_INT* n, MKL_Complex8* a, const MKL_INT* lda, MKL_Complex8* d, MKL_INT* info );
void claunhr_col_getrfnp2_( const MKL_INT* m, const MKL_INT* n, MKL_Complex8* a, const MKL_INT* lda, MKL_Complex8* d, MKL_INT* info );

void CLAUNHR_COL_GETRFNP( const MKL_INT* m, const MKL_INT* n, MKL_Complex8* a, const MKL_INT* lda, MKL_Complex8* d, MKL_INT* info );
void CLAUNHR_COL_GETRFNP_( const MKL_INT* m, const MKL_INT* n, MKL_Complex8* a, const MKL_INT* lda, MKL_Complex8* d, MKL_INT* info );
void claunhr_col_getrfnp( const MKL_INT* m, const MKL_INT* n, MKL_Complex8* a, const MKL_INT* lda, MKL_Complex8* d, MKL_INT* info );
void claunhr_col_getrfnp_( const MKL_INT* m, const MKL_INT* n, MKL_Complex8* a, const MKL_INT* lda, MKL_Complex8* d, MKL_INT* info );

void DLAORHR_COL_GETRFNP2( const MKL_INT* m, const MKL_INT* n, double* a, const MKL_INT* lda, double* d, MKL_INT* info );
void DLAORHR_COL_GETRFNP2_( const MKL_INT* m, const MKL_INT* n, double* a, const MKL_INT* lda, double* d, MKL_INT* info );
void dlaorhr_col_getrfnp2( const MKL_INT* m, const MKL_INT* n, double* a, const MKL_INT* lda, double* d, MKL_INT* info );
void dlaorhr_col_getrfnp2_( const MKL_INT* m, const MKL_INT* n, double* a, const MKL_INT* lda, double* d, MKL_INT* info );

void DLAORHR_COL_GETRFNP( const MKL_INT* m, const MKL_INT* n, double* a, const MKL_INT* lda, double* d, MKL_INT* info );
void DLAORHR_COL_GETRFNP_( const MKL_INT* m, const MKL_INT* n, double* a, const MKL_INT* lda, double* d, MKL_INT* info );
void dlaorhr_col_getrfnp( const MKL_INT* m, const MKL_INT* n, double* a, const MKL_INT* lda, double* d, MKL_INT* info );
void dlaorhr_col_getrfnp_( const MKL_INT* m, const MKL_INT* n, double* a, const MKL_INT* lda, double* d, MKL_INT* info );

void SLAORHR_COL_GETRFNP2( const MKL_INT* m, const MKL_INT* n, float* a, const MKL_INT* lda, float* d, MKL_INT* info );
void SLAORHR_COL_GETRFNP2_( const MKL_INT* m, const MKL_INT* n, float* a, const MKL_INT* lda, float* d, MKL_INT* info );
void slaorhr_col_getrfnp2( const MKL_INT* m, const MKL_INT* n, float* a, const MKL_INT* lda, float* d, MKL_INT* info );
void slaorhr_col_getrfnp2_( const MKL_INT* m, const MKL_INT* n, float* a, const MKL_INT* lda, float* d, MKL_INT* info );

void SLAORHR_COL_GETRFNP( const MKL_INT* m, const MKL_INT* n, float* a, const MKL_INT* lda, float* d, MKL_INT* info );
void SLAORHR_COL_GETRFNP_( const MKL_INT* m, const MKL_INT* n, float* a, const MKL_INT* lda, float* d, MKL_INT* info );
void slaorhr_col_getrfnp( const MKL_INT* m, const MKL_INT* n, float* a, const MKL_INT* lda, float* d, MKL_INT* info );
void slaorhr_col_getrfnp_( const MKL_INT* m, const MKL_INT* n, float* a, const MKL_INT* lda, float* d, MKL_INT* info );

void ZLAUNHR_COL_GETRFNP2( const MKL_INT* m, const MKL_INT* n, MKL_Complex16* a, const MKL_INT* lda, MKL_Complex16* d, MKL_INT* info );
void ZLAUNHR_COL_GETRFNP2_( const MKL_INT* m, const MKL_INT* n, MKL_Complex16* a, const MKL_INT* lda, MKL_Complex16* d, MKL_INT* info );
void zlaunhr_col_getrfnp2( const MKL_INT* m, const MKL_INT* n, MKL_Complex16* a, const MKL_INT* lda, MKL_Complex16* d, MKL_INT* info );
void zlaunhr_col_getrfnp2_( const MKL_INT* m, const MKL_INT* n, MKL_Complex16* a, const MKL_INT* lda, MKL_Complex16* d, MKL_INT* info );

void ZLAUNHR_COL_GETRFNP( const MKL_INT* m, const MKL_INT* n, MKL_Complex16* a, const MKL_INT* lda, MKL_Complex16* d, MKL_INT* info );
void ZLAUNHR_COL_GETRFNP_( const MKL_INT* m, const MKL_INT* n, MKL_Complex16* a, const MKL_INT* lda, MKL_Complex16* d, MKL_INT* info );
void zlaunhr_col_getrfnp( const MKL_INT* m, const MKL_INT* n, MKL_Complex16* a, const MKL_INT* lda, MKL_Complex16* d, MKL_INT* info );
void zlaunhr_col_getrfnp_( const MKL_INT* m, const MKL_INT* n, MKL_Complex16* a, const MKL_INT* lda, MKL_Complex16* d, MKL_INT* info );

void CUNGTSQR( const MKL_INT* m, const MKL_INT* n, const MKL_INT* mb, const MKL_INT* nb, MKL_Complex8* a, const MKL_INT* lda, const MKL_Complex8* t, const MKL_INT* ldt, MKL_Complex8* work, const MKL_INT* lwork, MKL_INT* info );
void CUNGTSQR_( const MKL_INT* m, const MKL_INT* n, const MKL_INT* mb, const MKL_INT* nb, MKL_Complex8* a, const MKL_INT* lda, const MKL_Complex8* t, const MKL_INT* ldt, MKL_Complex8* work, const MKL_INT* lwork, MKL_INT* info );
void cungtsqr( const MKL_INT* m, const MKL_INT* n, const MKL_INT* mb, const MKL_INT* nb, MKL_Complex8* a, const MKL_INT* lda, const MKL_Complex8* t, const MKL_INT* ldt, MKL_Complex8* work, const MKL_INT* lwork, MKL_INT* info );
void cungtsqr_( const MKL_INT* m, const MKL_INT* n, const MKL_INT* mb, const MKL_INT* nb, MKL_Complex8* a, const MKL_INT* lda, const MKL_Complex8* t, const MKL_INT* ldt, MKL_Complex8* work, const MKL_INT* lwork, MKL_INT* info );

void CUNHR_COL( const MKL_INT* m, const MKL_INT* n, const MKL_INT* nb, MKL_Complex8* a, const MKL_INT* lda, MKL_Complex8* t, const MKL_INT* ldt, MKL_Complex8* d, MKL_INT* info );
void CUNHR_COL_( const MKL_INT* m, const MKL_INT* n, const MKL_INT* nb, MKL_Complex8* a, const MKL_INT* lda, MKL_Complex8* t, const MKL_INT* ldt, MKL_Complex8* d, MKL_INT* info );
void cunhr_col( const MKL_INT* m, const MKL_INT* n, const MKL_INT* nb, MKL_Complex8* a, const MKL_INT* lda, MKL_Complex8* t, const MKL_INT* ldt, MKL_Complex8* d, MKL_INT* info );
void cunhr_col_( const MKL_INT* m, const MKL_INT* n, const MKL_INT* nb, MKL_Complex8* a, const MKL_INT* lda, MKL_Complex8* t, const MKL_INT* ldt, MKL_Complex8* d, MKL_INT* info );

void DORGTSQR( const MKL_INT* m, const MKL_INT* n, const MKL_INT* mb, const MKL_INT* nb, double* a, const MKL_INT* lda, const double* t, const MKL_INT* ldt, double* work, const MKL_INT* lwork, MKL_INT* info );
void DORGTSQR_( const MKL_INT* m, const MKL_INT* n, const MKL_INT* mb, const MKL_INT* nb, double* a, const MKL_INT* lda, const double* t, const MKL_INT* ldt, double* work, const MKL_INT* lwork, MKL_INT* info );
void dorgtsqr( const MKL_INT* m, const MKL_INT* n, const MKL_INT* mb, const MKL_INT* nb, double* a, const MKL_INT* lda, const double* t, const MKL_INT* ldt, double* work, const MKL_INT* lwork, MKL_INT* info );
void dorgtsqr_( const MKL_INT* m, const MKL_INT* n, const MKL_INT* mb, const MKL_INT* nb, double* a, const MKL_INT* lda, const double* t, const MKL_INT* ldt, double* work, const MKL_INT* lwork, MKL_INT* info );

void DORHR_COL( const MKL_INT* m, const MKL_INT* n, const MKL_INT* nb, double* a, const MKL_INT* lda, double* t, const MKL_INT* ldt, double* d, MKL_INT* info );
void DORHR_COL_( const MKL_INT* m, const MKL_INT* n, const MKL_INT* nb, double* a, const MKL_INT* lda, double* t, const MKL_INT* ldt, double* d, MKL_INT* info );
void dorhr_col( const MKL_INT* m, const MKL_INT* n, const MKL_INT* nb, double* a, const MKL_INT* lda, double* t, const MKL_INT* ldt, double* d, MKL_INT* info );
void dorhr_col_( const MKL_INT* m, const MKL_INT* n, const MKL_INT* nb, double* a, const MKL_INT* lda, double* t, const MKL_INT* ldt, double* d, MKL_INT* info );

void SORGTSQR( const MKL_INT* m, const MKL_INT* n, const MKL_INT* mb, const MKL_INT* nb, float* a, const MKL_INT* lda, const float* t, const MKL_INT* ldt, float* work, const MKL_INT* lwork, MKL_INT* info );
void SORGTSQR_( const MKL_INT* m, const MKL_INT* n, const MKL_INT* mb, const MKL_INT* nb, float* a, const MKL_INT* lda, const float* t, const MKL_INT* ldt, float* work, const MKL_INT* lwork, MKL_INT* info );
void sorgtsqr( const MKL_INT* m, const MKL_INT* n, const MKL_INT* mb, const MKL_INT* nb, float* a, const MKL_INT* lda, const float* t, const MKL_INT* ldt, float* work, const MKL_INT* lwork, MKL_INT* info );
void sorgtsqr_( const MKL_INT* m, const MKL_INT* n, const MKL_INT* mb, const MKL_INT* nb, float* a, const MKL_INT* lda, const float* t, const MKL_INT* ldt, float* work, const MKL_INT* lwork, MKL_INT* info );

void SORHR_COL( const MKL_INT* m, const MKL_INT* n, const MKL_INT* nb, float* a, const MKL_INT* lda, float* t, const MKL_INT* ldt, float* d, MKL_INT* info );
void SORHR_COL_( const MKL_INT* m, const MKL_INT* n, const MKL_INT* nb, float* a, const MKL_INT* lda, float* t, const MKL_INT* ldt, float* d, MKL_INT* info );
void sorhr_col( const MKL_INT* m, const MKL_INT* n, const MKL_INT* nb, float* a, const MKL_INT* lda, float* t, const MKL_INT* ldt, float* d, MKL_INT* info );
void sorhr_col_( const MKL_INT* m, const MKL_INT* n, const MKL_INT* nb, float* a, const MKL_INT* lda, float* t, const MKL_INT* ldt, float* d, MKL_INT* info );

void ZUNGTSQR( const MKL_INT* m, const MKL_INT* n, const MKL_INT* mb, const MKL_INT* nb, MKL_Complex16* a, const MKL_INT* lda, const MKL_Complex16* t, const MKL_INT* ldt, MKL_Complex16* work, const MKL_INT* lwork, MKL_INT* info );
void ZUNGTSQR_( const MKL_INT* m, const MKL_INT* n, const MKL_INT* mb, const MKL_INT* nb, MKL_Complex16* a, const MKL_INT* lda, const MKL_Complex16* t, const MKL_INT* ldt, MKL_Complex16* work, const MKL_INT* lwork, MKL_INT* info );
void zungtsqr( const MKL_INT* m, const MKL_INT* n, const MKL_INT* mb, const MKL_INT* nb, MKL_Complex16* a, const MKL_INT* lda, const MKL_Complex16* t, const MKL_INT* ldt, MKL_Complex16* work, const MKL_INT* lwork, MKL_INT* info );
void zungtsqr_( const MKL_INT* m, const MKL_INT* n, const MKL_INT* mb, const MKL_INT* nb, MKL_Complex16* a, const MKL_INT* lda, const MKL_Complex16* t, const MKL_INT* ldt, MKL_Complex16* work, const MKL_INT* lwork, MKL_INT* info );

void ZUNHR_COL( const MKL_INT* m, const MKL_INT* n, const MKL_INT* nb, MKL_Complex16* a, const MKL_INT* lda, MKL_Complex16* t, const MKL_INT* ldt, MKL_Complex16* d, MKL_INT* info );
void ZUNHR_COL_( const MKL_INT* m, const MKL_INT* n, const MKL_INT* nb, MKL_Complex16* a, const MKL_INT* lda, MKL_Complex16* t, const MKL_INT* ldt, MKL_Complex16* d, MKL_INT* info );
void zunhr_col( const MKL_INT* m, const MKL_INT* n, const MKL_INT* nb, MKL_Complex16* a, const MKL_INT* lda, MKL_Complex16* t, const MKL_INT* ldt, MKL_Complex16* d, MKL_INT* info );
void zunhr_col_( const MKL_INT* m, const MKL_INT* n, const MKL_INT* nb, MKL_Complex16* a, const MKL_INT* lda, MKL_Complex16* t, const MKL_INT* ldt, MKL_Complex16* d, MKL_INT* info );

void SGETSQRHRT(const MKL_INT* m,  const MKL_INT* n, const MKL_INT* mb1, const MKL_INT* nb1, const MKL_INT* nb2, float* a, const MKL_INT* lda, float* t, const MKL_INT* ldt, float* work, const MKL_INT* lwork, MKL_INT* info) NOTHROW;
void SGETSQRHRT_(const MKL_INT* m,  const MKL_INT* n, const MKL_INT* mb1, const MKL_INT* nb1, const MKL_INT* nb2, float* a, const MKL_INT* lda, float* t, const MKL_INT* ldt, float* work, const MKL_INT* lwork, MKL_INT* info) NOTHROW;
void sgetsqrhrt(const MKL_INT* m,  const MKL_INT* n, const MKL_INT* mb1, const MKL_INT* nb1, const MKL_INT* nb2, float* a, const MKL_INT* lda, float* t, const MKL_INT* ldt, float* work, const MKL_INT* lwork, MKL_INT* info) NOTHROW;
void sgetsqrhrt_(const MKL_INT* m,  const MKL_INT* n, const MKL_INT* mb1, const MKL_INT* nb1, const MKL_INT* nb2, float* a, const MKL_INT* lda, float* t, const MKL_INT* ldt, float* work, const MKL_INT* lwork, MKL_INT* info) NOTHROW;

void DGETSQRHRT(const MKL_INT* m,  const MKL_INT* n, const MKL_INT* mb1, const MKL_INT* nb1, const MKL_INT* nb2, double* a, const MKL_INT* lda, double* t, const MKL_INT* ldt, double* work, const MKL_INT* lwork, MKL_INT* info) NOTHROW;
void DGETSQRHRT_(const MKL_INT* m,  const MKL_INT* n, const MKL_INT* mb1, const MKL_INT* nb1, const MKL_INT* nb2, double* a, const MKL_INT* lda, double* t, const MKL_INT* ldt, double* work, const MKL_INT* lwork, MKL_INT* info) NOTHROW;
void dgetsqrhrt(const MKL_INT* m,  const MKL_INT* n, const MKL_INT* mb1, const MKL_INT* nb1, const MKL_INT* nb2, double* a, const MKL_INT* lda, double* t, const MKL_INT* ldt, double* work, const MKL_INT* lwork, MKL_INT* info) NOTHROW;
void dgetsqrhrt_(const MKL_INT* m,  const MKL_INT* n, const MKL_INT* mb1, const MKL_INT* nb1, const MKL_INT* nb2, double* a, const MKL_INT* lda, double* t, const MKL_INT* ldt, double* work, const MKL_INT* lwork, MKL_INT* info) NOTHROW;

void CGETSQRHRT(const MKL_INT* m,  const MKL_INT* n, const MKL_INT* mb1, const MKL_INT* nb1, const MKL_INT* nb2, MKL_Complex8* a, const MKL_INT* lda, MKL_Complex8* t, const MKL_INT* ldt, MKL_Complex8* work, const MKL_INT* lwork, MKL_INT* info) NOTHROW;
void CGETSQRHRT_(const MKL_INT* m,  const MKL_INT* n, const MKL_INT* mb1, const MKL_INT* nb1, const MKL_INT* nb2, MKL_Complex8* a, const MKL_INT* lda, MKL_Complex8* t, const MKL_INT* ldt, MKL_Complex8* work, const MKL_INT* lwork, MKL_INT* info) NOTHROW;
void cgetsqrhrt(const MKL_INT* m,  const MKL_INT* n, const MKL_INT* mb1, const MKL_INT* nb1, const MKL_INT* nb2, MKL_Complex8* a, const MKL_INT* lda, MKL_Complex8* t, const MKL_INT* ldt, MKL_Complex8* work, const MKL_INT* lwork, MKL_INT* info) NOTHROW;
void cgetsqrhrt_(const MKL_INT* m,  const MKL_INT* n, const MKL_INT* mb1, const MKL_INT* nb1, const MKL_INT* nb2, MKL_Complex8* a, const MKL_INT* lda, MKL_Complex8* t, const MKL_INT* ldt, MKL_Complex8* work, const MKL_INT* lwork, MKL_INT* info) NOTHROW;

void ZGETSQRHRT(const MKL_INT* m,  const MKL_INT* n, const MKL_INT* mb1, const MKL_INT* nb1, const MKL_INT* nb2, MKL_Complex16* a, const MKL_INT* lda, MKL_Complex16* t, const MKL_INT* ldt, MKL_Complex16* work, const MKL_INT* lwork, MKL_INT* info) NOTHROW;
void ZGETSQRHRT_(const MKL_INT* m,  const MKL_INT* n, const MKL_INT* mb1, const MKL_INT* nb1, const MKL_INT* nb2, MKL_Complex16* a, const MKL_INT* lda, MKL_Complex16* t, const MKL_INT* ldt, MKL_Complex16* work, const MKL_INT* lwork, MKL_INT* info) NOTHROW;
void zgetsqrhrt(const MKL_INT* m,  const MKL_INT* n, const MKL_INT* mb1, const MKL_INT* nb1, const MKL_INT* nb2, MKL_Complex16* a, const MKL_INT* lda, MKL_Complex16* t, const MKL_INT* ldt, MKL_Complex16* work, const MKL_INT* lwork, MKL_INT* info) NOTHROW;
void zgetsqrhrt_(const MKL_INT* m,  const MKL_INT* n, const MKL_INT* mb1, const MKL_INT* nb1, const MKL_INT* nb2, MKL_Complex16* a, const MKL_INT* lda, MKL_Complex16* t, const MKL_INT* ldt, MKL_Complex16* work, const MKL_INT* lwork, MKL_INT* info) NOTHROW;

void SLARFB_GETT(const char* ident, const MKL_INT* m, const MKL_INT* n, const MKL_INT* k, const float* t, const MKL_INT* ldt, float* a, const MKL_INT* lda, float* b, const MKL_INT* ldb,  float* work, const MKL_INT* ldwork) NOTHROW;
void SLARFB_GETT_(const char* ident, const MKL_INT* m, const MKL_INT* n, const MKL_INT* k, const float* t, const MKL_INT* ldt, float* a, const MKL_INT* lda, float* b, const MKL_INT* ldb,  float* work, const MKL_INT* ldwork) NOTHROW;
void slarfb_gett(const char* ident, const MKL_INT* m, const MKL_INT* n, const MKL_INT* k, const float* t, const MKL_INT* ldt, float* a, const MKL_INT* lda, float* b, const MKL_INT* ldb,  float* work, const MKL_INT* ldwork) NOTHROW;
void slarfb_gett_(const char* ident, const MKL_INT* m, const MKL_INT* n, const MKL_INT* k, const float* t, const MKL_INT* ldt, float* a, const MKL_INT* lda, float* b, const MKL_INT* ldb,  float* work, const MKL_INT* ldwork) NOTHROW;

void DLARFB_GETT(const char* ident, const MKL_INT* m, const MKL_INT* n, const MKL_INT* k, const double* t, const MKL_INT* ldt, double* a, const MKL_INT* lda, double* b, const MKL_INT* ldb,  double* work, const MKL_INT* ldwork) NOTHROW;
void DLARFB_GETT_(const char* ident, const MKL_INT* m, const MKL_INT* n, const MKL_INT* k, const double* t, const MKL_INT* ldt, double* a, const MKL_INT* lda, double* b, const MKL_INT* ldb,  double* work, const MKL_INT* ldwork) NOTHROW;
void dlarfb_gett(const char* ident, const MKL_INT* m, const MKL_INT* n, const MKL_INT* k, const double* t, const MKL_INT* ldt, double* a, const MKL_INT* lda, double* b, const MKL_INT* ldb,  double* work, const MKL_INT* ldwork) NOTHROW;
void dlarfb_gett_(const char* ident, const MKL_INT* m, const MKL_INT* n, const MKL_INT* k, const double* t, const MKL_INT* ldt, double* a, const MKL_INT* lda, double* b, const MKL_INT* ldb,  double* work, const MKL_INT* ldwork) NOTHROW;

void CLARFB_GETT(const char* ident, const MKL_INT* m, const MKL_INT* n, const MKL_INT* k, const MKL_Complex8* t, const MKL_INT* ldt, MKL_Complex8* a, const MKL_INT* lda, MKL_Complex8* b, const MKL_INT* ldb,  MKL_Complex8* work, const MKL_INT* ldwork) NOTHROW;
void CLARFB_GETT_(const char* ident, const MKL_INT* m, const MKL_INT* n, const MKL_INT* k, const MKL_Complex8* t, const MKL_INT* ldt, MKL_Complex8* a, const MKL_INT* lda, MKL_Complex8* b, const MKL_INT* ldb,  MKL_Complex8* work, const MKL_INT* ldwork) NOTHROW;
void clarfb_gett(const char* ident, const MKL_INT* m, const MKL_INT* n, const MKL_INT* k, const MKL_Complex8* t, const MKL_INT* ldt, MKL_Complex8* a, const MKL_INT* lda, MKL_Complex8* b, const MKL_INT* ldb,  MKL_Complex8* work, const MKL_INT* ldwork) NOTHROW;
void clarfb_gett_(const char* ident, const MKL_INT* m, const MKL_INT* n, const MKL_INT* k, const MKL_Complex8* t, const MKL_INT* ldt, MKL_Complex8* a, const MKL_INT* lda, MKL_Complex8* b, const MKL_INT* ldb,  MKL_Complex8* work, const MKL_INT* ldwork) NOTHROW;

void ZLARFB_GETT(const char* ident, const MKL_INT* m, const MKL_INT* n, const MKL_INT* k, const MKL_Complex16* t, const MKL_INT* ldt, MKL_Complex16* a, const MKL_INT* lda, MKL_Complex16* b, const MKL_INT* ldb,  MKL_Complex16* work, const MKL_INT* ldwork) NOTHROW;
void ZLARFB_GETT_(const char* ident, const MKL_INT* m, const MKL_INT* n, const MKL_INT* k, const MKL_Complex16* t, const MKL_INT* ldt, MKL_Complex16* a, const MKL_INT* lda, MKL_Complex16* b, const MKL_INT* ldb,  MKL_Complex16* work, const MKL_INT* ldwork) NOTHROW;
void zlarfb_gett(const char* ident, const MKL_INT* m, const MKL_INT* n, const MKL_INT* k, const MKL_Complex16* t, const MKL_INT* ldt, MKL_Complex16* a, const MKL_INT* lda, MKL_Complex16* b, const MKL_INT* ldb,  MKL_Complex16* work, const MKL_INT* ldwork) NOTHROW;
void zlarfb_gett_(const char* ident, const MKL_INT* m, const MKL_INT* n, const MKL_INT* k, const MKL_Complex16* t, const MKL_INT* ldt, MKL_Complex16* a, const MKL_INT* lda, MKL_Complex16* b, const MKL_INT* ldb,  MKL_Complex16* work, const MKL_INT* ldwork) NOTHROW;

void SORGTSQR_ROW(const MKL_INT* m,  const MKL_INT* n, const MKL_INT* mb, const MKL_INT* nb,  float* a, const MKL_INT* lda, float* t,  const MKL_INT* ldt, float* work, const MKL_INT* lwork, MKL_INT* info) NOTHROW;
void SORGTSQR_ROW_(const MKL_INT* m,  const MKL_INT* n, const MKL_INT* mb, const MKL_INT* nb,  float* a, const MKL_INT* lda, float* t,  const MKL_INT* ldt, float* work, const MKL_INT* lwork, MKL_INT* info) NOTHROW;
void sorgtsqr_row(const MKL_INT* m,  const MKL_INT* n, const MKL_INT* mb, const MKL_INT* nb,  float* a, const MKL_INT* lda, float* t,  const MKL_INT* ldt, float* work, const MKL_INT* lwork, MKL_INT* info) NOTHROW;
void sorgtsqr_row_(const MKL_INT* m,  const MKL_INT* n, const MKL_INT* mb, const MKL_INT* nb,  float* a, const MKL_INT* lda, float* t,  const MKL_INT* ldt, float* work, const MKL_INT* lwork, MKL_INT* info) NOTHROW;

void DORGTSQR_ROW(const MKL_INT* m,  const MKL_INT* n, const MKL_INT* mb, const MKL_INT* nb,  double* a, const MKL_INT* lda, double* t,  const MKL_INT* ldt, double* work, const MKL_INT* lwork, MKL_INT* info) NOTHROW;
void DORGTSQR_ROW_(const MKL_INT* m,  const MKL_INT* n, const MKL_INT* mb, const MKL_INT* nb,  double* a, const MKL_INT* lda, double* t,  const MKL_INT* ldt, double* work, const MKL_INT* lwork, MKL_INT* info) NOTHROW;
void dorgtsqr_row(const MKL_INT* m,  const MKL_INT* n, const MKL_INT* mb, const MKL_INT* nb,  double* a, const MKL_INT* lda, double* t,  const MKL_INT* ldt, double* work, const MKL_INT* lwork, MKL_INT* info) NOTHROW;
void dorgtsqr_row_(const MKL_INT* m,  const MKL_INT* n, const MKL_INT* mb, const MKL_INT* nb,  double* a, const MKL_INT* lda, double* t,  const MKL_INT* ldt, double* work, const MKL_INT* lwork, MKL_INT* info) NOTHROW;

void CUNGTSQR_ROW(const MKL_INT* m,  const MKL_INT* n, const MKL_INT* mb, const MKL_INT* nb,  MKL_Complex8* a, const MKL_INT* lda, MKL_Complex8* t,  const MKL_INT* ldt, MKL_Complex8* work, const MKL_INT* lwork, MKL_INT* info) NOTHROW;
void CUNGTSQR_ROW_(const MKL_INT* m,  const MKL_INT* n, const MKL_INT* mb, const MKL_INT* nb,  MKL_Complex8* a, const MKL_INT* lda, MKL_Complex8* t,  const MKL_INT* ldt, MKL_Complex8* work, const MKL_INT* lwork, MKL_INT* info) NOTHROW;
void cungtsqr_row(const MKL_INT* m,  const MKL_INT* n, const MKL_INT* mb, const MKL_INT* nb,  MKL_Complex8* a, const MKL_INT* lda, MKL_Complex8* t,  const MKL_INT* ldt, MKL_Complex8* work, const MKL_INT* lwork, MKL_INT* info) NOTHROW;
void cungtsqr_row_(const MKL_INT* m,  const MKL_INT* n, const MKL_INT* mb, const MKL_INT* nb,  MKL_Complex8* a, const MKL_INT* lda, MKL_Complex8* t,  const MKL_INT* ldt, MKL_Complex8* work, const MKL_INT* lwork, MKL_INT* info) NOTHROW;

void ZUNGTSQR_ROW(const MKL_INT* m,  const MKL_INT* n, const MKL_INT* mb, const MKL_INT* nb,  MKL_Complex16* a, const MKL_INT* lda, MKL_Complex16* t,  const MKL_INT* ldt, MKL_Complex16* work, const MKL_INT* lwork, MKL_INT* info) NOTHROW;
void ZUNGTSQR_ROW_(const MKL_INT* m,  const MKL_INT* n, const MKL_INT* mb, const MKL_INT* nb,  MKL_Complex16* a, const MKL_INT* lda, MKL_Complex16* t,  const MKL_INT* ldt, MKL_Complex16* work, const MKL_INT* lwork, MKL_INT* info) NOTHROW;
void zungtsqr_row(const MKL_INT* m,  const MKL_INT* n, const MKL_INT* mb, const MKL_INT* nb,  MKL_Complex16* a, const MKL_INT* lda, MKL_Complex16* t,  const MKL_INT* ldt, MKL_Complex16* work, const MKL_INT* lwork, MKL_INT* info) NOTHROW;
void zungtsqr_row_(const MKL_INT* m,  const MKL_INT* n, const MKL_INT* mb, const MKL_INT* nb,  MKL_Complex16* a, const MKL_INT* lda, MKL_Complex16* t,  const MKL_INT* ldt, MKL_Complex16* work, const MKL_INT* lwork, MKL_INT* info) NOTHROW;

void CGELQ( const MKL_INT* m, const MKL_INT* n, MKL_Complex8* a,
            const MKL_INT* lda, MKL_Complex8* t, const MKL_INT* tsize,
            MKL_Complex8* work, const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void CGELQ_( const MKL_INT* m, const MKL_INT* n, MKL_Complex8* a,
             const MKL_INT* lda, MKL_Complex8* t, const MKL_INT* tsize,
             MKL_Complex8* work, const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void cgelq( const MKL_INT* m, const MKL_INT* n, MKL_Complex8* a,
            const MKL_INT* lda, MKL_Complex8* t, const MKL_INT* tsize,
            MKL_Complex8* work, const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void cgelq_( const MKL_INT* m, const MKL_INT* n, MKL_Complex8* a,
             const MKL_INT* lda, MKL_Complex8* t, const MKL_INT* tsize,
             MKL_Complex8* work, const MKL_INT* lwork, MKL_INT* info ) NOTHROW;

void CGELQT( const MKL_INT* m, const MKL_INT* n, const MKL_INT* mb,
             MKL_Complex8* a, const MKL_INT* lda, MKL_Complex8* t,
             const MKL_INT* ldt, MKL_Complex8* work, MKL_INT* info ) NOTHROW;
void CGELQT_( const MKL_INT* m, const MKL_INT* n, const MKL_INT* mb,
              MKL_Complex8* a, const MKL_INT* lda, MKL_Complex8* t,
              const MKL_INT* ldt, MKL_Complex8* work, MKL_INT* info ) NOTHROW;
void cgelqt( const MKL_INT* m, const MKL_INT* n, const MKL_INT* mb,
             MKL_Complex8* a, const MKL_INT* lda, MKL_Complex8* t,
             const MKL_INT* ldt, MKL_Complex8* work, MKL_INT* info ) NOTHROW;
void cgelqt_( const MKL_INT* m, const MKL_INT* n, const MKL_INT* mb,
              MKL_Complex8* a, const MKL_INT* lda, MKL_Complex8* t,
              const MKL_INT* ldt, MKL_Complex8* work, MKL_INT* info ) NOTHROW;

void CGELQT3( const MKL_INT* m, const MKL_INT* n, MKL_Complex8* a,
              const MKL_INT* lda, MKL_Complex8* t, const MKL_INT* ldt,
              MKL_INT* info ) NOTHROW;
void CGELQT3_( const MKL_INT* m, const MKL_INT* n, MKL_Complex8* a,
               const MKL_INT* lda, MKL_Complex8* t, const MKL_INT* ldt,
               MKL_INT* info ) NOTHROW;
void cgelqt3( const MKL_INT* m, const MKL_INT* n, MKL_Complex8* a,
              const MKL_INT* lda, MKL_Complex8* t, const MKL_INT* ldt,
              MKL_INT* info ) NOTHROW;
void cgelqt3_( const MKL_INT* m, const MKL_INT* n, MKL_Complex8* a,
               const MKL_INT* lda, MKL_Complex8* t, const MKL_INT* ldt,
               MKL_INT* info ) NOTHROW;

void CGEMLQ( const char* side, const char* trans, const MKL_INT* m,
             const MKL_INT* n, const MKL_INT* k, const MKL_Complex8* a,
             const MKL_INT* lda, const MKL_Complex8* t,
             const MKL_INT* tsize, MKL_Complex8* c, const MKL_INT* ldc,
             MKL_Complex8* work, const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void CGEMLQ_( const char* side, const char* trans, const MKL_INT* m,
              const MKL_INT* n, const MKL_INT* k, const MKL_Complex8* a,
              const MKL_INT* lda, const MKL_Complex8* t,
              const MKL_INT* tsize, MKL_Complex8* c, const MKL_INT* ldc,
              MKL_Complex8* work, const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void cgemlq( const char* side, const char* trans, const MKL_INT* m,
             const MKL_INT* n, const MKL_INT* k, const MKL_Complex8* a,
             const MKL_INT* lda, const MKL_Complex8* t,
             const MKL_INT* tsize, MKL_Complex8* c, const MKL_INT* ldc,
             MKL_Complex8* work, const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void cgemlq_( const char* side, const char* trans, const MKL_INT* m,
              const MKL_INT* n, const MKL_INT* k, const MKL_Complex8* a,
              const MKL_INT* lda, const MKL_Complex8* t,
              const MKL_INT* tsize, MKL_Complex8* c, const MKL_INT* ldc,
              MKL_Complex8* work, const MKL_INT* lwork, MKL_INT* info ) NOTHROW;

void CGEMLQT( const char* side, const char* trans, const MKL_INT* m,
              const MKL_INT* n, const MKL_INT* k, const MKL_INT* mb,
              const MKL_Complex8* v, const MKL_INT* ldv, const MKL_Complex8* t,
              const MKL_INT* ldt, MKL_Complex8* c, const MKL_INT* ldc,
              MKL_Complex8* work, MKL_INT* info ) NOTHROW;
void CGEMLQT_( const char* side, const char* trans, const MKL_INT* m,
               const MKL_INT* n, const MKL_INT* k, const MKL_INT* mb,
               const MKL_Complex8* v, const MKL_INT* ldv,
               const MKL_Complex8* t, const MKL_INT* ldt, MKL_Complex8* c,
               const MKL_INT* ldc, MKL_Complex8* work, MKL_INT* info ) NOTHROW;
void cgemlqt( const char* side, const char* trans, const MKL_INT* m,
              const MKL_INT* n, const MKL_INT* k, const MKL_INT* mb,
              const MKL_Complex8* v, const MKL_INT* ldv, const MKL_Complex8* t,
              const MKL_INT* ldt, MKL_Complex8* c, const MKL_INT* ldc,
              MKL_Complex8* work, MKL_INT* info ) NOTHROW;
void cgemlqt_( const char* side, const char* trans, const MKL_INT* m,
               const MKL_INT* n, const MKL_INT* k, const MKL_INT* mb,
               const MKL_Complex8* v, const MKL_INT* ldv,
               const MKL_Complex8* t, const MKL_INT* ldt, MKL_Complex8* c,
               const MKL_INT* ldc, MKL_Complex8* work, MKL_INT* info ) NOTHROW;

void CGEQR( const MKL_INT* m, const MKL_INT* n, MKL_Complex8* a,
            const MKL_INT* lda, MKL_Complex8* t, const MKL_INT* tsize,
            MKL_Complex8* work, const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void CGEQR_( const MKL_INT* m, const MKL_INT* n, MKL_Complex8* a,
             const MKL_INT* lda, MKL_Complex8* t, const MKL_INT* tsize,
             MKL_Complex8* work, const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void cgeqr( const MKL_INT* m, const MKL_INT* n, MKL_Complex8* a,
            const MKL_INT* lda, MKL_Complex8* t, const MKL_INT* tsize,
            MKL_Complex8* work, const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void cgeqr_( const MKL_INT* m, const MKL_INT* n, MKL_Complex8* a,
             const MKL_INT* lda, MKL_Complex8* t, const MKL_INT* tsize,
             MKL_Complex8* work, const MKL_INT* lwork, MKL_INT* info ) NOTHROW;

void CGETSLS( const char* trans, const MKL_INT* m, const MKL_INT* n,
              const MKL_INT* nrhs, MKL_Complex8* a, const MKL_INT* lda,
              MKL_Complex8* b, const MKL_INT* ldb, MKL_Complex8* work,
              const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void CGETSLS_( const char* trans, const MKL_INT* m, const MKL_INT* n,
               const MKL_INT* nrhs, MKL_Complex8* a, const MKL_INT* lda,
               MKL_Complex8* b, const MKL_INT* ldb, MKL_Complex8* work,
               const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void cgetsls( const char* trans, const MKL_INT* m, const MKL_INT* n,
              const MKL_INT* nrhs, MKL_Complex8* a, const MKL_INT* lda,
              MKL_Complex8* b, const MKL_INT* ldb, MKL_Complex8* work,
              const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void cgetsls_( const char* trans, const MKL_INT* m, const MKL_INT* n,
               const MKL_INT* nrhs, MKL_Complex8* a, const MKL_INT* lda,
               MKL_Complex8* b, const MKL_INT* ldb, MKL_Complex8* work,
               const MKL_INT* lwork, MKL_INT* info ) NOTHROW;

void CLAMSWLQ( const char* side, const char* trans, const MKL_INT* m,
               const MKL_INT* n, const MKL_INT* k, const MKL_INT* mb,
               const MKL_INT* nb, MKL_Complex8* a, const MKL_INT* lda,
               const MKL_Complex8* t, const MKL_INT* ldt, MKL_Complex8* c,
               const MKL_INT* ldc, MKL_Complex8* work, const MKL_INT* lwork,
               MKL_INT* info ) NOTHROW;
void CLAMSWLQ_( const char* side, const char* trans, const MKL_INT* m,
                const MKL_INT* n, const MKL_INT* k, const MKL_INT* mb,
                const MKL_INT* nb, MKL_Complex8* a, const MKL_INT* lda,
                const MKL_Complex8* t, const MKL_INT* ldt, MKL_Complex8* c,
                const MKL_INT* ldc, MKL_Complex8* work, const MKL_INT* lwork,
                MKL_INT* info ) NOTHROW;
void clamswlq( const char* side, const char* trans, const MKL_INT* m,
               const MKL_INT* n, const MKL_INT* k, const MKL_INT* mb,
               const MKL_INT* nb, MKL_Complex8* a, const MKL_INT* lda,
               const MKL_Complex8* t, const MKL_INT* ldt, MKL_Complex8* c,
               const MKL_INT* ldc, MKL_Complex8* work, const MKL_INT* lwork,
               MKL_INT* info ) NOTHROW;
void clamswlq_( const char* side, const char* trans, const MKL_INT* m,
                const MKL_INT* n, const MKL_INT* k, const MKL_INT* mb,
                const MKL_INT* nb, MKL_Complex8* a, const MKL_INT* lda,
                const MKL_Complex8* t, const MKL_INT* ldt, MKL_Complex8* c,
                const MKL_INT* ldc, MKL_Complex8* work, const MKL_INT* lwork,
                MKL_INT* info ) NOTHROW;

void CLAMTSQR( const char* side, const char* trans, const MKL_INT* m,
               const MKL_INT* n, const MKL_INT* k, const MKL_INT* mb,
               const MKL_INT* nb, MKL_Complex8* a, const MKL_INT* lda,
               const MKL_Complex8* t, const MKL_INT* ldt, MKL_Complex8* c,
               const MKL_INT* ldc, MKL_Complex8* work, const MKL_INT* lwork,
               MKL_INT* info ) NOTHROW;
void CLAMTSQR_( const char* side, const char* trans, const MKL_INT* m,
                const MKL_INT* n, const MKL_INT* k, const MKL_INT* mb,
                const MKL_INT* nb, MKL_Complex8* a, const MKL_INT* lda,
                const MKL_Complex8* t, const MKL_INT* ldt, MKL_Complex8* c,
                const MKL_INT* ldc, MKL_Complex8* work, const MKL_INT* lwork,
                MKL_INT* info ) NOTHROW;
void clamtsqr( const char* side, const char* trans, const MKL_INT* m,
               const MKL_INT* n, const MKL_INT* k, const MKL_INT* mb,
               const MKL_INT* nb, MKL_Complex8* a, const MKL_INT* lda,
               const MKL_Complex8* t, const MKL_INT* ldt, MKL_Complex8* c,
               const MKL_INT* ldc, MKL_Complex8* work, const MKL_INT* lwork,
               MKL_INT* info ) NOTHROW;
void clamtsqr_( const char* side, const char* trans, const MKL_INT* m,
                const MKL_INT* n, const MKL_INT* k, const MKL_INT* mb,
                const MKL_INT* nb, MKL_Complex8* a, const MKL_INT* lda,
                const MKL_Complex8* t, const MKL_INT* ldt, MKL_Complex8* c,
                const MKL_INT* ldc, MKL_Complex8* work, const MKL_INT* lwork,
                MKL_INT* info ) NOTHROW;

void CLASWLQ( const MKL_INT* m, const MKL_INT* n, const MKL_INT* mb,
              const MKL_INT* nb, MKL_Complex8* a, const MKL_INT* lda,
              MKL_Complex8* t, const MKL_INT* ldt, MKL_Complex8* work,
              const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void CLASWLQ_( const MKL_INT* m, const MKL_INT* n, const MKL_INT* mb,
               const MKL_INT* nb, MKL_Complex8* a, const MKL_INT* lda,
               MKL_Complex8* t, const MKL_INT* ldt, MKL_Complex8* work,
               const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void claswlq( const MKL_INT* m, const MKL_INT* n, const MKL_INT* mb,
              const MKL_INT* nb, MKL_Complex8* a, const MKL_INT* lda,
              MKL_Complex8* t, const MKL_INT* ldt, MKL_Complex8* work,
              const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void claswlq_( const MKL_INT* m, const MKL_INT* n, const MKL_INT* mb,
               const MKL_INT* nb, MKL_Complex8* a, const MKL_INT* lda,
               MKL_Complex8* t, const MKL_INT* ldt, MKL_Complex8* work,
               const MKL_INT* lwork, MKL_INT* info ) NOTHROW;

void CLATSQR( const MKL_INT* m, const MKL_INT* n, const MKL_INT* mb,
              const MKL_INT* nb, MKL_Complex8* a, const MKL_INT* lda,
              MKL_Complex8* t, const MKL_INT* ldt, MKL_Complex8* work,
              const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void CLATSQR_( const MKL_INT* m, const MKL_INT* n, const MKL_INT* mb,
               const MKL_INT* nb, MKL_Complex8* a, const MKL_INT* lda,
               MKL_Complex8* t, const MKL_INT* ldt, MKL_Complex8* work,
               const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void clatsqr( const MKL_INT* m, const MKL_INT* n, const MKL_INT* mb,
              const MKL_INT* nb, MKL_Complex8* a, const MKL_INT* lda,
              MKL_Complex8* t, const MKL_INT* ldt, MKL_Complex8* work,
              const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void clatsqr_( const MKL_INT* m, const MKL_INT* n, const MKL_INT* mb,
               const MKL_INT* nb, MKL_Complex8* a, const MKL_INT* lda,
               MKL_Complex8* t, const MKL_INT* ldt, MKL_Complex8* work,
               const MKL_INT* lwork, MKL_INT* info ) NOTHROW;

void CTPLQT( const MKL_INT* m, const MKL_INT* n, const MKL_INT* l,
             const MKL_INT* mb, MKL_Complex8* a, const MKL_INT* lda,
             MKL_Complex8* b, const MKL_INT* ldb, MKL_Complex8* t,
             const MKL_INT* ldt, MKL_Complex8* work, MKL_INT* info ) NOTHROW;
void CTPLQT_( const MKL_INT* m, const MKL_INT* n, const MKL_INT* l,
              const MKL_INT* mb, MKL_Complex8* a, const MKL_INT* lda,
              MKL_Complex8* b, const MKL_INT* ldb, MKL_Complex8* t,
              const MKL_INT* ldt, MKL_Complex8* work, MKL_INT* info ) NOTHROW;
void ctplqt( const MKL_INT* m, const MKL_INT* n, const MKL_INT* l,
             const MKL_INT* mb, MKL_Complex8* a, const MKL_INT* lda,
             MKL_Complex8* b, const MKL_INT* ldb, MKL_Complex8* t,
             const MKL_INT* ldt, MKL_Complex8* work, MKL_INT* info ) NOTHROW;
void ctplqt_( const MKL_INT* m, const MKL_INT* n, const MKL_INT* l,
              const MKL_INT* mb, MKL_Complex8* a, const MKL_INT* lda,
              MKL_Complex8* b, const MKL_INT* ldb, MKL_Complex8* t,
              const MKL_INT* ldt, MKL_Complex8* work, MKL_INT* info ) NOTHROW;

void CTPLQT2( const MKL_INT* m, const MKL_INT* n, const MKL_INT* l,
              MKL_Complex8* a, const MKL_INT* lda, MKL_Complex8* b,
              const MKL_INT* ldb, MKL_Complex8* t, const MKL_INT* ldt,
              MKL_INT* info ) NOTHROW;
void CTPLQT2_( const MKL_INT* m, const MKL_INT* n, const MKL_INT* l,
               MKL_Complex8* a, const MKL_INT* lda, MKL_Complex8* b,
               const MKL_INT* ldb, MKL_Complex8* t, const MKL_INT* ldt,
               MKL_INT* info ) NOTHROW;
void ctplqt2( const MKL_INT* m, const MKL_INT* n, const MKL_INT* l,
              MKL_Complex8* a, const MKL_INT* lda, MKL_Complex8* b,
              const MKL_INT* ldb, MKL_Complex8* t, const MKL_INT* ldt,
              MKL_INT* info ) NOTHROW;
void ctplqt2_( const MKL_INT* m, const MKL_INT* n, const MKL_INT* l,
               MKL_Complex8* a, const MKL_INT* lda, MKL_Complex8* b,
               const MKL_INT* ldb, MKL_Complex8* t, const MKL_INT* ldt,
               MKL_INT* info ) NOTHROW;

void CTPMLQT( const char* side, const char* trans, const MKL_INT* m,
              const MKL_INT* n, const MKL_INT* k, const MKL_INT* l,
              const MKL_INT* mb, const MKL_Complex8* v, const MKL_INT* ldv,
              const MKL_Complex8* t, const MKL_INT* ldt, MKL_Complex8* a,
              const MKL_INT* lda, MKL_Complex8* b, const MKL_INT* ldb,
              MKL_Complex8* work, MKL_INT* info ) NOTHROW;
void CTPMLQT_( const char* side, const char* trans, const MKL_INT* m,
               const MKL_INT* n, const MKL_INT* k, const MKL_INT* l,
               const MKL_INT* mb, const MKL_Complex8* v, const MKL_INT* ldv,
               const MKL_Complex8* t, const MKL_INT* ldt, MKL_Complex8* a,
               const MKL_INT* lda, MKL_Complex8* b, const MKL_INT* ldb,
               MKL_Complex8* work, MKL_INT* info ) NOTHROW;
void ctpmlqt( const char* side, const char* trans, const MKL_INT* m,
              const MKL_INT* n, const MKL_INT* k, const MKL_INT* l,
              const MKL_INT* mb, const MKL_Complex8* v, const MKL_INT* ldv,
              const MKL_Complex8* t, const MKL_INT* ldt, MKL_Complex8* a,
              const MKL_INT* lda, MKL_Complex8* b, const MKL_INT* ldb,
              MKL_Complex8* work, MKL_INT* info ) NOTHROW;
void ctpmlqt_( const char* side, const char* trans, const MKL_INT* m,
               const MKL_INT* n, const MKL_INT* k, const MKL_INT* l,
               const MKL_INT* mb, const MKL_Complex8* v, const MKL_INT* ldv,
               const MKL_Complex8* t, const MKL_INT* ldt, MKL_Complex8* a,
               const MKL_INT* lda, MKL_Complex8* b, const MKL_INT* ldb,
               MKL_Complex8* work, MKL_INT* info ) NOTHROW;

void DGELQ( const MKL_INT* m, const MKL_INT* n, double* a, const MKL_INT* lda,
            double* t, const MKL_INT* tsize, double* work,
            const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void DGELQ_( const MKL_INT* m, const MKL_INT* n, double* a, const MKL_INT* lda,
             double* t, const MKL_INT* tsize, double* work,
             const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void dgelq( const MKL_INT* m, const MKL_INT* n, double* a, const MKL_INT* lda,
            double* t, const MKL_INT* tsize, double* work,
            const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void dgelq_( const MKL_INT* m, const MKL_INT* n, double* a, const MKL_INT* lda,
             double* t, const MKL_INT* tsize, double* work,
             const MKL_INT* lwork, MKL_INT* info ) NOTHROW;

void DGELQT( const MKL_INT* m, const MKL_INT* n, const MKL_INT* mb, double* a,
             const MKL_INT* lda, double* t, const MKL_INT* ldt, double* work,
             MKL_INT* info ) NOTHROW;
void DGELQT_( const MKL_INT* m, const MKL_INT* n, const MKL_INT* mb, double* a,
              const MKL_INT* lda, double* t, const MKL_INT* ldt, double* work,
              MKL_INT* info ) NOTHROW;
void dgelqt( const MKL_INT* m, const MKL_INT* n, const MKL_INT* mb, double* a,
             const MKL_INT* lda, double* t, const MKL_INT* ldt, double* work,
             MKL_INT* info ) NOTHROW;
void dgelqt_( const MKL_INT* m, const MKL_INT* n, const MKL_INT* mb, double* a,
              const MKL_INT* lda, double* t, const MKL_INT* ldt, double* work,
              MKL_INT* info ) NOTHROW;

void DGELQT3( const MKL_INT* m, const MKL_INT* n, double* a,
              const MKL_INT* lda, double* t, const MKL_INT* ldt,
              MKL_INT* info ) NOTHROW;
void DGELQT3_( const MKL_INT* m, const MKL_INT* n, double* a,
               const MKL_INT* lda, double* t, const MKL_INT* ldt,
               MKL_INT* info ) NOTHROW;
void dgelqt3( const MKL_INT* m, const MKL_INT* n, double* a,
              const MKL_INT* lda, double* t, const MKL_INT* ldt,
              MKL_INT* info ) NOTHROW;
void dgelqt3_( const MKL_INT* m, const MKL_INT* n, double* a,
               const MKL_INT* lda, double* t, const MKL_INT* ldt,
               MKL_INT* info ) NOTHROW;

void DGEMLQ( const char* side, const char* trans, const MKL_INT* m,
             const MKL_INT* n, const MKL_INT* k, const double* a, const MKL_INT* lda,
             const double* t, const MKL_INT* tsize, double* c,
             const MKL_INT* ldc, double* work, const MKL_INT* lwork,
             MKL_INT* info ) NOTHROW;
void DGEMLQ_( const char* side, const char* trans, const MKL_INT* m,
              const MKL_INT* n, const MKL_INT* k, const double* a,
              const MKL_INT* lda, const double* t, const MKL_INT* tsize,
              double* c, const MKL_INT* ldc, double* work,
              const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void dgemlq( const char* side, const char* trans, const MKL_INT* m,
             const MKL_INT* n, const MKL_INT* k, const double* a, const MKL_INT* lda,
             const double* t, const MKL_INT* tsize, double* c,
             const MKL_INT* ldc, double* work, const MKL_INT* lwork,
             MKL_INT* info ) NOTHROW;
void dgemlq_( const char* side, const char* trans, const MKL_INT* m,
              const MKL_INT* n, const MKL_INT* k, const double* a,
              const MKL_INT* lda, const double* t, const MKL_INT* tsize,
              double* c, const MKL_INT* ldc, double* work,
              const MKL_INT* lwork, MKL_INT* info ) NOTHROW;

void DGEMLQT( const char* side, const char* trans, const MKL_INT* m,
              const MKL_INT* n, const MKL_INT* k, const MKL_INT* mb,
              const double* v, const MKL_INT* ldv, const double* t,
              const MKL_INT* ldt, double* c, const MKL_INT* ldc, double* work,
              MKL_INT* info ) NOTHROW;
void DGEMLQT_( const char* side, const char* trans, const MKL_INT* m,
               const MKL_INT* n, const MKL_INT* k, const MKL_INT* mb,
               const double* v, const MKL_INT* ldv, const double* t,
               const MKL_INT* ldt, double* c, const MKL_INT* ldc, double* work,
               MKL_INT* info ) NOTHROW;
void dgemlqt( const char* side, const char* trans, const MKL_INT* m,
              const MKL_INT* n, const MKL_INT* k, const MKL_INT* mb,
              const double* v, const MKL_INT* ldv, const double* t,
              const MKL_INT* ldt, double* c, const MKL_INT* ldc, double* work,
              MKL_INT* info ) NOTHROW;
void dgemlqt_( const char* side, const char* trans, const MKL_INT* m,
               const MKL_INT* n, const MKL_INT* k, const MKL_INT* mb,
               const double* v, const MKL_INT* ldv, const double* t,
               const MKL_INT* ldt, double* c, const MKL_INT* ldc, double* work,
               MKL_INT* info ) NOTHROW;

void DGEQR( const MKL_INT* m, const MKL_INT* n, double* a, const MKL_INT* lda,
            double* t, const MKL_INT* tsize, double* work,
            const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void DGEQR_( const MKL_INT* m, const MKL_INT* n, double* a, const MKL_INT* lda,
             double* t, const MKL_INT* tsize, double* work,
             const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void dgeqr( const MKL_INT* m, const MKL_INT* n, double* a, const MKL_INT* lda,
            double* t, const MKL_INT* tsize, double* work,
            const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void dgeqr_( const MKL_INT* m, const MKL_INT* n, double* a, const MKL_INT* lda,
             double* t, const MKL_INT* tsize, double* work,
             const MKL_INT* lwork, MKL_INT* info ) NOTHROW;

void DLAMSWLQ( const char* side, const char* trans, const MKL_INT* m,
               const MKL_INT* n, const MKL_INT* k, const MKL_INT* mb,
               const MKL_INT* nb, double* a, const MKL_INT* lda,
               const double* t, const MKL_INT* ldt, double* c,
               const MKL_INT* ldc, double* work, const MKL_INT* lwork,
               MKL_INT* info ) NOTHROW;
void DLAMSWLQ_( const char* side, const char* trans, const MKL_INT* m,
                const MKL_INT* n, const MKL_INT* k, const MKL_INT* mb,
                const MKL_INT* nb, double* a, const MKL_INT* lda,
                const double* t, const MKL_INT* ldt, double* c,
                const MKL_INT* ldc, double* work, const MKL_INT* lwork,
                MKL_INT* info ) NOTHROW;
void dlamswlq( const char* side, const char* trans, const MKL_INT* m,
               const MKL_INT* n, const MKL_INT* k, const MKL_INT* mb,
               const MKL_INT* nb, double* a, const MKL_INT* lda,
               const double* t, const MKL_INT* ldt, double* c,
               const MKL_INT* ldc, double* work, const MKL_INT* lwork,
               MKL_INT* info ) NOTHROW;
void dlamswlq_( const char* side, const char* trans, const MKL_INT* m,
                const MKL_INT* n, const MKL_INT* k, const MKL_INT* mb,
                const MKL_INT* nb, double* a, const MKL_INT* lda,
                const double* t, const MKL_INT* ldt, double* c,
                const MKL_INT* ldc, double* work, const MKL_INT* lwork,
                MKL_INT* info ) NOTHROW;

void DLAMTSQR( const char* side, const char* trans, const MKL_INT* m,
               const MKL_INT* n, const MKL_INT* k, const MKL_INT* mb,
               const MKL_INT* nb, double* a, const MKL_INT* lda,
               const double* t, const MKL_INT* ldt, double* c,
               const MKL_INT* ldc, double* work, const MKL_INT* lwork,
               MKL_INT* info ) NOTHROW;
void DLAMTSQR_( const char* side, const char* trans, const MKL_INT* m,
                const MKL_INT* n, const MKL_INT* k, const MKL_INT* mb,
                const MKL_INT* nb, double* a, const MKL_INT* lda,
                const double* t, const MKL_INT* ldt, double* c,
                const MKL_INT* ldc, double* work, const MKL_INT* lwork,
                MKL_INT* info ) NOTHROW;
void dlamtsqr( const char* side, const char* trans, const MKL_INT* m,
               const MKL_INT* n, const MKL_INT* k, const MKL_INT* mb,
               const MKL_INT* nb, double* a, const MKL_INT* lda,
               const double* t, const MKL_INT* ldt, double* c,
               const MKL_INT* ldc, double* work, const MKL_INT* lwork,
               MKL_INT* info ) NOTHROW;
void dlamtsqr_( const char* side, const char* trans, const MKL_INT* m,
                const MKL_INT* n, const MKL_INT* k, const MKL_INT* mb,
                const MKL_INT* nb, double* a, const MKL_INT* lda,
                const double* t, const MKL_INT* ldt, double* c,
                const MKL_INT* ldc, double* work, const MKL_INT* lwork,
                MKL_INT* info ) NOTHROW;

void DLASWLQ( const MKL_INT* m, const MKL_INT* n, const MKL_INT* mb,
              const MKL_INT* nb, double* a, const MKL_INT* lda, double* t,
              const MKL_INT* ldt, double* work, const MKL_INT* lwork,
              MKL_INT* info ) NOTHROW;
void DLASWLQ_( const MKL_INT* m, const MKL_INT* n, const MKL_INT* mb,
               const MKL_INT* nb, double* a, const MKL_INT* lda, double* t,
               const MKL_INT* ldt, double* work, const MKL_INT* lwork,
               MKL_INT* info ) NOTHROW;
void dlaswlq( const MKL_INT* m, const MKL_INT* n, const MKL_INT* mb,
              const MKL_INT* nb, double* a, const MKL_INT* lda, double* t,
              const MKL_INT* ldt, double* work, const MKL_INT* lwork,
              MKL_INT* info ) NOTHROW;
void dlaswlq_( const MKL_INT* m, const MKL_INT* n, const MKL_INT* mb,
               const MKL_INT* nb, double* a, const MKL_INT* lda, double* t,
               const MKL_INT* ldt, double* work, const MKL_INT* lwork,
               MKL_INT* info ) NOTHROW;

void DLATSQR( const MKL_INT* m, const MKL_INT* n, const MKL_INT* mb,
              const MKL_INT* nb, double* a, const MKL_INT* lda, double* t,
              const MKL_INT* ldt, double* work, const MKL_INT* lwork,
              MKL_INT* info ) NOTHROW;
void DLATSQR_( const MKL_INT* m, const MKL_INT* n, const MKL_INT* mb,
               const MKL_INT* nb, double* a, const MKL_INT* lda, double* t,
               const MKL_INT* ldt, double* work, const MKL_INT* lwork,
               MKL_INT* info ) NOTHROW;
void dlatsqr( const MKL_INT* m, const MKL_INT* n, const MKL_INT* mb,
              const MKL_INT* nb, double* a, const MKL_INT* lda, double* t,
              const MKL_INT* ldt, double* work, const MKL_INT* lwork,
              MKL_INT* info ) NOTHROW;
void dlatsqr_( const MKL_INT* m, const MKL_INT* n, const MKL_INT* mb,
               const MKL_INT* nb, double* a, const MKL_INT* lda, double* t,
               const MKL_INT* ldt, double* work, const MKL_INT* lwork,
               MKL_INT* info ) NOTHROW;

void DTPLQT( const MKL_INT* m, const MKL_INT* n, const MKL_INT* l,
             const MKL_INT* mb, double* a, const MKL_INT* lda, double* b,
             const MKL_INT* ldb, double* t, const MKL_INT* ldt, double* work,
             MKL_INT* info ) NOTHROW;
void DTPLQT_( const MKL_INT* m, const MKL_INT* n, const MKL_INT* l,
              const MKL_INT* mb, double* a, const MKL_INT* lda, double* b,
              const MKL_INT* ldb, double* t, const MKL_INT* ldt, double* work,
              MKL_INT* info ) NOTHROW;
void dtplqt( const MKL_INT* m, const MKL_INT* n, const MKL_INT* l,
             const MKL_INT* mb, double* a, const MKL_INT* lda, double* b,
             const MKL_INT* ldb, double* t, const MKL_INT* ldt, double* work,
             MKL_INT* info ) NOTHROW;
void dtplqt_( const MKL_INT* m, const MKL_INT* n, const MKL_INT* l,
              const MKL_INT* mb, double* a, const MKL_INT* lda, double* b,
              const MKL_INT* ldb, double* t, const MKL_INT* ldt, double* work,
              MKL_INT* info ) NOTHROW;

void DTPLQT2( const MKL_INT* m, const MKL_INT* n, const MKL_INT* l, double* a,
              const MKL_INT* lda, double* b, const MKL_INT* ldb, double* t,
              const MKL_INT* ldt, MKL_INT* info ) NOTHROW;
void DTPLQT2_( const MKL_INT* m, const MKL_INT* n, const MKL_INT* l, double* a,
               const MKL_INT* lda, double* b, const MKL_INT* ldb, double* t,
               const MKL_INT* ldt, MKL_INT* info ) NOTHROW;
void dtplqt2( const MKL_INT* m, const MKL_INT* n, const MKL_INT* l, double* a,
              const MKL_INT* lda, double* b, const MKL_INT* ldb, double* t,
              const MKL_INT* ldt, MKL_INT* info ) NOTHROW;
void dtplqt2_( const MKL_INT* m, const MKL_INT* n, const MKL_INT* l, double* a,
               const MKL_INT* lda, double* b, const MKL_INT* ldb, double* t,
               const MKL_INT* ldt, MKL_INT* info ) NOTHROW;

void DTPMLQT( const char* side, const char* trans, const MKL_INT* m,
              const MKL_INT* n, const MKL_INT* k, const MKL_INT* l,
              const MKL_INT* mb, const double* v, const MKL_INT* ldv,
              const double* t, const MKL_INT* ldt, double* a,
              const MKL_INT* lda, double* b, const MKL_INT* ldb, double* work,
              MKL_INT* info ) NOTHROW;
void DTPMLQT_( const char* side, const char* trans, const MKL_INT* m,
               const MKL_INT* n, const MKL_INT* k, const MKL_INT* l,
               const MKL_INT* mb, const double* v, const MKL_INT* ldv,
               const double* t, const MKL_INT* ldt, double* a,
               const MKL_INT* lda, double* b, const MKL_INT* ldb, double* work,
               MKL_INT* info ) NOTHROW;
void dtpmlqt( const char* side, const char* trans, const MKL_INT* m,
              const MKL_INT* n, const MKL_INT* k, const MKL_INT* l,
              const MKL_INT* mb, const double* v, const MKL_INT* ldv,
              const double* t, const MKL_INT* ldt, double* a,
              const MKL_INT* lda, double* b, const MKL_INT* ldb, double* work,
              MKL_INT* info ) NOTHROW;
void dtpmlqt_( const char* side, const char* trans, const MKL_INT* m,
               const MKL_INT* n, const MKL_INT* k, const MKL_INT* l,
               const MKL_INT* mb, const double* v, const MKL_INT* ldv,
               const double* t, const MKL_INT* ldt, double* a,
               const MKL_INT* lda, double* b, const MKL_INT* ldb, double* work,
               MKL_INT* info ) NOTHROW;

void SGELQ( const MKL_INT* m, const MKL_INT* n, float* a, const MKL_INT* lda,
            float* t, const MKL_INT* tsize, float* work,
            const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void SGELQ_( const MKL_INT* m, const MKL_INT* n, float* a, const MKL_INT* lda,
             float* t, const MKL_INT* tsize, float* work,
             const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void sgelq( const MKL_INT* m, const MKL_INT* n, float* a, const MKL_INT* lda,
            float* t, const MKL_INT* tsize, float* work,
            const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void sgelq_( const MKL_INT* m, const MKL_INT* n, float* a, const MKL_INT* lda,
             float* t, const MKL_INT* tsize, float* work,
             const MKL_INT* lwork, MKL_INT* info ) NOTHROW;

void DGETSLS( const char* trans, const MKL_INT* m, const MKL_INT* n,
              const MKL_INT* nrhs, double* a, const MKL_INT* lda, double* b,
              const MKL_INT* ldb, double* work, const MKL_INT* lwork,
              MKL_INT* info ) NOTHROW;
void DGETSLS_( const char* trans, const MKL_INT* m, const MKL_INT* n,
               const MKL_INT* nrhs, double* a, const MKL_INT* lda, double* b,
               const MKL_INT* ldb, double* work, const MKL_INT* lwork,
               MKL_INT* info ) NOTHROW;
void dgetsls( const char* trans, const MKL_INT* m, const MKL_INT* n,
              const MKL_INT* nrhs, double* a, const MKL_INT* lda, double* b,
              const MKL_INT* ldb, double* work, const MKL_INT* lwork,
              MKL_INT* info ) NOTHROW;
void dgetsls_( const char* trans, const MKL_INT* m, const MKL_INT* n,
               const MKL_INT* nrhs, double* a, const MKL_INT* lda, double* b,
               const MKL_INT* ldb, double* work, const MKL_INT* lwork,
               MKL_INT* info ) NOTHROW;

void SGELQT( const MKL_INT* m, const MKL_INT* n, const MKL_INT* mb, float* a,
             const MKL_INT* lda, float* t, const MKL_INT* ldt, float* work,
             MKL_INT* info ) NOTHROW;
void SGELQT_( const MKL_INT* m, const MKL_INT* n, const MKL_INT* mb, float* a,
              const MKL_INT* lda, float* t, const MKL_INT* ldt, float* work,
              MKL_INT* info ) NOTHROW;
void sgelqt( const MKL_INT* m, const MKL_INT* n, const MKL_INT* mb, float* a,
             const MKL_INT* lda, float* t, const MKL_INT* ldt, float* work,
             MKL_INT* info ) NOTHROW;
void sgelqt_( const MKL_INT* m, const MKL_INT* n, const MKL_INT* mb, float* a,
              const MKL_INT* lda, float* t, const MKL_INT* ldt, float* work,
              MKL_INT* info ) NOTHROW;

void SGELQT3( const MKL_INT* m, const MKL_INT* n, float* a, const MKL_INT* lda,
              float* t, const MKL_INT* ldt, MKL_INT* info ) NOTHROW;
void SGELQT3_( const MKL_INT* m, const MKL_INT* n, float* a,
               const MKL_INT* lda, float* t, const MKL_INT* ldt,
               MKL_INT* info ) NOTHROW;
void sgelqt3( const MKL_INT* m, const MKL_INT* n, float* a, const MKL_INT* lda,
              float* t, const MKL_INT* ldt, MKL_INT* info ) NOTHROW;
void sgelqt3_( const MKL_INT* m, const MKL_INT* n, float* a,
               const MKL_INT* lda, float* t, const MKL_INT* ldt,
               MKL_INT* info ) NOTHROW;

void SGEMLQT( const char* side, const char* trans, const MKL_INT* m,
              const MKL_INT* n, const MKL_INT* k, const MKL_INT* mb,
              const float* v, const MKL_INT* ldv, const float* t,
              const MKL_INT* ldt, float* c, const MKL_INT* ldc, float* work,
              MKL_INT* info ) NOTHROW;
void SGEMLQT_( const char* side, const char* trans, const MKL_INT* m,
               const MKL_INT* n, const MKL_INT* k, const MKL_INT* mb,
               const float* v, const MKL_INT* ldv, const float* t,
               const MKL_INT* ldt, float* c, const MKL_INT* ldc, float* work,
               MKL_INT* info ) NOTHROW;
void sgemlqt( const char* side, const char* trans, const MKL_INT* m,
              const MKL_INT* n, const MKL_INT* k, const MKL_INT* mb,
              const float* v, const MKL_INT* ldv, const float* t,
              const MKL_INT* ldt, float* c, const MKL_INT* ldc, float* work,
              MKL_INT* info ) NOTHROW;
void sgemlqt_( const char* side, const char* trans, const MKL_INT* m,
               const MKL_INT* n, const MKL_INT* k, const MKL_INT* mb,
               const float* v, const MKL_INT* ldv, const float* t,
               const MKL_INT* ldt, float* c, const MKL_INT* ldc, float* work,
               MKL_INT* info ) NOTHROW;

void SGEQR( const MKL_INT* m, const MKL_INT* n, float* a, const MKL_INT* lda,
            float* t, const MKL_INT* tsize, float* work,
            const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void SGEQR_( const MKL_INT* m, const MKL_INT* n, float* a, const MKL_INT* lda,
             float* t, const MKL_INT* tsize, float* work,
             const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void sgeqr( const MKL_INT* m, const MKL_INT* n, float* a, const MKL_INT* lda,
            float* t, const MKL_INT* tsize, float* work,
            const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void sgeqr_( const MKL_INT* m, const MKL_INT* n, float* a, const MKL_INT* lda,
             float* t, const MKL_INT* tsize, float* work,
             const MKL_INT* lwork, MKL_INT* info ) NOTHROW;

void SGETSLS( const char* trans, const MKL_INT* m, const MKL_INT* n,
              const MKL_INT* nrhs, float* a, const MKL_INT* lda, float* b,
              const MKL_INT* ldb, float* work, const MKL_INT* lwork,
              MKL_INT* info ) NOTHROW;
void SGETSLS_( const char* trans, const MKL_INT* m, const MKL_INT* n,
               const MKL_INT* nrhs, float* a, const MKL_INT* lda, float* b,
               const MKL_INT* ldb, float* work, const MKL_INT* lwork,
               MKL_INT* info ) NOTHROW;
void sgetsls( const char* trans, const MKL_INT* m, const MKL_INT* n,
              const MKL_INT* nrhs, float* a, const MKL_INT* lda, float* b,
              const MKL_INT* ldb, float* work, const MKL_INT* lwork,
              MKL_INT* info ) NOTHROW;
void sgetsls_( const char* trans, const MKL_INT* m, const MKL_INT* n,
               const MKL_INT* nrhs, float* a, const MKL_INT* lda, float* b,
               const MKL_INT* ldb, float* work, const MKL_INT* lwork,
               MKL_INT* info ) NOTHROW;

void SLAMTSQR( const char* side, const char* trans, const MKL_INT* m,
               const MKL_INT* n, const MKL_INT* k, const MKL_INT* mb,
               const MKL_INT* nb, float* a, const MKL_INT* lda, const float* t,
               const MKL_INT* ldt, float* c, const MKL_INT* ldc, float* work,
               const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void SLAMTSQR_( const char* side, const char* trans, const MKL_INT* m,
                const MKL_INT* n, const MKL_INT* k, const MKL_INT* mb,
                const MKL_INT* nb, float* a, const MKL_INT* lda,
                const float* t, const MKL_INT* ldt, float* c,
                const MKL_INT* ldc, float* work, const MKL_INT* lwork,
                MKL_INT* info ) NOTHROW;
void slamtsqr( const char* side, const char* trans, const MKL_INT* m,
               const MKL_INT* n, const MKL_INT* k, const MKL_INT* mb,
               const MKL_INT* nb, float* a, const MKL_INT* lda, const float* t,
               const MKL_INT* ldt, float* c, const MKL_INT* ldc, float* work,
               const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void slamtsqr_( const char* side, const char* trans, const MKL_INT* m,
                const MKL_INT* n, const MKL_INT* k, const MKL_INT* mb,
                const MKL_INT* nb, float* a, const MKL_INT* lda,
                const float* t, const MKL_INT* ldt, float* c,
                const MKL_INT* ldc, float* work, const MKL_INT* lwork,
                MKL_INT* info ) NOTHROW;

void SLASWLQ( const MKL_INT* m, const MKL_INT* n, const MKL_INT* mb,
              const MKL_INT* nb, float* a, const MKL_INT* lda, float* t,
              const MKL_INT* ldt, float* work, const MKL_INT* lwork,
              MKL_INT* info ) NOTHROW;
void SLASWLQ_( const MKL_INT* m, const MKL_INT* n, const MKL_INT* mb,
               const MKL_INT* nb, float* a, const MKL_INT* lda, float* t,
               const MKL_INT* ldt, float* work, const MKL_INT* lwork,
               MKL_INT* info ) NOTHROW;
void slaswlq( const MKL_INT* m, const MKL_INT* n, const MKL_INT* mb,
              const MKL_INT* nb, float* a, const MKL_INT* lda, float* t,
              const MKL_INT* ldt, float* work, const MKL_INT* lwork,
              MKL_INT* info ) NOTHROW;
void slaswlq_( const MKL_INT* m, const MKL_INT* n, const MKL_INT* mb,
               const MKL_INT* nb, float* a, const MKL_INT* lda, float* t,
               const MKL_INT* ldt, float* work, const MKL_INT* lwork,
               MKL_INT* info ) NOTHROW;

void STPLQT( const MKL_INT* m, const MKL_INT* n, const MKL_INT* l,
             const MKL_INT* mb, float* a, const MKL_INT* lda, float* b,
             const MKL_INT* ldb, float* t, const MKL_INT* ldt, float* work,
             MKL_INT* info ) NOTHROW;
void STPLQT_( const MKL_INT* m, const MKL_INT* n, const MKL_INT* l,
              const MKL_INT* mb, float* a, const MKL_INT* lda, float* b,
              const MKL_INT* ldb, float* t, const MKL_INT* ldt, float* work,
              MKL_INT* info ) NOTHROW;
void stplqt( const MKL_INT* m, const MKL_INT* n, const MKL_INT* l,
             const MKL_INT* mb, float* a, const MKL_INT* lda, float* b,
             const MKL_INT* ldb, float* t, const MKL_INT* ldt, float* work,
             MKL_INT* info ) NOTHROW;
void stplqt_( const MKL_INT* m, const MKL_INT* n, const MKL_INT* l,
              const MKL_INT* mb, float* a, const MKL_INT* lda, float* b,
              const MKL_INT* ldb, float* t, const MKL_INT* ldt, float* work,
              MKL_INT* info ) NOTHROW;

void STPMLQT( const char* side, const char* trans, const MKL_INT* m,
              const MKL_INT* n, const MKL_INT* k, const MKL_INT* l,
              const MKL_INT* mb, const float* v, const MKL_INT* ldv,
              const float* t, const MKL_INT* ldt, float* a, const MKL_INT* lda,
              float* b, const MKL_INT* ldb, float* work, MKL_INT* info ) NOTHROW;
void STPMLQT_( const char* side, const char* trans, const MKL_INT* m,
               const MKL_INT* n, const MKL_INT* k, const MKL_INT* l,
               const MKL_INT* mb, const float* v, const MKL_INT* ldv,
               const float* t, const MKL_INT* ldt, float* a,
               const MKL_INT* lda, float* b, const MKL_INT* ldb, float* work,
               MKL_INT* info ) NOTHROW;
void stpmlqt( const char* side, const char* trans, const MKL_INT* m,
              const MKL_INT* n, const MKL_INT* k, const MKL_INT* l,
              const MKL_INT* mb, const float* v, const MKL_INT* ldv,
              const float* t, const MKL_INT* ldt, float* a, const MKL_INT* lda,
              float* b, const MKL_INT* ldb, float* work, MKL_INT* info ) NOTHROW;
void stpmlqt_( const char* side, const char* trans, const MKL_INT* m,
               const MKL_INT* n, const MKL_INT* k, const MKL_INT* l,
               const MKL_INT* mb, const float* v, const MKL_INT* ldv,
               const float* t, const MKL_INT* ldt, float* a,
               const MKL_INT* lda, float* b, const MKL_INT* ldb, float* work,
               MKL_INT* info ) NOTHROW;

void ZGELQ( const MKL_INT* m, const MKL_INT* n, MKL_Complex16* a,
            const MKL_INT* lda, MKL_Complex16* t, const MKL_INT* tsize,
            MKL_Complex16* work, const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void ZGELQ_( const MKL_INT* m, const MKL_INT* n, MKL_Complex16* a,
             const MKL_INT* lda, MKL_Complex16* t, const MKL_INT* tsize,
             MKL_Complex16* work, const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void zgelq( const MKL_INT* m, const MKL_INT* n, MKL_Complex16* a,
            const MKL_INT* lda, MKL_Complex16* t, const MKL_INT* tsize,
            MKL_Complex16* work, const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void zgelq_( const MKL_INT* m, const MKL_INT* n, MKL_Complex16* a,
             const MKL_INT* lda, MKL_Complex16* t, const MKL_INT* tsize,
             MKL_Complex16* work, const MKL_INT* lwork, MKL_INT* info ) NOTHROW;

void SGEMLQ( const char* side, const char* trans, const MKL_INT* m,
             const MKL_INT* n, const MKL_INT* k, const float* a, const MKL_INT* lda,
             const float* t, const MKL_INT* tsize, float* c,
             const MKL_INT* ldc, float* work, const MKL_INT* lwork,
             MKL_INT* info ) NOTHROW;
void SGEMLQ_( const char* side, const char* trans, const MKL_INT* m,
              const MKL_INT* n, const MKL_INT* k, const float* a, const MKL_INT* lda,
              const float* t, const MKL_INT* tsize, float* c,
              const MKL_INT* ldc, float* work, const MKL_INT* lwork,
              MKL_INT* info ) NOTHROW;
void sgemlq( const char* side, const char* trans, const MKL_INT* m,
             const MKL_INT* n, const MKL_INT* k, const float* a, const MKL_INT* lda,
             const float* t, const MKL_INT* tsize, float* c,
             const MKL_INT* ldc, float* work, const MKL_INT* lwork,
             MKL_INT* info ) NOTHROW;
void sgemlq_( const char* side, const char* trans, const MKL_INT* m,
              const MKL_INT* n, const MKL_INT* k, const float* a, const MKL_INT* lda,
              const float* t, const MKL_INT* tsize, float* c,
              const MKL_INT* ldc, float* work, const MKL_INT* lwork,
              MKL_INT* info ) NOTHROW;

void SLAMSWLQ( const char* side, const char* trans, const MKL_INT* m,
               const MKL_INT* n, const MKL_INT* k, const MKL_INT* mb,
               const MKL_INT* nb, float* a, const MKL_INT* lda, const float* t,
               const MKL_INT* ldt, float* c, const MKL_INT* ldc, float* work,
               const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void SLAMSWLQ_( const char* side, const char* trans, const MKL_INT* m,
                const MKL_INT* n, const MKL_INT* k, const MKL_INT* mb,
                const MKL_INT* nb, float* a, const MKL_INT* lda,
                const float* t, const MKL_INT* ldt, float* c,
                const MKL_INT* ldc, float* work, const MKL_INT* lwork,
                MKL_INT* info ) NOTHROW;
void slamswlq( const char* side, const char* trans, const MKL_INT* m,
               const MKL_INT* n, const MKL_INT* k, const MKL_INT* mb,
               const MKL_INT* nb, float* a, const MKL_INT* lda, const float* t,
               const MKL_INT* ldt, float* c, const MKL_INT* ldc, float* work,
               const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void slamswlq_( const char* side, const char* trans, const MKL_INT* m,
                const MKL_INT* n, const MKL_INT* k, const MKL_INT* mb,
                const MKL_INT* nb, float* a, const MKL_INT* lda,
                const float* t, const MKL_INT* ldt, float* c,
                const MKL_INT* ldc, float* work, const MKL_INT* lwork,
                MKL_INT* info ) NOTHROW;

void SLATSQR( const MKL_INT* m, const MKL_INT* n, const MKL_INT* mb,
              const MKL_INT* nb, float* a, const MKL_INT* lda, float* t,
              const MKL_INT* ldt, float* work, const MKL_INT* lwork,
              MKL_INT* info ) NOTHROW;
void SLATSQR_( const MKL_INT* m, const MKL_INT* n, const MKL_INT* mb,
               const MKL_INT* nb, float* a, const MKL_INT* lda, float* t,
               const MKL_INT* ldt, float* work, const MKL_INT* lwork,
               MKL_INT* info ) NOTHROW;
void slatsqr( const MKL_INT* m, const MKL_INT* n, const MKL_INT* mb,
              const MKL_INT* nb, float* a, const MKL_INT* lda, float* t,
              const MKL_INT* ldt, float* work, const MKL_INT* lwork,
              MKL_INT* info ) NOTHROW;
void slatsqr_( const MKL_INT* m, const MKL_INT* n, const MKL_INT* mb,
               const MKL_INT* nb, float* a, const MKL_INT* lda, float* t,
               const MKL_INT* ldt, float* work, const MKL_INT* lwork,
               MKL_INT* info ) NOTHROW;

void STPLQT2( const MKL_INT* m, const MKL_INT* n, const MKL_INT* l, float* a,
              const MKL_INT* lda, float* b, const MKL_INT* ldb, float* t,
              const MKL_INT* ldt, MKL_INT* info ) NOTHROW;
void STPLQT2_( const MKL_INT* m, const MKL_INT* n, const MKL_INT* l, float* a,
               const MKL_INT* lda, float* b, const MKL_INT* ldb, float* t,
               const MKL_INT* ldt, MKL_INT* info ) NOTHROW;
void stplqt2( const MKL_INT* m, const MKL_INT* n, const MKL_INT* l, float* a,
              const MKL_INT* lda, float* b, const MKL_INT* ldb, float* t,
              const MKL_INT* ldt, MKL_INT* info ) NOTHROW;
void stplqt2_( const MKL_INT* m, const MKL_INT* n, const MKL_INT* l, float* a,
               const MKL_INT* lda, float* b, const MKL_INT* ldb, float* t,
               const MKL_INT* ldt, MKL_INT* info ) NOTHROW;

void ZGELQT( const MKL_INT* m, const MKL_INT* n, const MKL_INT* mb,
             MKL_Complex16* a, const MKL_INT* lda, MKL_Complex16* t,
             const MKL_INT* ldt, MKL_Complex16* work, MKL_INT* info ) NOTHROW;
void ZGELQT_( const MKL_INT* m, const MKL_INT* n, const MKL_INT* mb,
              MKL_Complex16* a, const MKL_INT* lda, MKL_Complex16* t,
              const MKL_INT* ldt, MKL_Complex16* work, MKL_INT* info ) NOTHROW;
void zgelqt( const MKL_INT* m, const MKL_INT* n, const MKL_INT* mb,
             MKL_Complex16* a, const MKL_INT* lda, MKL_Complex16* t,
             const MKL_INT* ldt, MKL_Complex16* work, MKL_INT* info ) NOTHROW;
void zgelqt_( const MKL_INT* m, const MKL_INT* n, const MKL_INT* mb,
              MKL_Complex16* a, const MKL_INT* lda, MKL_Complex16* t,
              const MKL_INT* ldt, MKL_Complex16* work, MKL_INT* info ) NOTHROW;

void ZGELQT3( const MKL_INT* m, const MKL_INT* n, MKL_Complex16* a,
              const MKL_INT* lda, MKL_Complex16* t, const MKL_INT* ldt,
              MKL_INT* info ) NOTHROW;
void ZGELQT3_( const MKL_INT* m, const MKL_INT* n, MKL_Complex16* a,
               const MKL_INT* lda, MKL_Complex16* t, const MKL_INT* ldt,
               MKL_INT* info ) NOTHROW;
void zgelqt3( const MKL_INT* m, const MKL_INT* n, MKL_Complex16* a,
              const MKL_INT* lda, MKL_Complex16* t, const MKL_INT* ldt,
              MKL_INT* info ) NOTHROW;
void zgelqt3_( const MKL_INT* m, const MKL_INT* n, MKL_Complex16* a,
               const MKL_INT* lda, MKL_Complex16* t, const MKL_INT* ldt,
               MKL_INT* info ) NOTHROW;

void ZGEMLQ( const char* side, const char* trans, const MKL_INT* m,
             const MKL_INT* n, const MKL_INT* k, const MKL_Complex16* a,
             const MKL_INT* lda, const MKL_Complex16* t,
             const MKL_INT* tsize, MKL_Complex16* c, const MKL_INT* ldc,
             MKL_Complex16* work, const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void ZGEMLQ_( const char* side, const char* trans, const MKL_INT* m,
              const MKL_INT* n, const MKL_INT* k, const MKL_Complex16* a,
              const MKL_INT* lda, const MKL_Complex16* t,
              const MKL_INT* tsize, MKL_Complex16* c, const MKL_INT* ldc,
              MKL_Complex16* work, const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void zgemlq( const char* side, const char* trans, const MKL_INT* m,
             const MKL_INT* n, const MKL_INT* k, const MKL_Complex16* a,
             const MKL_INT* lda, const MKL_Complex16* t,
             const MKL_INT* tsize, MKL_Complex16* c, const MKL_INT* ldc,
             MKL_Complex16* work, const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void zgemlq_( const char* side, const char* trans, const MKL_INT* m,
              const MKL_INT* n, const MKL_INT* k, const MKL_Complex16* a,
              const MKL_INT* lda, const MKL_Complex16* t,
              const MKL_INT* tsize, MKL_Complex16* c, const MKL_INT* ldc,
              MKL_Complex16* work, const MKL_INT* lwork, MKL_INT* info ) NOTHROW;

void ZGEMLQT( const char* side, const char* trans, const MKL_INT* m,
              const MKL_INT* n, const MKL_INT* k, const MKL_INT* mb,
              const MKL_Complex16* v, const MKL_INT* ldv,
              const MKL_Complex16* t, const MKL_INT* ldt, MKL_Complex16* c,
              const MKL_INT* ldc, MKL_Complex16* work, MKL_INT* info ) NOTHROW;
void ZGEMLQT_( const char* side, const char* trans, const MKL_INT* m,
               const MKL_INT* n, const MKL_INT* k, const MKL_INT* mb,
               const MKL_Complex16* v, const MKL_INT* ldv,
               const MKL_Complex16* t, const MKL_INT* ldt, MKL_Complex16* c,
               const MKL_INT* ldc, MKL_Complex16* work, MKL_INT* info ) NOTHROW;
void zgemlqt( const char* side, const char* trans, const MKL_INT* m,
              const MKL_INT* n, const MKL_INT* k, const MKL_INT* mb,
              const MKL_Complex16* v, const MKL_INT* ldv,
              const MKL_Complex16* t, const MKL_INT* ldt, MKL_Complex16* c,
              const MKL_INT* ldc, MKL_Complex16* work, MKL_INT* info ) NOTHROW;
void zgemlqt_( const char* side, const char* trans, const MKL_INT* m,
               const MKL_INT* n, const MKL_INT* k, const MKL_INT* mb,
               const MKL_Complex16* v, const MKL_INT* ldv,
               const MKL_Complex16* t, const MKL_INT* ldt, MKL_Complex16* c,
               const MKL_INT* ldc, MKL_Complex16* work, MKL_INT* info ) NOTHROW;

void ZGEQR( const MKL_INT* m, const MKL_INT* n, MKL_Complex16* a,
            const MKL_INT* lda, MKL_Complex16* t, const MKL_INT* tsize,
            MKL_Complex16* work, const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void ZGEQR_( const MKL_INT* m, const MKL_INT* n, MKL_Complex16* a,
             const MKL_INT* lda, MKL_Complex16* t, const MKL_INT* tsize,
             MKL_Complex16* work, const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void zgeqr( const MKL_INT* m, const MKL_INT* n, MKL_Complex16* a,
            const MKL_INT* lda, MKL_Complex16* t, const MKL_INT* tsize,
            MKL_Complex16* work, const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void zgeqr_( const MKL_INT* m, const MKL_INT* n, MKL_Complex16* a,
             const MKL_INT* lda, MKL_Complex16* t, const MKL_INT* tsize,
             MKL_Complex16* work, const MKL_INT* lwork, MKL_INT* info ) NOTHROW;

void ZGETSLS( const char* trans, const MKL_INT* m, const MKL_INT* n,
              const MKL_INT* nrhs, MKL_Complex16* a, const MKL_INT* lda,
              MKL_Complex16* b, const MKL_INT* ldb, MKL_Complex16* work,
              const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void ZGETSLS_( const char* trans, const MKL_INT* m, const MKL_INT* n,
               const MKL_INT* nrhs, MKL_Complex16* a, const MKL_INT* lda,
               MKL_Complex16* b, const MKL_INT* ldb, MKL_Complex16* work,
               const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void zgetsls( const char* trans, const MKL_INT* m, const MKL_INT* n,
              const MKL_INT* nrhs, MKL_Complex16* a, const MKL_INT* lda,
              MKL_Complex16* b, const MKL_INT* ldb, MKL_Complex16* work,
              const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void zgetsls_( const char* trans, const MKL_INT* m, const MKL_INT* n,
               const MKL_INT* nrhs, MKL_Complex16* a, const MKL_INT* lda,
               MKL_Complex16* b, const MKL_INT* ldb, MKL_Complex16* work,
               const MKL_INT* lwork, MKL_INT* info ) NOTHROW;

void ZLAMSWLQ( const char* side, const char* trans, const MKL_INT* m,
               const MKL_INT* n, const MKL_INT* k, const MKL_INT* mb,
               const MKL_INT* nb, MKL_Complex16* a, const MKL_INT* lda,
               const MKL_Complex16* t, const MKL_INT* ldt, MKL_Complex16* c,
               const MKL_INT* ldc, MKL_Complex16* work, const MKL_INT* lwork,
               MKL_INT* info ) NOTHROW;
void ZLAMSWLQ_( const char* side, const char* trans, const MKL_INT* m,
                const MKL_INT* n, const MKL_INT* k, const MKL_INT* mb,
                const MKL_INT* nb, MKL_Complex16* a, const MKL_INT* lda,
                const MKL_Complex16* t, const MKL_INT* ldt, MKL_Complex16* c,
                const MKL_INT* ldc, MKL_Complex16* work, const MKL_INT* lwork,
                MKL_INT* info ) NOTHROW;
void zlamswlq( const char* side, const char* trans, const MKL_INT* m,
               const MKL_INT* n, const MKL_INT* k, const MKL_INT* mb,
               const MKL_INT* nb, MKL_Complex16* a, const MKL_INT* lda,
               const MKL_Complex16* t, const MKL_INT* ldt, MKL_Complex16* c,
               const MKL_INT* ldc, MKL_Complex16* work, const MKL_INT* lwork,
               MKL_INT* info ) NOTHROW;
void zlamswlq_( const char* side, const char* trans, const MKL_INT* m,
                const MKL_INT* n, const MKL_INT* k, const MKL_INT* mb,
                const MKL_INT* nb, MKL_Complex16* a, const MKL_INT* lda,
                const MKL_Complex16* t, const MKL_INT* ldt, MKL_Complex16* c,
                const MKL_INT* ldc, MKL_Complex16* work, const MKL_INT* lwork,
                MKL_INT* info ) NOTHROW;

void ZLAMTSQR( const char* side, const char* trans, const MKL_INT* m,
               const MKL_INT* n, const MKL_INT* k, const MKL_INT* mb,
               const MKL_INT* nb, MKL_Complex16* a, const MKL_INT* lda,
               const MKL_Complex16* t, const MKL_INT* ldt, MKL_Complex16* c,
               const MKL_INT* ldc, MKL_Complex16* work, const MKL_INT* lwork,
               MKL_INT* info ) NOTHROW;
void ZLAMTSQR_( const char* side, const char* trans, const MKL_INT* m,
                const MKL_INT* n, const MKL_INT* k, const MKL_INT* mb,
                const MKL_INT* nb, MKL_Complex16* a, const MKL_INT* lda,
                const MKL_Complex16* t, const MKL_INT* ldt, MKL_Complex16* c,
                const MKL_INT* ldc, MKL_Complex16* work, const MKL_INT* lwork,
                MKL_INT* info ) NOTHROW;
void zlamtsqr( const char* side, const char* trans, const MKL_INT* m,
               const MKL_INT* n, const MKL_INT* k, const MKL_INT* mb,
               const MKL_INT* nb, MKL_Complex16* a, const MKL_INT* lda,
               const MKL_Complex16* t, const MKL_INT* ldt, MKL_Complex16* c,
               const MKL_INT* ldc, MKL_Complex16* work, const MKL_INT* lwork,
               MKL_INT* info ) NOTHROW;
void zlamtsqr_( const char* side, const char* trans, const MKL_INT* m,
                const MKL_INT* n, const MKL_INT* k, const MKL_INT* mb,
                const MKL_INT* nb, MKL_Complex16* a, const MKL_INT* lda,
                const MKL_Complex16* t, const MKL_INT* ldt, MKL_Complex16* c,
                const MKL_INT* ldc, MKL_Complex16* work, const MKL_INT* lwork,
                MKL_INT* info ) NOTHROW;

void ZLASWLQ( const MKL_INT* m, const MKL_INT* n, const MKL_INT* mb,
              const MKL_INT* nb, MKL_Complex16* a, const MKL_INT* lda,
              MKL_Complex16* t, const MKL_INT* ldt, MKL_Complex16* work,
              const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void ZLASWLQ_( const MKL_INT* m, const MKL_INT* n, const MKL_INT* mb,
               const MKL_INT* nb, MKL_Complex16* a, const MKL_INT* lda,
               MKL_Complex16* t, const MKL_INT* ldt, MKL_Complex16* work,
               const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void zlaswlq( const MKL_INT* m, const MKL_INT* n, const MKL_INT* mb,
              const MKL_INT* nb, MKL_Complex16* a, const MKL_INT* lda,
              MKL_Complex16* t, const MKL_INT* ldt, MKL_Complex16* work,
              const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void zlaswlq_( const MKL_INT* m, const MKL_INT* n, const MKL_INT* mb,
               const MKL_INT* nb, MKL_Complex16* a, const MKL_INT* lda,
               MKL_Complex16* t, const MKL_INT* ldt, MKL_Complex16* work,
               const MKL_INT* lwork, MKL_INT* info ) NOTHROW;

void ZLATSQR( const MKL_INT* m, const MKL_INT* n, const MKL_INT* mb,
              const MKL_INT* nb, MKL_Complex16* a, const MKL_INT* lda,
              MKL_Complex16* t, const MKL_INT* ldt, MKL_Complex16* work,
              const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void ZLATSQR_( const MKL_INT* m, const MKL_INT* n, const MKL_INT* mb,
               const MKL_INT* nb, MKL_Complex16* a, const MKL_INT* lda,
               MKL_Complex16* t, const MKL_INT* ldt, MKL_Complex16* work,
               const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void zlatsqr( const MKL_INT* m, const MKL_INT* n, const MKL_INT* mb,
              const MKL_INT* nb, MKL_Complex16* a, const MKL_INT* lda,
              MKL_Complex16* t, const MKL_INT* ldt, MKL_Complex16* work,
              const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void zlatsqr_( const MKL_INT* m, const MKL_INT* n, const MKL_INT* mb,
               const MKL_INT* nb, MKL_Complex16* a, const MKL_INT* lda,
               MKL_Complex16* t, const MKL_INT* ldt, MKL_Complex16* work,
               const MKL_INT* lwork, MKL_INT* info ) NOTHROW;

void ZTPLQT( const MKL_INT* m, const MKL_INT* n, const MKL_INT* l,
             const MKL_INT* mb, MKL_Complex16* a, const MKL_INT* lda,
             MKL_Complex16* b, const MKL_INT* ldb, MKL_Complex16* t,
             const MKL_INT* ldt, MKL_Complex16* work, MKL_INT* info ) NOTHROW;
void ZTPLQT_( const MKL_INT* m, const MKL_INT* n, const MKL_INT* l,
              const MKL_INT* mb, MKL_Complex16* a, const MKL_INT* lda,
              MKL_Complex16* b, const MKL_INT* ldb, MKL_Complex16* t,
              const MKL_INT* ldt, MKL_Complex16* work, MKL_INT* info ) NOTHROW;
void ztplqt( const MKL_INT* m, const MKL_INT* n, const MKL_INT* l,
             const MKL_INT* mb, MKL_Complex16* a, const MKL_INT* lda,
             MKL_Complex16* b, const MKL_INT* ldb, MKL_Complex16* t,
             const MKL_INT* ldt, MKL_Complex16* work, MKL_INT* info ) NOTHROW;
void ztplqt_( const MKL_INT* m, const MKL_INT* n, const MKL_INT* l,
              const MKL_INT* mb, MKL_Complex16* a, const MKL_INT* lda,
              MKL_Complex16* b, const MKL_INT* ldb, MKL_Complex16* t,
              const MKL_INT* ldt, MKL_Complex16* work, MKL_INT* info ) NOTHROW;

void ZTPLQT2( const MKL_INT* m, const MKL_INT* n, const MKL_INT* l,
              MKL_Complex16* a, const MKL_INT* lda, MKL_Complex16* b,
              const MKL_INT* ldb, MKL_Complex16* t, const MKL_INT* ldt,
              MKL_INT* info ) NOTHROW;
void ZTPLQT2_( const MKL_INT* m, const MKL_INT* n, const MKL_INT* l,
               MKL_Complex16* a, const MKL_INT* lda, MKL_Complex16* b,
               const MKL_INT* ldb, MKL_Complex16* t, const MKL_INT* ldt,
               MKL_INT* info ) NOTHROW;
void ztplqt2( const MKL_INT* m, const MKL_INT* n, const MKL_INT* l,
              MKL_Complex16* a, const MKL_INT* lda, MKL_Complex16* b,
              const MKL_INT* ldb, MKL_Complex16* t, const MKL_INT* ldt,
              MKL_INT* info ) NOTHROW;
void ztplqt2_( const MKL_INT* m, const MKL_INT* n, const MKL_INT* l,
               MKL_Complex16* a, const MKL_INT* lda, MKL_Complex16* b,
               const MKL_INT* ldb, MKL_Complex16* t, const MKL_INT* ldt,
               MKL_INT* info ) NOTHROW;

void ZTPMLQT( const char* side, const char* trans, const MKL_INT* m,
              const MKL_INT* n, const MKL_INT* k, const MKL_INT* l,
              const MKL_INT* mb, const MKL_Complex16* v, const MKL_INT* ldv,
              const MKL_Complex16* t, const MKL_INT* ldt, MKL_Complex16* a,
              const MKL_INT* lda, MKL_Complex16* b, const MKL_INT* ldb,
              MKL_Complex16* work, MKL_INT* info ) NOTHROW;
void ZTPMLQT_( const char* side, const char* trans, const MKL_INT* m,
               const MKL_INT* n, const MKL_INT* k, const MKL_INT* l,
               const MKL_INT* mb, const MKL_Complex16* v, const MKL_INT* ldv,
               const MKL_Complex16* t, const MKL_INT* ldt, MKL_Complex16* a,
               const MKL_INT* lda, MKL_Complex16* b, const MKL_INT* ldb,
               MKL_Complex16* work, MKL_INT* info ) NOTHROW;
void ztpmlqt( const char* side, const char* trans, const MKL_INT* m,
              const MKL_INT* n, const MKL_INT* k, const MKL_INT* l,
              const MKL_INT* mb, const MKL_Complex16* v, const MKL_INT* ldv,
              const MKL_Complex16* t, const MKL_INT* ldt, MKL_Complex16* a,
              const MKL_INT* lda, MKL_Complex16* b, const MKL_INT* ldb,
              MKL_Complex16* work, MKL_INT* info ) NOTHROW;
void ztpmlqt_( const char* side, const char* trans, const MKL_INT* m,
               const MKL_INT* n, const MKL_INT* k, const MKL_INT* l,
               const MKL_INT* mb, const MKL_Complex16* v, const MKL_INT* ldv,
               const MKL_Complex16* t, const MKL_INT* ldt, MKL_Complex16* a,
               const MKL_INT* lda, MKL_Complex16* b, const MKL_INT* ldb,
               MKL_Complex16* work, MKL_INT* info ) NOTHROW;

void CHESV_AA( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs,
               MKL_Complex8* a, const MKL_INT* lda, MKL_INT* ipiv,
               MKL_Complex8* b, const MKL_INT* ldb, MKL_Complex8* work,
               const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void CHESV_AA_( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs,
                MKL_Complex8* a, const MKL_INT* lda, MKL_INT* ipiv,
                MKL_Complex8* b, const MKL_INT* ldb, MKL_Complex8* work,
                const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void chesv_aa( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs,
               MKL_Complex8* a, const MKL_INT* lda, MKL_INT* ipiv,
               MKL_Complex8* b, const MKL_INT* ldb, MKL_Complex8* work,
               const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void chesv_aa_( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs,
                MKL_Complex8* a, const MKL_INT* lda, MKL_INT* ipiv,
                MKL_Complex8* b, const MKL_INT* ldb, MKL_Complex8* work,
                const MKL_INT* lwork, MKL_INT* info ) NOTHROW;

void CHETRF_AA( const char* uplo, const MKL_INT* n, MKL_Complex8* a,
                const MKL_INT* lda, MKL_INT* ipiv, MKL_Complex8* work,
                const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void CHETRF_AA_( const char* uplo, const MKL_INT* n, MKL_Complex8* a,
                 const MKL_INT* lda, MKL_INT* ipiv, MKL_Complex8* work,
                 const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void chetrf_aa( const char* uplo, const MKL_INT* n, MKL_Complex8* a,
                const MKL_INT* lda, MKL_INT* ipiv, MKL_Complex8* work,
                const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void chetrf_aa_( const char* uplo, const MKL_INT* n, MKL_Complex8* a,
                 const MKL_INT* lda, MKL_INT* ipiv, MKL_Complex8* work,
                 const MKL_INT* lwork, MKL_INT* info ) NOTHROW;

void CHETRS_AA( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs,
                const MKL_Complex8* a, const MKL_INT* lda, const MKL_INT* ipiv,
                MKL_Complex8* b, const MKL_INT* ldb, MKL_Complex8* work,
                const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void CHETRS_AA_( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs,
                 const MKL_Complex8* a, const MKL_INT* lda,
                 const MKL_INT* ipiv, MKL_Complex8* b, const MKL_INT* ldb,
                 MKL_Complex8* work, const MKL_INT* lwork,
                 MKL_INT* info ) NOTHROW;
void chetrs_aa( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs,
                const MKL_Complex8* a, const MKL_INT* lda, const MKL_INT* ipiv,
                MKL_Complex8* b, const MKL_INT* ldb, MKL_Complex8* work,
                const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void chetrs_aa_( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs,
                 const MKL_Complex8* a, const MKL_INT* lda,
                 const MKL_INT* ipiv, MKL_Complex8* b, const MKL_INT* ldb,
                 MKL_Complex8* work, const MKL_INT* lwork,
                 MKL_INT* info ) NOTHROW;

void CLAHEF_AA( const char* uplo, const MKL_INT* j1, const MKL_INT* m,
                const MKL_INT* nb, MKL_Complex8* a, const MKL_INT* lda,
                MKL_INT* ipiv, MKL_Complex8* h, const MKL_INT* ldh,
                MKL_Complex8* work, MKL_INT* info ) NOTHROW;
void CLAHEF_AA_( const char* uplo, const MKL_INT* j1, const MKL_INT* m,
                 const MKL_INT* nb, MKL_Complex8* a, const MKL_INT* lda,
                 MKL_INT* ipiv, MKL_Complex8* h, const MKL_INT* ldh,
                 MKL_Complex8* work, MKL_INT* info ) NOTHROW;
void clahef_aa( const char* uplo, const MKL_INT* j1, const MKL_INT* m,
                const MKL_INT* nb, MKL_Complex8* a, const MKL_INT* lda,
                MKL_INT* ipiv, MKL_Complex8* h, const MKL_INT* ldh,
                MKL_Complex8* work, MKL_INT* info ) NOTHROW;
void clahef_aa_( const char* uplo, const MKL_INT* j1, const MKL_INT* m,
                 const MKL_INT* nb, MKL_Complex8* a, const MKL_INT* lda,
                 MKL_INT* ipiv, MKL_Complex8* h, const MKL_INT* ldh,
                 MKL_Complex8* work, MKL_INT* info ) NOTHROW;

void DLASYF_AA( const char* uplo, const MKL_INT* j1, const MKL_INT* m,
                const MKL_INT* nb, double* a, const MKL_INT* lda,
                MKL_INT* ipiv, double* h, const MKL_INT* ldh, double* work,
                MKL_INT* info ) NOTHROW;
void DLASYF_AA_( const char* uplo, const MKL_INT* j1, const MKL_INT* m,
                 const MKL_INT* nb, double* a, const MKL_INT* lda,
                 MKL_INT* ipiv, double* h, const MKL_INT* ldh, double* work,
                 MKL_INT* info ) NOTHROW;
void dlasyf_aa( const char* uplo, const MKL_INT* j1, const MKL_INT* m,
                const MKL_INT* nb, double* a, const MKL_INT* lda,
                MKL_INT* ipiv, double* h, const MKL_INT* ldh, double* work,
                MKL_INT* info ) NOTHROW;
void dlasyf_aa_( const char* uplo, const MKL_INT* j1, const MKL_INT* m,
                 const MKL_INT* nb, double* a, const MKL_INT* lda,
                 MKL_INT* ipiv, double* h, const MKL_INT* ldh, double* work,
                 MKL_INT* info ) NOTHROW;

void DSYSV_AA( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs,
               double* a, const MKL_INT* lda, MKL_INT* ipiv, double* b,
               const MKL_INT* ldb, double* work, const MKL_INT* lwork,
               MKL_INT* info ) NOTHROW;
void DSYSV_AA_( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs,
                double* a, const MKL_INT* lda, MKL_INT* ipiv, double* b,
                const MKL_INT* ldb, double* work, const MKL_INT* lwork,
                MKL_INT* info ) NOTHROW;
void dsysv_aa( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs,
               double* a, const MKL_INT* lda, MKL_INT* ipiv, double* b,
               const MKL_INT* ldb, double* work, const MKL_INT* lwork,
               MKL_INT* info ) NOTHROW;
void dsysv_aa_( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs,
                double* a, const MKL_INT* lda, MKL_INT* ipiv, double* b,
                const MKL_INT* ldb, double* work, const MKL_INT* lwork,
                MKL_INT* info ) NOTHROW;

void DSYTRF_AA( const char* uplo, const MKL_INT* n, double* a,
                const MKL_INT* lda, MKL_INT* ipiv, double* work,
                const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void DSYTRF_AA_( const char* uplo, const MKL_INT* n, double* a,
                 const MKL_INT* lda, MKL_INT* ipiv, double* work,
                 const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void dsytrf_aa( const char* uplo, const MKL_INT* n, double* a,
                const MKL_INT* lda, MKL_INT* ipiv, double* work,
                const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void dsytrf_aa_( const char* uplo, const MKL_INT* n, double* a,
                 const MKL_INT* lda, MKL_INT* ipiv, double* work,
                 const MKL_INT* lwork, MKL_INT* info ) NOTHROW;

void DSYTRS_AA( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs,
                const double* a, const MKL_INT* lda, const MKL_INT* ipiv,
                double* b, const MKL_INT* ldb, double* work,
                const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void DSYTRS_AA_( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs,
                 const double* a, const MKL_INT* lda, const MKL_INT* ipiv,
                 double* b, const MKL_INT* ldb, double* work,
                 const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void dsytrs_aa( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs,
                const double* a, const MKL_INT* lda, const MKL_INT* ipiv,
                double* b, const MKL_INT* ldb, double* work,
                const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void dsytrs_aa_( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs,
                 const double* a, const MKL_INT* lda, const MKL_INT* ipiv,
                 double* b, const MKL_INT* ldb, double* work,
                 const MKL_INT* lwork, MKL_INT* info ) NOTHROW;

void SLASYF_AA( const char* uplo, const MKL_INT* j1, const MKL_INT* m,
                const MKL_INT* nb, float* a, const MKL_INT* lda, MKL_INT* ipiv,
                float* h, const MKL_INT* ldh, float* work, MKL_INT* info ) NOTHROW;
void SLASYF_AA_( const char* uplo, const MKL_INT* j1, const MKL_INT* m,
                 const MKL_INT* nb, float* a, const MKL_INT* lda,
                 MKL_INT* ipiv, float* h, const MKL_INT* ldh, float* work,
                 MKL_INT* info ) NOTHROW;
void slasyf_aa( const char* uplo, const MKL_INT* j1, const MKL_INT* m,
                const MKL_INT* nb, float* a, const MKL_INT* lda, MKL_INT* ipiv,
                float* h, const MKL_INT* ldh, float* work, MKL_INT* info ) NOTHROW;
void slasyf_aa_( const char* uplo, const MKL_INT* j1, const MKL_INT* m,
                 const MKL_INT* nb, float* a, const MKL_INT* lda,
                 MKL_INT* ipiv, float* h, const MKL_INT* ldh, float* work,
                 MKL_INT* info ) NOTHROW;

void SSYSV_AA( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs,
               float* a, const MKL_INT* lda, MKL_INT* ipiv, float* b,
               const MKL_INT* ldb, float* work, const MKL_INT* lwork,
               MKL_INT* info ) NOTHROW;
void SSYSV_AA_( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs,
                float* a, const MKL_INT* lda, MKL_INT* ipiv, float* b,
                const MKL_INT* ldb, float* work, const MKL_INT* lwork,
                MKL_INT* info ) NOTHROW;
void ssysv_aa( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs,
               float* a, const MKL_INT* lda, MKL_INT* ipiv, float* b,
               const MKL_INT* ldb, float* work, const MKL_INT* lwork,
               MKL_INT* info ) NOTHROW;
void ssysv_aa_( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs,
                float* a, const MKL_INT* lda, MKL_INT* ipiv, float* b,
                const MKL_INT* ldb, float* work, const MKL_INT* lwork,
                MKL_INT* info ) NOTHROW;

void SSYTRF_AA( const char* uplo, const MKL_INT* n, float* a,
                const MKL_INT* lda, MKL_INT* ipiv, float* work,
                const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void SSYTRF_AA_( const char* uplo, const MKL_INT* n, float* a,
                 const MKL_INT* lda, MKL_INT* ipiv, float* work,
                 const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void ssytrf_aa( const char* uplo, const MKL_INT* n, float* a,
                const MKL_INT* lda, MKL_INT* ipiv, float* work,
                const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void ssytrf_aa_( const char* uplo, const MKL_INT* n, float* a,
                 const MKL_INT* lda, MKL_INT* ipiv, float* work,
                 const MKL_INT* lwork, MKL_INT* info ) NOTHROW;

void SSYTRS_AA( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs,
                const float* a, const MKL_INT* lda, const MKL_INT* ipiv,
                float* b, const MKL_INT* ldb, float* work,
                const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void SSYTRS_AA_( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs,
                 const float* a, const MKL_INT* lda, const MKL_INT* ipiv,
                 float* b, const MKL_INT* ldb, float* work,
                 const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void ssytrs_aa( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs,
                const float* a, const MKL_INT* lda, const MKL_INT* ipiv,
                float* b, const MKL_INT* ldb, float* work,
                const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void ssytrs_aa_( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs,
                 const float* a, const MKL_INT* lda, const MKL_INT* ipiv,
                 float* b, const MKL_INT* ldb, float* work,
                 const MKL_INT* lwork, MKL_INT* info ) NOTHROW;

void ZHESV_AA( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs,
               MKL_Complex16* a, const MKL_INT* lda, MKL_INT* ipiv,
               MKL_Complex16* b, const MKL_INT* ldb, MKL_Complex16* work,
               const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void ZHESV_AA_( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs,
                MKL_Complex16* a, const MKL_INT* lda, MKL_INT* ipiv,
                MKL_Complex16* b, const MKL_INT* ldb, MKL_Complex16* work,
                const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void zhesv_aa( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs,
               MKL_Complex16* a, const MKL_INT* lda, MKL_INT* ipiv,
               MKL_Complex16* b, const MKL_INT* ldb, MKL_Complex16* work,
               const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void zhesv_aa_( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs,
                MKL_Complex16* a, const MKL_INT* lda, MKL_INT* ipiv,
                MKL_Complex16* b, const MKL_INT* ldb, MKL_Complex16* work,
                const MKL_INT* lwork, MKL_INT* info ) NOTHROW;

void ZHETRF_AA( const char* uplo, const MKL_INT* n, MKL_Complex16* a,
                const MKL_INT* lda, MKL_INT* ipiv, MKL_Complex16* work,
                const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void ZHETRF_AA_( const char* uplo, const MKL_INT* n, MKL_Complex16* a,
                 const MKL_INT* lda, MKL_INT* ipiv, MKL_Complex16* work,
                 const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void zhetrf_aa( const char* uplo, const MKL_INT* n, MKL_Complex16* a,
                const MKL_INT* lda, MKL_INT* ipiv, MKL_Complex16* work,
                const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void zhetrf_aa_( const char* uplo, const MKL_INT* n, MKL_Complex16* a,
                 const MKL_INT* lda, MKL_INT* ipiv, MKL_Complex16* work,
                 const MKL_INT* lwork, MKL_INT* info ) NOTHROW;

void ZHETRS_AA( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs,
                const MKL_Complex16* a, const MKL_INT* lda,
                const MKL_INT* ipiv, MKL_Complex16* b, const MKL_INT* ldb,
                MKL_Complex16* work, const MKL_INT* lwork,
                MKL_INT* info ) NOTHROW;
void ZHETRS_AA_( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs,
                 const MKL_Complex16* a, const MKL_INT* lda,
                 const MKL_INT* ipiv, MKL_Complex16* b, const MKL_INT* ldb,
                 MKL_Complex16* work, const MKL_INT* lwork,
                 MKL_INT* info ) NOTHROW;
void zhetrs_aa( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs,
                const MKL_Complex16* a, const MKL_INT* lda,
                const MKL_INT* ipiv, MKL_Complex16* b, const MKL_INT* ldb,
                MKL_Complex16* work, const MKL_INT* lwork,
                MKL_INT* info ) NOTHROW;
void zhetrs_aa_( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs,
                 const MKL_Complex16* a, const MKL_INT* lda,
                 const MKL_INT* ipiv, MKL_Complex16* b, const MKL_INT* ldb,
                 MKL_Complex16* work, const MKL_INT* lwork,
                 MKL_INT* info ) NOTHROW;

void ZLAHEF_AA( const char* uplo, const MKL_INT* j1, const MKL_INT* m,
                const MKL_INT* nb, MKL_Complex16* a, const MKL_INT* lda,
                MKL_INT* ipiv, MKL_Complex16* h, const MKL_INT* ldh,
                MKL_Complex16* work, MKL_INT* info ) NOTHROW;
void ZLAHEF_AA_( const char* uplo, const MKL_INT* j1, const MKL_INT* m,
                 const MKL_INT* nb, MKL_Complex16* a, const MKL_INT* lda,
                 MKL_INT* ipiv, MKL_Complex16* h, const MKL_INT* ldh,
                 MKL_Complex16* work, MKL_INT* info ) NOTHROW;
void zlahef_aa( const char* uplo, const MKL_INT* j1, const MKL_INT* m,
                const MKL_INT* nb, MKL_Complex16* a, const MKL_INT* lda,
                MKL_INT* ipiv, MKL_Complex16* h, const MKL_INT* ldh,
                MKL_Complex16* work, MKL_INT* info ) NOTHROW;
void zlahef_aa_( const char* uplo, const MKL_INT* j1, const MKL_INT* m,
                 const MKL_INT* nb, MKL_Complex16* a, const MKL_INT* lda,
                 MKL_INT* ipiv, MKL_Complex16* h, const MKL_INT* ldh,
                 MKL_Complex16* work, MKL_INT* info ) NOTHROW;

void CGEMQR( const char* side, const char* trans, const MKL_INT* m,
             const MKL_INT* n, const MKL_INT* k, const MKL_Complex8* a,
             const MKL_INT* lda, const MKL_Complex8* t,
             const MKL_INT* tsize, MKL_Complex8* c, const MKL_INT* ldc,
             MKL_Complex8* work, const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void CGEMQR_( const char* side, const char* trans, const MKL_INT* m,
              const MKL_INT* n, const MKL_INT* k, const MKL_Complex8* a,
              const MKL_INT* lda, const MKL_Complex8* t,
              const MKL_INT* tsize, MKL_Complex8* c, const MKL_INT* ldc,
              MKL_Complex8* work, const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void cgemqr( const char* side, const char* trans, const MKL_INT* m,
             const MKL_INT* n, const MKL_INT* k, const MKL_Complex8* a,
             const MKL_INT* lda, const MKL_Complex8* t,
             const MKL_INT* tsize, MKL_Complex8* c, const MKL_INT* ldc,
             MKL_Complex8* work, const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void cgemqr_( const char* side, const char* trans, const MKL_INT* m,
              const MKL_INT* n, const MKL_INT* k, const MKL_Complex8* a,
              const MKL_INT* lda, const MKL_Complex8* t,
              const MKL_INT* tsize, MKL_Complex8* c, const MKL_INT* ldc,
              MKL_Complex8* work, const MKL_INT* lwork, MKL_INT* info ) NOTHROW;

void DGEMQR( const char* side, const char* trans, const MKL_INT* m,
             const MKL_INT* n, const MKL_INT* k, const double* a,
             const MKL_INT* lda, const double* t, const MKL_INT* tsize,
             double* c, const MKL_INT* ldc, double* work,
             const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void DGEMQR_( const char* side, const char* trans, const MKL_INT* m,
              const MKL_INT* n, const MKL_INT* k, const double* a,
              const MKL_INT* lda, const double* t, const MKL_INT* tsize,
              double* c, const MKL_INT* ldc, double* work,
              const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void dgemqr( const char* side, const char* trans, const MKL_INT* m,
             const MKL_INT* n, const MKL_INT* k, const double* a,
             const MKL_INT* lda, const double* t, const MKL_INT* tsize,
             double* c, const MKL_INT* ldc, double* work,
             const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void dgemqr_( const char* side, const char* trans, const MKL_INT* m,
              const MKL_INT* n, const MKL_INT* k, const double* a,
              const MKL_INT* lda, const double* t, const MKL_INT* tsize,
              double* c, const MKL_INT* ldc, double* work,
              const MKL_INT* lwork, MKL_INT* info ) NOTHROW;

void SGEMQR( const char* side, const char* trans, const MKL_INT* m,
             const MKL_INT* n, const MKL_INT* k, const float* a,
             const MKL_INT* lda, const float* t, const MKL_INT* tsize,
             float* c, const MKL_INT* ldc, float* work, const MKL_INT* lwork,
             MKL_INT* info ) NOTHROW;
void SGEMQR_( const char* side, const char* trans, const MKL_INT* m,
              const MKL_INT* n, const MKL_INT* k, const float* a,
              const MKL_INT* lda, const float* t, const MKL_INT* tsize,
              float* c, const MKL_INT* ldc, float* work,
              const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void sgemqr( const char* side, const char* trans, const MKL_INT* m,
             const MKL_INT* n, const MKL_INT* k, const float* a,
             const MKL_INT* lda, const float* t, const MKL_INT* tsize,
             float* c, const MKL_INT* ldc, float* work, const MKL_INT* lwork,
             MKL_INT* info ) NOTHROW;
void sgemqr_( const char* side, const char* trans, const MKL_INT* m,
              const MKL_INT* n, const MKL_INT* k, const float* a,
              const MKL_INT* lda, const float* t, const MKL_INT* tsize,
              float* c, const MKL_INT* ldc, float* work,
              const MKL_INT* lwork, MKL_INT* info ) NOTHROW;

void ZGEMQR( const char* side, const char* trans, const MKL_INT* m,
             const MKL_INT* n, const MKL_INT* k, const MKL_Complex16* a,
             const MKL_INT* lda, const MKL_Complex16* t,
             const MKL_INT* tsize, MKL_Complex16* c, const MKL_INT* ldc,
             MKL_Complex16* work, const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void ZGEMQR_( const char* side, const char* trans, const MKL_INT* m,
              const MKL_INT* n, const MKL_INT* k, const MKL_Complex16* a,
              const MKL_INT* lda, const MKL_Complex16* t,
              const MKL_INT* tsize, MKL_Complex16* c, const MKL_INT* ldc,
              MKL_Complex16* work, const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void zgemqr( const char* side, const char* trans, const MKL_INT* m,
             const MKL_INT* n, const MKL_INT* k, const MKL_Complex16* a,
             const MKL_INT* lda, const MKL_Complex16* t,
             const MKL_INT* tsize, MKL_Complex16* c, const MKL_INT* ldc,
             MKL_Complex16* work, const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void zgemqr_( const char* side, const char* trans, const MKL_INT* m,
              const MKL_INT* n, const MKL_INT* k, const MKL_Complex16* a,
              const MKL_INT* lda, const MKL_Complex16* t,
              const MKL_INT* tsize, MKL_Complex16* c, const MKL_INT* ldc,
              MKL_Complex16* work, const MKL_INT* lwork, MKL_INT* info ) NOTHROW;

void CHECON_3( const char* uplo, const MKL_INT* n, const MKL_Complex8* a,
               const MKL_INT* lda, const MKL_Complex8* e, const MKL_INT* ipiv,
               const float* anorm, float* rcond, MKL_Complex8* work,
               MKL_INT* info ) NOTHROW;
void CHECON_3_( const char* uplo, const MKL_INT* n, const MKL_Complex8* a,
                const MKL_INT* lda, const MKL_Complex8* e, const MKL_INT* ipiv,
                const float* anorm, float* rcond, MKL_Complex8* work,
                MKL_INT* info ) NOTHROW;
void checon_3( const char* uplo, const MKL_INT* n, const MKL_Complex8* a,
               const MKL_INT* lda, const MKL_Complex8* e, const MKL_INT* ipiv,
               const float* anorm, float* rcond, MKL_Complex8* work,
               MKL_INT* info ) NOTHROW;
void checon_3_( const char* uplo, const MKL_INT* n, const MKL_Complex8* a,
                const MKL_INT* lda, const MKL_Complex8* e, const MKL_INT* ipiv,
                const float* anorm, float* rcond, MKL_Complex8* work,
                MKL_INT* info ) NOTHROW;

void CHESV_RK( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs,
               MKL_Complex8* a, const MKL_INT* lda, MKL_Complex8* e,
               MKL_INT* ipiv, MKL_Complex8* b, const MKL_INT* ldb,
               MKL_Complex8* work, const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void CHESV_RK_( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs,
                MKL_Complex8* a, const MKL_INT* lda, MKL_Complex8* e,
                MKL_INT* ipiv, MKL_Complex8* b, const MKL_INT* ldb,
                MKL_Complex8* work, const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void chesv_rk( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs,
               MKL_Complex8* a, const MKL_INT* lda, MKL_Complex8* e,
               MKL_INT* ipiv, MKL_Complex8* b, const MKL_INT* ldb,
               MKL_Complex8* work, const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void chesv_rk_( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs,
                MKL_Complex8* a, const MKL_INT* lda, MKL_Complex8* e,
                MKL_INT* ipiv, MKL_Complex8* b, const MKL_INT* ldb,
                MKL_Complex8* work, const MKL_INT* lwork, MKL_INT* info ) NOTHROW;

void CHETF2_RK( const char* uplo, const MKL_INT* n, MKL_Complex8* a,
                const MKL_INT* lda, MKL_Complex8* e, MKL_INT* ipiv,
                MKL_INT* info ) NOTHROW;
void CHETF2_RK_( const char* uplo, const MKL_INT* n, MKL_Complex8* a,
                 const MKL_INT* lda, MKL_Complex8* e, MKL_INT* ipiv,
                 MKL_INT* info ) NOTHROW;
void chetf2_rk( const char* uplo, const MKL_INT* n, MKL_Complex8* a,
                const MKL_INT* lda, MKL_Complex8* e, MKL_INT* ipiv,
                MKL_INT* info ) NOTHROW;
void chetf2_rk_( const char* uplo, const MKL_INT* n, MKL_Complex8* a,
                 const MKL_INT* lda, MKL_Complex8* e, MKL_INT* ipiv,
                 MKL_INT* info ) NOTHROW;

void CHETRF_RK( const char* uplo, const MKL_INT* n, MKL_Complex8* a,
                const MKL_INT* lda, MKL_Complex8* e, MKL_INT* ipiv,
                MKL_Complex8* work, const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void CHETRF_RK_( const char* uplo, const MKL_INT* n, MKL_Complex8* a,
                 const MKL_INT* lda, MKL_Complex8* e, MKL_INT* ipiv,
                 MKL_Complex8* work, const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void chetrf_rk( const char* uplo, const MKL_INT* n, MKL_Complex8* a,
                const MKL_INT* lda, MKL_Complex8* e, MKL_INT* ipiv,
                MKL_Complex8* work, const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void chetrf_rk_( const char* uplo, const MKL_INT* n, MKL_Complex8* a,
                 const MKL_INT* lda, MKL_Complex8* e, MKL_INT* ipiv,
                 MKL_Complex8* work, const MKL_INT* lwork, MKL_INT* info ) NOTHROW;

void CHETRI_3( const char* uplo, const MKL_INT* n, MKL_Complex8* a,
               const MKL_INT* lda, const MKL_Complex8* e, const MKL_INT* ipiv,
               MKL_Complex8* work, const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void CHETRI_3_( const char* uplo, const MKL_INT* n, MKL_Complex8* a,
                const MKL_INT* lda, const MKL_Complex8* e, const MKL_INT* ipiv,
                MKL_Complex8* work, const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void chetri_3( const char* uplo, const MKL_INT* n, MKL_Complex8* a,
               const MKL_INT* lda, const MKL_Complex8* e, const MKL_INT* ipiv,
               MKL_Complex8* work, const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void chetri_3_( const char* uplo, const MKL_INT* n, MKL_Complex8* a,
                const MKL_INT* lda, const MKL_Complex8* e, const MKL_INT* ipiv,
                MKL_Complex8* work, const MKL_INT* lwork, MKL_INT* info ) NOTHROW;

void CHETRI_3X( const char* uplo, const MKL_INT* n, MKL_Complex8* a,
                const MKL_INT* lda, const MKL_Complex8* e, const MKL_INT* ipiv,
                MKL_Complex8* work, const MKL_INT* nb, MKL_INT* info ) NOTHROW;
void CHETRI_3X_( const char* uplo, const MKL_INT* n, MKL_Complex8* a,
                 const MKL_INT* lda, const MKL_Complex8* e,
                 const MKL_INT* ipiv, MKL_Complex8* work, const MKL_INT* nb,
                 MKL_INT* info ) NOTHROW;
void chetri_3x( const char* uplo, const MKL_INT* n, MKL_Complex8* a,
                const MKL_INT* lda, const MKL_Complex8* e, const MKL_INT* ipiv,
                MKL_Complex8* work, const MKL_INT* nb, MKL_INT* info ) NOTHROW;
void chetri_3x_( const char* uplo, const MKL_INT* n, MKL_Complex8* a,
                 const MKL_INT* lda, const MKL_Complex8* e,
                 const MKL_INT* ipiv, MKL_Complex8* work, const MKL_INT* nb,
                 MKL_INT* info ) NOTHROW;

void CHETRS_3( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs,
               const MKL_Complex8* a, const MKL_INT* lda,
               const MKL_Complex8* e, const MKL_INT* ipiv, MKL_Complex8* b,
               const MKL_INT* ldb, MKL_INT* info ) NOTHROW;
void CHETRS_3_( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs,
                const MKL_Complex8* a, const MKL_INT* lda,
                const MKL_Complex8* e, const MKL_INT* ipiv, MKL_Complex8* b,
                const MKL_INT* ldb, MKL_INT* info ) NOTHROW;
void chetrs_3( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs,
               const MKL_Complex8* a, const MKL_INT* lda,
               const MKL_Complex8* e, const MKL_INT* ipiv, MKL_Complex8* b,
               const MKL_INT* ldb, MKL_INT* info ) NOTHROW;
void chetrs_3_( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs,
                const MKL_Complex8* a, const MKL_INT* lda,
                const MKL_Complex8* e, const MKL_INT* ipiv, MKL_Complex8* b,
                const MKL_INT* ldb, MKL_INT* info ) NOTHROW;

void CLAHEF_RK( const char* uplo, const MKL_INT* n, const MKL_INT* nb,
                MKL_INT* kb, MKL_Complex8* a, const MKL_INT* lda,
                MKL_Complex8* e, MKL_INT* ipiv, MKL_Complex8* w,
                const MKL_INT* ldw, MKL_INT* info ) NOTHROW;
void CLAHEF_RK_( const char* uplo, const MKL_INT* n, const MKL_INT* nb,
                 MKL_INT* kb, MKL_Complex8* a, const MKL_INT* lda,
                 MKL_Complex8* e, MKL_INT* ipiv, MKL_Complex8* w,
                 const MKL_INT* ldw, MKL_INT* info ) NOTHROW;
void clahef_rk( const char* uplo, const MKL_INT* n, const MKL_INT* nb,
                MKL_INT* kb, MKL_Complex8* a, const MKL_INT* lda,
                MKL_Complex8* e, MKL_INT* ipiv, MKL_Complex8* w,
                const MKL_INT* ldw, MKL_INT* info ) NOTHROW;
void clahef_rk_( const char* uplo, const MKL_INT* n, const MKL_INT* nb,
                 MKL_INT* kb, MKL_Complex8* a, const MKL_INT* lda,
                 MKL_Complex8* e, MKL_INT* ipiv, MKL_Complex8* w,
                 const MKL_INT* ldw, MKL_INT* info ) NOTHROW;

void CLARFY( const char* uplo, const MKL_INT* n, const MKL_Complex8* v,
             const MKL_INT* incv, const MKL_Complex8* tau, MKL_Complex8* c,
             const MKL_INT* ldc, MKL_Complex8* work ) NOTHROW;
void CLARFY_( const char* uplo, const MKL_INT* n, const MKL_Complex8* v,
              const MKL_INT* incv, const MKL_Complex8* tau, MKL_Complex8* c,
              const MKL_INT* ldc, MKL_Complex8* work ) NOTHROW;
void clarfy( const char* uplo, const MKL_INT* n, const MKL_Complex8* v,
             const MKL_INT* incv, const MKL_Complex8* tau, MKL_Complex8* c,
             const MKL_INT* ldc, MKL_Complex8* work ) NOTHROW;
void clarfy_( const char* uplo, const MKL_INT* n, const MKL_Complex8* v,
              const MKL_INT* incv, const MKL_Complex8* tau, MKL_Complex8* c,
              const MKL_INT* ldc, MKL_Complex8* work ) NOTHROW;

void CLASYF_AA( const char* uplo, const MKL_INT* j1, const MKL_INT* m,
                const MKL_INT* nb, MKL_Complex8* a, const MKL_INT* lda,
                MKL_INT* ipiv, MKL_Complex8* h, const MKL_INT* ldh,
                MKL_Complex8* work, MKL_INT* info ) NOTHROW;
void CLASYF_AA_( const char* uplo, const MKL_INT* j1, const MKL_INT* m,
                 const MKL_INT* nb, MKL_Complex8* a, const MKL_INT* lda,
                 MKL_INT* ipiv, MKL_Complex8* h, const MKL_INT* ldh,
                 MKL_Complex8* work, MKL_INT* info ) NOTHROW;
void clasyf_aa( const char* uplo, const MKL_INT* j1, const MKL_INT* m,
                const MKL_INT* nb, MKL_Complex8* a, const MKL_INT* lda,
                MKL_INT* ipiv, MKL_Complex8* h, const MKL_INT* ldh,
                MKL_Complex8* work, MKL_INT* info ) NOTHROW;
void clasyf_aa_( const char* uplo, const MKL_INT* j1, const MKL_INT* m,
                 const MKL_INT* nb, MKL_Complex8* a, const MKL_INT* lda,
                 MKL_INT* ipiv, MKL_Complex8* h, const MKL_INT* ldh,
                 MKL_Complex8* work, MKL_INT* info ) NOTHROW;

void CLASYF_RK( const char* uplo, const MKL_INT* n, const MKL_INT* nb,
                MKL_INT* kb, MKL_Complex8* a, const MKL_INT* lda,
                MKL_Complex8* e, MKL_INT* ipiv, MKL_Complex8* w,
                const MKL_INT* ldw, MKL_INT* info ) NOTHROW;
void CLASYF_RK_( const char* uplo, const MKL_INT* n, const MKL_INT* nb,
                 MKL_INT* kb, MKL_Complex8* a, const MKL_INT* lda,
                 MKL_Complex8* e, MKL_INT* ipiv, MKL_Complex8* w,
                 const MKL_INT* ldw, MKL_INT* info ) NOTHROW;
void clasyf_rk( const char* uplo, const MKL_INT* n, const MKL_INT* nb,
                MKL_INT* kb, MKL_Complex8* a, const MKL_INT* lda,
                MKL_Complex8* e, MKL_INT* ipiv, MKL_Complex8* w,
                const MKL_INT* ldw, MKL_INT* info ) NOTHROW;
void clasyf_rk_( const char* uplo, const MKL_INT* n, const MKL_INT* nb,
                 MKL_INT* kb, MKL_Complex8* a, const MKL_INT* lda,
                 MKL_Complex8* e, MKL_INT* ipiv, MKL_Complex8* w,
                 const MKL_INT* ldw, MKL_INT* info ) NOTHROW;

void CSYCON_3( const char* uplo, const MKL_INT* n, const MKL_Complex8* a,
               const MKL_INT* lda, const MKL_Complex8* e, const MKL_INT* ipiv,
               const float* anorm, float* rcond, MKL_Complex8* work,
               MKL_INT* info ) NOTHROW;
void CSYCON_3_( const char* uplo, const MKL_INT* n, const MKL_Complex8* a,
                const MKL_INT* lda, const MKL_Complex8* e, const MKL_INT* ipiv,
                const float* anorm, float* rcond, MKL_Complex8* work,
                MKL_INT* info ) NOTHROW;
void csycon_3( const char* uplo, const MKL_INT* n, const MKL_Complex8* a,
               const MKL_INT* lda, const MKL_Complex8* e, const MKL_INT* ipiv,
               const float* anorm, float* rcond, MKL_Complex8* work,
               MKL_INT* info ) NOTHROW;
void csycon_3_( const char* uplo, const MKL_INT* n, const MKL_Complex8* a,
                const MKL_INT* lda, const MKL_Complex8* e, const MKL_INT* ipiv,
                const float* anorm, float* rcond, MKL_Complex8* work,
                MKL_INT* info ) NOTHROW;

void CSYCONVF( const char* uplo, const char* way, const MKL_INT* n,
               MKL_Complex8* a, const MKL_INT* lda, MKL_Complex8* e,
               MKL_INT* ipiv, MKL_INT* info ) NOTHROW;
void CSYCONVF_( const char* uplo, const char* way, const MKL_INT* n,
                MKL_Complex8* a, const MKL_INT* lda, MKL_Complex8* e,
                MKL_INT* ipiv, MKL_INT* info ) NOTHROW;
void csyconvf( const char* uplo, const char* way, const MKL_INT* n,
               MKL_Complex8* a, const MKL_INT* lda, MKL_Complex8* e,
               MKL_INT* ipiv, MKL_INT* info ) NOTHROW;
void csyconvf_( const char* uplo, const char* way, const MKL_INT* n,
                MKL_Complex8* a, const MKL_INT* lda, MKL_Complex8* e,
                MKL_INT* ipiv, MKL_INT* info ) NOTHROW;

void CSYCONVF_ROOK( const char* uplo, const char* way, const MKL_INT* n,
                    MKL_Complex8* a, const MKL_INT* lda, MKL_Complex8* e,
                    const MKL_INT* ipiv, MKL_INT* info ) NOTHROW;
void CSYCONVF_ROOK_( const char* uplo, const char* way, const MKL_INT* n,
                     MKL_Complex8* a, const MKL_INT* lda, MKL_Complex8* e,
                     const MKL_INT* ipiv, MKL_INT* info ) NOTHROW;
void csyconvf_rook( const char* uplo, const char* way, const MKL_INT* n,
                    MKL_Complex8* a, const MKL_INT* lda, MKL_Complex8* e,
                    const MKL_INT* ipiv, MKL_INT* info ) NOTHROW;
void csyconvf_rook_( const char* uplo, const char* way, const MKL_INT* n,
                     MKL_Complex8* a, const MKL_INT* lda, MKL_Complex8* e,
                     const MKL_INT* ipiv, MKL_INT* info ) NOTHROW;

void CSYSV_AA( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs,
               MKL_Complex8* a, const MKL_INT* lda, MKL_INT* ipiv,
               MKL_Complex8* b, const MKL_INT* ldb, MKL_Complex8* work,
               const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void CSYSV_AA_( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs,
                MKL_Complex8* a, const MKL_INT* lda, MKL_INT* ipiv,
                MKL_Complex8* b, const MKL_INT* ldb, MKL_Complex8* work,
                const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void csysv_aa( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs,
               MKL_Complex8* a, const MKL_INT* lda, MKL_INT* ipiv,
               MKL_Complex8* b, const MKL_INT* ldb, MKL_Complex8* work,
               const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void csysv_aa_( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs,
                MKL_Complex8* a, const MKL_INT* lda, MKL_INT* ipiv,
                MKL_Complex8* b, const MKL_INT* ldb, MKL_Complex8* work,
                const MKL_INT* lwork, MKL_INT* info ) NOTHROW;

void CSYSV_RK( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs,
               MKL_Complex8* a, const MKL_INT* lda, MKL_Complex8* e,
               MKL_INT* ipiv, MKL_Complex8* b, const MKL_INT* ldb,
               MKL_Complex8* work, const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void CSYSV_RK_( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs,
                MKL_Complex8* a, const MKL_INT* lda, MKL_Complex8* e,
                MKL_INT* ipiv, MKL_Complex8* b, const MKL_INT* ldb,
                MKL_Complex8* work, const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void csysv_rk( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs,
               MKL_Complex8* a, const MKL_INT* lda, MKL_Complex8* e,
               MKL_INT* ipiv, MKL_Complex8* b, const MKL_INT* ldb,
               MKL_Complex8* work, const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void csysv_rk_( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs,
                MKL_Complex8* a, const MKL_INT* lda, MKL_Complex8* e,
                MKL_INT* ipiv, MKL_Complex8* b, const MKL_INT* ldb,
                MKL_Complex8* work, const MKL_INT* lwork, MKL_INT* info ) NOTHROW;

void CSYTF2_RK( const char* uplo, const MKL_INT* n, MKL_Complex8* a,
                const MKL_INT* lda, MKL_Complex8* e, MKL_INT* ipiv,
                MKL_INT* info ) NOTHROW;
void CSYTF2_RK_( const char* uplo, const MKL_INT* n, MKL_Complex8* a,
                 const MKL_INT* lda, MKL_Complex8* e, MKL_INT* ipiv,
                 MKL_INT* info ) NOTHROW;
void csytf2_rk( const char* uplo, const MKL_INT* n, MKL_Complex8* a,
                const MKL_INT* lda, MKL_Complex8* e, MKL_INT* ipiv,
                MKL_INT* info ) NOTHROW;
void csytf2_rk_( const char* uplo, const MKL_INT* n, MKL_Complex8* a,
                 const MKL_INT* lda, MKL_Complex8* e, MKL_INT* ipiv,
                 MKL_INT* info ) NOTHROW;

void CSYTRF_AA( const char* uplo, const MKL_INT* n, MKL_Complex8* a,
                const MKL_INT* lda, MKL_INT* ipiv, MKL_Complex8* work,
                const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void CSYTRF_AA_( const char* uplo, const MKL_INT* n, MKL_Complex8* a,
                 const MKL_INT* lda, MKL_INT* ipiv, MKL_Complex8* work,
                 const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void csytrf_aa( const char* uplo, const MKL_INT* n, MKL_Complex8* a,
                const MKL_INT* lda, MKL_INT* ipiv, MKL_Complex8* work,
                const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void csytrf_aa_( const char* uplo, const MKL_INT* n, MKL_Complex8* a,
                 const MKL_INT* lda, MKL_INT* ipiv, MKL_Complex8* work,
                 const MKL_INT* lwork, MKL_INT* info ) NOTHROW;

void CSYTRF_RK( const char* uplo, const MKL_INT* n, MKL_Complex8* a,
                const MKL_INT* lda, MKL_Complex8* e, MKL_INT* ipiv,
                MKL_Complex8* work, const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void CSYTRF_RK_( const char* uplo, const MKL_INT* n, MKL_Complex8* a,
                 const MKL_INT* lda, MKL_Complex8* e, MKL_INT* ipiv,
                 MKL_Complex8* work, const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void csytrf_rk( const char* uplo, const MKL_INT* n, MKL_Complex8* a,
                const MKL_INT* lda, MKL_Complex8* e, MKL_INT* ipiv,
                MKL_Complex8* work, const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void csytrf_rk_( const char* uplo, const MKL_INT* n, MKL_Complex8* a,
                 const MKL_INT* lda, MKL_Complex8* e, MKL_INT* ipiv,
                 MKL_Complex8* work, const MKL_INT* lwork, MKL_INT* info ) NOTHROW;

void CSYTRI_3( const char* uplo, const MKL_INT* n, MKL_Complex8* a,
               const MKL_INT* lda, const MKL_Complex8* e, const MKL_INT* ipiv,
               MKL_Complex8* work, const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void CSYTRI_3_( const char* uplo, const MKL_INT* n, MKL_Complex8* a,
                const MKL_INT* lda, const MKL_Complex8* e, const MKL_INT* ipiv,
                MKL_Complex8* work, const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void csytri_3( const char* uplo, const MKL_INT* n, MKL_Complex8* a,
               const MKL_INT* lda, const MKL_Complex8* e, const MKL_INT* ipiv,
               MKL_Complex8* work, const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void csytri_3_( const char* uplo, const MKL_INT* n, MKL_Complex8* a,
                const MKL_INT* lda, const MKL_Complex8* e, const MKL_INT* ipiv,
                MKL_Complex8* work, const MKL_INT* lwork, MKL_INT* info ) NOTHROW;

void CSYTRI_3X( const char* uplo, const MKL_INT* n, MKL_Complex8* a,
                const MKL_INT* lda, const MKL_Complex8* e, const MKL_INT* ipiv,
                MKL_Complex8* work, const MKL_INT* nb, MKL_INT* info ) NOTHROW;
void CSYTRI_3X_( const char* uplo, const MKL_INT* n, MKL_Complex8* a,
                 const MKL_INT* lda, const MKL_Complex8* e,
                 const MKL_INT* ipiv, MKL_Complex8* work, const MKL_INT* nb,
                 MKL_INT* info ) NOTHROW;
void csytri_3x( const char* uplo, const MKL_INT* n, MKL_Complex8* a,
                const MKL_INT* lda, const MKL_Complex8* e, const MKL_INT* ipiv,
                MKL_Complex8* work, const MKL_INT* nb, MKL_INT* info ) NOTHROW;
void csytri_3x_( const char* uplo, const MKL_INT* n, MKL_Complex8* a,
                 const MKL_INT* lda, const MKL_Complex8* e,
                 const MKL_INT* ipiv, MKL_Complex8* work, const MKL_INT* nb,
                 MKL_INT* info ) NOTHROW;

void CSYTRS_3( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs,
               const MKL_Complex8* a, const MKL_INT* lda,
               const MKL_Complex8* e, const MKL_INT* ipiv, MKL_Complex8* b,
               const MKL_INT* ldb, MKL_INT* info ) NOTHROW;
void CSYTRS_3_( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs,
                const MKL_Complex8* a, const MKL_INT* lda,
                const MKL_Complex8* e, const MKL_INT* ipiv, MKL_Complex8* b,
                const MKL_INT* ldb, MKL_INT* info ) NOTHROW;
void csytrs_3( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs,
               const MKL_Complex8* a, const MKL_INT* lda,
               const MKL_Complex8* e, const MKL_INT* ipiv, MKL_Complex8* b,
               const MKL_INT* ldb, MKL_INT* info ) NOTHROW;
void csytrs_3_( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs,
                const MKL_Complex8* a, const MKL_INT* lda,
                const MKL_Complex8* e, const MKL_INT* ipiv, MKL_Complex8* b,
                const MKL_INT* ldb, MKL_INT* info ) NOTHROW;

void CSYTRS_AA( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs,
                const MKL_Complex8* a, const MKL_INT* lda, const MKL_INT* ipiv,
                MKL_Complex8* b, const MKL_INT* ldb, MKL_Complex8* work,
                const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void CSYTRS_AA_( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs,
                 const MKL_Complex8* a, const MKL_INT* lda,
                 const MKL_INT* ipiv, MKL_Complex8* b, const MKL_INT* ldb,
                 MKL_Complex8* work, const MKL_INT* lwork,
                 MKL_INT* info ) NOTHROW;
void csytrs_aa( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs,
                const MKL_Complex8* a, const MKL_INT* lda, const MKL_INT* ipiv,
                MKL_Complex8* b, const MKL_INT* ldb, MKL_Complex8* work,
                const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void csytrs_aa_( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs,
                 const MKL_Complex8* a, const MKL_INT* lda,
                 const MKL_INT* ipiv, MKL_Complex8* b, const MKL_INT* ldb,
                 MKL_Complex8* work, const MKL_INT* lwork,
                 MKL_INT* info ) NOTHROW;

void DLARFY( const char* uplo, const MKL_INT* n, const double* v,
             const MKL_INT* incv, const double* tau, double* c,
             const MKL_INT* ldc, double* work ) NOTHROW;
void DLARFY_( const char* uplo, const MKL_INT* n, const double* v,
              const MKL_INT* incv, const double* tau, double* c,
              const MKL_INT* ldc, double* work ) NOTHROW;
void dlarfy( const char* uplo, const MKL_INT* n, const double* v,
             const MKL_INT* incv, const double* tau, double* c,
             const MKL_INT* ldc, double* work ) NOTHROW;
void dlarfy_( const char* uplo, const MKL_INT* n, const double* v,
              const MKL_INT* incv, const double* tau, double* c,
              const MKL_INT* ldc, double* work ) NOTHROW;

void DLASYF_RK( const char* uplo, const MKL_INT* n, const MKL_INT* nb,
                MKL_INT* kb, double* a, const MKL_INT* lda, double* e,
                MKL_INT* ipiv, double* w, const MKL_INT* ldw, MKL_INT* info ) NOTHROW;
void DLASYF_RK_( const char* uplo, const MKL_INT* n, const MKL_INT* nb,
                 MKL_INT* kb, double* a, const MKL_INT* lda, double* e,
                 MKL_INT* ipiv, double* w, const MKL_INT* ldw, MKL_INT* info ) NOTHROW;
void dlasyf_rk( const char* uplo, const MKL_INT* n, const MKL_INT* nb,
                MKL_INT* kb, double* a, const MKL_INT* lda, double* e,
                MKL_INT* ipiv, double* w, const MKL_INT* ldw, MKL_INT* info ) NOTHROW;
void dlasyf_rk_( const char* uplo, const MKL_INT* n, const MKL_INT* nb,
                 MKL_INT* kb, double* a, const MKL_INT* lda, double* e,
                 MKL_INT* ipiv, double* w, const MKL_INT* ldw, MKL_INT* info ) NOTHROW;

void DSYCON_3( const char* uplo, const MKL_INT* n, const double* a,
               const MKL_INT* lda, const double* e, const MKL_INT* ipiv,
               const double* anorm, double* rcond, double* work,
               MKL_INT* iwork, MKL_INT* info ) NOTHROW;
void DSYCON_3_( const char* uplo, const MKL_INT* n, const double* a,
                const MKL_INT* lda, const double* e, const MKL_INT* ipiv,
                const double* anorm, double* rcond, double* work,
                MKL_INT* iwork, MKL_INT* info ) NOTHROW;
void dsycon_3( const char* uplo, const MKL_INT* n, const double* a,
               const MKL_INT* lda, const double* e, const MKL_INT* ipiv,
               const double* anorm, double* rcond, double* work,
               MKL_INT* iwork, MKL_INT* info ) NOTHROW;
void dsycon_3_( const char* uplo, const MKL_INT* n, const double* a,
                const MKL_INT* lda, const double* e, const MKL_INT* ipiv,
                const double* anorm, double* rcond, double* work,
                MKL_INT* iwork, MKL_INT* info ) NOTHROW;

void DSYCONVF( const char* uplo, const char* way, const MKL_INT* n, double* a,
               const MKL_INT* lda, double* e, MKL_INT* ipiv, MKL_INT* info ) NOTHROW;
void DSYCONVF_( const char* uplo, const char* way, const MKL_INT* n, double* a,
                const MKL_INT* lda, double* e, MKL_INT* ipiv, MKL_INT* info ) NOTHROW;
void dsyconvf( const char* uplo, const char* way, const MKL_INT* n, double* a,
               const MKL_INT* lda, double* e, MKL_INT* ipiv, MKL_INT* info ) NOTHROW;
void dsyconvf_( const char* uplo, const char* way, const MKL_INT* n, double* a,
                const MKL_INT* lda, double* e, MKL_INT* ipiv, MKL_INT* info ) NOTHROW;

void DSYCONVF_ROOK( const char* uplo, const char* way, const MKL_INT* n,
                    double* a, const MKL_INT* lda, double* e,
                    const MKL_INT* ipiv, MKL_INT* info ) NOTHROW;
void DSYCONVF_ROOK_( const char* uplo, const char* way, const MKL_INT* n,
                     double* a, const MKL_INT* lda, double* e,
                     const MKL_INT* ipiv, MKL_INT* info ) NOTHROW;
void dsyconvf_rook( const char* uplo, const char* way, const MKL_INT* n,
                    double* a, const MKL_INT* lda, double* e,
                    const MKL_INT* ipiv, MKL_INT* info ) NOTHROW;
void dsyconvf_rook_( const char* uplo, const char* way, const MKL_INT* n,
                     double* a, const MKL_INT* lda, double* e,
                     const MKL_INT* ipiv, MKL_INT* info ) NOTHROW;

void DSYSV_RK( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs,
               double* a, const MKL_INT* lda, double* e, MKL_INT* ipiv,
               double* b, const MKL_INT* ldb, double* work,
               const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void DSYSV_RK_( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs,
                double* a, const MKL_INT* lda, double* e, MKL_INT* ipiv,
                double* b, const MKL_INT* ldb, double* work,
                const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void dsysv_rk( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs,
               double* a, const MKL_INT* lda, double* e, MKL_INT* ipiv,
               double* b, const MKL_INT* ldb, double* work,
               const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void dsysv_rk_( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs,
                double* a, const MKL_INT* lda, double* e, MKL_INT* ipiv,
                double* b, const MKL_INT* ldb, double* work,
                const MKL_INT* lwork, MKL_INT* info ) NOTHROW;

void DSYTF2_RK( const char* uplo, const MKL_INT* n, double* a,
                const MKL_INT* lda, double* e, MKL_INT* ipiv, MKL_INT* info ) NOTHROW;
void DSYTF2_RK_( const char* uplo, const MKL_INT* n, double* a,
                 const MKL_INT* lda, double* e, MKL_INT* ipiv, MKL_INT* info ) NOTHROW;
void dsytf2_rk( const char* uplo, const MKL_INT* n, double* a,
                const MKL_INT* lda, double* e, MKL_INT* ipiv, MKL_INT* info ) NOTHROW;
void dsytf2_rk_( const char* uplo, const MKL_INT* n, double* a,
                 const MKL_INT* lda, double* e, MKL_INT* ipiv, MKL_INT* info ) NOTHROW;

void DSYTRF_RK( const char* uplo, const MKL_INT* n, double* a,
                const MKL_INT* lda, double* e, MKL_INT* ipiv, double* work,
                const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void DSYTRF_RK_( const char* uplo, const MKL_INT* n, double* a,
                 const MKL_INT* lda, double* e, MKL_INT* ipiv, double* work,
                 const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void dsytrf_rk( const char* uplo, const MKL_INT* n, double* a,
                const MKL_INT* lda, double* e, MKL_INT* ipiv, double* work,
                const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void dsytrf_rk_( const char* uplo, const MKL_INT* n, double* a,
                 const MKL_INT* lda, double* e, MKL_INT* ipiv, double* work,
                 const MKL_INT* lwork, MKL_INT* info ) NOTHROW;

void DSYTRI_3( const char* uplo, const MKL_INT* n, double* a,
               const MKL_INT* lda, const double* e, const MKL_INT* ipiv,
               double* work, const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void DSYTRI_3_( const char* uplo, const MKL_INT* n, double* a,
                const MKL_INT* lda, const double* e, const MKL_INT* ipiv,
                double* work, const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void dsytri_3( const char* uplo, const MKL_INT* n, double* a,
               const MKL_INT* lda, const double* e, const MKL_INT* ipiv,
               double* work, const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void dsytri_3_( const char* uplo, const MKL_INT* n, double* a,
                const MKL_INT* lda, const double* e, const MKL_INT* ipiv,
                double* work, const MKL_INT* lwork, MKL_INT* info ) NOTHROW;

void DSYTRI_3X( const char* uplo, const MKL_INT* n, double* a,
                const MKL_INT* lda, const double* e, const MKL_INT* ipiv,
                double* work, const MKL_INT* nb, MKL_INT* info ) NOTHROW;
void DSYTRI_3X_( const char* uplo, const MKL_INT* n, double* a,
                 const MKL_INT* lda, const double* e, const MKL_INT* ipiv,
                 double* work, const MKL_INT* nb, MKL_INT* info ) NOTHROW;
void dsytri_3x( const char* uplo, const MKL_INT* n, double* a,
                const MKL_INT* lda, const double* e, const MKL_INT* ipiv,
                double* work, const MKL_INT* nb, MKL_INT* info ) NOTHROW;
void dsytri_3x_( const char* uplo, const MKL_INT* n, double* a,
                 const MKL_INT* lda, const double* e, const MKL_INT* ipiv,
                 double* work, const MKL_INT* nb, MKL_INT* info ) NOTHROW;

void DSYTRS_3( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs,
               const double* a, const MKL_INT* lda, const double* e,
               const MKL_INT* ipiv, double* b, const MKL_INT* ldb,
               MKL_INT* info ) NOTHROW;
void DSYTRS_3_( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs,
                const double* a, const MKL_INT* lda, const double* e,
                const MKL_INT* ipiv, double* b, const MKL_INT* ldb,
                MKL_INT* info ) NOTHROW;
void dsytrs_3( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs,
               const double* a, const MKL_INT* lda, const double* e,
               const MKL_INT* ipiv, double* b, const MKL_INT* ldb,
               MKL_INT* info ) NOTHROW;
void dsytrs_3_( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs,
                const double* a, const MKL_INT* lda, const double* e,
                const MKL_INT* ipiv, double* b, const MKL_INT* ldb,
                MKL_INT* info ) NOTHROW;

void SLARFY( const char* uplo, const MKL_INT* n, const float* v,
             const MKL_INT* incv, const float* tau, float* c,
             const MKL_INT* ldc, float* work ) NOTHROW;
void SLARFY_( const char* uplo, const MKL_INT* n, const float* v,
              const MKL_INT* incv, const float* tau, float* c,
              const MKL_INT* ldc, float* work ) NOTHROW;
void slarfy( const char* uplo, const MKL_INT* n, const float* v,
             const MKL_INT* incv, const float* tau, float* c,
             const MKL_INT* ldc, float* work ) NOTHROW;
void slarfy_( const char* uplo, const MKL_INT* n, const float* v,
              const MKL_INT* incv, const float* tau, float* c,
              const MKL_INT* ldc, float* work ) NOTHROW;

void SLASYF_RK( const char* uplo, const MKL_INT* n, const MKL_INT* nb,
                MKL_INT* kb, float* a, const MKL_INT* lda, float* e,
                MKL_INT* ipiv, float* w, const MKL_INT* ldw, MKL_INT* info ) NOTHROW;
void SLASYF_RK_( const char* uplo, const MKL_INT* n, const MKL_INT* nb,
                 MKL_INT* kb, float* a, const MKL_INT* lda, float* e,
                 MKL_INT* ipiv, float* w, const MKL_INT* ldw, MKL_INT* info ) NOTHROW;
void slasyf_rk( const char* uplo, const MKL_INT* n, const MKL_INT* nb,
                MKL_INT* kb, float* a, const MKL_INT* lda, float* e,
                MKL_INT* ipiv, float* w, const MKL_INT* ldw, MKL_INT* info ) NOTHROW;
void slasyf_rk_( const char* uplo, const MKL_INT* n, const MKL_INT* nb,
                 MKL_INT* kb, float* a, const MKL_INT* lda, float* e,
                 MKL_INT* ipiv, float* w, const MKL_INT* ldw, MKL_INT* info ) NOTHROW;

void SSYCON_3( const char* uplo, const MKL_INT* n, const float* a,
               const MKL_INT* lda, const float* e, const MKL_INT* ipiv,
               const float* anorm, float* rcond, float* work, MKL_INT* iwork,
               MKL_INT* info ) NOTHROW;
void SSYCON_3_( const char* uplo, const MKL_INT* n, const float* a,
                const MKL_INT* lda, const float* e, const MKL_INT* ipiv,
                const float* anorm, float* rcond, float* work, MKL_INT* iwork,
                MKL_INT* info ) NOTHROW;
void ssycon_3( const char* uplo, const MKL_INT* n, const float* a,
               const MKL_INT* lda, const float* e, const MKL_INT* ipiv,
               const float* anorm, float* rcond, float* work, MKL_INT* iwork,
               MKL_INT* info ) NOTHROW;
void ssycon_3_( const char* uplo, const MKL_INT* n, const float* a,
                const MKL_INT* lda, const float* e, const MKL_INT* ipiv,
                const float* anorm, float* rcond, float* work, MKL_INT* iwork,
                MKL_INT* info ) NOTHROW;

void SSYCONVF( const char* uplo, const char* way, const MKL_INT* n, float* a,
               const MKL_INT* lda, float* e, MKL_INT* ipiv, MKL_INT* info ) NOTHROW;
void SSYCONVF_( const char* uplo, const char* way, const MKL_INT* n, float* a,
                const MKL_INT* lda, float* e, MKL_INT* ipiv, MKL_INT* info ) NOTHROW;
void ssyconvf( const char* uplo, const char* way, const MKL_INT* n, float* a,
               const MKL_INT* lda, float* e, MKL_INT* ipiv, MKL_INT* info ) NOTHROW;
void ssyconvf_( const char* uplo, const char* way, const MKL_INT* n, float* a,
                const MKL_INT* lda, float* e, MKL_INT* ipiv, MKL_INT* info ) NOTHROW;

void SSYCONVF_ROOK( const char* uplo, const char* way, const MKL_INT* n,
                    float* a, const MKL_INT* lda, float* e,
                    const MKL_INT* ipiv, MKL_INT* info ) NOTHROW;
void SSYCONVF_ROOK_( const char* uplo, const char* way, const MKL_INT* n,
                     float* a, const MKL_INT* lda, float* e,
                     const MKL_INT* ipiv, MKL_INT* info ) NOTHROW;
void ssyconvf_rook( const char* uplo, const char* way, const MKL_INT* n,
                    float* a, const MKL_INT* lda, float* e,
                    const MKL_INT* ipiv, MKL_INT* info ) NOTHROW;
void ssyconvf_rook_( const char* uplo, const char* way, const MKL_INT* n,
                     float* a, const MKL_INT* lda, float* e,
                     const MKL_INT* ipiv, MKL_INT* info ) NOTHROW;

void SSYSV_RK( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs,
               float* a, const MKL_INT* lda, float* e, MKL_INT* ipiv, float* b,
               const MKL_INT* ldb, float* work, const MKL_INT* lwork,
               MKL_INT* info ) NOTHROW;
void SSYSV_RK_( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs,
                float* a, const MKL_INT* lda, float* e, MKL_INT* ipiv,
                float* b, const MKL_INT* ldb, float* work,
                const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void ssysv_rk( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs,
               float* a, const MKL_INT* lda, float* e, MKL_INT* ipiv, float* b,
               const MKL_INT* ldb, float* work, const MKL_INT* lwork,
               MKL_INT* info ) NOTHROW;
void ssysv_rk_( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs,
                float* a, const MKL_INT* lda, float* e, MKL_INT* ipiv,
                float* b, const MKL_INT* ldb, float* work,
                const MKL_INT* lwork, MKL_INT* info ) NOTHROW;

void SSYTF2_RK( const char* uplo, const MKL_INT* n, float* a,
                const MKL_INT* lda, float* e, MKL_INT* ipiv, MKL_INT* info ) NOTHROW;
void SSYTF2_RK_( const char* uplo, const MKL_INT* n, float* a,
                 const MKL_INT* lda, float* e, MKL_INT* ipiv, MKL_INT* info ) NOTHROW;
void ssytf2_rk( const char* uplo, const MKL_INT* n, float* a,
                const MKL_INT* lda, float* e, MKL_INT* ipiv, MKL_INT* info ) NOTHROW;
void ssytf2_rk_( const char* uplo, const MKL_INT* n, float* a,
                 const MKL_INT* lda, float* e, MKL_INT* ipiv, MKL_INT* info ) NOTHROW;

void SSYTRF_RK( const char* uplo, const MKL_INT* n, float* a,
                const MKL_INT* lda, float* e, MKL_INT* ipiv, float* work,
                const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void SSYTRF_RK_( const char* uplo, const MKL_INT* n, float* a,
                 const MKL_INT* lda, float* e, MKL_INT* ipiv, float* work,
                 const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void ssytrf_rk( const char* uplo, const MKL_INT* n, float* a,
                const MKL_INT* lda, float* e, MKL_INT* ipiv, float* work,
                const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void ssytrf_rk_( const char* uplo, const MKL_INT* n, float* a,
                 const MKL_INT* lda, float* e, MKL_INT* ipiv, float* work,
                 const MKL_INT* lwork, MKL_INT* info ) NOTHROW;

void SSYTRI_3( const char* uplo, const MKL_INT* n, float* a,
               const MKL_INT* lda, const float* e, const MKL_INT* ipiv,
               float* work, const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void SSYTRI_3_( const char* uplo, const MKL_INT* n, float* a,
                const MKL_INT* lda, const float* e, const MKL_INT* ipiv,
                float* work, const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void ssytri_3( const char* uplo, const MKL_INT* n, float* a,
               const MKL_INT* lda, const float* e, const MKL_INT* ipiv,
               float* work, const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void ssytri_3_( const char* uplo, const MKL_INT* n, float* a,
                const MKL_INT* lda, const float* e, const MKL_INT* ipiv,
                float* work, const MKL_INT* lwork, MKL_INT* info ) NOTHROW;

void SSYTRI_3X( const char* uplo, const MKL_INT* n, float* a,
                const MKL_INT* lda, const float* e, const MKL_INT* ipiv,
                float* work, const MKL_INT* nb, MKL_INT* info ) NOTHROW;
void SSYTRI_3X_( const char* uplo, const MKL_INT* n, float* a,
                 const MKL_INT* lda, const float* e, const MKL_INT* ipiv,
                 float* work, const MKL_INT* nb, MKL_INT* info ) NOTHROW;
void ssytri_3x( const char* uplo, const MKL_INT* n, float* a,
                const MKL_INT* lda, const float* e, const MKL_INT* ipiv,
                float* work, const MKL_INT* nb, MKL_INT* info ) NOTHROW;
void ssytri_3x_( const char* uplo, const MKL_INT* n, float* a,
                 const MKL_INT* lda, const float* e, const MKL_INT* ipiv,
                 float* work, const MKL_INT* nb, MKL_INT* info ) NOTHROW;

void SSYTRS_3( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs,
               const float* a, const MKL_INT* lda, const float* e,
               const MKL_INT* ipiv, float* b, const MKL_INT* ldb,
               MKL_INT* info ) NOTHROW;
void SSYTRS_3_( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs,
                const float* a, const MKL_INT* lda, const float* e,
                const MKL_INT* ipiv, float* b, const MKL_INT* ldb,
                MKL_INT* info ) NOTHROW;
void ssytrs_3( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs,
               const float* a, const MKL_INT* lda, const float* e,
               const MKL_INT* ipiv, float* b, const MKL_INT* ldb,
               MKL_INT* info ) NOTHROW;
void ssytrs_3_( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs,
                const float* a, const MKL_INT* lda, const float* e,
                const MKL_INT* ipiv, float* b, const MKL_INT* ldb,
                MKL_INT* info ) NOTHROW;

void ZHECON_3( const char* uplo, const MKL_INT* n, const MKL_Complex16* a,
               const MKL_INT* lda, const MKL_Complex16* e, const MKL_INT* ipiv,
               const double* anorm, double* rcond, MKL_Complex16* work,
               MKL_INT* info ) NOTHROW;
void ZHECON_3_( const char* uplo, const MKL_INT* n, const MKL_Complex16* a,
                const MKL_INT* lda, const MKL_Complex16* e,
                const MKL_INT* ipiv, const double* anorm, double* rcond,
                MKL_Complex16* work, MKL_INT* info ) NOTHROW;
void zhecon_3( const char* uplo, const MKL_INT* n, const MKL_Complex16* a,
               const MKL_INT* lda, const MKL_Complex16* e, const MKL_INT* ipiv,
               const double* anorm, double* rcond, MKL_Complex16* work,
               MKL_INT* info ) NOTHROW;
void zhecon_3_( const char* uplo, const MKL_INT* n, const MKL_Complex16* a,
                const MKL_INT* lda, const MKL_Complex16* e,
                const MKL_INT* ipiv, const double* anorm, double* rcond,
                MKL_Complex16* work, MKL_INT* info ) NOTHROW;

void ZHESV_RK( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs,
               MKL_Complex16* a, const MKL_INT* lda, MKL_Complex16* e,
               MKL_INT* ipiv, MKL_Complex16* b, const MKL_INT* ldb,
               MKL_Complex16* work, const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void ZHESV_RK_( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs,
                MKL_Complex16* a, const MKL_INT* lda, MKL_Complex16* e,
                MKL_INT* ipiv, MKL_Complex16* b, const MKL_INT* ldb,
                MKL_Complex16* work, const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void zhesv_rk( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs,
               MKL_Complex16* a, const MKL_INT* lda, MKL_Complex16* e,
               MKL_INT* ipiv, MKL_Complex16* b, const MKL_INT* ldb,
               MKL_Complex16* work, const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void zhesv_rk_( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs,
                MKL_Complex16* a, const MKL_INT* lda, MKL_Complex16* e,
                MKL_INT* ipiv, MKL_Complex16* b, const MKL_INT* ldb,
                MKL_Complex16* work, const MKL_INT* lwork, MKL_INT* info ) NOTHROW;

void ZHETF2_RK( const char* uplo, const MKL_INT* n, MKL_Complex16* a,
                const MKL_INT* lda, MKL_Complex16* e, MKL_INT* ipiv,
                MKL_INT* info ) NOTHROW;
void ZHETF2_RK_( const char* uplo, const MKL_INT* n, MKL_Complex16* a,
                 const MKL_INT* lda, MKL_Complex16* e, MKL_INT* ipiv,
                 MKL_INT* info ) NOTHROW;
void zhetf2_rk( const char* uplo, const MKL_INT* n, MKL_Complex16* a,
                const MKL_INT* lda, MKL_Complex16* e, MKL_INT* ipiv,
                MKL_INT* info ) NOTHROW;
void zhetf2_rk_( const char* uplo, const MKL_INT* n, MKL_Complex16* a,
                 const MKL_INT* lda, MKL_Complex16* e, MKL_INT* ipiv,
                 MKL_INT* info ) NOTHROW;

void ZHETRF_RK( const char* uplo, const MKL_INT* n, MKL_Complex16* a,
                const MKL_INT* lda, MKL_Complex16* e, MKL_INT* ipiv,
                MKL_Complex16* work, const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void ZHETRF_RK_( const char* uplo, const MKL_INT* n, MKL_Complex16* a,
                 const MKL_INT* lda, MKL_Complex16* e, MKL_INT* ipiv,
                 MKL_Complex16* work, const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void zhetrf_rk( const char* uplo, const MKL_INT* n, MKL_Complex16* a,
                const MKL_INT* lda, MKL_Complex16* e, MKL_INT* ipiv,
                MKL_Complex16* work, const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void zhetrf_rk_( const char* uplo, const MKL_INT* n, MKL_Complex16* a,
                 const MKL_INT* lda, MKL_Complex16* e, MKL_INT* ipiv,
                 MKL_Complex16* work, const MKL_INT* lwork, MKL_INT* info ) NOTHROW;

void ZHETRI_3( const char* uplo, const MKL_INT* n, MKL_Complex16* a,
               const MKL_INT* lda, const MKL_Complex16* e, const MKL_INT* ipiv,
               MKL_Complex16* work, const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void ZHETRI_3_( const char* uplo, const MKL_INT* n, MKL_Complex16* a,
                const MKL_INT* lda, const MKL_Complex16* e,
                const MKL_INT* ipiv, MKL_Complex16* work, const MKL_INT* lwork,
                MKL_INT* info ) NOTHROW;
void zhetri_3( const char* uplo, const MKL_INT* n, MKL_Complex16* a,
               const MKL_INT* lda, const MKL_Complex16* e, const MKL_INT* ipiv,
               MKL_Complex16* work, const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void zhetri_3_( const char* uplo, const MKL_INT* n, MKL_Complex16* a,
                const MKL_INT* lda, const MKL_Complex16* e,
                const MKL_INT* ipiv, MKL_Complex16* work, const MKL_INT* lwork,
                MKL_INT* info ) NOTHROW;

void ZHETRI_3X( const char* uplo, const MKL_INT* n, MKL_Complex16* a,
                const MKL_INT* lda, const MKL_Complex16* e,
                const MKL_INT* ipiv, MKL_Complex16* work, const MKL_INT* nb,
                MKL_INT* info ) NOTHROW;
void ZHETRI_3X_( const char* uplo, const MKL_INT* n, MKL_Complex16* a,
                 const MKL_INT* lda, const MKL_Complex16* e,
                 const MKL_INT* ipiv, MKL_Complex16* work, const MKL_INT* nb,
                 MKL_INT* info ) NOTHROW;
void zhetri_3x( const char* uplo, const MKL_INT* n, MKL_Complex16* a,
                const MKL_INT* lda, const MKL_Complex16* e,
                const MKL_INT* ipiv, MKL_Complex16* work, const MKL_INT* nb,
                MKL_INT* info ) NOTHROW;
void zhetri_3x_( const char* uplo, const MKL_INT* n, MKL_Complex16* a,
                 const MKL_INT* lda, const MKL_Complex16* e,
                 const MKL_INT* ipiv, MKL_Complex16* work, const MKL_INT* nb,
                 MKL_INT* info ) NOTHROW;

void ZHETRS_3( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs,
               const MKL_Complex16* a, const MKL_INT* lda,
               const MKL_Complex16* e, const MKL_INT* ipiv, MKL_Complex16* b,
               const MKL_INT* ldb, MKL_INT* info ) NOTHROW;
void ZHETRS_3_( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs,
                const MKL_Complex16* a, const MKL_INT* lda,
                const MKL_Complex16* e, const MKL_INT* ipiv, MKL_Complex16* b,
                const MKL_INT* ldb, MKL_INT* info ) NOTHROW;
void zhetrs_3( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs,
               const MKL_Complex16* a, const MKL_INT* lda,
               const MKL_Complex16* e, const MKL_INT* ipiv, MKL_Complex16* b,
               const MKL_INT* ldb, MKL_INT* info ) NOTHROW;
void zhetrs_3_( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs,
                const MKL_Complex16* a, const MKL_INT* lda,
                const MKL_Complex16* e, const MKL_INT* ipiv, MKL_Complex16* b,
                const MKL_INT* ldb, MKL_INT* info ) NOTHROW;

void ZLAHEF_RK( const char* uplo, const MKL_INT* n, const MKL_INT* nb,
                MKL_INT* kb, MKL_Complex16* a, const MKL_INT* lda,
                MKL_Complex16* e, MKL_INT* ipiv, MKL_Complex16* w,
                const MKL_INT* ldw, MKL_INT* info ) NOTHROW;
void ZLAHEF_RK_( const char* uplo, const MKL_INT* n, const MKL_INT* nb,
                 MKL_INT* kb, MKL_Complex16* a, const MKL_INT* lda,
                 MKL_Complex16* e, MKL_INT* ipiv, MKL_Complex16* w,
                 const MKL_INT* ldw, MKL_INT* info ) NOTHROW;
void zlahef_rk( const char* uplo, const MKL_INT* n, const MKL_INT* nb,
                MKL_INT* kb, MKL_Complex16* a, const MKL_INT* lda,
                MKL_Complex16* e, MKL_INT* ipiv, MKL_Complex16* w,
                const MKL_INT* ldw, MKL_INT* info ) NOTHROW;
void zlahef_rk_( const char* uplo, const MKL_INT* n, const MKL_INT* nb,
                 MKL_INT* kb, MKL_Complex16* a, const MKL_INT* lda,
                 MKL_Complex16* e, MKL_INT* ipiv, MKL_Complex16* w,
                 const MKL_INT* ldw, MKL_INT* info ) NOTHROW;

void ZLARFY( const char* uplo, const MKL_INT* n, const MKL_Complex16* v,
             const MKL_INT* incv, const MKL_Complex16* tau, MKL_Complex16* c,
             const MKL_INT* ldc, MKL_Complex16* work ) NOTHROW;
void ZLARFY_( const char* uplo, const MKL_INT* n, const MKL_Complex16* v,
              const MKL_INT* incv, const MKL_Complex16* tau, MKL_Complex16* c,
              const MKL_INT* ldc, MKL_Complex16* work ) NOTHROW;
void zlarfy( const char* uplo, const MKL_INT* n, const MKL_Complex16* v,
             const MKL_INT* incv, const MKL_Complex16* tau, MKL_Complex16* c,
             const MKL_INT* ldc, MKL_Complex16* work ) NOTHROW;
void zlarfy_( const char* uplo, const MKL_INT* n, const MKL_Complex16* v,
              const MKL_INT* incv, const MKL_Complex16* tau, MKL_Complex16* c,
              const MKL_INT* ldc, MKL_Complex16* work ) NOTHROW;

void ZLASYF_AA( const char* uplo, const MKL_INT* j1, const MKL_INT* m,
                const MKL_INT* nb, MKL_Complex16* a, const MKL_INT* lda,
                MKL_INT* ipiv, MKL_Complex16* h, const MKL_INT* ldh,
                MKL_Complex16* work, MKL_INT* info ) NOTHROW;
void ZLASYF_AA_( const char* uplo, const MKL_INT* j1, const MKL_INT* m,
                 const MKL_INT* nb, MKL_Complex16* a, const MKL_INT* lda,
                 MKL_INT* ipiv, MKL_Complex16* h, const MKL_INT* ldh,
                 MKL_Complex16* work, MKL_INT* info ) NOTHROW;
void zlasyf_aa( const char* uplo, const MKL_INT* j1, const MKL_INT* m,
                const MKL_INT* nb, MKL_Complex16* a, const MKL_INT* lda,
                MKL_INT* ipiv, MKL_Complex16* h, const MKL_INT* ldh,
                MKL_Complex16* work, MKL_INT* info ) NOTHROW;
void zlasyf_aa_( const char* uplo, const MKL_INT* j1, const MKL_INT* m,
                 const MKL_INT* nb, MKL_Complex16* a, const MKL_INT* lda,
                 MKL_INT* ipiv, MKL_Complex16* h, const MKL_INT* ldh,
                 MKL_Complex16* work, MKL_INT* info ) NOTHROW;

void ZLASYF_RK( const char* uplo, const MKL_INT* n, const MKL_INT* nb,
                MKL_INT* kb, MKL_Complex16* a, const MKL_INT* lda,
                MKL_Complex16* e, MKL_INT* ipiv, MKL_Complex16* w,
                const MKL_INT* ldw, MKL_INT* info ) NOTHROW;
void ZLASYF_RK_( const char* uplo, const MKL_INT* n, const MKL_INT* nb,
                 MKL_INT* kb, MKL_Complex16* a, const MKL_INT* lda,
                 MKL_Complex16* e, MKL_INT* ipiv, MKL_Complex16* w,
                 const MKL_INT* ldw, MKL_INT* info ) NOTHROW;
void zlasyf_rk( const char* uplo, const MKL_INT* n, const MKL_INT* nb,
                MKL_INT* kb, MKL_Complex16* a, const MKL_INT* lda,
                MKL_Complex16* e, MKL_INT* ipiv, MKL_Complex16* w,
                const MKL_INT* ldw, MKL_INT* info ) NOTHROW;
void zlasyf_rk_( const char* uplo, const MKL_INT* n, const MKL_INT* nb,
                 MKL_INT* kb, MKL_Complex16* a, const MKL_INT* lda,
                 MKL_Complex16* e, MKL_INT* ipiv, MKL_Complex16* w,
                 const MKL_INT* ldw, MKL_INT* info ) NOTHROW;

void ZSYCON_3( const char* uplo, const MKL_INT* n, const MKL_Complex16* a,
               const MKL_INT* lda, const MKL_Complex16* e, const MKL_INT* ipiv,
               const double* anorm, double* rcond, MKL_Complex16* work,
               MKL_INT* info ) NOTHROW;
void ZSYCON_3_( const char* uplo, const MKL_INT* n, const MKL_Complex16* a,
                const MKL_INT* lda, const MKL_Complex16* e,
                const MKL_INT* ipiv, const double* anorm, double* rcond,
                MKL_Complex16* work, MKL_INT* info ) NOTHROW;
void zsycon_3( const char* uplo, const MKL_INT* n, const MKL_Complex16* a,
               const MKL_INT* lda, const MKL_Complex16* e, const MKL_INT* ipiv,
               const double* anorm, double* rcond, MKL_Complex16* work,
               MKL_INT* info ) NOTHROW;
void zsycon_3_( const char* uplo, const MKL_INT* n, const MKL_Complex16* a,
                const MKL_INT* lda, const MKL_Complex16* e,
                const MKL_INT* ipiv, const double* anorm, double* rcond,
                MKL_Complex16* work, MKL_INT* info ) NOTHROW;

void ZSYCONVF( const char* uplo, const char* way, const MKL_INT* n,
               MKL_Complex16* a, const MKL_INT* lda, MKL_Complex16* e,
               MKL_INT* ipiv, MKL_INT* info ) NOTHROW;
void ZSYCONVF_( const char* uplo, const char* way, const MKL_INT* n,
                MKL_Complex16* a, const MKL_INT* lda, MKL_Complex16* e,
                MKL_INT* ipiv, MKL_INT* info ) NOTHROW;
void zsyconvf( const char* uplo, const char* way, const MKL_INT* n,
               MKL_Complex16* a, const MKL_INT* lda, MKL_Complex16* e,
               MKL_INT* ipiv, MKL_INT* info ) NOTHROW;
void zsyconvf_( const char* uplo, const char* way, const MKL_INT* n,
                MKL_Complex16* a, const MKL_INT* lda, MKL_Complex16* e,
                MKL_INT* ipiv, MKL_INT* info ) NOTHROW;

void ZSYCONVF_ROOK( const char* uplo, const char* way, const MKL_INT* n,
                    MKL_Complex16* a, const MKL_INT* lda, MKL_Complex16* e,
                    const MKL_INT* ipiv, MKL_INT* info ) NOTHROW;
void ZSYCONVF_ROOK_( const char* uplo, const char* way, const MKL_INT* n,
                     MKL_Complex16* a, const MKL_INT* lda, MKL_Complex16* e,
                     const MKL_INT* ipiv, MKL_INT* info ) NOTHROW;
void zsyconvf_rook( const char* uplo, const char* way, const MKL_INT* n,
                    MKL_Complex16* a, const MKL_INT* lda, MKL_Complex16* e,
                    const MKL_INT* ipiv, MKL_INT* info ) NOTHROW;
void zsyconvf_rook_( const char* uplo, const char* way, const MKL_INT* n,
                     MKL_Complex16* a, const MKL_INT* lda, MKL_Complex16* e,
                     const MKL_INT* ipiv, MKL_INT* info ) NOTHROW;

void ZSYSV_AA( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs,
               MKL_Complex16* a, const MKL_INT* lda, MKL_INT* ipiv,
               MKL_Complex16* b, const MKL_INT* ldb, MKL_Complex16* work,
               const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void ZSYSV_AA_( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs,
                MKL_Complex16* a, const MKL_INT* lda, MKL_INT* ipiv,
                MKL_Complex16* b, const MKL_INT* ldb, MKL_Complex16* work,
                const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void zsysv_aa( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs,
               MKL_Complex16* a, const MKL_INT* lda, MKL_INT* ipiv,
               MKL_Complex16* b, const MKL_INT* ldb, MKL_Complex16* work,
               const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void zsysv_aa_( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs,
                MKL_Complex16* a, const MKL_INT* lda, MKL_INT* ipiv,
                MKL_Complex16* b, const MKL_INT* ldb, MKL_Complex16* work,
                const MKL_INT* lwork, MKL_INT* info ) NOTHROW;

void ZSYSV_RK( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs,
               MKL_Complex16* a, const MKL_INT* lda, MKL_Complex16* e,
               MKL_INT* ipiv, MKL_Complex16* b, const MKL_INT* ldb,
               MKL_Complex16* work, const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void ZSYSV_RK_( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs,
                MKL_Complex16* a, const MKL_INT* lda, MKL_Complex16* e,
                MKL_INT* ipiv, MKL_Complex16* b, const MKL_INT* ldb,
                MKL_Complex16* work, const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void zsysv_rk( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs,
               MKL_Complex16* a, const MKL_INT* lda, MKL_Complex16* e,
               MKL_INT* ipiv, MKL_Complex16* b, const MKL_INT* ldb,
               MKL_Complex16* work, const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void zsysv_rk_( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs,
                MKL_Complex16* a, const MKL_INT* lda, MKL_Complex16* e,
                MKL_INT* ipiv, MKL_Complex16* b, const MKL_INT* ldb,
                MKL_Complex16* work, const MKL_INT* lwork, MKL_INT* info ) NOTHROW;

void ZSYTF2_RK( const char* uplo, const MKL_INT* n, MKL_Complex16* a,
                const MKL_INT* lda, MKL_Complex16* e, MKL_INT* ipiv,
                MKL_INT* info ) NOTHROW;
void ZSYTF2_RK_( const char* uplo, const MKL_INT* n, MKL_Complex16* a,
                 const MKL_INT* lda, MKL_Complex16* e, MKL_INT* ipiv,
                 MKL_INT* info ) NOTHROW;
void zsytf2_rk( const char* uplo, const MKL_INT* n, MKL_Complex16* a,
                const MKL_INT* lda, MKL_Complex16* e, MKL_INT* ipiv,
                MKL_INT* info ) NOTHROW;
void zsytf2_rk_( const char* uplo, const MKL_INT* n, MKL_Complex16* a,
                 const MKL_INT* lda, MKL_Complex16* e, MKL_INT* ipiv,
                 MKL_INT* info ) NOTHROW;

void ZSYTRF_AA( const char* uplo, const MKL_INT* n, MKL_Complex16* a,
                const MKL_INT* lda, MKL_INT* ipiv, MKL_Complex16* work,
                const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void ZSYTRF_AA_( const char* uplo, const MKL_INT* n, MKL_Complex16* a,
                 const MKL_INT* lda, MKL_INT* ipiv, MKL_Complex16* work,
                 const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void zsytrf_aa( const char* uplo, const MKL_INT* n, MKL_Complex16* a,
                const MKL_INT* lda, MKL_INT* ipiv, MKL_Complex16* work,
                const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void zsytrf_aa_( const char* uplo, const MKL_INT* n, MKL_Complex16* a,
                 const MKL_INT* lda, MKL_INT* ipiv, MKL_Complex16* work,
                 const MKL_INT* lwork, MKL_INT* info ) NOTHROW;

void ZSYTRF_RK( const char* uplo, const MKL_INT* n, MKL_Complex16* a,
                const MKL_INT* lda, MKL_Complex16* e, MKL_INT* ipiv,
                MKL_Complex16* work, const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void ZSYTRF_RK_( const char* uplo, const MKL_INT* n, MKL_Complex16* a,
                 const MKL_INT* lda, MKL_Complex16* e, MKL_INT* ipiv,
                 MKL_Complex16* work, const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void zsytrf_rk( const char* uplo, const MKL_INT* n, MKL_Complex16* a,
                const MKL_INT* lda, MKL_Complex16* e, MKL_INT* ipiv,
                MKL_Complex16* work, const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void zsytrf_rk_( const char* uplo, const MKL_INT* n, MKL_Complex16* a,
                 const MKL_INT* lda, MKL_Complex16* e, MKL_INT* ipiv,
                 MKL_Complex16* work, const MKL_INT* lwork, MKL_INT* info ) NOTHROW;

void ZSYTRI_3( const char* uplo, const MKL_INT* n, MKL_Complex16* a,
               const MKL_INT* lda, const MKL_Complex16* e, const MKL_INT* ipiv,
               MKL_Complex16* work, const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void ZSYTRI_3_( const char* uplo, const MKL_INT* n, MKL_Complex16* a,
                const MKL_INT* lda, const MKL_Complex16* e,
                const MKL_INT* ipiv, MKL_Complex16* work, const MKL_INT* lwork,
                MKL_INT* info ) NOTHROW;
void zsytri_3( const char* uplo, const MKL_INT* n, MKL_Complex16* a,
               const MKL_INT* lda, const MKL_Complex16* e, const MKL_INT* ipiv,
               MKL_Complex16* work, const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void zsytri_3_( const char* uplo, const MKL_INT* n, MKL_Complex16* a,
                const MKL_INT* lda, const MKL_Complex16* e,
                const MKL_INT* ipiv, MKL_Complex16* work, const MKL_INT* lwork,
                MKL_INT* info ) NOTHROW;

void ZSYTRI_3X( const char* uplo, const MKL_INT* n, MKL_Complex16* a,
                const MKL_INT* lda, const MKL_Complex16* e,
                const MKL_INT* ipiv, MKL_Complex16* work, const MKL_INT* nb,
                MKL_INT* info ) NOTHROW;
void ZSYTRI_3X_( const char* uplo, const MKL_INT* n, MKL_Complex16* a,
                 const MKL_INT* lda, const MKL_Complex16* e,
                 const MKL_INT* ipiv, MKL_Complex16* work, const MKL_INT* nb,
                 MKL_INT* info ) NOTHROW;
void zsytri_3x( const char* uplo, const MKL_INT* n, MKL_Complex16* a,
                const MKL_INT* lda, const MKL_Complex16* e,
                const MKL_INT* ipiv, MKL_Complex16* work, const MKL_INT* nb,
                MKL_INT* info ) NOTHROW;
void zsytri_3x_( const char* uplo, const MKL_INT* n, MKL_Complex16* a,
                 const MKL_INT* lda, const MKL_Complex16* e,
                 const MKL_INT* ipiv, MKL_Complex16* work, const MKL_INT* nb,
                 MKL_INT* info ) NOTHROW;

void ZSYTRS_3( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs,
               const MKL_Complex16* a, const MKL_INT* lda,
               const MKL_Complex16* e, const MKL_INT* ipiv, MKL_Complex16* b,
               const MKL_INT* ldb, MKL_INT* info ) NOTHROW;
void ZSYTRS_3_( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs,
                const MKL_Complex16* a, const MKL_INT* lda,
                const MKL_Complex16* e, const MKL_INT* ipiv, MKL_Complex16* b,
                const MKL_INT* ldb, MKL_INT* info ) NOTHROW;
void zsytrs_3( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs,
               const MKL_Complex16* a, const MKL_INT* lda,
               const MKL_Complex16* e, const MKL_INT* ipiv, MKL_Complex16* b,
               const MKL_INT* ldb, MKL_INT* info ) NOTHROW;
void zsytrs_3_( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs,
                const MKL_Complex16* a, const MKL_INT* lda,
                const MKL_Complex16* e, const MKL_INT* ipiv, MKL_Complex16* b,
                const MKL_INT* ldb, MKL_INT* info ) NOTHROW;

void ZSYTRS_AA( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs,
                const MKL_Complex16* a, const MKL_INT* lda,
                const MKL_INT* ipiv, MKL_Complex16* b, const MKL_INT* ldb,
                MKL_Complex16* work, const MKL_INT* lwork,
                MKL_INT* info ) NOTHROW;
void ZSYTRS_AA_( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs,
                 const MKL_Complex16* a, const MKL_INT* lda,
                 const MKL_INT* ipiv, MKL_Complex16* b, const MKL_INT* ldb,
                 MKL_Complex16* work, const MKL_INT* lwork,
                 MKL_INT* info ) NOTHROW;
void zsytrs_aa( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs,
                const MKL_Complex16* a, const MKL_INT* lda,
                const MKL_INT* ipiv, MKL_Complex16* b, const MKL_INT* ldb,
                MKL_Complex16* work, const MKL_INT* lwork,
                MKL_INT* info ) NOTHROW;
void zsytrs_aa_( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs,
                 const MKL_Complex16* a, const MKL_INT* lda,
                 const MKL_INT* ipiv, MKL_Complex16* b, const MKL_INT* ldb,
                 MKL_Complex16* work, const MKL_INT* lwork,
                 MKL_INT* info ) NOTHROW;

void CHB2ST_KERNELS( const char* uplo, const MKL_INT* wantz,
                     const MKL_INT* ttype, const MKL_INT* st,
                     const MKL_INT* ed, const MKL_INT* sweep, const MKL_INT* n,
                     const MKL_INT* nb, const MKL_INT* ib, MKL_Complex8* a,
                     const MKL_INT* lda, MKL_Complex8* v, MKL_Complex8* tau,
                     const MKL_INT* ldvt, MKL_Complex8* work ) NOTHROW;
void CHB2ST_KERNELS_( const char* uplo, const MKL_INT* wantz,
                      const MKL_INT* ttype, const MKL_INT* st,
                      const MKL_INT* ed, const MKL_INT* sweep,
                      const MKL_INT* n, const MKL_INT* nb, const MKL_INT* ib,
                      MKL_Complex8* a, const MKL_INT* lda, MKL_Complex8* v,
                      MKL_Complex8* tau, const MKL_INT* ldvt,
                      MKL_Complex8* work ) NOTHROW;
void chb2st_kernels( const char* uplo, const MKL_INT* wantz,
                     const MKL_INT* ttype, const MKL_INT* st,
                     const MKL_INT* ed, const MKL_INT* sweep, const MKL_INT* n,
                     const MKL_INT* nb, const MKL_INT* ib, MKL_Complex8* a,
                     const MKL_INT* lda, MKL_Complex8* v, MKL_Complex8* tau,
                     const MKL_INT* ldvt, MKL_Complex8* work ) NOTHROW;
void chb2st_kernels_( const char* uplo, const MKL_INT* wantz,
                      const MKL_INT* ttype, const MKL_INT* st,
                      const MKL_INT* ed, const MKL_INT* sweep,
                      const MKL_INT* n, const MKL_INT* nb, const MKL_INT* ib,
                      MKL_Complex8* a, const MKL_INT* lda, MKL_Complex8* v,
                      MKL_Complex8* tau, const MKL_INT* ldvt,
                      MKL_Complex8* work ) NOTHROW;

void CHBEV_2STAGE( const char* jobz, const char* uplo, const MKL_INT* n,
                   const MKL_INT* kd, MKL_Complex8* ab, const MKL_INT* ldab,
                   float* w, MKL_Complex8* z, const MKL_INT* ldz,
                   MKL_Complex8* work, const MKL_INT* lwork, float* rwork,
                   MKL_INT* info ) NOTHROW;
void CHBEV_2STAGE_( const char* jobz, const char* uplo, const MKL_INT* n,
                    const MKL_INT* kd, MKL_Complex8* ab, const MKL_INT* ldab,
                    float* w, MKL_Complex8* z, const MKL_INT* ldz,
                    MKL_Complex8* work, const MKL_INT* lwork, float* rwork,
                    MKL_INT* info ) NOTHROW;
void chbev_2stage( const char* jobz, const char* uplo, const MKL_INT* n,
                   const MKL_INT* kd, MKL_Complex8* ab, const MKL_INT* ldab,
                   float* w, MKL_Complex8* z, const MKL_INT* ldz,
                   MKL_Complex8* work, const MKL_INT* lwork, float* rwork,
                   MKL_INT* info ) NOTHROW;
void chbev_2stage_( const char* jobz, const char* uplo, const MKL_INT* n,
                    const MKL_INT* kd, MKL_Complex8* ab, const MKL_INT* ldab,
                    float* w, MKL_Complex8* z, const MKL_INT* ldz,
                    MKL_Complex8* work, const MKL_INT* lwork, float* rwork,
                    MKL_INT* info ) NOTHROW;

void CHBEVD_2STAGE( const char* jobz, const char* uplo, const MKL_INT* n,
                    const MKL_INT* kd, MKL_Complex8* ab, const MKL_INT* ldab,
                    float* w, MKL_Complex8* z, const MKL_INT* ldz,
                    MKL_Complex8* work, const MKL_INT* lwork, float* rwork,
                    const MKL_INT* lrwork, MKL_INT* iwork,
                    const MKL_INT* liwork, MKL_INT* info ) NOTHROW;
void CHBEVD_2STAGE_( const char* jobz, const char* uplo, const MKL_INT* n,
                     const MKL_INT* kd, MKL_Complex8* ab, const MKL_INT* ldab,
                     float* w, MKL_Complex8* z, const MKL_INT* ldz,
                     MKL_Complex8* work, const MKL_INT* lwork, float* rwork,
                     const MKL_INT* lrwork, MKL_INT* iwork,
                     const MKL_INT* liwork, MKL_INT* info ) NOTHROW;
void chbevd_2stage( const char* jobz, const char* uplo, const MKL_INT* n,
                    const MKL_INT* kd, MKL_Complex8* ab, const MKL_INT* ldab,
                    float* w, MKL_Complex8* z, const MKL_INT* ldz,
                    MKL_Complex8* work, const MKL_INT* lwork, float* rwork,
                    const MKL_INT* lrwork, MKL_INT* iwork,
                    const MKL_INT* liwork, MKL_INT* info ) NOTHROW;
void chbevd_2stage_( const char* jobz, const char* uplo, const MKL_INT* n,
                     const MKL_INT* kd, MKL_Complex8* ab, const MKL_INT* ldab,
                     float* w, MKL_Complex8* z, const MKL_INT* ldz,
                     MKL_Complex8* work, const MKL_INT* lwork, float* rwork,
                     const MKL_INT* lrwork, MKL_INT* iwork,
                     const MKL_INT* liwork, MKL_INT* info ) NOTHROW;

void CHBEVX_2STAGE( const char* jobz, const char* range, const char* uplo,
                    const MKL_INT* n, const MKL_INT* kd, MKL_Complex8* ab,
                    const MKL_INT* ldab, MKL_Complex8* q, const MKL_INT* ldq,
                    const float* vl, const float* vu, const MKL_INT* il,
                    const MKL_INT* iu, const float* abstol, MKL_INT* m,
                    float* w, MKL_Complex8* z, const MKL_INT* ldz,
                    MKL_Complex8* work, const MKL_INT* lwork, float* rwork,
                    MKL_INT* iwork, MKL_INT* ifail, MKL_INT* info ) NOTHROW;
void CHBEVX_2STAGE_( const char* jobz, const char* range, const char* uplo,
                     const MKL_INT* n, const MKL_INT* kd, MKL_Complex8* ab,
                     const MKL_INT* ldab, MKL_Complex8* q, const MKL_INT* ldq,
                     const float* vl, const float* vu, const MKL_INT* il,
                     const MKL_INT* iu, const float* abstol, MKL_INT* m,
                     float* w, MKL_Complex8* z, const MKL_INT* ldz,
                     MKL_Complex8* work, const MKL_INT* lwork, float* rwork,
                     MKL_INT* iwork, MKL_INT* ifail, MKL_INT* info ) NOTHROW;
void chbevx_2stage( const char* jobz, const char* range, const char* uplo,
                    const MKL_INT* n, const MKL_INT* kd, MKL_Complex8* ab,
                    const MKL_INT* ldab, MKL_Complex8* q, const MKL_INT* ldq,
                    const float* vl, const float* vu, const MKL_INT* il,
                    const MKL_INT* iu, const float* abstol, MKL_INT* m,
                    float* w, MKL_Complex8* z, const MKL_INT* ldz,
                    MKL_Complex8* work, const MKL_INT* lwork, float* rwork,
                    MKL_INT* iwork, MKL_INT* ifail, MKL_INT* info ) NOTHROW;
void chbevx_2stage_( const char* jobz, const char* range, const char* uplo,
                     const MKL_INT* n, const MKL_INT* kd, MKL_Complex8* ab,
                     const MKL_INT* ldab, MKL_Complex8* q, const MKL_INT* ldq,
                     const float* vl, const float* vu, const MKL_INT* il,
                     const MKL_INT* iu, const float* abstol, MKL_INT* m,
                     float* w, MKL_Complex8* z, const MKL_INT* ldz,
                     MKL_Complex8* work, const MKL_INT* lwork, float* rwork,
                     MKL_INT* iwork, MKL_INT* ifail, MKL_INT* info ) NOTHROW;

void CHEEV_2STAGE( const char* jobz, const char* uplo, const MKL_INT* n,
                   MKL_Complex8* a, const MKL_INT* lda, float* w,
                   MKL_Complex8* work, const MKL_INT* lwork, float* rwork,
                   MKL_INT* info ) NOTHROW;
void CHEEV_2STAGE_( const char* jobz, const char* uplo, const MKL_INT* n,
                    MKL_Complex8* a, const MKL_INT* lda, float* w,
                    MKL_Complex8* work, const MKL_INT* lwork, float* rwork,
                    MKL_INT* info ) NOTHROW;
void cheev_2stage( const char* jobz, const char* uplo, const MKL_INT* n,
                   MKL_Complex8* a, const MKL_INT* lda, float* w,
                   MKL_Complex8* work, const MKL_INT* lwork, float* rwork,
                   MKL_INT* info ) NOTHROW;
void cheev_2stage_( const char* jobz, const char* uplo, const MKL_INT* n,
                    MKL_Complex8* a, const MKL_INT* lda, float* w,
                    MKL_Complex8* work, const MKL_INT* lwork, float* rwork,
                    MKL_INT* info ) NOTHROW;

void CHEEVD_2STAGE( const char* jobz, const char* uplo, const MKL_INT* n,
                    MKL_Complex8* a, const MKL_INT* lda, float* w,
                    MKL_Complex8* work, const MKL_INT* lwork, float* rwork,
                    const MKL_INT* lrwork, MKL_INT* iwork,
                    const MKL_INT* liwork, MKL_INT* info ) NOTHROW;
void CHEEVD_2STAGE_( const char* jobz, const char* uplo, const MKL_INT* n,
                     MKL_Complex8* a, const MKL_INT* lda, float* w,
                     MKL_Complex8* work, const MKL_INT* lwork, float* rwork,
                     const MKL_INT* lrwork, MKL_INT* iwork,
                     const MKL_INT* liwork, MKL_INT* info ) NOTHROW;
void cheevd_2stage( const char* jobz, const char* uplo, const MKL_INT* n,
                    MKL_Complex8* a, const MKL_INT* lda, float* w,
                    MKL_Complex8* work, const MKL_INT* lwork, float* rwork,
                    const MKL_INT* lrwork, MKL_INT* iwork,
                    const MKL_INT* liwork, MKL_INT* info ) NOTHROW;
void cheevd_2stage_( const char* jobz, const char* uplo, const MKL_INT* n,
                     MKL_Complex8* a, const MKL_INT* lda, float* w,
                     MKL_Complex8* work, const MKL_INT* lwork, float* rwork,
                     const MKL_INT* lrwork, MKL_INT* iwork,
                     const MKL_INT* liwork, MKL_INT* info ) NOTHROW;

void CHEEVR_2STAGE( const char* jobz, const char* range, const char* uplo,
                    const MKL_INT* n, MKL_Complex8* a, const MKL_INT* lda,
                    const float* vl, const float* vu, const MKL_INT* il,
                    const MKL_INT* iu, const float* abstol, MKL_INT* m,
                    float* w, MKL_Complex8* z, const MKL_INT* ldz,
                    MKL_INT* isuppz, MKL_Complex8* work, const MKL_INT* lwork,
                    float* rwork, const MKL_INT* lrwork, MKL_INT* iwork,
                    const MKL_INT* liwork, MKL_INT* info ) NOTHROW;
void CHEEVR_2STAGE_( const char* jobz, const char* range, const char* uplo,
                     const MKL_INT* n, MKL_Complex8* a, const MKL_INT* lda,
                     const float* vl, const float* vu, const MKL_INT* il,
                     const MKL_INT* iu, const float* abstol, MKL_INT* m,
                     float* w, MKL_Complex8* z, const MKL_INT* ldz,
                     MKL_INT* isuppz, MKL_Complex8* work, const MKL_INT* lwork,
                     float* rwork, const MKL_INT* lrwork, MKL_INT* iwork,
                     const MKL_INT* liwork, MKL_INT* info ) NOTHROW;
void cheevr_2stage( const char* jobz, const char* range, const char* uplo,
                    const MKL_INT* n, MKL_Complex8* a, const MKL_INT* lda,
                    const float* vl, const float* vu, const MKL_INT* il,
                    const MKL_INT* iu, const float* abstol, MKL_INT* m,
                    float* w, MKL_Complex8* z, const MKL_INT* ldz,
                    MKL_INT* isuppz, MKL_Complex8* work, const MKL_INT* lwork,
                    float* rwork, const MKL_INT* lrwork, MKL_INT* iwork,
                    const MKL_INT* liwork, MKL_INT* info ) NOTHROW;
void cheevr_2stage_( const char* jobz, const char* range, const char* uplo,
                     const MKL_INT* n, MKL_Complex8* a, const MKL_INT* lda,
                     const float* vl, const float* vu, const MKL_INT* il,
                     const MKL_INT* iu, const float* abstol, MKL_INT* m,
                     float* w, MKL_Complex8* z, const MKL_INT* ldz,
                     MKL_INT* isuppz, MKL_Complex8* work, const MKL_INT* lwork,
                     float* rwork, const MKL_INT* lrwork, MKL_INT* iwork,
                     const MKL_INT* liwork, MKL_INT* info ) NOTHROW;

void CHEEVX_2STAGE( const char* jobz, const char* range, const char* uplo,
                    const MKL_INT* n, MKL_Complex8* a, const MKL_INT* lda,
                    const float* vl, const float* vu, const MKL_INT* il,
                    const MKL_INT* iu, const float* abstol, MKL_INT* m,
                    float* w, MKL_Complex8* z, const MKL_INT* ldz,
                    MKL_Complex8* work, const MKL_INT* lwork, float* rwork,
                    MKL_INT* iwork, MKL_INT* ifail, MKL_INT* info ) NOTHROW;
void CHEEVX_2STAGE_( const char* jobz, const char* range, const char* uplo,
                     const MKL_INT* n, MKL_Complex8* a, const MKL_INT* lda,
                     const float* vl, const float* vu, const MKL_INT* il,
                     const MKL_INT* iu, const float* abstol, MKL_INT* m,
                     float* w, MKL_Complex8* z, const MKL_INT* ldz,
                     MKL_Complex8* work, const MKL_INT* lwork, float* rwork,
                     MKL_INT* iwork, MKL_INT* ifail, MKL_INT* info ) NOTHROW;
void cheevx_2stage( const char* jobz, const char* range, const char* uplo,
                    const MKL_INT* n, MKL_Complex8* a, const MKL_INT* lda,
                    const float* vl, const float* vu, const MKL_INT* il,
                    const MKL_INT* iu, const float* abstol, MKL_INT* m,
                    float* w, MKL_Complex8* z, const MKL_INT* ldz,
                    MKL_Complex8* work, const MKL_INT* lwork, float* rwork,
                    MKL_INT* iwork, MKL_INT* ifail, MKL_INT* info ) NOTHROW;
void cheevx_2stage_( const char* jobz, const char* range, const char* uplo,
                     const MKL_INT* n, MKL_Complex8* a, const MKL_INT* lda,
                     const float* vl, const float* vu, const MKL_INT* il,
                     const MKL_INT* iu, const float* abstol, MKL_INT* m,
                     float* w, MKL_Complex8* z, const MKL_INT* ldz,
                     MKL_Complex8* work, const MKL_INT* lwork, float* rwork,
                     MKL_INT* iwork, MKL_INT* ifail, MKL_INT* info ) NOTHROW;

void CHEGV_2STAGE( const MKL_INT* itype, const char* jobz, const char* uplo,
                   const MKL_INT* n, MKL_Complex8* a, const MKL_INT* lda,
                   MKL_Complex8* b, const MKL_INT* ldb, float* w,
                   MKL_Complex8* work, const MKL_INT* lwork, float* rwork,
                   MKL_INT* info ) NOTHROW;
void CHEGV_2STAGE_( const MKL_INT* itype, const char* jobz, const char* uplo,
                    const MKL_INT* n, MKL_Complex8* a, const MKL_INT* lda,
                    MKL_Complex8* b, const MKL_INT* ldb, float* w,
                    MKL_Complex8* work, const MKL_INT* lwork, float* rwork,
                    MKL_INT* info ) NOTHROW;
void chegv_2stage( const MKL_INT* itype, const char* jobz, const char* uplo,
                   const MKL_INT* n, MKL_Complex8* a, const MKL_INT* lda,
                   MKL_Complex8* b, const MKL_INT* ldb, float* w,
                   MKL_Complex8* work, const MKL_INT* lwork, float* rwork,
                   MKL_INT* info ) NOTHROW;
void chegv_2stage_( const MKL_INT* itype, const char* jobz, const char* uplo,
                    const MKL_INT* n, MKL_Complex8* a, const MKL_INT* lda,
                    MKL_Complex8* b, const MKL_INT* ldb, float* w,
                    MKL_Complex8* work, const MKL_INT* lwork, float* rwork,
                    MKL_INT* info ) NOTHROW;

void CHETRD_2STAGE( const char* vect, const char* uplo, const MKL_INT* n,
                    MKL_Complex8* a, const MKL_INT* lda, float* d, float* e,
                    MKL_Complex8* tau, MKL_Complex8* hous2,
                    const MKL_INT* lhous2, MKL_Complex8* work,
                    const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void CHETRD_2STAGE_( const char* vect, const char* uplo, const MKL_INT* n,
                     MKL_Complex8* a, const MKL_INT* lda, float* d, float* e,
                     MKL_Complex8* tau, MKL_Complex8* hous2,
                     const MKL_INT* lhous2, MKL_Complex8* work,
                     const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void chetrd_2stage( const char* vect, const char* uplo, const MKL_INT* n,
                    MKL_Complex8* a, const MKL_INT* lda, float* d, float* e,
                    MKL_Complex8* tau, MKL_Complex8* hous2,
                    const MKL_INT* lhous2, MKL_Complex8* work,
                    const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void chetrd_2stage_( const char* vect, const char* uplo, const MKL_INT* n,
                     MKL_Complex8* a, const MKL_INT* lda, float* d, float* e,
                     MKL_Complex8* tau, MKL_Complex8* hous2,
                     const MKL_INT* lhous2, MKL_Complex8* work,
                     const MKL_INT* lwork, MKL_INT* info ) NOTHROW;

void CHETRD_HB2ST( const char* stage1, const char* vect, const char* uplo,
                   const MKL_INT* n, const MKL_INT* kd, MKL_Complex8* ab,
                   const MKL_INT* ldab, float* d, float* e, MKL_Complex8* hous,
                   const MKL_INT* lhous, MKL_Complex8* work,
                   const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void CHETRD_HB2ST_( const char* stage1, const char* vect, const char* uplo,
                    const MKL_INT* n, const MKL_INT* kd, MKL_Complex8* ab,
                    const MKL_INT* ldab, float* d, float* e,
                    MKL_Complex8* hous, const MKL_INT* lhous,
                    MKL_Complex8* work, const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void chetrd_hb2st( const char* stage1, const char* vect, const char* uplo,
                   const MKL_INT* n, const MKL_INT* kd, MKL_Complex8* ab,
                   const MKL_INT* ldab, float* d, float* e, MKL_Complex8* hous,
                   const MKL_INT* lhous, MKL_Complex8* work,
                   const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void chetrd_hb2st_( const char* stage1, const char* vect, const char* uplo,
                    const MKL_INT* n, const MKL_INT* kd, MKL_Complex8* ab,
                    const MKL_INT* ldab, float* d, float* e,
                    MKL_Complex8* hous, const MKL_INT* lhous,
                    MKL_Complex8* work, const MKL_INT* lwork, MKL_INT* info ) NOTHROW;

void CHETRD_HE2HB( const char* uplo, const MKL_INT* n, const MKL_INT* kd,
                   MKL_Complex8* a, const MKL_INT* lda, MKL_Complex8* ab,
                   const MKL_INT* ldab, MKL_Complex8* tau, MKL_Complex8* work,
                   const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void CHETRD_HE2HB_( const char* uplo, const MKL_INT* n, const MKL_INT* kd,
                    MKL_Complex8* a, const MKL_INT* lda, MKL_Complex8* ab,
                    const MKL_INT* ldab, MKL_Complex8* tau, MKL_Complex8* work,
                    const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void chetrd_he2hb( const char* uplo, const MKL_INT* n, const MKL_INT* kd,
                   MKL_Complex8* a, const MKL_INT* lda, MKL_Complex8* ab,
                   const MKL_INT* ldab, MKL_Complex8* tau, MKL_Complex8* work,
                   const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void chetrd_he2hb_( const char* uplo, const MKL_INT* n, const MKL_INT* kd,
                    MKL_Complex8* a, const MKL_INT* lda, MKL_Complex8* ab,
                    const MKL_INT* ldab, MKL_Complex8* tau, MKL_Complex8* work,
                    const MKL_INT* lwork, MKL_INT* info ) NOTHROW;

void DSB2ST_KERNELS( const char* uplo, const MKL_INT* wantz,
                     const MKL_INT* ttype, const MKL_INT* st,
                     const MKL_INT* ed, const MKL_INT* sweep, const MKL_INT* n,
                     const MKL_INT* nb, const MKL_INT* ib, double* a,
                     const MKL_INT* lda, double* v, double* tau,
                     const MKL_INT* ldvt, double* work ) NOTHROW;
void DSB2ST_KERNELS_( const char* uplo, const MKL_INT* wantz,
                      const MKL_INT* ttype, const MKL_INT* st,
                      const MKL_INT* ed, const MKL_INT* sweep,
                      const MKL_INT* n, const MKL_INT* nb, const MKL_INT* ib,
                      double* a, const MKL_INT* lda, double* v, double* tau,
                      const MKL_INT* ldvt, double* work ) NOTHROW;
void dsb2st_kernels( const char* uplo, const MKL_INT* wantz,
                     const MKL_INT* ttype, const MKL_INT* st,
                     const MKL_INT* ed, const MKL_INT* sweep, const MKL_INT* n,
                     const MKL_INT* nb, const MKL_INT* ib, double* a,
                     const MKL_INT* lda, double* v, double* tau,
                     const MKL_INT* ldvt, double* work ) NOTHROW;
void dsb2st_kernels_( const char* uplo, const MKL_INT* wantz,
                      const MKL_INT* ttype, const MKL_INT* st,
                      const MKL_INT* ed, const MKL_INT* sweep,
                      const MKL_INT* n, const MKL_INT* nb, const MKL_INT* ib,
                      double* a, const MKL_INT* lda, double* v, double* tau,
                      const MKL_INT* ldvt, double* work ) NOTHROW;

void DSBEV_2STAGE( const char* jobz, const char* uplo, const MKL_INT* n,
                   const MKL_INT* kd, double* ab, const MKL_INT* ldab,
                   double* w, double* z, const MKL_INT* ldz, double* work,
                   const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void DSBEV_2STAGE_( const char* jobz, const char* uplo, const MKL_INT* n,
                    const MKL_INT* kd, double* ab, const MKL_INT* ldab,
                    double* w, double* z, const MKL_INT* ldz, double* work,
                    const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void dsbev_2stage( const char* jobz, const char* uplo, const MKL_INT* n,
                   const MKL_INT* kd, double* ab, const MKL_INT* ldab,
                   double* w, double* z, const MKL_INT* ldz, double* work,
                   const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void dsbev_2stage_( const char* jobz, const char* uplo, const MKL_INT* n,
                    const MKL_INT* kd, double* ab, const MKL_INT* ldab,
                    double* w, double* z, const MKL_INT* ldz, double* work,
                    const MKL_INT* lwork, MKL_INT* info ) NOTHROW;

void DSBEVD_2STAGE( const char* jobz, const char* uplo, const MKL_INT* n,
                    const MKL_INT* kd, double* ab, const MKL_INT* ldab,
                    double* w, double* z, const MKL_INT* ldz, double* work,
                    const MKL_INT* lwork, MKL_INT* iwork,
                    const MKL_INT* liwork, MKL_INT* info ) NOTHROW;
void DSBEVD_2STAGE_( const char* jobz, const char* uplo, const MKL_INT* n,
                     const MKL_INT* kd, double* ab, const MKL_INT* ldab,
                     double* w, double* z, const MKL_INT* ldz, double* work,
                     const MKL_INT* lwork, MKL_INT* iwork,
                     const MKL_INT* liwork, MKL_INT* info ) NOTHROW;
void dsbevd_2stage( const char* jobz, const char* uplo, const MKL_INT* n,
                    const MKL_INT* kd, double* ab, const MKL_INT* ldab,
                    double* w, double* z, const MKL_INT* ldz, double* work,
                    const MKL_INT* lwork, MKL_INT* iwork,
                    const MKL_INT* liwork, MKL_INT* info ) NOTHROW;
void dsbevd_2stage_( const char* jobz, const char* uplo, const MKL_INT* n,
                     const MKL_INT* kd, double* ab, const MKL_INT* ldab,
                     double* w, double* z, const MKL_INT* ldz, double* work,
                     const MKL_INT* lwork, MKL_INT* iwork,
                     const MKL_INT* liwork, MKL_INT* info ) NOTHROW;

void DSBEVX_2STAGE( const char* jobz, const char* range, const char* uplo,
                    const MKL_INT* n, const MKL_INT* kd, double* ab,
                    const MKL_INT* ldab, double* q, const MKL_INT* ldq,
                    const double* vl, const double* vu, const MKL_INT* il,
                    const MKL_INT* iu, const double* abstol, MKL_INT* m,
                    double* w, double* z, const MKL_INT* ldz, double* work,
                    const MKL_INT* lwork, MKL_INT* iwork, MKL_INT* ifail,
                    MKL_INT* info ) NOTHROW;
void DSBEVX_2STAGE_( const char* jobz, const char* range, const char* uplo,
                     const MKL_INT* n, const MKL_INT* kd, double* ab,
                     const MKL_INT* ldab, double* q, const MKL_INT* ldq,
                     const double* vl, const double* vu, const MKL_INT* il,
                     const MKL_INT* iu, const double* abstol, MKL_INT* m,
                     double* w, double* z, const MKL_INT* ldz, double* work,
                     const MKL_INT* lwork, MKL_INT* iwork, MKL_INT* ifail,
                     MKL_INT* info ) NOTHROW;
void dsbevx_2stage( const char* jobz, const char* range, const char* uplo,
                    const MKL_INT* n, const MKL_INT* kd, double* ab,
                    const MKL_INT* ldab, double* q, const MKL_INT* ldq,
                    const double* vl, const double* vu, const MKL_INT* il,
                    const MKL_INT* iu, const double* abstol, MKL_INT* m,
                    double* w, double* z, const MKL_INT* ldz, double* work,
                    const MKL_INT* lwork, MKL_INT* iwork, MKL_INT* ifail,
                    MKL_INT* info ) NOTHROW;
void dsbevx_2stage_( const char* jobz, const char* range, const char* uplo,
                     const MKL_INT* n, const MKL_INT* kd, double* ab,
                     const MKL_INT* ldab, double* q, const MKL_INT* ldq,
                     const double* vl, const double* vu, const MKL_INT* il,
                     const MKL_INT* iu, const double* abstol, MKL_INT* m,
                     double* w, double* z, const MKL_INT* ldz, double* work,
                     const MKL_INT* lwork, MKL_INT* iwork, MKL_INT* ifail,
                     MKL_INT* info ) NOTHROW;

void DSYEV_2STAGE( const char* jobz, const char* uplo, const MKL_INT* n,
                   double* a, const MKL_INT* lda, double* w, double* work,
                   const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void DSYEV_2STAGE_( const char* jobz, const char* uplo, const MKL_INT* n,
                    double* a, const MKL_INT* lda, double* w, double* work,
                    const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void dsyev_2stage( const char* jobz, const char* uplo, const MKL_INT* n,
                   double* a, const MKL_INT* lda, double* w, double* work,
                   const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void dsyev_2stage_( const char* jobz, const char* uplo, const MKL_INT* n,
                    double* a, const MKL_INT* lda, double* w, double* work,
                    const MKL_INT* lwork, MKL_INT* info ) NOTHROW;

void DSYEVD_2STAGE( const char* jobz, const char* uplo, const MKL_INT* n,
                    double* a, const MKL_INT* lda, double* w, double* work,
                    const MKL_INT* lwork, MKL_INT* iwork,
                    const MKL_INT* liwork, MKL_INT* info ) NOTHROW;
void DSYEVD_2STAGE_( const char* jobz, const char* uplo, const MKL_INT* n,
                     double* a, const MKL_INT* lda, double* w, double* work,
                     const MKL_INT* lwork, MKL_INT* iwork,
                     const MKL_INT* liwork, MKL_INT* info ) NOTHROW;
void dsyevd_2stage( const char* jobz, const char* uplo, const MKL_INT* n,
                    double* a, const MKL_INT* lda, double* w, double* work,
                    const MKL_INT* lwork, MKL_INT* iwork,
                    const MKL_INT* liwork, MKL_INT* info ) NOTHROW;
void dsyevd_2stage_( const char* jobz, const char* uplo, const MKL_INT* n,
                     double* a, const MKL_INT* lda, double* w, double* work,
                     const MKL_INT* lwork, MKL_INT* iwork,
                     const MKL_INT* liwork, MKL_INT* info ) NOTHROW;

void DSYEVR_2STAGE( const char* jobz, const char* range, const char* uplo,
                    const MKL_INT* n, double* a, const MKL_INT* lda,
                    const double* vl, const double* vu, const MKL_INT* il,
                    const MKL_INT* iu, const double* abstol, MKL_INT* m,
                    double* w, double* z, const MKL_INT* ldz, MKL_INT* isuppz,
                    double* work, const MKL_INT* lwork, MKL_INT* iwork,
                    const MKL_INT* liwork, MKL_INT* info ) NOTHROW;
void DSYEVR_2STAGE_( const char* jobz, const char* range, const char* uplo,
                     const MKL_INT* n, double* a, const MKL_INT* lda,
                     const double* vl, const double* vu, const MKL_INT* il,
                     const MKL_INT* iu, const double* abstol, MKL_INT* m,
                     double* w, double* z, const MKL_INT* ldz, MKL_INT* isuppz,
                     double* work, const MKL_INT* lwork, MKL_INT* iwork,
                     const MKL_INT* liwork, MKL_INT* info ) NOTHROW;
void dsyevr_2stage( const char* jobz, const char* range, const char* uplo,
                    const MKL_INT* n, double* a, const MKL_INT* lda,
                    const double* vl, const double* vu, const MKL_INT* il,
                    const MKL_INT* iu, const double* abstol, MKL_INT* m,
                    double* w, double* z, const MKL_INT* ldz, MKL_INT* isuppz,
                    double* work, const MKL_INT* lwork, MKL_INT* iwork,
                    const MKL_INT* liwork, MKL_INT* info ) NOTHROW;
void dsyevr_2stage_( const char* jobz, const char* range, const char* uplo,
                     const MKL_INT* n, double* a, const MKL_INT* lda,
                     const double* vl, const double* vu, const MKL_INT* il,
                     const MKL_INT* iu, const double* abstol, MKL_INT* m,
                     double* w, double* z, const MKL_INT* ldz, MKL_INT* isuppz,
                     double* work, const MKL_INT* lwork, MKL_INT* iwork,
                     const MKL_INT* liwork, MKL_INT* info ) NOTHROW;

void DSYEVX_2STAGE( const char* jobz, const char* range, const char* uplo,
                    const MKL_INT* n, double* a, const MKL_INT* lda,
                    const double* vl, const double* vu, const MKL_INT* il,
                    const MKL_INT* iu, const double* abstol, MKL_INT* m,
                    double* w, double* z, const MKL_INT* ldz, double* work,
                    const MKL_INT* lwork, MKL_INT* iwork, MKL_INT* ifail,
                    MKL_INT* info ) NOTHROW;
void DSYEVX_2STAGE_( const char* jobz, const char* range, const char* uplo,
                     const MKL_INT* n, double* a, const MKL_INT* lda,
                     const double* vl, const double* vu, const MKL_INT* il,
                     const MKL_INT* iu, const double* abstol, MKL_INT* m,
                     double* w, double* z, const MKL_INT* ldz, double* work,
                     const MKL_INT* lwork, MKL_INT* iwork, MKL_INT* ifail,
                     MKL_INT* info ) NOTHROW;
void dsyevx_2stage( const char* jobz, const char* range, const char* uplo,
                    const MKL_INT* n, double* a, const MKL_INT* lda,
                    const double* vl, const double* vu, const MKL_INT* il,
                    const MKL_INT* iu, const double* abstol, MKL_INT* m,
                    double* w, double* z, const MKL_INT* ldz, double* work,
                    const MKL_INT* lwork, MKL_INT* iwork, MKL_INT* ifail,
                    MKL_INT* info ) NOTHROW;
void dsyevx_2stage_( const char* jobz, const char* range, const char* uplo,
                     const MKL_INT* n, double* a, const MKL_INT* lda,
                     const double* vl, const double* vu, const MKL_INT* il,
                     const MKL_INT* iu, const double* abstol, MKL_INT* m,
                     double* w, double* z, const MKL_INT* ldz, double* work,
                     const MKL_INT* lwork, MKL_INT* iwork, MKL_INT* ifail,
                     MKL_INT* info ) NOTHROW;

void DSYGV_2STAGE( const MKL_INT* itype, const char* jobz, const char* uplo,
                   const MKL_INT* n, double* a, const MKL_INT* lda, double* b,
                   const MKL_INT* ldb, double* w, double* work,
                   const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void DSYGV_2STAGE_( const MKL_INT* itype, const char* jobz, const char* uplo,
                    const MKL_INT* n, double* a, const MKL_INT* lda, double* b,
                    const MKL_INT* ldb, double* w, double* work,
                    const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void dsygv_2stage( const MKL_INT* itype, const char* jobz, const char* uplo,
                   const MKL_INT* n, double* a, const MKL_INT* lda, double* b,
                   const MKL_INT* ldb, double* w, double* work,
                   const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void dsygv_2stage_( const MKL_INT* itype, const char* jobz, const char* uplo,
                    const MKL_INT* n, double* a, const MKL_INT* lda, double* b,
                    const MKL_INT* ldb, double* w, double* work,
                    const MKL_INT* lwork, MKL_INT* info ) NOTHROW;

void DSYTRD_2STAGE( const char* vect, const char* uplo, const MKL_INT* n,
                    double* a, const MKL_INT* lda, double* d, double* e,
                    double* tau, double* hous2, const MKL_INT* lhous2,
                    double* work, const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void DSYTRD_2STAGE_( const char* vect, const char* uplo, const MKL_INT* n,
                     double* a, const MKL_INT* lda, double* d, double* e,
                     double* tau, double* hous2, const MKL_INT* lhous2,
                     double* work, const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void dsytrd_2stage( const char* vect, const char* uplo, const MKL_INT* n,
                    double* a, const MKL_INT* lda, double* d, double* e,
                    double* tau, double* hous2, const MKL_INT* lhous2,
                    double* work, const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void dsytrd_2stage_( const char* vect, const char* uplo, const MKL_INT* n,
                     double* a, const MKL_INT* lda, double* d, double* e,
                     double* tau, double* hous2, const MKL_INT* lhous2,
                     double* work, const MKL_INT* lwork, MKL_INT* info ) NOTHROW;

void DSYTRD_SB2ST( const char* stage1, const char* vect, const char* uplo,
                   const MKL_INT* n, const MKL_INT* kd, double* ab,
                   const MKL_INT* ldab, double* d, double* e, double* hous,
                   const MKL_INT* lhous, double* work, const MKL_INT* lwork,
                   MKL_INT* info ) NOTHROW;
void DSYTRD_SB2ST_( const char* stage1, const char* vect, const char* uplo,
                    const MKL_INT* n, const MKL_INT* kd, double* ab,
                    const MKL_INT* ldab, double* d, double* e, double* hous,
                    const MKL_INT* lhous, double* work, const MKL_INT* lwork,
                    MKL_INT* info ) NOTHROW;
void dsytrd_sb2st( const char* stage1, const char* vect, const char* uplo,
                   const MKL_INT* n, const MKL_INT* kd, double* ab,
                   const MKL_INT* ldab, double* d, double* e, double* hous,
                   const MKL_INT* lhous, double* work, const MKL_INT* lwork,
                   MKL_INT* info ) NOTHROW;
void dsytrd_sb2st_( const char* stage1, const char* vect, const char* uplo,
                    const MKL_INT* n, const MKL_INT* kd, double* ab,
                    const MKL_INT* ldab, double* d, double* e, double* hous,
                    const MKL_INT* lhous, double* work, const MKL_INT* lwork,
                    MKL_INT* info ) NOTHROW;

void DSYTRD_SY2SB( const char* uplo, const MKL_INT* n, const MKL_INT* kd,
                   double* a, const MKL_INT* lda, double* ab,
                   const MKL_INT* ldab, double* tau, double* work,
                   const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void DSYTRD_SY2SB_( const char* uplo, const MKL_INT* n, const MKL_INT* kd,
                    double* a, const MKL_INT* lda, double* ab,
                    const MKL_INT* ldab, double* tau, double* work,
                    const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void dsytrd_sy2sb( const char* uplo, const MKL_INT* n, const MKL_INT* kd,
                   double* a, const MKL_INT* lda, double* ab,
                   const MKL_INT* ldab, double* tau, double* work,
                   const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void dsytrd_sy2sb_( const char* uplo, const MKL_INT* n, const MKL_INT* kd,
                    double* a, const MKL_INT* lda, double* ab,
                    const MKL_INT* ldab, double* tau, double* work,
                    const MKL_INT* lwork, MKL_INT* info ) NOTHROW;

MKL_INT IPARAM2STAGE( const MKL_INT* ispec, const char* name, const char* opts,
                      const MKL_INT* ni, const MKL_INT* nbi,
                      const MKL_INT* ibi, const MKL_INT* nxi ) NOTHROW;
MKL_INT IPARAM2STAGE_( const MKL_INT* ispec, const char* name,
                       const char* opts, const MKL_INT* ni, const MKL_INT* nbi,
                       const MKL_INT* ibi, const MKL_INT* nxi ) NOTHROW;
MKL_INT iparam2stage( const MKL_INT* ispec, const char* name, const char* opts,
                      const MKL_INT* ni, const MKL_INT* nbi,
                      const MKL_INT* ibi, const MKL_INT* nxi ) NOTHROW;
MKL_INT iparam2stage_( const MKL_INT* ispec, const char* name,
                       const char* opts, const MKL_INT* ni, const MKL_INT* nbi,
                       const MKL_INT* ibi, const MKL_INT* nxi ) NOTHROW;

void SSB2ST_KERNELS( const char* uplo, const MKL_INT* wantz,
                     const MKL_INT* ttype, const MKL_INT* st,
                     const MKL_INT* ed, const MKL_INT* sweep, const MKL_INT* n,
                     const MKL_INT* nb, const MKL_INT* ib, float* a,
                     const MKL_INT* lda, float* v, float* tau,
                     const MKL_INT* ldvt, float* work ) NOTHROW;
void SSB2ST_KERNELS_( const char* uplo, const MKL_INT* wantz,
                      const MKL_INT* ttype, const MKL_INT* st,
                      const MKL_INT* ed, const MKL_INT* sweep,
                      const MKL_INT* n, const MKL_INT* nb, const MKL_INT* ib,
                      float* a, const MKL_INT* lda, float* v, float* tau,
                      const MKL_INT* ldvt, float* work ) NOTHROW;
void ssb2st_kernels( const char* uplo, const MKL_INT* wantz,
                     const MKL_INT* ttype, const MKL_INT* st,
                     const MKL_INT* ed, const MKL_INT* sweep, const MKL_INT* n,
                     const MKL_INT* nb, const MKL_INT* ib, float* a,
                     const MKL_INT* lda, float* v, float* tau,
                     const MKL_INT* ldvt, float* work ) NOTHROW;
void ssb2st_kernels_( const char* uplo, const MKL_INT* wantz,
                      const MKL_INT* ttype, const MKL_INT* st,
                      const MKL_INT* ed, const MKL_INT* sweep,
                      const MKL_INT* n, const MKL_INT* nb, const MKL_INT* ib,
                      float* a, const MKL_INT* lda, float* v, float* tau,
                      const MKL_INT* ldvt, float* work ) NOTHROW;

void SSBEV_2STAGE( const char* jobz, const char* uplo, const MKL_INT* n,
                   const MKL_INT* kd, float* ab, const MKL_INT* ldab, float* w,
                   float* z, const MKL_INT* ldz, float* work,
                   const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void SSBEV_2STAGE_( const char* jobz, const char* uplo, const MKL_INT* n,
                    const MKL_INT* kd, float* ab, const MKL_INT* ldab,
                    float* w, float* z, const MKL_INT* ldz, float* work,
                    const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void ssbev_2stage( const char* jobz, const char* uplo, const MKL_INT* n,
                   const MKL_INT* kd, float* ab, const MKL_INT* ldab, float* w,
                   float* z, const MKL_INT* ldz, float* work,
                   const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void ssbev_2stage_( const char* jobz, const char* uplo, const MKL_INT* n,
                    const MKL_INT* kd, float* ab, const MKL_INT* ldab,
                    float* w, float* z, const MKL_INT* ldz, float* work,
                    const MKL_INT* lwork, MKL_INT* info ) NOTHROW;

void SSBEVD_2STAGE( const char* jobz, const char* uplo, const MKL_INT* n,
                    const MKL_INT* kd, float* ab, const MKL_INT* ldab,
                    float* w, float* z, const MKL_INT* ldz, float* work,
                    const MKL_INT* lwork, MKL_INT* iwork,
                    const MKL_INT* liwork, MKL_INT* info ) NOTHROW;
void SSBEVD_2STAGE_( const char* jobz, const char* uplo, const MKL_INT* n,
                     const MKL_INT* kd, float* ab, const MKL_INT* ldab,
                     float* w, float* z, const MKL_INT* ldz, float* work,
                     const MKL_INT* lwork, MKL_INT* iwork,
                     const MKL_INT* liwork, MKL_INT* info ) NOTHROW;
void ssbevd_2stage( const char* jobz, const char* uplo, const MKL_INT* n,
                    const MKL_INT* kd, float* ab, const MKL_INT* ldab,
                    float* w, float* z, const MKL_INT* ldz, float* work,
                    const MKL_INT* lwork, MKL_INT* iwork,
                    const MKL_INT* liwork, MKL_INT* info ) NOTHROW;
void ssbevd_2stage_( const char* jobz, const char* uplo, const MKL_INT* n,
                     const MKL_INT* kd, float* ab, const MKL_INT* ldab,
                     float* w, float* z, const MKL_INT* ldz, float* work,
                     const MKL_INT* lwork, MKL_INT* iwork,
                     const MKL_INT* liwork, MKL_INT* info ) NOTHROW;

void SSBEVX_2STAGE( const char* jobz, const char* range, const char* uplo,
                    const MKL_INT* n, const MKL_INT* kd, float* ab,
                    const MKL_INT* ldab, float* q, const MKL_INT* ldq,
                    const float* vl, const float* vu, const MKL_INT* il,
                    const MKL_INT* iu, const float* abstol, MKL_INT* m,
                    float* w, float* z, const MKL_INT* ldz, float* work,
                    const MKL_INT* lwork, MKL_INT* iwork, MKL_INT* ifail,
                    MKL_INT* info ) NOTHROW;
void SSBEVX_2STAGE_( const char* jobz, const char* range, const char* uplo,
                     const MKL_INT* n, const MKL_INT* kd, float* ab,
                     const MKL_INT* ldab, float* q, const MKL_INT* ldq,
                     const float* vl, const float* vu, const MKL_INT* il,
                     const MKL_INT* iu, const float* abstol, MKL_INT* m,
                     float* w, float* z, const MKL_INT* ldz, float* work,
                     const MKL_INT* lwork, MKL_INT* iwork, MKL_INT* ifail,
                     MKL_INT* info ) NOTHROW;
void ssbevx_2stage( const char* jobz, const char* range, const char* uplo,
                    const MKL_INT* n, const MKL_INT* kd, float* ab,
                    const MKL_INT* ldab, float* q, const MKL_INT* ldq,
                    const float* vl, const float* vu, const MKL_INT* il,
                    const MKL_INT* iu, const float* abstol, MKL_INT* m,
                    float* w, float* z, const MKL_INT* ldz, float* work,
                    const MKL_INT* lwork, MKL_INT* iwork, MKL_INT* ifail,
                    MKL_INT* info ) NOTHROW;
void ssbevx_2stage_( const char* jobz, const char* range, const char* uplo,
                     const MKL_INT* n, const MKL_INT* kd, float* ab,
                     const MKL_INT* ldab, float* q, const MKL_INT* ldq,
                     const float* vl, const float* vu, const MKL_INT* il,
                     const MKL_INT* iu, const float* abstol, MKL_INT* m,
                     float* w, float* z, const MKL_INT* ldz, float* work,
                     const MKL_INT* lwork, MKL_INT* iwork, MKL_INT* ifail,
                     MKL_INT* info ) NOTHROW;

void SSYEV_2STAGE( const char* jobz, const char* uplo, const MKL_INT* n,
                   float* a, const MKL_INT* lda, float* w, float* work,
                   const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void SSYEV_2STAGE_( const char* jobz, const char* uplo, const MKL_INT* n,
                    float* a, const MKL_INT* lda, float* w, float* work,
                    const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void ssyev_2stage( const char* jobz, const char* uplo, const MKL_INT* n,
                   float* a, const MKL_INT* lda, float* w, float* work,
                   const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void ssyev_2stage_( const char* jobz, const char* uplo, const MKL_INT* n,
                    float* a, const MKL_INT* lda, float* w, float* work,
                    const MKL_INT* lwork, MKL_INT* info ) NOTHROW;

void SSYEVD_2STAGE( const char* jobz, const char* uplo, const MKL_INT* n,
                    float* a, const MKL_INT* lda, float* w, float* work,
                    const MKL_INT* lwork, MKL_INT* iwork,
                    const MKL_INT* liwork, MKL_INT* info ) NOTHROW;
void SSYEVD_2STAGE_( const char* jobz, const char* uplo, const MKL_INT* n,
                     float* a, const MKL_INT* lda, float* w, float* work,
                     const MKL_INT* lwork, MKL_INT* iwork,
                     const MKL_INT* liwork, MKL_INT* info ) NOTHROW;
void ssyevd_2stage( const char* jobz, const char* uplo, const MKL_INT* n,
                    float* a, const MKL_INT* lda, float* w, float* work,
                    const MKL_INT* lwork, MKL_INT* iwork,
                    const MKL_INT* liwork, MKL_INT* info ) NOTHROW;
void ssyevd_2stage_( const char* jobz, const char* uplo, const MKL_INT* n,
                     float* a, const MKL_INT* lda, float* w, float* work,
                     const MKL_INT* lwork, MKL_INT* iwork,
                     const MKL_INT* liwork, MKL_INT* info ) NOTHROW;

void SSYEVR_2STAGE( const char* jobz, const char* range, const char* uplo,
                    const MKL_INT* n, float* a, const MKL_INT* lda,
                    const float* vl, const float* vu, const MKL_INT* il,
                    const MKL_INT* iu, const float* abstol, MKL_INT* m,
                    float* w, float* z, const MKL_INT* ldz, MKL_INT* isuppz,
                    float* work, const MKL_INT* lwork, MKL_INT* iwork,
                    const MKL_INT* liwork, MKL_INT* info ) NOTHROW;
void SSYEVR_2STAGE_( const char* jobz, const char* range, const char* uplo,
                     const MKL_INT* n, float* a, const MKL_INT* lda,
                     const float* vl, const float* vu, const MKL_INT* il,
                     const MKL_INT* iu, const float* abstol, MKL_INT* m,
                     float* w, float* z, const MKL_INT* ldz, MKL_INT* isuppz,
                     float* work, const MKL_INT* lwork, MKL_INT* iwork,
                     const MKL_INT* liwork, MKL_INT* info ) NOTHROW;
void ssyevr_2stage( const char* jobz, const char* range, const char* uplo,
                    const MKL_INT* n, float* a, const MKL_INT* lda,
                    const float* vl, const float* vu, const MKL_INT* il,
                    const MKL_INT* iu, const float* abstol, MKL_INT* m,
                    float* w, float* z, const MKL_INT* ldz, MKL_INT* isuppz,
                    float* work, const MKL_INT* lwork, MKL_INT* iwork,
                    const MKL_INT* liwork, MKL_INT* info ) NOTHROW;
void ssyevr_2stage_( const char* jobz, const char* range, const char* uplo,
                     const MKL_INT* n, float* a, const MKL_INT* lda,
                     const float* vl, const float* vu, const MKL_INT* il,
                     const MKL_INT* iu, const float* abstol, MKL_INT* m,
                     float* w, float* z, const MKL_INT* ldz, MKL_INT* isuppz,
                     float* work, const MKL_INT* lwork, MKL_INT* iwork,
                     const MKL_INT* liwork, MKL_INT* info ) NOTHROW;

void SSYEVX_2STAGE( const char* jobz, const char* range, const char* uplo,
                    const MKL_INT* n, float* a, const MKL_INT* lda,
                    const float* vl, const float* vu, const MKL_INT* il,
                    const MKL_INT* iu, const float* abstol, MKL_INT* m,
                    float* w, float* z, const MKL_INT* ldz, float* work,
                    const MKL_INT* lwork, MKL_INT* iwork, MKL_INT* ifail,
                    MKL_INT* info ) NOTHROW;
void SSYEVX_2STAGE_( const char* jobz, const char* range, const char* uplo,
                     const MKL_INT* n, float* a, const MKL_INT* lda,
                     const float* vl, const float* vu, const MKL_INT* il,
                     const MKL_INT* iu, const float* abstol, MKL_INT* m,
                     float* w, float* z, const MKL_INT* ldz, float* work,
                     const MKL_INT* lwork, MKL_INT* iwork, MKL_INT* ifail,
                     MKL_INT* info ) NOTHROW;
void ssyevx_2stage( const char* jobz, const char* range, const char* uplo,
                    const MKL_INT* n, float* a, const MKL_INT* lda,
                    const float* vl, const float* vu, const MKL_INT* il,
                    const MKL_INT* iu, const float* abstol, MKL_INT* m,
                    float* w, float* z, const MKL_INT* ldz, float* work,
                    const MKL_INT* lwork, MKL_INT* iwork, MKL_INT* ifail,
                    MKL_INT* info ) NOTHROW;
void ssyevx_2stage_( const char* jobz, const char* range, const char* uplo,
                     const MKL_INT* n, float* a, const MKL_INT* lda,
                     const float* vl, const float* vu, const MKL_INT* il,
                     const MKL_INT* iu, const float* abstol, MKL_INT* m,
                     float* w, float* z, const MKL_INT* ldz, float* work,
                     const MKL_INT* lwork, MKL_INT* iwork, MKL_INT* ifail,
                     MKL_INT* info ) NOTHROW;

void SSYGV_2STAGE( const MKL_INT* itype, const char* jobz, const char* uplo,
                   const MKL_INT* n, float* a, const MKL_INT* lda, float* b,
                   const MKL_INT* ldb, float* w, float* work,
                   const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void SSYGV_2STAGE_( const MKL_INT* itype, const char* jobz, const char* uplo,
                    const MKL_INT* n, float* a, const MKL_INT* lda, float* b,
                    const MKL_INT* ldb, float* w, float* work,
                    const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void ssygv_2stage( const MKL_INT* itype, const char* jobz, const char* uplo,
                   const MKL_INT* n, float* a, const MKL_INT* lda, float* b,
                   const MKL_INT* ldb, float* w, float* work,
                   const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void ssygv_2stage_( const MKL_INT* itype, const char* jobz, const char* uplo,
                    const MKL_INT* n, float* a, const MKL_INT* lda, float* b,
                    const MKL_INT* ldb, float* w, float* work,
                    const MKL_INT* lwork, MKL_INT* info ) NOTHROW;

void SSYTRD_2STAGE( const char* vect, const char* uplo, const MKL_INT* n,
                    float* a, const MKL_INT* lda, float* d, float* e,
                    float* tau, float* hous2, const MKL_INT* lhous2,
                    float* work, const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void SSYTRD_2STAGE_( const char* vect, const char* uplo, const MKL_INT* n,
                     float* a, const MKL_INT* lda, float* d, float* e,
                     float* tau, float* hous2, const MKL_INT* lhous2,
                     float* work, const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void ssytrd_2stage( const char* vect, const char* uplo, const MKL_INT* n,
                    float* a, const MKL_INT* lda, float* d, float* e,
                    float* tau, float* hous2, const MKL_INT* lhous2,
                    float* work, const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void ssytrd_2stage_( const char* vect, const char* uplo, const MKL_INT* n,
                     float* a, const MKL_INT* lda, float* d, float* e,
                     float* tau, float* hous2, const MKL_INT* lhous2,
                     float* work, const MKL_INT* lwork, MKL_INT* info ) NOTHROW;

void SSYTRD_SB2ST( const char* stage1, const char* vect, const char* uplo,
                   const MKL_INT* n, const MKL_INT* kd, float* ab,
                   const MKL_INT* ldab, float* d, float* e, float* hous,
                   const MKL_INT* lhous, float* work, const MKL_INT* lwork,
                   MKL_INT* info ) NOTHROW;
void SSYTRD_SB2ST_( const char* stage1, const char* vect, const char* uplo,
                    const MKL_INT* n, const MKL_INT* kd, float* ab,
                    const MKL_INT* ldab, float* d, float* e, float* hous,
                    const MKL_INT* lhous, float* work, const MKL_INT* lwork,
                    MKL_INT* info ) NOTHROW;
void ssytrd_sb2st( const char* stage1, const char* vect, const char* uplo,
                   const MKL_INT* n, const MKL_INT* kd, float* ab,
                   const MKL_INT* ldab, float* d, float* e, float* hous,
                   const MKL_INT* lhous, float* work, const MKL_INT* lwork,
                   MKL_INT* info ) NOTHROW;
void ssytrd_sb2st_( const char* stage1, const char* vect, const char* uplo,
                    const MKL_INT* n, const MKL_INT* kd, float* ab,
                    const MKL_INT* ldab, float* d, float* e, float* hous,
                    const MKL_INT* lhous, float* work, const MKL_INT* lwork,
                    MKL_INT* info ) NOTHROW;

void SSYTRD_SY2SB( const char* uplo, const MKL_INT* n, const MKL_INT* kd,
                   float* a, const MKL_INT* lda, float* ab,
                   const MKL_INT* ldab, float* tau, float* work,
                   const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void SSYTRD_SY2SB_( const char* uplo, const MKL_INT* n, const MKL_INT* kd,
                    float* a, const MKL_INT* lda, float* ab,
                    const MKL_INT* ldab, float* tau, float* work,
                    const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void ssytrd_sy2sb( const char* uplo, const MKL_INT* n, const MKL_INT* kd,
                   float* a, const MKL_INT* lda, float* ab,
                   const MKL_INT* ldab, float* tau, float* work,
                   const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void ssytrd_sy2sb_( const char* uplo, const MKL_INT* n, const MKL_INT* kd,
                    float* a, const MKL_INT* lda, float* ab,
                    const MKL_INT* ldab, float* tau, float* work,
                    const MKL_INT* lwork, MKL_INT* info ) NOTHROW;

void ZHB2ST_KERNELS( const char* uplo, const MKL_INT* wantz,
                     const MKL_INT* ttype, const MKL_INT* st,
                     const MKL_INT* ed, const MKL_INT* sweep, const MKL_INT* n,
                     const MKL_INT* nb, const MKL_INT* ib, MKL_Complex16* a,
                     const MKL_INT* lda, MKL_Complex16* v, MKL_Complex16* tau,
                     const MKL_INT* ldvt, MKL_Complex16* work ) NOTHROW;
void ZHB2ST_KERNELS_( const char* uplo, const MKL_INT* wantz,
                      const MKL_INT* ttype, const MKL_INT* st,
                      const MKL_INT* ed, const MKL_INT* sweep,
                      const MKL_INT* n, const MKL_INT* nb, const MKL_INT* ib,
                      MKL_Complex16* a, const MKL_INT* lda, MKL_Complex16* v,
                      MKL_Complex16* tau, const MKL_INT* ldvt,
                      MKL_Complex16* work ) NOTHROW;
void zhb2st_kernels( const char* uplo, const MKL_INT* wantz,
                     const MKL_INT* ttype, const MKL_INT* st,
                     const MKL_INT* ed, const MKL_INT* sweep, const MKL_INT* n,
                     const MKL_INT* nb, const MKL_INT* ib, MKL_Complex16* a,
                     const MKL_INT* lda, MKL_Complex16* v, MKL_Complex16* tau,
                     const MKL_INT* ldvt, MKL_Complex16* work ) NOTHROW;
void zhb2st_kernels_( const char* uplo, const MKL_INT* wantz,
                      const MKL_INT* ttype, const MKL_INT* st,
                      const MKL_INT* ed, const MKL_INT* sweep,
                      const MKL_INT* n, const MKL_INT* nb, const MKL_INT* ib,
                      MKL_Complex16* a, const MKL_INT* lda, MKL_Complex16* v,
                      MKL_Complex16* tau, const MKL_INT* ldvt,
                      MKL_Complex16* work ) NOTHROW;

void ZHBEV_2STAGE( const char* jobz, const char* uplo, const MKL_INT* n,
                   const MKL_INT* kd, MKL_Complex16* ab, const MKL_INT* ldab,
                   double* w, MKL_Complex16* z, const MKL_INT* ldz,
                   MKL_Complex16* work, const MKL_INT* lwork, double* rwork,
                   MKL_INT* info ) NOTHROW;
void ZHBEV_2STAGE_( const char* jobz, const char* uplo, const MKL_INT* n,
                    const MKL_INT* kd, MKL_Complex16* ab, const MKL_INT* ldab,
                    double* w, MKL_Complex16* z, const MKL_INT* ldz,
                    MKL_Complex16* work, const MKL_INT* lwork, double* rwork,
                    MKL_INT* info ) NOTHROW;
void zhbev_2stage( const char* jobz, const char* uplo, const MKL_INT* n,
                   const MKL_INT* kd, MKL_Complex16* ab, const MKL_INT* ldab,
                   double* w, MKL_Complex16* z, const MKL_INT* ldz,
                   MKL_Complex16* work, const MKL_INT* lwork, double* rwork,
                   MKL_INT* info ) NOTHROW;
void zhbev_2stage_( const char* jobz, const char* uplo, const MKL_INT* n,
                    const MKL_INT* kd, MKL_Complex16* ab, const MKL_INT* ldab,
                    double* w, MKL_Complex16* z, const MKL_INT* ldz,
                    MKL_Complex16* work, const MKL_INT* lwork, double* rwork,
                    MKL_INT* info ) NOTHROW;

void ZHBEVD_2STAGE( const char* jobz, const char* uplo, const MKL_INT* n,
                    const MKL_INT* kd, MKL_Complex16* ab, const MKL_INT* ldab,
                    double* w, MKL_Complex16* z, const MKL_INT* ldz,
                    MKL_Complex16* work, const MKL_INT* lwork, double* rwork,
                    const MKL_INT* lrwork, MKL_INT* iwork,
                    const MKL_INT* liwork, MKL_INT* info ) NOTHROW;
void ZHBEVD_2STAGE_( const char* jobz, const char* uplo, const MKL_INT* n,
                     const MKL_INT* kd, MKL_Complex16* ab, const MKL_INT* ldab,
                     double* w, MKL_Complex16* z, const MKL_INT* ldz,
                     MKL_Complex16* work, const MKL_INT* lwork, double* rwork,
                     const MKL_INT* lrwork, MKL_INT* iwork,
                     const MKL_INT* liwork, MKL_INT* info ) NOTHROW;
void zhbevd_2stage( const char* jobz, const char* uplo, const MKL_INT* n,
                    const MKL_INT* kd, MKL_Complex16* ab, const MKL_INT* ldab,
                    double* w, MKL_Complex16* z, const MKL_INT* ldz,
                    MKL_Complex16* work, const MKL_INT* lwork, double* rwork,
                    const MKL_INT* lrwork, MKL_INT* iwork,
                    const MKL_INT* liwork, MKL_INT* info ) NOTHROW;
void zhbevd_2stage_( const char* jobz, const char* uplo, const MKL_INT* n,
                     const MKL_INT* kd, MKL_Complex16* ab, const MKL_INT* ldab,
                     double* w, MKL_Complex16* z, const MKL_INT* ldz,
                     MKL_Complex16* work, const MKL_INT* lwork, double* rwork,
                     const MKL_INT* lrwork, MKL_INT* iwork,
                     const MKL_INT* liwork, MKL_INT* info ) NOTHROW;

void ZHBEVX_2STAGE( const char* jobz, const char* range, const char* uplo,
                    const MKL_INT* n, const MKL_INT* kd, MKL_Complex16* ab,
                    const MKL_INT* ldab, MKL_Complex16* q, const MKL_INT* ldq,
                    const double* vl, const double* vu, const MKL_INT* il,
                    const MKL_INT* iu, const double* abstol, MKL_INT* m,
                    double* w, MKL_Complex16* z, const MKL_INT* ldz,
                    MKL_Complex16* work, const MKL_INT* lwork, double* rwork,
                    MKL_INT* iwork, MKL_INT* ifail, MKL_INT* info ) NOTHROW;
void ZHBEVX_2STAGE_( const char* jobz, const char* range, const char* uplo,
                     const MKL_INT* n, const MKL_INT* kd, MKL_Complex16* ab,
                     const MKL_INT* ldab, MKL_Complex16* q, const MKL_INT* ldq,
                     const double* vl, const double* vu, const MKL_INT* il,
                     const MKL_INT* iu, const double* abstol, MKL_INT* m,
                     double* w, MKL_Complex16* z, const MKL_INT* ldz,
                     MKL_Complex16* work, const MKL_INT* lwork, double* rwork,
                     MKL_INT* iwork, MKL_INT* ifail, MKL_INT* info ) NOTHROW;
void zhbevx_2stage( const char* jobz, const char* range, const char* uplo,
                    const MKL_INT* n, const MKL_INT* kd, MKL_Complex16* ab,
                    const MKL_INT* ldab, MKL_Complex16* q, const MKL_INT* ldq,
                    const double* vl, const double* vu, const MKL_INT* il,
                    const MKL_INT* iu, const double* abstol, MKL_INT* m,
                    double* w, MKL_Complex16* z, const MKL_INT* ldz,
                    MKL_Complex16* work, const MKL_INT* lwork, double* rwork,
                    MKL_INT* iwork, MKL_INT* ifail, MKL_INT* info ) NOTHROW;
void zhbevx_2stage_( const char* jobz, const char* range, const char* uplo,
                     const MKL_INT* n, const MKL_INT* kd, MKL_Complex16* ab,
                     const MKL_INT* ldab, MKL_Complex16* q, const MKL_INT* ldq,
                     const double* vl, const double* vu, const MKL_INT* il,
                     const MKL_INT* iu, const double* abstol, MKL_INT* m,
                     double* w, MKL_Complex16* z, const MKL_INT* ldz,
                     MKL_Complex16* work, const MKL_INT* lwork, double* rwork,
                     MKL_INT* iwork, MKL_INT* ifail, MKL_INT* info ) NOTHROW;

void ZHEEV_2STAGE( const char* jobz, const char* uplo, const MKL_INT* n,
                   MKL_Complex16* a, const MKL_INT* lda, double* w,
                   MKL_Complex16* work, const MKL_INT* lwork, double* rwork,
                   MKL_INT* info ) NOTHROW;
void ZHEEV_2STAGE_( const char* jobz, const char* uplo, const MKL_INT* n,
                    MKL_Complex16* a, const MKL_INT* lda, double* w,
                    MKL_Complex16* work, const MKL_INT* lwork, double* rwork,
                    MKL_INT* info ) NOTHROW;
void zheev_2stage( const char* jobz, const char* uplo, const MKL_INT* n,
                   MKL_Complex16* a, const MKL_INT* lda, double* w,
                   MKL_Complex16* work, const MKL_INT* lwork, double* rwork,
                   MKL_INT* info ) NOTHROW;
void zheev_2stage_( const char* jobz, const char* uplo, const MKL_INT* n,
                    MKL_Complex16* a, const MKL_INT* lda, double* w,
                    MKL_Complex16* work, const MKL_INT* lwork, double* rwork,
                    MKL_INT* info ) NOTHROW;

void ZHEEVD_2STAGE( const char* jobz, const char* uplo, const MKL_INT* n,
                    MKL_Complex16* a, const MKL_INT* lda, double* w,
                    MKL_Complex16* work, const MKL_INT* lwork, double* rwork,
                    const MKL_INT* lrwork, MKL_INT* iwork,
                    const MKL_INT* liwork, MKL_INT* info ) NOTHROW;
void ZHEEVD_2STAGE_( const char* jobz, const char* uplo, const MKL_INT* n,
                     MKL_Complex16* a, const MKL_INT* lda, double* w,
                     MKL_Complex16* work, const MKL_INT* lwork, double* rwork,
                     const MKL_INT* lrwork, MKL_INT* iwork,
                     const MKL_INT* liwork, MKL_INT* info ) NOTHROW;
void zheevd_2stage( const char* jobz, const char* uplo, const MKL_INT* n,
                    MKL_Complex16* a, const MKL_INT* lda, double* w,
                    MKL_Complex16* work, const MKL_INT* lwork, double* rwork,
                    const MKL_INT* lrwork, MKL_INT* iwork,
                    const MKL_INT* liwork, MKL_INT* info ) NOTHROW;
void zheevd_2stage_( const char* jobz, const char* uplo, const MKL_INT* n,
                     MKL_Complex16* a, const MKL_INT* lda, double* w,
                     MKL_Complex16* work, const MKL_INT* lwork, double* rwork,
                     const MKL_INT* lrwork, MKL_INT* iwork,
                     const MKL_INT* liwork, MKL_INT* info ) NOTHROW;

void ZHEEVR_2STAGE( const char* jobz, const char* range, const char* uplo,
                    const MKL_INT* n, MKL_Complex16* a, const MKL_INT* lda,
                    const double* vl, const double* vu, const MKL_INT* il,
                    const MKL_INT* iu, const double* abstol, MKL_INT* m,
                    double* w, MKL_Complex16* z, const MKL_INT* ldz,
                    MKL_INT* isuppz, MKL_Complex16* work, const MKL_INT* lwork,
                    double* rwork, const MKL_INT* lrwork, MKL_INT* iwork,
                    const MKL_INT* liwork, MKL_INT* info ) NOTHROW;
void ZHEEVR_2STAGE_( const char* jobz, const char* range, const char* uplo,
                     const MKL_INT* n, MKL_Complex16* a, const MKL_INT* lda,
                     const double* vl, const double* vu, const MKL_INT* il,
                     const MKL_INT* iu, const double* abstol, MKL_INT* m,
                     double* w, MKL_Complex16* z, const MKL_INT* ldz,
                     MKL_INT* isuppz, MKL_Complex16* work,
                     const MKL_INT* lwork, double* rwork,
                     const MKL_INT* lrwork, MKL_INT* iwork,
                     const MKL_INT* liwork, MKL_INT* info ) NOTHROW;
void zheevr_2stage( const char* jobz, const char* range, const char* uplo,
                    const MKL_INT* n, MKL_Complex16* a, const MKL_INT* lda,
                    const double* vl, const double* vu, const MKL_INT* il,
                    const MKL_INT* iu, const double* abstol, MKL_INT* m,
                    double* w, MKL_Complex16* z, const MKL_INT* ldz,
                    MKL_INT* isuppz, MKL_Complex16* work, const MKL_INT* lwork,
                    double* rwork, const MKL_INT* lrwork, MKL_INT* iwork,
                    const MKL_INT* liwork, MKL_INT* info ) NOTHROW;
void zheevr_2stage_( const char* jobz, const char* range, const char* uplo,
                     const MKL_INT* n, MKL_Complex16* a, const MKL_INT* lda,
                     const double* vl, const double* vu, const MKL_INT* il,
                     const MKL_INT* iu, const double* abstol, MKL_INT* m,
                     double* w, MKL_Complex16* z, const MKL_INT* ldz,
                     MKL_INT* isuppz, MKL_Complex16* work,
                     const MKL_INT* lwork, double* rwork,
                     const MKL_INT* lrwork, MKL_INT* iwork,
                     const MKL_INT* liwork, MKL_INT* info ) NOTHROW;

void ZHEEVX_2STAGE( const char* jobz, const char* range, const char* uplo,
                    const MKL_INT* n, MKL_Complex16* a, const MKL_INT* lda,
                    const double* vl, const double* vu, const MKL_INT* il,
                    const MKL_INT* iu, const double* abstol, MKL_INT* m,
                    double* w, MKL_Complex16* z, const MKL_INT* ldz,
                    MKL_Complex16* work, const MKL_INT* lwork, double* rwork,
                    MKL_INT* iwork, MKL_INT* ifail, MKL_INT* info ) NOTHROW;
void ZHEEVX_2STAGE_( const char* jobz, const char* range, const char* uplo,
                     const MKL_INT* n, MKL_Complex16* a, const MKL_INT* lda,
                     const double* vl, const double* vu, const MKL_INT* il,
                     const MKL_INT* iu, const double* abstol, MKL_INT* m,
                     double* w, MKL_Complex16* z, const MKL_INT* ldz,
                     MKL_Complex16* work, const MKL_INT* lwork, double* rwork,
                     MKL_INT* iwork, MKL_INT* ifail, MKL_INT* info ) NOTHROW;
void zheevx_2stage( const char* jobz, const char* range, const char* uplo,
                    const MKL_INT* n, MKL_Complex16* a, const MKL_INT* lda,
                    const double* vl, const double* vu, const MKL_INT* il,
                    const MKL_INT* iu, const double* abstol, MKL_INT* m,
                    double* w, MKL_Complex16* z, const MKL_INT* ldz,
                    MKL_Complex16* work, const MKL_INT* lwork, double* rwork,
                    MKL_INT* iwork, MKL_INT* ifail, MKL_INT* info ) NOTHROW;
void zheevx_2stage_( const char* jobz, const char* range, const char* uplo,
                     const MKL_INT* n, MKL_Complex16* a, const MKL_INT* lda,
                     const double* vl, const double* vu, const MKL_INT* il,
                     const MKL_INT* iu, const double* abstol, MKL_INT* m,
                     double* w, MKL_Complex16* z, const MKL_INT* ldz,
                     MKL_Complex16* work, const MKL_INT* lwork, double* rwork,
                     MKL_INT* iwork, MKL_INT* ifail, MKL_INT* info ) NOTHROW;

void ZHEGV_2STAGE( const MKL_INT* itype, const char* jobz, const char* uplo,
                   const MKL_INT* n, MKL_Complex16* a, const MKL_INT* lda,
                   MKL_Complex16* b, const MKL_INT* ldb, double* w,
                   MKL_Complex16* work, const MKL_INT* lwork, double* rwork,
                   MKL_INT* info ) NOTHROW;
void ZHEGV_2STAGE_( const MKL_INT* itype, const char* jobz, const char* uplo,
                    const MKL_INT* n, MKL_Complex16* a, const MKL_INT* lda,
                    MKL_Complex16* b, const MKL_INT* ldb, double* w,
                    MKL_Complex16* work, const MKL_INT* lwork, double* rwork,
                    MKL_INT* info ) NOTHROW;
void zhegv_2stage( const MKL_INT* itype, const char* jobz, const char* uplo,
                   const MKL_INT* n, MKL_Complex16* a, const MKL_INT* lda,
                   MKL_Complex16* b, const MKL_INT* ldb, double* w,
                   MKL_Complex16* work, const MKL_INT* lwork, double* rwork,
                   MKL_INT* info ) NOTHROW;
void zhegv_2stage_( const MKL_INT* itype, const char* jobz, const char* uplo,
                    const MKL_INT* n, MKL_Complex16* a, const MKL_INT* lda,
                    MKL_Complex16* b, const MKL_INT* ldb, double* w,
                    MKL_Complex16* work, const MKL_INT* lwork, double* rwork,
                    MKL_INT* info ) NOTHROW;

void ZHETRD_2STAGE( const char* vect, const char* uplo, const MKL_INT* n,
                    MKL_Complex16* a, const MKL_INT* lda, double* d, double* e,
                    MKL_Complex16* tau, MKL_Complex16* hous2,
                    const MKL_INT* lhous2, MKL_Complex16* work,
                    const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void ZHETRD_2STAGE_( const char* vect, const char* uplo, const MKL_INT* n,
                     MKL_Complex16* a, const MKL_INT* lda, double* d,
                     double* e, MKL_Complex16* tau, MKL_Complex16* hous2,
                     const MKL_INT* lhous2, MKL_Complex16* work,
                     const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void zhetrd_2stage( const char* vect, const char* uplo, const MKL_INT* n,
                    MKL_Complex16* a, const MKL_INT* lda, double* d, double* e,
                    MKL_Complex16* tau, MKL_Complex16* hous2,
                    const MKL_INT* lhous2, MKL_Complex16* work,
                    const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void zhetrd_2stage_( const char* vect, const char* uplo, const MKL_INT* n,
                     MKL_Complex16* a, const MKL_INT* lda, double* d,
                     double* e, MKL_Complex16* tau, MKL_Complex16* hous2,
                     const MKL_INT* lhous2, MKL_Complex16* work,
                     const MKL_INT* lwork, MKL_INT* info ) NOTHROW;

void ZHETRD_HB2ST( const char* stage1, const char* vect, const char* uplo,
                   const MKL_INT* n, const MKL_INT* kd, MKL_Complex16* ab,
                   const MKL_INT* ldab, double* d, double* e,
                   MKL_Complex16* hous, const MKL_INT* lhous,
                   MKL_Complex16* work, const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void ZHETRD_HB2ST_( const char* stage1, const char* vect, const char* uplo,
                    const MKL_INT* n, const MKL_INT* kd, MKL_Complex16* ab,
                    const MKL_INT* ldab, double* d, double* e,
                    MKL_Complex16* hous, const MKL_INT* lhous,
                    MKL_Complex16* work, const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void zhetrd_hb2st( const char* stage1, const char* vect, const char* uplo,
                   const MKL_INT* n, const MKL_INT* kd, MKL_Complex16* ab,
                   const MKL_INT* ldab, double* d, double* e,
                   MKL_Complex16* hous, const MKL_INT* lhous,
                   MKL_Complex16* work, const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void zhetrd_hb2st_( const char* stage1, const char* vect, const char* uplo,
                    const MKL_INT* n, const MKL_INT* kd, MKL_Complex16* ab,
                    const MKL_INT* ldab, double* d, double* e,
                    MKL_Complex16* hous, const MKL_INT* lhous,
                    MKL_Complex16* work, const MKL_INT* lwork, MKL_INT* info ) NOTHROW;

void ZHETRD_HE2HB( const char* uplo, const MKL_INT* n, const MKL_INT* kd,
                   MKL_Complex16* a, const MKL_INT* lda, MKL_Complex16* ab,
                   const MKL_INT* ldab, MKL_Complex16* tau,
                   MKL_Complex16* work, const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void ZHETRD_HE2HB_( const char* uplo, const MKL_INT* n, const MKL_INT* kd,
                    MKL_Complex16* a, const MKL_INT* lda, MKL_Complex16* ab,
                    const MKL_INT* ldab, MKL_Complex16* tau,
                    MKL_Complex16* work, const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void zhetrd_he2hb( const char* uplo, const MKL_INT* n, const MKL_INT* kd,
                   MKL_Complex16* a, const MKL_INT* lda, MKL_Complex16* ab,
                   const MKL_INT* ldab, MKL_Complex16* tau,
                   MKL_Complex16* work, const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void zhetrd_he2hb_( const char* uplo, const MKL_INT* n, const MKL_INT* kd,
                    MKL_Complex16* a, const MKL_INT* lda, MKL_Complex16* ab,
                    const MKL_INT* ldab, MKL_Complex16* tau,
                    MKL_Complex16* work, const MKL_INT* lwork, MKL_INT* info ) NOTHROW;

void MKL_CGETRFNP( const MKL_INT* m, const MKL_INT* n, MKL_Complex8* a,
                   const MKL_INT* lda, MKL_INT* info ) NOTHROW;
void MKL_CGETRFNP_( const MKL_INT* m, const MKL_INT* n, MKL_Complex8* a,
                    const MKL_INT* lda, MKL_INT* info ) NOTHROW;
void mkl_cgetrfnp( const MKL_INT* m, const MKL_INT* n, MKL_Complex8* a,
                   const MKL_INT* lda, MKL_INT* info ) NOTHROW;
void mkl_cgetrfnp_( const MKL_INT* m, const MKL_INT* n, MKL_Complex8* a,
                    const MKL_INT* lda, MKL_INT* info ) NOTHROW;

void MKL_DGETRFNP( const MKL_INT* m, const MKL_INT* n, double* a,
                   const MKL_INT* lda, MKL_INT* info ) NOTHROW;
void MKL_DGETRFNP_( const MKL_INT* m, const MKL_INT* n, double* a,
                    const MKL_INT* lda, MKL_INT* info ) NOTHROW;
void mkl_dgetrfnp( const MKL_INT* m, const MKL_INT* n, double* a,
                   const MKL_INT* lda, MKL_INT* info ) NOTHROW;
void mkl_dgetrfnp_( const MKL_INT* m, const MKL_INT* n, double* a,
                    const MKL_INT* lda, MKL_INT* info ) NOTHROW;

void MKL_SGETRFNP( const MKL_INT* m, const MKL_INT* n, float* a,
                   const MKL_INT* lda, MKL_INT* info ) NOTHROW;
void MKL_SGETRFNP_( const MKL_INT* m, const MKL_INT* n, float* a,
                    const MKL_INT* lda, MKL_INT* info ) NOTHROW;
void mkl_sgetrfnp( const MKL_INT* m, const MKL_INT* n, float* a,
                   const MKL_INT* lda, MKL_INT* info ) NOTHROW;
void mkl_sgetrfnp_( const MKL_INT* m, const MKL_INT* n, float* a,
                    const MKL_INT* lda, MKL_INT* info ) NOTHROW;

void MKL_ZGETRFNP( const MKL_INT* m, const MKL_INT* n, MKL_Complex16* a,
                   const MKL_INT* lda, MKL_INT* info ) NOTHROW;
void MKL_ZGETRFNP_( const MKL_INT* m, const MKL_INT* n, MKL_Complex16* a,
                    const MKL_INT* lda, MKL_INT* info ) NOTHROW;
void mkl_zgetrfnp( const MKL_INT* m, const MKL_INT* n, MKL_Complex16* a,
                   const MKL_INT* lda, MKL_INT* info ) NOTHROW;
void mkl_zgetrfnp_( const MKL_INT* m, const MKL_INT* n, MKL_Complex16* a,
                    const MKL_INT* lda, MKL_INT* info ) NOTHROW;

void MKL_CGETRINP( const MKL_INT* n, MKL_Complex8* a, const MKL_INT* lda,
                   MKL_Complex8* work, const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void MKL_CGETRINP_( const MKL_INT* n, MKL_Complex8* a, const MKL_INT* lda,
                    MKL_Complex8* work, const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void mkl_cgetrinp( const MKL_INT* n, MKL_Complex8* a, const MKL_INT* lda,
                   MKL_Complex8* work, const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void mkl_cgetrinp_( const MKL_INT* n, MKL_Complex8* a, const MKL_INT* lda,
                    MKL_Complex8* work, const MKL_INT* lwork, MKL_INT* info ) NOTHROW;

void MKL_DGETRINP( const MKL_INT* n, double* a, const MKL_INT* lda,
                   double* work, const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void MKL_DGETRINP_( const MKL_INT* n, double* a, const MKL_INT* lda,
                    double* work, const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void mkl_dgetrinp( const MKL_INT* n, double* a, const MKL_INT* lda,
                   double* work, const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void mkl_dgetrinp_( const MKL_INT* n, double* a, const MKL_INT* lda,
                    double* work, const MKL_INT* lwork, MKL_INT* info ) NOTHROW;

void MKL_SGETRINP( const MKL_INT* n, float* a, const MKL_INT* lda, float* work,
                   const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void MKL_SGETRINP_( const MKL_INT* n, float* a, const MKL_INT* lda,
                    float* work, const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void mkl_sgetrinp( const MKL_INT* n, float* a, const MKL_INT* lda, float* work,
                   const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void mkl_sgetrinp_( const MKL_INT* n, float* a, const MKL_INT* lda,
                    float* work, const MKL_INT* lwork, MKL_INT* info ) NOTHROW;

void MKL_ZGETRINP( const MKL_INT* n, MKL_Complex16* a, const MKL_INT* lda,
                   MKL_Complex16* work, const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void MKL_ZGETRINP_( const MKL_INT* n, MKL_Complex16* a, const MKL_INT* lda,
                    MKL_Complex16* work, const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void mkl_zgetrinp( const MKL_INT* n, MKL_Complex16* a, const MKL_INT* lda,
                   MKL_Complex16* work, const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void mkl_zgetrinp_( const MKL_INT* n, MKL_Complex16* a, const MKL_INT* lda,
                    MKL_Complex16* work, const MKL_INT* lwork, MKL_INT* info ) NOTHROW;

void DSYTRF_AA_2STAGE( const char* uplo, const MKL_INT* n, double* a,
                       const MKL_INT* lda, double* tb, const MKL_INT* ltb,
                       MKL_INT* ipiv, MKL_INT* ipiv2, double* work,
                       const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void DSYTRF_AA_2STAGE_( const char* uplo, const MKL_INT* n, double* a,
                        const MKL_INT* lda, double* tb, const MKL_INT* ltb,
                        MKL_INT* ipiv, MKL_INT* ipiv2, double* work,
                        const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void dsytrf_aa_2stage( const char* uplo, const MKL_INT* n, double* a,
                       const MKL_INT* lda, double* tb, const MKL_INT* ltb,
                       MKL_INT* ipiv, MKL_INT* ipiv2, double* work,
                       const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void dsytrf_aa_2stage_( const char* uplo, const MKL_INT* n, double* a,
                        const MKL_INT* lda, double* tb, const MKL_INT* ltb,
                        MKL_INT* ipiv, MKL_INT* ipiv2, double* work,
                        const MKL_INT* lwork, MKL_INT* info ) NOTHROW;

void CHESV_AA_2STAGE( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs,
                      MKL_Complex8* a, const MKL_INT* lda, MKL_Complex8* tb,
                      const MKL_INT* ltb, MKL_INT* ipiv, MKL_INT* ipiv2,
                      MKL_Complex8* b, const MKL_INT* ldb, MKL_Complex8* work,
                      const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void CHESV_AA_2STAGE_( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs,
                       MKL_Complex8* a, const MKL_INT* lda, MKL_Complex8* tb,
                       const MKL_INT* ltb, MKL_INT* ipiv, MKL_INT* ipiv2,
                       MKL_Complex8* b, const MKL_INT* ldb, MKL_Complex8* work,
                       const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void chesv_aa_2stage( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs,
                      MKL_Complex8* a, const MKL_INT* lda, MKL_Complex8* tb,
                      const MKL_INT* ltb, MKL_INT* ipiv, MKL_INT* ipiv2,
                      MKL_Complex8* b, const MKL_INT* ldb, MKL_Complex8* work,
                      const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void chesv_aa_2stage_( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs,
                       MKL_Complex8* a, const MKL_INT* lda, MKL_Complex8* tb,
                       const MKL_INT* ltb, MKL_INT* ipiv, MKL_INT* ipiv2,
                       MKL_Complex8* b, const MKL_INT* ldb, MKL_Complex8* work,
                       const MKL_INT* lwork, MKL_INT* info ) NOTHROW;

void CHETRF_AA_2STAGE( const char* uplo, const MKL_INT* n, MKL_Complex8* a,
                       const MKL_INT* lda, MKL_Complex8* tb,
                       const MKL_INT* ltb, MKL_INT* ipiv, MKL_INT* ipiv2,
                       MKL_Complex8* work, const MKL_INT* lwork,
                       MKL_INT* info ) NOTHROW;
void CHETRF_AA_2STAGE_( const char* uplo, const MKL_INT* n, MKL_Complex8* a,
                        const MKL_INT* lda, MKL_Complex8* tb,
                        const MKL_INT* ltb, MKL_INT* ipiv, MKL_INT* ipiv2,
                        MKL_Complex8* work, const MKL_INT* lwork,
                        MKL_INT* info ) NOTHROW;
void chetrf_aa_2stage( const char* uplo, const MKL_INT* n, MKL_Complex8* a,
                       const MKL_INT* lda, MKL_Complex8* tb,
                       const MKL_INT* ltb, MKL_INT* ipiv, MKL_INT* ipiv2,
                       MKL_Complex8* work, const MKL_INT* lwork,
                       MKL_INT* info ) NOTHROW;
void chetrf_aa_2stage_( const char* uplo, const MKL_INT* n, MKL_Complex8* a,
                        const MKL_INT* lda, MKL_Complex8* tb,
                        const MKL_INT* ltb, MKL_INT* ipiv, MKL_INT* ipiv2,
                        MKL_Complex8* work, const MKL_INT* lwork,
                        MKL_INT* info ) NOTHROW;

void CHETRS_AA_2STAGE( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs,
                       const MKL_Complex8* a, const MKL_INT* lda,
                       MKL_Complex8* tb, const MKL_INT* ltb,
                       const MKL_INT* ipiv, const MKL_INT* ipiv2,
                       MKL_Complex8* b, const MKL_INT* ldb, MKL_INT* info ) NOTHROW;
void CHETRS_AA_2STAGE_( const char* uplo, const MKL_INT* n,
                        const MKL_INT* nrhs, const MKL_Complex8* a,
                        const MKL_INT* lda, MKL_Complex8* tb,
                        const MKL_INT* ltb, const MKL_INT* ipiv,
                        const MKL_INT* ipiv2, MKL_Complex8* b,
                        const MKL_INT* ldb, MKL_INT* info ) NOTHROW;
void chetrs_aa_2stage( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs,
                       const MKL_Complex8* a, const MKL_INT* lda,
                       MKL_Complex8* tb, const MKL_INT* ltb,
                       const MKL_INT* ipiv, const MKL_INT* ipiv2,
                       MKL_Complex8* b, const MKL_INT* ldb, MKL_INT* info ) NOTHROW;
void chetrs_aa_2stage_( const char* uplo, const MKL_INT* n,
                        const MKL_INT* nrhs, const MKL_Complex8* a,
                        const MKL_INT* lda, MKL_Complex8* tb,
                        const MKL_INT* ltb, const MKL_INT* ipiv,
                        const MKL_INT* ipiv2, MKL_Complex8* b,
                        const MKL_INT* ldb, MKL_INT* info ) NOTHROW;

void CSYSV_AA_2STAGE( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs,
                      MKL_Complex8* a, const MKL_INT* lda, MKL_Complex8* tb,
                      const MKL_INT* ltb, MKL_INT* ipiv, MKL_INT* ipiv2,
                      MKL_Complex8* b, const MKL_INT* ldb, MKL_Complex8* work,
                      const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void CSYSV_AA_2STAGE_( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs,
                       MKL_Complex8* a, const MKL_INT* lda, MKL_Complex8* tb,
                       const MKL_INT* ltb, MKL_INT* ipiv, MKL_INT* ipiv2,
                       MKL_Complex8* b, const MKL_INT* ldb, MKL_Complex8* work,
                       const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void csysv_aa_2stage( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs,
                      MKL_Complex8* a, const MKL_INT* lda, MKL_Complex8* tb,
                      const MKL_INT* ltb, MKL_INT* ipiv, MKL_INT* ipiv2,
                      MKL_Complex8* b, const MKL_INT* ldb, MKL_Complex8* work,
                      const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void csysv_aa_2stage_( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs,
                       MKL_Complex8* a, const MKL_INT* lda, MKL_Complex8* tb,
                       const MKL_INT* ltb, MKL_INT* ipiv, MKL_INT* ipiv2,
                       MKL_Complex8* b, const MKL_INT* ldb, MKL_Complex8* work,
                       const MKL_INT* lwork, MKL_INT* info ) NOTHROW;

void CSYTRF_AA_2STAGE( const char* uplo, const MKL_INT* n, MKL_Complex8* a,
                       const MKL_INT* lda, MKL_Complex8* tb,
                       const MKL_INT* ltb, MKL_INT* ipiv, MKL_INT* ipiv2,
                       MKL_Complex8* work, const MKL_INT* lwork,
                       MKL_INT* info ) NOTHROW;
void CSYTRF_AA_2STAGE_( const char* uplo, const MKL_INT* n, MKL_Complex8* a,
                        const MKL_INT* lda, MKL_Complex8* tb,
                        const MKL_INT* ltb, MKL_INT* ipiv, MKL_INT* ipiv2,
                        MKL_Complex8* work, const MKL_INT* lwork,
                        MKL_INT* info ) NOTHROW;
void csytrf_aa_2stage( const char* uplo, const MKL_INT* n, MKL_Complex8* a,
                       const MKL_INT* lda, MKL_Complex8* tb,
                       const MKL_INT* ltb, MKL_INT* ipiv, MKL_INT* ipiv2,
                       MKL_Complex8* work, const MKL_INT* lwork,
                       MKL_INT* info ) NOTHROW;
void csytrf_aa_2stage_( const char* uplo, const MKL_INT* n, MKL_Complex8* a,
                        const MKL_INT* lda, MKL_Complex8* tb,
                        const MKL_INT* ltb, MKL_INT* ipiv, MKL_INT* ipiv2,
                        MKL_Complex8* work, const MKL_INT* lwork,
                        MKL_INT* info ) NOTHROW;

void CSYTRS_AA_2STAGE( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs,
                       const MKL_Complex8* a, const MKL_INT* lda,
                       MKL_Complex8* tb, const MKL_INT* ltb,
                       const MKL_INT* ipiv, const MKL_INT* ipiv2,
                       MKL_Complex8* b, const MKL_INT* ldb, MKL_INT* info ) NOTHROW;
void CSYTRS_AA_2STAGE_( const char* uplo, const MKL_INT* n,
                        const MKL_INT* nrhs, const MKL_Complex8* a,
                        const MKL_INT* lda, MKL_Complex8* tb,
                        const MKL_INT* ltb, const MKL_INT* ipiv,
                        const MKL_INT* ipiv2, MKL_Complex8* b,
                        const MKL_INT* ldb, MKL_INT* info ) NOTHROW;
void csytrs_aa_2stage( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs,
                       const MKL_Complex8* a, const MKL_INT* lda,
                       MKL_Complex8* tb, const MKL_INT* ltb,
                       const MKL_INT* ipiv, const MKL_INT* ipiv2,
                       MKL_Complex8* b, const MKL_INT* ldb, MKL_INT* info ) NOTHROW;
void csytrs_aa_2stage_( const char* uplo, const MKL_INT* n,
                        const MKL_INT* nrhs, const MKL_Complex8* a,
                        const MKL_INT* lda, MKL_Complex8* tb,
                        const MKL_INT* ltb, const MKL_INT* ipiv,
                        const MKL_INT* ipiv2, MKL_Complex8* b,
                        const MKL_INT* ldb, MKL_INT* info ) NOTHROW;

void ZHESV_AA_2STAGE( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs,
                      MKL_Complex16* a, const MKL_INT* lda, MKL_Complex16* tb,
                      const MKL_INT* ltb, MKL_INT* ipiv, MKL_INT* ipiv2,
                      MKL_Complex16* b, const MKL_INT* ldb,
                      MKL_Complex16* work, const MKL_INT* lwork,
                      MKL_INT* info ) NOTHROW;
void ZHESV_AA_2STAGE_( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs,
                       MKL_Complex16* a, const MKL_INT* lda, MKL_Complex16* tb,
                       const MKL_INT* ltb, MKL_INT* ipiv, MKL_INT* ipiv2,
                       MKL_Complex16* b, const MKL_INT* ldb,
                       MKL_Complex16* work, const MKL_INT* lwork,
                       MKL_INT* info ) NOTHROW;
void zhesv_aa_2stage( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs,
                      MKL_Complex16* a, const MKL_INT* lda, MKL_Complex16* tb,
                      const MKL_INT* ltb, MKL_INT* ipiv, MKL_INT* ipiv2,
                      MKL_Complex16* b, const MKL_INT* ldb,
                      MKL_Complex16* work, const MKL_INT* lwork,
                      MKL_INT* info ) NOTHROW;
void zhesv_aa_2stage_( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs,
                       MKL_Complex16* a, const MKL_INT* lda, MKL_Complex16* tb,
                       const MKL_INT* ltb, MKL_INT* ipiv, MKL_INT* ipiv2,
                       MKL_Complex16* b, const MKL_INT* ldb,
                       MKL_Complex16* work, const MKL_INT* lwork,
                       MKL_INT* info ) NOTHROW;

void ZHETRF_AA_2STAGE( const char* uplo, const MKL_INT* n, MKL_Complex16* a,
                       const MKL_INT* lda, MKL_Complex16* tb,
                       const MKL_INT* ltb, MKL_INT* ipiv, MKL_INT* ipiv2,
                       MKL_Complex16* work, const MKL_INT* lwork,
                       MKL_INT* info ) NOTHROW;
void ZHETRF_AA_2STAGE_( const char* uplo, const MKL_INT* n, MKL_Complex16* a,
                        const MKL_INT* lda, MKL_Complex16* tb,
                        const MKL_INT* ltb, MKL_INT* ipiv, MKL_INT* ipiv2,
                        MKL_Complex16* work, const MKL_INT* lwork,
                        MKL_INT* info ) NOTHROW;
void zhetrf_aa_2stage( const char* uplo, const MKL_INT* n, MKL_Complex16* a,
                       const MKL_INT* lda, MKL_Complex16* tb,
                       const MKL_INT* ltb, MKL_INT* ipiv, MKL_INT* ipiv2,
                       MKL_Complex16* work, const MKL_INT* lwork,
                       MKL_INT* info ) NOTHROW;
void zhetrf_aa_2stage_( const char* uplo, const MKL_INT* n, MKL_Complex16* a,
                        const MKL_INT* lda, MKL_Complex16* tb,
                        const MKL_INT* ltb, MKL_INT* ipiv, MKL_INT* ipiv2,
                        MKL_Complex16* work, const MKL_INT* lwork,
                        MKL_INT* info ) NOTHROW;

void ZHETRS_AA_2STAGE( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs,
                       const MKL_Complex16* a, const MKL_INT* lda,
                       MKL_Complex16* tb, const MKL_INT* ltb,
                       const MKL_INT* ipiv, const MKL_INT* ipiv2,
                       MKL_Complex16* b, const MKL_INT* ldb, MKL_INT* info ) NOTHROW;
void ZHETRS_AA_2STAGE_( const char* uplo, const MKL_INT* n,
                        const MKL_INT* nrhs, const MKL_Complex16* a,
                        const MKL_INT* lda, MKL_Complex16* tb,
                        const MKL_INT* ltb, const MKL_INT* ipiv,
                        const MKL_INT* ipiv2, MKL_Complex16* b,
                        const MKL_INT* ldb, MKL_INT* info ) NOTHROW;
void zhetrs_aa_2stage( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs,
                       const MKL_Complex16* a, const MKL_INT* lda,
                       MKL_Complex16* tb, const MKL_INT* ltb,
                       const MKL_INT* ipiv, const MKL_INT* ipiv2,
                       MKL_Complex16* b, const MKL_INT* ldb, MKL_INT* info ) NOTHROW;
void zhetrs_aa_2stage_( const char* uplo, const MKL_INT* n,
                        const MKL_INT* nrhs, const MKL_Complex16* a,
                        const MKL_INT* lda, MKL_Complex16* tb,
                        const MKL_INT* ltb, const MKL_INT* ipiv,
                        const MKL_INT* ipiv2, MKL_Complex16* b,
                        const MKL_INT* ldb, MKL_INT* info ) NOTHROW;

void ZSYSV_AA_2STAGE( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs,
                      MKL_Complex16* a, const MKL_INT* lda, MKL_Complex16* tb,
                      const MKL_INT* ltb, MKL_INT* ipiv, MKL_INT* ipiv2,
                      MKL_Complex16* b, const MKL_INT* ldb,
                      MKL_Complex16* work, const MKL_INT* lwork,
                      MKL_INT* info ) NOTHROW;
void ZSYSV_AA_2STAGE_( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs,
                       MKL_Complex16* a, const MKL_INT* lda, MKL_Complex16* tb,
                       const MKL_INT* ltb, MKL_INT* ipiv, MKL_INT* ipiv2,
                       MKL_Complex16* b, const MKL_INT* ldb,
                       MKL_Complex16* work, const MKL_INT* lwork,
                       MKL_INT* info ) NOTHROW;
void zsysv_aa_2stage( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs,
                      MKL_Complex16* a, const MKL_INT* lda, MKL_Complex16* tb,
                      const MKL_INT* ltb, MKL_INT* ipiv, MKL_INT* ipiv2,
                      MKL_Complex16* b, const MKL_INT* ldb,
                      MKL_Complex16* work, const MKL_INT* lwork,
                      MKL_INT* info ) NOTHROW;
void zsysv_aa_2stage_( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs,
                       MKL_Complex16* a, const MKL_INT* lda, MKL_Complex16* tb,
                       const MKL_INT* ltb, MKL_INT* ipiv, MKL_INT* ipiv2,
                       MKL_Complex16* b, const MKL_INT* ldb,
                       MKL_Complex16* work, const MKL_INT* lwork,
                       MKL_INT* info ) NOTHROW;

void ZSYTRF_AA_2STAGE( const char* uplo, const MKL_INT* n, MKL_Complex16* a,
                       const MKL_INT* lda, MKL_Complex16* tb,
                       const MKL_INT* ltb, MKL_INT* ipiv, MKL_INT* ipiv2,
                       MKL_Complex16* work, const MKL_INT* lwork,
                       MKL_INT* info ) NOTHROW;
void ZSYTRF_AA_2STAGE_( const char* uplo, const MKL_INT* n, MKL_Complex16* a,
                        const MKL_INT* lda, MKL_Complex16* tb,
                        const MKL_INT* ltb, MKL_INT* ipiv, MKL_INT* ipiv2,
                        MKL_Complex16* work, const MKL_INT* lwork,
                        MKL_INT* info ) NOTHROW;
void zsytrf_aa_2stage( const char* uplo, const MKL_INT* n, MKL_Complex16* a,
                       const MKL_INT* lda, MKL_Complex16* tb,
                       const MKL_INT* ltb, MKL_INT* ipiv, MKL_INT* ipiv2,
                       MKL_Complex16* work, const MKL_INT* lwork,
                       MKL_INT* info ) NOTHROW;
void zsytrf_aa_2stage_( const char* uplo, const MKL_INT* n, MKL_Complex16* a,
                        const MKL_INT* lda, MKL_Complex16* tb,
                        const MKL_INT* ltb, MKL_INT* ipiv, MKL_INT* ipiv2,
                        MKL_Complex16* work, const MKL_INT* lwork,
                        MKL_INT* info ) NOTHROW;

void ZSYTRS_AA_2STAGE( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs,
                       const MKL_Complex16* a, const MKL_INT* lda,
                       MKL_Complex16* tb, const MKL_INT* ltb,
                       const MKL_INT* ipiv, const MKL_INT* ipiv2,
                       MKL_Complex16* b, const MKL_INT* ldb, MKL_INT* info ) NOTHROW;
void ZSYTRS_AA_2STAGE_( const char* uplo, const MKL_INT* n,
                        const MKL_INT* nrhs, const MKL_Complex16* a,
                        const MKL_INT* lda, MKL_Complex16* tb,
                        const MKL_INT* ltb, const MKL_INT* ipiv,
                        const MKL_INT* ipiv2, MKL_Complex16* b,
                        const MKL_INT* ldb, MKL_INT* info ) NOTHROW;
void zsytrs_aa_2stage( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs,
                       const MKL_Complex16* a, const MKL_INT* lda,
                       MKL_Complex16* tb, const MKL_INT* ltb,
                       const MKL_INT* ipiv, const MKL_INT* ipiv2,
                       MKL_Complex16* b, const MKL_INT* ldb, MKL_INT* info ) NOTHROW;
void zsytrs_aa_2stage_( const char* uplo, const MKL_INT* n,
                        const MKL_INT* nrhs, const MKL_Complex16* a,
                        const MKL_INT* lda, MKL_Complex16* tb,
                        const MKL_INT* ltb, const MKL_INT* ipiv,
                        const MKL_INT* ipiv2, MKL_Complex16* b,
                        const MKL_INT* ldb, MKL_INT* info ) NOTHROW;

void DSYTRS_AA_2STAGE( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs,
                       const double* a, const MKL_INT* lda, double* tb,
                       const MKL_INT* ltb, const MKL_INT* ipiv,
                       const MKL_INT* ipiv2, double* b, const MKL_INT* ldb,
                       MKL_INT* info ) NOTHROW;
void DSYTRS_AA_2STAGE_( const char* uplo, const MKL_INT* n,
                        const MKL_INT* nrhs, const double* a,
                        const MKL_INT* lda, double* tb, const MKL_INT* ltb,
                        const MKL_INT* ipiv, const MKL_INT* ipiv2, double* b,
                        const MKL_INT* ldb, MKL_INT* info ) NOTHROW;
void dsytrs_aa_2stage( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs,
                       const double* a, const MKL_INT* lda, double* tb,
                       const MKL_INT* ltb, const MKL_INT* ipiv,
                       const MKL_INT* ipiv2, double* b, const MKL_INT* ldb,
                       MKL_INT* info ) NOTHROW;
void dsytrs_aa_2stage_( const char* uplo, const MKL_INT* n,
                        const MKL_INT* nrhs, const double* a,
                        const MKL_INT* lda, double* tb, const MKL_INT* ltb,
                        const MKL_INT* ipiv, const MKL_INT* ipiv2, double* b,
                        const MKL_INT* ldb, MKL_INT* info ) NOTHROW;

void DSYSV_AA_2STAGE( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs,
                      double* a, const MKL_INT* lda, double* tb,
                      const MKL_INT* ltb, MKL_INT* ipiv, MKL_INT* ipiv2,
                      double* b, const MKL_INT* ldb, double* work,
                      const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void DSYSV_AA_2STAGE_( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs,
                       double* a, const MKL_INT* lda, double* tb,
                       const MKL_INT* ltb, MKL_INT* ipiv, MKL_INT* ipiv2,
                       double* b, const MKL_INT* ldb, double* work,
                       const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void dsysv_aa_2stage( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs,
                      double* a, const MKL_INT* lda, double* tb,
                      const MKL_INT* ltb, MKL_INT* ipiv, MKL_INT* ipiv2,
                      double* b, const MKL_INT* ldb, double* work,
                      const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void dsysv_aa_2stage_( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs,
                       double* a, const MKL_INT* lda, double* tb,
                       const MKL_INT* ltb, MKL_INT* ipiv, MKL_INT* ipiv2,
                       double* b, const MKL_INT* ldb, double* work,
                       const MKL_INT* lwork, MKL_INT* info ) NOTHROW;

void SSYSV_AA_2STAGE( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs,
                      float* a, const MKL_INT* lda, float* tb,
                      const MKL_INT* ltb, MKL_INT* ipiv, MKL_INT* ipiv2,
                      float* b, const MKL_INT* ldb, float* work,
                      const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void SSYSV_AA_2STAGE_( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs,
                       float* a, const MKL_INT* lda, float* tb,
                       const MKL_INT* ltb, MKL_INT* ipiv, MKL_INT* ipiv2,
                       float* b, const MKL_INT* ldb, float* work,
                       const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void ssysv_aa_2stage( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs,
                      float* a, const MKL_INT* lda, float* tb,
                      const MKL_INT* ltb, MKL_INT* ipiv, MKL_INT* ipiv2,
                      float* b, const MKL_INT* ldb, float* work,
                      const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void ssysv_aa_2stage_( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs,
                       float* a, const MKL_INT* lda, float* tb,
                       const MKL_INT* ltb, MKL_INT* ipiv, MKL_INT* ipiv2,
                       float* b, const MKL_INT* ldb, float* work,
                       const MKL_INT* lwork, MKL_INT* info ) NOTHROW;

void SSYTRS_AA_2STAGE( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs,
                       const float* a, const MKL_INT* lda, float* tb,
                       const MKL_INT* ltb, const MKL_INT* ipiv,
                       const MKL_INT* ipiv2, float* b, const MKL_INT* ldb,
                       MKL_INT* info ) NOTHROW;
void SSYTRS_AA_2STAGE_( const char* uplo, const MKL_INT* n,
                        const MKL_INT* nrhs, const float* a,
                        const MKL_INT* lda, float* tb, const MKL_INT* ltb,
                        const MKL_INT* ipiv, const MKL_INT* ipiv2, float* b,
                        const MKL_INT* ldb, MKL_INT* info ) NOTHROW;
void ssytrs_aa_2stage( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs,
                       const float* a, const MKL_INT* lda, float* tb,
                       const MKL_INT* ltb, const MKL_INT* ipiv,
                       const MKL_INT* ipiv2, float* b, const MKL_INT* ldb,
                       MKL_INT* info ) NOTHROW;
void ssytrs_aa_2stage_( const char* uplo, const MKL_INT* n,
                        const MKL_INT* nrhs, const float* a,
                        const MKL_INT* lda, float* tb, const MKL_INT* ltb,
                        const MKL_INT* ipiv, const MKL_INT* ipiv2, float* b,
                        const MKL_INT* ldb, MKL_INT* info ) NOTHROW;

void SSYTRF_AA_2STAGE( const char* uplo, const MKL_INT* n, float* a,
                       const MKL_INT* lda, float* tb, const MKL_INT* ltb,
                       MKL_INT* ipiv, MKL_INT* ipiv2, float* work,
                       const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void SSYTRF_AA_2STAGE_( const char* uplo, const MKL_INT* n, float* a,
                        const MKL_INT* lda, float* tb, const MKL_INT* ltb,
                        MKL_INT* ipiv, MKL_INT* ipiv2, float* work,
                        const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void ssytrf_aa_2stage( const char* uplo, const MKL_INT* n, float* a,
                       const MKL_INT* lda, float* tb, const MKL_INT* ltb,
                       MKL_INT* ipiv, MKL_INT* ipiv2, float* work,
                       const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void ssytrf_aa_2stage_( const char* uplo, const MKL_INT* n, float* a,
                        const MKL_INT* lda, float* tb, const MKL_INT* ltb,
                        MKL_INT* ipiv, MKL_INT* ipiv2, float* work,
                        const MKL_INT* lwork, MKL_INT* info ) NOTHROW;

void DTREVC3( const char* side, const char* howmny, MKL_INT* select,
              const MKL_INT* n, const double* t, const MKL_INT* ldt,
              double* vl, const MKL_INT* ldvl, double* vr, const MKL_INT* ldvr,
              const MKL_INT* mm, MKL_INT* m, double* work,
              const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void DTREVC3_( const char* side, const char* howmny, MKL_INT* select,
               const MKL_INT* n, const double* t, const MKL_INT* ldt,
               double* vl, const MKL_INT* ldvl, double* vr,
               const MKL_INT* ldvr, const MKL_INT* mm, MKL_INT* m,
               double* work, const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void dtrevc3( const char* side, const char* howmny, MKL_INT* select,
              const MKL_INT* n, const double* t, const MKL_INT* ldt,
              double* vl, const MKL_INT* ldvl, double* vr, const MKL_INT* ldvr,
              const MKL_INT* mm, MKL_INT* m, double* work,
              const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void dtrevc3_( const char* side, const char* howmny, MKL_INT* select,
               const MKL_INT* n, const double* t, const MKL_INT* ldt,
               double* vl, const MKL_INT* ldvl, double* vr,
               const MKL_INT* ldvr, const MKL_INT* mm, MKL_INT* m,
               double* work, const MKL_INT* lwork, MKL_INT* info ) NOTHROW;

void STREVC3( const char* side, const char* howmny, MKL_INT* select,
              const MKL_INT* n, const float* t, const MKL_INT* ldt, float* vl,
              const MKL_INT* ldvl, float* vr, const MKL_INT* ldvr,
              const MKL_INT* mm, MKL_INT* m, float* work, const MKL_INT* lwork,
              MKL_INT* info ) NOTHROW;
void STREVC3_( const char* side, const char* howmny, MKL_INT* select,
               const MKL_INT* n, const float* t, const MKL_INT* ldt, float* vl,
               const MKL_INT* ldvl, float* vr, const MKL_INT* ldvr,
               const MKL_INT* mm, MKL_INT* m, float* work,
               const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void strevc3( const char* side, const char* howmny, MKL_INT* select,
              const MKL_INT* n, const float* t, const MKL_INT* ldt, float* vl,
              const MKL_INT* ldvl, float* vr, const MKL_INT* ldvr,
              const MKL_INT* mm, MKL_INT* m, float* work, const MKL_INT* lwork,
              MKL_INT* info ) NOTHROW;
void strevc3_( const char* side, const char* howmny, MKL_INT* select,
               const MKL_INT* n, const float* t, const MKL_INT* ldt, float* vl,
               const MKL_INT* ldvl, float* vr, const MKL_INT* ldvr,
               const MKL_INT* mm, MKL_INT* m, float* work,
               const MKL_INT* lwork, MKL_INT* info ) NOTHROW;

void CTREVC3( const char* side, const char* howmny, const MKL_INT* select,
              const MKL_INT* n, MKL_Complex8* t, const MKL_INT* ldt,
              MKL_Complex8* vl, const MKL_INT* ldvl, MKL_Complex8* vr,
              const MKL_INT* ldvr, const MKL_INT* mm, MKL_INT* m,
              MKL_Complex8* work, const MKL_INT* lwork, float* rwork,
              const MKL_INT* lrwork, MKL_INT* info ) NOTHROW;
void CTREVC3_( const char* side, const char* howmny, const MKL_INT* select,
               const MKL_INT* n, MKL_Complex8* t, const MKL_INT* ldt,
               MKL_Complex8* vl, const MKL_INT* ldvl, MKL_Complex8* vr,
               const MKL_INT* ldvr, const MKL_INT* mm, MKL_INT* m,
               MKL_Complex8* work, const MKL_INT* lwork, float* rwork,
               const MKL_INT* lrwork, MKL_INT* info ) NOTHROW;
void ctrevc3( const char* side, const char* howmny, const MKL_INT* select,
              const MKL_INT* n, MKL_Complex8* t, const MKL_INT* ldt,
              MKL_Complex8* vl, const MKL_INT* ldvl, MKL_Complex8* vr,
              const MKL_INT* ldvr, const MKL_INT* mm, MKL_INT* m,
              MKL_Complex8* work, const MKL_INT* lwork, float* rwork,
              const MKL_INT* lrwork, MKL_INT* info ) NOTHROW;
void ctrevc3_( const char* side, const char* howmny, const MKL_INT* select,
               const MKL_INT* n, MKL_Complex8* t, const MKL_INT* ldt,
               MKL_Complex8* vl, const MKL_INT* ldvl, MKL_Complex8* vr,
               const MKL_INT* ldvr, const MKL_INT* mm, MKL_INT* m,
               MKL_Complex8* work, const MKL_INT* lwork, float* rwork,
               const MKL_INT* lrwork, MKL_INT* info ) NOTHROW;

void ZTREVC3( const char* side, const char* howmny, const MKL_INT* select,
              const MKL_INT* n, MKL_Complex16* t, const MKL_INT* ldt,
              MKL_Complex16* vl, const MKL_INT* ldvl, MKL_Complex16* vr,
              const MKL_INT* ldvr, const MKL_INT* mm, MKL_INT* m,
              MKL_Complex16* work, const MKL_INT* lwork, double* rwork,
              const MKL_INT* lrwork, MKL_INT* info ) NOTHROW;
void ZTREVC3_( const char* side, const char* howmny, const MKL_INT* select,
               const MKL_INT* n, MKL_Complex16* t, const MKL_INT* ldt,
               MKL_Complex16* vl, const MKL_INT* ldvl, MKL_Complex16* vr,
               const MKL_INT* ldvr, const MKL_INT* mm, MKL_INT* m,
               MKL_Complex16* work, const MKL_INT* lwork, double* rwork,
               const MKL_INT* lrwork, MKL_INT* info ) NOTHROW;
void ztrevc3( const char* side, const char* howmny, const MKL_INT* select,
              const MKL_INT* n, MKL_Complex16* t, const MKL_INT* ldt,
              MKL_Complex16* vl, const MKL_INT* ldvl, MKL_Complex16* vr,
              const MKL_INT* ldvr, const MKL_INT* mm, MKL_INT* m,
              MKL_Complex16* work, const MKL_INT* lwork, double* rwork,
              const MKL_INT* lrwork, MKL_INT* info ) NOTHROW;
void ztrevc3_( const char* side, const char* howmny, const MKL_INT* select,
               const MKL_INT* n, MKL_Complex16* t, const MKL_INT* ldt,
               MKL_Complex16* vl, const MKL_INT* ldvl, MKL_Complex16* vr,
               const MKL_INT* ldvr, const MKL_INT* mm, MKL_INT* m,
               MKL_Complex16* work, const MKL_INT* lwork, double* rwork,
               const MKL_INT* lrwork, MKL_INT* info ) NOTHROW;

void SGETRF_BATCH_STRIDED( const MKL_INT* m, const MKL_INT* n, float* a,
                           const MKL_INT* lda, const MKL_INT* stride_a,
                           MKL_INT* ipiv, const MKL_INT* stride_ipiv,
                           const MKL_INT* batch_size, MKL_INT* info ) NOTHROW;
void SGETRF_BATCH_STRIDED_( const MKL_INT* m, const MKL_INT* n, float* a,
                            const MKL_INT* lda, const MKL_INT* stride_a,
                            MKL_INT* ipiv, const MKL_INT* stride_ipiv,
                            const MKL_INT* batch_size, MKL_INT* info ) NOTHROW;
void sgetrf_batch_strided( const MKL_INT* m, const MKL_INT* n, float* a,
                           const MKL_INT* lda, const MKL_INT* stride_a,
                           MKL_INT* ipiv, const MKL_INT* stride_ipiv,
                           const MKL_INT* batch_size, MKL_INT* info ) NOTHROW;
void sgetrf_batch_strided_( const MKL_INT* m, const MKL_INT* n, float* a,
                            const MKL_INT* lda, const MKL_INT* stride_a,
                            MKL_INT* ipiv, const MKL_INT* stride_ipiv,
                            const MKL_INT* batch_size, MKL_INT* info ) NOTHROW;

void DGETRF_BATCH_STRIDED( const MKL_INT* m, const MKL_INT* n, double* a,
                           const MKL_INT* lda, const MKL_INT* stride_a,
                           MKL_INT* ipiv, const MKL_INT* stride_ipiv,
                           const MKL_INT* batch_size, MKL_INT* info ) NOTHROW;
void DGETRF_BATCH_STRIDED_( const MKL_INT* m, const MKL_INT* n, double* a,
                            const MKL_INT* lda, const MKL_INT* stride_a,
                            MKL_INT* ipiv, const MKL_INT* stride_ipiv,
                            const MKL_INT* batch_size, MKL_INT* info ) NOTHROW;
void dgetrf_batch_strided( const MKL_INT* m, const MKL_INT* n, double* a,
                           const MKL_INT* lda, const MKL_INT* stride_a,
                           MKL_INT* ipiv, const MKL_INT* stride_ipiv,
                           const MKL_INT* batch_size, MKL_INT* info ) NOTHROW;
void dgetrf_batch_strided_( const MKL_INT* m, const MKL_INT* n, double* a,
                            const MKL_INT* lda, const MKL_INT* stride_a,
                            MKL_INT* ipiv, const MKL_INT* stride_ipiv,
                            const MKL_INT* batch_size, MKL_INT* info ) NOTHROW;

void CGETRF_BATCH_STRIDED( const MKL_INT* m, const MKL_INT* n, MKL_Complex8* a,
                           const MKL_INT* lda, const MKL_INT* stride_a,
                           MKL_INT* ipiv, const MKL_INT* stride_ipiv,
                           const MKL_INT* batch_size, MKL_INT* info ) NOTHROW;
void CGETRF_BATCH_STRIDED_( const MKL_INT* m, const MKL_INT* n,
                            MKL_Complex8* a, const MKL_INT* lda,
                            const MKL_INT* stride_a, MKL_INT* ipiv,
                            const MKL_INT* stride_ipiv,
                            const MKL_INT* batch_size, MKL_INT* info ) NOTHROW;
void cgetrf_batch_strided( const MKL_INT* m, const MKL_INT* n, MKL_Complex8* a,
                           const MKL_INT* lda, const MKL_INT* stride_a,
                           MKL_INT* ipiv, const MKL_INT* stride_ipiv,
                           const MKL_INT* batch_size, MKL_INT* info ) NOTHROW;
void cgetrf_batch_strided_( const MKL_INT* m, const MKL_INT* n,
                            MKL_Complex8* a, const MKL_INT* lda,
                            const MKL_INT* stride_a, MKL_INT* ipiv,
                            const MKL_INT* stride_ipiv,
                            const MKL_INT* batch_size, MKL_INT* info ) NOTHROW;

void ZGETRF_BATCH_STRIDED( const MKL_INT* m, const MKL_INT* n,
                           MKL_Complex16* a, const MKL_INT* lda,
                           const MKL_INT* stride_a, MKL_INT* ipiv,
                           const MKL_INT* stride_ipiv,
                           const MKL_INT* batch_size, MKL_INT* info ) NOTHROW;
void ZGETRF_BATCH_STRIDED_( const MKL_INT* m, const MKL_INT* n,
                            MKL_Complex16* a, const MKL_INT* lda,
                            const MKL_INT* stride_a, MKL_INT* ipiv,
                            const MKL_INT* stride_ipiv,
                            const MKL_INT* batch_size, MKL_INT* info ) NOTHROW;
void zgetrf_batch_strided( const MKL_INT* m, const MKL_INT* n,
                           MKL_Complex16* a, const MKL_INT* lda,
                           const MKL_INT* stride_a, MKL_INT* ipiv,
                           const MKL_INT* stride_ipiv,
                           const MKL_INT* batch_size, MKL_INT* info ) NOTHROW;
void zgetrf_batch_strided_( const MKL_INT* m, const MKL_INT* n,
                            MKL_Complex16* a, const MKL_INT* lda,
                            const MKL_INT* stride_a, MKL_INT* ipiv,
                            const MKL_INT* stride_ipiv,
                            const MKL_INT* batch_size, MKL_INT* info ) NOTHROW;

void SGETRS_BATCH_STRIDED( const char* trans, const MKL_INT* n,
                           const MKL_INT* nrhs, const float* a, const MKL_INT* lda,
                           const MKL_INT* stride_a, const MKL_INT* ipiv,
                           const MKL_INT* stride_ipiv, float* b,
                           const MKL_INT* ldb, const MKL_INT* stride_b,
                           const MKL_INT* batch_size, MKL_INT* info ) NOTHROW;
void SGETRS_BATCH_STRIDED_( const char* trans, const MKL_INT* n,
                            const MKL_INT* nrhs, const float* a, const MKL_INT* lda,
                            const MKL_INT* stride_a, const MKL_INT* ipiv,
                            const MKL_INT* stride_ipiv, float* b,
                            const MKL_INT* ldb, const MKL_INT* stride_b,
                            const MKL_INT* batch_size, MKL_INT* info ) NOTHROW;
void sgetrs_batch_strided( const char* trans, const MKL_INT* n,
                           const MKL_INT* nrhs, const float* a, const MKL_INT* lda,
                           const MKL_INT* stride_a, const MKL_INT* ipiv,
                           const MKL_INT* stride_ipiv, float* b,
                           const MKL_INT* ldb, const MKL_INT* stride_b,
                           const MKL_INT* batch_size, MKL_INT* info ) NOTHROW;
void sgetrs_batch_strided_( const char* trans, const MKL_INT* n,
                            const MKL_INT* nrhs, const float* a, const MKL_INT* lda,
                            const MKL_INT* stride_a, const MKL_INT* ipiv,
                            const MKL_INT* stride_ipiv, float* b,
                            const MKL_INT* ldb, const MKL_INT* stride_b,
                            const MKL_INT* batch_size, MKL_INT* info ) NOTHROW;

void DGETRS_BATCH_STRIDED( const char* trans, const MKL_INT* n,
                           const MKL_INT* nrhs, const double* a, const MKL_INT* lda,
                           const MKL_INT* stride_a, const MKL_INT* ipiv,
                           const MKL_INT* stride_ipiv, double* b,
                           const MKL_INT* ldb, const MKL_INT* stride_b,
                           const MKL_INT* batch_size, MKL_INT* info ) NOTHROW;
void DGETRS_BATCH_STRIDED_( const char* trans, const MKL_INT* n,
                            const MKL_INT* nrhs, const double* a, const MKL_INT* lda,
                            const MKL_INT* stride_a, const MKL_INT* ipiv,
                            const MKL_INT* stride_ipiv, double* b,
                            const MKL_INT* ldb, const MKL_INT* stride_b,
                            const MKL_INT* batch_size, MKL_INT* info ) NOTHROW;
void dgetrs_batch_strided( const char* trans, const MKL_INT* n,
                           const MKL_INT* nrhs, const double* a, const MKL_INT* lda,
                           const MKL_INT* stride_a, const MKL_INT* ipiv,
                           const MKL_INT* stride_ipiv, double* b,
                           const MKL_INT* ldb, const MKL_INT* stride_b,
                           const MKL_INT* batch_size, MKL_INT* info ) NOTHROW;
void dgetrs_batch_strided_( const char* trans, const MKL_INT* n,
                            const MKL_INT* nrhs, const double* a, const MKL_INT* lda,
                            const MKL_INT* stride_a, const MKL_INT* ipiv,
                            const MKL_INT* stride_ipiv, double* b,
                            const MKL_INT* ldb, const MKL_INT* stride_b,
                            const MKL_INT* batch_size, MKL_INT* info ) NOTHROW;

void CGETRS_BATCH_STRIDED( const char* trans, const MKL_INT* n,
                           const MKL_INT* nrhs, const MKL_Complex8* a,
                           const MKL_INT* lda, const MKL_INT* stride_a,
                           const MKL_INT* ipiv, const MKL_INT* stride_ipiv,
                           MKL_Complex8* b, const MKL_INT* ldb,
                           const MKL_INT* stride_b, const MKL_INT* batch_size,
                           MKL_INT* info ) NOTHROW;
void CGETRS_BATCH_STRIDED_( const char* trans, const MKL_INT* n,
                            const MKL_INT* nrhs, const MKL_Complex8* a,
                            const MKL_INT* lda, const MKL_INT* stride_a,
                            const MKL_INT* ipiv, const MKL_INT* stride_ipiv,
                            MKL_Complex8* b, const MKL_INT* ldb,
                            const MKL_INT* stride_b, const MKL_INT* batch_size,
                            MKL_INT* info ) NOTHROW;
void cgetrs_batch_strided( const char* trans, const MKL_INT* n,
                           const MKL_INT* nrhs, const MKL_Complex8* a,
                           const MKL_INT* lda, const MKL_INT* stride_a,
                           const MKL_INT* ipiv, const MKL_INT* stride_ipiv,
                           MKL_Complex8* b, const MKL_INT* ldb,
                           const MKL_INT* stride_b, const MKL_INT* batch_size,
                           MKL_INT* info ) NOTHROW;
void cgetrs_batch_strided_( const char* trans, const MKL_INT* n,
                            const MKL_INT* nrhs, const MKL_Complex8* a,
                            const MKL_INT* lda, const MKL_INT* stride_a,
                            const MKL_INT* ipiv, const MKL_INT* stride_ipiv,
                            MKL_Complex8* b, const MKL_INT* ldb,
                            const MKL_INT* stride_b, const MKL_INT* batch_size,
                            MKL_INT* info ) NOTHROW;

void ZGETRS_BATCH_STRIDED( const char* trans, const MKL_INT* n,
                           const MKL_INT* nrhs, const MKL_Complex16* a,
                           const MKL_INT* lda, const MKL_INT* stride_a,
                           const MKL_INT* ipiv, const MKL_INT* stride_ipiv,
                           MKL_Complex16* b, const MKL_INT* ldb,
                           const MKL_INT* stride_b, const MKL_INT* batch_size,
                           MKL_INT* info ) NOTHROW;
void ZGETRS_BATCH_STRIDED_( const char* trans, const MKL_INT* n,
                            const MKL_INT* nrhs, const MKL_Complex16* a,
                            const MKL_INT* lda, const MKL_INT* stride_a,
                            const MKL_INT* ipiv, const MKL_INT* stride_ipiv,
                            MKL_Complex16* b, const MKL_INT* ldb,
                            const MKL_INT* stride_b, const MKL_INT* batch_size,
                            MKL_INT* info ) NOTHROW;
void zgetrs_batch_strided( const char* trans, const MKL_INT* n,
                           const MKL_INT* nrhs, const MKL_Complex16* a,
                           const MKL_INT* lda, const MKL_INT* stride_a,
                           const MKL_INT* ipiv, const MKL_INT* stride_ipiv,
                           MKL_Complex16* b, const MKL_INT* ldb,
                           const MKL_INT* stride_b, const MKL_INT* batch_size,
                           MKL_INT* info ) NOTHROW;
void zgetrs_batch_strided_( const char* trans, const MKL_INT* n,
                            const MKL_INT* nrhs, const MKL_Complex16* a,
                            const MKL_INT* lda, const MKL_INT* stride_a,
                            const MKL_INT* ipiv, const MKL_INT* stride_ipiv,
                            MKL_Complex16* b, const MKL_INT* ldb,
                            const MKL_INT* stride_b, const MKL_INT* batch_size,
                            MKL_INT* info ) NOTHROW;

void SGETRFNP_BATCH_STRIDED( const MKL_INT* m, const MKL_INT* n, float* a,
                             const MKL_INT* lda, const MKL_INT* stride_a,
                             const MKL_INT* batch_size, MKL_INT* info ) NOTHROW;
void SGETRFNP_BATCH_STRIDED_( const MKL_INT* m, const MKL_INT* n, float* a,
                              const MKL_INT* lda, const MKL_INT* stride_a,
                              const MKL_INT* batch_size, MKL_INT* info ) NOTHROW;
void sgetrfnp_batch_strided( const MKL_INT* m, const MKL_INT* n, float* a,
                             const MKL_INT* lda, const MKL_INT* stride_a,
                             const MKL_INT* batch_size, MKL_INT* info ) NOTHROW;
void sgetrfnp_batch_strided_( const MKL_INT* m, const MKL_INT* n, float* a,
                              const MKL_INT* lda, const MKL_INT* stride_a,
                              const MKL_INT* batch_size, MKL_INT* info ) NOTHROW;

void DGETRFNP_BATCH_STRIDED( const MKL_INT* m, const MKL_INT* n, double* a,
                             const MKL_INT* lda, const MKL_INT* stride_a,
                             const MKL_INT* batch_size, MKL_INT* info ) NOTHROW;
void DGETRFNP_BATCH_STRIDED_( const MKL_INT* m, const MKL_INT* n, double* a,
                              const MKL_INT* lda, const MKL_INT* stride_a,
                              const MKL_INT* batch_size, MKL_INT* info ) NOTHROW;
void dgetrfnp_batch_strided( const MKL_INT* m, const MKL_INT* n, double* a,
                             const MKL_INT* lda, const MKL_INT* stride_a,
                             const MKL_INT* batch_size, MKL_INT* info ) NOTHROW;
void dgetrfnp_batch_strided_( const MKL_INT* m, const MKL_INT* n, double* a,
                              const MKL_INT* lda, const MKL_INT* stride_a,
                              const MKL_INT* batch_size, MKL_INT* info ) NOTHROW;

void CGETRFNP_BATCH_STRIDED( const MKL_INT* m, const MKL_INT* n, MKL_Complex8* a,
                             const MKL_INT* lda, const MKL_INT* stride_a,
                             const MKL_INT* batch_size, MKL_INT* info ) NOTHROW;
void CGETRFNP_BATCH_STRIDED_( const MKL_INT* m, const MKL_INT* n,
                              MKL_Complex8* a, const MKL_INT* lda,
                              const MKL_INT* stride_a,
                              const MKL_INT* batch_size, MKL_INT* info ) NOTHROW;
void cgetrfnp_batch_strided( const MKL_INT* m, const MKL_INT* n, MKL_Complex8* a,
                             const MKL_INT* lda, const MKL_INT* stride_a,
                             const MKL_INT* batch_size, MKL_INT* info ) NOTHROW;
void cgetrfnp_batch_strided_( const MKL_INT* m, const MKL_INT* n,
                              MKL_Complex8* a, const MKL_INT* lda,
                              const MKL_INT* stride_a,
                              const MKL_INT* batch_size, MKL_INT* info ) NOTHROW;

void ZGETRFNP_BATCH_STRIDED( const MKL_INT* m, const MKL_INT* n,
                             MKL_Complex16* a, const MKL_INT* lda,
                             const MKL_INT* stride_a,
                             const MKL_INT* batch_size, MKL_INT* info ) NOTHROW;
void ZGETRFNP_BATCH_STRIDED_( const MKL_INT* m, const MKL_INT* n,
                              MKL_Complex16* a, const MKL_INT* lda,
                              const MKL_INT* stride_a,
                              const MKL_INT* batch_size, MKL_INT* info ) NOTHROW;
void zgetrfnp_batch_strided( const MKL_INT* m, const MKL_INT* n,
                             MKL_Complex16* a, const MKL_INT* lda,
                             const MKL_INT* stride_a,
                             const MKL_INT* batch_size, MKL_INT* info ) NOTHROW;
void zgetrfnp_batch_strided_( const MKL_INT* m, const MKL_INT* n,
                              MKL_Complex16* a, const MKL_INT* lda,
                              const MKL_INT* stride_a,
                              const MKL_INT* batch_size, MKL_INT* info ) NOTHROW;

void SGETRSNP_BATCH_STRIDED( const char* trans, const MKL_INT* n,
                             const MKL_INT* nrhs, const float* a, const MKL_INT* lda,
                             const MKL_INT* stride_a, float* b,
                             const MKL_INT* ldb, const MKL_INT* stride_b,
                             const MKL_INT* batch_size, MKL_INT* info ) NOTHROW;
void SGETRSNP_BATCH_STRIDED_( const char* trans, const MKL_INT* n,
                              const MKL_INT* nrhs, const float* a, const MKL_INT* lda,
                              const MKL_INT* stride_a, float* b,
                              const MKL_INT* ldb, const MKL_INT* stride_b,
                              const MKL_INT* batch_size, MKL_INT* info ) NOTHROW;
void sgetrsnp_batch_strided( const char* trans, const MKL_INT* n,
                             const MKL_INT* nrhs, const float* a, const MKL_INT* lda,
                             const MKL_INT* stride_a, float* b,
                             const MKL_INT* ldb, const MKL_INT* stride_b,
                             const MKL_INT* batch_size, MKL_INT* info ) NOTHROW;
void sgetrsnp_batch_strided_( const char* trans, const MKL_INT* n,
                              const MKL_INT* nrhs, const float* a, const MKL_INT* lda,
                              const MKL_INT* stride_a, float* b,
                              const MKL_INT* ldb, const MKL_INT* stride_b,
                              const MKL_INT* batch_size, MKL_INT* info ) NOTHROW;

void DGETRSNP_BATCH_STRIDED( const char* trans, const MKL_INT* n,
                             const MKL_INT* nrhs, const double* a, const MKL_INT* lda,
                             const MKL_INT* stride_a, double* b,
                             const MKL_INT* ldb, const MKL_INT* stride_b,
                             const MKL_INT* batch_size, MKL_INT* info ) NOTHROW;
void DGETRSNP_BATCH_STRIDED_( const char* trans, const MKL_INT* n,
                              const MKL_INT* nrhs, const double* a, const MKL_INT* lda,
                              const MKL_INT* stride_a, double* b,
                              const MKL_INT* ldb, const MKL_INT* stride_b,
                              const MKL_INT* batch_size, MKL_INT* info ) NOTHROW;
void dgetrsnp_batch_strided( const char* trans, const MKL_INT* n,
                             const MKL_INT* nrhs, const double* a, const MKL_INT* lda,
                             const MKL_INT* stride_a, double* b,
                             const MKL_INT* ldb, const MKL_INT* stride_b,
                             const MKL_INT* batch_size, MKL_INT* info ) NOTHROW;
void dgetrsnp_batch_strided_( const char* trans, const MKL_INT* n,
                              const MKL_INT* nrhs, const double* a, const MKL_INT* lda,
                              const MKL_INT* stride_a, double* b,
                              const MKL_INT* ldb, const MKL_INT* stride_b,
                              const MKL_INT* batch_size, MKL_INT* info ) NOTHROW;

void CGETRSNP_BATCH_STRIDED( const char* trans, const MKL_INT* n,
                             const MKL_INT* nrhs, const MKL_Complex8* a,
                             const MKL_INT* lda, const MKL_INT* stride_a,
                             MKL_Complex8* b, const MKL_INT* ldb,
                             const MKL_INT* stride_b, const MKL_INT* batch_size,
                             MKL_INT* info ) NOTHROW;
void CGETRSNP_BATCH_STRIDED_( const char* trans, const MKL_INT* n,
                              const MKL_INT* nrhs, const MKL_Complex8* a,
                              const MKL_INT* lda, const MKL_INT* stride_a,
                              MKL_Complex8* b, const MKL_INT* ldb,
                              const MKL_INT* stride_b, const MKL_INT* batch_size,
                              MKL_INT* info ) NOTHROW;
void cgetrsnp_batch_strided( const char* trans, const MKL_INT* n,
                             const MKL_INT* nrhs, const MKL_Complex8* a,
                             const MKL_INT* lda, const MKL_INT* stride_a,
                             MKL_Complex8* b, const MKL_INT* ldb,
                             const MKL_INT* stride_b, const MKL_INT* batch_size,
                             MKL_INT* info ) NOTHROW;
void cgetrsnp_batch_strided_( const char* trans, const MKL_INT* n,
                              const MKL_INT* nrhs, const MKL_Complex8* a,
                              const MKL_INT* lda, const MKL_INT* stride_a,
                              MKL_Complex8* b, const MKL_INT* ldb,
                              const MKL_INT* stride_b, const MKL_INT* batch_size,
                              MKL_INT* info ) NOTHROW;

void ZGETRSNP_BATCH_STRIDED( const char* trans, const MKL_INT* n,
                             const MKL_INT* nrhs, const MKL_Complex16* a,
                             const MKL_INT* lda, const MKL_INT* stride_a,
                             MKL_Complex16* b, const MKL_INT* ldb,
                             const MKL_INT* stride_b, const MKL_INT* batch_size,
                             MKL_INT* info ) NOTHROW;
void ZGETRSNP_BATCH_STRIDED_( const char* trans, const MKL_INT* n,
                              const MKL_INT* nrhs, const MKL_Complex16* a,
                              const MKL_INT* lda, const MKL_INT* stride_a,
                              MKL_Complex16* b, const MKL_INT* ldb,
                              const MKL_INT* stride_b, const MKL_INT* batch_size,
                              MKL_INT* info ) NOTHROW;
void zgetrsnp_batch_strided( const char* trans, const MKL_INT* n,
                             const MKL_INT* nrhs, const MKL_Complex16* a,
                             const MKL_INT* lda, const MKL_INT* stride_a,
                             MKL_Complex16* b, const MKL_INT* ldb,
                             const MKL_INT* stride_b, const MKL_INT* batch_size,
                             MKL_INT* info ) NOTHROW;
void zgetrsnp_batch_strided_( const char* trans, const MKL_INT* n,
                              const MKL_INT* nrhs, const MKL_Complex16* a,
                              const MKL_INT* lda, const MKL_INT* stride_a,
                              MKL_Complex16* b, const MKL_INT* ldb,
                              const MKL_INT* stride_b, const MKL_INT* batch_size,
                              MKL_INT* info ) NOTHROW;

void DGETRF_BATCH( const MKL_INT* m, const MKL_INT* n, double** a,
                   const MKL_INT* lda, MKL_INT** ipiv,
                   const MKL_INT* group_count, const MKL_INT* group_size,
                   MKL_INT* info ) NOTHROW;
void DGETRF_BATCH_( const MKL_INT* m, const MKL_INT* n, double** a,
                    const MKL_INT* lda, MKL_INT** ipiv,
                    const MKL_INT* group_count, const MKL_INT* group_size,
                    MKL_INT* info ) NOTHROW;
void dgetrf_batch( const MKL_INT* m, const MKL_INT* n, double** a,
                   const MKL_INT* lda, MKL_INT** ipiv,
                   const MKL_INT* group_count, const MKL_INT* group_size,
                   MKL_INT* info ) NOTHROW;
void dgetrf_batch_( const MKL_INT* m, const MKL_INT* n, double** a,
                    const MKL_INT* lda, MKL_INT** ipiv,
                    const MKL_INT* group_count, const MKL_INT* group_size,
                    MKL_INT* info ) NOTHROW;

void SGETRF_BATCH( const MKL_INT* m, const MKL_INT* n, float** a,
                   const MKL_INT* lda, MKL_INT** ipiv,
                   const MKL_INT* group_count, const MKL_INT* group_size,
                   MKL_INT* info ) NOTHROW;
void SGETRF_BATCH_( const MKL_INT* m, const MKL_INT* n, float** a,
                    const MKL_INT* lda, MKL_INT** ipiv,
                    const MKL_INT* group_count, const MKL_INT* group_size,
                    MKL_INT* info ) NOTHROW;
void sgetrf_batch( const MKL_INT* m, const MKL_INT* n, float** a,
                   const MKL_INT* lda, MKL_INT** ipiv,
                   const MKL_INT* group_count, const MKL_INT* group_size,
                   MKL_INT* info ) NOTHROW;
void sgetrf_batch_( const MKL_INT* m, const MKL_INT* n, float** a,
                    const MKL_INT* lda, MKL_INT** ipiv,
                    const MKL_INT* group_count, const MKL_INT* group_size,
                    MKL_INT* info ) NOTHROW;

void CGETRF_BATCH( const MKL_INT* m, const MKL_INT* n, MKL_Complex8** a,
                   const MKL_INT* lda, MKL_INT** ipiv,
                   const MKL_INT* group_count, const MKL_INT* group_size,
                   MKL_INT* info ) NOTHROW;
void CGETRF_BATCH_( const MKL_INT* m, const MKL_INT* n, MKL_Complex8** a,
                    const MKL_INT* lda, MKL_INT** ipiv,
                    const MKL_INT* group_count, const MKL_INT* group_size,
                    MKL_INT* info ) NOTHROW;
void cgetrf_batch( const MKL_INT* m, const MKL_INT* n, MKL_Complex8** a,
                   const MKL_INT* lda, MKL_INT** ipiv,
                   const MKL_INT* group_count, const MKL_INT* group_size,
                   MKL_INT* info ) NOTHROW;
void cgetrf_batch_( const MKL_INT* m, const MKL_INT* n, MKL_Complex8** a,
                    const MKL_INT* lda, MKL_INT** ipiv,
                    const MKL_INT* group_count, const MKL_INT* group_size,
                    MKL_INT* info ) NOTHROW;

void ZGETRF_BATCH( const MKL_INT* m, const MKL_INT* n, MKL_Complex16** a,
                   const MKL_INT* lda, MKL_INT** ipiv,
                   const MKL_INT* group_count, const MKL_INT* group_size,
                   MKL_INT* info ) NOTHROW;
void ZGETRF_BATCH_( const MKL_INT* m, const MKL_INT* n, MKL_Complex16** a,
                    const MKL_INT* lda, MKL_INT** ipiv,
                    const MKL_INT* group_count, const MKL_INT* group_size,
                    MKL_INT* info ) NOTHROW;
void zgetrf_batch( const MKL_INT* m, const MKL_INT* n, MKL_Complex16** a,
                   const MKL_INT* lda, MKL_INT** ipiv,
                   const MKL_INT* group_count, const MKL_INT* group_size,
                   MKL_INT* info ) NOTHROW;
void zgetrf_batch_( const MKL_INT* m, const MKL_INT* n, MKL_Complex16** a,
                    const MKL_INT* lda, MKL_INT** ipiv,
                    const MKL_INT* group_count, const MKL_INT* group_size,
                    MKL_INT* info ) NOTHROW;

void SGETRI_OOP_BATCH_STRIDED( const MKL_INT* n, const float* a, const MKL_INT* lda,
                               const MKL_INT* stridea, const MKL_INT* ipiv,
                               const MKL_INT* stride_ipiv, float* ainv, const MKL_INT* ldainv,
                               const MKL_INT* stride_ainv, const MKL_INT* batch_size,
                               MKL_INT* info ) NOTHROW;
void SGETRI_OOP_BATCH_STRIDED_( const MKL_INT* n, const float* a, const MKL_INT* lda,
                                const MKL_INT* stridea, const MKL_INT* ipiv,
                                const MKL_INT* stride_ipiv, float* ainv, const MKL_INT* ldainv,
                                const MKL_INT* stride_ainv, const MKL_INT* batch_size,
                                MKL_INT* info ) NOTHROW;
void sgetri_oop_batch_strided( const MKL_INT* n, const float* a, const MKL_INT* lda,
                               const MKL_INT* stridea, const MKL_INT* ipiv,
                               const MKL_INT* stride_ipiv, float* ainv, const MKL_INT* ldainv,
                               const MKL_INT* stride_ainv, const MKL_INT* batch_size,
                               MKL_INT* info ) NOTHROW;
void sgetri_oop_batch_strided_( const MKL_INT* n, const float* a, const MKL_INT* lda,
                                const MKL_INT* stridea, const MKL_INT* ipiv,
                                const MKL_INT* stride_ipiv, float* ainv, const MKL_INT* ldainv,
                                const MKL_INT* stride_ainv, const MKL_INT* batch_size,
                                MKL_INT* info ) NOTHROW;

void DGETRI_OOP_BATCH_STRIDED( const MKL_INT* n, const double* a, const MKL_INT* lda,
                               const MKL_INT* stridea, const MKL_INT* ipiv,
                               const MKL_INT* stride_ipiv, double* ainv, const MKL_INT* ldainv,
                               const MKL_INT* stride_ainv, const MKL_INT* batch_size,
                               MKL_INT* info ) NOTHROW;
void DGETRI_OOP_BATCH_STRIDED_( const MKL_INT* n, const double* a, const MKL_INT* lda,
                                const MKL_INT* stridea, const MKL_INT* ipiv,
                                const MKL_INT* stride_ipiv, double* ainv, const MKL_INT* ldainv,
                                const MKL_INT* stride_ainv, const MKL_INT* batch_size,
                                MKL_INT* info ) NOTHROW;
void dgetri_oop_batch_strided( const MKL_INT* n, const double* a, const MKL_INT* lda,
                               const MKL_INT* stridea, const MKL_INT* ipiv,
                               const MKL_INT* stride_ipiv, double* ainv, const MKL_INT* ldainv,
                               const MKL_INT* stride_ainv, const MKL_INT* batch_size,
                               MKL_INT* info ) NOTHROW;
void dgetri_oop_batch_strided_( const MKL_INT* n, const double* a, const MKL_INT* lda,
                                const MKL_INT* stridea, const MKL_INT* ipiv,
                                const MKL_INT* stride_ipiv, double* ainv, const MKL_INT* ldainv,
                                const MKL_INT* stride_ainv, const MKL_INT* batch_size,
                                MKL_INT* info ) NOTHROW;

void CGETRI_OOP_BATCH_STRIDED( const MKL_INT* n, const MKL_Complex8* a, const MKL_INT* lda,
                               const MKL_INT* stridea, const MKL_INT* ipiv,
                               const MKL_INT* stride_ipiv, MKL_Complex8* ainv,
                               const MKL_INT* ldainv, const MKL_INT* stride_ainv,
                               const MKL_INT* batch_size, MKL_INT* info ) NOTHROW;
void CGETRI_OOP_BATCH_STRIDED_( const MKL_INT* n, const MKL_Complex8* a, const MKL_INT* lda,
                                const MKL_INT* stridea, const MKL_INT* ipiv,
                                const MKL_INT* stride_ipiv, MKL_Complex8* ainv,
                                const MKL_INT* ldainv, const MKL_INT* stride_ainv,
                                const MKL_INT* batch_size, MKL_INT* info ) NOTHROW;
void cgetri_oop_batch_strided( const MKL_INT* n, const MKL_Complex8* a, const MKL_INT* lda,
                               const MKL_INT* stridea, const MKL_INT* ipiv,
                               const MKL_INT* stride_ipiv, MKL_Complex8* ainv,
                               const MKL_INT* ldainv, const MKL_INT* stride_ainv,
                               const MKL_INT* batch_size, MKL_INT* info ) NOTHROW;
void cgetri_oop_batch_strided_( const MKL_INT* n, const MKL_Complex8* a, const MKL_INT* lda,
                                const MKL_INT* stridea, const MKL_INT* ipiv,
                                const MKL_INT* stride_ipiv, MKL_Complex8* ainv,
                                const MKL_INT* ldainv, const MKL_INT* stride_ainv,
                                const MKL_INT* batch_size, MKL_INT* info ) NOTHROW;

void ZGETRI_OOP_BATCH_STRIDED( const MKL_INT* n, const MKL_Complex16* a, const MKL_INT* lda,
                               const MKL_INT* stridea, const MKL_INT* ipiv,
                               const MKL_INT* stride_ipiv, MKL_Complex16* ainv,
                               const MKL_INT* ldainv, const MKL_INT* stride_ainv,
                               const MKL_INT* batch_size, MKL_INT* info ) NOTHROW;
void ZGETRI_OOP_BATCH_STRIDED_( const MKL_INT* n, const MKL_Complex16* a, const MKL_INT* lda,
                                const MKL_INT* stridea, const MKL_INT* ipiv,
                                const MKL_INT* stride_ipiv, MKL_Complex16* ainv,
                                const MKL_INT* ldainv, const MKL_INT* stride_ainv,
                                const MKL_INT* batch_size, MKL_INT* info ) NOTHROW;
void zgetri_oop_batch_strided( const MKL_INT* n, const MKL_Complex16* a, const MKL_INT* lda,
                               const MKL_INT* stridea, const MKL_INT* ipiv,
                               const MKL_INT* stride_ipiv, MKL_Complex16* ainv,
                               const MKL_INT* ldainv, const MKL_INT* stride_ainv,
                               const MKL_INT* batch_size, MKL_INT* info ) NOTHROW;
void zgetri_oop_batch_strided_( const MKL_INT* n, const MKL_Complex16* a, const MKL_INT* lda,
                                const MKL_INT* stridea, const MKL_INT* ipiv,
                                const MKL_INT* stride_ipiv, MKL_Complex16* ainv,
                                const MKL_INT* ldainv, const MKL_INT* stride_ainv,
                                const MKL_INT* batch_size, MKL_INT* info ) NOTHROW;

void SGETRI_OOP_BATCH( const MKL_INT* n, const float** a, const MKL_INT* lda,
                       const MKL_INT** ipiv, float** ainv, const MKL_INT* ldainv,
                       const MKL_INT* group_count, const MKL_INT* group_size,
                       MKL_INT* info ) NOTHROW;
void SGETRI_OOP_BATCH_( const MKL_INT* n, const float** a, const MKL_INT* lda,
                        const MKL_INT** ipiv, float** ainv, const MKL_INT* ldainv,
                        const MKL_INT* group_count, const MKL_INT* group_size,
                        MKL_INT* info ) NOTHROW;
void sgetri_oop_batch( const MKL_INT* n, const float** a, const MKL_INT* lda,
                       const MKL_INT** ipiv, float** ainv, const MKL_INT* ldainv,
                       const MKL_INT* group_count, const MKL_INT* group_size,
                       MKL_INT* info ) NOTHROW;
void sgetri_oop_batch_( const MKL_INT* n, const float** a, const MKL_INT* lda,
                        const MKL_INT** ipiv, float** ainv, const MKL_INT* ldainv,
                        const MKL_INT* group_count, const MKL_INT* group_size,
                        MKL_INT* info ) NOTHROW;

void DGETRI_OOP_BATCH( const MKL_INT* n, const double** a, const MKL_INT* lda,
                       const MKL_INT** ipiv, double** ainv, const MKL_INT* ldainv,
                       const MKL_INT* group_count, const MKL_INT* group_size,
                       MKL_INT* info ) NOTHROW;
void DGETRI_OOP_BATCH_( const MKL_INT* n, const double** a, const MKL_INT* lda,
                        const MKL_INT** ipiv, double** ainv, const MKL_INT* ldainv,
                        const MKL_INT* group_count, const MKL_INT* group_size,
                        MKL_INT* info ) NOTHROW;
void dgetri_oop_batch( const MKL_INT* n, const double** a, const MKL_INT* lda,
                       const MKL_INT** ipiv, double** ainv, const MKL_INT* ldainv,
                       const MKL_INT* group_count, const MKL_INT* group_size,
                       MKL_INT* info ) NOTHROW;
void dgetri_oop_batch_( const MKL_INT* n, const double** a, const MKL_INT* lda,
                        const MKL_INT** ipiv, double** ainv, const MKL_INT* ldainv,
                        const MKL_INT* group_count, const MKL_INT* group_size,
                        MKL_INT* info ) NOTHROW;

void CGETRI_OOP_BATCH( const MKL_INT* n, const MKL_Complex8** a, const MKL_INT* lda,
                       const MKL_INT** ipiv, MKL_Complex8** ainv, const MKL_INT* ldainv,
                       const MKL_INT* group_count, const MKL_INT* group_size,
                       MKL_INT* info ) NOTHROW;
void CGETRI_OOP_BATCH_( const MKL_INT* n, const MKL_Complex8** a, const MKL_INT* lda,
                        const MKL_INT** ipiv, MKL_Complex8** ainv, const MKL_INT* ldainv,
                        const MKL_INT* group_count, const MKL_INT* group_size,
                        MKL_INT* info ) NOTHROW;
void cgetri_oop_batch( const MKL_INT* n, const MKL_Complex8** a, const MKL_INT* lda,
                       const MKL_INT** ipiv, MKL_Complex8** ainv, const MKL_INT* ldainv,
                       const MKL_INT* group_count, const MKL_INT* group_size,
                       MKL_INT* info ) NOTHROW;
void cgetri_oop_batch_( const MKL_INT* n, const MKL_Complex8** a, const MKL_INT* lda,
                        const MKL_INT** ipiv, MKL_Complex8** ainv, const MKL_INT* ldainv,
                        const MKL_INT* group_count, const MKL_INT* group_size,
                        MKL_INT* info ) NOTHROW;

void ZGETRI_OOP_BATCH( const MKL_INT* n, const MKL_Complex16** a, const MKL_INT* lda,
                       const MKL_INT** ipiv, MKL_Complex16** ainv, const MKL_INT* ldainv,
                       const MKL_INT* group_count, const MKL_INT* group_size,
                       MKL_INT* info ) NOTHROW;
void ZGETRI_OOP_BATCH_( const MKL_INT* n, const MKL_Complex16** a, const MKL_INT* lda,
                        const MKL_INT** ipiv, MKL_Complex16** ainv, const MKL_INT* ldainv,
                        const MKL_INT* group_count, const MKL_INT* group_size,
                        MKL_INT* info ) NOTHROW;
void zgetri_oop_batch( const MKL_INT* n, const MKL_Complex16** a, const MKL_INT* lda,
                       const MKL_INT** ipiv, MKL_Complex16** ainv, const MKL_INT* ldainv,
                       const MKL_INT* group_count, const MKL_INT* group_size,
                       MKL_INT* info ) NOTHROW;
void zgetri_oop_batch_( const MKL_INT* n, const MKL_Complex16** a, const MKL_INT* lda,
                        const MKL_INT** ipiv, MKL_Complex16** ainv, const MKL_INT* ldainv,
                        const MKL_INT* group_count, const MKL_INT* group_size,
                        MKL_INT* info ) NOTHROW;

void SGETRFNP_BATCH( const MKL_INT* m, const MKL_INT* n, float** a,
                     const MKL_INT* lda, const MKL_INT* group_count,
                     const MKL_INT* group_size, MKL_INT* info ) NOTHROW;
void SGETRFNP_BATCH_( const MKL_INT* m, const MKL_INT* n, float** a,
                      const MKL_INT* lda, const MKL_INT* group_count,
                      const MKL_INT* group_size, MKL_INT* info ) NOTHROW;
void sgetrfnp_batch( const MKL_INT* m, const MKL_INT* n, float** a,
                     const MKL_INT* lda, const MKL_INT* group_count,
                     const MKL_INT* group_size, MKL_INT* info ) NOTHROW;
void sgetrfnp_batch_( const MKL_INT* m, const MKL_INT* n, float** a,
                      const MKL_INT* lda, const MKL_INT* group_count,
                      const MKL_INT* group_size, MKL_INT* info ) NOTHROW;

void DGETRFNP_BATCH( const MKL_INT* m, const MKL_INT* n, double** a,
                     const MKL_INT* lda, const MKL_INT* group_count,
                     const MKL_INT* group_size, MKL_INT* info ) NOTHROW;
void DGETRFNP_BATCH_( const MKL_INT* m, const MKL_INT* n, double** a,
                      const MKL_INT* lda, const MKL_INT* group_count,
                      const MKL_INT* group_size, MKL_INT* info ) NOTHROW;
void dgetrfnp_batch( const MKL_INT* m, const MKL_INT* n, double** a,
                     const MKL_INT* lda, const MKL_INT* group_count,
                     const MKL_INT* group_size, MKL_INT* info ) NOTHROW;
void dgetrfnp_batch_( const MKL_INT* m, const MKL_INT* n, double** a,
                      const MKL_INT* lda, const MKL_INT* group_count,
                      const MKL_INT* group_size, MKL_INT* info ) NOTHROW;

void CGETRFNP_BATCH( const MKL_INT* m, const MKL_INT* n, MKL_Complex8** a,
                     const MKL_INT* lda, const MKL_INT* group_count,
                     const MKL_INT* group_size, MKL_INT* info ) NOTHROW;
void CGETRFNP_BATCH_( const MKL_INT* m, const MKL_INT* n, MKL_Complex8** a,
                      const MKL_INT* lda, const MKL_INT* group_count,
                      const MKL_INT* group_size, MKL_INT* info ) NOTHROW;
void cgetrfnp_batch( const MKL_INT* m, const MKL_INT* n, MKL_Complex8** a,
                     const MKL_INT* lda, const MKL_INT* group_count,
                     const MKL_INT* group_size, MKL_INT* info ) NOTHROW;
void cgetrfnp_batch_( const MKL_INT* m, const MKL_INT* n, MKL_Complex8** a,
                      const MKL_INT* lda, const MKL_INT* group_count,
                      const MKL_INT* group_size, MKL_INT* info ) NOTHROW;

void ZGETRFNP_BATCH( const MKL_INT* m, const MKL_INT* n, MKL_Complex16** a,
                     const MKL_INT* lda, const MKL_INT* group_count,
                     const MKL_INT* group_size, MKL_INT* info ) NOTHROW;
void ZGETRFNP_BATCH_( const MKL_INT* m, const MKL_INT* n, MKL_Complex16** a,
                      const MKL_INT* lda, const MKL_INT* group_count,
                      const MKL_INT* group_size, MKL_INT* info ) NOTHROW;
void zgetrfnp_batch( const MKL_INT* m, const MKL_INT* n, MKL_Complex16** a,
                     const MKL_INT* lda, const MKL_INT* group_count,
                     const MKL_INT* group_size, MKL_INT* info ) NOTHROW;
void zgetrfnp_batch_( const MKL_INT* m, const MKL_INT* n, MKL_Complex16** a,
                      const MKL_INT* lda, const MKL_INT* group_count,
                      const MKL_INT* group_size, MKL_INT* info ) NOTHROW;

void SGETRFNP_BATCH_64( const MKL_INT* m, const MKL_INT* n, float** a,
                     const MKL_INT* lda, const MKL_INT* group_count,
                     const MKL_INT* group_size, MKL_INT* info ) NOTHROW;
void SGETRFNP_BATCH_64_( const MKL_INT* m, const MKL_INT* n, float** a,
                      const MKL_INT* lda, const MKL_INT* group_count,
                      const MKL_INT* group_size, MKL_INT* info ) NOTHROW;
void sgetrfnp_batch_64( const MKL_INT* m, const MKL_INT* n, float** a,
                     const MKL_INT* lda, const MKL_INT* group_count,
                     const MKL_INT* group_size, MKL_INT* info ) NOTHROW;
void sgetrfnp_batch_64_( const MKL_INT* m, const MKL_INT* n, float** a,
                      const MKL_INT* lda, const MKL_INT* group_count,
                      const MKL_INT* group_size, MKL_INT* info ) NOTHROW;

void DGETRFNP_BATCH_64( const MKL_INT* m, const MKL_INT* n, double** a,
                     const MKL_INT* lda, const MKL_INT* group_count,
                     const MKL_INT* group_size, MKL_INT* info ) NOTHROW;
void DGETRFNP_BATCH_64_( const MKL_INT* m, const MKL_INT* n, double** a,
                      const MKL_INT* lda, const MKL_INT* group_count,
                      const MKL_INT* group_size, MKL_INT* info ) NOTHROW;
void dgetrfnp_batch_64( const MKL_INT* m, const MKL_INT* n, double** a,
                     const MKL_INT* lda, const MKL_INT* group_count,
                     const MKL_INT* group_size, MKL_INT* info ) NOTHROW;
void dgetrfnp_batch_64_( const MKL_INT* m, const MKL_INT* n, double** a,
                      const MKL_INT* lda, const MKL_INT* group_count,
                      const MKL_INT* group_size, MKL_INT* info ) NOTHROW;

void CGETRFNP_BATCH_64( const MKL_INT* m, const MKL_INT* n, MKL_Complex8** a,
                     const MKL_INT* lda, const MKL_INT* group_count,
                     const MKL_INT* group_size, MKL_INT* info ) NOTHROW;
void CGETRFNP_BATCH_64_( const MKL_INT* m, const MKL_INT* n, MKL_Complex8** a,
                      const MKL_INT* lda, const MKL_INT* group_count,
                      const MKL_INT* group_size, MKL_INT* info ) NOTHROW;
void cgetrfnp_batch_64( const MKL_INT* m, const MKL_INT* n, MKL_Complex8** a,
                     const MKL_INT* lda, const MKL_INT* group_count,
                     const MKL_INT* group_size, MKL_INT* info ) NOTHROW;
void cgetrfnp_batch_64_( const MKL_INT* m, const MKL_INT* n, MKL_Complex8** a,
                      const MKL_INT* lda, const MKL_INT* group_count,
                      const MKL_INT* group_size, MKL_INT* info ) NOTHROW;

void ZGETRFNP_BATCH_64( const MKL_INT* m, const MKL_INT* n, MKL_Complex16** a,
                     const MKL_INT* lda, const MKL_INT* group_count,
                     const MKL_INT* group_size, MKL_INT* info ) NOTHROW;
void ZGETRFNP_BATCH_64_( const MKL_INT* m, const MKL_INT* n, MKL_Complex16** a,
                      const MKL_INT* lda, const MKL_INT* group_count,
                      const MKL_INT* group_size, MKL_INT* info ) NOTHROW;
void zgetrfnp_batch_64( const MKL_INT* m, const MKL_INT* n, MKL_Complex16** a,
                     const MKL_INT* lda, const MKL_INT* group_count,
                     const MKL_INT* group_size, MKL_INT* info ) NOTHROW;
void zgetrfnp_batch_64_( const MKL_INT* m, const MKL_INT* n, MKL_Complex16** a,
                      const MKL_INT* lda, const MKL_INT* group_count,
                      const MKL_INT* group_size, MKL_INT* info ) NOTHROW;

void SGELS_BATCH_STRIDED( const char* trans, const MKL_INT* m,
                          const MKL_INT* n, const MKL_INT* nrhs, float* a,
                          const MKL_INT* lda, const MKL_INT* stride_a,
                          float* b, const MKL_INT* ldb,
                          const MKL_INT* stride_b, const MKL_INT* batch_size,
                          MKL_INT* info ) NOTHROW;
void SGELS_BATCH_STRIDED_( const char* trans, const MKL_INT* m,
                           const MKL_INT* n, const MKL_INT* nrhs, float* a,
                           const MKL_INT* lda, const MKL_INT* stride_a,
                           float* b, const MKL_INT* ldb,
                           const MKL_INT* stride_b, const MKL_INT* batch_size,
                           MKL_INT* info ) NOTHROW;
void sgels_batch_strided( const char* trans, const MKL_INT* m,
                          const MKL_INT* n, const MKL_INT* nrhs, float* a,
                          const MKL_INT* lda, const MKL_INT* stride_a,
                          float* b, const MKL_INT* ldb,
                          const MKL_INT* stride_b, const MKL_INT* batch_size,
                          MKL_INT* info ) NOTHROW;
void sgels_batch_strided_( const char* trans, const MKL_INT* m,
                           const MKL_INT* n, const MKL_INT* nrhs, float* a,
                           const MKL_INT* lda, const MKL_INT* stride_a,
                           float* b, const MKL_INT* ldb,
                           const MKL_INT* stride_b, const MKL_INT* batch_size,
                           MKL_INT* info ) NOTHROW;

void DGELS_BATCH_STRIDED( const char* trans, const MKL_INT* m,
                          const MKL_INT* n, const MKL_INT* nrhs, double* a,
                          const MKL_INT* lda, const MKL_INT* stride_a,
                          double* b, const MKL_INT* ldb,
                          const MKL_INT* stride_b, const MKL_INT* batch_size,
                          MKL_INT* info ) NOTHROW;
void DGELS_BATCH_STRIDED_( const char* trans, const MKL_INT* m,
                           const MKL_INT* n, const MKL_INT* nrhs, double* a,
                           const MKL_INT* lda, const MKL_INT* stride_a,
                           double* b, const MKL_INT* ldb,
                           const MKL_INT* stride_b, const MKL_INT* batch_size,
                           MKL_INT* info ) NOTHROW;
void dgels_batch_strided( const char* trans, const MKL_INT* m,
                          const MKL_INT* n, const MKL_INT* nrhs, double* a,
                          const MKL_INT* lda, const MKL_INT* stride_a,
                          double* b, const MKL_INT* ldb,
                          const MKL_INT* stride_b, const MKL_INT* batch_size,
                          MKL_INT* info ) NOTHROW;
void dgels_batch_strided_( const char* trans, const MKL_INT* m,
                           const MKL_INT* n, const MKL_INT* nrhs, double* a,
                           const MKL_INT* lda, const MKL_INT* stride_a,
                           double* b, const MKL_INT* ldb,
                           const MKL_INT* stride_b, const MKL_INT* batch_size,
                           MKL_INT* info ) NOTHROW;

void CGELS_BATCH_STRIDED( const char* trans, const MKL_INT* m,
                          const MKL_INT* n, const MKL_INT* nrhs,
                          MKL_Complex8* a, const MKL_INT* lda,
                          const MKL_INT* stride_a, MKL_Complex8* b,
                          const MKL_INT* ldb, const MKL_INT* stride_b,
                          const MKL_INT* batch_size, MKL_INT* info ) NOTHROW;
void CGELS_BATCH_STRIDED_( const char* trans, const MKL_INT* m,
                           const MKL_INT* n, const MKL_INT* nrhs,
                           MKL_Complex8* a, const MKL_INT* lda,
                           const MKL_INT* stride_a, MKL_Complex8* b,
                           const MKL_INT* ldb, const MKL_INT* stride_b,
                           const MKL_INT* batch_size, MKL_INT* info ) NOTHROW;
void cgels_batch_strided( const char* trans, const MKL_INT* m,
                          const MKL_INT* n, const MKL_INT* nrhs,
                          MKL_Complex8* a, const MKL_INT* lda,
                          const MKL_INT* stride_a, MKL_Complex8* b,
                          const MKL_INT* ldb, const MKL_INT* stride_b,
                          const MKL_INT* batch_size, MKL_INT* info ) NOTHROW;
void cgels_batch_strided_( const char* trans, const MKL_INT* m,
                           const MKL_INT* n, const MKL_INT* nrhs,
                           MKL_Complex8* a, const MKL_INT* lda,
                           const MKL_INT* stride_a, MKL_Complex8* b,
                           const MKL_INT* ldb, const MKL_INT* stride_b,
                           const MKL_INT* batch_size, MKL_INT* info ) NOTHROW;

void ZGELS_BATCH_STRIDED( const char* trans, const MKL_INT* m,
                          const MKL_INT* n, const MKL_INT* nrhs,
                          MKL_Complex16* a, const MKL_INT* lda,
                          const MKL_INT* stride_a, MKL_Complex16* b,
                          const MKL_INT* ldb, const MKL_INT* stride_b,
                          const MKL_INT* batch_size, MKL_INT* info ) NOTHROW;
void ZGELS_BATCH_STRIDED_( const char* trans, const MKL_INT* m,
                           const MKL_INT* n, const MKL_INT* nrhs,
                           MKL_Complex16* a, const MKL_INT* lda,
                           const MKL_INT* stride_a, MKL_Complex16* b,
                           const MKL_INT* ldb, const MKL_INT* stride_b,
                           const MKL_INT* batch_size, MKL_INT* info ) NOTHROW;
void zgels_batch_strided( const char* trans, const MKL_INT* m,
                          const MKL_INT* n, const MKL_INT* nrhs,
                          MKL_Complex16* a, const MKL_INT* lda,
                          const MKL_INT* stride_a, MKL_Complex16* b,
                          const MKL_INT* ldb, const MKL_INT* stride_b,
                          const MKL_INT* batch_size, MKL_INT* info ) NOTHROW;
void zgels_batch_strided_( const char* trans, const MKL_INT* m,
                           const MKL_INT* n, const MKL_INT* nrhs,
                           MKL_Complex16* a, const MKL_INT* lda,
                           const MKL_INT* stride_a, MKL_Complex16* b,
                           const MKL_INT* ldb, const MKL_INT* stride_b,
                           const MKL_INT* batch_size, MKL_INT* info ) NOTHROW;

/* LAPACK 3.6.0 routines */

void CGEJSV( const char* joba, const char* jobu, const char* jobv, const char* jobr,
             const char* jobt, const char* jobp, const MKL_INT* m, const MKL_INT* n,
             MKL_Complex8* a, const MKL_INT* lda, float* sva, MKL_Complex8* u, const MKL_INT* ldu,
             MKL_Complex8* v, const MKL_INT* ldv, MKL_Complex8* cwork, const MKL_INT* lwork,
             float* rwork, const MKL_INT* lrwork, MKL_INT* iwork, MKL_INT* info ) NOTHROW;
void CGEJSV_( const char* joba, const char* jobu, const char* jobv, const char* jobr,
              const char* jobt, const char* jobp, const MKL_INT* m, const MKL_INT* n,
              MKL_Complex8* a, const MKL_INT* lda, float* sva, MKL_Complex8* u, const MKL_INT* ldu,
              MKL_Complex8* v, const MKL_INT* ldv, MKL_Complex8* cwork, const MKL_INT* lwork,
              float* rwork, const MKL_INT* lrwork, MKL_INT* iwork, MKL_INT* info ) NOTHROW;
void cgejsv( const char* joba, const char* jobu, const char* jobv, const char* jobr,
             const char* jobt, const char* jobp, const MKL_INT* m, const MKL_INT* n,
             MKL_Complex8* a, const MKL_INT* lda, float* sva, MKL_Complex8* u, const MKL_INT* ldu,
             MKL_Complex8* v, const MKL_INT* ldv, MKL_Complex8* cwork, const MKL_INT* lwork,
             float* rwork, const MKL_INT* lrwork, MKL_INT* iwork, MKL_INT* info ) NOTHROW;
void cgejsv_( const char* joba, const char* jobu, const char* jobv, const char* jobr,
              const char* jobt, const char* jobp, const MKL_INT* m, const MKL_INT* n,
              MKL_Complex8* a, const MKL_INT* lda, float* sva, MKL_Complex8* u, const MKL_INT* ldu,
              MKL_Complex8* v, const MKL_INT* ldv, MKL_Complex8* cwork, const MKL_INT* lwork,
              float* rwork, const MKL_INT* lrwork, MKL_INT* iwork, MKL_INT* info ) NOTHROW;

void ZGEJSV( const char* joba, const char* jobu, const char* jobv, const char* jobr,
             const char* jobt, const char* jobp, const MKL_INT* m, const MKL_INT* n,
             MKL_Complex16* a, const MKL_INT* lda, double* sva, MKL_Complex16* u,
             const MKL_INT* ldu, MKL_Complex16* v, const MKL_INT* ldv, MKL_Complex16* cwork,
             const MKL_INT* lwork, double* rwork, const MKL_INT* lrwork, MKL_INT* iwork,
             MKL_INT* info ) NOTHROW;
void ZGEJSV_( const char* joba, const char* jobu, const char* jobv, const char* jobr,
              const char* jobt, const char* jobp, const MKL_INT* m, const MKL_INT* n,
              MKL_Complex16* a, const MKL_INT* lda, double* sva, MKL_Complex16* u,
              const MKL_INT* ldu, MKL_Complex16* v, const MKL_INT* ldv, MKL_Complex16* cwork,
              const MKL_INT* lwork, double* rwork, const MKL_INT* lrwork, MKL_INT* iwork,
              MKL_INT* info ) NOTHROW;
void zgejsv( const char* joba, const char* jobu, const char* jobv, const char* jobr,
             const char* jobt, const char* jobp, const MKL_INT* m, const MKL_INT* n,
             MKL_Complex16* a, const MKL_INT* lda, double* sva, MKL_Complex16* u,
             const MKL_INT* ldu, MKL_Complex16* v, const MKL_INT* ldv, MKL_Complex16* cwork,
             const MKL_INT* lwork, double* rwork, const MKL_INT* lrwork, MKL_INT* iwork,
             MKL_INT* info ) NOTHROW;
void zgejsv_( const char* joba, const char* jobu, const char* jobv, const char* jobr,
              const char* jobt, const char* jobp, const MKL_INT* m, const MKL_INT* n,
              MKL_Complex16* a, const MKL_INT* lda, double* sva, MKL_Complex16* u,
              const MKL_INT* ldu, MKL_Complex16* v, const MKL_INT* ldv, MKL_Complex16* cwork,
              const MKL_INT* lwork, double* rwork, const MKL_INT* lrwork, MKL_INT* iwork,
              MKL_INT* info ) NOTHROW;

void DGESVDX( const char* jobu, const char* jobvt, const char* range, const MKL_INT* m,
              const MKL_INT* n, double* a, const MKL_INT* lda, const double* vl,
              const double* vu, const MKL_INT* il, const MKL_INT* iu, MKL_INT* ns,
              double* s, double* u, const MKL_INT* ldu, double* vt, const MKL_INT* ldvt,
              double* work, const MKL_INT* lwork, MKL_INT* iwork, MKL_INT* info ) NOTHROW;
void DGESVDX_( const char* jobu, const char* jobvt, const char* range, const MKL_INT* m,
               const MKL_INT* n, double* a, const MKL_INT* lda, const double* vl,
               const double* vu, const MKL_INT* il, const MKL_INT* iu, MKL_INT* ns,
               double* s, double* u, const MKL_INT* ldu, double* vt, const MKL_INT* ldvt,
               double* work, const MKL_INT* lwork, MKL_INT* iwork, MKL_INT* info ) NOTHROW;
void dgesvdx( const char* jobu, const char* jobvt, const char* range, const MKL_INT* m,
              const MKL_INT* n, double* a, const MKL_INT* lda, const double* vl,
              const double* vu, const MKL_INT* il, const MKL_INT* iu, MKL_INT* ns,
              double* s, double* u, const MKL_INT* ldu, double* vt, const MKL_INT* ldvt,
              double* work, const MKL_INT* lwork, MKL_INT* iwork, MKL_INT* info ) NOTHROW;
void dgesvdx_( const char* jobu, const char* jobvt, const char* range, const MKL_INT* m,
               const MKL_INT* n, double* a, const MKL_INT* lda, const double* vl,
               const double* vu, const MKL_INT* il, const MKL_INT* iu, MKL_INT* ns,
               double* s, double* u, const MKL_INT* ldu, double* vt, const MKL_INT* ldvt,
               double* work, const MKL_INT* lwork, MKL_INT* iwork, MKL_INT* info ) NOTHROW;

void SGESVDX( const char* jobu, const char* jobvt, const char* range, const MKL_INT* m,
              const MKL_INT* n, float* a, const MKL_INT* lda, const float* vl, const float* vu,
              const MKL_INT* il, const MKL_INT* iu, MKL_INT* ns, float* s,
              float* u, const MKL_INT* ldu, float* vt, const MKL_INT* ldvt, float* work,
              const MKL_INT* lwork, MKL_INT* iwork, MKL_INT* info ) NOTHROW;
void SGESVDX_( const char* jobu, const char* jobvt, const char* range, const MKL_INT* m,
               const MKL_INT* n, float* a, const MKL_INT* lda, const float* vl, const float* vu,
               const MKL_INT* il, const MKL_INT* iu, MKL_INT* ns, float* s,
               float* u, const MKL_INT* ldu, float* vt, const MKL_INT* ldvt, float* work,
               const MKL_INT* lwork, MKL_INT* iwork, MKL_INT* info ) NOTHROW;
void sgesvdx( const char* jobu, const char* jobvt, const char* range, const MKL_INT* m,
              const MKL_INT* n, float* a, const MKL_INT* lda, const float* vl, const float* vu,
              const MKL_INT* il, const MKL_INT* iu, MKL_INT* ns, float* s,
              float* u, const MKL_INT* ldu, float* vt, const MKL_INT* ldvt, float* work,
              const MKL_INT* lwork, MKL_INT* iwork, MKL_INT* info ) NOTHROW;
void sgesvdx_( const char* jobu, const char* jobvt, const char* range, const MKL_INT* m,
               const MKL_INT* n, float* a, const MKL_INT* lda, const float* vl, const float* vu,
               const MKL_INT* il, const MKL_INT* iu, MKL_INT* ns, float* s,
               float* u, const MKL_INT* ldu, float* vt, const MKL_INT* ldvt, float* work,
               const MKL_INT* lwork, MKL_INT* iwork, MKL_INT* info ) NOTHROW;

void CGESVDX( const char* jobu, const char* jobvt, const char* range, const MKL_INT* m,
              const MKL_INT* n, MKL_Complex8* a, const MKL_INT* lda, const float* vl,
              const float* vu, const MKL_INT* il, const MKL_INT* iu, MKL_INT* ns,
              float* s, MKL_Complex8* u, const MKL_INT* ldu, MKL_Complex8* vt, const MKL_INT* ldvt,
              MKL_Complex8* work,const MKL_INT* lwork, float* rwork, MKL_INT* iwork,
              MKL_INT* info ) NOTHROW;
void CGESVDX_( const char* jobu, const char* jobvt, const char* range, const MKL_INT* m,
               const MKL_INT* n, MKL_Complex8* a, const MKL_INT* lda, const float* vl,
               const float* vu, const MKL_INT* il, const MKL_INT* iu, MKL_INT* ns,
               float* s, MKL_Complex8* u, const MKL_INT* ldu, MKL_Complex8* vt, const MKL_INT* ldvt,
               MKL_Complex8* work,const MKL_INT* lwork, float* rwork, MKL_INT* iwork,
               MKL_INT* info ) NOTHROW;
void cgesvdx( const char* jobu, const char* jobvt, const char* range, const MKL_INT* m,
              const MKL_INT* n, MKL_Complex8* a, const MKL_INT* lda, const float* vl,
              const float* vu, const MKL_INT* il, const MKL_INT* iu, MKL_INT* ns,
              float* s, MKL_Complex8* u, const MKL_INT* ldu, MKL_Complex8* vt, const MKL_INT* ldvt,
              MKL_Complex8* work,const MKL_INT* lwork, float* rwork, MKL_INT* iwork,
              MKL_INT* info ) NOTHROW;
void cgesvdx_( const char* jobu, const char* jobvt, const char* range, const MKL_INT* m,
               const MKL_INT* n, MKL_Complex8* a, const MKL_INT* lda, const float* vl,
               const float* vu, const MKL_INT* il, const MKL_INT* iu, MKL_INT* ns,
               float* s, MKL_Complex8* u, const MKL_INT* ldu, MKL_Complex8* vt, const MKL_INT* ldvt,
               MKL_Complex8* work,const MKL_INT* lwork, float* rwork, MKL_INT* iwork,
               MKL_INT* info ) NOTHROW;

void ZGESVDX( const char* jobu, const char* jobvt, const char* range, const MKL_INT* m,
              const MKL_INT* n, MKL_Complex16* a, const MKL_INT* lda, const double* vl,
              const double* vu, const MKL_INT* il, const MKL_INT* iu, MKL_INT* ns,
              double* s, MKL_Complex16* u, const MKL_INT* ldu, MKL_Complex16* vt,
              const MKL_INT* ldvt, MKL_Complex16* work,const MKL_INT* lwork, double* rwork,
              MKL_INT* iwork, MKL_INT* info ) NOTHROW;
void ZGESVDX_( const char* jobu, const char* jobvt, const char* range, const MKL_INT* m,
               const MKL_INT* n, MKL_Complex16* a, const MKL_INT* lda, const double* vl,
               const double* vu, const MKL_INT* il, const MKL_INT* iu, MKL_INT* ns,
               double* s, MKL_Complex16* u, const MKL_INT* ldu, MKL_Complex16* vt,
               const MKL_INT* ldvt, MKL_Complex16* work,const MKL_INT* lwork, double* rwork,
               MKL_INT* iwork, MKL_INT* info ) NOTHROW;
void zgesvdx( const char* jobu, const char* jobvt, const char* range, const MKL_INT* m,
              const MKL_INT* n, MKL_Complex16* a, const MKL_INT* lda, const double* vl,
              const double* vu, const MKL_INT* il, const MKL_INT* iu, MKL_INT* ns,
              double* s, MKL_Complex16* u, const MKL_INT* ldu, MKL_Complex16* vt,
              const MKL_INT* ldvt, MKL_Complex16* work,const MKL_INT* lwork, double* rwork,
              MKL_INT* iwork, MKL_INT* info ) NOTHROW;
void zgesvdx_( const char* jobu, const char* jobvt, const char* range, const MKL_INT* m,
               const MKL_INT* n, MKL_Complex16* a, const MKL_INT* lda, const double* vl,
               const double* vu, const MKL_INT* il, const MKL_INT* iu, MKL_INT* ns,
               double* s, MKL_Complex16* u, const MKL_INT* ldu, MKL_Complex16* vt,
               const MKL_INT* ldvt, MKL_Complex16* work,const MKL_INT* lwork, double* rwork,
               MKL_INT* iwork, MKL_INT* info ) NOTHROW;

void CGESVJ( const char* joba, const char* jobu, const char* jobv, const MKL_INT* m,
             const MKL_INT* n, MKL_Complex8* a, const MKL_INT* lda, float* sva,
             const MKL_INT* mv, MKL_Complex8* v, const MKL_INT* ldv, MKL_Complex8* cwork,
             const MKL_INT* lwork, float* rwork, const MKL_INT* lrwork, MKL_INT* info ) NOTHROW;
void CGESVJ_( const char* joba, const char* jobu, const char* jobv, const MKL_INT* m,
              const MKL_INT* n, MKL_Complex8* a, const MKL_INT* lda, float* sva,
              const MKL_INT* mv, MKL_Complex8* v, const MKL_INT* ldv, MKL_Complex8* cwork,
              const MKL_INT* lwork, float* rwork, const MKL_INT* lrwork, MKL_INT* info ) NOTHROW;
void cgesvj( const char* joba, const char* jobu, const char* jobv, const MKL_INT* m,
             const MKL_INT* n, MKL_Complex8* a, const MKL_INT* lda, float* sva,
             const MKL_INT* mv, MKL_Complex8* v, const MKL_INT* ldv, MKL_Complex8* cwork,
             const MKL_INT* lwork, float* rwork, const MKL_INT* lrwork, MKL_INT* info ) NOTHROW;
void cgesvj_( const char* joba, const char* jobu, const char* jobv, const MKL_INT* m,
              const MKL_INT* n, MKL_Complex8* a, const MKL_INT* lda, float* sva,
              const MKL_INT* mv, MKL_Complex8* v, const MKL_INT* ldv, MKL_Complex8* cwork,
              const MKL_INT* lwork, float* rwork, const MKL_INT* lrwork, MKL_INT* info ) NOTHROW;

void ZGESVJ( const char* joba, const char* jobu, const char* jobv, const MKL_INT* m,
             const MKL_INT* n, MKL_Complex16* a, const MKL_INT* lda, double* sva,
             const MKL_INT* mv, MKL_Complex16* v, const MKL_INT* ldv, MKL_Complex16* cwork,
             const MKL_INT* lwork, double* rwork, const MKL_INT* lrwork, MKL_INT* info ) NOTHROW;
void ZGESVJ_( const char* joba, const char* jobu, const char* jobv, const MKL_INT* m,
              const MKL_INT* n, MKL_Complex16* a, const MKL_INT* lda, double* sva,
              const MKL_INT* mv, MKL_Complex16* v, const MKL_INT* ldv, MKL_Complex16* cwork,
              const MKL_INT* lwork, double* rwork, const MKL_INT* lrwork, MKL_INT* info ) NOTHROW;
void zgesvj( const char* joba, const char* jobu, const char* jobv, const MKL_INT* m,
             const MKL_INT* n, MKL_Complex16* a, const MKL_INT* lda, double* sva,
             const MKL_INT* mv, MKL_Complex16* v, const MKL_INT* ldv, MKL_Complex16* cwork,
             const MKL_INT* lwork, double* rwork, const MKL_INT* lrwork, MKL_INT* info ) NOTHROW;
void zgesvj_( const char* joba, const char* jobu, const char* jobv, const MKL_INT* m,
              const MKL_INT* n, MKL_Complex16* a, const MKL_INT* lda, double* sva,
              const MKL_INT* mv, MKL_Complex16* v, const MKL_INT* ldv, MKL_Complex16* cwork,
              const MKL_INT* lwork, double* rwork, const MKL_INT* lrwork, MKL_INT* info ) NOTHROW;

void DGGSVD3( const char* jobu, const char* jobv, const char* jobq, const MKL_INT* m,
              const MKL_INT* n, const MKL_INT* p, MKL_INT* k, MKL_INT* l, double* a,
              const MKL_INT* lda, double* b, const MKL_INT* ldb, double* alpha,
              double* beta, double* u, const MKL_INT* ldu, double* v, const MKL_INT* ldv,
              double* q, const MKL_INT* ldq, double* work, const MKL_INT* lwork,
              MKL_INT* iwork, MKL_INT* info ) NOTHROW;
void DGGSVD3_( const char* jobu, const char* jobv, const char* jobq, const MKL_INT* m,
               const MKL_INT* n, const MKL_INT* p, MKL_INT* k, MKL_INT* l, double* a,
               const MKL_INT* lda, double* b, const MKL_INT* ldb, double* alpha,
               double* beta, double* u, const MKL_INT* ldu, double* v, const MKL_INT* ldv,
               double* q, const MKL_INT* ldq, double* work, const MKL_INT* lwork,
               MKL_INT* iwork, MKL_INT* info ) NOTHROW;
void dggsvd3( const char* jobu, const char* jobv, const char* jobq, const MKL_INT* m,
              const MKL_INT* n, const MKL_INT* p, MKL_INT* k, MKL_INT* l, double* a,
              const MKL_INT* lda, double* b, const MKL_INT* ldb, double* alpha,
              double* beta, double* u, const MKL_INT* ldu, double* v, const MKL_INT* ldv,
              double* q, const MKL_INT* ldq, double* work, const MKL_INT* lwork,
              MKL_INT* iwork, MKL_INT* info ) NOTHROW;
void dggsvd3_( const char* jobu, const char* jobv, const char* jobq, const MKL_INT* m,
               const MKL_INT* n, const MKL_INT* p, MKL_INT* k, MKL_INT* l, double* a,
               const MKL_INT* lda, double* b, const MKL_INT* ldb, double* alpha,
               double* beta, double* u, const MKL_INT* ldu, double* v, const MKL_INT* ldv,
               double* q, const MKL_INT* ldq, double* work, const MKL_INT* lwork,
               MKL_INT* iwork, MKL_INT* info ) NOTHROW;

void SGGSVD3( const char* jobu, const char* jobv, const char* jobq, const MKL_INT* m,
              const MKL_INT* n, const MKL_INT* p, MKL_INT* k, MKL_INT* l, float* a,
              const MKL_INT* lda, float* b, const MKL_INT* ldb, float* alpha, float* beta,
              float* u, const MKL_INT* ldu, float* v, const MKL_INT* ldv, float* q,
              const MKL_INT* ldq, float* work, const MKL_INT* lwork, MKL_INT* iwork,
              MKL_INT* info ) NOTHROW;
void SGGSVD3_( const char* jobu, const char* jobv, const char* jobq, const MKL_INT* m,
               const MKL_INT* n, const MKL_INT* p, MKL_INT* k, MKL_INT* l, float* a,
               const MKL_INT* lda, float* b, const MKL_INT* ldb, float* alpha, float* beta,
               float* u, const MKL_INT* ldu, float* v, const MKL_INT* ldv, float* q,
               const MKL_INT* ldq, float* work, const MKL_INT* lwork, MKL_INT* iwork,
               MKL_INT* info ) NOTHROW;
void sggsvd3( const char* jobu, const char* jobv, const char* jobq, const MKL_INT* m,
              const MKL_INT* n, const MKL_INT* p, MKL_INT* k, MKL_INT* l, float* a,
              const MKL_INT* lda, float* b, const MKL_INT* ldb, float* alpha, float* beta,
              float* u, const MKL_INT* ldu, float* v, const MKL_INT* ldv, float* q,
              const MKL_INT* ldq, float* work, const MKL_INT* lwork, MKL_INT* iwork,
              MKL_INT* info ) NOTHROW;
void sggsvd3_( const char* jobu, const char* jobv, const char* jobq, const MKL_INT* m,
               const MKL_INT* n, const MKL_INT* p, MKL_INT* k, MKL_INT* l, float* a,
               const MKL_INT* lda, float* b, const MKL_INT* ldb, float* alpha, float* beta,
               float* u, const MKL_INT* ldu, float* v, const MKL_INT* ldv, float* q,
               const MKL_INT* ldq, float* work, const MKL_INT* lwork, MKL_INT* iwork,
               MKL_INT* info ) NOTHROW;

void CGGSVD3( const char* jobu, const char* jobv, const char* jobq, const MKL_INT* m,
              const MKL_INT* n, const MKL_INT* p, MKL_INT* k, MKL_INT* l, MKL_Complex8* a,
              const MKL_INT* lda, MKL_Complex8* b, const MKL_INT* ldb, float* alpha,
              float* beta, MKL_Complex8* u, const MKL_INT* ldu, MKL_Complex8* v,
              const MKL_INT* ldv, MKL_Complex8* q, const MKL_INT* ldq, MKL_Complex8* work,
              const MKL_INT* lwork, float* rwork, MKL_INT* iwork, MKL_INT* info ) NOTHROW;
void CGGSVD3_( const char* jobu, const char* jobv, const char* jobq, const MKL_INT* m,
               const MKL_INT* n, const MKL_INT* p, MKL_INT* k, MKL_INT* l, MKL_Complex8* a,
               const MKL_INT* lda, MKL_Complex8* b, const MKL_INT* ldb, float* alpha,
               float* beta, MKL_Complex8* u, const MKL_INT* ldu, MKL_Complex8* v,
               const MKL_INT* ldv, MKL_Complex8* q, const MKL_INT* ldq, MKL_Complex8* work,
               const MKL_INT* lwork, float* rwork, MKL_INT* iwork, MKL_INT* info ) NOTHROW;
void cggsvd3( const char* jobu, const char* jobv, const char* jobq, const MKL_INT* m,
              const MKL_INT* n, const MKL_INT* p, MKL_INT* k, MKL_INT* l, MKL_Complex8* a,
              const MKL_INT* lda, MKL_Complex8* b, const MKL_INT* ldb, float* alpha,
              float* beta, MKL_Complex8* u, const MKL_INT* ldu, MKL_Complex8* v,
              const MKL_INT* ldv, MKL_Complex8* q, const MKL_INT* ldq, MKL_Complex8* work,
              const MKL_INT* lwork, float* rwork, MKL_INT* iwork, MKL_INT* info ) NOTHROW;
void cggsvd3_( const char* jobu, const char* jobv, const char* jobq, const MKL_INT* m,
               const MKL_INT* n, const MKL_INT* p, MKL_INT* k, MKL_INT* l, MKL_Complex8* a,
               const MKL_INT* lda, MKL_Complex8* b, const MKL_INT* ldb, float* alpha,
               float* beta, MKL_Complex8* u, const MKL_INT* ldu, MKL_Complex8* v,
               const MKL_INT* ldv, MKL_Complex8* q, const MKL_INT* ldq, MKL_Complex8* work,
               const MKL_INT* lwork, float* rwork, MKL_INT* iwork, MKL_INT* info ) NOTHROW;

void ZGGSVD3( const char* jobu, const char* jobv, const char* jobq, const MKL_INT* m,
              const MKL_INT* n, const MKL_INT* p, MKL_INT* k, MKL_INT* l, MKL_Complex16* a,
              const MKL_INT* lda, MKL_Complex16* b, const MKL_INT* ldb, double* alpha,
              double* beta, MKL_Complex16* u, const MKL_INT* ldu, MKL_Complex16* v,
              const MKL_INT* ldv, MKL_Complex16* q, const MKL_INT* ldq, MKL_Complex16* work,
              const MKL_INT* lwork, double* rwork, MKL_INT* iwork, MKL_INT* info ) NOTHROW;
void ZGGSVD3_( const char* jobu, const char* jobv, const char* jobq, const MKL_INT* m,
               const MKL_INT* n, const MKL_INT* p, MKL_INT* k, MKL_INT* l, MKL_Complex16* a,
               const MKL_INT* lda, MKL_Complex16* b, const MKL_INT* ldb, double* alpha,
               double* beta, MKL_Complex16* u, const MKL_INT* ldu, MKL_Complex16* v,
               const MKL_INT* ldv, MKL_Complex16* q, const MKL_INT* ldq, MKL_Complex16* work,
               const MKL_INT* lwork, double* rwork, MKL_INT* iwork, MKL_INT* info ) NOTHROW;
void zggsvd3( const char* jobu, const char* jobv, const char* jobq, const MKL_INT* m,
              const MKL_INT* n, const MKL_INT* p, MKL_INT* k, MKL_INT* l, MKL_Complex16* a,
              const MKL_INT* lda, MKL_Complex16* b, const MKL_INT* ldb, double* alpha,
              double* beta, MKL_Complex16* u, const MKL_INT* ldu, MKL_Complex16* v,
              const MKL_INT* ldv, MKL_Complex16* q, const MKL_INT* ldq, MKL_Complex16* work,
              const MKL_INT* lwork, double* rwork, MKL_INT* iwork, MKL_INT* info ) NOTHROW;
void zggsvd3_( const char* jobu, const char* jobv, const char* jobq, const MKL_INT* m,
               const MKL_INT* n, const MKL_INT* p, MKL_INT* k, MKL_INT* l, MKL_Complex16* a,
               const MKL_INT* lda, MKL_Complex16* b, const MKL_INT* ldb, double* alpha,
               double* beta, MKL_Complex16* u, const MKL_INT* ldu, MKL_Complex16* v,
               const MKL_INT* ldv, MKL_Complex16* q, const MKL_INT* ldq, MKL_Complex16* work,
               const MKL_INT* lwork, double* rwork, MKL_INT* iwork, MKL_INT* info ) NOTHROW;

void DGGSVP3( const char* jobu, const char* jobv, const char* jobq, const MKL_INT* m,
              const MKL_INT* p, const MKL_INT* n, double* a, const MKL_INT* lda,
              double* b, const MKL_INT* ldb, const double* tola, const double* tolb,
              MKL_INT* k, MKL_INT* l, double* u, const MKL_INT* ldu, double* v,
              const MKL_INT* ldv, double* q, const MKL_INT* ldq, MKL_INT* iwork,
              double* tau, double* work, const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void DGGSVP3_( const char* jobu, const char* jobv, const char* jobq, const MKL_INT* m,
               const MKL_INT* p, const MKL_INT* n, double* a, const MKL_INT* lda,
               double* b, const MKL_INT* ldb, const double* tola, const double* tolb,
               MKL_INT* k, MKL_INT* l, double* u, const MKL_INT* ldu, double* v,
               const MKL_INT* ldv, double* q, const MKL_INT* ldq, MKL_INT* iwork,
               double* tau, double* work, const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void dggsvp3( const char* jobu, const char* jobv, const char* jobq, const MKL_INT* m,
              const MKL_INT* p, const MKL_INT* n, double* a, const MKL_INT* lda,
              double* b, const MKL_INT* ldb, const double* tola, const double* tolb,
              MKL_INT* k, MKL_INT* l, double* u, const MKL_INT* ldu, double* v,
              const MKL_INT* ldv, double* q, const MKL_INT* ldq, MKL_INT* iwork,
              double* tau, double* work, const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void dggsvp3_( const char* jobu, const char* jobv, const char* jobq, const MKL_INT* m,
               const MKL_INT* p, const MKL_INT* n, double* a, const MKL_INT* lda,
               double* b, const MKL_INT* ldb, const double* tola, const double* tolb,
               MKL_INT* k, MKL_INT* l, double* u, const MKL_INT* ldu, double* v,
               const MKL_INT* ldv, double* q, const MKL_INT* ldq, MKL_INT* iwork,
               double* tau, double* work, const MKL_INT* lwork, MKL_INT* info ) NOTHROW;

void SGGSVP3( const char* jobu, const char* jobv, const char* jobq, const MKL_INT* m,
              const MKL_INT* p, const MKL_INT* n, float* a, const MKL_INT* lda,
              float* b, const MKL_INT* ldb, const float* tola, const float* tolb,
              MKL_INT* k, MKL_INT* l, float* u, const MKL_INT* ldu, float* v, const MKL_INT* ldv,
              float* q, const MKL_INT* ldq, MKL_INT* iwork, float* tau, float* work,
              const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void SGGSVP3_( const char* jobu, const char* jobv, const char* jobq, const MKL_INT* m,
               const MKL_INT* p, const MKL_INT* n, float* a, const MKL_INT* lda,
               float* b, const MKL_INT* ldb, const float* tola, const float* tolb,
               MKL_INT* k, MKL_INT* l, float* u, const MKL_INT* ldu, float* v, const MKL_INT* ldv,
               float* q, const MKL_INT* ldq, MKL_INT* iwork, float* tau, float* work,
               const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void sggsvp3( const char* jobu, const char* jobv, const char* jobq, const MKL_INT* m,
              const MKL_INT* p, const MKL_INT* n, float* a, const MKL_INT* lda,
              float* b, const MKL_INT* ldb, const float* tola, const float* tolb,
              MKL_INT* k, MKL_INT* l, float* u, const MKL_INT* ldu, float* v, const MKL_INT* ldv,
              float* q, const MKL_INT* ldq, MKL_INT* iwork, float* tau, float* work,
              const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void sggsvp3_( const char* jobu, const char* jobv, const char* jobq, const MKL_INT* m,
               const MKL_INT* p, const MKL_INT* n, float* a, const MKL_INT* lda,
               float* b, const MKL_INT* ldb, const float* tola, const float* tolb,
               MKL_INT* k, MKL_INT* l, float* u, const MKL_INT* ldu, float* v, const MKL_INT* ldv,
               float* q, const MKL_INT* ldq, MKL_INT* iwork, float* tau, float* work,
               const MKL_INT* lwork, MKL_INT* info ) NOTHROW;

void CGGSVP3( const char* jobu, const char* jobv, const char* jobq, const MKL_INT* m,
              const MKL_INT* p, const MKL_INT* n, MKL_Complex8* a, const MKL_INT* lda,
              MKL_Complex8* b, const MKL_INT* ldb, const float* tola, const float* tolb,
              MKL_INT* k, MKL_INT* l, MKL_Complex8* u, const MKL_INT* ldu, MKL_Complex8* v,
              const MKL_INT* ldv, MKL_Complex8* q, const MKL_INT* ldq, MKL_INT* iwork,
              float* rwork, MKL_Complex8* tau, MKL_Complex8* work, const MKL_INT* lwork,
              MKL_INT* info ) NOTHROW;
void CGGSVP3_( const char* jobu, const char* jobv, const char* jobq, const MKL_INT* m,
               const MKL_INT* p, const MKL_INT* n, MKL_Complex8* a, const MKL_INT* lda,
               MKL_Complex8* b, const MKL_INT* ldb, const float* tola, const float* tolb,
               MKL_INT* k, MKL_INT* l, MKL_Complex8* u, const MKL_INT* ldu, MKL_Complex8* v,
               const MKL_INT* ldv, MKL_Complex8* q, const MKL_INT* ldq, MKL_INT* iwork,
               float* rwork, MKL_Complex8* tau, MKL_Complex8* work, const MKL_INT* lwork,
               MKL_INT* info ) NOTHROW;
void cggsvp3( const char* jobu, const char* jobv, const char* jobq, const MKL_INT* m,
              const MKL_INT* p, const MKL_INT* n, MKL_Complex8* a, const MKL_INT* lda,
              MKL_Complex8* b, const MKL_INT* ldb, const float* tola, const float* tolb,
              MKL_INT* k, MKL_INT* l, MKL_Complex8* u, const MKL_INT* ldu, MKL_Complex8* v,
              const MKL_INT* ldv, MKL_Complex8* q, const MKL_INT* ldq, MKL_INT* iwork,
              float* rwork, MKL_Complex8* tau, MKL_Complex8* work, const MKL_INT* lwork,
              MKL_INT* info ) NOTHROW;
void cggsvp3_( const char* jobu, const char* jobv, const char* jobq, const MKL_INT* m,
               const MKL_INT* p, const MKL_INT* n, MKL_Complex8* a, const MKL_INT* lda,
               MKL_Complex8* b, const MKL_INT* ldb, const float* tola, const float* tolb,
               MKL_INT* k, MKL_INT* l, MKL_Complex8* u, const MKL_INT* ldu, MKL_Complex8* v,
               const MKL_INT* ldv, MKL_Complex8* q, const MKL_INT* ldq, MKL_INT* iwork,
               float* rwork, MKL_Complex8* tau, MKL_Complex8* work, const MKL_INT* lwork,
               MKL_INT* info ) NOTHROW;

void ZGGSVP3( const char* jobu, const char* jobv, const char* jobq, const MKL_INT* m,
              const MKL_INT* p, const MKL_INT* n, MKL_Complex16* a, const MKL_INT* lda,
              MKL_Complex16* b, const MKL_INT* ldb, const double* tola, const double* tolb,
              MKL_INT* k, MKL_INT* l, MKL_Complex16* u, const MKL_INT* ldu, MKL_Complex16* v,
              const MKL_INT* ldv, MKL_Complex16* q, const MKL_INT* ldq, MKL_INT* iwork,
              double* rwork, MKL_Complex16* tau, MKL_Complex16* work, const MKL_INT* lwork,
              MKL_INT* info ) NOTHROW;
void ZGGSVP3_( const char* jobu, const char* jobv, const char* jobq, const MKL_INT* m,
               const MKL_INT* p, const MKL_INT* n, MKL_Complex16* a, const MKL_INT* lda,
               MKL_Complex16* b, const MKL_INT* ldb, const double* tola, const double* tolb,
               MKL_INT* k, MKL_INT* l, MKL_Complex16* u, const MKL_INT* ldu, MKL_Complex16* v,
               const MKL_INT* ldv, MKL_Complex16* q, const MKL_INT* ldq, MKL_INT* iwork,
               double* rwork, MKL_Complex16* tau, MKL_Complex16* work, const MKL_INT* lwork,
               MKL_INT* info ) NOTHROW;
void zggsvp3( const char* jobu, const char* jobv, const char* jobq, const MKL_INT* m,
              const MKL_INT* p, const MKL_INT* n, MKL_Complex16* a, const MKL_INT* lda,
              MKL_Complex16* b, const MKL_INT* ldb, const double* tola, const double* tolb,
              MKL_INT* k, MKL_INT* l, MKL_Complex16* u, const MKL_INT* ldu, MKL_Complex16* v,
              const MKL_INT* ldv, MKL_Complex16* q, const MKL_INT* ldq, MKL_INT* iwork,
              double* rwork, MKL_Complex16* tau, MKL_Complex16* work, const MKL_INT* lwork,
              MKL_INT* info ) NOTHROW;
void zggsvp3_( const char* jobu, const char* jobv, const char* jobq, const MKL_INT* m,
               const MKL_INT* p, const MKL_INT* n, MKL_Complex16* a, const MKL_INT* lda,
               MKL_Complex16* b, const MKL_INT* ldb, const double* tola, const double* tolb,
               MKL_INT* k, MKL_INT* l, MKL_Complex16* u, const MKL_INT* ldu, MKL_Complex16* v,
               const MKL_INT* ldv, MKL_Complex16* q, const MKL_INT* ldq, MKL_INT* iwork,
               double* rwork, MKL_Complex16* tau, MKL_Complex16* work, const MKL_INT* lwork,
               MKL_INT* info ) NOTHROW;

void CGSVJ0( const char* jobv, const MKL_INT* m, const MKL_INT* n, MKL_Complex8* a,
             const MKL_INT* lda, MKL_Complex8* d, float* sva, const MKL_INT* mv,
             MKL_Complex8* v, const MKL_INT* ldv, const float* eps, const float* sfmin,
             const float* tol, const MKL_INT* nsweep, MKL_Complex8* work, const MKL_INT* lwork,
             MKL_INT* info ) NOTHROW;
void CGSVJ0_( const char* jobv, const MKL_INT* m, const MKL_INT* n, MKL_Complex8* a,
              const MKL_INT* lda, MKL_Complex8* d, float* sva, const MKL_INT* mv,
              MKL_Complex8* v, const MKL_INT* ldv, const float* eps, const float* sfmin,
              const float* tol, const MKL_INT* nsweep, MKL_Complex8* work, const MKL_INT* lwork,
              MKL_INT* info ) NOTHROW;
void cgsvj0( const char* jobv, const MKL_INT* m, const MKL_INT* n, MKL_Complex8* a,
             const MKL_INT* lda, MKL_Complex8* d, float* sva, const MKL_INT* mv,
             MKL_Complex8* v, const MKL_INT* ldv, const float* eps, const float* sfmin,
             const float* tol, const MKL_INT* nsweep, MKL_Complex8* work, const MKL_INT* lwork,
             MKL_INT* info ) NOTHROW;
void cgsvj0_( const char* jobv, const MKL_INT* m, const MKL_INT* n, MKL_Complex8* a,
              const MKL_INT* lda, MKL_Complex8* d, float* sva, const MKL_INT* mv,
              MKL_Complex8* v, const MKL_INT* ldv, const float* eps, const float* sfmin,
              const float* tol, const MKL_INT* nsweep, MKL_Complex8* work, const MKL_INT* lwork,
              MKL_INT* info ) NOTHROW;

void ZGSVJ0( const char* jobv, const MKL_INT* m, const MKL_INT* n, MKL_Complex16* a,
             const MKL_INT* lda, MKL_Complex16* d, double* sva, const MKL_INT* mv,
             MKL_Complex16* v, const MKL_INT* ldv, const double* eps, const double* sfmin,
             const double* tol, const MKL_INT* nsweep, MKL_Complex16* work, const MKL_INT* lwork,
             MKL_INT* info ) NOTHROW;
void ZGSVJ0_( const char* jobv, const MKL_INT* m, const MKL_INT* n, MKL_Complex16* a,
              const MKL_INT* lda, MKL_Complex16* d, double* sva, const MKL_INT* mv,
              MKL_Complex16* v, const MKL_INT* ldv, const double* eps, const double* sfmin,
              const double* tol, const MKL_INT* nsweep, MKL_Complex16* work, const MKL_INT* lwork,
              MKL_INT* info ) NOTHROW;
void zgsvj0( const char* jobv, const MKL_INT* m, const MKL_INT* n, MKL_Complex16* a,
             const MKL_INT* lda, MKL_Complex16* d, double* sva, const MKL_INT* mv,
             MKL_Complex16* v, const MKL_INT* ldv, const double* eps, const double* sfmin,
             const double* tol, const MKL_INT* nsweep, MKL_Complex16* work, const MKL_INT* lwork,
             MKL_INT* info ) NOTHROW;
void zgsvj0_( const char* jobv, const MKL_INT* m, const MKL_INT* n, MKL_Complex16* a,
              const MKL_INT* lda, MKL_Complex16* d, double* sva, const MKL_INT* mv,
              MKL_Complex16* v, const MKL_INT* ldv, const double* eps, const double* sfmin,
              const double* tol, const MKL_INT* nsweep, MKL_Complex16* work, const MKL_INT* lwork,
              MKL_INT* info ) NOTHROW;

void CGSVJ1( const char* jobv, const MKL_INT* m, const MKL_INT* n, const MKL_INT* n1,
             MKL_Complex8* a, const MKL_INT* lda, MKL_Complex8* d, float* sva, const MKL_INT* mv,
             MKL_Complex8* v, const MKL_INT* ldv, const float* eps, const float* sfmin,
             const float* tol, const MKL_INT* nsweep, MKL_Complex8* work, const MKL_INT* lwork,
             MKL_INT* info ) NOTHROW;
void CGSVJ1_( const char* jobv, const MKL_INT* m, const MKL_INT* n, const MKL_INT* n1,
              MKL_Complex8* a, const MKL_INT* lda, MKL_Complex8* d, float* sva, const MKL_INT* mv,
              MKL_Complex8* v, const MKL_INT* ldv, const float* eps, const float* sfmin,
              const float* tol, const MKL_INT* nsweep, MKL_Complex8* work, const MKL_INT* lwork,
              MKL_INT* info ) NOTHROW;
void cgsvj1( const char* jobv, const MKL_INT* m, const MKL_INT* n, const MKL_INT* n1,
             MKL_Complex8* a, const MKL_INT* lda, MKL_Complex8* d, float* sva, const MKL_INT* mv,
             MKL_Complex8* v, const MKL_INT* ldv, const float* eps, const float* sfmin,
             const float* tol, const MKL_INT* nsweep, MKL_Complex8* work, const MKL_INT* lwork,
             MKL_INT* info ) NOTHROW;
void cgsvj1_( const char* jobv, const MKL_INT* m, const MKL_INT* n, const MKL_INT* n1,
              MKL_Complex8* a, const MKL_INT* lda, MKL_Complex8* d, float* sva, const MKL_INT* mv,
              MKL_Complex8* v, const MKL_INT* ldv, const float* eps, const float* sfmin,
              const float* tol, const MKL_INT* nsweep, MKL_Complex8* work, const MKL_INT* lwork,
              MKL_INT* info ) NOTHROW;

void ZGSVJ1( const char* jobv, const MKL_INT* m, const MKL_INT* n, const MKL_INT* n1,
             MKL_Complex16* a, const MKL_INT* lda, MKL_Complex16* d, double* sva,
             const MKL_INT* mv, MKL_Complex16* v, const MKL_INT* ldv, const double* eps,
             const double* sfmin, const double* tol, const MKL_INT* nsweep, MKL_Complex16* work,
             const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void ZGSVJ1_( const char* jobv, const MKL_INT* m, const MKL_INT* n, const MKL_INT* n1,
              MKL_Complex16* a, const MKL_INT* lda, MKL_Complex16* d, double* sva,
              const MKL_INT* mv, MKL_Complex16* v, const MKL_INT* ldv, const double* eps,
              const double* sfmin, const double* tol, const MKL_INT* nsweep, MKL_Complex16* work,
              const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void zgsvj1( const char* jobv, const MKL_INT* m, const MKL_INT* n, const MKL_INT* n1,
             MKL_Complex16* a, const MKL_INT* lda, MKL_Complex16* d, double* sva,
             const MKL_INT* mv, MKL_Complex16* v, const MKL_INT* ldv, const double* eps,
             const double* sfmin, const double* tol, const MKL_INT* nsweep, MKL_Complex16* work,
             const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void zgsvj1_( const char* jobv, const MKL_INT* m, const MKL_INT* n, const MKL_INT* n1,
              MKL_Complex16* a, const MKL_INT* lda, MKL_Complex16* d, double* sva,
              const MKL_INT* mv, MKL_Complex16* v, const MKL_INT* ldv, const double* eps,
              const double* sfmin, const double* tol, const MKL_INT* nsweep, MKL_Complex16* work,
              const MKL_INT* lwork, MKL_INT* info ) NOTHROW;

void CPOTRF2( const char* uplo, const MKL_INT* n, MKL_Complex8* a, const MKL_INT* lda,
              MKL_INT* info ) NOTHROW;
void CPOTRF2_( const char* uplo, const MKL_INT* n, MKL_Complex8* a, const MKL_INT* lda,
               MKL_INT* info ) NOTHROW;
void cpotrf2( const char* uplo, const MKL_INT* n, MKL_Complex8* a, const MKL_INT* lda,
              MKL_INT* info ) NOTHROW;
void cpotrf2_( const char* uplo, const MKL_INT* n, MKL_Complex8* a, const MKL_INT* lda,
               MKL_INT* info ) NOTHROW;

void DPOTRF2( const char* uplo, const MKL_INT* n, double* a, const MKL_INT* lda,
              MKL_INT* info ) NOTHROW;
void DPOTRF2_( const char* uplo, const MKL_INT* n, double* a, const MKL_INT* lda,
               MKL_INT* info ) NOTHROW;
void dpotrf2( const char* uplo, const MKL_INT* n, double* a, const MKL_INT* lda,
              MKL_INT* info ) NOTHROW;
void dpotrf2_( const char* uplo, const MKL_INT* n, double* a, const MKL_INT* lda,
               MKL_INT* info ) NOTHROW;

void SPOTRF2( const char* uplo, const MKL_INT* n, float* a, const MKL_INT* lda, MKL_INT* info ) NOTHROW;
void SPOTRF2_( const char* uplo, const MKL_INT* n, float* a, const MKL_INT* lda, MKL_INT* info ) NOTHROW;
void spotrf2( const char* uplo, const MKL_INT* n, float* a, const MKL_INT* lda, MKL_INT* info ) NOTHROW;
void spotrf2_( const char* uplo, const MKL_INT* n, float* a, const MKL_INT* lda, MKL_INT* info ) NOTHROW;

void ZPOTRF2( const char* uplo, const MKL_INT* n, MKL_Complex16* a, const MKL_INT* lda,
              MKL_INT* info ) NOTHROW;
void ZPOTRF2_( const char* uplo, const MKL_INT* n, MKL_Complex16* a, const MKL_INT* lda,
               MKL_INT* info ) NOTHROW;
void zpotrf2( const char* uplo, const MKL_INT* n, MKL_Complex16* a, const MKL_INT* lda,
              MKL_INT* info ) NOTHROW;
void zpotrf2_( const char* uplo, const MKL_INT* n, MKL_Complex16* a, const MKL_INT* lda,
               MKL_INT* info ) NOTHROW;

void DBDSVDX( const char* uplo, const char* jobz, const char* range, const MKL_INT* n,
              const double* d, const double* e, const double* vl, const double* vu,
              const MKL_INT* il, const MKL_INT* iu, MKL_INT* ns, double* s, double* z,
              const MKL_INT* ldz, double* work, MKL_INT* iwork, MKL_INT* info ) NOTHROW;
void DBDSVDX_( const char* uplo, const char* jobz, const char* range, const MKL_INT* n,
               const double* d, const double* e, const double* vl, const double* vu,
               const MKL_INT* il, const MKL_INT* iu, MKL_INT* ns, double* s, double* z,
               const MKL_INT* ldz, double* work, MKL_INT* iwork, MKL_INT* info ) NOTHROW;
void dbdsvdx( const char* uplo, const char* jobz, const char* range, const MKL_INT* n,
              const double* d, const double* e, const double* vl, const double* vu,
              const MKL_INT* il, const MKL_INT* iu, MKL_INT* ns, double* s, double* z,
              const MKL_INT* ldz, double* work, MKL_INT* iwork, MKL_INT* info ) NOTHROW;
void dbdsvdx_( const char* uplo, const char* jobz, const char* range, const MKL_INT* n,
               const double* d, const double* e, const double* vl, const double* vu,
               const MKL_INT* il, const MKL_INT* iu, MKL_INT* ns, double* s, double* z,
               const MKL_INT* ldz, double* work, MKL_INT* iwork, MKL_INT* info ) NOTHROW;

void SBDSVDX( const char* uplo, const char* jobz, const char* range, const MKL_INT* n,
              const float* d, const float* e, const float* vl, const float* vu,
              const MKL_INT* il, const MKL_INT* iu, MKL_INT* ns, float* s, float* z,
              const MKL_INT* ldz, float* work, MKL_INT* iwork, MKL_INT* info ) NOTHROW;
void SBDSVDX_( const char* uplo, const char* jobz, const char* range, const MKL_INT* n,
               const float* d, const float* e, const float* vl, const float* vu,
               const MKL_INT* il, const MKL_INT* iu, MKL_INT* ns, float* s, float* z,
               const MKL_INT* ldz, float* work, MKL_INT* iwork, MKL_INT* info ) NOTHROW;
void sbdsvdx( const char* uplo, const char* jobz, const char* range, const MKL_INT* n,
              const float* d, const float* e, const float* vl, const float* vu,
              const MKL_INT* il, const MKL_INT* iu, MKL_INT* ns, float* s, float* z,
              const MKL_INT* ldz, float* work, MKL_INT* iwork, MKL_INT* info ) NOTHROW;
void sbdsvdx_( const char* uplo, const char* jobz, const char* range, const MKL_INT* n,
               const float* d, const float* e, const float* vl, const float* vu,
               const MKL_INT* il, const MKL_INT* iu, MKL_INT* ns, float* s, float* z,
               const MKL_INT* ldz, float* work, MKL_INT* iwork, MKL_INT* info ) NOTHROW;

void CGETRF2( const MKL_INT* m, const MKL_INT* n, MKL_Complex8* a, const MKL_INT* lda,
              MKL_INT* ipiv, MKL_INT* info ) NOTHROW;
void CGETRF2_( const MKL_INT* m, const MKL_INT* n, MKL_Complex8* a, const MKL_INT* lda,
               MKL_INT* ipiv, MKL_INT* info ) NOTHROW;
void cgetrf2( const MKL_INT* m, const MKL_INT* n, MKL_Complex8* a, const MKL_INT* lda,
              MKL_INT* ipiv, MKL_INT* info ) NOTHROW;
void cgetrf2_( const MKL_INT* m, const MKL_INT* n, MKL_Complex8* a, const MKL_INT* lda,
               MKL_INT* ipiv, MKL_INT* info ) NOTHROW;

void DGETRF2( const MKL_INT* m, const MKL_INT* n, double* a, const MKL_INT* lda,
              MKL_INT* ipiv, MKL_INT* info ) NOTHROW;
void DGETRF2_( const MKL_INT* m, const MKL_INT* n, double* a, const MKL_INT* lda,
               MKL_INT* ipiv, MKL_INT* info ) NOTHROW;
void dgetrf2( const MKL_INT* m, const MKL_INT* n, double* a, const MKL_INT* lda,
              MKL_INT* ipiv, MKL_INT* info ) NOTHROW;
void dgetrf2_( const MKL_INT* m, const MKL_INT* n, double* a, const MKL_INT* lda,
               MKL_INT* ipiv, MKL_INT* info ) NOTHROW;

void SGETRF2( const MKL_INT* m, const MKL_INT* n, float* a, const MKL_INT* lda, MKL_INT* ipiv,
              MKL_INT* info ) NOTHROW;
void SGETRF2_( const MKL_INT* m, const MKL_INT* n, float* a, const MKL_INT* lda, MKL_INT* ipiv,
               MKL_INT* info ) NOTHROW;
void sgetrf2( const MKL_INT* m, const MKL_INT* n, float* a, const MKL_INT* lda, MKL_INT* ipiv,
              MKL_INT* info ) NOTHROW;
void sgetrf2_( const MKL_INT* m, const MKL_INT* n, float* a, const MKL_INT* lda, MKL_INT* ipiv,
               MKL_INT* info ) NOTHROW;

void ZGETRF2( const MKL_INT* m, const MKL_INT* n, MKL_Complex16* a, const MKL_INT* lda,
              MKL_INT* ipiv, MKL_INT* info ) NOTHROW;
void ZGETRF2_( const MKL_INT* m, const MKL_INT* n, MKL_Complex16* a, const MKL_INT* lda,
               MKL_INT* ipiv, MKL_INT* info ) NOTHROW;
void zgetrf2( const MKL_INT* m, const MKL_INT* n, MKL_Complex16* a, const MKL_INT* lda,
              MKL_INT* ipiv, MKL_INT* info ) NOTHROW;
void zgetrf2_( const MKL_INT* m, const MKL_INT* n, MKL_Complex16* a, const MKL_INT* lda,
               MKL_INT* ipiv, MKL_INT* info ) NOTHROW;

void CGGEV3( const char* jobvl, const char* jobvr, const MKL_INT* n, MKL_Complex8* a,
             const MKL_INT* lda, MKL_Complex8* b, const MKL_INT* ldb, MKL_Complex8* alpha,
             MKL_Complex8* beta, MKL_Complex8* vl, const MKL_INT* ldvl, MKL_Complex8* vr,
             const MKL_INT* ldvr, MKL_Complex8* work, const MKL_INT* lwork, float* rwork,
             MKL_INT* info ) NOTHROW;
void CGGEV3_( const char* jobvl, const char* jobvr, const MKL_INT* n, MKL_Complex8* a,
              const MKL_INT* lda, MKL_Complex8* b, const MKL_INT* ldb, MKL_Complex8* alpha,
              MKL_Complex8* beta, MKL_Complex8* vl, const MKL_INT* ldvl, MKL_Complex8* vr,
              const MKL_INT* ldvr, MKL_Complex8* work, const MKL_INT* lwork, float* rwork,
              MKL_INT* info ) NOTHROW;
void cggev3( const char* jobvl, const char* jobvr, const MKL_INT* n, MKL_Complex8* a,
             const MKL_INT* lda, MKL_Complex8* b, const MKL_INT* ldb, MKL_Complex8* alpha,
             MKL_Complex8* beta, MKL_Complex8* vl, const MKL_INT* ldvl, MKL_Complex8* vr,
             const MKL_INT* ldvr, MKL_Complex8* work, const MKL_INT* lwork, float* rwork,
             MKL_INT* info ) NOTHROW;
void cggev3_( const char* jobvl, const char* jobvr, const MKL_INT* n, MKL_Complex8* a,
              const MKL_INT* lda, MKL_Complex8* b, const MKL_INT* ldb, MKL_Complex8* alpha,
              MKL_Complex8* beta, MKL_Complex8* vl, const MKL_INT* ldvl, MKL_Complex8* vr,
              const MKL_INT* ldvr, MKL_Complex8* work, const MKL_INT* lwork, float* rwork,
              MKL_INT* info ) NOTHROW;

void ZGGEV3( const char* jobvl, const char* jobvr, const MKL_INT* n, MKL_Complex16* a,
             const MKL_INT* lda, MKL_Complex16* b, const MKL_INT* ldb, MKL_Complex16* alpha,
             MKL_Complex16* beta, MKL_Complex16* vl, const MKL_INT* ldvl, MKL_Complex16* vr,
             const MKL_INT* ldvr, MKL_Complex16* work, const MKL_INT* lwork, double* rwork,
             MKL_INT* info ) NOTHROW;
void ZGGEV3_( const char* jobvl, const char* jobvr, const MKL_INT* n, MKL_Complex16* a,
              const MKL_INT* lda, MKL_Complex16* b, const MKL_INT* ldb, MKL_Complex16* alpha,
              MKL_Complex16* beta, MKL_Complex16* vl, const MKL_INT* ldvl, MKL_Complex16* vr,
              const MKL_INT* ldvr, MKL_Complex16* work, const MKL_INT* lwork, double* rwork,
              MKL_INT* info ) NOTHROW;
void zggev3( const char* jobvl, const char* jobvr, const MKL_INT* n, MKL_Complex16* a,
             const MKL_INT* lda, MKL_Complex16* b, const MKL_INT* ldb, MKL_Complex16* alpha,
             MKL_Complex16* beta, MKL_Complex16* vl, const MKL_INT* ldvl, MKL_Complex16* vr,
             const MKL_INT* ldvr, MKL_Complex16* work, const MKL_INT* lwork, double* rwork,
             MKL_INT* info ) NOTHROW;
void zggev3_( const char* jobvl, const char* jobvr, const MKL_INT* n, MKL_Complex16* a,
              const MKL_INT* lda, MKL_Complex16* b, const MKL_INT* ldb, MKL_Complex16* alpha,
              MKL_Complex16* beta, MKL_Complex16* vl, const MKL_INT* ldvl, MKL_Complex16* vr,
              const MKL_INT* ldvr, MKL_Complex16* work, const MKL_INT* lwork, double* rwork,
              MKL_INT* info ) NOTHROW;

void DGGEV3( const char* jobvl, const char* jobvr, const MKL_INT* n, double* a, const MKL_INT* lda,
             double* b, const MKL_INT* ldb, double* alphar, double* alphai, double* beta,
             double* vl, const MKL_INT* ldvl, double* vr, const MKL_INT* ldvr, double* work,
             const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void DGGEV3_( const char* jobvl, const char* jobvr, const MKL_INT* n, double* a, const MKL_INT* lda,
              double* b, const MKL_INT* ldb, double* alphar, double* alphai, double* beta,
              double* vl, const MKL_INT* ldvl, double* vr, const MKL_INT* ldvr, double* work,
              const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void dggev3( const char* jobvl, const char* jobvr, const MKL_INT* n, double* a, const MKL_INT* lda,
             double* b, const MKL_INT* ldb, double* alphar, double* alphai, double* beta,
             double* vl, const MKL_INT* ldvl, double* vr, const MKL_INT* ldvr, double* work,
             const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void dggev3_( const char* jobvl, const char* jobvr, const MKL_INT* n, double* a, const MKL_INT* lda,
              double* b, const MKL_INT* ldb, double* alphar, double* alphai, double* beta,
              double* vl, const MKL_INT* ldvl, double* vr, const MKL_INT* ldvr, double* work,
              const MKL_INT* lwork, MKL_INT* info ) NOTHROW;

void SGGEV3( const char* jobvl, const char* jobvr, const MKL_INT* n, float* a, const MKL_INT* lda,
             float* b, const MKL_INT* ldb, float* alphar, float* alphai, float* beta,
             float* vl, const MKL_INT* ldvl, float* vr, const MKL_INT* ldvr, float* work,
             const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void SGGEV3_( const char* jobvl, const char* jobvr, const MKL_INT* n, float* a, const MKL_INT* lda,
              float* b, const MKL_INT* ldb, float* alphar, float* alphai, float* beta,
              float* vl, const MKL_INT* ldvl, float* vr, const MKL_INT* ldvr, float* work,
              const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void sggev3( const char* jobvl, const char* jobvr, const MKL_INT* n, float* a, const MKL_INT* lda,
             float* b, const MKL_INT* ldb, float* alphar, float* alphai, float* beta,
             float* vl, const MKL_INT* ldvl, float* vr, const MKL_INT* ldvr, float* work,
             const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void sggev3_( const char* jobvl, const char* jobvr, const MKL_INT* n, float* a, const MKL_INT* lda,
              float* b, const MKL_INT* ldb, float* alphar, float* alphai, float* beta,
              float* vl, const MKL_INT* ldvl, float* vr, const MKL_INT* ldvr, float* work,
              const MKL_INT* lwork, MKL_INT* info ) NOTHROW;

void CUNM22( const char* side, const char* trans, const MKL_INT* m, const MKL_INT* n,
             const MKL_INT* n1, const MKL_INT* n2, const MKL_Complex8* q, const MKL_INT* ldq,
             MKL_Complex8* c, const MKL_INT* ldc, MKL_Complex8* work, const MKL_INT* lwork,
             MKL_INT* info ) NOTHROW;
void CUNM22_( const char* side, const char* trans, const MKL_INT* m, const MKL_INT* n,
              const MKL_INT* n1, const MKL_INT* n2, const MKL_Complex8* q, const MKL_INT* ldq,
              MKL_Complex8* c, const MKL_INT* ldc, MKL_Complex8* work, const MKL_INT* lwork,
              MKL_INT* info ) NOTHROW;
void cunm22( const char* side, const char* trans, const MKL_INT* m, const MKL_INT* n,
             const MKL_INT* n1, const MKL_INT* n2, const MKL_Complex8* q, const MKL_INT* ldq,
             MKL_Complex8* c, const MKL_INT* ldc, MKL_Complex8* work, const MKL_INT* lwork,
             MKL_INT* info ) NOTHROW;
void cunm22_( const char* side, const char* trans, const MKL_INT* m, const MKL_INT* n,
              const MKL_INT* n1, const MKL_INT* n2, const MKL_Complex8* q, const MKL_INT* ldq,
              MKL_Complex8* c, const MKL_INT* ldc, MKL_Complex8* work, const MKL_INT* lwork,
              MKL_INT* info ) NOTHROW;

void ZUNM22( const char* side, const char* trans, const MKL_INT* m, const MKL_INT* n,
             const MKL_INT* n1, const MKL_INT* n2, const MKL_Complex16* q, const MKL_INT* ldq,
             MKL_Complex16* c, const MKL_INT* ldc, MKL_Complex16* work, const MKL_INT* lwork,
             MKL_INT* info ) NOTHROW;
void ZUNM22_( const char* side, const char* trans, const MKL_INT* m, const MKL_INT* n,
              const MKL_INT* n1, const MKL_INT* n2, const MKL_Complex16* q, const MKL_INT* ldq,
              MKL_Complex16* c, const MKL_INT* ldc, MKL_Complex16* work, const MKL_INT* lwork,
              MKL_INT* info ) NOTHROW;
void zunm22( const char* side, const char* trans, const MKL_INT* m, const MKL_INT* n,
             const MKL_INT* n1, const MKL_INT* n2, const MKL_Complex16* q, const MKL_INT* ldq,
             MKL_Complex16* c, const MKL_INT* ldc, MKL_Complex16* work, const MKL_INT* lwork,
             MKL_INT* info ) NOTHROW;
void zunm22_( const char* side, const char* trans, const MKL_INT* m, const MKL_INT* n,
              const MKL_INT* n1, const MKL_INT* n2, const MKL_Complex16* q, const MKL_INT* ldq,
              MKL_Complex16* c, const MKL_INT* ldc, MKL_Complex16* work, const MKL_INT* lwork,
              MKL_INT* info ) NOTHROW;

void CGGHD3( const char* compq, const char* compz, const MKL_INT* n, const MKL_INT* ilo,
             const MKL_INT* ihi, MKL_Complex8* a, const MKL_INT* lda, MKL_Complex8* b,
             const MKL_INT* ldb, MKL_Complex8* q, const MKL_INT* ldq, MKL_Complex8* z,
             const MKL_INT* ldz, MKL_Complex8* work, const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void CGGHD3_( const char* compq, const char* compz, const MKL_INT* n, const MKL_INT* ilo,
              const MKL_INT* ihi, MKL_Complex8* a, const MKL_INT* lda, MKL_Complex8* b,
              const MKL_INT* ldb, MKL_Complex8* q, const MKL_INT* ldq, MKL_Complex8* z,
              const MKL_INT* ldz, MKL_Complex8* work, const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void cgghd3( const char* compq, const char* compz, const MKL_INT* n, const MKL_INT* ilo,
             const MKL_INT* ihi, MKL_Complex8* a, const MKL_INT* lda, MKL_Complex8* b,
             const MKL_INT* ldb, MKL_Complex8* q, const MKL_INT* ldq, MKL_Complex8* z,
             const MKL_INT* ldz, MKL_Complex8* work, const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void cgghd3_( const char* compq, const char* compz, const MKL_INT* n, const MKL_INT* ilo,
              const MKL_INT* ihi, MKL_Complex8* a, const MKL_INT* lda, MKL_Complex8* b,
              const MKL_INT* ldb, MKL_Complex8* q, const MKL_INT* ldq, MKL_Complex8* z,
              const MKL_INT* ldz, MKL_Complex8* work, const MKL_INT* lwork, MKL_INT* info ) NOTHROW;

void DGGHD3( const char* compq, const char* compz, const MKL_INT* n, const MKL_INT* ilo,
             const MKL_INT* ihi, double* a, const MKL_INT* lda, double* b, const MKL_INT* ldb,
             double* q, const MKL_INT* ldq, double* z, const MKL_INT* ldz, double* work,
             const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void DGGHD3_( const char* compq, const char* compz, const MKL_INT* n, const MKL_INT* ilo,
              const MKL_INT* ihi, double* a, const MKL_INT* lda, double* b, const MKL_INT* ldb,
              double* q, const MKL_INT* ldq, double* z, const MKL_INT* ldz, double* work,
              const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void dgghd3( const char* compq, const char* compz, const MKL_INT* n, const MKL_INT* ilo,
             const MKL_INT* ihi, double* a, const MKL_INT* lda, double* b, const MKL_INT* ldb,
             double* q, const MKL_INT* ldq, double* z, const MKL_INT* ldz, double* work,
             const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void dgghd3_( const char* compq, const char* compz, const MKL_INT* n, const MKL_INT* ilo,
              const MKL_INT* ihi, double* a, const MKL_INT* lda, double* b, const MKL_INT* ldb,
              double* q, const MKL_INT* ldq, double* z, const MKL_INT* ldz, double* work,
              const MKL_INT* lwork, MKL_INT* info ) NOTHROW;

void SGGHD3( const char* compq, const char* compz, const MKL_INT* n, const MKL_INT* ilo,
             const MKL_INT* ihi, float* a, const MKL_INT* lda, float* b, const MKL_INT* ldb,
             float* q, const MKL_INT* ldq, float* z, const MKL_INT* ldz, float* work,
             const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void SGGHD3_( const char* compq, const char* compz, const MKL_INT* n, const MKL_INT* ilo,
              const MKL_INT* ihi, float* a, const MKL_INT* lda, float* b, const MKL_INT* ldb,
              float* q, const MKL_INT* ldq, float* z, const MKL_INT* ldz, float* work,
              const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void sgghd3( const char* compq, const char* compz, const MKL_INT* n, const MKL_INT* ilo,
             const MKL_INT* ihi, float* a, const MKL_INT* lda, float* b, const MKL_INT* ldb,
             float* q, const MKL_INT* ldq, float* z, const MKL_INT* ldz, float* work,
             const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void sgghd3_( const char* compq, const char* compz, const MKL_INT* n, const MKL_INT* ilo,
              const MKL_INT* ihi, float* a, const MKL_INT* lda, float* b, const MKL_INT* ldb,
              float* q, const MKL_INT* ldq, float* z, const MKL_INT* ldz, float* work,
              const MKL_INT* lwork, MKL_INT* info ) NOTHROW;

void ZGGHD3( const char* compq, const char* compz, const MKL_INT* n, const MKL_INT* ilo,
             const MKL_INT* ihi, MKL_Complex16* a, const MKL_INT* lda, MKL_Complex16* b,
             const MKL_INT* ldb, MKL_Complex16* q, const MKL_INT* ldq, MKL_Complex16* z,
             const MKL_INT* ldz, MKL_Complex16* work, const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void ZGGHD3_( const char* compq, const char* compz, const MKL_INT* n, const MKL_INT* ilo,
              const MKL_INT* ihi, MKL_Complex16* a, const MKL_INT* lda, MKL_Complex16* b,
              const MKL_INT* ldb, MKL_Complex16* q, const MKL_INT* ldq, MKL_Complex16* z,
              const MKL_INT* ldz, MKL_Complex16* work, const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void zgghd3( const char* compq, const char* compz, const MKL_INT* n, const MKL_INT* ilo,
             const MKL_INT* ihi, MKL_Complex16* a, const MKL_INT* lda, MKL_Complex16* b,
             const MKL_INT* ldb, MKL_Complex16* q, const MKL_INT* ldq, MKL_Complex16* z,
             const MKL_INT* ldz, MKL_Complex16* work, const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void zgghd3_( const char* compq, const char* compz, const MKL_INT* n, const MKL_INT* ilo,
              const MKL_INT* ihi, MKL_Complex16* a, const MKL_INT* lda, MKL_Complex16* b,
              const MKL_INT* ldb, MKL_Complex16* q, const MKL_INT* ldq, MKL_Complex16* z,
              const MKL_INT* ldz, MKL_Complex16* work, const MKL_INT* lwork, MKL_INT* info ) NOTHROW;

void CGGES3( const char* jobvsl, const char* jobvsr, const char* sort, MKL_C_SELECT_FUNCTION_2 selctg,
             const MKL_INT* n, MKL_Complex8* a, const MKL_INT* lda, MKL_Complex8* b,
             const MKL_INT* ldb, MKL_INT* sdim, MKL_Complex8* alpha, MKL_Complex8* beta,
             MKL_Complex8* vsl, const MKL_INT* ldvsl, MKL_Complex8* vsr, const MKL_INT* ldvsr,
             MKL_Complex8* work, const MKL_INT* lwork, float* rwork, MKL_INT* bwork,
             MKL_INT* info ) NOTHROW;
void CGGES3_( const char* jobvsl, const char* jobvsr, const char* sort, MKL_C_SELECT_FUNCTION_2 selctg,
              const MKL_INT* n, MKL_Complex8* a, const MKL_INT* lda, MKL_Complex8* b,
              const MKL_INT* ldb, MKL_INT* sdim, MKL_Complex8* alpha, MKL_Complex8* beta,
              MKL_Complex8* vsl, const MKL_INT* ldvsl, MKL_Complex8* vsr, const MKL_INT* ldvsr,
              MKL_Complex8* work, const MKL_INT* lwork, float* rwork, MKL_INT* bwork,
              MKL_INT* info ) NOTHROW;
void cgges3( const char* jobvsl, const char* jobvsr, const char* sort, MKL_C_SELECT_FUNCTION_2 selctg,
             const MKL_INT* n, MKL_Complex8* a, const MKL_INT* lda, MKL_Complex8* b,
             const MKL_INT* ldb, MKL_INT* sdim, MKL_Complex8* alpha, MKL_Complex8* beta,
             MKL_Complex8* vsl, const MKL_INT* ldvsl, MKL_Complex8* vsr, const MKL_INT* ldvsr,
             MKL_Complex8* work, const MKL_INT* lwork, float* rwork, MKL_INT* bwork,
             MKL_INT* info ) NOTHROW;
void cgges3_( const char* jobvsl, const char* jobvsr, const char* sort, MKL_C_SELECT_FUNCTION_2 selctg,
              const MKL_INT* n, MKL_Complex8* a, const MKL_INT* lda, MKL_Complex8* b,
              const MKL_INT* ldb, MKL_INT* sdim, MKL_Complex8* alpha, MKL_Complex8* beta,
              MKL_Complex8* vsl, const MKL_INT* ldvsl, MKL_Complex8* vsr, const MKL_INT* ldvsr,
              MKL_Complex8* work, const MKL_INT* lwork, float* rwork, MKL_INT* bwork,
              MKL_INT* info ) NOTHROW;

void ZGGES3( const char* jobvsl, const char* jobvsr, const char* sort, MKL_Z_SELECT_FUNCTION_2 selctg,
             const MKL_INT* n, MKL_Complex16* a, const MKL_INT* lda, MKL_Complex16* b,
             const MKL_INT* ldb, MKL_INT* sdim, MKL_Complex16* alpha, MKL_Complex16* beta,
             MKL_Complex16* vsl, const MKL_INT* ldvsl, MKL_Complex16* vsr, const MKL_INT* ldvsr,
             MKL_Complex16* work, const MKL_INT* lwork, double* rwork, MKL_INT* bwork,
             MKL_INT* info ) NOTHROW;
void ZGGES3_( const char* jobvsl, const char* jobvsr, const char* sort, MKL_Z_SELECT_FUNCTION_2 selctg,
              const MKL_INT* n, MKL_Complex16* a, const MKL_INT* lda, MKL_Complex16* b,
              const MKL_INT* ldb, MKL_INT* sdim, MKL_Complex16* alpha, MKL_Complex16* beta,
              MKL_Complex16* vsl, const MKL_INT* ldvsl, MKL_Complex16* vsr, const MKL_INT* ldvsr,
              MKL_Complex16* work, const MKL_INT* lwork, double* rwork, MKL_INT* bwork,
              MKL_INT* info ) NOTHROW;
void zgges3( const char* jobvsl, const char* jobvsr, const char* sort, MKL_Z_SELECT_FUNCTION_2 selctg,
             const MKL_INT* n, MKL_Complex16* a, const MKL_INT* lda, MKL_Complex16* b,
             const MKL_INT* ldb, MKL_INT* sdim, MKL_Complex16* alpha, MKL_Complex16* beta,
             MKL_Complex16* vsl, const MKL_INT* ldvsl, MKL_Complex16* vsr, const MKL_INT* ldvsr,
             MKL_Complex16* work, const MKL_INT* lwork, double* rwork, MKL_INT* bwork,
             MKL_INT* info ) NOTHROW;
void zgges3_( const char* jobvsl, const char* jobvsr, const char* sort, MKL_Z_SELECT_FUNCTION_2 selctg,
              const MKL_INT* n, MKL_Complex16* a, const MKL_INT* lda, MKL_Complex16* b,
              const MKL_INT* ldb, MKL_INT* sdim, MKL_Complex16* alpha, MKL_Complex16* beta,
              MKL_Complex16* vsl, const MKL_INT* ldvsl, MKL_Complex16* vsr, const MKL_INT* ldvsr,
              MKL_Complex16* work, const MKL_INT* lwork, double* rwork, MKL_INT* bwork,
              MKL_INT* info ) NOTHROW;

void DGGES3( const char* jobvsl, const char* jobvsr, const char* sort, MKL_D_SELECT_FUNCTION_3 selctg,
             const MKL_INT* n, double* a, const MKL_INT* lda, double* b, const MKL_INT* ldb,
             MKL_INT* sdim, double* alphar, double* alphai, double* beta, double* vsl,
             const MKL_INT* ldvsl, double* vsr, const MKL_INT* ldvsr, double* work,
             const MKL_INT* lwork, MKL_INT* bwork, MKL_INT* info ) NOTHROW;
void DGGES3_( const char* jobvsl, const char* jobvsr, const char* sort, MKL_D_SELECT_FUNCTION_3 selctg,
              const MKL_INT* n, double* a, const MKL_INT* lda, double* b, const MKL_INT* ldb,
              MKL_INT* sdim, double* alphar, double* alphai, double* beta, double* vsl,
              const MKL_INT* ldvsl, double* vsr, const MKL_INT* ldvsr, double* work,
              const MKL_INT* lwork, MKL_INT* bwork, MKL_INT* info ) NOTHROW;
void dgges3( const char* jobvsl, const char* jobvsr, const char* sort, MKL_D_SELECT_FUNCTION_3 selctg,
             const MKL_INT* n, double* a, const MKL_INT* lda, double* b, const MKL_INT* ldb,
             MKL_INT* sdim, double* alphar, double* alphai, double* beta, double* vsl,
             const MKL_INT* ldvsl, double* vsr, const MKL_INT* ldvsr, double* work,
             const MKL_INT* lwork, MKL_INT* bwork, MKL_INT* info ) NOTHROW;
void dgges3_( const char* jobvsl, const char* jobvsr, const char* sort, MKL_D_SELECT_FUNCTION_3 selctg,
              const MKL_INT* n, double* a, const MKL_INT* lda, double* b, const MKL_INT* ldb,
              MKL_INT* sdim, double* alphar, double* alphai, double* beta, double* vsl,
              const MKL_INT* ldvsl, double* vsr, const MKL_INT* ldvsr, double* work,
              const MKL_INT* lwork, MKL_INT* bwork, MKL_INT* info ) NOTHROW;

void SGGES3( const char* jobvsl, const char* jobvsr, const char* sort, MKL_S_SELECT_FUNCTION_3 selctg,
             const MKL_INT* n, float* a, const MKL_INT* lda, float* b, const MKL_INT* ldb,
             MKL_INT* sdim, float* alphar, float* alphai, float* beta, float* vsl,
             const MKL_INT* ldvsl, float* vsr, const MKL_INT* ldvsr, float* work,
             const MKL_INT* lwork, MKL_INT* bwork, MKL_INT* info ) NOTHROW;
void SGGES3_( const char* jobvsl, const char* jobvsr, const char* sort, MKL_S_SELECT_FUNCTION_3 selctg,
              const MKL_INT* n, float* a, const MKL_INT* lda, float* b, const MKL_INT* ldb,
              MKL_INT* sdim, float* alphar, float* alphai, float* beta, float* vsl,
              const MKL_INT* ldvsl, float* vsr, const MKL_INT* ldvsr, float* work,
              const MKL_INT* lwork, MKL_INT* bwork, MKL_INT* info ) NOTHROW;
void sgges3( const char* jobvsl, const char* jobvsr, const char* sort, MKL_S_SELECT_FUNCTION_3 selctg,
             const MKL_INT* n, float* a, const MKL_INT* lda, float* b, const MKL_INT* ldb,
             MKL_INT* sdim, float* alphar, float* alphai, float* beta, float* vsl,
             const MKL_INT* ldvsl, float* vsr, const MKL_INT* ldvsr, float* work,
             const MKL_INT* lwork, MKL_INT* bwork, MKL_INT* info ) NOTHROW;
void sgges3_( const char* jobvsl, const char* jobvsr, const char* sort, MKL_S_SELECT_FUNCTION_3 selctg,
              const MKL_INT* n, float* a, const MKL_INT* lda, float* b, const MKL_INT* ldb,
              MKL_INT* sdim, float* alphar, float* alphai, float* beta, float* vsl,
              const MKL_INT* ldvsl, float* vsr, const MKL_INT* ldvsr, float* work,
              const MKL_INT* lwork, MKL_INT* bwork, MKL_INT* info ) NOTHROW;

void DORM22( const char* side, const char* trans, const MKL_INT* m, const MKL_INT* n,
             const MKL_INT* n1, const MKL_INT* n2, const double* q, const MKL_INT* ldq,
             double* c, const MKL_INT* ldc, double* work, const MKL_INT* lwork,
             MKL_INT* info ) NOTHROW;
void DORM22_( const char* side, const char* trans, const MKL_INT* m, const MKL_INT* n,
              const MKL_INT* n1, const MKL_INT* n2, const double* q, const MKL_INT* ldq,
              double* c, const MKL_INT* ldc, double* work, const MKL_INT* lwork,
              MKL_INT* info ) NOTHROW;
void dorm22( const char* side, const char* trans, const MKL_INT* m, const MKL_INT* n,
             const MKL_INT* n1, const MKL_INT* n2, const double* q, const MKL_INT* ldq,
             double* c, const MKL_INT* ldc, double* work, const MKL_INT* lwork,
             MKL_INT* info ) NOTHROW;
void dorm22_( const char* side, const char* trans, const MKL_INT* m, const MKL_INT* n,
              const MKL_INT* n1, const MKL_INT* n2, const double* q, const MKL_INT* ldq,
              double* c, const MKL_INT* ldc, double* work, const MKL_INT* lwork,
              MKL_INT* info ) NOTHROW;

void SORM22( const char* side, const char* trans, const MKL_INT* m, const MKL_INT* n,
             const MKL_INT* n1, const MKL_INT* n2, const float* q, const MKL_INT* ldq,
             float* c, const MKL_INT* ldc, float* work, const MKL_INT* lwork,
             MKL_INT* info ) NOTHROW;
void SORM22_( const char* side, const char* trans, const MKL_INT* m, const MKL_INT* n,
              const MKL_INT* n1, const MKL_INT* n2, const float* q, const MKL_INT* ldq,
              float* c, const MKL_INT* ldc, float* work, const MKL_INT* lwork,
              MKL_INT* info ) NOTHROW;
void sorm22( const char* side, const char* trans, const MKL_INT* m, const MKL_INT* n,
             const MKL_INT* n1, const MKL_INT* n2, const float* q, const MKL_INT* ldq,
             float* c, const MKL_INT* ldc, float* work, const MKL_INT* lwork,
             MKL_INT* info ) NOTHROW;
void sorm22_( const char* side, const char* trans, const MKL_INT* m, const MKL_INT* n,
              const MKL_INT* n1, const MKL_INT* n2, const float* q, const MKL_INT* ldq,
              float* c, const MKL_INT* ldc, float* work, const MKL_INT* lwork,
              MKL_INT* info ) NOTHROW;


/* LAPACK 3.5.0 routines */

void CHECON_ROOK( const char* uplo, const MKL_INT* n, const MKL_Complex8* a,
                  const MKL_INT* lda, const MKL_INT* ipiv, const float* anorm,
                  float* rcond, MKL_Complex8* work, MKL_INT* info ) NOTHROW;
void CHECON_ROOK_( const char* uplo, const MKL_INT* n, const MKL_Complex8* a,
                   const MKL_INT* lda, const MKL_INT* ipiv, const float* anorm,
                   float* rcond, MKL_Complex8* work, MKL_INT* info ) NOTHROW;
void checon_rook( const char* uplo, const MKL_INT* n, const MKL_Complex8* a,
                  const MKL_INT* lda, const MKL_INT* ipiv, const float* anorm,
                  float* rcond, MKL_Complex8* work, MKL_INT* info ) NOTHROW;
void checon_rook_( const char* uplo, const MKL_INT* n, const MKL_Complex8* a,
                   const MKL_INT* lda, const MKL_INT* ipiv, const float* anorm,
                   float* rcond, MKL_Complex8* work, MKL_INT* info ) NOTHROW;

void CHESV_ROOK( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs,
                 MKL_Complex8* a, const MKL_INT* lda, MKL_INT* ipiv,
                 MKL_Complex8* b, const MKL_INT* ldb, MKL_Complex8* work,
                 const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void CHESV_ROOK_( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs,
                  MKL_Complex8* a, const MKL_INT* lda, MKL_INT* ipiv,
                  MKL_Complex8* b, const MKL_INT* ldb, MKL_Complex8* work,
                  const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void chesv_rook( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs,
                 MKL_Complex8* a, const MKL_INT* lda, MKL_INT* ipiv,
                 MKL_Complex8* b, const MKL_INT* ldb, MKL_Complex8* work,
                 const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void chesv_rook_( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs,
                  MKL_Complex8* a, const MKL_INT* lda, MKL_INT* ipiv,
                  MKL_Complex8* b, const MKL_INT* ldb, MKL_Complex8* work,
                  const MKL_INT* lwork, MKL_INT* info ) NOTHROW;

void CHETF2_ROOK( const char* uplo, const MKL_INT* n, MKL_Complex8* a,
                  const MKL_INT* lda, MKL_INT* ipiv, MKL_INT* info ) NOTHROW;
void CHETF2_ROOK_( const char* uplo, const MKL_INT* n, MKL_Complex8* a,
                   const MKL_INT* lda, MKL_INT* ipiv, MKL_INT* info ) NOTHROW;
void chetf2_rook( const char* uplo, const MKL_INT* n, MKL_Complex8* a,
                  const MKL_INT* lda, MKL_INT* ipiv, MKL_INT* info ) NOTHROW;
void chetf2_rook_( const char* uplo, const MKL_INT* n, MKL_Complex8* a,
                   const MKL_INT* lda, MKL_INT* ipiv, MKL_INT* info ) NOTHROW;

void CHETRF_ROOK( const char* uplo, const MKL_INT* n, MKL_Complex8* a,
                  const MKL_INT* lda, MKL_INT* ipiv, MKL_Complex8* work,
                  const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void CHETRF_ROOK_( const char* uplo, const MKL_INT* n, MKL_Complex8* a,
                   const MKL_INT* lda, MKL_INT* ipiv, MKL_Complex8* work,
                   const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void chetrf_rook( const char* uplo, const MKL_INT* n, MKL_Complex8* a,
                  const MKL_INT* lda, MKL_INT* ipiv, MKL_Complex8* work,
                  const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void chetrf_rook_( const char* uplo, const MKL_INT* n, MKL_Complex8* a,
                   const MKL_INT* lda, MKL_INT* ipiv, MKL_Complex8* work,
                   const MKL_INT* lwork, MKL_INT* info ) NOTHROW;

void CHETRI_ROOK( const char* uplo, const MKL_INT* n, MKL_Complex8* a,
                  const MKL_INT* lda, const MKL_INT* ipiv, MKL_Complex8* work,
                  MKL_INT* info ) NOTHROW;
void CHETRI_ROOK_( const char* uplo, const MKL_INT* n, MKL_Complex8* a,
                   const MKL_INT* lda, const MKL_INT* ipiv, MKL_Complex8* work,
                   MKL_INT* info ) NOTHROW;
void chetri_rook( const char* uplo, const MKL_INT* n, MKL_Complex8* a,
                  const MKL_INT* lda, const MKL_INT* ipiv, MKL_Complex8* work,
                  MKL_INT* info ) NOTHROW;
void chetri_rook_( const char* uplo, const MKL_INT* n, MKL_Complex8* a,
                   const MKL_INT* lda, const MKL_INT* ipiv, MKL_Complex8* work,
                   MKL_INT* info ) NOTHROW;

void CHETRS_ROOK( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs,
                  const MKL_Complex8* a, const MKL_INT* lda, const MKL_INT* ipiv,
                  MKL_Complex8* b, const MKL_INT* ldb, MKL_INT* info ) NOTHROW;
void CHETRS_ROOK_( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs,
                    const MKL_Complex8* a, const MKL_INT* lda, const MKL_INT* ipiv,
                    MKL_Complex8* b, const MKL_INT* ldb, MKL_INT* info ) NOTHROW;
void chetrs_rook( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs,
                    const MKL_Complex8* a, const MKL_INT* lda, const MKL_INT* ipiv,
                    MKL_Complex8* b, const MKL_INT* ldb, MKL_INT* info ) NOTHROW;
void chetrs_rook_( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs,
                   const MKL_Complex8* a, const MKL_INT* lda, const MKL_INT* ipiv,
                   MKL_Complex8* b, const MKL_INT* ldb, MKL_INT* info ) NOTHROW;

void CLAHEF_ROOK( const char* uplo, const MKL_INT* n, const MKL_INT* nb,
                  MKL_INT* kb, MKL_Complex8* a, const MKL_INT* lda, MKL_INT* ipiv,
                  MKL_Complex8* w, const MKL_INT* ldw, MKL_INT* info ) NOTHROW;
void CLAHEF_ROOK_( const char* uplo, const MKL_INT* n, const MKL_INT* nb,
                   MKL_INT* kb, MKL_Complex8* a, const MKL_INT* lda, MKL_INT* ipiv,
                   MKL_Complex8* w, const MKL_INT* ldw, MKL_INT* info ) NOTHROW;
void clahef_rook( const char* uplo, const MKL_INT* n, const MKL_INT* nb,
                  MKL_INT* kb, MKL_Complex8* a, const MKL_INT* lda, MKL_INT* ipiv,
                  MKL_Complex8* w, const MKL_INT* ldw, MKL_INT* info ) NOTHROW;
void clahef_rook_( const char* uplo, const MKL_INT* n, const MKL_INT* nb,
                   MKL_INT* kb, MKL_Complex8* a, const MKL_INT* lda, MKL_INT* ipiv,
                   MKL_Complex8* w, const MKL_INT* ldw, MKL_INT* info ) NOTHROW;

void CLASYF_ROOK( const char* uplo, const MKL_INT* n, const MKL_INT* nb,
                  MKL_INT* kb, MKL_Complex8* a, const MKL_INT* lda, MKL_INT* ipiv,
                  MKL_Complex8* w, const MKL_INT* ldw, MKL_INT* info ) NOTHROW;
void CLASYF_ROOK_( const char* uplo, const MKL_INT* n, const MKL_INT* nb,
                   MKL_INT* kb, MKL_Complex8* a, const MKL_INT* lda, MKL_INT* ipiv,
                   MKL_Complex8* w, const MKL_INT* ldw, MKL_INT* info ) NOTHROW;
void clasyf_rook( const char* uplo, const MKL_INT* n, const MKL_INT* nb,
                  MKL_INT* kb, MKL_Complex8* a, const MKL_INT* lda, MKL_INT* ipiv,
                  MKL_Complex8* w, const MKL_INT* ldw, MKL_INT* info ) NOTHROW;
void clasyf_rook_( const char* uplo, const MKL_INT* n, const MKL_INT* nb,
                   MKL_INT* kb, MKL_Complex8* a, const MKL_INT* lda, MKL_INT* ipiv,
                   MKL_Complex8* w, const MKL_INT* ldw, MKL_INT* info ) NOTHROW;

void CSYCON_ROOK( const char* uplo, const MKL_INT* n, const MKL_Complex8* a,
                  const MKL_INT* lda, const MKL_INT* ipiv, const float* anorm,
                  float* rcond, MKL_Complex8* work, MKL_INT* info ) NOTHROW;
void CSYCON_ROOK_( const char* uplo, const MKL_INT* n, const MKL_Complex8* a,
                   const MKL_INT* lda, const MKL_INT* ipiv, const float* anorm,
                   float* rcond, MKL_Complex8* work, MKL_INT* info ) NOTHROW;
void csycon_rook( const char* uplo, const MKL_INT* n, const MKL_Complex8* a,
                  const MKL_INT* lda, const MKL_INT* ipiv, const float* anorm,
                  float* rcond, MKL_Complex8* work, MKL_INT* info ) NOTHROW;
void csycon_rook_( const char* uplo, const MKL_INT* n, const MKL_Complex8* a,
                   const MKL_INT* lda, const MKL_INT* ipiv, const float* anorm,
                   float* rcond, MKL_Complex8* work, MKL_INT* info ) NOTHROW;

void CSYSV_ROOK( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs,
                 MKL_Complex8* a, const MKL_INT* lda, MKL_INT* ipiv,
                 MKL_Complex8* b, const MKL_INT* ldb, MKL_Complex8* work,
                 const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void CSYSV_ROOK_( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs,
                  MKL_Complex8* a, const MKL_INT* lda, MKL_INT* ipiv,
                  MKL_Complex8* b, const MKL_INT* ldb, MKL_Complex8* work,
                  const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void csysv_rook( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs,
                 MKL_Complex8* a, const MKL_INT* lda, MKL_INT* ipiv,
                 MKL_Complex8* b, const MKL_INT* ldb, MKL_Complex8* work,
                 const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void csysv_rook_( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs,
                  MKL_Complex8* a, const MKL_INT* lda, MKL_INT* ipiv,
                  MKL_Complex8* b, const MKL_INT* ldb, MKL_Complex8* work,
                  const MKL_INT* lwork, MKL_INT* info ) NOTHROW;

void CSYTF2_ROOK( const char* uplo, const MKL_INT* n, MKL_Complex8* a,
                  const MKL_INT* lda, MKL_INT* ipiv, MKL_INT* info ) NOTHROW;
void CSYTF2_ROOK_( const char* uplo, const MKL_INT* n, MKL_Complex8* a,
                   const MKL_INT* lda, MKL_INT* ipiv, MKL_INT* info ) NOTHROW;
void csytf2_rook( const char* uplo, const MKL_INT* n, MKL_Complex8* a,
                  const MKL_INT* lda, MKL_INT* ipiv, MKL_INT* info ) NOTHROW;
void csytf2_rook_( const char* uplo, const MKL_INT* n, MKL_Complex8* a,
                   const MKL_INT* lda, MKL_INT* ipiv, MKL_INT* info ) NOTHROW;

void CSYTRF_ROOK( const char* uplo, const MKL_INT* n, MKL_Complex8* a,
                  const MKL_INT* lda, MKL_INT* ipiv, MKL_Complex8* work,
                  const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void CSYTRF_ROOK_( const char* uplo, const MKL_INT* n, MKL_Complex8* a,
                   const MKL_INT* lda, MKL_INT* ipiv, MKL_Complex8* work,
                   const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void csytrf_rook( const char* uplo, const MKL_INT* n, MKL_Complex8* a,
                  const MKL_INT* lda, MKL_INT* ipiv, MKL_Complex8* work,
                  const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void csytrf_rook_( const char* uplo, const MKL_INT* n, MKL_Complex8* a,
                   const MKL_INT* lda, MKL_INT* ipiv, MKL_Complex8* work,
                   const MKL_INT* lwork, MKL_INT* info ) NOTHROW;

void CSYTRI_ROOK( const char* uplo, const MKL_INT* n, MKL_Complex8* a,
                  const MKL_INT* lda, const MKL_INT* ipiv, MKL_Complex8* work,
                  MKL_INT* info ) NOTHROW;
void CSYTRI_ROOK_( const char* uplo, const MKL_INT* n, MKL_Complex8* a,
                   const MKL_INT* lda, const MKL_INT* ipiv, MKL_Complex8* work,
                   MKL_INT* info ) NOTHROW;
void csytri_rook( const char* uplo, const MKL_INT* n, MKL_Complex8* a,
                  const MKL_INT* lda, const MKL_INT* ipiv, MKL_Complex8* work,
                  MKL_INT* info ) NOTHROW;
void csytri_rook_( const char* uplo, const MKL_INT* n, MKL_Complex8* a,
                   const MKL_INT* lda, const MKL_INT* ipiv, MKL_Complex8* work,
                   MKL_INT* info ) NOTHROW;

void CSYTRS_ROOK( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs,
                  const MKL_Complex8* a, const MKL_INT* lda, const MKL_INT* ipiv,
                  MKL_Complex8* b, const MKL_INT* ldb, MKL_INT* info ) NOTHROW;
void CSYTRS_ROOK_( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs,
                   const MKL_Complex8* a, const MKL_INT* lda, const MKL_INT* ipiv,
                   MKL_Complex8* b, const MKL_INT* ldb, MKL_INT* info ) NOTHROW;
void csytrs_rook( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs,
                  const MKL_Complex8* a, const MKL_INT* lda, const MKL_INT* ipiv,
                  MKL_Complex8* b, const MKL_INT* ldb, MKL_INT* info ) NOTHROW;
void csytrs_rook_( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs,
                   const MKL_Complex8* a, const MKL_INT* lda, const MKL_INT* ipiv,
                   MKL_Complex8* b, const MKL_INT* ldb, MKL_INT* info ) NOTHROW;

void DLASYF_ROOK( const char* uplo, const MKL_INT* n, const MKL_INT* nb,
                  MKL_INT* kb, double* a, const MKL_INT* lda, MKL_INT* ipiv,
                  double* w, const MKL_INT* ldw, MKL_INT* info ) NOTHROW;
void DLASYF_ROOK_( const char* uplo, const MKL_INT* n, const MKL_INT* nb,
                   MKL_INT* kb, double* a, const MKL_INT* lda, MKL_INT* ipiv,
                   double* w, const MKL_INT* ldw, MKL_INT* info ) NOTHROW;
void dlasyf_rook( const char* uplo, const MKL_INT* n, const MKL_INT* nb,
                  MKL_INT* kb, double* a, const MKL_INT* lda, MKL_INT* ipiv,
                  double* w, const MKL_INT* ldw, MKL_INT* info ) NOTHROW;
void dlasyf_rook_( const char* uplo, const MKL_INT* n, const MKL_INT* nb,
                   MKL_INT* kb, double* a, const MKL_INT* lda, MKL_INT* ipiv,
                   double* w, const MKL_INT* ldw, MKL_INT* info ) NOTHROW;

void DSYCON_ROOK( const char* uplo, const MKL_INT* n, const double* a,
                  const MKL_INT* lda, const MKL_INT* ipiv, const double* anorm,
                  double* rcond, double* work, MKL_INT* iwork, MKL_INT* info ) NOTHROW;
void DSYCON_ROOK_( const char* uplo, const MKL_INT* n, const double* a,
                   const MKL_INT* lda, const MKL_INT* ipiv, const double* anorm,
                   double* rcond, double* work, MKL_INT* iwork, MKL_INT* info ) NOTHROW;
void dsycon_rook( const char* uplo, const MKL_INT* n, const double* a,
                  const MKL_INT* lda, const MKL_INT* ipiv, const double* anorm,
                  double* rcond, double* work, MKL_INT* iwork, MKL_INT* info ) NOTHROW;
void dsycon_rook_( const char* uplo, const MKL_INT* n, const double* a,
                   const MKL_INT* lda, const MKL_INT* ipiv, const double* anorm,
                   double* rcond, double* work, MKL_INT* iwork, MKL_INT* info ) NOTHROW;

void DSYSV_ROOK( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs, double* a,
                 const MKL_INT* lda, MKL_INT* ipiv, double* b, const MKL_INT* ldb,
                 double* work, const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void DSYSV_ROOK_( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs,
                  double* a, const MKL_INT* lda, MKL_INT* ipiv, double* b,
                  const MKL_INT* ldb, double* work, const MKL_INT* lwork,
                  MKL_INT* info ) NOTHROW;
void dsysv_rook( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs, double* a,
                 const MKL_INT* lda, MKL_INT* ipiv, double* b, const MKL_INT* ldb,
                 double* work, const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void dsysv_rook_( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs,
                  double* a, const MKL_INT* lda, MKL_INT* ipiv, double* b,
                  const MKL_INT* ldb, double* work, const MKL_INT* lwork,
                  MKL_INT* info ) NOTHROW;

void DSYTF2_ROOK( const char* uplo, const MKL_INT* n, double* a, const MKL_INT* lda,
                  MKL_INT* ipiv, MKL_INT* info ) NOTHROW;
void DSYTF2_ROOK_( const char* uplo, const MKL_INT* n, double* a,
                   const MKL_INT* lda, MKL_INT* ipiv, MKL_INT* info ) NOTHROW;
void dsytf2_rook( const char* uplo, const MKL_INT* n, double* a, const MKL_INT* lda,
                  MKL_INT* ipiv, MKL_INT* info ) NOTHROW;
void dsytf2_rook_( const char* uplo, const MKL_INT* n, double* a,
                   const MKL_INT* lda, MKL_INT* ipiv, MKL_INT* info ) NOTHROW;

void DSYTRF_ROOK( const char* uplo, const MKL_INT* n, double* a, const MKL_INT* lda,
                  MKL_INT* ipiv, double* work, const MKL_INT* lwork,
                  MKL_INT* info ) NOTHROW;
void DSYTRF_ROOK_( const char* uplo, const MKL_INT* n, double* a,
                   const MKL_INT* lda, MKL_INT* ipiv, double* work,
                   const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void dsytrf_rook( const char* uplo, const MKL_INT* n, double* a, const MKL_INT* lda,
                  MKL_INT* ipiv, double* work, const MKL_INT* lwork,
                  MKL_INT* info ) NOTHROW;
void dsytrf_rook_( const char* uplo, const MKL_INT* n, double* a,
                  const MKL_INT* lda, MKL_INT* ipiv, double* work,
                  const MKL_INT* lwork, MKL_INT* info ) NOTHROW;

void DSYTRI_ROOK( const char* uplo, const MKL_INT* n, double* a, const MKL_INT* lda,
                  const MKL_INT* ipiv, double* work, MKL_INT* info ) NOTHROW;
void DSYTRI_ROOK_( const char* uplo, const MKL_INT* n, double* a,
                   const MKL_INT* lda, const MKL_INT* ipiv, double* work,
                   MKL_INT* info ) NOTHROW;
void dsytri_rook( const char* uplo, const MKL_INT* n, double* a, const MKL_INT* lda,
                  const MKL_INT* ipiv, double* work, MKL_INT* info ) NOTHROW;
void dsytri_rook_( const char* uplo, const MKL_INT* n, double* a,
                   const MKL_INT* lda, const MKL_INT* ipiv, double* work,
                   MKL_INT* info ) NOTHROW;

void DSYTRS_ROOK( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs,
                  const double* a, const MKL_INT* lda, const MKL_INT* ipiv,
                  double* b, const MKL_INT* ldb, MKL_INT* info ) NOTHROW;
void DSYTRS_ROOK_( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs,
                   const double* a, const MKL_INT* lda, const MKL_INT* ipiv,
                   double* b, const MKL_INT* ldb, MKL_INT* info ) NOTHROW;
void dsytrs_rook( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs,
                  const double* a, const MKL_INT* lda, const MKL_INT* ipiv,
                  double* b, const MKL_INT* ldb, MKL_INT* info ) NOTHROW;
void dsytrs_rook_( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs,
                   const double* a, const MKL_INT* lda, const MKL_INT* ipiv,
                   double* b, const MKL_INT* ldb, MKL_INT* info ) NOTHROW;

void SLASYF_ROOK( const char* uplo, const MKL_INT* n, const MKL_INT* nb,
                  MKL_INT* kb, float* a, const MKL_INT* lda, MKL_INT* ipiv,
                  float* w, const MKL_INT* ldw, MKL_INT* info ) NOTHROW;
void SLASYF_ROOK_( const char* uplo, const MKL_INT* n, const MKL_INT* nb,
                   MKL_INT* kb, float* a, const MKL_INT* lda, MKL_INT* ipiv,
                   float* w, const MKL_INT* ldw, MKL_INT* info ) NOTHROW;
void slasyf_rook( const char* uplo, const MKL_INT* n, const MKL_INT* nb,
                  MKL_INT* kb, float* a, const MKL_INT* lda, MKL_INT* ipiv,
                  float* w, const MKL_INT* ldw, MKL_INT* info ) NOTHROW;
void slasyf_rook_( const char* uplo, const MKL_INT* n, const MKL_INT* nb,
                   MKL_INT* kb, float* a, const MKL_INT* lda, MKL_INT* ipiv,
                   float* w, const MKL_INT* ldw, MKL_INT* info ) NOTHROW;

void SSYCON_ROOK( const char* uplo, const MKL_INT* n, const float* a,
                  const MKL_INT* lda, const MKL_INT* ipiv, const float* anorm,
                  float* rcond, float* work, MKL_INT* iwork, MKL_INT* info ) NOTHROW;
void SSYCON_ROOK_( const char* uplo, const MKL_INT* n, const float* a,
                   const MKL_INT* lda, const MKL_INT* ipiv, const float* anorm,
                   float* rcond, float* work, MKL_INT* iwork, MKL_INT* info ) NOTHROW;
void ssycon_rook( const char* uplo, const MKL_INT* n, const float* a,
                  const MKL_INT* lda, const MKL_INT* ipiv, const float* anorm,
                  float* rcond, float* work, MKL_INT* iwork, MKL_INT* info ) NOTHROW;
void ssycon_rook_( const char* uplo, const MKL_INT* n, const float* a,
                   const MKL_INT* lda, const MKL_INT* ipiv, const float* anorm,
                   float* rcond, float* work, MKL_INT* iwork, MKL_INT* info ) NOTHROW;

void SSYSV_ROOK( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs, float* a,
                 const MKL_INT* lda, MKL_INT* ipiv, float* b, const MKL_INT* ldb,
                 float* work, const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void SSYSV_ROOK_( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs, float* a,
                  const MKL_INT* lda, MKL_INT* ipiv, float* b, const MKL_INT* ldb,
                  float* work, const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void ssysv_rook( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs, float* a,
                 const MKL_INT* lda, MKL_INT* ipiv, float* b, const MKL_INT* ldb,
                 float* work, const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void ssysv_rook_( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs, float* a,
                  const MKL_INT* lda, MKL_INT* ipiv, float* b, const MKL_INT* ldb,
                  float* work, const MKL_INT* lwork, MKL_INT* info ) NOTHROW;

void SSYTF2_ROOK( const char* uplo, const MKL_INT* n, float* a, const MKL_INT* lda,
                  MKL_INT* ipiv, MKL_INT* info ) NOTHROW;
void SSYTF2_ROOK_( const char* uplo, const MKL_INT* n, float* a, const MKL_INT* lda,
                   MKL_INT* ipiv, MKL_INT* info ) NOTHROW;
void ssytf2_rook( const char* uplo, const MKL_INT* n, float* a, const MKL_INT* lda,
                  MKL_INT* ipiv, MKL_INT* info ) NOTHROW;
void ssytf2_rook_( const char* uplo, const MKL_INT* n, float* a, const MKL_INT* lda,
                   MKL_INT* ipiv, MKL_INT* info ) NOTHROW;

void SSYTRF_ROOK( const char* uplo, const MKL_INT* n, float* a, const MKL_INT* lda,
                 MKL_INT* ipiv, float* work, const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void SSYTRF_ROOK_( const char* uplo, const MKL_INT* n, float* a, const MKL_INT* lda,
                   MKL_INT* ipiv, float* work, const MKL_INT* lwork,
                   MKL_INT* info ) NOTHROW;
void ssytrf_rook( const char* uplo, const MKL_INT* n, float* a, const MKL_INT* lda,
                  MKL_INT* ipiv, float* work, const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void ssytrf_rook_( const char* uplo, const MKL_INT* n, float* a, const MKL_INT* lda,
                   MKL_INT* ipiv, float* work, const MKL_INT* lwork,
                   MKL_INT* info ) NOTHROW;

void SSYTRI_ROOK( const char* uplo, const MKL_INT* n, float* a, const MKL_INT* lda,
                  const MKL_INT* ipiv, float* work, MKL_INT* info ) NOTHROW;
void SSYTRI_ROOK_( const char* uplo, const MKL_INT* n, float* a, const MKL_INT* lda,
                   const MKL_INT* ipiv, float* work, MKL_INT* info ) NOTHROW;
void ssytri_rook( const char* uplo, const MKL_INT* n, float* a, const MKL_INT* lda,
                  const MKL_INT* ipiv, float* work, MKL_INT* info ) NOTHROW;
void ssytri_rook_( const char* uplo, const MKL_INT* n, float* a, const MKL_INT* lda,
                   const MKL_INT* ipiv, float* work, MKL_INT* info ) NOTHROW;

void SSYTRS_ROOK( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs,
                  const float* a, const MKL_INT* lda, const MKL_INT* ipiv, float* b,
                  const MKL_INT* ldb, MKL_INT* info ) NOTHROW;
void SSYTRS_ROOK_( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs,
                   const float* a, const MKL_INT* lda, const MKL_INT* ipiv,
                   float* b, const MKL_INT* ldb, MKL_INT* info ) NOTHROW;
void ssytrs_rook( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs,
                  const float* a, const MKL_INT* lda, const MKL_INT* ipiv, float* b,
                  const MKL_INT* ldb, MKL_INT* info ) NOTHROW;
void ssytrs_rook_( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs,
                   const float* a, const MKL_INT* lda, const MKL_INT* ipiv,
                   float* b, const MKL_INT* ldb, MKL_INT* info ) NOTHROW;

void ZHECON_ROOK( const char* uplo, const MKL_INT* n, const MKL_Complex16* a,
                  const MKL_INT* lda, const MKL_INT* ipiv, const double* anorm,
                  double* rcond, MKL_Complex16* work, MKL_INT* info ) NOTHROW;
void ZHECON_ROOK_( const char* uplo, const MKL_INT* n, const MKL_Complex16* a,
                   const MKL_INT* lda, const MKL_INT* ipiv, const double* anorm,
                   double* rcond, MKL_Complex16* work, MKL_INT* info ) NOTHROW;
void zhecon_rook( const char* uplo, const MKL_INT* n, const MKL_Complex16* a,
                  const MKL_INT* lda, const MKL_INT* ipiv, const double* anorm,
                  double* rcond, MKL_Complex16* work, MKL_INT* info ) NOTHROW;
void zhecon_rook_( const char* uplo, const MKL_INT* n, const MKL_Complex16* a,
                   const MKL_INT* lda, const MKL_INT* ipiv, const double* anorm,
                   double* rcond, MKL_Complex16* work, MKL_INT* info ) NOTHROW;

void ZHESV_ROOK( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs,
                 MKL_Complex16* a, const MKL_INT* lda, MKL_INT* ipiv,
                 MKL_Complex16* b, const MKL_INT* ldb, MKL_Complex16* work,
                 const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void ZHESV_ROOK_( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs,
                  MKL_Complex16* a, const MKL_INT* lda, MKL_INT* ipiv,
                  MKL_Complex16* b, const MKL_INT* ldb, MKL_Complex16* work,
                  const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void zhesv_rook( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs,
                 MKL_Complex16* a, const MKL_INT* lda, MKL_INT* ipiv,
                 MKL_Complex16* b, const MKL_INT* ldb, MKL_Complex16* work,
                 const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void zhesv_rook_( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs,
                  MKL_Complex16* a, const MKL_INT* lda, MKL_INT* ipiv,
                  MKL_Complex16* b, const MKL_INT* ldb, MKL_Complex16* work,
                  const MKL_INT* lwork, MKL_INT* info ) NOTHROW;

void ZHETF2_ROOK( const char* uplo, const MKL_INT* n, MKL_Complex16* a,
                  const MKL_INT* lda, MKL_INT* ipiv, MKL_INT* info ) NOTHROW;
void ZHETF2_ROOK_( const char* uplo, const MKL_INT* n, MKL_Complex16* a,
                   const MKL_INT* lda, MKL_INT* ipiv, MKL_INT* info ) NOTHROW;
void zhetf2_rook( const char* uplo, const MKL_INT* n, MKL_Complex16* a,
                  const MKL_INT* lda, MKL_INT* ipiv, MKL_INT* info ) NOTHROW;
void zhetf2_rook_( const char* uplo, const MKL_INT* n, MKL_Complex16* a,
                   const MKL_INT* lda, MKL_INT* ipiv, MKL_INT* info ) NOTHROW;

void ZHETRF_ROOK( const char* uplo, const MKL_INT* n, MKL_Complex16* a,
                  const MKL_INT* lda, MKL_INT* ipiv, MKL_Complex16* work,
                  const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void ZHETRF_ROOK_( const char* uplo, const MKL_INT* n, MKL_Complex16* a,
                   const MKL_INT* lda, MKL_INT* ipiv, MKL_Complex16* work,
                   const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void zhetrf_rook( const char* uplo, const MKL_INT* n, MKL_Complex16* a,
                  const MKL_INT* lda, MKL_INT* ipiv, MKL_Complex16* work,
                  const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void zhetrf_rook_( const char* uplo, const MKL_INT* n, MKL_Complex16* a,
                   const MKL_INT* lda, MKL_INT* ipiv, MKL_Complex16* work,
                   const MKL_INT* lwork, MKL_INT* info ) NOTHROW;

void ZHETRI_ROOK( const char* uplo, const MKL_INT* n, MKL_Complex16* a,
                  const MKL_INT* lda, const MKL_INT* ipiv, MKL_Complex16* work,
                  MKL_INT* info ) NOTHROW;
void ZHETRI_ROOK_( const char* uplo, const MKL_INT* n, MKL_Complex16* a,
                   const MKL_INT* lda, const MKL_INT* ipiv, MKL_Complex16* work,
                   MKL_INT* info ) NOTHROW;
void zhetri_rook( const char* uplo, const MKL_INT* n, MKL_Complex16* a,
                  const MKL_INT* lda, const MKL_INT* ipiv, MKL_Complex16* work,
                  MKL_INT* info ) NOTHROW;
void zhetri_rook_( const char* uplo, const MKL_INT* n, MKL_Complex16* a,
                   const MKL_INT* lda, const MKL_INT* ipiv, MKL_Complex16* work,
                   MKL_INT* info ) NOTHROW;

void ZHETRS_ROOK( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs,
                  const MKL_Complex16* a, const MKL_INT* lda, const MKL_INT* ipiv,
                  MKL_Complex16* b, const MKL_INT* ldb, MKL_INT* info ) NOTHROW;
void ZHETRS_ROOK_( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs,
                   const MKL_Complex16* a, const MKL_INT* lda, const MKL_INT* ipiv,
                   MKL_Complex16* b, const MKL_INT* ldb, MKL_INT* info ) NOTHROW;
void zhetrs_rook( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs,
                  const MKL_Complex16* a, const MKL_INT* lda, const MKL_INT* ipiv,
                  MKL_Complex16* b, const MKL_INT* ldb, MKL_INT* info ) NOTHROW;
void zhetrs_rook_( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs,
                   const MKL_Complex16* a, const MKL_INT* lda, const MKL_INT* ipiv,
                   MKL_Complex16* b, const MKL_INT* ldb, MKL_INT* info ) NOTHROW;

void ZLAHEF_ROOK( const char* uplo, const MKL_INT* n, const MKL_INT* nb,
                  MKL_INT* kb, MKL_Complex16* a, const MKL_INT* lda, MKL_INT* ipiv,
                  MKL_Complex16* w, const MKL_INT* ldw, MKL_INT* info ) NOTHROW;
void ZLAHEF_ROOK_( const char* uplo, const MKL_INT* n, const MKL_INT* nb,
                   MKL_INT* kb, MKL_Complex16* a, const MKL_INT* lda, MKL_INT* ipiv,
                   MKL_Complex16* w, const MKL_INT* ldw, MKL_INT* info ) NOTHROW;
void zlahef_rook( const char* uplo, const MKL_INT* n, const MKL_INT* nb,
                  MKL_INT* kb, MKL_Complex16* a, const MKL_INT* lda, MKL_INT* ipiv,
                  MKL_Complex16* w, const MKL_INT* ldw, MKL_INT* info ) NOTHROW;
void zlahef_rook_( const char* uplo, const MKL_INT* n, const MKL_INT* nb,
                   MKL_INT* kb, MKL_Complex16* a, const MKL_INT* lda, MKL_INT* ipiv,
                   MKL_Complex16* w, const MKL_INT* ldw, MKL_INT* info ) NOTHROW;

void ZLASYF_ROOK( const char* uplo, const MKL_INT* n, const MKL_INT* nb,
                  MKL_INT* kb, MKL_Complex16* a, const MKL_INT* lda, MKL_INT* ipiv,
                  MKL_Complex16* w, const MKL_INT* ldw, MKL_INT* info ) NOTHROW;
void ZLASYF_ROOK_( const char* uplo, const MKL_INT* n, const MKL_INT* nb,
                   MKL_INT* kb, MKL_Complex16* a, const MKL_INT* lda, MKL_INT* ipiv,
                   MKL_Complex16* w, const MKL_INT* ldw, MKL_INT* info ) NOTHROW;
void zlasyf_rook( const char* uplo, const MKL_INT* n, const MKL_INT* nb,
                  MKL_INT* kb, MKL_Complex16* a, const MKL_INT* lda, MKL_INT* ipiv,
                  MKL_Complex16* w, const MKL_INT* ldw, MKL_INT* info ) NOTHROW;
void zlasyf_rook_( const char* uplo, const MKL_INT* n, const MKL_INT* nb,
                   MKL_INT* kb, MKL_Complex16* a, const MKL_INT* lda, MKL_INT* ipiv,
                   MKL_Complex16* w, const MKL_INT* ldw, MKL_INT* info ) NOTHROW;

void ZSYCON_ROOK( const char* uplo, const MKL_INT* n, const MKL_Complex16* a,
                  const MKL_INT* lda, const MKL_INT* ipiv, const double* anorm,
                  double* rcond, MKL_Complex16* work, MKL_INT* info ) NOTHROW;
void ZSYCON_ROOK_( const char* uplo, const MKL_INT* n, const MKL_Complex16* a,
                   const MKL_INT* lda, const MKL_INT* ipiv, const double* anorm,
                   double* rcond, MKL_Complex16* work, MKL_INT* info ) NOTHROW;
void zsycon_rook( const char* uplo, const MKL_INT* n, const MKL_Complex16* a,
                  const MKL_INT* lda, const MKL_INT* ipiv, const double* anorm,
                  double* rcond, MKL_Complex16* work, MKL_INT* info ) NOTHROW;
void zsycon_rook_( const char* uplo, const MKL_INT* n, const MKL_Complex16* a,
                   const MKL_INT* lda, const MKL_INT* ipiv, const double* anorm,
                   double* rcond, MKL_Complex16* work, MKL_INT* info ) NOTHROW;

void ZSYSV_ROOK( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs,
                 MKL_Complex16* a, const MKL_INT* lda, MKL_INT* ipiv,
                 MKL_Complex16* b, const MKL_INT* ldb, MKL_Complex16* work,
                 const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void ZSYSV_ROOK_( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs,
                  MKL_Complex16* a, const MKL_INT* lda, MKL_INT* ipiv,
                  MKL_Complex16* b, const MKL_INT* ldb, MKL_Complex16* work,
                  const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void zsysv_rook( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs,
                 MKL_Complex16* a, const MKL_INT* lda, MKL_INT* ipiv,
                 MKL_Complex16* b, const MKL_INT* ldb, MKL_Complex16* work,
                 const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void zsysv_rook_( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs,
                  MKL_Complex16* a, const MKL_INT* lda, MKL_INT* ipiv,
                  MKL_Complex16* b, const MKL_INT* ldb, MKL_Complex16* work,
                  const MKL_INT* lwork, MKL_INT* info ) NOTHROW;

void ZSYTF2_ROOK( const char* uplo, const MKL_INT* n, MKL_Complex16* a,
                  const MKL_INT* lda, MKL_INT* ipiv, MKL_INT* info ) NOTHROW;
void ZSYTF2_ROOK_( const char* uplo, const MKL_INT* n, MKL_Complex16* a,
                   const MKL_INT* lda, MKL_INT* ipiv, MKL_INT* info ) NOTHROW;
void zsytf2_rook( const char* uplo, const MKL_INT* n, MKL_Complex16* a,
                  const MKL_INT* lda, MKL_INT* ipiv, MKL_INT* info ) NOTHROW;
void zsytf2_rook_( const char* uplo, const MKL_INT* n, MKL_Complex16* a,
                   const MKL_INT* lda, MKL_INT* ipiv, MKL_INT* info ) NOTHROW;

void ZSYTRF_ROOK( const char* uplo, const MKL_INT* n, MKL_Complex16* a,
                  const MKL_INT* lda, MKL_INT* ipiv, MKL_Complex16* work,
                  const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void ZSYTRF_ROOK_( const char* uplo, const MKL_INT* n, MKL_Complex16* a,
                   const MKL_INT* lda, MKL_INT* ipiv, MKL_Complex16* work,
                   const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void zsytrf_rook( const char* uplo, const MKL_INT* n, MKL_Complex16* a,
                  const MKL_INT* lda, MKL_INT* ipiv, MKL_Complex16* work,
                  const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void zsytrf_rook_( const char* uplo, const MKL_INT* n, MKL_Complex16* a,
                   const MKL_INT* lda, MKL_INT* ipiv, MKL_Complex16* work,
                   const MKL_INT* lwork, MKL_INT* info ) NOTHROW;

void ZSYTRI_ROOK( const char* uplo, const MKL_INT* n, MKL_Complex16* a,
                  const MKL_INT* lda, const MKL_INT* ipiv, MKL_Complex16* work,
                  MKL_INT* info ) NOTHROW;
void ZSYTRI_ROOK_( const char* uplo, const MKL_INT* n, MKL_Complex16* a,
                   const MKL_INT* lda, const MKL_INT* ipiv, MKL_Complex16* work,
                   MKL_INT* info ) NOTHROW;
void zsytri_rook( const char* uplo, const MKL_INT* n, MKL_Complex16* a,
                  const MKL_INT* lda, const MKL_INT* ipiv, MKL_Complex16* work,
                  MKL_INT* info ) NOTHROW;
void zsytri_rook_( const char* uplo, const MKL_INT* n, MKL_Complex16* a,
                   const MKL_INT* lda, const MKL_INT* ipiv, MKL_Complex16* work,
                   MKL_INT* info ) NOTHROW;

void ZSYTRS_ROOK( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs,
                  const MKL_Complex16* a, const MKL_INT* lda, const MKL_INT* ipiv,
                  MKL_Complex16* b, const MKL_INT* ldb, MKL_INT* info ) NOTHROW;
void ZSYTRS_ROOK_( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs,
                   const MKL_Complex16* a, const MKL_INT* lda, const MKL_INT* ipiv,
                   MKL_Complex16* b, const MKL_INT* ldb, MKL_INT* info ) NOTHROW;
void zsytrs_rook( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs,
                  const MKL_Complex16* a, const MKL_INT* lda, const MKL_INT* ipiv,
                  MKL_Complex16* b, const MKL_INT* ldb, MKL_INT* info ) NOTHROW;
void zsytrs_rook_( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs,
                   const MKL_Complex16* a, const MKL_INT* lda, const MKL_INT* ipiv,
                   MKL_Complex16* b, const MKL_INT* ldb, MKL_INT* info ) NOTHROW;

void CUNBDB1( const MKL_INT* m, const MKL_INT* p, const MKL_INT* q,
              MKL_Complex8* x11, const MKL_INT* ldx11, MKL_Complex8* x21,
              const MKL_INT* ldx21, float* theta, float* phi,
              MKL_Complex8* taup1, MKL_Complex8* taup2, MKL_Complex8* tauq1,
              MKL_Complex8* work, const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void CUNBDB1_( const MKL_INT* m, const MKL_INT* p, const MKL_INT* q,
               MKL_Complex8* x11, const MKL_INT* ldx11, MKL_Complex8* x21,
               const MKL_INT* ldx21, float* theta, float* phi,
               MKL_Complex8* taup1, MKL_Complex8* taup2, MKL_Complex8* tauq1,
               MKL_Complex8* work, const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void cunbdb1( const MKL_INT* m, const MKL_INT* p, const MKL_INT* q,
              MKL_Complex8* x11, const MKL_INT* ldx11, MKL_Complex8* x21,
              const MKL_INT* ldx21, float* theta, float* phi,
              MKL_Complex8* taup1, MKL_Complex8* taup2, MKL_Complex8* tauq1,
              MKL_Complex8* work, const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void cunbdb1_( const MKL_INT* m, const MKL_INT* p, const MKL_INT* q,
               MKL_Complex8* x11, const MKL_INT* ldx11, MKL_Complex8* x21,
               const MKL_INT* ldx21, float* theta, float* phi,
               MKL_Complex8* taup1, MKL_Complex8* taup2, MKL_Complex8* tauq1,
               MKL_Complex8* work, const MKL_INT* lwork, MKL_INT* info ) NOTHROW;

void CUNBDB2( const MKL_INT* m, const MKL_INT* p, const MKL_INT* q,
              MKL_Complex8* x11, const MKL_INT* ldx11, MKL_Complex8* x21,
              const MKL_INT* ldx21, float* theta, float* phi,
              MKL_Complex8* taup1, MKL_Complex8* taup2, MKL_Complex8* tauq1,
              MKL_Complex8* work, const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void CUNBDB2_( const MKL_INT* m, const MKL_INT* p, const MKL_INT* q,
               MKL_Complex8* x11, const MKL_INT* ldx11, MKL_Complex8* x21,
               const MKL_INT* ldx21, float* theta, float* phi,
               MKL_Complex8* taup1, MKL_Complex8* taup2, MKL_Complex8* tauq1,
               MKL_Complex8* work, const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void cunbdb2( const MKL_INT* m, const MKL_INT* p, const MKL_INT* q,
              MKL_Complex8* x11, const MKL_INT* ldx11, MKL_Complex8* x21,
              const MKL_INT* ldx21, float* theta, float* phi,
              MKL_Complex8* taup1, MKL_Complex8* taup2, MKL_Complex8* tauq1,
              MKL_Complex8* work, const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void cunbdb2_( const MKL_INT* m, const MKL_INT* p, const MKL_INT* q,
               MKL_Complex8* x11, const MKL_INT* ldx11, MKL_Complex8* x21,
               const MKL_INT* ldx21, float* theta, float* phi,
               MKL_Complex8* taup1, MKL_Complex8* taup2, MKL_Complex8* tauq1,
               MKL_Complex8* work, const MKL_INT* lwork, MKL_INT* info ) NOTHROW;

void CUNBDB3( const MKL_INT* m, const MKL_INT* p, const MKL_INT* q,
              MKL_Complex8* x11, const MKL_INT* ldx11, MKL_Complex8* x21,
              const MKL_INT* ldx21, float* theta, float* phi,
              MKL_Complex8* taup1, MKL_Complex8* taup2, MKL_Complex8* tauq1,
              MKL_Complex8* work, const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void CUNBDB3_( const MKL_INT* m, const MKL_INT* p, const MKL_INT* q,
               MKL_Complex8* x11, const MKL_INT* ldx11, MKL_Complex8* x21,
               const MKL_INT* ldx21, float* theta, float* phi,
               MKL_Complex8* taup1, MKL_Complex8* taup2, MKL_Complex8* tauq1,
               MKL_Complex8* work, const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void cunbdb3( const MKL_INT* m, const MKL_INT* p, const MKL_INT* q,
              MKL_Complex8* x11, const MKL_INT* ldx11, MKL_Complex8* x21,
              const MKL_INT* ldx21, float* theta, float* phi,
              MKL_Complex8* taup1, MKL_Complex8* taup2, MKL_Complex8* tauq1,
              MKL_Complex8* work, const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void cunbdb3_( const MKL_INT* m, const MKL_INT* p, const MKL_INT* q,
               MKL_Complex8* x11, const MKL_INT* ldx11, MKL_Complex8* x21,
               const MKL_INT* ldx21, float* theta, float* phi,
               MKL_Complex8* taup1, MKL_Complex8* taup2, MKL_Complex8* tauq1,
               MKL_Complex8* work, const MKL_INT* lwork, MKL_INT* info ) NOTHROW;

void CUNBDB4( const MKL_INT* m, const MKL_INT* p, const MKL_INT* q,
              MKL_Complex8* x11, const MKL_INT* ldx11, MKL_Complex8* x21,
              const MKL_INT* ldx21, float* theta, float* phi,
              MKL_Complex8* taup1, MKL_Complex8* taup2, MKL_Complex8* tauq1,
              MKL_Complex8* phantom, MKL_Complex8* work, const MKL_INT* lwork,
              MKL_INT* info ) NOTHROW;
void CUNBDB4_( const MKL_INT* m, const MKL_INT* p, const MKL_INT* q,
               MKL_Complex8* x11, const MKL_INT* ldx11, MKL_Complex8* x21,
               const MKL_INT* ldx21, float* theta, float* phi,
               MKL_Complex8* taup1, MKL_Complex8* taup2, MKL_Complex8* tauq1,
               MKL_Complex8* phantom, MKL_Complex8* work, const MKL_INT* lwork,
               MKL_INT* info ) NOTHROW;
void cunbdb4( const MKL_INT* m, const MKL_INT* p, const MKL_INT* q,
              MKL_Complex8* x11, const MKL_INT* ldx11, MKL_Complex8* x21,
              const MKL_INT* ldx21, float* theta, float* phi,
              MKL_Complex8* taup1, MKL_Complex8* taup2, MKL_Complex8* tauq1,
              MKL_Complex8* phantom, MKL_Complex8* work, const MKL_INT* lwork,
              MKL_INT* info ) NOTHROW;
void cunbdb4_( const MKL_INT* m, const MKL_INT* p, const MKL_INT* q,
               MKL_Complex8* x11, const MKL_INT* ldx11, MKL_Complex8* x21,
               const MKL_INT* ldx21, float* theta, float* phi,
               MKL_Complex8* taup1, MKL_Complex8* taup2, MKL_Complex8* tauq1,
               MKL_Complex8* phantom, MKL_Complex8* work, const MKL_INT* lwork,
               MKL_INT* info ) NOTHROW;

void CUNBDB5( const MKL_INT* m1, const MKL_INT* m2, const MKL_INT* n,
              MKL_Complex8* x1, const MKL_INT* incx1, MKL_Complex8* x2,
              const MKL_INT* incx2, MKL_Complex8* q1, const MKL_INT* ldq1,
              MKL_Complex8* q2, const MKL_INT* ldq2, MKL_Complex8* work,
              const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void CUNBDB5_( const MKL_INT* m1, const MKL_INT* m2, const MKL_INT* n,
               MKL_Complex8* x1, const MKL_INT* incx1, MKL_Complex8* x2,
               const MKL_INT* incx2, MKL_Complex8* q1, const MKL_INT* ldq1,
               MKL_Complex8* q2, const MKL_INT* ldq2, MKL_Complex8* work,
               const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void cunbdb5( const MKL_INT* m1, const MKL_INT* m2, const MKL_INT* n,
              MKL_Complex8* x1, const MKL_INT* incx1, MKL_Complex8* x2,
              const MKL_INT* incx2, MKL_Complex8* q1, const MKL_INT* ldq1,
              MKL_Complex8* q2, const MKL_INT* ldq2, MKL_Complex8* work,
              const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void cunbdb5_( const MKL_INT* m1, const MKL_INT* m2, const MKL_INT* n,
               MKL_Complex8* x1, const MKL_INT* incx1, MKL_Complex8* x2,
               const MKL_INT* incx2, MKL_Complex8* q1, const MKL_INT* ldq1,
               MKL_Complex8* q2, const MKL_INT* ldq2, MKL_Complex8* work,
               const MKL_INT* lwork, MKL_INT* info ) NOTHROW;

void CUNBDB6( const MKL_INT* m1, const MKL_INT* m2, const MKL_INT* n,
              MKL_Complex8* x1, const MKL_INT* incx1, MKL_Complex8* x2,
              const MKL_INT* incx2, MKL_Complex8* q1, const MKL_INT* ldq1,
              MKL_Complex8* q2, const MKL_INT* ldq2, MKL_Complex8* work,
              const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void CUNBDB6_( const MKL_INT* m1, const MKL_INT* m2, const MKL_INT* n,
               MKL_Complex8* x1, const MKL_INT* incx1, MKL_Complex8* x2,
               const MKL_INT* incx2, MKL_Complex8* q1, const MKL_INT* ldq1,
               MKL_Complex8* q2, const MKL_INT* ldq2, MKL_Complex8* work,
               const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void cunbdb6( const MKL_INT* m1, const MKL_INT* m2, const MKL_INT* n,
              MKL_Complex8* x1, const MKL_INT* incx1, MKL_Complex8* x2,
              const MKL_INT* incx2, MKL_Complex8* q1, const MKL_INT* ldq1,
              MKL_Complex8* q2, const MKL_INT* ldq2, MKL_Complex8* work,
              const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void cunbdb6_( const MKL_INT* m1, const MKL_INT* m2, const MKL_INT* n,
               MKL_Complex8* x1, const MKL_INT* incx1, MKL_Complex8* x2,
               const MKL_INT* incx2, MKL_Complex8* q1, const MKL_INT* ldq1,
               MKL_Complex8* q2, const MKL_INT* ldq2, MKL_Complex8* work,
               const MKL_INT* lwork, MKL_INT* info ) NOTHROW;

void CUNCSD2BY1( const char* jobu1, const char* jobu2, const char* jobv1t,
                 const MKL_INT* m, const MKL_INT* p, const MKL_INT* q,
                 MKL_Complex8* x11, const MKL_INT* ldx11, MKL_Complex8* x21,
                 const MKL_INT* ldx21, float* theta, MKL_Complex8* u1,
                 const MKL_INT* ldu1, MKL_Complex8* u2, const MKL_INT* ldu2,
                 MKL_Complex8* v1t, const MKL_INT* ldv1t, MKL_Complex8* work,
                 const MKL_INT* lwork, float* rwork, const MKL_INT* lrwork,
                 MKL_INT* iwork, MKL_INT* info ) NOTHROW;
void CUNCSD2BY1_( const char* jobu1, const char* jobu2, const char* jobv1t,
                  const MKL_INT* m, const MKL_INT* p, const MKL_INT* q,
                  MKL_Complex8* x11, const MKL_INT* ldx11, MKL_Complex8* x21,
                  const MKL_INT* ldx21, float* theta, MKL_Complex8* u1,
                  const MKL_INT* ldu1, MKL_Complex8* u2, const MKL_INT* ldu2,
                  MKL_Complex8* v1t, const MKL_INT* ldv1t, MKL_Complex8* work,
                  const MKL_INT* lwork, float* rwork, const MKL_INT* lrwork,
                  MKL_INT* iwork, MKL_INT* info ) NOTHROW;
void cuncsd2by1( const char* jobu1, const char* jobu2, const char* jobv1t,
                 const MKL_INT* m, const MKL_INT* p, const MKL_INT* q,
                 MKL_Complex8* x11, const MKL_INT* ldx11, MKL_Complex8* x21,
                 const MKL_INT* ldx21, float* theta, MKL_Complex8* u1,
                 const MKL_INT* ldu1, MKL_Complex8* u2, const MKL_INT* ldu2,
                 MKL_Complex8* v1t, const MKL_INT* ldv1t, MKL_Complex8* work,
                 const MKL_INT* lwork, float* rwork, const MKL_INT* lrwork,
                 MKL_INT* iwork, MKL_INT* info ) NOTHROW;
void cuncsd2by1_( const char* jobu1, const char* jobu2, const char* jobv1t,
                  const MKL_INT* m, const MKL_INT* p, const MKL_INT* q,
                  MKL_Complex8* x11, const MKL_INT* ldx11, MKL_Complex8* x21,
                  const MKL_INT* ldx21, float* theta, MKL_Complex8* u1,
                  const MKL_INT* ldu1, MKL_Complex8* u2, const MKL_INT* ldu2,
                  MKL_Complex8* v1t, const MKL_INT* ldv1t, MKL_Complex8* work,
                  const MKL_INT* lwork, float* rwork, const MKL_INT* lrwork,
                  MKL_INT* iwork, MKL_INT* info ) NOTHROW;

void DORBDB1( const MKL_INT* m, const MKL_INT* p, const MKL_INT* q,
              double* x11, const MKL_INT* ldx11, double* x21,
              const MKL_INT* ldx21, double* theta, double* phi,
              double* taup1, double* taup2, double* tauq1,
              double* work, const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void DORBDB1_( const MKL_INT* m, const MKL_INT* p, const MKL_INT* q,
               double* x11, const MKL_INT* ldx11, double* x21,
               const MKL_INT* ldx21, double* theta, double* phi,
               double* taup1, double* taup2, double* tauq1,
               double* work, const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void dorbdb1( const MKL_INT* m, const MKL_INT* p, const MKL_INT* q,
              double* x11, const MKL_INT* ldx11, double* x21,
              const MKL_INT* ldx21, double* theta, double* phi,
              double* taup1, double* taup2, double* tauq1,
              double* work, const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void dorbdb1_( const MKL_INT* m, const MKL_INT* p, const MKL_INT* q,
               double* x11, const MKL_INT* ldx11, double* x21,
               const MKL_INT* ldx21, double* theta, double* phi,
               double* taup1, double* taup2, double* tauq1,
               double* work, const MKL_INT* lwork, MKL_INT* info ) NOTHROW;

void DORBDB2( const MKL_INT* m, const MKL_INT* p, const MKL_INT* q,
              double* x11, const MKL_INT* ldx11, double* x21,
              const MKL_INT* ldx21, double* theta, double* phi,
              double* taup1, double* taup2, double* tauq1,
              double* work, const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void DORBDB2_( const MKL_INT* m, const MKL_INT* p, const MKL_INT* q,
               double* x11, const MKL_INT* ldx11, double* x21,
               const MKL_INT* ldx21, double* theta, double* phi,
               double* taup1, double* taup2, double* tauq1,
               double* work, const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void dorbdb2( const MKL_INT* m, const MKL_INT* p, const MKL_INT* q,
              double* x11, const MKL_INT* ldx11, double* x21,
              const MKL_INT* ldx21, double* theta, double* phi,
              double* taup1, double* taup2, double* tauq1,
              double* work, const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void dorbdb2_( const MKL_INT* m, const MKL_INT* p, const MKL_INT* q,
               double* x11, const MKL_INT* ldx11, double* x21,
               const MKL_INT* ldx21, double* theta, double* phi,
               double* taup1, double* taup2, double* tauq1,
               double* work, const MKL_INT* lwork, MKL_INT* info ) NOTHROW;

void DORBDB3( const MKL_INT* m, const MKL_INT* p, const MKL_INT* q,
              double* x11, const MKL_INT* ldx11, double* x21,
              const MKL_INT* ldx21, double* theta, double* phi,
              double* taup1, double* taup2, double* tauq1,
              double* work, const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void DORBDB3_( const MKL_INT* m, const MKL_INT* p, const MKL_INT* q,
               double* x11, const MKL_INT* ldx11, double* x21,
               const MKL_INT* ldx21, double* theta, double* phi,
               double* taup1, double* taup2, double* tauq1,
               double* work, const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void dorbdb3( const MKL_INT* m, const MKL_INT* p, const MKL_INT* q,
              double* x11, const MKL_INT* ldx11, double* x21,
              const MKL_INT* ldx21, double* theta, double* phi,
              double* taup1, double* taup2, double* tauq1,
              double* work, const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void dorbdb3_( const MKL_INT* m, const MKL_INT* p, const MKL_INT* q,
               double* x11, const MKL_INT* ldx11, double* x21,
               const MKL_INT* ldx21, double* theta, double* phi,
               double* taup1, double* taup2, double* tauq1,
               double* work, const MKL_INT* lwork, MKL_INT* info ) NOTHROW;

void DORBDB4( const MKL_INT* m, const MKL_INT* p, const MKL_INT* q,
              double* x11, const MKL_INT* ldx11, double* x21,
              const MKL_INT* ldx21, double* theta, double* phi,
              double* taup1, double* taup2, double* tauq1,
              double* phantom, double* work, const MKL_INT* lwork,
              MKL_INT* info ) NOTHROW;
void DORBDB4_( const MKL_INT* m, const MKL_INT* p, const MKL_INT* q,
               double* x11, const MKL_INT* ldx11, double* x21,
               const MKL_INT* ldx21, double* theta, double* phi,
               double* taup1, double* taup2, double* tauq1,
               double* phantom, double* work, const MKL_INT* lwork,
               MKL_INT* info ) NOTHROW;
void dorbdb4( const MKL_INT* m, const MKL_INT* p, const MKL_INT* q,
              double* x11, const MKL_INT* ldx11, double* x21,
              const MKL_INT* ldx21, double* theta, double* phi,
              double* taup1, double* taup2, double* tauq1,
              double* phantom, double* work, const MKL_INT* lwork,
              MKL_INT* info ) NOTHROW;
void dorbdb4_( const MKL_INT* m, const MKL_INT* p, const MKL_INT* q,
               double* x11, const MKL_INT* ldx11, double* x21,
               const MKL_INT* ldx21, double* theta, double* phi,
               double* taup1, double* taup2, double* tauq1,
               double* phantom, double* work, const MKL_INT* lwork,
               MKL_INT* info ) NOTHROW;

void DORBDB5( const MKL_INT* m1, const MKL_INT* m2, const MKL_INT* n,
              double* x1, const MKL_INT* incx1, double* x2,
              const MKL_INT* incx2, double* q1, const MKL_INT* ldq1,
              double* q2, const MKL_INT* ldq2, double* work,
              const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void DORBDB5_( const MKL_INT* m1, const MKL_INT* m2, const MKL_INT* n,
               double* x1, const MKL_INT* incx1, double* x2,
               const MKL_INT* incx2, double* q1, const MKL_INT* ldq1,
               double* q2, const MKL_INT* ldq2, double* work,
               const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void dorbdb5( const MKL_INT* m1, const MKL_INT* m2, const MKL_INT* n,
              double* x1, const MKL_INT* incx1, double* x2,
              const MKL_INT* incx2, double* q1, const MKL_INT* ldq1,
              double* q2, const MKL_INT* ldq2, double* work,
              const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void dorbdb5_( const MKL_INT* m1, const MKL_INT* m2, const MKL_INT* n,
               double* x1, const MKL_INT* incx1, double* x2,
               const MKL_INT* incx2, double* q1, const MKL_INT* ldq1,
               double* q2, const MKL_INT* ldq2, double* work,
               const MKL_INT* lwork, MKL_INT* info ) NOTHROW;

void DORBDB6( const MKL_INT* m1, const MKL_INT* m2, const MKL_INT* n,
              double* x1, const MKL_INT* incx1, double* x2,
              const MKL_INT* incx2, double* q1, const MKL_INT* ldq1,
              double* q2, const MKL_INT* ldq2, double* work,
              const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void DORBDB6_( const MKL_INT* m1, const MKL_INT* m2, const MKL_INT* n,
               double* x1, const MKL_INT* incx1, double* x2,
               const MKL_INT* incx2, double* q1, const MKL_INT* ldq1,
               double* q2, const MKL_INT* ldq2, double* work,
               const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void dorbdb6( const MKL_INT* m1, const MKL_INT* m2, const MKL_INT* n,
              double* x1, const MKL_INT* incx1, double* x2,
              const MKL_INT* incx2, double* q1, const MKL_INT* ldq1,
              double* q2, const MKL_INT* ldq2, double* work,
              const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void dorbdb6_( const MKL_INT* m1, const MKL_INT* m2, const MKL_INT* n,
               double* x1, const MKL_INT* incx1, double* x2,
               const MKL_INT* incx2, double* q1, const MKL_INT* ldq1,
               double* q2, const MKL_INT* ldq2, double* work,
               const MKL_INT* lwork, MKL_INT* info ) NOTHROW;

void DORCSD2BY1( const char* jobu1, const char* jobu2, const char* jobv1t,
                 const MKL_INT* m, const MKL_INT* p, const MKL_INT* q,
                 double* x11, const MKL_INT* ldx11, double* x21,
                 const MKL_INT* ldx21, double* theta, double* u1,
                 const MKL_INT* ldu1, double* u2, const MKL_INT* ldu2,
                 double* v1t, const MKL_INT* ldv1t, double* work,
                 const MKL_INT* lwork, MKL_INT* iwork, MKL_INT* info ) NOTHROW;
void DORCSD2BY1_( const char* jobu1, const char* jobu2, const char* jobv1t,
                  const MKL_INT* m, const MKL_INT* p, const MKL_INT* q,
                  double* x11, const MKL_INT* ldx11, double* x21,
                  const MKL_INT* ldx21, double* theta, double* u1,
                  const MKL_INT* ldu1, double* u2, const MKL_INT* ldu2,
                  double* v1t, const MKL_INT* ldv1t, double* work,
                  const MKL_INT* lwork, MKL_INT* iwork, MKL_INT* info ) NOTHROW;
void dorcsd2by1( const char* jobu1, const char* jobu2, const char* jobv1t,
                 const MKL_INT* m, const MKL_INT* p, const MKL_INT* q,
                 double* x11, const MKL_INT* ldx11, double* x21,
                 const MKL_INT* ldx21, double* theta, double* u1,
                 const MKL_INT* ldu1, double* u2, const MKL_INT* ldu2,
                 double* v1t, const MKL_INT* ldv1t, double* work,
                 const MKL_INT* lwork, MKL_INT* iwork, MKL_INT* info ) NOTHROW;
void dorcsd2by1_( const char* jobu1, const char* jobu2, const char* jobv1t,
                  const MKL_INT* m, const MKL_INT* p, const MKL_INT* q,
                  double* x11, const MKL_INT* ldx11, double* x21,
                  const MKL_INT* ldx21, double* theta, double* u1,
                  const MKL_INT* ldu1, double* u2, const MKL_INT* ldu2,
                  double* v1t, const MKL_INT* ldv1t, double* work,
                  const MKL_INT* lwork, MKL_INT* iwork, MKL_INT* info ) NOTHROW;

void SORBDB1( const MKL_INT* m, const MKL_INT* p, const MKL_INT* q,
              float* x11, const MKL_INT* ldx11, float* x21,
              const MKL_INT* ldx21, float* theta, float* phi,
              float* taup1, float* taup2, float* tauq1,
              float* work, const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void SORBDB1_( const MKL_INT* m, const MKL_INT* p, const MKL_INT* q,
               float* x11, const MKL_INT* ldx11, float* x21,
               const MKL_INT* ldx21, float* theta, float* phi,
               float* taup1, float* taup2, float* tauq1,
               float* work, const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void sorbdb1( const MKL_INT* m, const MKL_INT* p, const MKL_INT* q,
              float* x11, const MKL_INT* ldx11, float* x21,
              const MKL_INT* ldx21, float* theta, float* phi,
              float* taup1, float* taup2, float* tauq1,
              float* work, const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void sorbdb1_( const MKL_INT* m, const MKL_INT* p, const MKL_INT* q,
               float* x11, const MKL_INT* ldx11, float* x21,
               const MKL_INT* ldx21, float* theta, float* phi,
               float* taup1, float* taup2, float* tauq1,
               float* work, const MKL_INT* lwork, MKL_INT* info ) NOTHROW;

void SORBDB2( const MKL_INT* m, const MKL_INT* p, const MKL_INT* q,
              float* x11, const MKL_INT* ldx11, float* x21,
              const MKL_INT* ldx21, float* theta, float* phi,
              float* taup1, float* taup2, float* tauq1,
              float* work, const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void SORBDB2_( const MKL_INT* m, const MKL_INT* p, const MKL_INT* q,
               float* x11, const MKL_INT* ldx11, float* x21,
               const MKL_INT* ldx21, float* theta, float* phi,
               float* taup1, float* taup2, float* tauq1,
               float* work, const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void sorbdb2( const MKL_INT* m, const MKL_INT* p, const MKL_INT* q,
              float* x11, const MKL_INT* ldx11, float* x21,
              const MKL_INT* ldx21, float* theta, float* phi,
              float* taup1, float* taup2, float* tauq1,
              float* work, const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void sorbdb2_( const MKL_INT* m, const MKL_INT* p, const MKL_INT* q,
               float* x11, const MKL_INT* ldx11, float* x21,
               const MKL_INT* ldx21, float* theta, float* phi,
               float* taup1, float* taup2, float* tauq1,
               float* work, const MKL_INT* lwork, MKL_INT* info ) NOTHROW;

void SORBDB3( const MKL_INT* m, const MKL_INT* p, const MKL_INT* q,
              float* x11, const MKL_INT* ldx11, float* x21,
              const MKL_INT* ldx21, float* theta, float* phi,
              float* taup1, float* taup2, float* tauq1,
              float* work, const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void SORBDB3_( const MKL_INT* m, const MKL_INT* p, const MKL_INT* q,
               float* x11, const MKL_INT* ldx11, float* x21,
               const MKL_INT* ldx21, float* theta, float* phi,
               float* taup1, float* taup2, float* tauq1,
               float* work, const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void sorbdb3( const MKL_INT* m, const MKL_INT* p, const MKL_INT* q,
              float* x11, const MKL_INT* ldx11, float* x21,
              const MKL_INT* ldx21, float* theta, float* phi,
              float* taup1, float* taup2, float* tauq1,
              float* work, const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void sorbdb3_( const MKL_INT* m, const MKL_INT* p, const MKL_INT* q,
               float* x11, const MKL_INT* ldx11, float* x21,
               const MKL_INT* ldx21, float* theta, float* phi,
               float* taup1, float* taup2, float* tauq1,
               float* work, const MKL_INT* lwork, MKL_INT* info ) NOTHROW;

void SORBDB4( const MKL_INT* m, const MKL_INT* p, const MKL_INT* q,
              float* x11, const MKL_INT* ldx11, float* x21,
              const MKL_INT* ldx21, float* theta, float* phi,
              float* taup1, float* taup2, float* tauq1,
              float* phantom, float* work, const MKL_INT* lwork,
              MKL_INT* info ) NOTHROW;
void SORBDB4_( const MKL_INT* m, const MKL_INT* p, const MKL_INT* q,
               float* x11, const MKL_INT* ldx11, float* x21,
               const MKL_INT* ldx21, float* theta, float* phi,
               float* taup1, float* taup2, float* tauq1,
               float* phantom, float* work, const MKL_INT* lwork,
               MKL_INT* info ) NOTHROW;
void sorbdb4( const MKL_INT* m, const MKL_INT* p, const MKL_INT* q,
              float* x11, const MKL_INT* ldx11, float* x21,
              const MKL_INT* ldx21, float* theta, float* phi,
              float* taup1, float* taup2, float* tauq1,
              float* phantom, float* work, const MKL_INT* lwork,
              MKL_INT* info ) NOTHROW;
void sorbdb4_( const MKL_INT* m, const MKL_INT* p, const MKL_INT* q,
               float* x11, const MKL_INT* ldx11, float* x21,
               const MKL_INT* ldx21, float* theta, float* phi,
               float* taup1, float* taup2, float* tauq1,
               float* phantom, float* work, const MKL_INT* lwork,
               MKL_INT* info ) NOTHROW;

void SORBDB5( const MKL_INT* m1, const MKL_INT* m2, const MKL_INT* n,
              float* x1, const MKL_INT* incx1, float* x2,
              const MKL_INT* incx2, float* q1, const MKL_INT* ldq1,
              float* q2, const MKL_INT* ldq2, float* work,
              const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void SORBDB5_( const MKL_INT* m1, const MKL_INT* m2, const MKL_INT* n,
               float* x1, const MKL_INT* incx1, float* x2,
               const MKL_INT* incx2, float* q1, const MKL_INT* ldq1,
               float* q2, const MKL_INT* ldq2, float* work,
               const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void sorbdb5( const MKL_INT* m1, const MKL_INT* m2, const MKL_INT* n,
              float* x1, const MKL_INT* incx1, float* x2,
              const MKL_INT* incx2, float* q1, const MKL_INT* ldq1,
              float* q2, const MKL_INT* ldq2, float* work,
              const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void sorbdb5_( const MKL_INT* m1, const MKL_INT* m2, const MKL_INT* n,
               float* x1, const MKL_INT* incx1, float* x2,
               const MKL_INT* incx2, float* q1, const MKL_INT* ldq1,
               float* q2, const MKL_INT* ldq2, float* work,
               const MKL_INT* lwork, MKL_INT* info ) NOTHROW;

void SORBDB6( const MKL_INT* m1, const MKL_INT* m2, const MKL_INT* n,
              float* x1, const MKL_INT* incx1, float* x2,
              const MKL_INT* incx2, float* q1, const MKL_INT* ldq1,
              float* q2, const MKL_INT* ldq2, float* work,
              const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void SORBDB6_( const MKL_INT* m1, const MKL_INT* m2, const MKL_INT* n,
               float* x1, const MKL_INT* incx1, float* x2,
               const MKL_INT* incx2, float* q1, const MKL_INT* ldq1,
               float* q2, const MKL_INT* ldq2, float* work,
               const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void sorbdb6( const MKL_INT* m1, const MKL_INT* m2, const MKL_INT* n,
              float* x1, const MKL_INT* incx1, float* x2,
              const MKL_INT* incx2, float* q1, const MKL_INT* ldq1,
              float* q2, const MKL_INT* ldq2, float* work,
              const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void sorbdb6_( const MKL_INT* m1, const MKL_INT* m2, const MKL_INT* n,
               float* x1, const MKL_INT* incx1, float* x2,
               const MKL_INT* incx2, float* q1, const MKL_INT* ldq1,
               float* q2, const MKL_INT* ldq2, float* work,
               const MKL_INT* lwork, MKL_INT* info ) NOTHROW;

void SORCSD2BY1( const char* jobu1, const char* jobu2, const char* jobv1t,
                 const MKL_INT* m, const MKL_INT* p, const MKL_INT* q,
                 float* x11, const MKL_INT* ldx11, float* x21,
                 const MKL_INT* ldx21, float* theta, float* u1,
                 const MKL_INT* ldu1, float* u2, const MKL_INT* ldu2,
                 float* v1t, const MKL_INT* ldv1t, float* work,
                 const MKL_INT* lwork, MKL_INT* iwork, MKL_INT* info ) NOTHROW;
void SORCSD2BY1_( const char* jobu1, const char* jobu2, const char* jobv1t,
                  const MKL_INT* m, const MKL_INT* p, const MKL_INT* q,
                  float* x11, const MKL_INT* ldx11, float* x21,
                  const MKL_INT* ldx21, float* theta, float* u1,
                  const MKL_INT* ldu1, float* u2, const MKL_INT* ldu2,
                  float* v1t, const MKL_INT* ldv1t, float* work,
                  const MKL_INT* lwork, MKL_INT* iwork, MKL_INT* info ) NOTHROW;
void sorcsd2by1( const char* jobu1, const char* jobu2, const char* jobv1t,
                 const MKL_INT* m, const MKL_INT* p, const MKL_INT* q,
                 float* x11, const MKL_INT* ldx11, float* x21,
                 const MKL_INT* ldx21, float* theta, float* u1,
                 const MKL_INT* ldu1, float* u2, const MKL_INT* ldu2,
                 float* v1t, const MKL_INT* ldv1t, float* work,
                 const MKL_INT* lwork, MKL_INT* iwork, MKL_INT* info ) NOTHROW;
void sorcsd2by1_( const char* jobu1, const char* jobu2, const char* jobv1t,
                  const MKL_INT* m, const MKL_INT* p, const MKL_INT* q,
                  float* x11, const MKL_INT* ldx11, float* x21,
                  const MKL_INT* ldx21, float* theta, float* u1,
                  const MKL_INT* ldu1, float* u2, const MKL_INT* ldu2,
                  float* v1t, const MKL_INT* ldv1t, float* work,
                  const MKL_INT* lwork, MKL_INT* iwork, MKL_INT* info ) NOTHROW;

void ZUNBDB1( const MKL_INT* m, const MKL_INT* p, const MKL_INT* q,
              MKL_Complex16* x11, const MKL_INT* ldx11, MKL_Complex16* x21,
              const MKL_INT* ldx21, double* theta, double* phi,
              MKL_Complex16* taup1, MKL_Complex16* taup2, MKL_Complex16* tauq1,
              MKL_Complex16* work, const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void ZUNBDB1_( const MKL_INT* m, const MKL_INT* p, const MKL_INT* q,
               MKL_Complex16* x11, const MKL_INT* ldx11, MKL_Complex16* x21,
               const MKL_INT* ldx21, double* theta, double* phi,
               MKL_Complex16* taup1, MKL_Complex16* taup2, MKL_Complex16* tauq1,
               MKL_Complex16* work, const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void zunbdb1( const MKL_INT* m, const MKL_INT* p, const MKL_INT* q,
              MKL_Complex16* x11, const MKL_INT* ldx11, MKL_Complex16* x21,
              const MKL_INT* ldx21, double* theta, double* phi,
              MKL_Complex16* taup1, MKL_Complex16* taup2, MKL_Complex16* tauq1,
              MKL_Complex16* work, const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void zunbdb1_( const MKL_INT* m, const MKL_INT* p, const MKL_INT* q,
               MKL_Complex16* x11, const MKL_INT* ldx11, MKL_Complex16* x21,
               const MKL_INT* ldx21, double* theta, double* phi,
               MKL_Complex16* taup1, MKL_Complex16* taup2, MKL_Complex16* tauq1,
               MKL_Complex16* work, const MKL_INT* lwork, MKL_INT* info ) NOTHROW;

void ZUNBDB2( const MKL_INT* m, const MKL_INT* p, const MKL_INT* q,
              MKL_Complex16* x11, const MKL_INT* ldx11, MKL_Complex16* x21,
              const MKL_INT* ldx21, double* theta, double* phi,
              MKL_Complex16* taup1, MKL_Complex16* taup2, MKL_Complex16* tauq1,
              MKL_Complex16* work, const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void ZUNBDB2_( const MKL_INT* m, const MKL_INT* p, const MKL_INT* q,
               MKL_Complex16* x11, const MKL_INT* ldx11, MKL_Complex16* x21,
               const MKL_INT* ldx21, double* theta, double* phi,
               MKL_Complex16* taup1, MKL_Complex16* taup2, MKL_Complex16* tauq1,
               MKL_Complex16* work, const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void zunbdb2( const MKL_INT* m, const MKL_INT* p, const MKL_INT* q,
              MKL_Complex16* x11, const MKL_INT* ldx11, MKL_Complex16* x21,
              const MKL_INT* ldx21, double* theta, double* phi,
              MKL_Complex16* taup1, MKL_Complex16* taup2, MKL_Complex16* tauq1,
              MKL_Complex16* work, const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void zunbdb2_( const MKL_INT* m, const MKL_INT* p, const MKL_INT* q,
               MKL_Complex16* x11, const MKL_INT* ldx11, MKL_Complex16* x21,
               const MKL_INT* ldx21, double* theta, double* phi,
               MKL_Complex16* taup1, MKL_Complex16* taup2, MKL_Complex16* tauq1,
               MKL_Complex16* work, const MKL_INT* lwork, MKL_INT* info ) NOTHROW;

void ZUNBDB3( const MKL_INT* m, const MKL_INT* p, const MKL_INT* q,
              MKL_Complex16* x11, const MKL_INT* ldx11, MKL_Complex16* x21,
              const MKL_INT* ldx21, double* theta, double* phi,
              MKL_Complex16* taup1, MKL_Complex16* taup2, MKL_Complex16* tauq1,
              MKL_Complex16* work, const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void ZUNBDB3_( const MKL_INT* m, const MKL_INT* p, const MKL_INT* q,
               MKL_Complex16* x11, const MKL_INT* ldx11, MKL_Complex16* x21,
               const MKL_INT* ldx21, double* theta, double* phi,
               MKL_Complex16* taup1, MKL_Complex16* taup2, MKL_Complex16* tauq1,
               MKL_Complex16* work, const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void zunbdb3( const MKL_INT* m, const MKL_INT* p, const MKL_INT* q,
              MKL_Complex16* x11, const MKL_INT* ldx11, MKL_Complex16* x21,
              const MKL_INT* ldx21, double* theta, double* phi,
              MKL_Complex16* taup1, MKL_Complex16* taup2, MKL_Complex16* tauq1,
              MKL_Complex16* work, const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void zunbdb3_( const MKL_INT* m, const MKL_INT* p, const MKL_INT* q,
               MKL_Complex16* x11, const MKL_INT* ldx11, MKL_Complex16* x21,
               const MKL_INT* ldx21, double* theta, double* phi,
               MKL_Complex16* taup1, MKL_Complex16* taup2, MKL_Complex16* tauq1,
               MKL_Complex16* work, const MKL_INT* lwork, MKL_INT* info ) NOTHROW;

void ZUNBDB4( const MKL_INT* m, const MKL_INT* p, const MKL_INT* q,
              MKL_Complex16* x11, const MKL_INT* ldx11, MKL_Complex16* x21,
              const MKL_INT* ldx21, double* theta, double* phi,
              MKL_Complex16* taup1, MKL_Complex16* taup2, MKL_Complex16* tauq1,
              MKL_Complex16* phantom, MKL_Complex16* work, const MKL_INT* lwork,
              MKL_INT* info ) NOTHROW;
void ZUNBDB4_( const MKL_INT* m, const MKL_INT* p, const MKL_INT* q,
               MKL_Complex16* x11, const MKL_INT* ldx11, MKL_Complex16* x21,
               const MKL_INT* ldx21, double* theta, double* phi,
               MKL_Complex16* taup1, MKL_Complex16* taup2, MKL_Complex16* tauq1,
               MKL_Complex16* phantom, MKL_Complex16* work, const MKL_INT* lwork,
               MKL_INT* info ) NOTHROW;
void zunbdb4( const MKL_INT* m, const MKL_INT* p, const MKL_INT* q,
              MKL_Complex16* x11, const MKL_INT* ldx11, MKL_Complex16* x21,
              const MKL_INT* ldx21, double* theta, double* phi,
              MKL_Complex16* taup1, MKL_Complex16* taup2, MKL_Complex16* tauq1,
              MKL_Complex16* phantom, MKL_Complex16* work, const MKL_INT* lwork,
              MKL_INT* info ) NOTHROW;
void zunbdb4_( const MKL_INT* m, const MKL_INT* p, const MKL_INT* q,
               MKL_Complex16* x11, const MKL_INT* ldx11, MKL_Complex16* x21,
               const MKL_INT* ldx21, double* theta, double* phi,
               MKL_Complex16* taup1, MKL_Complex16* taup2, MKL_Complex16* tauq1,
               MKL_Complex16* phantom, MKL_Complex16* work, const MKL_INT* lwork,
               MKL_INT* info ) NOTHROW;

void ZUNBDB5( const MKL_INT* m1, const MKL_INT* m2, const MKL_INT* n,
              MKL_Complex16* x1, const MKL_INT* incx1, MKL_Complex16* x2,
              const MKL_INT* incx2, MKL_Complex16* q1, const MKL_INT* ldq1,
              MKL_Complex16* q2, const MKL_INT* ldq2, MKL_Complex16* work,
              const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void ZUNBDB5_( const MKL_INT* m1, const MKL_INT* m2, const MKL_INT* n,
               MKL_Complex16* x1, const MKL_INT* incx1, MKL_Complex16* x2,
               const MKL_INT* incx2, MKL_Complex16* q1, const MKL_INT* ldq1,
               MKL_Complex16* q2, const MKL_INT* ldq2, MKL_Complex16* work,
               const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void zunbdb5( const MKL_INT* m1, const MKL_INT* m2, const MKL_INT* n,
              MKL_Complex16* x1, const MKL_INT* incx1, MKL_Complex16* x2,
              const MKL_INT* incx2, MKL_Complex16* q1, const MKL_INT* ldq1,
              MKL_Complex16* q2, const MKL_INT* ldq2, MKL_Complex16* work,
              const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void zunbdb5_( const MKL_INT* m1, const MKL_INT* m2, const MKL_INT* n,
               MKL_Complex16* x1, const MKL_INT* incx1, MKL_Complex16* x2,
               const MKL_INT* incx2, MKL_Complex16* q1, const MKL_INT* ldq1,
               MKL_Complex16* q2, const MKL_INT* ldq2, MKL_Complex16* work,
               const MKL_INT* lwork, MKL_INT* info ) NOTHROW;

void ZUNBDB6( const MKL_INT* m1, const MKL_INT* m2, const MKL_INT* n,
              MKL_Complex16* x1, const MKL_INT* incx1, MKL_Complex16* x2,
              const MKL_INT* incx2, MKL_Complex16* q1, const MKL_INT* ldq1,
              MKL_Complex16* q2, const MKL_INT* ldq2, MKL_Complex16* work,
              const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void ZUNBDB6_( const MKL_INT* m1, const MKL_INT* m2, const MKL_INT* n,
               MKL_Complex16* x1, const MKL_INT* incx1, MKL_Complex16* x2,
               const MKL_INT* incx2, MKL_Complex16* q1, const MKL_INT* ldq1,
               MKL_Complex16* q2, const MKL_INT* ldq2, MKL_Complex16* work,
               const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void zunbdb6( const MKL_INT* m1, const MKL_INT* m2, const MKL_INT* n,
              MKL_Complex16* x1, const MKL_INT* incx1, MKL_Complex16* x2,
              const MKL_INT* incx2, MKL_Complex16* q1, const MKL_INT* ldq1,
              MKL_Complex16* q2, const MKL_INT* ldq2, MKL_Complex16* work,
              const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void zunbdb6_( const MKL_INT* m1, const MKL_INT* m2, const MKL_INT* n,
               MKL_Complex16* x1, const MKL_INT* incx1, MKL_Complex16* x2,
               const MKL_INT* incx2, MKL_Complex16* q1, const MKL_INT* ldq1,
               MKL_Complex16* q2, const MKL_INT* ldq2, MKL_Complex16* work,
               const MKL_INT* lwork, MKL_INT* info ) NOTHROW;

void ZUNCSD2BY1( const char* jobu1, const char* jobu2, const char* jobv1t,
                 const MKL_INT* m, const MKL_INT* p, const MKL_INT* q,
                 MKL_Complex16* x11, const MKL_INT* ldx11, MKL_Complex16* x21,
                 const MKL_INT* ldx21, double* theta, MKL_Complex16* u1,
                 const MKL_INT* ldu1, MKL_Complex16* u2, const MKL_INT* ldu2,
                 MKL_Complex16* v1t, const MKL_INT* ldv1t, MKL_Complex16* work,
                 const MKL_INT* lwork, double* rwork, const MKL_INT* lrwork,
                 MKL_INT* iwork, MKL_INT* info ) NOTHROW;
void ZUNCSD2BY1_( const char* jobu1, const char* jobu2, const char* jobv1t,
                  const MKL_INT* m, const MKL_INT* p, const MKL_INT* q,
                  MKL_Complex16* x11, const MKL_INT* ldx11, MKL_Complex16* x21,
                  const MKL_INT* ldx21, double* theta, MKL_Complex16* u1,
                  const MKL_INT* ldu1, MKL_Complex16* u2, const MKL_INT* ldu2,
                  MKL_Complex16* v1t, const MKL_INT* ldv1t, MKL_Complex16* work,
                  const MKL_INT* lwork, double* rwork, const MKL_INT* lrwork,
                  MKL_INT* iwork, MKL_INT* info ) NOTHROW;
void zuncsd2by1( const char* jobu1, const char* jobu2, const char* jobv1t,
                 const MKL_INT* m, const MKL_INT* p, const MKL_INT* q,
                 MKL_Complex16* x11, const MKL_INT* ldx11, MKL_Complex16* x21,
                 const MKL_INT* ldx21, double* theta, MKL_Complex16* u1,
                 const MKL_INT* ldu1, MKL_Complex16* u2, const MKL_INT* ldu2,
                 MKL_Complex16* v1t, const MKL_INT* ldv1t, MKL_Complex16* work,
                 const MKL_INT* lwork, double* rwork, const MKL_INT* lrwork,
                 MKL_INT* iwork, MKL_INT* info ) NOTHROW;
void zuncsd2by1_( const char* jobu1, const char* jobu2, const char* jobv1t,
                  const MKL_INT* m, const MKL_INT* p, const MKL_INT* q,
                  MKL_Complex16* x11, const MKL_INT* ldx11, MKL_Complex16* x21,
                  const MKL_INT* ldx21, double* theta, MKL_Complex16* u1,
                  const MKL_INT* ldu1, MKL_Complex16* u2, const MKL_INT* ldu2,
                  MKL_Complex16* v1t, const MKL_INT* ldv1t, MKL_Complex16* work,
                  const MKL_INT* lwork, double* rwork, const MKL_INT* lrwork,
                  MKL_INT* iwork, MKL_INT* info ) NOTHROW;

/* LAPACK 3.4.0 routines */

void CGEMQRT( const char* side, const char* trans, const MKL_INT* m,
              const MKL_INT* n, const MKL_INT* k, const MKL_INT* nb,
              const MKL_Complex8* v, const MKL_INT* ldv,
              const MKL_Complex8* t, const MKL_INT* ldt,
              MKL_Complex8* c, const MKL_INT* ldc,
              MKL_Complex8* work, MKL_INT* info ) NOTHROW;
void CGEMQRT_( const char* side, const char* trans, const MKL_INT* m,
               const MKL_INT* n, const MKL_INT* k, const MKL_INT* nb,
               const MKL_Complex8* v, const MKL_INT* ldv,
               const MKL_Complex8* t, const MKL_INT* ldt,
               MKL_Complex8* c, const MKL_INT* ldc,
               MKL_Complex8* work, MKL_INT* info ) NOTHROW;
void cgemqrt( const char* side, const char* trans, const MKL_INT* m,
              const MKL_INT* n, const MKL_INT* k, const MKL_INT* nb,
              const MKL_Complex8* v, const MKL_INT* ldv,
              const MKL_Complex8* t, const MKL_INT* ldt,
              MKL_Complex8* c, const MKL_INT* ldc,
              MKL_Complex8* work, MKL_INT* info ) NOTHROW;
void cgemqrt_( const char* side, const char* trans, const MKL_INT* m,
               const MKL_INT* n, const MKL_INT* k, const MKL_INT* nb,
               const MKL_Complex8* v, const MKL_INT* ldv,
               const MKL_Complex8* t, const MKL_INT* ldt,
               MKL_Complex8* c, const MKL_INT* ldc,
               MKL_Complex8* work, MKL_INT* info ) NOTHROW;

void DGEMQRT( const char* side, const char* trans, const MKL_INT* m,
              const MKL_INT* n, const MKL_INT* k, const MKL_INT* nb,
              const double* v, const MKL_INT* ldv,
              const double* t, const MKL_INT* ldt,
              double* c, const MKL_INT* ldc, double* work, MKL_INT* info ) NOTHROW;
void DGEMQRT_( const char* side, const char* trans, const MKL_INT* m,
               const MKL_INT* n, const MKL_INT* k, const MKL_INT* nb,
               const double* v, const MKL_INT* ldv,
               const double* t, const MKL_INT* ldt,
               double* c, const MKL_INT* ldc, double* work, MKL_INT* info ) NOTHROW;
void dgemqrt( const char* side, const char* trans, const MKL_INT* m,
              const MKL_INT* n, const MKL_INT* k, const MKL_INT* nb,
              const double* v, const MKL_INT* ldv,
              const double* t, const MKL_INT* ldt,
              double* c, const MKL_INT* ldc, double* work, MKL_INT* info ) NOTHROW;
void dgemqrt_( const char* side, const char* trans, const MKL_INT* m,
               const MKL_INT* n, const MKL_INT* k, const MKL_INT* nb,
               const double* v, const MKL_INT* ldv,
               const double* t, const MKL_INT* ldt,
               double* c, const MKL_INT* ldc, double* work, MKL_INT* info ) NOTHROW;

void SGEMQRT( const char* side, const char* trans, const MKL_INT* m,
              const MKL_INT* n, const MKL_INT* k, const MKL_INT* nb,
              const float* v, const MKL_INT* ldv, const float* t,
              const MKL_INT* ldt, float* c, const MKL_INT* ldc, float* work,
              MKL_INT* info ) NOTHROW;
void SGEMQRT_( const char* side, const char* trans, const MKL_INT* m,
               const MKL_INT* n, const MKL_INT* k, const MKL_INT* nb,
               const float* v, const MKL_INT* ldv, const float* t,
               const MKL_INT* ldt, float* c, const MKL_INT* ldc, float* work,
               MKL_INT* info ) NOTHROW;
void sgemqrt( const char* side, const char* trans, const MKL_INT* m,
              const MKL_INT* n, const MKL_INT* k, const MKL_INT* nb,
              const float* v, const MKL_INT* ldv, const float* t,
              const MKL_INT* ldt, float* c, const MKL_INT* ldc, float* work,
              MKL_INT* info ) NOTHROW;
void sgemqrt_( const char* side, const char* trans, const MKL_INT* m,
               const MKL_INT* n, const MKL_INT* k, const MKL_INT* nb,
               const float* v, const MKL_INT* ldv, const float* t,
               const MKL_INT* ldt, float* c, const MKL_INT* ldc, float* work,
               MKL_INT* info ) NOTHROW;

void ZGEMQRT( const char* side, const char* trans, const MKL_INT* m,
              const MKL_INT* n, const MKL_INT* k, const MKL_INT* nb,
              const MKL_Complex16* v, const MKL_INT* ldv,
              const MKL_Complex16* t, const MKL_INT* ldt,
              MKL_Complex16* c, const MKL_INT* ldc,
              MKL_Complex16* work, MKL_INT* info ) NOTHROW;
void ZGEMQRT_( const char* side, const char* trans, const MKL_INT* m,
               const MKL_INT* n, const MKL_INT* k, const MKL_INT* nb,
               const MKL_Complex16* v, const MKL_INT* ldv,
               const MKL_Complex16* t, const MKL_INT* ldt,
               MKL_Complex16* c, const MKL_INT* ldc,
               MKL_Complex16* work, MKL_INT* info ) NOTHROW;
void zgemqrt( const char* side, const char* trans, const MKL_INT* m,
              const MKL_INT* n, const MKL_INT* k, const MKL_INT* nb,
              const MKL_Complex16* v, const MKL_INT* ldv,
              const MKL_Complex16* t, const MKL_INT* ldt,
              MKL_Complex16* c, const MKL_INT* ldc,
              MKL_Complex16* work, MKL_INT* info ) NOTHROW;
void zgemqrt_( const char* side, const char* trans, const MKL_INT* m,
               const MKL_INT* n, const MKL_INT* k, const MKL_INT* nb,
               const MKL_Complex16* v, const MKL_INT* ldv,
               const MKL_Complex16* t, const MKL_INT* ldt,
               MKL_Complex16* c, const MKL_INT* ldc,
               MKL_Complex16* work, MKL_INT* info ) NOTHROW;

void CGEQRT( const MKL_INT* m, const MKL_INT* n, const MKL_INT* nb,
             MKL_Complex8* a, const MKL_INT* lda,
             MKL_Complex8* t, const MKL_INT* ldt,
             MKL_Complex8* work, MKL_INT* info ) NOTHROW;

void CGEQRT_( const MKL_INT* m, const MKL_INT* n, const MKL_INT* nb,
              MKL_Complex8* a, const MKL_INT* lda,
              MKL_Complex8* t, const MKL_INT* ldt,
              MKL_Complex8* work, MKL_INT* info ) NOTHROW;

void cgeqrt( const MKL_INT* m, const MKL_INT* n, const MKL_INT* nb,
             MKL_Complex8* a, const MKL_INT* lda,
             MKL_Complex8* t, const MKL_INT* ldt,
             MKL_Complex8* work, MKL_INT* info ) NOTHROW;

void cgeqrt_( const MKL_INT* m, const MKL_INT* n, const MKL_INT* nb,
              MKL_Complex8* a, const MKL_INT* lda,
              MKL_Complex8* t, const MKL_INT* ldt,
              MKL_Complex8* work, MKL_INT* info ) NOTHROW;

void DGEQRT( const MKL_INT* m, const MKL_INT* n, const MKL_INT* nb,
             double* a, const MKL_INT* lda,
             double* t, const MKL_INT* ldt,
             double* work, MKL_INT* info ) NOTHROW;

void DGEQRT_( const MKL_INT* m, const MKL_INT* n, const MKL_INT* nb,
              double* a, const MKL_INT* lda,
              double* t, const MKL_INT* ldt,
              double* work, MKL_INT* info ) NOTHROW;

void dgeqrt( const MKL_INT* m, const MKL_INT* n, const MKL_INT* nb,
             double* a, const MKL_INT* lda,
             double* t, const MKL_INT* ldt,
             double* work, MKL_INT* info ) NOTHROW;

void dgeqrt_( const MKL_INT* m, const MKL_INT* n, const MKL_INT* nb,
              double* a, const MKL_INT* lda,
              double* t, const MKL_INT* ldt,
              double* work, MKL_INT* info ) NOTHROW;

void SGEQRT( const MKL_INT* m, const MKL_INT* n, const MKL_INT* nb,
             float* a, const MKL_INT* lda,
             float* t, const MKL_INT* ldt,
             float* work, MKL_INT* info ) NOTHROW;

void SGEQRT_( const MKL_INT* m, const MKL_INT* n, const MKL_INT* nb,
              float* a, const MKL_INT* lda,
              float* t, const MKL_INT* ldt,
              float* work, MKL_INT* info ) NOTHROW;

void sgeqrt( const MKL_INT* m, const MKL_INT* n, const MKL_INT* nb,
             float* a, const MKL_INT* lda,
             float* t, const MKL_INT* ldt,
             float* work, MKL_INT* info ) NOTHROW;

void sgeqrt_( const MKL_INT* m, const MKL_INT* n, const MKL_INT* nb,
              float* a, const MKL_INT* lda,
              float* t, const MKL_INT* ldt,
              float* work, MKL_INT* info ) NOTHROW;

void ZGEQRT( const MKL_INT* m, const MKL_INT* n, const MKL_INT* nb,
             MKL_Complex16* a, const MKL_INT* lda,
             MKL_Complex16* t, const MKL_INT* ldt,
             MKL_Complex16* work, MKL_INT* info ) NOTHROW;

void ZGEQRT_( const MKL_INT* m, const MKL_INT* n, const MKL_INT* nb,
              MKL_Complex16* a, const MKL_INT* lda,
              MKL_Complex16* t, const MKL_INT* ldt,
              MKL_Complex16* work, MKL_INT* info ) NOTHROW;

void zgeqrt( const MKL_INT* m, const MKL_INT* n, const MKL_INT* nb,
             MKL_Complex16* a, const MKL_INT* lda,
             MKL_Complex16* t, const MKL_INT* ldt,
             MKL_Complex16* work, MKL_INT* info ) NOTHROW;

void zgeqrt_( const MKL_INT* m, const MKL_INT* n, const MKL_INT* nb,
              MKL_Complex16* a, const MKL_INT* lda,
              MKL_Complex16* t, const MKL_INT* ldt,
              MKL_Complex16* work, MKL_INT* info ) NOTHROW;

void CGEQRT3( const MKL_INT* m, const MKL_INT* n,
              MKL_Complex8* a, const MKL_INT* lda,
              MKL_Complex8* t, const MKL_INT* ldt, MKL_INT* info ) NOTHROW;

void CGEQRT3_( const MKL_INT* m, const MKL_INT* n,
               MKL_Complex8* a, const MKL_INT* lda,
               MKL_Complex8* t, const MKL_INT* ldt, MKL_INT* info ) NOTHROW;

void cgeqrt3( const MKL_INT* m, const MKL_INT* n,
              MKL_Complex8* a, const MKL_INT* lda,
              MKL_Complex8* t, const MKL_INT* ldt, MKL_INT* info ) NOTHROW;

void cgeqrt3_( const MKL_INT* m, const MKL_INT* n,
               MKL_Complex8* a, const MKL_INT* lda,
               MKL_Complex8* t, const MKL_INT* ldt, MKL_INT* info ) NOTHROW;

void DGEQRT3( const MKL_INT* m, const MKL_INT* n,
              double* a, const MKL_INT* lda,
              double* t, const MKL_INT* ldt, MKL_INT* info ) NOTHROW;

void DGEQRT3_( const MKL_INT* m, const MKL_INT* n,
               double* a, const MKL_INT* lda,
               double* t, const MKL_INT* ldt, MKL_INT* info ) NOTHROW;

void dgeqrt3( const MKL_INT* m, const MKL_INT* n,
              double* a, const MKL_INT* lda,
              double* t, const MKL_INT* ldt, MKL_INT* info ) NOTHROW;

void dgeqrt3_( const MKL_INT* m, const MKL_INT* n,
               double* a, const MKL_INT* lda,
               double* t, const MKL_INT* ldt, MKL_INT* info ) NOTHROW;

void SGEQRT3( const MKL_INT* m, const MKL_INT* n,
              float* a, const MKL_INT* lda,
              float* t, const MKL_INT* ldt, MKL_INT* info ) NOTHROW;

void SGEQRT3_( const MKL_INT* m, const MKL_INT* n,
               float* a, const MKL_INT* lda,
               float* t, const MKL_INT* ldt, MKL_INT* info ) NOTHROW;

void sgeqrt3( const MKL_INT* m, const MKL_INT* n,
              float* a, const MKL_INT* lda,
              float* t, const MKL_INT* ldt, MKL_INT* info ) NOTHROW;

void sgeqrt3_( const MKL_INT* m, const MKL_INT* n,
               float* a, const MKL_INT* lda,
               float* t, const MKL_INT* ldt, MKL_INT* info ) NOTHROW;

void ZGEQRT3( const MKL_INT* m, const MKL_INT* n,
              MKL_Complex16* a, const MKL_INT* lda,
              MKL_Complex16* t, const MKL_INT* ldt, MKL_INT* info ) NOTHROW;

void ZGEQRT3_( const MKL_INT* m, const MKL_INT* n,
               MKL_Complex16* a, const MKL_INT* lda,
               MKL_Complex16* t, const MKL_INT* ldt, MKL_INT* info ) NOTHROW;

void zgeqrt3( const MKL_INT* m, const MKL_INT* n,
              MKL_Complex16* a, const MKL_INT* lda,
              MKL_Complex16* t, const MKL_INT* ldt, MKL_INT* info ) NOTHROW;

void zgeqrt3_( const MKL_INT* m, const MKL_INT* n,
               MKL_Complex16* a, const MKL_INT* lda,
               MKL_Complex16* t, const MKL_INT* ldt, MKL_INT* info ) NOTHROW;

void CTPMQRT( const char* side, const char* trans, const MKL_INT* m,
              const MKL_INT* n, const MKL_INT* k, const MKL_INT* l, const MKL_INT* nb,
              const MKL_Complex8* v, const MKL_INT* ldv,
              const MKL_Complex8* t, const MKL_INT* ldt,
              MKL_Complex8* a, const MKL_INT* lda,
              MKL_Complex8* b, const MKL_INT* ldb,
              MKL_Complex8* work, MKL_INT* info ) NOTHROW;

void CTPMQRT_( const char* side, const char* trans, const MKL_INT* m,
               const MKL_INT* n, const MKL_INT* k, const MKL_INT* l, const MKL_INT* nb,
               const MKL_Complex8* v, const MKL_INT* ldv,
               const MKL_Complex8* t, const MKL_INT* ldt,
               MKL_Complex8* a, const MKL_INT* lda,
               MKL_Complex8* b, const MKL_INT* ldb,
               MKL_Complex8* work, MKL_INT* info ) NOTHROW;

void ctpmqrt( const char* side, const char* trans, const MKL_INT* m,
              const MKL_INT* n, const MKL_INT* k, const MKL_INT* l, const MKL_INT* nb,
              const MKL_Complex8* v, const MKL_INT* ldv,
              const MKL_Complex8* t, const MKL_INT* ldt,
              MKL_Complex8* a, const MKL_INT* lda,
              MKL_Complex8* b, const MKL_INT* ldb,
              MKL_Complex8* work, MKL_INT* info ) NOTHROW;

void ctpmqrt_( const char* side, const char* trans, const MKL_INT* m,
               const MKL_INT* n, const MKL_INT* k, const MKL_INT* l, const MKL_INT* nb,
               const MKL_Complex8* v, const MKL_INT* ldv,
               const MKL_Complex8* t, const MKL_INT* ldt,
               MKL_Complex8* a, const MKL_INT* lda,
               MKL_Complex8* b, const MKL_INT* ldb,
               MKL_Complex8* work, MKL_INT* info ) NOTHROW;

void DTPMQRT( const char* side, const char* trans, const MKL_INT* m,
              const MKL_INT* n, const MKL_INT* k, const MKL_INT* l, const MKL_INT* nb,
              const double* v, const MKL_INT* ldv,
              const double* t, const MKL_INT* ldt,
              double* a, const MKL_INT* lda,
              double* b, const MKL_INT* ldb,
              double* work, MKL_INT* info ) NOTHROW;

void DTPMQRT_( const char* side, const char* trans, const MKL_INT* m,
               const MKL_INT* n, const MKL_INT* k, const MKL_INT* l, const MKL_INT* nb,
               const double* v, const MKL_INT* ldv,
               const double* t, const MKL_INT* ldt,
               double* a, const MKL_INT* lda,
               double* b, const MKL_INT* ldb,
               double* work, MKL_INT* info ) NOTHROW;

void dtpmqrt( const char* side, const char* trans, const MKL_INT* m,
              const MKL_INT* n, const MKL_INT* k, const MKL_INT* l, const MKL_INT* nb,
              const double* v, const MKL_INT* ldv,
              const double* t, const MKL_INT* ldt,
              double* a, const MKL_INT* lda,
              double* b, const MKL_INT* ldb,
              double* work, MKL_INT* info ) NOTHROW;

void dtpmqrt_( const char* side, const char* trans, const MKL_INT* m,
               const MKL_INT* n, const MKL_INT* k, const MKL_INT* l, const MKL_INT* nb,
               const double* v, const MKL_INT* ldv,
               const double* t, const MKL_INT* ldt,
               double* a, const MKL_INT* lda,
               double* b, const MKL_INT* ldb,
               double* work, MKL_INT* info ) NOTHROW;

void STPMQRT( const char* side, const char* trans, const MKL_INT* m,
              const MKL_INT* n, const MKL_INT* k, const MKL_INT* l, const MKL_INT* nb,
              const float* v, const MKL_INT* ldv,
              const float* t, const MKL_INT* ldt,
              float* a, const MKL_INT* lda,
              float* b, const MKL_INT* ldb,
              float* work, MKL_INT* info ) NOTHROW;

void STPMQRT_( const char* side, const char* trans, const MKL_INT* m,
               const MKL_INT* n, const MKL_INT* k, const MKL_INT* l, const MKL_INT* nb,
               const float* v, const MKL_INT* ldv,
               const float* t, const MKL_INT* ldt,
               float* a, const MKL_INT* lda,
               float* b, const MKL_INT* ldb,
               float* work, MKL_INT* info ) NOTHROW;

void stpmqrt( const char* side, const char* trans, const MKL_INT* m,
              const MKL_INT* n, const MKL_INT* k, const MKL_INT* l, const MKL_INT* nb,
              const float* v, const MKL_INT* ldv,
              const float* t, const MKL_INT* ldt,
              float* a, const MKL_INT* lda,
              float* b, const MKL_INT* ldb,
              float* work, MKL_INT* info ) NOTHROW;

void stpmqrt_( const char* side, const char* trans, const MKL_INT* m,
               const MKL_INT* n, const MKL_INT* k, const MKL_INT* l, const MKL_INT* nb,
               const float* v, const MKL_INT* ldv,
               const float* t, const MKL_INT* ldt,
               float* a, const MKL_INT* lda,
               float* b, const MKL_INT* ldb,
               float* work, MKL_INT* info ) NOTHROW;

void ZTPMQRT( const char* side, const char* trans, const MKL_INT* m,
              const MKL_INT* n, const MKL_INT* k, const MKL_INT* l, const MKL_INT* nb,
              const MKL_Complex16* v, const MKL_INT* ldv,
              const MKL_Complex16* t, const MKL_INT* ldt,
              MKL_Complex16* a, const MKL_INT* lda,
              MKL_Complex16* b, const MKL_INT* ldb,
              MKL_Complex16* work, MKL_INT* info ) NOTHROW;

void ZTPMQRT_( const char* side, const char* trans, const MKL_INT* m,
               const MKL_INT* n, const MKL_INT* k, const MKL_INT* l, const MKL_INT* nb,
               const MKL_Complex16* v, const MKL_INT* ldv,
               const MKL_Complex16* t, const MKL_INT* ldt,
               MKL_Complex16* a, const MKL_INT* lda,
               MKL_Complex16* b, const MKL_INT* ldb,
               MKL_Complex16* work, MKL_INT* info ) NOTHROW;

void ztpmqrt( const char* side, const char* trans, const MKL_INT* m,
              const MKL_INT* n, const MKL_INT* k, const MKL_INT* l, const MKL_INT* nb,
              const MKL_Complex16* v, const MKL_INT* ldv,
              const MKL_Complex16* t, const MKL_INT* ldt,
              MKL_Complex16* a, const MKL_INT* lda,
              MKL_Complex16* b, const MKL_INT* ldb,
              MKL_Complex16* work, MKL_INT* info ) NOTHROW;

void ztpmqrt_( const char* side, const char* trans, const MKL_INT* m,
               const MKL_INT* n, const MKL_INT* k, const MKL_INT* l, const MKL_INT* nb,
               const MKL_Complex16* v, const MKL_INT* ldv,
               const MKL_Complex16* t, const MKL_INT* ldt,
               MKL_Complex16* a, const MKL_INT* lda,
               MKL_Complex16* b, const MKL_INT* ldb,
               MKL_Complex16* work, MKL_INT* info ) NOTHROW;

void CTPQRT( const MKL_INT* m, const MKL_INT* n, const MKL_INT* l, const MKL_INT* nb,
             MKL_Complex8* a, const MKL_INT* lda,
             MKL_Complex8* b, const MKL_INT* ldb,
             MKL_Complex8* t, const MKL_INT* ldt,
             MKL_Complex8* work, MKL_INT* info ) NOTHROW;

void CTPQRT_( const MKL_INT* m, const MKL_INT* n, const MKL_INT* l, const MKL_INT* nb,
              MKL_Complex8* a, const MKL_INT* lda,
              MKL_Complex8* b, const MKL_INT* ldb,
              MKL_Complex8* t, const MKL_INT* ldt,
              MKL_Complex8* work, MKL_INT* info ) NOTHROW;

void ctpqrt( const MKL_INT* m, const MKL_INT* n, const MKL_INT* l, const MKL_INT* nb,
             MKL_Complex8* a, const MKL_INT* lda,
             MKL_Complex8* b, const MKL_INT* ldb,
             MKL_Complex8* t, const MKL_INT* ldt,
             MKL_Complex8* work, MKL_INT* info ) NOTHROW;

void ctpqrt_( const MKL_INT* m, const MKL_INT* n, const MKL_INT* l, const MKL_INT* nb,
              MKL_Complex8* a, const MKL_INT* lda,
              MKL_Complex8* b, const MKL_INT* ldb,
              MKL_Complex8* t, const MKL_INT* ldt,
              MKL_Complex8* work, MKL_INT* info ) NOTHROW;

void DTPQRT( const MKL_INT* m, const MKL_INT* n, const MKL_INT* l, const MKL_INT* nb,
             double* a, const MKL_INT* lda,
             double* b, const MKL_INT* ldb,
             double* t, const MKL_INT* ldt,
             double* work, MKL_INT* info ) NOTHROW;

void DTPQRT_( const MKL_INT* m, const MKL_INT* n, const MKL_INT* l, const MKL_INT* nb,
              double* a, const MKL_INT* lda,
              double* b, const MKL_INT* ldb,
              double* t, const MKL_INT* ldt,
              double* work, MKL_INT* info ) NOTHROW;

void dtpqrt( const MKL_INT* m, const MKL_INT* n, const MKL_INT* l, const MKL_INT* nb,
             double* a, const MKL_INT* lda,
             double* b, const MKL_INT* ldb,
             double* t, const MKL_INT* ldt,
             double* work, MKL_INT* info ) NOTHROW;

void dtpqrt_( const MKL_INT* m, const MKL_INT* n, const MKL_INT* l, const MKL_INT* nb,
              double* a, const MKL_INT* lda,
              double* b, const MKL_INT* ldb,
              double* t, const MKL_INT* ldt,
              double* work, MKL_INT* info ) NOTHROW;

void STPQRT( const MKL_INT* m, const MKL_INT* n, const MKL_INT* l, const MKL_INT* nb,
             float* a, const MKL_INT* lda,
             float* b, const MKL_INT* ldb,
             float* t, const MKL_INT* ldt,
             float* work, MKL_INT* info ) NOTHROW;

void STPQRT_( const MKL_INT* m, const MKL_INT* n, const MKL_INT* l, const MKL_INT* nb,
              float* a, const MKL_INT* lda,
              float* b, const MKL_INT* ldb,
              float* t, const MKL_INT* ldt,
              float* work, MKL_INT* info ) NOTHROW;

void stpqrt( const MKL_INT* m, const MKL_INT* n, const MKL_INT* l, const MKL_INT* nb,
             float* a, const MKL_INT* lda,
             float* b, const MKL_INT* ldb,
             float* t, const MKL_INT* ldt,
             float* work, MKL_INT* info ) NOTHROW;

void stpqrt_( const MKL_INT* m, const MKL_INT* n, const MKL_INT* l, const MKL_INT* nb,
              float* a, const MKL_INT* lda,
              float* b, const MKL_INT* ldb,
              float* t, const MKL_INT* ldt,
              float* work, MKL_INT* info ) NOTHROW;

void ZTPQRT( const MKL_INT* m, const MKL_INT* n, const MKL_INT* l, const MKL_INT* nb,
             MKL_Complex16* a, const MKL_INT* lda,
             MKL_Complex16* b, const MKL_INT* ldb,
             MKL_Complex16* t, const MKL_INT* ldt,
             MKL_Complex16* work, MKL_INT* info ) NOTHROW;

void ZTPQRT_( const MKL_INT* m, const MKL_INT* n, const MKL_INT* l, const MKL_INT* nb,
              MKL_Complex16* a, const MKL_INT* lda,
              MKL_Complex16* b, const MKL_INT* ldb,
              MKL_Complex16* t, const MKL_INT* ldt,
              MKL_Complex16* work, MKL_INT* info ) NOTHROW;

void ztpqrt( const MKL_INT* m, const MKL_INT* n, const MKL_INT* l, const MKL_INT* nb,
             MKL_Complex16* a, const MKL_INT* lda,
             MKL_Complex16* b, const MKL_INT* ldb,
             MKL_Complex16* t, const MKL_INT* ldt,
             MKL_Complex16* work, MKL_INT* info ) NOTHROW;

void ztpqrt_( const MKL_INT* m, const MKL_INT* n, const MKL_INT* l, const MKL_INT* nb,
              MKL_Complex16* a, const MKL_INT* lda,
              MKL_Complex16* b, const MKL_INT* ldb,
              MKL_Complex16* t, const MKL_INT* ldt,
              MKL_Complex16* work, MKL_INT* info ) NOTHROW;

void CTPQRT2( const MKL_INT* m, const MKL_INT* n, const MKL_INT* l,
              MKL_Complex8* a, const MKL_INT* lda,
              MKL_Complex8* b, const MKL_INT* ldb,
              MKL_Complex8* t, const MKL_INT* ldt, MKL_INT* info ) NOTHROW;

void CTPQRT2_( const MKL_INT* m, const MKL_INT* n, const MKL_INT* l,
               MKL_Complex8* a, const MKL_INT* lda,
               MKL_Complex8* b, const MKL_INT* ldb,
               MKL_Complex8* t, const MKL_INT* ldt, MKL_INT* info ) NOTHROW;

void ctpqrt2( const MKL_INT* m, const MKL_INT* n, const MKL_INT* l,
              MKL_Complex8* a, const MKL_INT* lda,
              MKL_Complex8* b, const MKL_INT* ldb,
              MKL_Complex8* t, const MKL_INT* ldt, MKL_INT* info ) NOTHROW;

void ctpqrt2_( const MKL_INT* m, const MKL_INT* n, const MKL_INT* l,
               MKL_Complex8* a, const MKL_INT* lda,
               MKL_Complex8* b, const MKL_INT* ldb,
               MKL_Complex8* t, const MKL_INT* ldt, MKL_INT* info ) NOTHROW;

void DTPQRT2( const MKL_INT* m, const MKL_INT* n, const MKL_INT* l,
              double* a, const MKL_INT* lda,
              double* b, const MKL_INT* ldb,
              double* t, const MKL_INT* ldt, MKL_INT* info ) NOTHROW;

void DTPQRT2_( const MKL_INT* m, const MKL_INT* n, const MKL_INT* l,
               double* a, const MKL_INT* lda,
               double* b, const MKL_INT* ldb,
               double* t, const MKL_INT* ldt, MKL_INT* info ) NOTHROW;

void dtpqrt2( const MKL_INT* m, const MKL_INT* n, const MKL_INT* l,
              double* a, const MKL_INT* lda,
              double* b, const MKL_INT* ldb,
              double* t, const MKL_INT* ldt, MKL_INT* info ) NOTHROW;

void dtpqrt2_( const MKL_INT* m, const MKL_INT* n, const MKL_INT* l,
               double* a, const MKL_INT* lda,
               double* b, const MKL_INT* ldb,
               double* t, const MKL_INT* ldt, MKL_INT* info ) NOTHROW;

void STPQRT2( const MKL_INT* m, const MKL_INT* n, const MKL_INT* l,
              float* a, const MKL_INT* lda,
              float* b, const MKL_INT* ldb,
              float* t, const MKL_INT* ldt, MKL_INT* info ) NOTHROW;

void STPQRT2_( const MKL_INT* m, const MKL_INT* n, const MKL_INT* l,
               float* a, const MKL_INT* lda,
               float* b, const MKL_INT* ldb,
               float* t, const MKL_INT* ldt, MKL_INT* info ) NOTHROW;

void stpqrt2( const MKL_INT* m, const MKL_INT* n, const MKL_INT* l,
              float* a, const MKL_INT* lda,
              float* b, const MKL_INT* ldb,
              float* t, const MKL_INT* ldt, MKL_INT* info ) NOTHROW;

void stpqrt2_( const MKL_INT* m, const MKL_INT* n, const MKL_INT* l,
               float* a, const MKL_INT* lda,
               float* b, const MKL_INT* ldb,
               float* t, const MKL_INT* ldt, MKL_INT* info ) NOTHROW;

void ZTPQRT2( const MKL_INT* m, const MKL_INT* n, const MKL_INT* l,
              MKL_Complex16* a, const MKL_INT* lda,
              MKL_Complex16* b, const MKL_INT* ldb,
              MKL_Complex16* t, const MKL_INT* ldt, MKL_INT* info ) NOTHROW;

void ZTPQRT2_( const MKL_INT* m, const MKL_INT* n, const MKL_INT* l,
               MKL_Complex16* a, const MKL_INT* lda,
               MKL_Complex16* b, const MKL_INT* ldb,
               MKL_Complex16* t, const MKL_INT* ldt, MKL_INT* info ) NOTHROW;

void ztpqrt2( const MKL_INT* m, const MKL_INT* n, const MKL_INT* l,
              MKL_Complex16* a, const MKL_INT* lda,
              MKL_Complex16* b, const MKL_INT* ldb,
              MKL_Complex16* t, const MKL_INT* ldt, MKL_INT* info ) NOTHROW;

void ztpqrt2_( const MKL_INT* m, const MKL_INT* n, const MKL_INT* l,
               MKL_Complex16* a, const MKL_INT* lda,
               MKL_Complex16* b, const MKL_INT* ldb,
               MKL_Complex16* t, const MKL_INT* ldt, MKL_INT* info ) NOTHROW;

/* LAPACK 3.3.0 routines */

void CBBCSD( const char* jobu1, const char* jobu2, const char* jobv1t,
             const char* jobv2t, const char* trans, const MKL_INT* M,
             const MKL_INT* P, const MKL_INT* Q, float* theta, float* phi,
             MKL_Complex8* u1, const MKL_INT* ldu1, MKL_Complex8* u2,
             const MKL_INT* ldu2, MKL_Complex8* v1t, const MKL_INT* ldv1t,
             MKL_Complex8* v2t, const MKL_INT* ldv2t, float* b11d, float* b11e,
             float* b12d, float* b12e, float* b21d, float* b21e, float* b22d,
             float* b22e, float* rwork, const MKL_INT* lrwork, MKL_INT* info ) NOTHROW;

void CBBCSD_( const char* jobu1, const char* jobu2, const char* jobv1t,
              const char* jobv2t, const char* trans, const MKL_INT* M,
              const MKL_INT* P, const MKL_INT* Q, float* theta, float* phi,
              MKL_Complex8* u1, const MKL_INT* ldu1, MKL_Complex8* u2,
              const MKL_INT* ldu2, MKL_Complex8* v1t, const MKL_INT* ldv1t,
              MKL_Complex8* v2t, const MKL_INT* ldv2t, float* b11d, float* b11e,
              float* b12d, float* b12e, float* b21d, float* b21e, float* b22d,
              float* b22e, float* rwork, const MKL_INT* lrwork, MKL_INT* info ) NOTHROW;

void cbbcsd( const char* jobu1, const char* jobu2, const char* jobv1t,
             const char* jobv2t, const char* trans, const MKL_INT* M,
             const MKL_INT* P, const MKL_INT* Q, float* theta, float* phi,
             MKL_Complex8* u1, const MKL_INT* ldu1, MKL_Complex8* u2,
             const MKL_INT* ldu2, MKL_Complex8* v1t, const MKL_INT* ldv1t,
             MKL_Complex8* v2t, const MKL_INT* ldv2t, float* b11d, float* b11e,
             float* b12d, float* b12e, float* b21d, float* b21e, float* b22d,
             float* b22e, float* rwork, const MKL_INT* lrwork, MKL_INT* info ) NOTHROW;

void cbbcsd_( const char* jobu1, const char* jobu2, const char* jobv1t,
              const char* jobv2t, const char* trans, const MKL_INT* M,
              const MKL_INT* P, const MKL_INT* Q, float* theta, float* phi,
              MKL_Complex8* u1, const MKL_INT* ldu1, MKL_Complex8* u2,
              const MKL_INT* ldu2, MKL_Complex8* v1t, const MKL_INT* ldv1t,
              MKL_Complex8* v2t, const MKL_INT* ldv2t, float* b11d, float* b11e,
              float* b12d, float* b12e, float* b21d, float* b21e, float* b22d,
              float* b22e, float* rwork, const MKL_INT* lrwork, MKL_INT* info ) NOTHROW;

void ZBBCSD( const char* jobu1, const char* jobu2, const char* jobv1t,
             const char* jobv2t, const char* trans, const MKL_INT* M,
             const MKL_INT* P, const MKL_INT* Q, double* theta, double* phi,
             MKL_Complex16* u1, const MKL_INT* ldu1, MKL_Complex16* u2,
             const MKL_INT* ldu2, MKL_Complex16* v1t, const MKL_INT* ldv1t,
             MKL_Complex16* v2t, const MKL_INT* ldv2t, double* b11d, double* b11e,
             double* b12d, double* b12e, double* b21d, double* b21e, double* b22d,
             double* b22e, double* rwork, const MKL_INT* lrwork, MKL_INT* info ) NOTHROW;

void ZBBCSD_( const char* jobu1, const char* jobu2, const char* jobv1t,
              const char* jobv2t, const char* trans, const MKL_INT* M,
              const MKL_INT* P, const MKL_INT* Q, double* theta, double* phi,
              MKL_Complex16* u1, const MKL_INT* ldu1, MKL_Complex16* u2,
              const MKL_INT* ldu2, MKL_Complex16* v1t, const MKL_INT* ldv1t,
              MKL_Complex16* v2t, const MKL_INT* ldv2t, double* b11d, double* b11e,
              double* b12d, double* b12e, double* b21d, double* b21e, double* b22d,
              double* b22e, double* rwork, const MKL_INT* lrwork, MKL_INT* info ) NOTHROW;

void zbbcsd( const char* jobu1, const char* jobu2, const char* jobv1t,
             const char* jobv2t, const char* trans, const MKL_INT* M,
             const MKL_INT* P, const MKL_INT* Q, double* theta, double* phi,
             MKL_Complex16* u1, const MKL_INT* ldu1, MKL_Complex16* u2,
             const MKL_INT* ldu2, MKL_Complex16* v1t, const MKL_INT* ldv1t,
             MKL_Complex16* v2t, const MKL_INT* ldv2t, double* b11d, double* b11e,
             double* b12d, double* b12e, double* b21d, double* b21e, double* b22d,
             double* b22e, double* rwork, const MKL_INT* lrwork, MKL_INT* info ) NOTHROW;

void zbbcsd_( const char* jobu1, const char* jobu2, const char* jobv1t,
              const char* jobv2t, const char* trans, const MKL_INT* M,
              const MKL_INT* P, const MKL_INT* Q, double* theta, double* phi,
              MKL_Complex16* u1, const MKL_INT* ldu1, MKL_Complex16* u2,
              const MKL_INT* ldu2, MKL_Complex16* v1t, const MKL_INT* ldv1t,
              MKL_Complex16* v2t, const MKL_INT* ldv2t, double* b11d, double* b11e,
              double* b12d, double* b12e, double* b21d, double* b21e, double* b22d,
              double* b22e, double* rwork, const MKL_INT* lrwork, MKL_INT* info ) NOTHROW;

void SBBCSD( const char* jobu1, const char* jobu2, const char* jobv1t,
             const char* jobv2t, const char* trans, const MKL_INT* M,
             const MKL_INT* P, const MKL_INT* Q, float* theta, float* phi,
             float* u1, const MKL_INT* ldu1, float* u2,
             const MKL_INT* ldu2, float* v1t, const MKL_INT* ldv1t,
             float* v2t, const MKL_INT* ldv2t, float* b11d, float* b11e,
             float* b12d, float* b12e, float* b21d, float* b21e, float* b22d,
             float* b22e, float* rwork, const MKL_INT* lrwork, MKL_INT* info ) NOTHROW;

void SBBCSD_( const char* jobu1, const char* jobu2, const char* jobv1t,
              const char* jobv2t, const char* trans, const MKL_INT* M,
              const MKL_INT* P, const MKL_INT* Q, float* theta, float* phi,
              float* u1, const MKL_INT* ldu1, float* u2,
              const MKL_INT* ldu2, float* v1t, const MKL_INT* ldv1t,
              float* v2t, const MKL_INT* ldv2t, float* b11d, float* b11e,
              float* b12d, float* b12e, float* b21d, float* b21e, float* b22d,
              float* b22e, float* rwork, const MKL_INT* lrwork, MKL_INT* info ) NOTHROW;

void sbbcsd( const char* jobu1, const char* jobu2, const char* jobv1t,
             const char* jobv2t, const char* trans, const MKL_INT* M,
             const MKL_INT* P, const MKL_INT* Q, float* theta, float* phi,
             float* u1, const MKL_INT* ldu1, float* u2,
             const MKL_INT* ldu2, float* v1t, const MKL_INT* ldv1t,
             float* v2t, const MKL_INT* ldv2t, float* b11d, float* b11e,
             float* b12d, float* b12e, float* b21d, float* b21e, float* b22d,
             float* b22e, float* rwork, const MKL_INT* lrwork, MKL_INT* info ) NOTHROW;

void sbbcsd_( const char* jobu1, const char* jobu2, const char* jobv1t,
              const char* jobv2t, const char* trans, const MKL_INT* M,
              const MKL_INT* P, const MKL_INT* Q, float* theta, float* phi,
              float* u1, const MKL_INT* ldu1, float* u2,
              const MKL_INT* ldu2, float* v1t, const MKL_INT* ldv1t,
              float* v2t, const MKL_INT* ldv2t, float* b11d, float* b11e,
              float* b12d, float* b12e, float* b21d, float* b21e, float* b22d,
              float* b22e, float* rwork, const MKL_INT* lrwork, MKL_INT* info ) NOTHROW;

void DBBCSD( const char* jobu1, const char* jobu2, const char* jobv1t,
             const char* jobv2t, const char* trans, const MKL_INT* M,
             const MKL_INT* P, const MKL_INT* Q, double* theta, double* phi,
             double* u1, const MKL_INT* ldu1, double* u2,
             const MKL_INT* ldu2, double* v1t, const MKL_INT* ldv1t,
             double* v2t, const MKL_INT* ldv2t, double* b11d, double* b11e,
             double* b12d, double* b12e, double* b21d, double* b21e, double* b22d,
             double* b22e, double* rwork, const MKL_INT* lrwork, MKL_INT* info ) NOTHROW;

void DBBCSD_( const char* jobu1, const char* jobu2, const char* jobv1t,
              const char* jobv2t, const char* trans, const MKL_INT* M,
              const MKL_INT* P, const MKL_INT* Q, double* theta, double* phi,
              double* u1, const MKL_INT* ldu1, double* u2,
              const MKL_INT* ldu2, double* v1t, const MKL_INT* ldv1t,
              double* v2t, const MKL_INT* ldv2t, double* b11d, double* b11e,
              double* b12d, double* b12e, double* b21d, double* b21e, double* b22d,
              double* b22e, double* rwork, const MKL_INT* lrwork, MKL_INT* info ) NOTHROW;

void dbbcsd( const char* jobu1, const char* jobu2, const char* jobv1t,
             const char* jobv2t, const char* trans, const MKL_INT* M,
             const MKL_INT* P, const MKL_INT* Q, double* theta, double* phi,
             double* u1, const MKL_INT* ldu1, double* u2,
             const MKL_INT* ldu2, double* v1t, const MKL_INT* ldv1t,
             double* v2t, const MKL_INT* ldv2t, double* b11d, double* b11e,
             double* b12d, double* b12e, double* b21d, double* b21e, double* b22d,
             double* b22e, double* rwork, const MKL_INT* lrwork, MKL_INT* info ) NOTHROW;

void dbbcsd_( const char* jobu1, const char* jobu2, const char* jobv1t,
              const char* jobv2t, const char* trans, const MKL_INT* M,
              const MKL_INT* P, const MKL_INT* Q, double* theta, double* phi,
              double* u1, const MKL_INT* ldu1, double* u2,
              const MKL_INT* ldu2, double* v1t, const MKL_INT* ldv1t,
              double* v2t, const MKL_INT* ldv2t, double* b11d, double* b11e,
              double* b12d, double* b12e, double* b21d, double* b21e, double* b22d,
              double* b22e, double* rwork, const MKL_INT* lrwork, MKL_INT* info ) NOTHROW;

void CUNBDB( const char* trans, const char* signs, const MKL_INT* M,
             const MKL_INT* P, const MKL_INT* Q, MKL_Complex8* x11,
             const MKL_INT* ldx11, MKL_Complex8* x12, const MKL_INT* ldx12,
             MKL_Complex8* x21, const MKL_INT* ldx21, MKL_Complex8* x22,
             const MKL_INT* ldx22, float* theta, float* phi, MKL_Complex8* taup1,
             MKL_Complex8* taup2, MKL_Complex8* tauq1, MKL_Complex8* tauq2,
             MKL_Complex8* work, const MKL_INT* lwork, MKL_INT* info) NOTHROW;

void CUNBDB_( const char* trans, const char* signs, const MKL_INT* M,
              const MKL_INT* P, const MKL_INT* Q, MKL_Complex8* x11,
              const MKL_INT* ldx11, MKL_Complex8* x12, const MKL_INT* ldx12,
              MKL_Complex8* x21, const MKL_INT* ldx21, MKL_Complex8* x22,
              const MKL_INT* ldx22, float* theta, float* phi, MKL_Complex8* taup1,
              MKL_Complex8* taup2, MKL_Complex8* tauq1, MKL_Complex8* tauq2,
              MKL_Complex8* work, const MKL_INT* lwork, MKL_INT* info) NOTHROW;

void cunbdb( const char* trans, const char* signs, const MKL_INT* M,
             const MKL_INT* P, const MKL_INT* Q, MKL_Complex8* x11,
             const MKL_INT* ldx11, MKL_Complex8* x12, const MKL_INT* ldx12,
             MKL_Complex8* x21, const MKL_INT* ldx21, MKL_Complex8* x22,
             const MKL_INT* ldx22, float* theta, float* phi, MKL_Complex8* taup1,
             MKL_Complex8* taup2, MKL_Complex8* tauq1, MKL_Complex8* tauq2,
             MKL_Complex8* work, const MKL_INT* lwork, MKL_INT* info) NOTHROW;

void cunbdb_( const char* trans, const char* signs, const MKL_INT* M,
              const MKL_INT* P, const MKL_INT* Q, MKL_Complex8* x11,
              const MKL_INT* ldx11, MKL_Complex8* x12, const MKL_INT* ldx12,
              MKL_Complex8* x21, const MKL_INT* ldx21, MKL_Complex8* x22,
              const MKL_INT* ldx22, float* theta, float* phi, MKL_Complex8* taup1,
              MKL_Complex8* taup2, MKL_Complex8* tauq1, MKL_Complex8* tauq2,
              MKL_Complex8* work, const MKL_INT* lwork, MKL_INT* info) NOTHROW;

void ZUNBDB( const char* trans, const char* signs, const MKL_INT* M,
             const MKL_INT* P, const MKL_INT* Q, MKL_Complex16* x11,
             const MKL_INT* ldx11, MKL_Complex16* x12, const MKL_INT* ldx12,
             MKL_Complex16* x21, const MKL_INT* ldx21, MKL_Complex16* x22,
             const MKL_INT* ldx22, double* theta, double* phi, MKL_Complex16* taup1,
             MKL_Complex16* taup2, MKL_Complex16* tauq1, MKL_Complex16* tauq2,
             MKL_Complex16* work, const MKL_INT* lwork, MKL_INT* info) NOTHROW;

void ZUNBDB_( const char* trans, const char* signs, const MKL_INT* M,
              const MKL_INT* P, const MKL_INT* Q, MKL_Complex16* x11,
              const MKL_INT* ldx11, MKL_Complex16* x12, const MKL_INT* ldx12,
              MKL_Complex16* x21, const MKL_INT* ldx21, MKL_Complex16* x22,
              const MKL_INT* ldx22, double* theta, double* phi, MKL_Complex16* taup1,
              MKL_Complex16* taup2, MKL_Complex16* tauq1, MKL_Complex16* tauq2,
              MKL_Complex16* work, const MKL_INT* lwork, MKL_INT* info) NOTHROW;

void zunbdb( const char* trans, const char* signs, const MKL_INT* M,
             const MKL_INT* P, const MKL_INT* Q, MKL_Complex16* x11,
             const MKL_INT* ldx11, MKL_Complex16* x12, const MKL_INT* ldx12,
             MKL_Complex16* x21, const MKL_INT* ldx21, MKL_Complex16* x22,
             const MKL_INT* ldx22, double* theta, double* phi, MKL_Complex16* taup1,
             MKL_Complex16* taup2, MKL_Complex16* tauq1, MKL_Complex16* tauq2,
             MKL_Complex16* work, const MKL_INT* lwork, MKL_INT* info) NOTHROW;

void zunbdb_( const char* trans, const char* signs, const MKL_INT* M,
              const MKL_INT* P, const MKL_INT* Q, MKL_Complex16* x11,
              const MKL_INT* ldx11, MKL_Complex16* x12, const MKL_INT* ldx12,
              MKL_Complex16* x21, const MKL_INT* ldx21, MKL_Complex16* x22,
              const MKL_INT* ldx22, double* theta, double* phi, MKL_Complex16* taup1,
              MKL_Complex16* taup2, MKL_Complex16* tauq1, MKL_Complex16* tauq2,
              MKL_Complex16* work, const MKL_INT* lwork, MKL_INT* info) NOTHROW;

void SORBDB( const char* trans, const char* signs, const MKL_INT* M,
             const MKL_INT* P, const MKL_INT* Q, float* x11,
             const MKL_INT* ldx11, float* x12, const MKL_INT* ldx12,
             float* x21, const MKL_INT* ldx21, float* x22,
             const MKL_INT* ldx22, float* theta, float* phi, float* taup1,
             float* taup2, float* tauq1, float* tauq2,
             float* work, const MKL_INT* lwork, MKL_INT* info) NOTHROW;

void SORBDB_( const char* trans, const char* signs, const MKL_INT* M,
              const MKL_INT* P, const MKL_INT* Q, float* x11,
              const MKL_INT* ldx11, float* x12, const MKL_INT* ldx12,
              float* x21, const MKL_INT* ldx21, float* x22,
              const MKL_INT* ldx22, float* theta, float* phi, float* taup1,
              float* taup2, float* tauq1, float* tauq2,
              float* work, const MKL_INT* lwork, MKL_INT* info) NOTHROW;

void sorbdb( const char* trans, const char* signs, const MKL_INT* M,
             const MKL_INT* P, const MKL_INT* Q, float* x11,
             const MKL_INT* ldx11, float* x12, const MKL_INT* ldx12,
             float* x21, const MKL_INT* ldx21, float* x22,
             const MKL_INT* ldx22, float* theta, float* phi, float* taup1,
             float* taup2, float* tauq1, float* tauq2,
             float* work, const MKL_INT* lwork, MKL_INT* info) NOTHROW;

void sorbdb_( const char* trans, const char* signs, const MKL_INT* M,
              const MKL_INT* P, const MKL_INT* Q, float* x11,
              const MKL_INT* ldx11, float* x12, const MKL_INT* ldx12,
              float* x21, const MKL_INT* ldx21, float* x22,
              const MKL_INT* ldx22, float* theta, float* phi, float* taup1,
              float* taup2, float* tauq1, float* tauq2,
              float* work, const MKL_INT* lwork, MKL_INT* info) NOTHROW;

void DORBDB( const char* trans, const char* signs, const MKL_INT* M,
             const MKL_INT* P, const MKL_INT* Q, double* x11,
             const MKL_INT* ldx11, double* x12, const MKL_INT* ldx12,
             double* x21, const MKL_INT* ldx21, double* x22,
             const MKL_INT* ldx22, double* theta, double* phi, double* taup1,
             double* taup2, double* tauq1, double* tauq2,
             double* work, const MKL_INT* lwork, MKL_INT* info) NOTHROW;

void DORBDB_( const char* trans, const char* signs, const MKL_INT* M,
              const MKL_INT* P, const MKL_INT* Q, double* x11,
              const MKL_INT* ldx11, double* x12, const MKL_INT* ldx12,
              double* x21, const MKL_INT* ldx21, double* x22,
              const MKL_INT* ldx22, double* theta, double* phi, double* taup1,
              double* taup2, double* tauq1, double* tauq2,
              double* work, const MKL_INT* lwork, MKL_INT* info) NOTHROW;

void dorbdb( const char* trans, const char* signs, const MKL_INT* M,
             const MKL_INT* P, const MKL_INT* Q, double* x11,
             const MKL_INT* ldx11, double* x12, const MKL_INT* ldx12,
             double* x21, const MKL_INT* ldx21, double* x22,
             const MKL_INT* ldx22, double* theta, double* phi, double* taup1,
             double* taup2, double* tauq1, double* tauq2,
             double* work, const MKL_INT* lwork, MKL_INT* info) NOTHROW;

void dorbdb_( const char* trans, const char* signs, const MKL_INT* M,
              const MKL_INT* P, const MKL_INT* Q, double* x11,
              const MKL_INT* ldx11, double* x12, const MKL_INT* ldx12,
              double* x21, const MKL_INT* ldx21, double* x22,
              const MKL_INT* ldx22, double* theta, double* phi, double* taup1,
              double* taup2, double* tauq1, double* tauq2,
              double* work, const MKL_INT* lwork, MKL_INT* info) NOTHROW;

void CUNCSD( const char* jobu1, const char* jobu2, const char* jobv1t,
             const char* jobv2t, const char* trans, const char* signs,
             const MKL_INT* M, const MKL_INT* P, const MKL_INT* Q,
             MKL_Complex8* x11, const MKL_INT* ldx11, MKL_Complex8* x12,
             const MKL_INT* ldx12, MKL_Complex8* x21, const MKL_INT* ldx21,
             MKL_Complex8* x22, const MKL_INT* ldx22, float* theta,
             MKL_Complex8* u1, const MKL_INT* ldu1, MKL_Complex8* u2,
             const MKL_INT* ldu2, MKL_Complex8* v1t, const MKL_INT* ldv1t,
             MKL_Complex8* v2t, const MKL_INT* ldv2t, MKL_Complex8* work,
             const MKL_INT* lwork, float* rwork, const MKL_INT* lrwork,
             MKL_INT* iwork, MKL_INT* info) NOTHROW;

void CUNCSD_( const char* jobu1, const char* jobu2, const char* jobv1t,
              const char* jobv2t, const char* trans, const char* signs,
              const MKL_INT* M, const MKL_INT* P, const MKL_INT* Q,
              MKL_Complex8* x11, const MKL_INT* ldx11, MKL_Complex8* x12,
              const MKL_INT* ldx12, MKL_Complex8* x21, const MKL_INT* ldx21,
              MKL_Complex8* x22, const MKL_INT* ldx22, float* theta,
              MKL_Complex8* u1, const MKL_INT* ldu1, MKL_Complex8* u2,
              const MKL_INT* ldu2, MKL_Complex8* v1t, const MKL_INT* ldv1t,
              MKL_Complex8* v2t, const MKL_INT* ldv2t, MKL_Complex8* work,
              const MKL_INT* lwork, float* rwork, const MKL_INT* lrwork,
              MKL_INT* iwork, MKL_INT* info) NOTHROW;

void cuncsd( const char* jobu1, const char* jobu2, const char* jobv1t,
             const char* jobv2t, const char* trans, const char* signs,
             const MKL_INT* M, const MKL_INT* P, const MKL_INT* Q,
             MKL_Complex8* x11, const MKL_INT* ldx11, MKL_Complex8* x12,
             const MKL_INT* ldx12, MKL_Complex8* x21, const MKL_INT* ldx21,
             MKL_Complex8* x22, const MKL_INT* ldx22, float* theta,
             MKL_Complex8* u1, const MKL_INT* ldu1, MKL_Complex8* u2,
             const MKL_INT* ldu2, MKL_Complex8* v1t, const MKL_INT* ldv1t,
             MKL_Complex8* v2t, const MKL_INT* ldv2t, MKL_Complex8* work,
             const MKL_INT* lwork, float* rwork, const MKL_INT* lrwork,
             MKL_INT* iwork, MKL_INT* info) NOTHROW;

void cuncsd_( const char* jobu1, const char* jobu2, const char* jobv1t,
              const char* jobv2t, const char* trans, const char* signs,
              const MKL_INT* M, const MKL_INT* P, const MKL_INT* Q,
              MKL_Complex8* x11, const MKL_INT* ldx11, MKL_Complex8* x12,
              const MKL_INT* ldx12, MKL_Complex8* x21, const MKL_INT* ldx21,
              MKL_Complex8* x22, const MKL_INT* ldx22, float* theta,
              MKL_Complex8* u1, const MKL_INT* ldu1, MKL_Complex8* u2,
              const MKL_INT* ldu2, MKL_Complex8* v1t, const MKL_INT* ldv1t,
              MKL_Complex8* v2t, const MKL_INT* ldv2t, MKL_Complex8* work,
              const MKL_INT* lwork, float* rwork, const MKL_INT* lrwork,
              MKL_INT* iwork, MKL_INT* info) NOTHROW;

void ZUNCSD( const char* jobu1, const char* jobu2, const char* jobv1t,
             const char* jobv2t, const char* trans, const char* signs,
             const MKL_INT* M, const MKL_INT* P, const MKL_INT* Q,
             MKL_Complex16* x11, const MKL_INT* ldx11, MKL_Complex16* x12,
             const MKL_INT* ldx12, MKL_Complex16* x21, const MKL_INT* ldx21,
             MKL_Complex16* x22, const MKL_INT* ldx22, double* theta,
             MKL_Complex16* u1, const MKL_INT* ldu1, MKL_Complex16* u2,
             const MKL_INT* ldu2, MKL_Complex16* v1t, const MKL_INT* ldv1t,
             MKL_Complex16* v2t, const MKL_INT* ldv2t, MKL_Complex16* work,
             const MKL_INT* lwork, double* rwork, const MKL_INT* lrwork,
             MKL_INT* iwork, MKL_INT* info) NOTHROW;

void ZUNCSD_( const char* jobu1, const char* jobu2, const char* jobv1t,
              const char* jobv2t, const char* trans, const char* signs,
              const MKL_INT* M, const MKL_INT* P, const MKL_INT* Q,
              MKL_Complex16* x11, const MKL_INT* ldx11, MKL_Complex16* x12,
              const MKL_INT* ldx12, MKL_Complex16* x21, const MKL_INT* ldx21,
              MKL_Complex16* x22, const MKL_INT* ldx22, double* theta,
              MKL_Complex16* u1, const MKL_INT* ldu1, MKL_Complex16* u2,
              const MKL_INT* ldu2, MKL_Complex16* v1t, const MKL_INT* ldv1t,
              MKL_Complex16* v2t, const MKL_INT* ldv2t, MKL_Complex16* work,
              const MKL_INT* lwork, double* rwork, const MKL_INT* lrwork,
              MKL_INT* iwork, MKL_INT* info) NOTHROW;

void zuncsd( const char* jobu1, const char* jobu2, const char* jobv1t,
             const char* jobv2t, const char* trans, const char* signs,
             const MKL_INT* M, const MKL_INT* P, const MKL_INT* Q,
             MKL_Complex16* x11, const MKL_INT* ldx11, MKL_Complex16* x12,
             const MKL_INT* ldx12, MKL_Complex16* x21, const MKL_INT* ldx21,
             MKL_Complex16* x22, const MKL_INT* ldx22, double* theta,
             MKL_Complex16* u1, const MKL_INT* ldu1, MKL_Complex16* u2,
             const MKL_INT* ldu2, MKL_Complex16* v1t, const MKL_INT* ldv1t,
             MKL_Complex16* v2t, const MKL_INT* ldv2t, MKL_Complex16* work,
             const MKL_INT* lwork, double* rwork, const MKL_INT* lrwork,
             MKL_INT* iwork, MKL_INT* info) NOTHROW;

void zuncsd_( const char* jobu1, const char* jobu2, const char* jobv1t,
              const char* jobv2t, const char* trans, const char* signs,
              const MKL_INT* M, const MKL_INT* P, const MKL_INT* Q,
              MKL_Complex16* x11, const MKL_INT* ldx11, MKL_Complex16* x12,
              const MKL_INT* ldx12, MKL_Complex16* x21, const MKL_INT* ldx21,
              MKL_Complex16* x22, const MKL_INT* ldx22, double* theta,
              MKL_Complex16* u1, const MKL_INT* ldu1, MKL_Complex16* u2,
              const MKL_INT* ldu2, MKL_Complex16* v1t, const MKL_INT* ldv1t,
              MKL_Complex16* v2t, const MKL_INT* ldv2t, MKL_Complex16* work,
              const MKL_INT* lwork, double* rwork, const MKL_INT* lrwork,
              MKL_INT* iwork, MKL_INT* info) NOTHROW;

void SORCSD( const char* jobu1, const char* jobu2, const char* jobv1t,
             const char* jobv2t, const char* trans, const char* signs,
             const MKL_INT* M, const MKL_INT* P, const MKL_INT* Q,
             float* x11, const MKL_INT* ldx11, float* x12,
             const MKL_INT* ldx12, float* x21, const MKL_INT* ldx21,
             float* x22, const MKL_INT* ldx22, float* theta,
             float* u1, const MKL_INT* ldu1, float* u2,
             const MKL_INT* ldu2, float* v1t, const MKL_INT* ldv1t,
             float* v2t, const MKL_INT* ldv2t, float* work,
             const MKL_INT* lwork, MKL_INT* iwork, MKL_INT* info) NOTHROW;

void SORCSD_( const char* jobu1, const char* jobu2, const char* jobv1t,
              const char* jobv2t, const char* trans, const char* signs,
              const MKL_INT* M, const MKL_INT* P, const MKL_INT* Q,
              float* x11, const MKL_INT* ldx11, float* x12,
              const MKL_INT* ldx12, float* x21, const MKL_INT* ldx21,
              float* x22, const MKL_INT* ldx22, float* theta,
              float* u1, const MKL_INT* ldu1, float* u2,
              const MKL_INT* ldu2, float* v1t, const MKL_INT* ldv1t,
              float* v2t, const MKL_INT* ldv2t, float* work,
              const MKL_INT* lwork, MKL_INT* iwork, MKL_INT* info) NOTHROW;

void sorcsd( const char* jobu1, const char* jobu2, const char* jobv1t,
             const char* jobv2t, const char* trans, const char* signs,
             const MKL_INT* M, const MKL_INT* P, const MKL_INT* Q,
             float* x11, const MKL_INT* ldx11, float* x12,
             const MKL_INT* ldx12, float* x21, const MKL_INT* ldx21,
             float* x22, const MKL_INT* ldx22, float* theta,
             float* u1, const MKL_INT* ldu1, float* u2,
             const MKL_INT* ldu2, float* v1t, const MKL_INT* ldv1t,
             float* v2t, const MKL_INT* ldv2t, float* work,
             const MKL_INT* lwork, MKL_INT* iwork, MKL_INT* info) NOTHROW;

void sorcsd_( const char* jobu1, const char* jobu2, const char* jobv1t,
              const char* jobv2t, const char* trans, const char* signs,
              const MKL_INT* M, const MKL_INT* P, const MKL_INT* Q,
              float* x11, const MKL_INT* ldx11, float* x12,
              const MKL_INT* ldx12, float* x21, const MKL_INT* ldx21,
              float* x22, const MKL_INT* ldx22, float* theta,
              float* u1, const MKL_INT* ldu1, float* u2,
              const MKL_INT* ldu2, float* v1t, const MKL_INT* ldv1t,
              float* v2t, const MKL_INT* ldv2t, float* work,
              const MKL_INT* lwork, MKL_INT* iwork, MKL_INT* info) NOTHROW;

void DORCSD( const char* jobu1, const char* jobu2, const char* jobv1t,
             const char* jobv2t, const char* trans, const char* signs,
             const MKL_INT* M, const MKL_INT* P, const MKL_INT* Q,
             double* x11, const MKL_INT* ldx11, double* x12,
             const MKL_INT* ldx12, double* x21, const MKL_INT* ldx21,
             double* x22, const MKL_INT* ldx22, double* theta,
             double* u1, const MKL_INT* ldu1, double* u2,
             const MKL_INT* ldu2, double* v1t, const MKL_INT* ldv1t,
             double* v2t, const MKL_INT* ldv2t, double* work,
             const MKL_INT* lwork, MKL_INT* iwork, MKL_INT* info) NOTHROW;

void DORCSD_( const char* jobu1, const char* jobu2, const char* jobv1t,
              const char* jobv2t, const char* trans, const char* signs,
              const MKL_INT* M, const MKL_INT* P, const MKL_INT* Q,
              double* x11, const MKL_INT* ldx11, double* x12,
              const MKL_INT* ldx12, double* x21, const MKL_INT* ldx21,
              double* x22, const MKL_INT* ldx22, double* theta,
              double* u1, const MKL_INT* ldu1, double* u2,
              const MKL_INT* ldu2, double* v1t, const MKL_INT* ldv1t,
              double* v2t, const MKL_INT* ldv2t, double* work,
              const MKL_INT* lwork, MKL_INT* iwork, MKL_INT* info) NOTHROW;

void dorcsd( const char* jobu1, const char* jobu2, const char* jobv1t,
             const char* jobv2t, const char* trans, const char* signs,
             const MKL_INT* M, const MKL_INT* P, const MKL_INT* Q,
             double* x11, const MKL_INT* ldx11, double* x12,
             const MKL_INT* ldx12, double* x21, const MKL_INT* ldx21,
             double* x22, const MKL_INT* ldx22, double* theta,
             double* u1, const MKL_INT* ldu1, double* u2,
             const MKL_INT* ldu2, double* v1t, const MKL_INT* ldv1t,
             double* v2t, const MKL_INT* ldv2t, double* work,
             const MKL_INT* lwork, MKL_INT* iwork, MKL_INT* info) NOTHROW;

void dorcsd_( const char* jobu1, const char* jobu2, const char* jobv1t,
              const char* jobv2t, const char* trans, const char* signs,
              const MKL_INT* M, const MKL_INT* P, const MKL_INT* Q,
              double* x11, const MKL_INT* ldx11, double* x12,
              const MKL_INT* ldx12, double* x21, const MKL_INT* ldx21,
              double* x22, const MKL_INT* ldx22, double* theta,
              double* u1, const MKL_INT* ldu1, double* u2,
              const MKL_INT* ldu2, double* v1t, const MKL_INT* ldv1t,
              double* v2t, const MKL_INT* ldv2t, double* work,
              const MKL_INT* lwork, MKL_INT* iwork, MKL_INT* info) NOTHROW;


void CLAPMR( const MKL_INT* forwrd, const MKL_INT* m, const MKL_INT* n,
             MKL_Complex8* x, const MKL_INT* ldx, MKL_INT* k ) NOTHROW;
void CLAPMR_( const MKL_INT* forwrd, const MKL_INT* m, const MKL_INT* n,
              MKL_Complex8* x, const MKL_INT* ldx, MKL_INT* k ) NOTHROW;
void clapmr( const MKL_INT* forwrd, const MKL_INT* m, const MKL_INT* n,
             MKL_Complex8* x, const MKL_INT* ldx, MKL_INT* k ) NOTHROW;
void clapmr_( const MKL_INT* forwrd, const MKL_INT* m, const MKL_INT* n,
              MKL_Complex8* x, const MKL_INT* ldx, MKL_INT* k ) NOTHROW;

void DLAPMR( const MKL_INT* forwrd, const MKL_INT* m, const MKL_INT* n,
             double* x, const MKL_INT* ldx, MKL_INT* k ) NOTHROW;
void DLAPMR_( const MKL_INT* forwrd, const MKL_INT* m, const MKL_INT* n,
              double* x, const MKL_INT* ldx, MKL_INT* k ) NOTHROW;
void dlapmr( const MKL_INT* forwrd, const MKL_INT* m, const MKL_INT* n,
             double* x, const MKL_INT* ldx, MKL_INT* k ) NOTHROW;
void dlapmr_( const MKL_INT* forwrd, const MKL_INT* m, const MKL_INT* n,
              double* x, const MKL_INT* ldx, MKL_INT* k ) NOTHROW;

void ZLAPMR( const MKL_INT* forwrd, const MKL_INT* m, const MKL_INT* n,
             MKL_Complex16* x, const MKL_INT* ldx, MKL_INT* k ) NOTHROW;
void ZLAPMR_( const MKL_INT* forwrd, const MKL_INT* m, const MKL_INT* n,
              MKL_Complex16* x, const MKL_INT* ldx, MKL_INT* k ) NOTHROW;
void zlapmr( const MKL_INT* forwrd, const MKL_INT* m, const MKL_INT* n,
             MKL_Complex16* x, const MKL_INT* ldx, MKL_INT* k ) NOTHROW;
void zlapmr_( const MKL_INT* forwrd, const MKL_INT* m, const MKL_INT* n,
              MKL_Complex16* x, const MKL_INT* ldx, MKL_INT* k ) NOTHROW;

void SLAPMR( const MKL_INT* forwrd, const MKL_INT* m, const MKL_INT* n,
             float* x, const MKL_INT* ldx, MKL_INT* k ) NOTHROW;
void SLAPMR_( const MKL_INT* forwrd, const MKL_INT* m, const MKL_INT* n,
              float* x, const MKL_INT* ldx, MKL_INT* k ) NOTHROW;
void slapmr( const MKL_INT* forwrd, const MKL_INT* m, const MKL_INT* n,
             float* x, const MKL_INT* ldx, MKL_INT* k ) NOTHROW;
void slapmr_( const MKL_INT* forwrd, const MKL_INT* m, const MKL_INT* n,
              float* x, const MKL_INT* ldx, MKL_INT* k ) NOTHROW;

void CSYCONV( const char* uplo, const char* way, const MKL_INT* n,
             MKL_Complex8* a, const MKL_INT* lda, const MKL_INT* ipiv,
             MKL_Complex8* e, MKL_INT* info ) NOTHROW;
void CSYCONV_( const char* uplo, const char* way, const MKL_INT* n,
             MKL_Complex8* a, const MKL_INT* lda, const MKL_INT* ipiv,
             MKL_Complex8* e, MKL_INT* info ) NOTHROW;
void csyconv( const char* uplo, const char* way, const MKL_INT* n,
             MKL_Complex8* a, const MKL_INT* lda, const MKL_INT* ipiv,
             MKL_Complex8* e, MKL_INT* info ) NOTHROW;
void csyconv_( const char* uplo, const char* way, const MKL_INT* n,
             MKL_Complex8* a, const MKL_INT* lda, const MKL_INT* ipiv,
             MKL_Complex8* e, MKL_INT* info ) NOTHROW;

void ZSYCONV( const char* uplo, const char* way, const MKL_INT* n,
             MKL_Complex16* a, const MKL_INT* lda, const MKL_INT* ipiv,
             MKL_Complex16* e, MKL_INT* info ) NOTHROW;
void ZSYCONV_( const char* uplo, const char* way, const MKL_INT* n,
             MKL_Complex16* a, const MKL_INT* lda, const MKL_INT* ipiv,
             MKL_Complex16* e, MKL_INT* info ) NOTHROW;
void zsyconv( const char* uplo, const char* way, const MKL_INT* n,
             MKL_Complex16* a, const MKL_INT* lda, const MKL_INT* ipiv,
             MKL_Complex16* e, MKL_INT* info ) NOTHROW;
void zsyconv_( const char* uplo, const char* way, const MKL_INT* n,
             MKL_Complex16* a, const MKL_INT* lda, const MKL_INT* ipiv,
             MKL_Complex16* e, MKL_INT* info ) NOTHROW;

void SSYCONV( const char* uplo, const char* way, const MKL_INT* n,
             float* a, const MKL_INT* lda, const MKL_INT* ipiv,
             float* e, MKL_INT* info ) NOTHROW;
void SSYCONV_( const char* uplo, const char* way, const MKL_INT* n,
             float* a, const MKL_INT* lda, const MKL_INT* ipiv,
             float* e, MKL_INT* info ) NOTHROW;
void ssyconv( const char* uplo, const char* way, const MKL_INT* n,
             float* a, const MKL_INT* lda, const MKL_INT* ipiv,
             float* e, MKL_INT* info ) NOTHROW;
void ssyconv_( const char* uplo, const char* way, const MKL_INT* n,
             float* a, const MKL_INT* lda, const MKL_INT* ipiv,
             float* e, MKL_INT* info ) NOTHROW;

void DSYCONV( const char* uplo, const char* way, const MKL_INT* n,
             double* a, const MKL_INT* lda, const MKL_INT* ipiv,
             double* e, MKL_INT* info ) NOTHROW;
void DSYCONV_( const char* uplo, const char* way, const MKL_INT* n,
             double* a, const MKL_INT* lda, const MKL_INT* ipiv,
             double* e, MKL_INT* info ) NOTHROW;
void dsyconv( const char* uplo, const char* way, const MKL_INT* n,
             double* a, const MKL_INT* lda, const MKL_INT* ipiv,
             double* e, MKL_INT* info ) NOTHROW;
void dsyconv_( const char* uplo, const char* way, const MKL_INT* n,
             double* a, const MKL_INT* lda, const MKL_INT* ipiv,
             double* e, MKL_INT* info ) NOTHROW;

void CSYSWAPR( const char* uplo, const MKL_INT* n, MKL_Complex8* a,
               const MKL_INT* lda, const MKL_INT* i1, const MKL_INT* i2 ) NOTHROW;
void CSYSWAPR_( const char* uplo, const MKL_INT* n, MKL_Complex8* a,
                const MKL_INT* lda, const MKL_INT* i1, const MKL_INT* i2 ) NOTHROW;
void csyswapr( const char* uplo, const MKL_INT* n, MKL_Complex8* a,
               const MKL_INT* lda, const MKL_INT* i1, const MKL_INT* i2 ) NOTHROW;
void csyswapr_( const char* uplo, const MKL_INT* n, MKL_Complex8* a,
                const MKL_INT* lda, const MKL_INT* i1, const MKL_INT* i2 ) NOTHROW;

void ZSYSWAPR( const char* uplo, const MKL_INT* n, MKL_Complex16* a,
               const MKL_INT* lda, const MKL_INT* i1, const MKL_INT* i2 ) NOTHROW;
void ZSYSWAPR_( const char* uplo, const MKL_INT* n, MKL_Complex16* a,
                const MKL_INT* lda, const MKL_INT* i1, const MKL_INT* i2 ) NOTHROW;
void zsyswapr( const char* uplo, const MKL_INT* n, MKL_Complex16* a,
               const MKL_INT* lda, const MKL_INT* i1, const MKL_INT* i2 ) NOTHROW;
void zsyswapr_( const char* uplo, const MKL_INT* n, MKL_Complex16* a,
                const MKL_INT* lda, const MKL_INT* i1, const MKL_INT* i2 ) NOTHROW;

void SSYSWAPR( const char* uplo, const MKL_INT* n, float* a,
               const MKL_INT* lda, const MKL_INT* i1, const MKL_INT* i2 ) NOTHROW;
void SSYSWAPR_( const char* uplo, const MKL_INT* n, float* a,
                const MKL_INT* lda, const MKL_INT* i1, const MKL_INT* i2 ) NOTHROW;
void ssyswapr( const char* uplo, const MKL_INT* n, float* a,
               const MKL_INT* lda, const MKL_INT* i1, const MKL_INT* i2 ) NOTHROW;
void ssyswapr_( const char* uplo, const MKL_INT* n, float* a,
                const MKL_INT* lda, const MKL_INT* i1, const MKL_INT* i2 ) NOTHROW;

void DSYSWAPR( const char* uplo, const MKL_INT* n, double* a,
               const MKL_INT* lda, const MKL_INT* i1, const MKL_INT* i2 ) NOTHROW;
void DSYSWAPR_( const char* uplo, const MKL_INT* n, double* a,
                const MKL_INT* lda, const MKL_INT* i1, const MKL_INT* i2 ) NOTHROW;
void dsyswapr( const char* uplo, const MKL_INT* n, double* a,
               const MKL_INT* lda, const MKL_INT* i1, const MKL_INT* i2 ) NOTHROW;
void dsyswapr_( const char* uplo, const MKL_INT* n, double* a,
                const MKL_INT* lda, const MKL_INT* i1, const MKL_INT* i2 ) NOTHROW;

void CSYTRI2( const char* uplo, const MKL_INT* n, MKL_Complex8* a,
              const MKL_INT* lda, const MKL_INT* ipiv, MKL_Complex8* work,
              const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void CSYTRI2_( const char* uplo, const MKL_INT* n, MKL_Complex8* a,
               const MKL_INT* lda, const MKL_INT* ipiv, MKL_Complex8* work,
               const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void csytri2( const char* uplo, const MKL_INT* n, MKL_Complex8* a,
              const MKL_INT* lda, const MKL_INT* ipiv, MKL_Complex8* work,
              const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void csytri2_( const char* uplo, const MKL_INT* n, MKL_Complex8* a,
               const MKL_INT* lda, const MKL_INT* ipiv, MKL_Complex8* work,
               const MKL_INT* lwork, MKL_INT* info ) NOTHROW;

void ZSYTRI2( const char* uplo, const MKL_INT* n, MKL_Complex16* a,
              const MKL_INT* lda, const MKL_INT* ipiv, MKL_Complex16* work,
              const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void ZSYTRI2_( const char* uplo, const MKL_INT* n, MKL_Complex16* a,
               const MKL_INT* lda, const MKL_INT* ipiv, MKL_Complex16* work,
               const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void zsytri2( const char* uplo, const MKL_INT* n, MKL_Complex16* a,
              const MKL_INT* lda, const MKL_INT* ipiv, MKL_Complex16* work,
              const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void zsytri2_( const char* uplo, const MKL_INT* n, MKL_Complex16* a,
               const MKL_INT* lda, const MKL_INT* ipiv, MKL_Complex16* work,
               const MKL_INT* lwork, MKL_INT* info ) NOTHROW;

void SSYTRI2( const char* uplo, const MKL_INT* n, float* a,
              const MKL_INT* lda, const MKL_INT* ipiv, float* work,
              const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void SSYTRI2_( const char* uplo, const MKL_INT* n, float* a,
               const MKL_INT* lda, const MKL_INT* ipiv, float* work,
               const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void ssytri2( const char* uplo, const MKL_INT* n, float* a,
              const MKL_INT* lda, const MKL_INT* ipiv, float* work,
              const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void ssytri2_( const char* uplo, const MKL_INT* n, float* a,
               const MKL_INT* lda, const MKL_INT* ipiv, float* work,
               const MKL_INT* lwork, MKL_INT* info ) NOTHROW;

void DSYTRI2( const char* uplo, const MKL_INT* n, double* a,
              const MKL_INT* lda, const MKL_INT* ipiv, double* work,
              const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void DSYTRI2_( const char* uplo, const MKL_INT* n, double* a,
               const MKL_INT* lda, const MKL_INT* ipiv, double* work,
               const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void dsytri2( const char* uplo, const MKL_INT* n, double* a,
              const MKL_INT* lda, const MKL_INT* ipiv, double* work,
              const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void dsytri2_( const char* uplo, const MKL_INT* n, double* a,
               const MKL_INT* lda, const MKL_INT* ipiv, double* work,
               const MKL_INT* lwork, MKL_INT* info ) NOTHROW;

void CSYTRI2X( const char* uplo, const MKL_INT* n, MKL_Complex8* a,
              const MKL_INT* lda, const MKL_INT* ipiv, MKL_Complex8* work,
              const MKL_INT* nb, MKL_INT* info ) NOTHROW;
void CSYTRI2X_( const char* uplo, const MKL_INT* n, MKL_Complex8* a,
               const MKL_INT* lda, const MKL_INT* ipiv, MKL_Complex8* work,
               const MKL_INT* nb, MKL_INT* info ) NOTHROW;
void csytri2x( const char* uplo, const MKL_INT* n, MKL_Complex8* a,
              const MKL_INT* lda, const MKL_INT* ipiv, MKL_Complex8* work,
              const MKL_INT* nb, MKL_INT* info ) NOTHROW;
void csytri2x_( const char* uplo, const MKL_INT* n, MKL_Complex8* a,
               const MKL_INT* lda, const MKL_INT* ipiv, MKL_Complex8* work,
               const MKL_INT* nb, MKL_INT* info ) NOTHROW;

void ZSYTRI2X( const char* uplo, const MKL_INT* n, MKL_Complex16* a,
              const MKL_INT* lda, const MKL_INT* ipiv, MKL_Complex16* work,
              const MKL_INT* nb, MKL_INT* info ) NOTHROW;
void ZSYTRI2X_( const char* uplo, const MKL_INT* n, MKL_Complex16* a,
               const MKL_INT* lda, const MKL_INT* ipiv, MKL_Complex16* work,
               const MKL_INT* nb, MKL_INT* info ) NOTHROW;
void zsytri2x( const char* uplo, const MKL_INT* n, MKL_Complex16* a,
              const MKL_INT* lda, const MKL_INT* ipiv, MKL_Complex16* work,
              const MKL_INT* nb, MKL_INT* info ) NOTHROW;
void zsytri2x_( const char* uplo, const MKL_INT* n, MKL_Complex16* a,
               const MKL_INT* lda, const MKL_INT* ipiv, MKL_Complex16* work,
               const MKL_INT* nb, MKL_INT* info ) NOTHROW;

void SSYTRI2X( const char* uplo, const MKL_INT* n, float* a,
              const MKL_INT* lda, const MKL_INT* ipiv, float* work,
              const MKL_INT* nb, MKL_INT* info ) NOTHROW;
void SSYTRI2X_( const char* uplo, const MKL_INT* n, float* a,
               const MKL_INT* lda, const MKL_INT* ipiv, float* work,
               const MKL_INT* nb, MKL_INT* info ) NOTHROW;
void ssytri2x( const char* uplo, const MKL_INT* n, float* a,
              const MKL_INT* lda, const MKL_INT* ipiv, float* work,
              const MKL_INT* nb, MKL_INT* info ) NOTHROW;
void ssytri2x_( const char* uplo, const MKL_INT* n, float* a,
               const MKL_INT* lda, const MKL_INT* ipiv, float* work,
               const MKL_INT* nb, MKL_INT* info ) NOTHROW;

void DSYTRI2X( const char* uplo, const MKL_INT* n, double* a,
              const MKL_INT* lda, const MKL_INT* ipiv, double* work,
              const MKL_INT* nb, MKL_INT* info ) NOTHROW;
void DSYTRI2X_( const char* uplo, const MKL_INT* n, double* a,
               const MKL_INT* lda, const MKL_INT* ipiv, double* work,
               const MKL_INT* nb, MKL_INT* info ) NOTHROW;
void dsytri2x( const char* uplo, const MKL_INT* n, double* a,
              const MKL_INT* lda, const MKL_INT* ipiv, double* work,
              const MKL_INT* nb, MKL_INT* info ) NOTHROW;
void dsytri2x_( const char* uplo, const MKL_INT* n, double* a,
               const MKL_INT* lda, const MKL_INT* ipiv, double* work,
               const MKL_INT* nb, MKL_INT* info ) NOTHROW;

void SLARTGP( const float* f, const float* g, float* cs, float* sn, float* r ) NOTHROW;
void SLARTGP_( const float* f, const float* g, float* cs, float* sn, float* r ) NOTHROW;
void slartgp( const float* f, const float* g, float* cs, float* sn, float* r ) NOTHROW;
void slartgp_( const float* f, const float* g, float* cs, float* sn, float* r ) NOTHROW;

void DLARTGP( const double* f, const double* g, double* cs, double* sn, double* r ) NOTHROW;
void DLARTGP_( const double* f, const double* g, double* cs, double* sn, double* r ) NOTHROW;
void dlartgp( const double* f, const double* g, double* cs, double* sn, double* r ) NOTHROW;
void dlartgp_( const double* f, const double* g, double* cs, double* sn, double* r ) NOTHROW;

void SLARTGS( const float* x, const float* y, const float* sigma, float* cs, float* sn ) NOTHROW;
void SLARTGS_( const float* x, const float* y, const float* sigma, float* cs, float* sn ) NOTHROW;
void slartgs( const float* x, const float* y, const float* sigma, float* cs, float* sn ) NOTHROW;
void slartgs_( const float* x, const float* y, const float* sigma, float* cs, float* sn ) NOTHROW;

void DLARTGS( const double* x, const double* y, const double* sigma, double* cs, double* sn ) NOTHROW;
void DLARTGS_( const double* x, const double* y, const double* sigma, double* cs, double* sn ) NOTHROW;
void dlartgs( const double* x, const double* y, const double* sigma, double* cs, double* sn ) NOTHROW;
void dlartgs_( const double* x, const double* y, const double* sigma, double* cs, double* sn ) NOTHROW;

void CSYTRS2( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs,
              MKL_Complex8* a, const MKL_INT* lda, const MKL_INT* ipiv,
             MKL_Complex8* b, const MKL_INT* ldb, MKL_Complex8* work, MKL_INT* info ) NOTHROW;
void CSYTRS2_( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs,
               MKL_Complex8* a, const MKL_INT* lda, const MKL_INT* ipiv,
             MKL_Complex8* b, const MKL_INT* ldb, MKL_Complex8* work, MKL_INT* info ) NOTHROW;
void csytrs2( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs,
               MKL_Complex8* a, const MKL_INT* lda, const MKL_INT* ipiv,
             MKL_Complex8* b, const MKL_INT* ldb, MKL_Complex8* work, MKL_INT* info ) NOTHROW;
void csytrs2_( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs,
               MKL_Complex8* a, const MKL_INT* lda, const MKL_INT* ipiv,
             MKL_Complex8* b, const MKL_INT* ldb, MKL_Complex8* work, MKL_INT* info ) NOTHROW;

void ZSYTRS2( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs,
              MKL_Complex16* a, const MKL_INT* lda, const MKL_INT* ipiv,
             MKL_Complex16* b, const MKL_INT* ldb, MKL_Complex16* work, MKL_INT* info ) NOTHROW;
void ZSYTRS2_( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs,
               MKL_Complex16* a, const MKL_INT* lda, const MKL_INT* ipiv,
             MKL_Complex16* b, const MKL_INT* ldb, MKL_Complex16* work, MKL_INT* info ) NOTHROW;
void zsytrs2( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs,
               MKL_Complex16* a, const MKL_INT* lda, const MKL_INT* ipiv,
             MKL_Complex16* b, const MKL_INT* ldb, MKL_Complex16* work, MKL_INT* info ) NOTHROW;
void zsytrs2_( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs,
               MKL_Complex16* a, const MKL_INT* lda, const MKL_INT* ipiv,
             MKL_Complex16* b, const MKL_INT* ldb, MKL_Complex16* work, MKL_INT* info ) NOTHROW;

void SSYTRS2( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs,
              float* a, const MKL_INT* lda, const MKL_INT* ipiv,
             float* b, const MKL_INT* ldb, float* work, MKL_INT* info ) NOTHROW;
void SSYTRS2_( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs,
               float* a, const MKL_INT* lda, const MKL_INT* ipiv,
             float* b, const MKL_INT* ldb, float* work, MKL_INT* info ) NOTHROW;
void ssytrs2( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs,
               float* a, const MKL_INT* lda, const MKL_INT* ipiv,
             float* b, const MKL_INT* ldb, float* work, MKL_INT* info ) NOTHROW;
void ssytrs2_( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs,
               float* a, const MKL_INT* lda, const MKL_INT* ipiv,
             float* b, const MKL_INT* ldb, float* work, MKL_INT* info ) NOTHROW;

void DSYTRS2( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs,
              double* a, const MKL_INT* lda, const MKL_INT* ipiv,
             double* b, const MKL_INT* ldb, double* work, MKL_INT* info ) NOTHROW;
void DSYTRS2_( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs,
               double* a, const MKL_INT* lda, const MKL_INT* ipiv,
             double* b, const MKL_INT* ldb, double* work, MKL_INT* info ) NOTHROW;
void dsytrs2( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs,
               double* a, const MKL_INT* lda, const MKL_INT* ipiv,
             double* b, const MKL_INT* ldb, double* work, MKL_INT* info ) NOTHROW;
void dsytrs2_( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs,
               double* a, const MKL_INT* lda, const MKL_INT* ipiv,
             double* b, const MKL_INT* ldb, double* work, MKL_INT* info ) NOTHROW;

void CHETRS2( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs,
              MKL_Complex8* a, const MKL_INT* lda, const MKL_INT* ipiv,
              MKL_Complex8* b, const MKL_INT* ldb, MKL_Complex8* work,
              MKL_INT* info ) NOTHROW;
void CHETRS2_( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs,
               MKL_Complex8* a, const MKL_INT* lda, const MKL_INT* ipiv,
               MKL_Complex8* b, const MKL_INT* ldb, MKL_Complex8* work,
               MKL_INT* info ) NOTHROW;
void chetrs2( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs,
               MKL_Complex8* a, const MKL_INT* lda, const MKL_INT* ipiv,
               MKL_Complex8* b, const MKL_INT* ldb, MKL_Complex8* work,
               MKL_INT* info ) NOTHROW;
void chetrs2_( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs,
               MKL_Complex8* a, const MKL_INT* lda, const MKL_INT* ipiv,
               MKL_Complex8* b, const MKL_INT* ldb, MKL_Complex8* work,
               MKL_INT* info ) NOTHROW;

void ZHETRS2( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs,
             MKL_Complex16* a, const MKL_INT* lda, const MKL_INT* ipiv,
             MKL_Complex16* b, const MKL_INT* ldb, MKL_Complex16* work, MKL_INT* info ) NOTHROW;
void ZHETRS2_( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs,
             MKL_Complex16* a, const MKL_INT* lda, const MKL_INT* ipiv,
             MKL_Complex16* b, const MKL_INT* ldb, MKL_Complex16* work, MKL_INT* info ) NOTHROW;
void zhetrs2( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs,
             MKL_Complex16* a, const MKL_INT* lda, const MKL_INT* ipiv,
             MKL_Complex16* b, const MKL_INT* ldb, MKL_Complex16* work, MKL_INT* info ) NOTHROW;
void zhetrs2_( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs,
             MKL_Complex16* a, const MKL_INT* lda, const MKL_INT* ipiv,
             MKL_Complex16* b, const MKL_INT* ldb, MKL_Complex16* work, MKL_INT* info ) NOTHROW;

/* LAPACK 3.2 routines */

void CBDSQR( const char* uplo, const MKL_INT* n, const MKL_INT* ncvt,
             const MKL_INT* nru, const MKL_INT* ncc, float* d, float* e,
             MKL_Complex8* vt, const MKL_INT* ldvt, MKL_Complex8* u,
             const MKL_INT* ldu, MKL_Complex8* c, const MKL_INT* ldc,
             float* rwork, MKL_INT* info ) NOTHROW;
void CBDSQR_( const char* uplo, const MKL_INT* n, const MKL_INT* ncvt,
              const MKL_INT* nru, const MKL_INT* ncc, float* d, float* e,
              MKL_Complex8* vt, const MKL_INT* ldvt, MKL_Complex8* u,
              const MKL_INT* ldu, MKL_Complex8* c, const MKL_INT* ldc,
              float* rwork, MKL_INT* info ) NOTHROW;
void cbdsqr( const char* uplo, const MKL_INT* n, const MKL_INT* ncvt,
             const MKL_INT* nru, const MKL_INT* ncc, float* d, float* e,
             MKL_Complex8* vt, const MKL_INT* ldvt, MKL_Complex8* u,
             const MKL_INT* ldu, MKL_Complex8* c, const MKL_INT* ldc,
             float* rwork, MKL_INT* info ) NOTHROW;
void cbdsqr_( const char* uplo, const MKL_INT* n, const MKL_INT* ncvt,
              const MKL_INT* nru, const MKL_INT* ncc, float* d, float* e,
              MKL_Complex8* vt, const MKL_INT* ldvt, MKL_Complex8* u,
              const MKL_INT* ldu, MKL_Complex8* c, const MKL_INT* ldc,
              float* rwork, MKL_INT* info ) NOTHROW;

void CGBBRD( const char* vect, const MKL_INT* m, const MKL_INT* n,
             const MKL_INT* ncc, const MKL_INT* kl, const MKL_INT* ku,
             MKL_Complex8* ab, const MKL_INT* ldab, float* d, float* e,
             MKL_Complex8* q, const MKL_INT* ldq, MKL_Complex8* pt,
             const MKL_INT* ldpt, MKL_Complex8* c, const MKL_INT* ldc,
             MKL_Complex8* work, float* rwork, MKL_INT* info ) NOTHROW;
void CGBBRD_( const char* vect, const MKL_INT* m, const MKL_INT* n,
              const MKL_INT* ncc, const MKL_INT* kl, const MKL_INT* ku,
              MKL_Complex8* ab, const MKL_INT* ldab, float* d, float* e,
              MKL_Complex8* q, const MKL_INT* ldq, MKL_Complex8* pt,
              const MKL_INT* ldpt, MKL_Complex8* c, const MKL_INT* ldc,
              MKL_Complex8* work, float* rwork, MKL_INT* info ) NOTHROW;
void cgbbrd( const char* vect, const MKL_INT* m, const MKL_INT* n,
             const MKL_INT* ncc, const MKL_INT* kl, const MKL_INT* ku,
             MKL_Complex8* ab, const MKL_INT* ldab, float* d, float* e,
             MKL_Complex8* q, const MKL_INT* ldq, MKL_Complex8* pt,
             const MKL_INT* ldpt, MKL_Complex8* c, const MKL_INT* ldc,
             MKL_Complex8* work, float* rwork, MKL_INT* info ) NOTHROW;
void cgbbrd_( const char* vect, const MKL_INT* m, const MKL_INT* n,
              const MKL_INT* ncc, const MKL_INT* kl, const MKL_INT* ku,
              MKL_Complex8* ab, const MKL_INT* ldab, float* d, float* e,
              MKL_Complex8* q, const MKL_INT* ldq, MKL_Complex8* pt,
              const MKL_INT* ldpt, MKL_Complex8* c, const MKL_INT* ldc,
              MKL_Complex8* work, float* rwork, MKL_INT* info ) NOTHROW;

void CGBCON( const char* norm, const MKL_INT* n, const MKL_INT* kl,
             const MKL_INT* ku, const MKL_Complex8* ab, const MKL_INT* ldab,
             const MKL_INT* ipiv, const float* anorm, float* rcond,
             MKL_Complex8* work, float* rwork, MKL_INT* info ) NOTHROW;
void CGBCON_( const char* norm, const MKL_INT* n, const MKL_INT* kl,
              const MKL_INT* ku, const MKL_Complex8* ab, const MKL_INT* ldab,
              const MKL_INT* ipiv, const float* anorm, float* rcond,
              MKL_Complex8* work, float* rwork, MKL_INT* info ) NOTHROW;
void cgbcon( const char* norm, const MKL_INT* n, const MKL_INT* kl,
             const MKL_INT* ku, const MKL_Complex8* ab, const MKL_INT* ldab,
             const MKL_INT* ipiv, const float* anorm, float* rcond,
             MKL_Complex8* work, float* rwork, MKL_INT* info ) NOTHROW;
void cgbcon_( const char* norm, const MKL_INT* n, const MKL_INT* kl,
              const MKL_INT* ku, const MKL_Complex8* ab, const MKL_INT* ldab,
              const MKL_INT* ipiv, const float* anorm, float* rcond,
              MKL_Complex8* work, float* rwork, MKL_INT* info ) NOTHROW;

void CGBEQUB( const MKL_INT* m, const MKL_INT* n, const MKL_INT* kl,
              const MKL_INT* ku, const MKL_Complex8* ab, const MKL_INT* ldab,
              float* r, float* c, float* rowcnd, float* colcnd, float* amax,
              MKL_INT* info ) NOTHROW;
void CGBEQUB_( const MKL_INT* m, const MKL_INT* n, const MKL_INT* kl,
               const MKL_INT* ku, const MKL_Complex8* ab, const MKL_INT* ldab,
               float* r, float* c, float* rowcnd, float* colcnd, float* amax,
               MKL_INT* info ) NOTHROW;
void cgbequb( const MKL_INT* m, const MKL_INT* n, const MKL_INT* kl,
              const MKL_INT* ku, const MKL_Complex8* ab, const MKL_INT* ldab,
              float* r, float* c, float* rowcnd, float* colcnd, float* amax,
              MKL_INT* info ) NOTHROW;
void cgbequb_( const MKL_INT* m, const MKL_INT* n, const MKL_INT* kl,
               const MKL_INT* ku, const MKL_Complex8* ab, const MKL_INT* ldab,
               float* r, float* c, float* rowcnd, float* colcnd, float* amax,
               MKL_INT* info ) NOTHROW;

void CGBEQU( const MKL_INT* m, const MKL_INT* n, const MKL_INT* kl,
             const MKL_INT* ku, const MKL_Complex8* ab, const MKL_INT* ldab,
             float* r, float* c, float* rowcnd, float* colcnd, float* amax,
             MKL_INT* info ) NOTHROW;
void CGBEQU_( const MKL_INT* m, const MKL_INT* n, const MKL_INT* kl,
              const MKL_INT* ku, const MKL_Complex8* ab, const MKL_INT* ldab,
              float* r, float* c, float* rowcnd, float* colcnd, float* amax,
              MKL_INT* info ) NOTHROW;
void cgbequ( const MKL_INT* m, const MKL_INT* n, const MKL_INT* kl,
             const MKL_INT* ku, const MKL_Complex8* ab, const MKL_INT* ldab,
             float* r, float* c, float* rowcnd, float* colcnd, float* amax,
             MKL_INT* info ) NOTHROW;
void cgbequ_( const MKL_INT* m, const MKL_INT* n, const MKL_INT* kl,
              const MKL_INT* ku, const MKL_Complex8* ab, const MKL_INT* ldab,
              float* r, float* c, float* rowcnd, float* colcnd, float* amax,
              MKL_INT* info ) NOTHROW;

void CGBRFS( const char* trans, const MKL_INT* n, const MKL_INT* kl,
             const MKL_INT* ku, const MKL_INT* nrhs, const MKL_Complex8* ab,
             const MKL_INT* ldab, const MKL_Complex8* afb,
             const MKL_INT* ldafb, const MKL_INT* ipiv, const MKL_Complex8* b,
             const MKL_INT* ldb, MKL_Complex8* x, const MKL_INT* ldx,
             float* ferr, float* berr, MKL_Complex8* work, float* rwork,
             MKL_INT* info ) NOTHROW;
void CGBRFS_( const char* trans, const MKL_INT* n, const MKL_INT* kl,
              const MKL_INT* ku, const MKL_INT* nrhs, const MKL_Complex8* ab,
              const MKL_INT* ldab, const MKL_Complex8* afb,
              const MKL_INT* ldafb, const MKL_INT* ipiv, const MKL_Complex8* b,
              const MKL_INT* ldb, MKL_Complex8* x, const MKL_INT* ldx,
              float* ferr, float* berr, MKL_Complex8* work, float* rwork,
              MKL_INT* info ) NOTHROW;
void cgbrfs( const char* trans, const MKL_INT* n, const MKL_INT* kl,
             const MKL_INT* ku, const MKL_INT* nrhs, const MKL_Complex8* ab,
             const MKL_INT* ldab, const MKL_Complex8* afb,
             const MKL_INT* ldafb, const MKL_INT* ipiv, const MKL_Complex8* b,
             const MKL_INT* ldb, MKL_Complex8* x, const MKL_INT* ldx,
             float* ferr, float* berr, MKL_Complex8* work, float* rwork,
             MKL_INT* info ) NOTHROW;
void cgbrfs_( const char* trans, const MKL_INT* n, const MKL_INT* kl,
              const MKL_INT* ku, const MKL_INT* nrhs, const MKL_Complex8* ab,
              const MKL_INT* ldab, const MKL_Complex8* afb,
              const MKL_INT* ldafb, const MKL_INT* ipiv, const MKL_Complex8* b,
              const MKL_INT* ldb, MKL_Complex8* x, const MKL_INT* ldx,
              float* ferr, float* berr, MKL_Complex8* work, float* rwork,
              MKL_INT* info ) NOTHROW;

void CGBRFSX( const char* trans, const char* equed, const MKL_INT* n,
              const MKL_INT* kl, const MKL_INT* ku, const MKL_INT* nrhs,
              const MKL_Complex8* ab, const MKL_INT* ldab,
              const MKL_Complex8* afb, const MKL_INT* ldafb,
              const MKL_INT* ipiv, float* r, float* c,
              const MKL_Complex8* b, const MKL_INT* ldb, MKL_Complex8* x,
              const MKL_INT* ldx, float* rcond, float* berr,
              const MKL_INT* n_err_bnds, float* err_bnds_norm,
              float* err_bnds_comp, const MKL_INT* nparams, float* params,
              MKL_Complex8* work, float* rwork, MKL_INT* info ) NOTHROW;
void CGBRFSX_( const char* trans, const char* equed, const MKL_INT* n,
               const MKL_INT* kl, const MKL_INT* ku, const MKL_INT* nrhs,
               const MKL_Complex8* ab, const MKL_INT* ldab,
               const MKL_Complex8* afb, const MKL_INT* ldafb,
               const MKL_INT* ipiv, float* r, float* c,
               const MKL_Complex8* b, const MKL_INT* ldb, MKL_Complex8* x,
               const MKL_INT* ldx, float* rcond, float* berr,
               const MKL_INT* n_err_bnds, float* err_bnds_norm,
               float* err_bnds_comp, const MKL_INT* nparams, float* params,
               MKL_Complex8* work, float* rwork, MKL_INT* info ) NOTHROW;
void cgbrfsx( const char* trans, const char* equed, const MKL_INT* n,
              const MKL_INT* kl, const MKL_INT* ku, const MKL_INT* nrhs,
              const MKL_Complex8* ab, const MKL_INT* ldab,
              const MKL_Complex8* afb, const MKL_INT* ldafb,
              const MKL_INT* ipiv, float* r, float* c,
              const MKL_Complex8* b, const MKL_INT* ldb, MKL_Complex8* x,
              const MKL_INT* ldx, float* rcond, float* berr,
              const MKL_INT* n_err_bnds, float* err_bnds_norm,
              float* err_bnds_comp, const MKL_INT* nparams, float* params,
              MKL_Complex8* work, float* rwork, MKL_INT* info ) NOTHROW;
void cgbrfsx_( const char* trans, const char* equed, const MKL_INT* n,
               const MKL_INT* kl, const MKL_INT* ku, const MKL_INT* nrhs,
               const MKL_Complex8* ab, const MKL_INT* ldab,
               const MKL_Complex8* afb, const MKL_INT* ldafb,
               const MKL_INT* ipiv, float* r, float* c,
               const MKL_Complex8* b, const MKL_INT* ldb, MKL_Complex8* x,
               const MKL_INT* ldx, float* rcond, float* berr,
               const MKL_INT* n_err_bnds, float* err_bnds_norm,
               float* err_bnds_comp, const MKL_INT* nparams, float* params,
               MKL_Complex8* work, float* rwork, MKL_INT* info ) NOTHROW;

void CGBSV( const MKL_INT* n, const MKL_INT* kl, const MKL_INT* ku,
            const MKL_INT* nrhs, MKL_Complex8* ab, const MKL_INT* ldab,
            MKL_INT* ipiv, MKL_Complex8* b, const MKL_INT* ldb,
            MKL_INT* info ) NOTHROW;
void CGBSV_( const MKL_INT* n, const MKL_INT* kl, const MKL_INT* ku,
             const MKL_INT* nrhs, MKL_Complex8* ab, const MKL_INT* ldab,
             MKL_INT* ipiv, MKL_Complex8* b, const MKL_INT* ldb,
             MKL_INT* info ) NOTHROW;
void cgbsv( const MKL_INT* n, const MKL_INT* kl, const MKL_INT* ku,
            const MKL_INT* nrhs, MKL_Complex8* ab, const MKL_INT* ldab,
            MKL_INT* ipiv, MKL_Complex8* b, const MKL_INT* ldb,
            MKL_INT* info ) NOTHROW;
void cgbsv_( const MKL_INT* n, const MKL_INT* kl, const MKL_INT* ku,
             const MKL_INT* nrhs, MKL_Complex8* ab, const MKL_INT* ldab,
             MKL_INT* ipiv, MKL_Complex8* b, const MKL_INT* ldb,
             MKL_INT* info ) NOTHROW;

void CGBSVX( const char* fact, const char* trans, const MKL_INT* n,
             const MKL_INT* kl, const MKL_INT* ku, const MKL_INT* nrhs,
             MKL_Complex8* ab, const MKL_INT* ldab, MKL_Complex8* afb,
             const MKL_INT* ldafb, MKL_INT* ipiv, char* equed, float* r,
             float* c, MKL_Complex8* b, const MKL_INT* ldb, MKL_Complex8* x,
             const MKL_INT* ldx, float* rcond, float* ferr, float* berr,
             MKL_Complex8* work, float* rwork, MKL_INT* info ) NOTHROW;
void CGBSVX_( const char* fact, const char* trans, const MKL_INT* n,
              const MKL_INT* kl, const MKL_INT* ku, const MKL_INT* nrhs,
              MKL_Complex8* ab, const MKL_INT* ldab, MKL_Complex8* afb,
              const MKL_INT* ldafb, MKL_INT* ipiv, char* equed, float* r,
              float* c, MKL_Complex8* b, const MKL_INT* ldb, MKL_Complex8* x,
              const MKL_INT* ldx, float* rcond, float* ferr, float* berr,
              MKL_Complex8* work, float* rwork, MKL_INT* info ) NOTHROW;
void cgbsvx( const char* fact, const char* trans, const MKL_INT* n,
             const MKL_INT* kl, const MKL_INT* ku, const MKL_INT* nrhs,
             MKL_Complex8* ab, const MKL_INT* ldab, MKL_Complex8* afb,
             const MKL_INT* ldafb, MKL_INT* ipiv, char* equed, float* r,
             float* c, MKL_Complex8* b, const MKL_INT* ldb, MKL_Complex8* x,
             const MKL_INT* ldx, float* rcond, float* ferr, float* berr,
             MKL_Complex8* work, float* rwork, MKL_INT* info ) NOTHROW;
void cgbsvx_( const char* fact, const char* trans, const MKL_INT* n,
              const MKL_INT* kl, const MKL_INT* ku, const MKL_INT* nrhs,
              MKL_Complex8* ab, const MKL_INT* ldab, MKL_Complex8* afb,
              const MKL_INT* ldafb, MKL_INT* ipiv, char* equed, float* r,
              float* c, MKL_Complex8* b, const MKL_INT* ldb, MKL_Complex8* x,
              const MKL_INT* ldx, float* rcond, float* ferr, float* berr,
              MKL_Complex8* work, float* rwork, MKL_INT* info ) NOTHROW;

void CGBSVXX( const char* fact, const char* trans, const MKL_INT* n,
              const MKL_INT* kl, const MKL_INT* ku, const MKL_INT* nrhs,
              MKL_Complex8* ab, const MKL_INT* ldab, MKL_Complex8* afb,
              const MKL_INT* ldafb, MKL_INT* ipiv, char* equed, float* r,
              float* c, MKL_Complex8* b, const MKL_INT* ldb, MKL_Complex8* x,
              const MKL_INT* ldx, float* rcond, float* rpvgrw, float* berr,
              const MKL_INT* n_err_bnds, float* err_bnds_norm,
              float* err_bnds_comp, const MKL_INT* nparams, float* params,
              MKL_Complex8* work, float* rwork, MKL_INT* info ) NOTHROW;
void CGBSVXX_( const char* fact, const char* trans, const MKL_INT* n,
               const MKL_INT* kl, const MKL_INT* ku, const MKL_INT* nrhs,
               MKL_Complex8* ab, const MKL_INT* ldab, MKL_Complex8* afb,
               const MKL_INT* ldafb, MKL_INT* ipiv, char* equed, float* r,
               float* c, MKL_Complex8* b, const MKL_INT* ldb, MKL_Complex8* x,
               const MKL_INT* ldx, float* rcond, float* rpvgrw, float* berr,
               const MKL_INT* n_err_bnds, float* err_bnds_norm,
               float* err_bnds_comp, const MKL_INT* nparams, float* params,
               MKL_Complex8* work, float* rwork, MKL_INT* info ) NOTHROW;
void cgbsvxx( const char* fact, const char* trans, const MKL_INT* n,
              const MKL_INT* kl, const MKL_INT* ku, const MKL_INT* nrhs,
              MKL_Complex8* ab, const MKL_INT* ldab, MKL_Complex8* afb,
              const MKL_INT* ldafb, MKL_INT* ipiv, char* equed, float* r,
              float* c, MKL_Complex8* b, const MKL_INT* ldb, MKL_Complex8* x,
              const MKL_INT* ldx, float* rcond, float* rpvgrw, float* berr,
              const MKL_INT* n_err_bnds, float* err_bnds_norm,
              float* err_bnds_comp, const MKL_INT* nparams, float* params,
              MKL_Complex8* work, float* rwork, MKL_INT* info ) NOTHROW;
void cgbsvxx_( const char* fact, const char* trans, const MKL_INT* n,
               const MKL_INT* kl, const MKL_INT* ku, const MKL_INT* nrhs,
               MKL_Complex8* ab, const MKL_INT* ldab, MKL_Complex8* afb,
               const MKL_INT* ldafb, MKL_INT* ipiv, char* equed, float* r,
               float* c, MKL_Complex8* b, const MKL_INT* ldb, MKL_Complex8* x,
               const MKL_INT* ldx, float* rcond, float* rpvgrw, float* berr,
               const MKL_INT* n_err_bnds, float* err_bnds_norm,
               float* err_bnds_comp, const MKL_INT* nparams, float* params,
               MKL_Complex8* work, float* rwork, MKL_INT* info ) NOTHROW;

void CGBTF2( const MKL_INT* m, const MKL_INT* n, const MKL_INT* kl,
             const MKL_INT* ku, MKL_Complex8* ab, const MKL_INT* ldab,
             MKL_INT* ipiv, MKL_INT* info ) NOTHROW;
void CGBTF2_( const MKL_INT* m, const MKL_INT* n, const MKL_INT* kl,
              const MKL_INT* ku, MKL_Complex8* ab, const MKL_INT* ldab,
              MKL_INT* ipiv, MKL_INT* info ) NOTHROW;
void cgbtf2( const MKL_INT* m, const MKL_INT* n, const MKL_INT* kl,
             const MKL_INT* ku, MKL_Complex8* ab, const MKL_INT* ldab,
             MKL_INT* ipiv, MKL_INT* info ) NOTHROW;
void cgbtf2_( const MKL_INT* m, const MKL_INT* n, const MKL_INT* kl,
              const MKL_INT* ku, MKL_Complex8* ab, const MKL_INT* ldab,
              MKL_INT* ipiv, MKL_INT* info ) NOTHROW;

void CGBTRF( const MKL_INT* m, const MKL_INT* n, const MKL_INT* kl,
             const MKL_INT* ku, MKL_Complex8* ab, const MKL_INT* ldab,
             MKL_INT* ipiv, MKL_INT* info ) NOTHROW;
void CGBTRF_( const MKL_INT* m, const MKL_INT* n, const MKL_INT* kl,
              const MKL_INT* ku, MKL_Complex8* ab, const MKL_INT* ldab,
              MKL_INT* ipiv, MKL_INT* info ) NOTHROW;
void cgbtrf( const MKL_INT* m, const MKL_INT* n, const MKL_INT* kl,
             const MKL_INT* ku, MKL_Complex8* ab, const MKL_INT* ldab,
             MKL_INT* ipiv, MKL_INT* info ) NOTHROW;
void cgbtrf_( const MKL_INT* m, const MKL_INT* n, const MKL_INT* kl,
              const MKL_INT* ku, MKL_Complex8* ab, const MKL_INT* ldab,
              MKL_INT* ipiv, MKL_INT* info ) NOTHROW;

void CGBTRS( const char* trans, const MKL_INT* n, const MKL_INT* kl,
             const MKL_INT* ku, const MKL_INT* nrhs, const MKL_Complex8* ab,
             const MKL_INT* ldab, const MKL_INT* ipiv, MKL_Complex8* b,
             const MKL_INT* ldb, MKL_INT* info ) NOTHROW;
void CGBTRS_( const char* trans, const MKL_INT* n, const MKL_INT* kl,
              const MKL_INT* ku, const MKL_INT* nrhs, const MKL_Complex8* ab,
              const MKL_INT* ldab, const MKL_INT* ipiv, MKL_Complex8* b,
              const MKL_INT* ldb, MKL_INT* info ) NOTHROW;
void cgbtrs( const char* trans, const MKL_INT* n, const MKL_INT* kl,
             const MKL_INT* ku, const MKL_INT* nrhs, const MKL_Complex8* ab,
             const MKL_INT* ldab, const MKL_INT* ipiv, MKL_Complex8* b,
             const MKL_INT* ldb, MKL_INT* info ) NOTHROW;
void cgbtrs_( const char* trans, const MKL_INT* n, const MKL_INT* kl,
              const MKL_INT* ku, const MKL_INT* nrhs, const MKL_Complex8* ab,
              const MKL_INT* ldab, const MKL_INT* ipiv, MKL_Complex8* b,
              const MKL_INT* ldb, MKL_INT* info ) NOTHROW;

void CGEBAK( const char* job, const char* side, const MKL_INT* n,
             const MKL_INT* ilo, const MKL_INT* ihi, const float* scale,
             const MKL_INT* m, MKL_Complex8* v, const MKL_INT* ldv,
             MKL_INT* info ) NOTHROW;
void CGEBAK_( const char* job, const char* side, const MKL_INT* n,
              const MKL_INT* ilo, const MKL_INT* ihi, const float* scale,
              const MKL_INT* m, MKL_Complex8* v, const MKL_INT* ldv,
              MKL_INT* info ) NOTHROW;
void cgebak( const char* job, const char* side, const MKL_INT* n,
             const MKL_INT* ilo, const MKL_INT* ihi, const float* scale,
             const MKL_INT* m, MKL_Complex8* v, const MKL_INT* ldv,
             MKL_INT* info ) NOTHROW;
void cgebak_( const char* job, const char* side, const MKL_INT* n,
              const MKL_INT* ilo, const MKL_INT* ihi, const float* scale,
              const MKL_INT* m, MKL_Complex8* v, const MKL_INT* ldv,
              MKL_INT* info ) NOTHROW;

void CGEBAL( const char* job, const MKL_INT* n, MKL_Complex8* a,
             const MKL_INT* lda, MKL_INT* ilo, MKL_INT* ihi, float* scale,
             MKL_INT* info ) NOTHROW;
void CGEBAL_( const char* job, const MKL_INT* n, MKL_Complex8* a,
              const MKL_INT* lda, MKL_INT* ilo, MKL_INT* ihi, float* scale,
              MKL_INT* info ) NOTHROW;
void cgebal( const char* job, const MKL_INT* n, MKL_Complex8* a,
             const MKL_INT* lda, MKL_INT* ilo, MKL_INT* ihi, float* scale,
             MKL_INT* info ) NOTHROW;
void cgebal_( const char* job, const MKL_INT* n, MKL_Complex8* a,
              const MKL_INT* lda, MKL_INT* ilo, MKL_INT* ihi, float* scale,
              MKL_INT* info ) NOTHROW;

void CGEBD2( const MKL_INT* m, const MKL_INT* n, MKL_Complex8* a,
             const MKL_INT* lda, float* d, float* e, MKL_Complex8* tauq,
             MKL_Complex8* taup, MKL_Complex8* work, MKL_INT* info ) NOTHROW;
void CGEBD2_( const MKL_INT* m, const MKL_INT* n, MKL_Complex8* a,
              const MKL_INT* lda, float* d, float* e, MKL_Complex8* tauq,
              MKL_Complex8* taup, MKL_Complex8* work, MKL_INT* info ) NOTHROW;
void cgebd2( const MKL_INT* m, const MKL_INT* n, MKL_Complex8* a,
             const MKL_INT* lda, float* d, float* e, MKL_Complex8* tauq,
             MKL_Complex8* taup, MKL_Complex8* work, MKL_INT* info ) NOTHROW;
void cgebd2_( const MKL_INT* m, const MKL_INT* n, MKL_Complex8* a,
              const MKL_INT* lda, float* d, float* e, MKL_Complex8* tauq,
              MKL_Complex8* taup, MKL_Complex8* work, MKL_INT* info ) NOTHROW;

void CGEBRD( const MKL_INT* m, const MKL_INT* n, MKL_Complex8* a,
             const MKL_INT* lda, float* d, float* e, MKL_Complex8* tauq,
             MKL_Complex8* taup, MKL_Complex8* work, const MKL_INT* lwork,
             MKL_INT* info ) NOTHROW;
void CGEBRD_( const MKL_INT* m, const MKL_INT* n, MKL_Complex8* a,
              const MKL_INT* lda, float* d, float* e, MKL_Complex8* tauq,
              MKL_Complex8* taup, MKL_Complex8* work, const MKL_INT* lwork,
              MKL_INT* info ) NOTHROW;
void cgebrd( const MKL_INT* m, const MKL_INT* n, MKL_Complex8* a,
             const MKL_INT* lda, float* d, float* e, MKL_Complex8* tauq,
             MKL_Complex8* taup, MKL_Complex8* work, const MKL_INT* lwork,
             MKL_INT* info ) NOTHROW;
void cgebrd_( const MKL_INT* m, const MKL_INT* n, MKL_Complex8* a,
              const MKL_INT* lda, float* d, float* e, MKL_Complex8* tauq,
              MKL_Complex8* taup, MKL_Complex8* work, const MKL_INT* lwork,
              MKL_INT* info ) NOTHROW;

void CGECON( const char* norm, const MKL_INT* n, const MKL_Complex8* a,
             const MKL_INT* lda, const float* anorm, float* rcond,
             MKL_Complex8* work, float* rwork, MKL_INT* info ) NOTHROW;
void CGECON_( const char* norm, const MKL_INT* n, const MKL_Complex8* a,
              const MKL_INT* lda, const float* anorm, float* rcond,
              MKL_Complex8* work, float* rwork, MKL_INT* info ) NOTHROW;
void cgecon( const char* norm, const MKL_INT* n, const MKL_Complex8* a,
             const MKL_INT* lda, const float* anorm, float* rcond,
             MKL_Complex8* work, float* rwork, MKL_INT* info ) NOTHROW;
void cgecon_( const char* norm, const MKL_INT* n, const MKL_Complex8* a,
              const MKL_INT* lda, const float* anorm, float* rcond,
              MKL_Complex8* work, float* rwork, MKL_INT* info ) NOTHROW;

void CGEEQUB( const MKL_INT* m, const MKL_INT* n, const MKL_Complex8* a,
              const MKL_INT* lda, float* r, float* c, float* rowcnd,
              float* colcnd, float* amax, MKL_INT* info ) NOTHROW;
void CGEEQUB_( const MKL_INT* m, const MKL_INT* n, const MKL_Complex8* a,
               const MKL_INT* lda, float* r, float* c, float* rowcnd,
               float* colcnd, float* amax, MKL_INT* info ) NOTHROW;
void cgeequb( const MKL_INT* m, const MKL_INT* n, const MKL_Complex8* a,
              const MKL_INT* lda, float* r, float* c, float* rowcnd,
              float* colcnd, float* amax, MKL_INT* info ) NOTHROW;
void cgeequb_( const MKL_INT* m, const MKL_INT* n, const MKL_Complex8* a,
               const MKL_INT* lda, float* r, float* c, float* rowcnd,
               float* colcnd, float* amax, MKL_INT* info ) NOTHROW;

void CGEEQU( const MKL_INT* m, const MKL_INT* n, const MKL_Complex8* a,
             const MKL_INT* lda, float* r, float* c, float* rowcnd,
             float* colcnd, float* amax, MKL_INT* info ) NOTHROW;
void CGEEQU_( const MKL_INT* m, const MKL_INT* n, const MKL_Complex8* a,
              const MKL_INT* lda, float* r, float* c, float* rowcnd,
              float* colcnd, float* amax, MKL_INT* info ) NOTHROW;
void cgeequ( const MKL_INT* m, const MKL_INT* n, const MKL_Complex8* a,
             const MKL_INT* lda, float* r, float* c, float* rowcnd,
             float* colcnd, float* amax, MKL_INT* info ) NOTHROW;
void cgeequ_( const MKL_INT* m, const MKL_INT* n, const MKL_Complex8* a,
              const MKL_INT* lda, float* r, float* c, float* rowcnd,
              float* colcnd, float* amax, MKL_INT* info ) NOTHROW;

void CGEES( const char* jobvs, const char* sort,
            MKL_C_SELECT_FUNCTION_1 select, const MKL_INT* n, MKL_Complex8* a,
            const MKL_INT* lda, MKL_INT* sdim, MKL_Complex8* w,
            MKL_Complex8* vs, const MKL_INT* ldvs, MKL_Complex8* work,
            const MKL_INT* lwork, float* rwork, MKL_INT* bwork,
            MKL_INT* info ) NOTHROW;
void CGEES_( const char* jobvs, const char* sort,
             MKL_C_SELECT_FUNCTION_1 select, const MKL_INT* n, MKL_Complex8* a,
             const MKL_INT* lda, MKL_INT* sdim, MKL_Complex8* w,
             MKL_Complex8* vs, const MKL_INT* ldvs, MKL_Complex8* work,
             const MKL_INT* lwork, float* rwork, MKL_INT* bwork,
             MKL_INT* info ) NOTHROW;
void cgees( const char* jobvs, const char* sort,
            MKL_C_SELECT_FUNCTION_1 select, const MKL_INT* n, MKL_Complex8* a,
            const MKL_INT* lda, MKL_INT* sdim, MKL_Complex8* w,
            MKL_Complex8* vs, const MKL_INT* ldvs, MKL_Complex8* work,
            const MKL_INT* lwork, float* rwork, MKL_INT* bwork,
            MKL_INT* info ) NOTHROW;
void cgees_( const char* jobvs, const char* sort,
             MKL_C_SELECT_FUNCTION_1 select, const MKL_INT* n, MKL_Complex8* a,
             const MKL_INT* lda, MKL_INT* sdim, MKL_Complex8* w,
             MKL_Complex8* vs, const MKL_INT* ldvs, MKL_Complex8* work,
             const MKL_INT* lwork, float* rwork, MKL_INT* bwork,
             MKL_INT* info ) NOTHROW;

void CGEESX( const char* jobvs, const char* sort,
             MKL_C_SELECT_FUNCTION_1 select, const char* sense,
             const MKL_INT* n, MKL_Complex8* a, const MKL_INT* lda,
             MKL_INT* sdim, MKL_Complex8* w, MKL_Complex8* vs,
             const MKL_INT* ldvs, float* rconde, float* rcondv,
             MKL_Complex8* work, const MKL_INT* lwork, float* rwork,
             MKL_INT* bwork, MKL_INT* info ) NOTHROW;
void CGEESX_( const char* jobvs, const char* sort,
              MKL_C_SELECT_FUNCTION_1 select, const char* sense,
              const MKL_INT* n, MKL_Complex8* a, const MKL_INT* lda,
              MKL_INT* sdim, MKL_Complex8* w, MKL_Complex8* vs,
              const MKL_INT* ldvs, float* rconde, float* rcondv,
              MKL_Complex8* work, const MKL_INT* lwork, float* rwork,
              MKL_INT* bwork, MKL_INT* info ) NOTHROW;
void cgeesx( const char* jobvs, const char* sort,
             MKL_C_SELECT_FUNCTION_1 select, const char* sense,
             const MKL_INT* n, MKL_Complex8* a, const MKL_INT* lda,
             MKL_INT* sdim, MKL_Complex8* w, MKL_Complex8* vs,
             const MKL_INT* ldvs, float* rconde, float* rcondv,
             MKL_Complex8* work, const MKL_INT* lwork, float* rwork,
             MKL_INT* bwork, MKL_INT* info ) NOTHROW;
void cgeesx_( const char* jobvs, const char* sort,
              MKL_C_SELECT_FUNCTION_1 select, const char* sense,
              const MKL_INT* n, MKL_Complex8* a, const MKL_INT* lda,
              MKL_INT* sdim, MKL_Complex8* w, MKL_Complex8* vs,
              const MKL_INT* ldvs, float* rconde, float* rcondv,
              MKL_Complex8* work, const MKL_INT* lwork, float* rwork,
              MKL_INT* bwork, MKL_INT* info ) NOTHROW;

void CGEEV( const char* jobvl, const char* jobvr, const MKL_INT* n,
            MKL_Complex8* a, const MKL_INT* lda, MKL_Complex8* w,
            MKL_Complex8* vl, const MKL_INT* ldvl, MKL_Complex8* vr,
            const MKL_INT* ldvr, MKL_Complex8* work, const MKL_INT* lwork,
            float* rwork, MKL_INT* info ) NOTHROW;
void CGEEV_( const char* jobvl, const char* jobvr, const MKL_INT* n,
             MKL_Complex8* a, const MKL_INT* lda, MKL_Complex8* w,
             MKL_Complex8* vl, const MKL_INT* ldvl, MKL_Complex8* vr,
             const MKL_INT* ldvr, MKL_Complex8* work, const MKL_INT* lwork,
             float* rwork, MKL_INT* info ) NOTHROW;
void cgeev( const char* jobvl, const char* jobvr, const MKL_INT* n,
            MKL_Complex8* a, const MKL_INT* lda, MKL_Complex8* w,
            MKL_Complex8* vl, const MKL_INT* ldvl, MKL_Complex8* vr,
            const MKL_INT* ldvr, MKL_Complex8* work, const MKL_INT* lwork,
            float* rwork, MKL_INT* info ) NOTHROW;
void cgeev_( const char* jobvl, const char* jobvr, const MKL_INT* n,
             MKL_Complex8* a, const MKL_INT* lda, MKL_Complex8* w,
             MKL_Complex8* vl, const MKL_INT* ldvl, MKL_Complex8* vr,
             const MKL_INT* ldvr, MKL_Complex8* work, const MKL_INT* lwork,
             float* rwork, MKL_INT* info ) NOTHROW;

void CGEEVX( const char* balanc, const char* jobvl, const char* jobvr,
             const char* sense, const MKL_INT* n, MKL_Complex8* a,
             const MKL_INT* lda, MKL_Complex8* w, MKL_Complex8* vl,
             const MKL_INT* ldvl, MKL_Complex8* vr, const MKL_INT* ldvr,
             MKL_INT* ilo, MKL_INT* ihi, float* scale, float* abnrm,
             float* rconde, float* rcondv, MKL_Complex8* work,
             const MKL_INT* lwork, float* rwork, MKL_INT* info ) NOTHROW;
void CGEEVX_( const char* balanc, const char* jobvl, const char* jobvr,
              const char* sense, const MKL_INT* n, MKL_Complex8* a,
              const MKL_INT* lda, MKL_Complex8* w, MKL_Complex8* vl,
              const MKL_INT* ldvl, MKL_Complex8* vr, const MKL_INT* ldvr,
              MKL_INT* ilo, MKL_INT* ihi, float* scale, float* abnrm,
              float* rconde, float* rcondv, MKL_Complex8* work,
              const MKL_INT* lwork, float* rwork, MKL_INT* info ) NOTHROW;
void cgeevx( const char* balanc, const char* jobvl, const char* jobvr,
             const char* sense, const MKL_INT* n, MKL_Complex8* a,
             const MKL_INT* lda, MKL_Complex8* w, MKL_Complex8* vl,
             const MKL_INT* ldvl, MKL_Complex8* vr, const MKL_INT* ldvr,
             MKL_INT* ilo, MKL_INT* ihi, float* scale, float* abnrm,
             float* rconde, float* rcondv, MKL_Complex8* work,
             const MKL_INT* lwork, float* rwork, MKL_INT* info ) NOTHROW;
void cgeevx_( const char* balanc, const char* jobvl, const char* jobvr,
              const char* sense, const MKL_INT* n, MKL_Complex8* a,
              const MKL_INT* lda, MKL_Complex8* w, MKL_Complex8* vl,
              const MKL_INT* ldvl, MKL_Complex8* vr, const MKL_INT* ldvr,
              MKL_INT* ilo, MKL_INT* ihi, float* scale, float* abnrm,
              float* rconde, float* rcondv, MKL_Complex8* work,
              const MKL_INT* lwork, float* rwork, MKL_INT* info ) NOTHROW;

void CGEGS( const char* jobvsl, const char* jobvsr, const MKL_INT* n,
            MKL_Complex8* a, const MKL_INT* lda, MKL_Complex8* b,
            const MKL_INT* ldb, MKL_Complex8* alpha, MKL_Complex8* beta,
            MKL_Complex8* vsl, const MKL_INT* ldvsl, MKL_Complex8* vsr,
            const MKL_INT* ldvsr, MKL_Complex8* work, const MKL_INT* lwork,
            float* rwork, MKL_INT* info ) NOTHROW;
void CGEGS_( const char* jobvsl, const char* jobvsr, const MKL_INT* n,
             MKL_Complex8* a, const MKL_INT* lda, MKL_Complex8* b,
             const MKL_INT* ldb, MKL_Complex8* alpha, MKL_Complex8* beta,
             MKL_Complex8* vsl, const MKL_INT* ldvsl, MKL_Complex8* vsr,
             const MKL_INT* ldvsr, MKL_Complex8* work, const MKL_INT* lwork,
             float* rwork, MKL_INT* info ) NOTHROW;
void cgegs( const char* jobvsl, const char* jobvsr, const MKL_INT* n,
            MKL_Complex8* a, const MKL_INT* lda, MKL_Complex8* b,
            const MKL_INT* ldb, MKL_Complex8* alpha, MKL_Complex8* beta,
            MKL_Complex8* vsl, const MKL_INT* ldvsl, MKL_Complex8* vsr,
            const MKL_INT* ldvsr, MKL_Complex8* work, const MKL_INT* lwork,
            float* rwork, MKL_INT* info ) NOTHROW;
void cgegs_( const char* jobvsl, const char* jobvsr, const MKL_INT* n,
             MKL_Complex8* a, const MKL_INT* lda, MKL_Complex8* b,
             const MKL_INT* ldb, MKL_Complex8* alpha, MKL_Complex8* beta,
             MKL_Complex8* vsl, const MKL_INT* ldvsl, MKL_Complex8* vsr,
             const MKL_INT* ldvsr, MKL_Complex8* work, const MKL_INT* lwork,
             float* rwork, MKL_INT* info ) NOTHROW;

void CGEGV( const char* jobvl, const char* jobvr, const MKL_INT* n,
            MKL_Complex8* a, const MKL_INT* lda, MKL_Complex8* b,
            const MKL_INT* ldb, MKL_Complex8* alpha, MKL_Complex8* beta,
            MKL_Complex8* vl, const MKL_INT* ldvl, MKL_Complex8* vr,
            const MKL_INT* ldvr, MKL_Complex8* work, const MKL_INT* lwork,
            float* rwork, MKL_INT* info ) NOTHROW;
void CGEGV_( const char* jobvl, const char* jobvr, const MKL_INT* n,
             MKL_Complex8* a, const MKL_INT* lda, MKL_Complex8* b,
             const MKL_INT* ldb, MKL_Complex8* alpha, MKL_Complex8* beta,
             MKL_Complex8* vl, const MKL_INT* ldvl, MKL_Complex8* vr,
             const MKL_INT* ldvr, MKL_Complex8* work, const MKL_INT* lwork,
             float* rwork, MKL_INT* info ) NOTHROW;
void cgegv( const char* jobvl, const char* jobvr, const MKL_INT* n,
            MKL_Complex8* a, const MKL_INT* lda, MKL_Complex8* b,
            const MKL_INT* ldb, MKL_Complex8* alpha, MKL_Complex8* beta,
            MKL_Complex8* vl, const MKL_INT* ldvl, MKL_Complex8* vr,
            const MKL_INT* ldvr, MKL_Complex8* work, const MKL_INT* lwork,
            float* rwork, MKL_INT* info ) NOTHROW;
void cgegv_( const char* jobvl, const char* jobvr, const MKL_INT* n,
             MKL_Complex8* a, const MKL_INT* lda, MKL_Complex8* b,
             const MKL_INT* ldb, MKL_Complex8* alpha, MKL_Complex8* beta,
             MKL_Complex8* vl, const MKL_INT* ldvl, MKL_Complex8* vr,
             const MKL_INT* ldvr, MKL_Complex8* work, const MKL_INT* lwork,
             float* rwork, MKL_INT* info ) NOTHROW;

void CGEHD2( const MKL_INT* n, const MKL_INT* ilo, const MKL_INT* ihi,
             MKL_Complex8* a, const MKL_INT* lda, MKL_Complex8* tau,
             MKL_Complex8* work, MKL_INT* info ) NOTHROW;
void CGEHD2_( const MKL_INT* n, const MKL_INT* ilo, const MKL_INT* ihi,
              MKL_Complex8* a, const MKL_INT* lda, MKL_Complex8* tau,
              MKL_Complex8* work, MKL_INT* info ) NOTHROW;
void cgehd2( const MKL_INT* n, const MKL_INT* ilo, const MKL_INT* ihi,
             MKL_Complex8* a, const MKL_INT* lda, MKL_Complex8* tau,
             MKL_Complex8* work, MKL_INT* info ) NOTHROW;
void cgehd2_( const MKL_INT* n, const MKL_INT* ilo, const MKL_INT* ihi,
              MKL_Complex8* a, const MKL_INT* lda, MKL_Complex8* tau,
              MKL_Complex8* work, MKL_INT* info ) NOTHROW;

void CGEHRD( const MKL_INT* n, const MKL_INT* ilo, const MKL_INT* ihi,
             MKL_Complex8* a, const MKL_INT* lda, MKL_Complex8* tau,
             MKL_Complex8* work, const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void CGEHRD_( const MKL_INT* n, const MKL_INT* ilo, const MKL_INT* ihi,
              MKL_Complex8* a, const MKL_INT* lda, MKL_Complex8* tau,
              MKL_Complex8* work, const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void cgehrd( const MKL_INT* n, const MKL_INT* ilo, const MKL_INT* ihi,
             MKL_Complex8* a, const MKL_INT* lda, MKL_Complex8* tau,
             MKL_Complex8* work, const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void cgehrd_( const MKL_INT* n, const MKL_INT* ilo, const MKL_INT* ihi,
              MKL_Complex8* a, const MKL_INT* lda, MKL_Complex8* tau,
              MKL_Complex8* work, const MKL_INT* lwork, MKL_INT* info ) NOTHROW;

void CGELQ2( const MKL_INT* m, const MKL_INT* n, MKL_Complex8* a,
             const MKL_INT* lda, MKL_Complex8* tau, MKL_Complex8* work,
             MKL_INT* info ) NOTHROW;
void CGELQ2_( const MKL_INT* m, const MKL_INT* n, MKL_Complex8* a,
              const MKL_INT* lda, MKL_Complex8* tau, MKL_Complex8* work,
              MKL_INT* info ) NOTHROW;
void cgelq2( const MKL_INT* m, const MKL_INT* n, MKL_Complex8* a,
             const MKL_INT* lda, MKL_Complex8* tau, MKL_Complex8* work,
             MKL_INT* info ) NOTHROW;
void cgelq2_( const MKL_INT* m, const MKL_INT* n, MKL_Complex8* a,
              const MKL_INT* lda, MKL_Complex8* tau, MKL_Complex8* work,
              MKL_INT* info ) NOTHROW;

void CGELQF( const MKL_INT* m, const MKL_INT* n, MKL_Complex8* a,
             const MKL_INT* lda, MKL_Complex8* tau, MKL_Complex8* work,
             const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void CGELQF_( const MKL_INT* m, const MKL_INT* n, MKL_Complex8* a,
              const MKL_INT* lda, MKL_Complex8* tau, MKL_Complex8* work,
              const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void cgelqf( const MKL_INT* m, const MKL_INT* n, MKL_Complex8* a,
             const MKL_INT* lda, MKL_Complex8* tau, MKL_Complex8* work,
             const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void cgelqf_( const MKL_INT* m, const MKL_INT* n, MKL_Complex8* a,
              const MKL_INT* lda, MKL_Complex8* tau, MKL_Complex8* work,
              const MKL_INT* lwork, MKL_INT* info ) NOTHROW;

void CGELSD( const MKL_INT* m, const MKL_INT* n, const MKL_INT* nrhs,
             MKL_Complex8* a, const MKL_INT* lda, MKL_Complex8* b,
             const MKL_INT* ldb, float* s, const float* rcond, MKL_INT* rank,
             MKL_Complex8* work, const MKL_INT* lwork, float* rwork,
             MKL_INT* iwork, MKL_INT* info ) NOTHROW;
void CGELSD_( const MKL_INT* m, const MKL_INT* n, const MKL_INT* nrhs,
              MKL_Complex8* a, const MKL_INT* lda, MKL_Complex8* b,
              const MKL_INT* ldb, float* s, const float* rcond, MKL_INT* rank,
              MKL_Complex8* work, const MKL_INT* lwork, float* rwork,
              MKL_INT* iwork, MKL_INT* info ) NOTHROW;
void cgelsd( const MKL_INT* m, const MKL_INT* n, const MKL_INT* nrhs,
             MKL_Complex8* a, const MKL_INT* lda, MKL_Complex8* b,
             const MKL_INT* ldb, float* s, const float* rcond, MKL_INT* rank,
             MKL_Complex8* work, const MKL_INT* lwork, float* rwork,
             MKL_INT* iwork, MKL_INT* info ) NOTHROW;
void cgelsd_( const MKL_INT* m, const MKL_INT* n, const MKL_INT* nrhs,
              MKL_Complex8* a, const MKL_INT* lda, MKL_Complex8* b,
              const MKL_INT* ldb, float* s, const float* rcond, MKL_INT* rank,
              MKL_Complex8* work, const MKL_INT* lwork, float* rwork,
              MKL_INT* iwork, MKL_INT* info ) NOTHROW;

void CGELS( const char* trans, const MKL_INT* m, const MKL_INT* n,
            const MKL_INT* nrhs, MKL_Complex8* a, const MKL_INT* lda,
            MKL_Complex8* b, const MKL_INT* ldb, MKL_Complex8* work,
            const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void CGELS_( const char* trans, const MKL_INT* m, const MKL_INT* n,
             const MKL_INT* nrhs, MKL_Complex8* a, const MKL_INT* lda,
             MKL_Complex8* b, const MKL_INT* ldb, MKL_Complex8* work,
             const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void cgels( const char* trans, const MKL_INT* m, const MKL_INT* n,
            const MKL_INT* nrhs, MKL_Complex8* a, const MKL_INT* lda,
            MKL_Complex8* b, const MKL_INT* ldb, MKL_Complex8* work,
            const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void cgels_( const char* trans, const MKL_INT* m, const MKL_INT* n,
             const MKL_INT* nrhs, MKL_Complex8* a, const MKL_INT* lda,
             MKL_Complex8* b, const MKL_INT* ldb, MKL_Complex8* work,
             const MKL_INT* lwork, MKL_INT* info ) NOTHROW;

void CGELSS( const MKL_INT* m, const MKL_INT* n, const MKL_INT* nrhs,
             MKL_Complex8* a, const MKL_INT* lda, MKL_Complex8* b,
             const MKL_INT* ldb, float* s, const float* rcond, MKL_INT* rank,
             MKL_Complex8* work, const MKL_INT* lwork, float* rwork,
             MKL_INT* info ) NOTHROW;
void CGELSS_( const MKL_INT* m, const MKL_INT* n, const MKL_INT* nrhs,
              MKL_Complex8* a, const MKL_INT* lda, MKL_Complex8* b,
              const MKL_INT* ldb, float* s, const float* rcond, MKL_INT* rank,
              MKL_Complex8* work, const MKL_INT* lwork, float* rwork,
              MKL_INT* info ) NOTHROW;
void cgelss( const MKL_INT* m, const MKL_INT* n, const MKL_INT* nrhs,
             MKL_Complex8* a, const MKL_INT* lda, MKL_Complex8* b,
             const MKL_INT* ldb, float* s, const float* rcond, MKL_INT* rank,
             MKL_Complex8* work, const MKL_INT* lwork, float* rwork,
             MKL_INT* info ) NOTHROW;
void cgelss_( const MKL_INT* m, const MKL_INT* n, const MKL_INT* nrhs,
              MKL_Complex8* a, const MKL_INT* lda, MKL_Complex8* b,
              const MKL_INT* ldb, float* s, const float* rcond, MKL_INT* rank,
              MKL_Complex8* work, const MKL_INT* lwork, float* rwork,
              MKL_INT* info ) NOTHROW;

void CGELSX( const MKL_INT* m, const MKL_INT* n, const MKL_INT* nrhs,
             MKL_Complex8* a, const MKL_INT* lda, MKL_Complex8* b,
             const MKL_INT* ldb, MKL_INT* jpvt, const float* rcond,
             MKL_INT* rank, MKL_Complex8* work, float* rwork, MKL_INT* info ) NOTHROW;
void CGELSX_( const MKL_INT* m, const MKL_INT* n, const MKL_INT* nrhs,
              MKL_Complex8* a, const MKL_INT* lda, MKL_Complex8* b,
              const MKL_INT* ldb, MKL_INT* jpvt, const float* rcond,
              MKL_INT* rank, MKL_Complex8* work, float* rwork, MKL_INT* info ) NOTHROW;
void cgelsx( const MKL_INT* m, const MKL_INT* n, const MKL_INT* nrhs,
             MKL_Complex8* a, const MKL_INT* lda, MKL_Complex8* b,
             const MKL_INT* ldb, MKL_INT* jpvt, const float* rcond,
             MKL_INT* rank, MKL_Complex8* work, float* rwork, MKL_INT* info ) NOTHROW;
void cgelsx_( const MKL_INT* m, const MKL_INT* n, const MKL_INT* nrhs,
              MKL_Complex8* a, const MKL_INT* lda, MKL_Complex8* b,
              const MKL_INT* ldb, MKL_INT* jpvt, const float* rcond,
              MKL_INT* rank, MKL_Complex8* work, float* rwork, MKL_INT* info ) NOTHROW;

void CGELSY( const MKL_INT* m, const MKL_INT* n, const MKL_INT* nrhs,
             MKL_Complex8* a, const MKL_INT* lda, MKL_Complex8* b,
             const MKL_INT* ldb, MKL_INT* jpvt, const float* rcond,
             MKL_INT* rank, MKL_Complex8* work, const MKL_INT* lwork,
             float* rwork, MKL_INT* info ) NOTHROW;
void CGELSY_( const MKL_INT* m, const MKL_INT* n, const MKL_INT* nrhs,
              MKL_Complex8* a, const MKL_INT* lda, MKL_Complex8* b,
              const MKL_INT* ldb, MKL_INT* jpvt, const float* rcond,
              MKL_INT* rank, MKL_Complex8* work, const MKL_INT* lwork,
              float* rwork, MKL_INT* info ) NOTHROW;
void cgelsy( const MKL_INT* m, const MKL_INT* n, const MKL_INT* nrhs,
             MKL_Complex8* a, const MKL_INT* lda, MKL_Complex8* b,
             const MKL_INT* ldb, MKL_INT* jpvt, const float* rcond,
             MKL_INT* rank, MKL_Complex8* work, const MKL_INT* lwork,
             float* rwork, MKL_INT* info ) NOTHROW;
void cgelsy_( const MKL_INT* m, const MKL_INT* n, const MKL_INT* nrhs,
              MKL_Complex8* a, const MKL_INT* lda, MKL_Complex8* b,
              const MKL_INT* ldb, MKL_INT* jpvt, const float* rcond,
              MKL_INT* rank, MKL_Complex8* work, const MKL_INT* lwork,
              float* rwork, MKL_INT* info ) NOTHROW;

void CGEQL2( const MKL_INT* m, const MKL_INT* n, MKL_Complex8* a,
             const MKL_INT* lda, MKL_Complex8* tau, MKL_Complex8* work,
             MKL_INT* info ) NOTHROW;
void CGEQL2_( const MKL_INT* m, const MKL_INT* n, MKL_Complex8* a,
              const MKL_INT* lda, MKL_Complex8* tau, MKL_Complex8* work,
              MKL_INT* info ) NOTHROW;
void cgeql2( const MKL_INT* m, const MKL_INT* n, MKL_Complex8* a,
             const MKL_INT* lda, MKL_Complex8* tau, MKL_Complex8* work,
             MKL_INT* info ) NOTHROW;
void cgeql2_( const MKL_INT* m, const MKL_INT* n, MKL_Complex8* a,
              const MKL_INT* lda, MKL_Complex8* tau, MKL_Complex8* work,
              MKL_INT* info ) NOTHROW;

void CGEQLF( const MKL_INT* m, const MKL_INT* n, MKL_Complex8* a,
             const MKL_INT* lda, MKL_Complex8* tau, MKL_Complex8* work,
             const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void CGEQLF_( const MKL_INT* m, const MKL_INT* n, MKL_Complex8* a,
              const MKL_INT* lda, MKL_Complex8* tau, MKL_Complex8* work,
              const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void cgeqlf( const MKL_INT* m, const MKL_INT* n, MKL_Complex8* a,
             const MKL_INT* lda, MKL_Complex8* tau, MKL_Complex8* work,
             const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void cgeqlf_( const MKL_INT* m, const MKL_INT* n, MKL_Complex8* a,
              const MKL_INT* lda, MKL_Complex8* tau, MKL_Complex8* work,
              const MKL_INT* lwork, MKL_INT* info ) NOTHROW;

void CGEQP3( const MKL_INT* m, const MKL_INT* n, MKL_Complex8* a,
             const MKL_INT* lda, MKL_INT* jpvt, MKL_Complex8* tau,
             MKL_Complex8* work, const MKL_INT* lwork, float* rwork,
             MKL_INT* info ) NOTHROW;
void CGEQP3_( const MKL_INT* m, const MKL_INT* n, MKL_Complex8* a,
              const MKL_INT* lda, MKL_INT* jpvt, MKL_Complex8* tau,
              MKL_Complex8* work, const MKL_INT* lwork, float* rwork,
              MKL_INT* info ) NOTHROW;
void cgeqp3( const MKL_INT* m, const MKL_INT* n, MKL_Complex8* a,
             const MKL_INT* lda, MKL_INT* jpvt, MKL_Complex8* tau,
             MKL_Complex8* work, const MKL_INT* lwork, float* rwork,
             MKL_INT* info ) NOTHROW;
void cgeqp3_( const MKL_INT* m, const MKL_INT* n, MKL_Complex8* a,
              const MKL_INT* lda, MKL_INT* jpvt, MKL_Complex8* tau,
              MKL_Complex8* work, const MKL_INT* lwork, float* rwork,
              MKL_INT* info ) NOTHROW;

void CGEQPF( const MKL_INT* m, const MKL_INT* n, MKL_Complex8* a,
             const MKL_INT* lda, MKL_INT* jpvt, MKL_Complex8* tau,
             MKL_Complex8* work, float* rwork, MKL_INT* info ) NOTHROW;
void CGEQPF_( const MKL_INT* m, const MKL_INT* n, MKL_Complex8* a,
              const MKL_INT* lda, MKL_INT* jpvt, MKL_Complex8* tau,
              MKL_Complex8* work, float* rwork, MKL_INT* info ) NOTHROW;
void cgeqpf( const MKL_INT* m, const MKL_INT* n, MKL_Complex8* a,
             const MKL_INT* lda, MKL_INT* jpvt, MKL_Complex8* tau,
             MKL_Complex8* work, float* rwork, MKL_INT* info ) NOTHROW;
void cgeqpf_( const MKL_INT* m, const MKL_INT* n, MKL_Complex8* a,
              const MKL_INT* lda, MKL_INT* jpvt, MKL_Complex8* tau,
              MKL_Complex8* work, float* rwork, MKL_INT* info ) NOTHROW;

void CGEQR2( const MKL_INT* m, const MKL_INT* n, MKL_Complex8* a,
             const MKL_INT* lda, MKL_Complex8* tau, MKL_Complex8* work,
             MKL_INT* info ) NOTHROW;
void CGEQR2_( const MKL_INT* m, const MKL_INT* n, MKL_Complex8* a,
              const MKL_INT* lda, MKL_Complex8* tau, MKL_Complex8* work,
              MKL_INT* info ) NOTHROW;
void cgeqr2( const MKL_INT* m, const MKL_INT* n, MKL_Complex8* a,
             const MKL_INT* lda, MKL_Complex8* tau, MKL_Complex8* work,
             MKL_INT* info ) NOTHROW;
void cgeqr2_( const MKL_INT* m, const MKL_INT* n, MKL_Complex8* a,
              const MKL_INT* lda, MKL_Complex8* tau, MKL_Complex8* work,
              MKL_INT* info ) NOTHROW;

void CGEQR2P( const MKL_INT* m, const MKL_INT* n, MKL_Complex8* a,
              const MKL_INT* lda, MKL_Complex8* tau, MKL_Complex8* work,
              MKL_INT* info ) NOTHROW;
void CGEQR2P_( const MKL_INT* m, const MKL_INT* n, MKL_Complex8* a,
               const MKL_INT* lda, MKL_Complex8* tau, MKL_Complex8* work,
               MKL_INT* info ) NOTHROW;
void cgeqr2p( const MKL_INT* m, const MKL_INT* n, MKL_Complex8* a,
              const MKL_INT* lda, MKL_Complex8* tau, MKL_Complex8* work,
              MKL_INT* info ) NOTHROW;
void cgeqr2p_( const MKL_INT* m, const MKL_INT* n, MKL_Complex8* a,
               const MKL_INT* lda, MKL_Complex8* tau, MKL_Complex8* work,
               MKL_INT* info ) NOTHROW;

void CGEQRF( const MKL_INT* m, const MKL_INT* n, MKL_Complex8* a,
             const MKL_INT* lda, MKL_Complex8* tau, MKL_Complex8* work,
             const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void CGEQRF_( const MKL_INT* m, const MKL_INT* n, MKL_Complex8* a,
              const MKL_INT* lda, MKL_Complex8* tau, MKL_Complex8* work,
              const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void cgeqrf( const MKL_INT* m, const MKL_INT* n, MKL_Complex8* a,
             const MKL_INT* lda, MKL_Complex8* tau, MKL_Complex8* work,
             const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void cgeqrf_( const MKL_INT* m, const MKL_INT* n, MKL_Complex8* a,
              const MKL_INT* lda, MKL_Complex8* tau, MKL_Complex8* work,
              const MKL_INT* lwork, MKL_INT* info ) NOTHROW;

void CGEQRFP( const MKL_INT* m, const MKL_INT* n, MKL_Complex8* a,
              const MKL_INT* lda, MKL_Complex8* tau, MKL_Complex8* work,
              const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void CGEQRFP_( const MKL_INT* m, const MKL_INT* n, MKL_Complex8* a,
               const MKL_INT* lda, MKL_Complex8* tau, MKL_Complex8* work,
               const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void cgeqrfp( const MKL_INT* m, const MKL_INT* n, MKL_Complex8* a,
              const MKL_INT* lda, MKL_Complex8* tau, MKL_Complex8* work,
              const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void cgeqrfp_( const MKL_INT* m, const MKL_INT* n, MKL_Complex8* a,
               const MKL_INT* lda, MKL_Complex8* tau, MKL_Complex8* work,
               const MKL_INT* lwork, MKL_INT* info ) NOTHROW;

void CGERFS( const char* trans, const MKL_INT* n, const MKL_INT* nrhs,
             const MKL_Complex8* a, const MKL_INT* lda, const MKL_Complex8* af,
             const MKL_INT* ldaf, const MKL_INT* ipiv, const MKL_Complex8* b,
             const MKL_INT* ldb, MKL_Complex8* x, const MKL_INT* ldx,
             float* ferr, float* berr, MKL_Complex8* work, float* rwork,
             MKL_INT* info ) NOTHROW;
void CGERFS_( const char* trans, const MKL_INT* n, const MKL_INT* nrhs,
              const MKL_Complex8* a, const MKL_INT* lda,
              const MKL_Complex8* af, const MKL_INT* ldaf, const MKL_INT* ipiv,
              const MKL_Complex8* b, const MKL_INT* ldb, MKL_Complex8* x,
              const MKL_INT* ldx, float* ferr, float* berr, MKL_Complex8* work,
              float* rwork, MKL_INT* info ) NOTHROW;
void cgerfs( const char* trans, const MKL_INT* n, const MKL_INT* nrhs,
             const MKL_Complex8* a, const MKL_INT* lda, const MKL_Complex8* af,
             const MKL_INT* ldaf, const MKL_INT* ipiv, const MKL_Complex8* b,
             const MKL_INT* ldb, MKL_Complex8* x, const MKL_INT* ldx,
             float* ferr, float* berr, MKL_Complex8* work, float* rwork,
             MKL_INT* info ) NOTHROW;
void cgerfs_( const char* trans, const MKL_INT* n, const MKL_INT* nrhs,
              const MKL_Complex8* a, const MKL_INT* lda,
              const MKL_Complex8* af, const MKL_INT* ldaf, const MKL_INT* ipiv,
              const MKL_Complex8* b, const MKL_INT* ldb, MKL_Complex8* x,
              const MKL_INT* ldx, float* ferr, float* berr, MKL_Complex8* work,
              float* rwork, MKL_INT* info ) NOTHROW;

void CGERFSX( const char* trans, const char* equed, const MKL_INT* n,
              const MKL_INT* nrhs, const MKL_Complex8* a, const MKL_INT* lda,
              const MKL_Complex8* af, const MKL_INT* ldaf, const MKL_INT* ipiv,
              const float* r, const float* c, const MKL_Complex8* b,
              const MKL_INT* ldb, MKL_Complex8* x, const MKL_INT* ldx,
              float* rcond, float* berr, const MKL_INT* n_err_bnds,
              float* err_bnds_norm, float* err_bnds_comp,
              const MKL_INT* nparams, float* params, MKL_Complex8* work,
              float* rwork, MKL_INT* info ) NOTHROW;
void CGERFSX_( const char* trans, const char* equed, const MKL_INT* n,
               const MKL_INT* nrhs, const MKL_Complex8* a, const MKL_INT* lda,
               const MKL_Complex8* af, const MKL_INT* ldaf,
               const MKL_INT* ipiv, const float* r, const float* c,
               const MKL_Complex8* b, const MKL_INT* ldb, MKL_Complex8* x,
               const MKL_INT* ldx, float* rcond, float* berr,
               const MKL_INT* n_err_bnds, float* err_bnds_norm,
               float* err_bnds_comp, const MKL_INT* nparams, float* params,
               MKL_Complex8* work, float* rwork, MKL_INT* info ) NOTHROW;
void cgerfsx( const char* trans, const char* equed, const MKL_INT* n,
              const MKL_INT* nrhs, const MKL_Complex8* a, const MKL_INT* lda,
              const MKL_Complex8* af, const MKL_INT* ldaf, const MKL_INT* ipiv,
              const float* r, const float* c, const MKL_Complex8* b,
              const MKL_INT* ldb, MKL_Complex8* x, const MKL_INT* ldx,
              float* rcond, float* berr, const MKL_INT* n_err_bnds,
              float* err_bnds_norm, float* err_bnds_comp,
              const MKL_INT* nparams, float* params, MKL_Complex8* work,
              float* rwork, MKL_INT* info ) NOTHROW;
void cgerfsx_( const char* trans, const char* equed, const MKL_INT* n,
               const MKL_INT* nrhs, const MKL_Complex8* a, const MKL_INT* lda,
               const MKL_Complex8* af, const MKL_INT* ldaf,
               const MKL_INT* ipiv, const float* r, const float* c,
               const MKL_Complex8* b, const MKL_INT* ldb, MKL_Complex8* x,
               const MKL_INT* ldx, float* rcond, float* berr,
               const MKL_INT* n_err_bnds, float* err_bnds_norm,
               float* err_bnds_comp, const MKL_INT* nparams, float* params,
               MKL_Complex8* work, float* rwork, MKL_INT* info ) NOTHROW;

void CGERQ2( const MKL_INT* m, const MKL_INT* n, MKL_Complex8* a,
             const MKL_INT* lda, MKL_Complex8* tau, MKL_Complex8* work,
             MKL_INT* info ) NOTHROW;
void CGERQ2_( const MKL_INT* m, const MKL_INT* n, MKL_Complex8* a,
              const MKL_INT* lda, MKL_Complex8* tau, MKL_Complex8* work,
              MKL_INT* info ) NOTHROW;
void cgerq2( const MKL_INT* m, const MKL_INT* n, MKL_Complex8* a,
             const MKL_INT* lda, MKL_Complex8* tau, MKL_Complex8* work,
             MKL_INT* info ) NOTHROW;
void cgerq2_( const MKL_INT* m, const MKL_INT* n, MKL_Complex8* a,
              const MKL_INT* lda, MKL_Complex8* tau, MKL_Complex8* work,
              MKL_INT* info ) NOTHROW;

void CGERQF( const MKL_INT* m, const MKL_INT* n, MKL_Complex8* a,
             const MKL_INT* lda, MKL_Complex8* tau, MKL_Complex8* work,
             const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void CGERQF_( const MKL_INT* m, const MKL_INT* n, MKL_Complex8* a,
              const MKL_INT* lda, MKL_Complex8* tau, MKL_Complex8* work,
              const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void cgerqf( const MKL_INT* m, const MKL_INT* n, MKL_Complex8* a,
             const MKL_INT* lda, MKL_Complex8* tau, MKL_Complex8* work,
             const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void cgerqf_( const MKL_INT* m, const MKL_INT* n, MKL_Complex8* a,
              const MKL_INT* lda, MKL_Complex8* tau, MKL_Complex8* work,
              const MKL_INT* lwork, MKL_INT* info ) NOTHROW;

void CGESC2( const MKL_INT* n, const MKL_Complex8* a, const MKL_INT* lda,
             MKL_Complex8* rhs, const MKL_INT* ipiv, const MKL_INT* jpiv,
             float* scale ) NOTHROW;
void CGESC2_( const MKL_INT* n, const MKL_Complex8* a, const MKL_INT* lda,
              MKL_Complex8* rhs, const MKL_INT* ipiv, const MKL_INT* jpiv,
              float* scale ) NOTHROW;
void cgesc2( const MKL_INT* n, const MKL_Complex8* a, const MKL_INT* lda,
             MKL_Complex8* rhs, const MKL_INT* ipiv, const MKL_INT* jpiv,
             float* scale ) NOTHROW;
void cgesc2_( const MKL_INT* n, const MKL_Complex8* a, const MKL_INT* lda,
              MKL_Complex8* rhs, const MKL_INT* ipiv, const MKL_INT* jpiv,
              float* scale ) NOTHROW;

void CGESDD( const char* jobz, const MKL_INT* m, const MKL_INT* n,
             MKL_Complex8* a, const MKL_INT* lda, float* s, MKL_Complex8* u,
             const MKL_INT* ldu, MKL_Complex8* vt, const MKL_INT* ldvt,
             MKL_Complex8* work, const MKL_INT* lwork, float* rwork,
             MKL_INT* iwork, MKL_INT* info ) NOTHROW;
void CGESDD_( const char* jobz, const MKL_INT* m, const MKL_INT* n,
              MKL_Complex8* a, const MKL_INT* lda, float* s, MKL_Complex8* u,
              const MKL_INT* ldu, MKL_Complex8* vt, const MKL_INT* ldvt,
              MKL_Complex8* work, const MKL_INT* lwork, float* rwork,
              MKL_INT* iwork, MKL_INT* info ) NOTHROW;
void cgesdd( const char* jobz, const MKL_INT* m, const MKL_INT* n,
             MKL_Complex8* a, const MKL_INT* lda, float* s, MKL_Complex8* u,
             const MKL_INT* ldu, MKL_Complex8* vt, const MKL_INT* ldvt,
             MKL_Complex8* work, const MKL_INT* lwork, float* rwork,
             MKL_INT* iwork, MKL_INT* info ) NOTHROW;
void cgesdd_( const char* jobz, const MKL_INT* m, const MKL_INT* n,
              MKL_Complex8* a, const MKL_INT* lda, float* s, MKL_Complex8* u,
              const MKL_INT* ldu, MKL_Complex8* vt, const MKL_INT* ldvt,
              MKL_Complex8* work, const MKL_INT* lwork, float* rwork,
              MKL_INT* iwork, MKL_INT* info ) NOTHROW;

void CGESVD( const char* jobu, const char* jobvt, const MKL_INT* m,
             const MKL_INT* n, MKL_Complex8* a, const MKL_INT* lda, float* s,
             MKL_Complex8* u, const MKL_INT* ldu, MKL_Complex8* vt,
             const MKL_INT* ldvt, MKL_Complex8* work, const MKL_INT* lwork,
             float* rwork, MKL_INT* info ) NOTHROW;
void CGESVD_( const char* jobu, const char* jobvt, const MKL_INT* m,
              const MKL_INT* n, MKL_Complex8* a, const MKL_INT* lda, float* s,
              MKL_Complex8* u, const MKL_INT* ldu, MKL_Complex8* vt,
              const MKL_INT* ldvt, MKL_Complex8* work, const MKL_INT* lwork,
              float* rwork, MKL_INT* info ) NOTHROW;
void cgesvd( const char* jobu, const char* jobvt, const MKL_INT* m,
             const MKL_INT* n, MKL_Complex8* a, const MKL_INT* lda, float* s,
             MKL_Complex8* u, const MKL_INT* ldu, MKL_Complex8* vt,
             const MKL_INT* ldvt, MKL_Complex8* work, const MKL_INT* lwork,
             float* rwork, MKL_INT* info ) NOTHROW;
void cgesvd_( const char* jobu, const char* jobvt, const MKL_INT* m,
              const MKL_INT* n, MKL_Complex8* a, const MKL_INT* lda, float* s,
              MKL_Complex8* u, const MKL_INT* ldu, MKL_Complex8* vt,
              const MKL_INT* ldvt, MKL_Complex8* work, const MKL_INT* lwork,
              float* rwork, MKL_INT* info ) NOTHROW;

void CGESV( const MKL_INT* n, const MKL_INT* nrhs, MKL_Complex8* a,
            const MKL_INT* lda, MKL_INT* ipiv, MKL_Complex8* b,
            const MKL_INT* ldb, MKL_INT* info ) NOTHROW;
void CGESV_( const MKL_INT* n, const MKL_INT* nrhs, MKL_Complex8* a,
             const MKL_INT* lda, MKL_INT* ipiv, MKL_Complex8* b,
             const MKL_INT* ldb, MKL_INT* info ) NOTHROW;
void cgesv( const MKL_INT* n, const MKL_INT* nrhs, MKL_Complex8* a,
            const MKL_INT* lda, MKL_INT* ipiv, MKL_Complex8* b,
            const MKL_INT* ldb, MKL_INT* info ) NOTHROW;
void cgesv_( const MKL_INT* n, const MKL_INT* nrhs, MKL_Complex8* a,
             const MKL_INT* lda, MKL_INT* ipiv, MKL_Complex8* b,
             const MKL_INT* ldb, MKL_INT* info ) NOTHROW;

void CGESVX( const char* fact, const char* trans, const MKL_INT* n,
             const MKL_INT* nrhs, MKL_Complex8* a, const MKL_INT* lda,
             MKL_Complex8* af, const MKL_INT* ldaf, MKL_INT* ipiv, char* equed,
             float* r, float* c, MKL_Complex8* b, const MKL_INT* ldb,
             MKL_Complex8* x, const MKL_INT* ldx, float* rcond, float* ferr,
             float* berr, MKL_Complex8* work, float* rwork, MKL_INT* info ) NOTHROW;
void CGESVX_( const char* fact, const char* trans, const MKL_INT* n,
              const MKL_INT* nrhs, MKL_Complex8* a, const MKL_INT* lda,
              MKL_Complex8* af, const MKL_INT* ldaf, MKL_INT* ipiv,
              char* equed, float* r, float* c, MKL_Complex8* b,
              const MKL_INT* ldb, MKL_Complex8* x, const MKL_INT* ldx,
              float* rcond, float* ferr, float* berr, MKL_Complex8* work,
              float* rwork, MKL_INT* info ) NOTHROW;
void cgesvx( const char* fact, const char* trans, const MKL_INT* n,
             const MKL_INT* nrhs, MKL_Complex8* a, const MKL_INT* lda,
             MKL_Complex8* af, const MKL_INT* ldaf, MKL_INT* ipiv, char* equed,
             float* r, float* c, MKL_Complex8* b, const MKL_INT* ldb,
             MKL_Complex8* x, const MKL_INT* ldx, float* rcond, float* ferr,
             float* berr, MKL_Complex8* work, float* rwork, MKL_INT* info ) NOTHROW;
void cgesvx_( const char* fact, const char* trans, const MKL_INT* n,
              const MKL_INT* nrhs, MKL_Complex8* a, const MKL_INT* lda,
              MKL_Complex8* af, const MKL_INT* ldaf, MKL_INT* ipiv,
              char* equed, float* r, float* c, MKL_Complex8* b,
              const MKL_INT* ldb, MKL_Complex8* x, const MKL_INT* ldx,
              float* rcond, float* ferr, float* berr, MKL_Complex8* work,
              float* rwork, MKL_INT* info ) NOTHROW;

void CGESVXX( const char* fact, const char* trans, const MKL_INT* n,
              const MKL_INT* nrhs, MKL_Complex8* a, const MKL_INT* lda,
              MKL_Complex8* af, const MKL_INT* ldaf, MKL_INT* ipiv,
              char* equed, float* r, float* c, MKL_Complex8* b,
              const MKL_INT* ldb, MKL_Complex8* x, const MKL_INT* ldx,
              float* rcond, float* rpvgrw, float* berr,
              const MKL_INT* n_err_bnds, float* err_bnds_norm,
              float* err_bnds_comp, const MKL_INT* nparams, float* params,
              MKL_Complex8* work, float* rwork, MKL_INT* info ) NOTHROW;
void CGESVXX_( const char* fact, const char* trans, const MKL_INT* n,
               const MKL_INT* nrhs, MKL_Complex8* a, const MKL_INT* lda,
               MKL_Complex8* af, const MKL_INT* ldaf, MKL_INT* ipiv,
               char* equed, float* r, float* c, MKL_Complex8* b,
               const MKL_INT* ldb, MKL_Complex8* x, const MKL_INT* ldx,
               float* rcond, float* rpvgrw, float* berr,
               const MKL_INT* n_err_bnds, float* err_bnds_norm,
               float* err_bnds_comp, const MKL_INT* nparams, float* params,
               MKL_Complex8* work, float* rwork, MKL_INT* info ) NOTHROW;
void cgesvxx( const char* fact, const char* trans, const MKL_INT* n,
              const MKL_INT* nrhs, MKL_Complex8* a, const MKL_INT* lda,
              MKL_Complex8* af, const MKL_INT* ldaf, MKL_INT* ipiv,
              char* equed, float* r, float* c, MKL_Complex8* b,
              const MKL_INT* ldb, MKL_Complex8* x, const MKL_INT* ldx,
              float* rcond, float* rpvgrw, float* berr,
              const MKL_INT* n_err_bnds, float* err_bnds_norm,
              float* err_bnds_comp, const MKL_INT* nparams, float* params,
              MKL_Complex8* work, float* rwork, MKL_INT* info ) NOTHROW;
void cgesvxx_( const char* fact, const char* trans, const MKL_INT* n,
               const MKL_INT* nrhs, MKL_Complex8* a, const MKL_INT* lda,
               MKL_Complex8* af, const MKL_INT* ldaf, MKL_INT* ipiv,
               char* equed, float* r, float* c, MKL_Complex8* b,
               const MKL_INT* ldb, MKL_Complex8* x, const MKL_INT* ldx,
               float* rcond, float* rpvgrw, float* berr,
               const MKL_INT* n_err_bnds, float* err_bnds_norm,
               float* err_bnds_comp, const MKL_INT* nparams, float* params,
               MKL_Complex8* work, float* rwork, MKL_INT* info ) NOTHROW;

void CGETC2( const MKL_INT* n, MKL_Complex8* a, const MKL_INT* lda,
             MKL_INT* ipiv, MKL_INT* jpiv, MKL_INT* info ) NOTHROW;
void CGETC2_( const MKL_INT* n, MKL_Complex8* a, const MKL_INT* lda,
              MKL_INT* ipiv, MKL_INT* jpiv, MKL_INT* info ) NOTHROW;
void cgetc2( const MKL_INT* n, MKL_Complex8* a, const MKL_INT* lda,
             MKL_INT* ipiv, MKL_INT* jpiv, MKL_INT* info ) NOTHROW;
void cgetc2_( const MKL_INT* n, MKL_Complex8* a, const MKL_INT* lda,
              MKL_INT* ipiv, MKL_INT* jpiv, MKL_INT* info ) NOTHROW;

void CGETF2( const MKL_INT* m, const MKL_INT* n, MKL_Complex8* a,
             const MKL_INT* lda, MKL_INT* ipiv, MKL_INT* info ) NOTHROW;
void CGETF2_( const MKL_INT* m, const MKL_INT* n, MKL_Complex8* a,
              const MKL_INT* lda, MKL_INT* ipiv, MKL_INT* info ) NOTHROW;
void cgetf2( const MKL_INT* m, const MKL_INT* n, MKL_Complex8* a,
             const MKL_INT* lda, MKL_INT* ipiv, MKL_INT* info ) NOTHROW;
void cgetf2_( const MKL_INT* m, const MKL_INT* n, MKL_Complex8* a,
              const MKL_INT* lda, MKL_INT* ipiv, MKL_INT* info ) NOTHROW;

void CGETRF( const MKL_INT* m, const MKL_INT* n, MKL_Complex8* a,
             const MKL_INT* lda, MKL_INT* ipiv, MKL_INT* info ) NOTHROW;
void CGETRF_( const MKL_INT* m, const MKL_INT* n, MKL_Complex8* a,
              const MKL_INT* lda, MKL_INT* ipiv, MKL_INT* info ) NOTHROW;
void cgetrf( const MKL_INT* m, const MKL_INT* n, MKL_Complex8* a,
             const MKL_INT* lda, MKL_INT* ipiv, MKL_INT* info ) NOTHROW;
void cgetrf_( const MKL_INT* m, const MKL_INT* n, MKL_Complex8* a,
              const MKL_INT* lda, MKL_INT* ipiv, MKL_INT* info ) NOTHROW;

void MKL_CGETRFNPI( const MKL_INT* m, const MKL_INT* n, const MKL_INT* nfact,
                    MKL_Complex8* a, const MKL_INT* lda, MKL_INT* info ) NOTHROW;
void MKL_CGETRFNPI_( const MKL_INT* m, const MKL_INT* n, const MKL_INT* nfact,
                     MKL_Complex8* a, const MKL_INT* lda, MKL_INT* info ) NOTHROW;
void mkl_cgetrfnpi( const MKL_INT* m, const MKL_INT* n, const MKL_INT* nfact,
                    MKL_Complex8* a, const MKL_INT* lda, MKL_INT* info ) NOTHROW;
void mkl_cgetrfnpi_( const MKL_INT* m, const MKL_INT* n, const MKL_INT* nfact,
                     MKL_Complex8* a, const MKL_INT* lda, MKL_INT* info ) NOTHROW;

void CGETRI( const MKL_INT* n, MKL_Complex8* a, const MKL_INT* lda,
             const MKL_INT* ipiv, MKL_Complex8* work, const MKL_INT* lwork,
             MKL_INT* info ) NOTHROW;
void CGETRI_( const MKL_INT* n, MKL_Complex8* a, const MKL_INT* lda,
              const MKL_INT* ipiv, MKL_Complex8* work, const MKL_INT* lwork,
              MKL_INT* info ) NOTHROW;
void cgetri( const MKL_INT* n, MKL_Complex8* a, const MKL_INT* lda,
             const MKL_INT* ipiv, MKL_Complex8* work, const MKL_INT* lwork,
             MKL_INT* info ) NOTHROW;
void cgetri_( const MKL_INT* n, MKL_Complex8* a, const MKL_INT* lda,
              const MKL_INT* ipiv, MKL_Complex8* work, const MKL_INT* lwork,
              MKL_INT* info ) NOTHROW;

void CGETRS( const char* trans, const MKL_INT* n, const MKL_INT* nrhs,
             const MKL_Complex8* a, const MKL_INT* lda, const MKL_INT* ipiv,
             MKL_Complex8* b, const MKL_INT* ldb, MKL_INT* info ) NOTHROW;
void CGETRS_( const char* trans, const MKL_INT* n, const MKL_INT* nrhs,
              const MKL_Complex8* a, const MKL_INT* lda, const MKL_INT* ipiv,
              MKL_Complex8* b, const MKL_INT* ldb, MKL_INT* info ) NOTHROW;
void cgetrs( const char* trans, const MKL_INT* n, const MKL_INT* nrhs,
             const MKL_Complex8* a, const MKL_INT* lda, const MKL_INT* ipiv,
             MKL_Complex8* b, const MKL_INT* ldb, MKL_INT* info ) NOTHROW;
void cgetrs_( const char* trans, const MKL_INT* n, const MKL_INT* nrhs,
              const MKL_Complex8* a, const MKL_INT* lda, const MKL_INT* ipiv,
              MKL_Complex8* b, const MKL_INT* ldb, MKL_INT* info ) NOTHROW;

void CGGBAK( const char* job, const char* side, const MKL_INT* n,
             const MKL_INT* ilo, const MKL_INT* ihi, const float* lscale,
             const float* rscale, const MKL_INT* m, MKL_Complex8* v,
             const MKL_INT* ldv, MKL_INT* info ) NOTHROW;
void CGGBAK_( const char* job, const char* side, const MKL_INT* n,
              const MKL_INT* ilo, const MKL_INT* ihi, const float* lscale,
              const float* rscale, const MKL_INT* m, MKL_Complex8* v,
              const MKL_INT* ldv, MKL_INT* info ) NOTHROW;
void cggbak( const char* job, const char* side, const MKL_INT* n,
             const MKL_INT* ilo, const MKL_INT* ihi, const float* lscale,
             const float* rscale, const MKL_INT* m, MKL_Complex8* v,
             const MKL_INT* ldv, MKL_INT* info ) NOTHROW;
void cggbak_( const char* job, const char* side, const MKL_INT* n,
              const MKL_INT* ilo, const MKL_INT* ihi, const float* lscale,
              const float* rscale, const MKL_INT* m, MKL_Complex8* v,
              const MKL_INT* ldv, MKL_INT* info ) NOTHROW;

void CGGBAL( const char* job, const MKL_INT* n, MKL_Complex8* a,
             const MKL_INT* lda, MKL_Complex8* b, const MKL_INT* ldb,
             MKL_INT* ilo, MKL_INT* ihi, float* lscale, float* rscale,
             float* work, MKL_INT* info ) NOTHROW;
void CGGBAL_( const char* job, const MKL_INT* n, MKL_Complex8* a,
              const MKL_INT* lda, MKL_Complex8* b, const MKL_INT* ldb,
              MKL_INT* ilo, MKL_INT* ihi, float* lscale, float* rscale,
              float* work, MKL_INT* info ) NOTHROW;
void cggbal( const char* job, const MKL_INT* n, MKL_Complex8* a,
             const MKL_INT* lda, MKL_Complex8* b, const MKL_INT* ldb,
             MKL_INT* ilo, MKL_INT* ihi, float* lscale, float* rscale,
             float* work, MKL_INT* info ) NOTHROW;
void cggbal_( const char* job, const MKL_INT* n, MKL_Complex8* a,
              const MKL_INT* lda, MKL_Complex8* b, const MKL_INT* ldb,
              MKL_INT* ilo, MKL_INT* ihi, float* lscale, float* rscale,
              float* work, MKL_INT* info ) NOTHROW;

void CGGES( const char* jobvsl, const char* jobvsr, const char* sort,
            MKL_C_SELECT_FUNCTION_2 selctg, const MKL_INT* n, MKL_Complex8* a,
            const MKL_INT* lda, MKL_Complex8* b, const MKL_INT* ldb,
            MKL_INT* sdim, MKL_Complex8* alpha, MKL_Complex8* beta,
            MKL_Complex8* vsl, const MKL_INT* ldvsl, MKL_Complex8* vsr,
            const MKL_INT* ldvsr, MKL_Complex8* work, const MKL_INT* lwork,
            float* rwork, MKL_INT* bwork, MKL_INT* info ) NOTHROW;
void CGGES_( const char* jobvsl, const char* jobvsr, const char* sort,
             MKL_C_SELECT_FUNCTION_2 selctg, const MKL_INT* n, MKL_Complex8* a,
             const MKL_INT* lda, MKL_Complex8* b, const MKL_INT* ldb,
             MKL_INT* sdim, MKL_Complex8* alpha, MKL_Complex8* beta,
             MKL_Complex8* vsl, const MKL_INT* ldvsl, MKL_Complex8* vsr,
             const MKL_INT* ldvsr, MKL_Complex8* work, const MKL_INT* lwork,
             float* rwork, MKL_INT* bwork, MKL_INT* info ) NOTHROW;
void cgges( const char* jobvsl, const char* jobvsr, const char* sort,
            MKL_C_SELECT_FUNCTION_2 selctg, const MKL_INT* n, MKL_Complex8* a,
            const MKL_INT* lda, MKL_Complex8* b, const MKL_INT* ldb,
            MKL_INT* sdim, MKL_Complex8* alpha, MKL_Complex8* beta,
            MKL_Complex8* vsl, const MKL_INT* ldvsl, MKL_Complex8* vsr,
            const MKL_INT* ldvsr, MKL_Complex8* work, const MKL_INT* lwork,
            float* rwork, MKL_INT* bwork, MKL_INT* info ) NOTHROW;
void cgges_( const char* jobvsl, const char* jobvsr, const char* sort,
             MKL_C_SELECT_FUNCTION_2 selctg, const MKL_INT* n, MKL_Complex8* a,
             const MKL_INT* lda, MKL_Complex8* b, const MKL_INT* ldb,
             MKL_INT* sdim, MKL_Complex8* alpha, MKL_Complex8* beta,
             MKL_Complex8* vsl, const MKL_INT* ldvsl, MKL_Complex8* vsr,
             const MKL_INT* ldvsr, MKL_Complex8* work, const MKL_INT* lwork,
             float* rwork, MKL_INT* bwork, MKL_INT* info ) NOTHROW;

void CGGESX( const char* jobvsl, const char* jobvsr, const char* sort,
             MKL_C_SELECT_FUNCTION_2 selctg, const char* sense,
             const MKL_INT* n, MKL_Complex8* a, const MKL_INT* lda,
             MKL_Complex8* b, const MKL_INT* ldb, MKL_INT* sdim,
             MKL_Complex8* alpha, MKL_Complex8* beta, MKL_Complex8* vsl,
             const MKL_INT* ldvsl, MKL_Complex8* vsr, const MKL_INT* ldvsr,
             float* rconde, float* rcondv, MKL_Complex8* work,
             const MKL_INT* lwork, float* rwork, MKL_INT* iwork,
             const MKL_INT* liwork, MKL_INT* bwork, MKL_INT* info ) NOTHROW;
void CGGESX_( const char* jobvsl, const char* jobvsr, const char* sort,
              MKL_C_SELECT_FUNCTION_2 selctg, const char* sense,
              const MKL_INT* n, MKL_Complex8* a, const MKL_INT* lda,
              MKL_Complex8* b, const MKL_INT* ldb, MKL_INT* sdim,
              MKL_Complex8* alpha, MKL_Complex8* beta, MKL_Complex8* vsl,
              const MKL_INT* ldvsl, MKL_Complex8* vsr, const MKL_INT* ldvsr,
              float* rconde, float* rcondv, MKL_Complex8* work,
              const MKL_INT* lwork, float* rwork, MKL_INT* iwork,
              const MKL_INT* liwork, MKL_INT* bwork, MKL_INT* info ) NOTHROW;
void cggesx( const char* jobvsl, const char* jobvsr, const char* sort,
             MKL_C_SELECT_FUNCTION_2 selctg, const char* sense,
             const MKL_INT* n, MKL_Complex8* a, const MKL_INT* lda,
             MKL_Complex8* b, const MKL_INT* ldb, MKL_INT* sdim,
             MKL_Complex8* alpha, MKL_Complex8* beta, MKL_Complex8* vsl,
             const MKL_INT* ldvsl, MKL_Complex8* vsr, const MKL_INT* ldvsr,
             float* rconde, float* rcondv, MKL_Complex8* work,
             const MKL_INT* lwork, float* rwork, MKL_INT* iwork,
             const MKL_INT* liwork, MKL_INT* bwork, MKL_INT* info ) NOTHROW;
void cggesx_( const char* jobvsl, const char* jobvsr, const char* sort,
              MKL_C_SELECT_FUNCTION_2 selctg, const char* sense,
              const MKL_INT* n, MKL_Complex8* a, const MKL_INT* lda,
              MKL_Complex8* b, const MKL_INT* ldb, MKL_INT* sdim,
              MKL_Complex8* alpha, MKL_Complex8* beta, MKL_Complex8* vsl,
              const MKL_INT* ldvsl, MKL_Complex8* vsr, const MKL_INT* ldvsr,
              float* rconde, float* rcondv, MKL_Complex8* work,
              const MKL_INT* lwork, float* rwork, MKL_INT* iwork,
              const MKL_INT* liwork, MKL_INT* bwork, MKL_INT* info ) NOTHROW;

void CGGEV( const char* jobvl, const char* jobvr, const MKL_INT* n,
            MKL_Complex8* a, const MKL_INT* lda, MKL_Complex8* b,
            const MKL_INT* ldb, MKL_Complex8* alpha, MKL_Complex8* beta,
            MKL_Complex8* vl, const MKL_INT* ldvl, MKL_Complex8* vr,
            const MKL_INT* ldvr, MKL_Complex8* work, const MKL_INT* lwork,
            float* rwork, MKL_INT* info ) NOTHROW;
void CGGEV_( const char* jobvl, const char* jobvr, const MKL_INT* n,
             MKL_Complex8* a, const MKL_INT* lda, MKL_Complex8* b,
             const MKL_INT* ldb, MKL_Complex8* alpha, MKL_Complex8* beta,
             MKL_Complex8* vl, const MKL_INT* ldvl, MKL_Complex8* vr,
             const MKL_INT* ldvr, MKL_Complex8* work, const MKL_INT* lwork,
             float* rwork, MKL_INT* info ) NOTHROW;
void cggev( const char* jobvl, const char* jobvr, const MKL_INT* n,
            MKL_Complex8* a, const MKL_INT* lda, MKL_Complex8* b,
            const MKL_INT* ldb, MKL_Complex8* alpha, MKL_Complex8* beta,
            MKL_Complex8* vl, const MKL_INT* ldvl, MKL_Complex8* vr,
            const MKL_INT* ldvr, MKL_Complex8* work, const MKL_INT* lwork,
            float* rwork, MKL_INT* info ) NOTHROW;
void cggev_( const char* jobvl, const char* jobvr, const MKL_INT* n,
             MKL_Complex8* a, const MKL_INT* lda, MKL_Complex8* b,
             const MKL_INT* ldb, MKL_Complex8* alpha, MKL_Complex8* beta,
             MKL_Complex8* vl, const MKL_INT* ldvl, MKL_Complex8* vr,
             const MKL_INT* ldvr, MKL_Complex8* work, const MKL_INT* lwork,
             float* rwork, MKL_INT* info ) NOTHROW;

void CGGEVX( const char* balanc, const char* jobvl, const char* jobvr,
             const char* sense, const MKL_INT* n, MKL_Complex8* a,
             const MKL_INT* lda, MKL_Complex8* b, const MKL_INT* ldb,
             MKL_Complex8* alpha, MKL_Complex8* beta, MKL_Complex8* vl,
             const MKL_INT* ldvl, MKL_Complex8* vr, const MKL_INT* ldvr,
             MKL_INT* ilo, MKL_INT* ihi, float* lscale, float* rscale,
             float* abnrm, float* bbnrm, float* rconde, float* rcondv,
             MKL_Complex8* work, const MKL_INT* lwork, float* rwork,
             MKL_INT* iwork, MKL_INT* bwork, MKL_INT* info ) NOTHROW;
void CGGEVX_( const char* balanc, const char* jobvl, const char* jobvr,
              const char* sense, const MKL_INT* n, MKL_Complex8* a,
              const MKL_INT* lda, MKL_Complex8* b, const MKL_INT* ldb,
              MKL_Complex8* alpha, MKL_Complex8* beta, MKL_Complex8* vl,
              const MKL_INT* ldvl, MKL_Complex8* vr, const MKL_INT* ldvr,
              MKL_INT* ilo, MKL_INT* ihi, float* lscale, float* rscale,
              float* abnrm, float* bbnrm, float* rconde, float* rcondv,
              MKL_Complex8* work, const MKL_INT* lwork, float* rwork,
              MKL_INT* iwork, MKL_INT* bwork, MKL_INT* info ) NOTHROW;
void cggevx( const char* balanc, const char* jobvl, const char* jobvr,
             const char* sense, const MKL_INT* n, MKL_Complex8* a,
             const MKL_INT* lda, MKL_Complex8* b, const MKL_INT* ldb,
             MKL_Complex8* alpha, MKL_Complex8* beta, MKL_Complex8* vl,
             const MKL_INT* ldvl, MKL_Complex8* vr, const MKL_INT* ldvr,
             MKL_INT* ilo, MKL_INT* ihi, float* lscale, float* rscale,
             float* abnrm, float* bbnrm, float* rconde, float* rcondv,
             MKL_Complex8* work, const MKL_INT* lwork, float* rwork,
             MKL_INT* iwork, MKL_INT* bwork, MKL_INT* info ) NOTHROW;
void cggevx_( const char* balanc, const char* jobvl, const char* jobvr,
              const char* sense, const MKL_INT* n, MKL_Complex8* a,
              const MKL_INT* lda, MKL_Complex8* b, const MKL_INT* ldb,
              MKL_Complex8* alpha, MKL_Complex8* beta, MKL_Complex8* vl,
              const MKL_INT* ldvl, MKL_Complex8* vr, const MKL_INT* ldvr,
              MKL_INT* ilo, MKL_INT* ihi, float* lscale, float* rscale,
              float* abnrm, float* bbnrm, float* rconde, float* rcondv,
              MKL_Complex8* work, const MKL_INT* lwork, float* rwork,
              MKL_INT* iwork, MKL_INT* bwork, MKL_INT* info ) NOTHROW;

void CGGGLM( const MKL_INT* n, const MKL_INT* m, const MKL_INT* p,
             MKL_Complex8* a, const MKL_INT* lda, MKL_Complex8* b,
             const MKL_INT* ldb, MKL_Complex8* d, MKL_Complex8* x,
             MKL_Complex8* y, MKL_Complex8* work, const MKL_INT* lwork,
             MKL_INT* info ) NOTHROW;
void CGGGLM_( const MKL_INT* n, const MKL_INT* m, const MKL_INT* p,
              MKL_Complex8* a, const MKL_INT* lda, MKL_Complex8* b,
              const MKL_INT* ldb, MKL_Complex8* d, MKL_Complex8* x,
              MKL_Complex8* y, MKL_Complex8* work, const MKL_INT* lwork,
              MKL_INT* info ) NOTHROW;
void cggglm( const MKL_INT* n, const MKL_INT* m, const MKL_INT* p,
             MKL_Complex8* a, const MKL_INT* lda, MKL_Complex8* b,
             const MKL_INT* ldb, MKL_Complex8* d, MKL_Complex8* x,
             MKL_Complex8* y, MKL_Complex8* work, const MKL_INT* lwork,
             MKL_INT* info ) NOTHROW;
void cggglm_( const MKL_INT* n, const MKL_INT* m, const MKL_INT* p,
              MKL_Complex8* a, const MKL_INT* lda, MKL_Complex8* b,
              const MKL_INT* ldb, MKL_Complex8* d, MKL_Complex8* x,
              MKL_Complex8* y, MKL_Complex8* work, const MKL_INT* lwork,
              MKL_INT* info ) NOTHROW;

void CGGHRD( const char* compq, const char* compz, const MKL_INT* n,
             const MKL_INT* ilo, const MKL_INT* ihi, MKL_Complex8* a,
             const MKL_INT* lda, MKL_Complex8* b, const MKL_INT* ldb,
             MKL_Complex8* q, const MKL_INT* ldq, MKL_Complex8* z,
             const MKL_INT* ldz, MKL_INT* info ) NOTHROW;
void CGGHRD_( const char* compq, const char* compz, const MKL_INT* n,
              const MKL_INT* ilo, const MKL_INT* ihi, MKL_Complex8* a,
              const MKL_INT* lda, MKL_Complex8* b, const MKL_INT* ldb,
              MKL_Complex8* q, const MKL_INT* ldq, MKL_Complex8* z,
              const MKL_INT* ldz, MKL_INT* info ) NOTHROW;
void cgghrd( const char* compq, const char* compz, const MKL_INT* n,
             const MKL_INT* ilo, const MKL_INT* ihi, MKL_Complex8* a,
             const MKL_INT* lda, MKL_Complex8* b, const MKL_INT* ldb,
             MKL_Complex8* q, const MKL_INT* ldq, MKL_Complex8* z,
             const MKL_INT* ldz, MKL_INT* info ) NOTHROW;
void cgghrd_( const char* compq, const char* compz, const MKL_INT* n,
              const MKL_INT* ilo, const MKL_INT* ihi, MKL_Complex8* a,
              const MKL_INT* lda, MKL_Complex8* b, const MKL_INT* ldb,
              MKL_Complex8* q, const MKL_INT* ldq, MKL_Complex8* z,
              const MKL_INT* ldz, MKL_INT* info ) NOTHROW;

void CGGLSE( const MKL_INT* m, const MKL_INT* n, const MKL_INT* p,
             MKL_Complex8* a, const MKL_INT* lda, MKL_Complex8* b,
             const MKL_INT* ldb, MKL_Complex8* c, MKL_Complex8* d,
             MKL_Complex8* x, MKL_Complex8* work, const MKL_INT* lwork,
             MKL_INT* info ) NOTHROW;
void CGGLSE_( const MKL_INT* m, const MKL_INT* n, const MKL_INT* p,
              MKL_Complex8* a, const MKL_INT* lda, MKL_Complex8* b,
              const MKL_INT* ldb, MKL_Complex8* c, MKL_Complex8* d,
              MKL_Complex8* x, MKL_Complex8* work, const MKL_INT* lwork,
              MKL_INT* info ) NOTHROW;
void cgglse( const MKL_INT* m, const MKL_INT* n, const MKL_INT* p,
             MKL_Complex8* a, const MKL_INT* lda, MKL_Complex8* b,
             const MKL_INT* ldb, MKL_Complex8* c, MKL_Complex8* d,
             MKL_Complex8* x, MKL_Complex8* work, const MKL_INT* lwork,
             MKL_INT* info ) NOTHROW;
void cgglse_( const MKL_INT* m, const MKL_INT* n, const MKL_INT* p,
              MKL_Complex8* a, const MKL_INT* lda, MKL_Complex8* b,
              const MKL_INT* ldb, MKL_Complex8* c, MKL_Complex8* d,
              MKL_Complex8* x, MKL_Complex8* work, const MKL_INT* lwork,
              MKL_INT* info ) NOTHROW;

void CGGQRF( const MKL_INT* n, const MKL_INT* m, const MKL_INT* p,
             MKL_Complex8* a, const MKL_INT* lda, MKL_Complex8* taua,
             MKL_Complex8* b, const MKL_INT* ldb, MKL_Complex8* taub,
             MKL_Complex8* work, const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void CGGQRF_( const MKL_INT* n, const MKL_INT* m, const MKL_INT* p,
              MKL_Complex8* a, const MKL_INT* lda, MKL_Complex8* taua,
              MKL_Complex8* b, const MKL_INT* ldb, MKL_Complex8* taub,
              MKL_Complex8* work, const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void cggqrf( const MKL_INT* n, const MKL_INT* m, const MKL_INT* p,
             MKL_Complex8* a, const MKL_INT* lda, MKL_Complex8* taua,
             MKL_Complex8* b, const MKL_INT* ldb, MKL_Complex8* taub,
             MKL_Complex8* work, const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void cggqrf_( const MKL_INT* n, const MKL_INT* m, const MKL_INT* p,
              MKL_Complex8* a, const MKL_INT* lda, MKL_Complex8* taua,
              MKL_Complex8* b, const MKL_INT* ldb, MKL_Complex8* taub,
              MKL_Complex8* work, const MKL_INT* lwork, MKL_INT* info ) NOTHROW;

void CGGRQF( const MKL_INT* m, const MKL_INT* p, const MKL_INT* n,
             MKL_Complex8* a, const MKL_INT* lda, MKL_Complex8* taua,
             MKL_Complex8* b, const MKL_INT* ldb, MKL_Complex8* taub,
             MKL_Complex8* work, const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void CGGRQF_( const MKL_INT* m, const MKL_INT* p, const MKL_INT* n,
              MKL_Complex8* a, const MKL_INT* lda, MKL_Complex8* taua,
              MKL_Complex8* b, const MKL_INT* ldb, MKL_Complex8* taub,
              MKL_Complex8* work, const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void cggrqf( const MKL_INT* m, const MKL_INT* p, const MKL_INT* n,
             MKL_Complex8* a, const MKL_INT* lda, MKL_Complex8* taua,
             MKL_Complex8* b, const MKL_INT* ldb, MKL_Complex8* taub,
             MKL_Complex8* work, const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void cggrqf_( const MKL_INT* m, const MKL_INT* p, const MKL_INT* n,
              MKL_Complex8* a, const MKL_INT* lda, MKL_Complex8* taua,
              MKL_Complex8* b, const MKL_INT* ldb, MKL_Complex8* taub,
              MKL_Complex8* work, const MKL_INT* lwork, MKL_INT* info ) NOTHROW;

void CGGSVD( const char* jobu, const char* jobv, const char* jobq,
             const MKL_INT* m, const MKL_INT* n, const MKL_INT* p, MKL_INT* k,
             MKL_INT* l, MKL_Complex8* a, const MKL_INT* lda, MKL_Complex8* b,
             const MKL_INT* ldb, float* alpha, float* beta, MKL_Complex8* u,
             const MKL_INT* ldu, MKL_Complex8* v, const MKL_INT* ldv,
             MKL_Complex8* q, const MKL_INT* ldq, MKL_Complex8* work,
             float* rwork, MKL_INT* iwork, MKL_INT* info ) NOTHROW;
void CGGSVD_( const char* jobu, const char* jobv, const char* jobq,
              const MKL_INT* m, const MKL_INT* n, const MKL_INT* p, MKL_INT* k,
              MKL_INT* l, MKL_Complex8* a, const MKL_INT* lda, MKL_Complex8* b,
              const MKL_INT* ldb, float* alpha, float* beta, MKL_Complex8* u,
              const MKL_INT* ldu, MKL_Complex8* v, const MKL_INT* ldv,
              MKL_Complex8* q, const MKL_INT* ldq, MKL_Complex8* work,
              float* rwork, MKL_INT* iwork, MKL_INT* info ) NOTHROW;
void cggsvd( const char* jobu, const char* jobv, const char* jobq,
             const MKL_INT* m, const MKL_INT* n, const MKL_INT* p, MKL_INT* k,
             MKL_INT* l, MKL_Complex8* a, const MKL_INT* lda, MKL_Complex8* b,
             const MKL_INT* ldb, float* alpha, float* beta, MKL_Complex8* u,
             const MKL_INT* ldu, MKL_Complex8* v, const MKL_INT* ldv,
             MKL_Complex8* q, const MKL_INT* ldq, MKL_Complex8* work,
             float* rwork, MKL_INT* iwork, MKL_INT* info ) NOTHROW;
void cggsvd_( const char* jobu, const char* jobv, const char* jobq,
              const MKL_INT* m, const MKL_INT* n, const MKL_INT* p, MKL_INT* k,
              MKL_INT* l, MKL_Complex8* a, const MKL_INT* lda, MKL_Complex8* b,
              const MKL_INT* ldb, float* alpha, float* beta, MKL_Complex8* u,
              const MKL_INT* ldu, MKL_Complex8* v, const MKL_INT* ldv,
              MKL_Complex8* q, const MKL_INT* ldq, MKL_Complex8* work,
              float* rwork, MKL_INT* iwork, MKL_INT* info ) NOTHROW;

void CGGSVP( const char* jobu, const char* jobv, const char* jobq,
             const MKL_INT* m, const MKL_INT* p, const MKL_INT* n,
             MKL_Complex8* a, const MKL_INT* lda, MKL_Complex8* b,
             const MKL_INT* ldb, const float* tola, const float* tolb,
             MKL_INT* k, MKL_INT* l, MKL_Complex8* u, const MKL_INT* ldu,
             MKL_Complex8* v, const MKL_INT* ldv, MKL_Complex8* q,
             const MKL_INT* ldq, MKL_INT* iwork, float* rwork,
             MKL_Complex8* tau, MKL_Complex8* work, MKL_INT* info ) NOTHROW;
void CGGSVP_( const char* jobu, const char* jobv, const char* jobq,
              const MKL_INT* m, const MKL_INT* p, const MKL_INT* n,
              MKL_Complex8* a, const MKL_INT* lda, MKL_Complex8* b,
              const MKL_INT* ldb, const float* tola, const float* tolb,
              MKL_INT* k, MKL_INT* l, MKL_Complex8* u, const MKL_INT* ldu,
              MKL_Complex8* v, const MKL_INT* ldv, MKL_Complex8* q,
              const MKL_INT* ldq, MKL_INT* iwork, float* rwork,
              MKL_Complex8* tau, MKL_Complex8* work, MKL_INT* info ) NOTHROW;
void cggsvp( const char* jobu, const char* jobv, const char* jobq,
             const MKL_INT* m, const MKL_INT* p, const MKL_INT* n,
             MKL_Complex8* a, const MKL_INT* lda, MKL_Complex8* b,
             const MKL_INT* ldb, const float* tola, const float* tolb,
             MKL_INT* k, MKL_INT* l, MKL_Complex8* u, const MKL_INT* ldu,
             MKL_Complex8* v, const MKL_INT* ldv, MKL_Complex8* q,
             const MKL_INT* ldq, MKL_INT* iwork, float* rwork,
             MKL_Complex8* tau, MKL_Complex8* work, MKL_INT* info ) NOTHROW;
void cggsvp_( const char* jobu, const char* jobv, const char* jobq,
              const MKL_INT* m, const MKL_INT* p, const MKL_INT* n,
              MKL_Complex8* a, const MKL_INT* lda, MKL_Complex8* b,
              const MKL_INT* ldb, const float* tola, const float* tolb,
              MKL_INT* k, MKL_INT* l, MKL_Complex8* u, const MKL_INT* ldu,
              MKL_Complex8* v, const MKL_INT* ldv, MKL_Complex8* q,
              const MKL_INT* ldq, MKL_INT* iwork, float* rwork,
              MKL_Complex8* tau, MKL_Complex8* work, MKL_INT* info ) NOTHROW;

void CGTCON( const char* norm, const MKL_INT* n, const MKL_Complex8* dl,
             const MKL_Complex8* d, const MKL_Complex8* du,
             const MKL_Complex8* du2, const MKL_INT* ipiv, const float* anorm,
             float* rcond, MKL_Complex8* work, MKL_INT* info ) NOTHROW;
void CGTCON_( const char* norm, const MKL_INT* n, const MKL_Complex8* dl,
              const MKL_Complex8* d, const MKL_Complex8* du,
              const MKL_Complex8* du2, const MKL_INT* ipiv, const float* anorm,
              float* rcond, MKL_Complex8* work, MKL_INT* info ) NOTHROW;
void cgtcon( const char* norm, const MKL_INT* n, const MKL_Complex8* dl,
             const MKL_Complex8* d, const MKL_Complex8* du,
             const MKL_Complex8* du2, const MKL_INT* ipiv, const float* anorm,
             float* rcond, MKL_Complex8* work, MKL_INT* info ) NOTHROW;
void cgtcon_( const char* norm, const MKL_INT* n, const MKL_Complex8* dl,
              const MKL_Complex8* d, const MKL_Complex8* du,
              const MKL_Complex8* du2, const MKL_INT* ipiv, const float* anorm,
              float* rcond, MKL_Complex8* work, MKL_INT* info ) NOTHROW;

void CGTRFS( const char* trans, const MKL_INT* n, const MKL_INT* nrhs,
             const MKL_Complex8* dl, const MKL_Complex8* d,
             const MKL_Complex8* du, const MKL_Complex8* dlf,
             const MKL_Complex8* df, const MKL_Complex8* duf,
             const MKL_Complex8* du2, const MKL_INT* ipiv,
             const MKL_Complex8* b, const MKL_INT* ldb, MKL_Complex8* x,
             const MKL_INT* ldx, float* ferr, float* berr, MKL_Complex8* work,
             float* rwork, MKL_INT* info ) NOTHROW;
void CGTRFS_( const char* trans, const MKL_INT* n, const MKL_INT* nrhs,
              const MKL_Complex8* dl, const MKL_Complex8* d,
              const MKL_Complex8* du, const MKL_Complex8* dlf,
              const MKL_Complex8* df, const MKL_Complex8* duf,
              const MKL_Complex8* du2, const MKL_INT* ipiv,
              const MKL_Complex8* b, const MKL_INT* ldb, MKL_Complex8* x,
              const MKL_INT* ldx, float* ferr, float* berr, MKL_Complex8* work,
              float* rwork, MKL_INT* info ) NOTHROW;
void cgtrfs( const char* trans, const MKL_INT* n, const MKL_INT* nrhs,
             const MKL_Complex8* dl, const MKL_Complex8* d,
             const MKL_Complex8* du, const MKL_Complex8* dlf,
             const MKL_Complex8* df, const MKL_Complex8* duf,
             const MKL_Complex8* du2, const MKL_INT* ipiv,
             const MKL_Complex8* b, const MKL_INT* ldb, MKL_Complex8* x,
             const MKL_INT* ldx, float* ferr, float* berr, MKL_Complex8* work,
             float* rwork, MKL_INT* info ) NOTHROW;
void cgtrfs_( const char* trans, const MKL_INT* n, const MKL_INT* nrhs,
              const MKL_Complex8* dl, const MKL_Complex8* d,
              const MKL_Complex8* du, const MKL_Complex8* dlf,
              const MKL_Complex8* df, const MKL_Complex8* duf,
              const MKL_Complex8* du2, const MKL_INT* ipiv,
              const MKL_Complex8* b, const MKL_INT* ldb, MKL_Complex8* x,
              const MKL_INT* ldx, float* ferr, float* berr, MKL_Complex8* work,
              float* rwork, MKL_INT* info ) NOTHROW;

void CGTSV( const MKL_INT* n, const MKL_INT* nrhs, MKL_Complex8* dl,
            MKL_Complex8* d, MKL_Complex8* du, MKL_Complex8* b,
            const MKL_INT* ldb, MKL_INT* info ) NOTHROW;
void CGTSV_( const MKL_INT* n, const MKL_INT* nrhs, MKL_Complex8* dl,
             MKL_Complex8* d, MKL_Complex8* du, MKL_Complex8* b,
             const MKL_INT* ldb, MKL_INT* info ) NOTHROW;
void cgtsv( const MKL_INT* n, const MKL_INT* nrhs, MKL_Complex8* dl,
            MKL_Complex8* d, MKL_Complex8* du, MKL_Complex8* b,
            const MKL_INT* ldb, MKL_INT* info ) NOTHROW;
void cgtsv_( const MKL_INT* n, const MKL_INT* nrhs, MKL_Complex8* dl,
             MKL_Complex8* d, MKL_Complex8* du, MKL_Complex8* b,
             const MKL_INT* ldb, MKL_INT* info ) NOTHROW;

void CGTSVX( const char* fact, const char* trans, const MKL_INT* n,
             const MKL_INT* nrhs, const MKL_Complex8* dl,
             const MKL_Complex8* d, const MKL_Complex8* du, MKL_Complex8* dlf,
             MKL_Complex8* df, MKL_Complex8* duf, MKL_Complex8* du2,
             MKL_INT* ipiv, const MKL_Complex8* b, const MKL_INT* ldb,
             MKL_Complex8* x, const MKL_INT* ldx, float* rcond, float* ferr,
             float* berr, MKL_Complex8* work, float* rwork, MKL_INT* info ) NOTHROW;
void CGTSVX_( const char* fact, const char* trans, const MKL_INT* n,
              const MKL_INT* nrhs, const MKL_Complex8* dl,
              const MKL_Complex8* d, const MKL_Complex8* du, MKL_Complex8* dlf,
              MKL_Complex8* df, MKL_Complex8* duf, MKL_Complex8* du2,
              MKL_INT* ipiv, const MKL_Complex8* b, const MKL_INT* ldb,
              MKL_Complex8* x, const MKL_INT* ldx, float* rcond, float* ferr,
              float* berr, MKL_Complex8* work, float* rwork, MKL_INT* info ) NOTHROW;
void cgtsvx( const char* fact, const char* trans, const MKL_INT* n,
             const MKL_INT* nrhs, const MKL_Complex8* dl,
             const MKL_Complex8* d, const MKL_Complex8* du, MKL_Complex8* dlf,
             MKL_Complex8* df, MKL_Complex8* duf, MKL_Complex8* du2,
             MKL_INT* ipiv, const MKL_Complex8* b, const MKL_INT* ldb,
             MKL_Complex8* x, const MKL_INT* ldx, float* rcond, float* ferr,
             float* berr, MKL_Complex8* work, float* rwork, MKL_INT* info ) NOTHROW;
void cgtsvx_( const char* fact, const char* trans, const MKL_INT* n,
              const MKL_INT* nrhs, const MKL_Complex8* dl,
              const MKL_Complex8* d, const MKL_Complex8* du, MKL_Complex8* dlf,
              MKL_Complex8* df, MKL_Complex8* duf, MKL_Complex8* du2,
              MKL_INT* ipiv, const MKL_Complex8* b, const MKL_INT* ldb,
              MKL_Complex8* x, const MKL_INT* ldx, float* rcond, float* ferr,
              float* berr, MKL_Complex8* work, float* rwork, MKL_INT* info ) NOTHROW;

void CGTTRF( const MKL_INT* n, MKL_Complex8* dl, MKL_Complex8* d,
             MKL_Complex8* du, MKL_Complex8* du2, MKL_INT* ipiv,
             MKL_INT* info ) NOTHROW;
void CGTTRF_( const MKL_INT* n, MKL_Complex8* dl, MKL_Complex8* d,
              MKL_Complex8* du, MKL_Complex8* du2, MKL_INT* ipiv,
              MKL_INT* info ) NOTHROW;
void cgttrf( const MKL_INT* n, MKL_Complex8* dl, MKL_Complex8* d,
             MKL_Complex8* du, MKL_Complex8* du2, MKL_INT* ipiv,
             MKL_INT* info ) NOTHROW;
void cgttrf_( const MKL_INT* n, MKL_Complex8* dl, MKL_Complex8* d,
              MKL_Complex8* du, MKL_Complex8* du2, MKL_INT* ipiv,
              MKL_INT* info ) NOTHROW;

void CGTTRS( const char* trans, const MKL_INT* n, const MKL_INT* nrhs,
             const MKL_Complex8* dl, const MKL_Complex8* d,
             const MKL_Complex8* du, const MKL_Complex8* du2,
             const MKL_INT* ipiv, MKL_Complex8* b, const MKL_INT* ldb,
             MKL_INT* info ) NOTHROW;
void CGTTRS_( const char* trans, const MKL_INT* n, const MKL_INT* nrhs,
              const MKL_Complex8* dl, const MKL_Complex8* d,
              const MKL_Complex8* du, const MKL_Complex8* du2,
              const MKL_INT* ipiv, MKL_Complex8* b, const MKL_INT* ldb,
              MKL_INT* info ) NOTHROW;
void cgttrs( const char* trans, const MKL_INT* n, const MKL_INT* nrhs,
             const MKL_Complex8* dl, const MKL_Complex8* d,
             const MKL_Complex8* du, const MKL_Complex8* du2,
             const MKL_INT* ipiv, MKL_Complex8* b, const MKL_INT* ldb,
             MKL_INT* info ) NOTHROW;
void cgttrs_( const char* trans, const MKL_INT* n, const MKL_INT* nrhs,
              const MKL_Complex8* dl, const MKL_Complex8* d,
              const MKL_Complex8* du, const MKL_Complex8* du2,
              const MKL_INT* ipiv, MKL_Complex8* b, const MKL_INT* ldb,
              MKL_INT* info ) NOTHROW;

void CGTTS2( const MKL_INT* itrans, const MKL_INT* n, const MKL_INT* nrhs,
             const MKL_Complex8* dl, const MKL_Complex8* d,
             const MKL_Complex8* du, const MKL_Complex8* du2,
             const MKL_INT* ipiv, MKL_Complex8* b, const MKL_INT* ldb ) NOTHROW;
void CGTTS2_( const MKL_INT* itrans, const MKL_INT* n, const MKL_INT* nrhs,
              const MKL_Complex8* dl, const MKL_Complex8* d,
              const MKL_Complex8* du, const MKL_Complex8* du2,
              const MKL_INT* ipiv, MKL_Complex8* b, const MKL_INT* ldb ) NOTHROW;
void cgtts2( const MKL_INT* itrans, const MKL_INT* n, const MKL_INT* nrhs,
             const MKL_Complex8* dl, const MKL_Complex8* d,
             const MKL_Complex8* du, const MKL_Complex8* du2,
             const MKL_INT* ipiv, MKL_Complex8* b, const MKL_INT* ldb ) NOTHROW;
void cgtts2_( const MKL_INT* itrans, const MKL_INT* n, const MKL_INT* nrhs,
              const MKL_Complex8* dl, const MKL_Complex8* d,
              const MKL_Complex8* du, const MKL_Complex8* du2,
              const MKL_INT* ipiv, MKL_Complex8* b, const MKL_INT* ldb ) NOTHROW;

void CHBEVD( const char* jobz, const char* uplo, const MKL_INT* n,
             const MKL_INT* kd, MKL_Complex8* ab, const MKL_INT* ldab,
             float* w, MKL_Complex8* z, const MKL_INT* ldz, MKL_Complex8* work,
             const MKL_INT* lwork, float* rwork, const MKL_INT* lrwork,
             MKL_INT* iwork, const MKL_INT* liwork, MKL_INT* info ) NOTHROW;
void CHBEVD_( const char* jobz, const char* uplo, const MKL_INT* n,
              const MKL_INT* kd, MKL_Complex8* ab, const MKL_INT* ldab,
              float* w, MKL_Complex8* z, const MKL_INT* ldz,
              MKL_Complex8* work, const MKL_INT* lwork, float* rwork,
              const MKL_INT* lrwork, MKL_INT* iwork, const MKL_INT* liwork,
              MKL_INT* info ) NOTHROW;
void chbevd( const char* jobz, const char* uplo, const MKL_INT* n,
             const MKL_INT* kd, MKL_Complex8* ab, const MKL_INT* ldab,
             float* w, MKL_Complex8* z, const MKL_INT* ldz, MKL_Complex8* work,
             const MKL_INT* lwork, float* rwork, const MKL_INT* lrwork,
             MKL_INT* iwork, const MKL_INT* liwork, MKL_INT* info ) NOTHROW;
void chbevd_( const char* jobz, const char* uplo, const MKL_INT* n,
              const MKL_INT* kd, MKL_Complex8* ab, const MKL_INT* ldab,
              float* w, MKL_Complex8* z, const MKL_INT* ldz,
              MKL_Complex8* work, const MKL_INT* lwork, float* rwork,
              const MKL_INT* lrwork, MKL_INT* iwork, const MKL_INT* liwork,
              MKL_INT* info ) NOTHROW;

void CHBEV( const char* jobz, const char* uplo, const MKL_INT* n,
            const MKL_INT* kd, MKL_Complex8* ab, const MKL_INT* ldab, float* w,
            MKL_Complex8* z, const MKL_INT* ldz, MKL_Complex8* work,
            float* rwork, MKL_INT* info ) NOTHROW;
void CHBEV_( const char* jobz, const char* uplo, const MKL_INT* n,
             const MKL_INT* kd, MKL_Complex8* ab, const MKL_INT* ldab,
             float* w, MKL_Complex8* z, const MKL_INT* ldz, MKL_Complex8* work,
             float* rwork, MKL_INT* info ) NOTHROW;
void chbev( const char* jobz, const char* uplo, const MKL_INT* n,
            const MKL_INT* kd, MKL_Complex8* ab, const MKL_INT* ldab, float* w,
            MKL_Complex8* z, const MKL_INT* ldz, MKL_Complex8* work,
            float* rwork, MKL_INT* info ) NOTHROW;
void chbev_( const char* jobz, const char* uplo, const MKL_INT* n,
             const MKL_INT* kd, MKL_Complex8* ab, const MKL_INT* ldab,
             float* w, MKL_Complex8* z, const MKL_INT* ldz, MKL_Complex8* work,
             float* rwork, MKL_INT* info ) NOTHROW;

void CHBEVX( const char* jobz, const char* range, const char* uplo,
             const MKL_INT* n, const MKL_INT* kd, MKL_Complex8* ab,
             const MKL_INT* ldab, MKL_Complex8* q, const MKL_INT* ldq,
             const float* vl, const float* vu, const MKL_INT* il,
             const MKL_INT* iu, const float* abstol, MKL_INT* m, float* w,
             MKL_Complex8* z, const MKL_INT* ldz, MKL_Complex8* work,
             float* rwork, MKL_INT* iwork, MKL_INT* ifail, MKL_INT* info ) NOTHROW;
void CHBEVX_( const char* jobz, const char* range, const char* uplo,
              const MKL_INT* n, const MKL_INT* kd, MKL_Complex8* ab,
              const MKL_INT* ldab, MKL_Complex8* q, const MKL_INT* ldq,
              const float* vl, const float* vu, const MKL_INT* il,
              const MKL_INT* iu, const float* abstol, MKL_INT* m, float* w,
              MKL_Complex8* z, const MKL_INT* ldz, MKL_Complex8* work,
              float* rwork, MKL_INT* iwork, MKL_INT* ifail, MKL_INT* info ) NOTHROW;
void chbevx( const char* jobz, const char* range, const char* uplo,
             const MKL_INT* n, const MKL_INT* kd, MKL_Complex8* ab,
             const MKL_INT* ldab, MKL_Complex8* q, const MKL_INT* ldq,
             const float* vl, const float* vu, const MKL_INT* il,
             const MKL_INT* iu, const float* abstol, MKL_INT* m, float* w,
             MKL_Complex8* z, const MKL_INT* ldz, MKL_Complex8* work,
             float* rwork, MKL_INT* iwork, MKL_INT* ifail, MKL_INT* info ) NOTHROW;
void chbevx_( const char* jobz, const char* range, const char* uplo,
              const MKL_INT* n, const MKL_INT* kd, MKL_Complex8* ab,
              const MKL_INT* ldab, MKL_Complex8* q, const MKL_INT* ldq,
              const float* vl, const float* vu, const MKL_INT* il,
              const MKL_INT* iu, const float* abstol, MKL_INT* m, float* w,
              MKL_Complex8* z, const MKL_INT* ldz, MKL_Complex8* work,
              float* rwork, MKL_INT* iwork, MKL_INT* ifail, MKL_INT* info ) NOTHROW;

void CHBGST( const char* vect, const char* uplo, const MKL_INT* n,
             const MKL_INT* ka, const MKL_INT* kb, MKL_Complex8* ab,
             const MKL_INT* ldab, const MKL_Complex8* bb, const MKL_INT* ldbb,
             MKL_Complex8* x, const MKL_INT* ldx, MKL_Complex8* work,
             float* rwork, MKL_INT* info ) NOTHROW;
void CHBGST_( const char* vect, const char* uplo, const MKL_INT* n,
              const MKL_INT* ka, const MKL_INT* kb, MKL_Complex8* ab,
              const MKL_INT* ldab, const MKL_Complex8* bb, const MKL_INT* ldbb,
              MKL_Complex8* x, const MKL_INT* ldx, MKL_Complex8* work,
              float* rwork, MKL_INT* info ) NOTHROW;
void chbgst( const char* vect, const char* uplo, const MKL_INT* n,
             const MKL_INT* ka, const MKL_INT* kb, MKL_Complex8* ab,
             const MKL_INT* ldab, const MKL_Complex8* bb, const MKL_INT* ldbb,
             MKL_Complex8* x, const MKL_INT* ldx, MKL_Complex8* work,
             float* rwork, MKL_INT* info ) NOTHROW;
void chbgst_( const char* vect, const char* uplo, const MKL_INT* n,
              const MKL_INT* ka, const MKL_INT* kb, MKL_Complex8* ab,
              const MKL_INT* ldab, const MKL_Complex8* bb, const MKL_INT* ldbb,
              MKL_Complex8* x, const MKL_INT* ldx, MKL_Complex8* work,
              float* rwork, MKL_INT* info ) NOTHROW;

void CHBGVD( const char* jobz, const char* uplo, const MKL_INT* n,
             const MKL_INT* ka, const MKL_INT* kb, MKL_Complex8* ab,
             const MKL_INT* ldab, MKL_Complex8* bb, const MKL_INT* ldbb,
             float* w, MKL_Complex8* z, const MKL_INT* ldz, MKL_Complex8* work,
             const MKL_INT* lwork, float* rwork, const MKL_INT* lrwork,
             MKL_INT* iwork, const MKL_INT* liwork, MKL_INT* info ) NOTHROW;
void CHBGVD_( const char* jobz, const char* uplo, const MKL_INT* n,
              const MKL_INT* ka, const MKL_INT* kb, MKL_Complex8* ab,
              const MKL_INT* ldab, MKL_Complex8* bb, const MKL_INT* ldbb,
              float* w, MKL_Complex8* z, const MKL_INT* ldz,
              MKL_Complex8* work, const MKL_INT* lwork, float* rwork,
              const MKL_INT* lrwork, MKL_INT* iwork, const MKL_INT* liwork,
              MKL_INT* info ) NOTHROW;
void chbgvd( const char* jobz, const char* uplo, const MKL_INT* n,
             const MKL_INT* ka, const MKL_INT* kb, MKL_Complex8* ab,
             const MKL_INT* ldab, MKL_Complex8* bb, const MKL_INT* ldbb,
             float* w, MKL_Complex8* z, const MKL_INT* ldz, MKL_Complex8* work,
             const MKL_INT* lwork, float* rwork, const MKL_INT* lrwork,
             MKL_INT* iwork, const MKL_INT* liwork, MKL_INT* info ) NOTHROW;
void chbgvd_( const char* jobz, const char* uplo, const MKL_INT* n,
              const MKL_INT* ka, const MKL_INT* kb, MKL_Complex8* ab,
              const MKL_INT* ldab, MKL_Complex8* bb, const MKL_INT* ldbb,
              float* w, MKL_Complex8* z, const MKL_INT* ldz,
              MKL_Complex8* work, const MKL_INT* lwork, float* rwork,
              const MKL_INT* lrwork, MKL_INT* iwork, const MKL_INT* liwork,
              MKL_INT* info ) NOTHROW;

void CHBGV( const char* jobz, const char* uplo, const MKL_INT* n,
            const MKL_INT* ka, const MKL_INT* kb, MKL_Complex8* ab,
            const MKL_INT* ldab, MKL_Complex8* bb, const MKL_INT* ldbb,
            float* w, MKL_Complex8* z, const MKL_INT* ldz, MKL_Complex8* work,
            float* rwork, MKL_INT* info ) NOTHROW;
void CHBGV_( const char* jobz, const char* uplo, const MKL_INT* n,
             const MKL_INT* ka, const MKL_INT* kb, MKL_Complex8* ab,
             const MKL_INT* ldab, MKL_Complex8* bb, const MKL_INT* ldbb,
             float* w, MKL_Complex8* z, const MKL_INT* ldz, MKL_Complex8* work,
             float* rwork, MKL_INT* info ) NOTHROW;
void chbgv( const char* jobz, const char* uplo, const MKL_INT* n,
            const MKL_INT* ka, const MKL_INT* kb, MKL_Complex8* ab,
            const MKL_INT* ldab, MKL_Complex8* bb, const MKL_INT* ldbb,
            float* w, MKL_Complex8* z, const MKL_INT* ldz, MKL_Complex8* work,
            float* rwork, MKL_INT* info ) NOTHROW;
void chbgv_( const char* jobz, const char* uplo, const MKL_INT* n,
             const MKL_INT* ka, const MKL_INT* kb, MKL_Complex8* ab,
             const MKL_INT* ldab, MKL_Complex8* bb, const MKL_INT* ldbb,
             float* w, MKL_Complex8* z, const MKL_INT* ldz, MKL_Complex8* work,
             float* rwork, MKL_INT* info ) NOTHROW;

void CHBGVX( const char* jobz, const char* range, const char* uplo,
             const MKL_INT* n, const MKL_INT* ka, const MKL_INT* kb,
             MKL_Complex8* ab, const MKL_INT* ldab, MKL_Complex8* bb,
             const MKL_INT* ldbb, MKL_Complex8* q, const MKL_INT* ldq,
             const float* vl, const float* vu, const MKL_INT* il,
             const MKL_INT* iu, const float* abstol, MKL_INT* m, float* w,
             MKL_Complex8* z, const MKL_INT* ldz, MKL_Complex8* work,
             float* rwork, MKL_INT* iwork, MKL_INT* ifail, MKL_INT* info ) NOTHROW;
void CHBGVX_( const char* jobz, const char* range, const char* uplo,
              const MKL_INT* n, const MKL_INT* ka, const MKL_INT* kb,
              MKL_Complex8* ab, const MKL_INT* ldab, MKL_Complex8* bb,
              const MKL_INT* ldbb, MKL_Complex8* q, const MKL_INT* ldq,
              const float* vl, const float* vu, const MKL_INT* il,
              const MKL_INT* iu, const float* abstol, MKL_INT* m, float* w,
              MKL_Complex8* z, const MKL_INT* ldz, MKL_Complex8* work,
              float* rwork, MKL_INT* iwork, MKL_INT* ifail, MKL_INT* info ) NOTHROW;
void chbgvx( const char* jobz, const char* range, const char* uplo,
             const MKL_INT* n, const MKL_INT* ka, const MKL_INT* kb,
             MKL_Complex8* ab, const MKL_INT* ldab, MKL_Complex8* bb,
             const MKL_INT* ldbb, MKL_Complex8* q, const MKL_INT* ldq,
             const float* vl, const float* vu, const MKL_INT* il,
             const MKL_INT* iu, const float* abstol, MKL_INT* m, float* w,
             MKL_Complex8* z, const MKL_INT* ldz, MKL_Complex8* work,
             float* rwork, MKL_INT* iwork, MKL_INT* ifail, MKL_INT* info ) NOTHROW;
void chbgvx_( const char* jobz, const char* range, const char* uplo,
              const MKL_INT* n, const MKL_INT* ka, const MKL_INT* kb,
              MKL_Complex8* ab, const MKL_INT* ldab, MKL_Complex8* bb,
              const MKL_INT* ldbb, MKL_Complex8* q, const MKL_INT* ldq,
              const float* vl, const float* vu, const MKL_INT* il,
              const MKL_INT* iu, const float* abstol, MKL_INT* m, float* w,
              MKL_Complex8* z, const MKL_INT* ldz, MKL_Complex8* work,
              float* rwork, MKL_INT* iwork, MKL_INT* ifail, MKL_INT* info ) NOTHROW;

void CHBTRD( const char* vect, const char* uplo, const MKL_INT* n,
             const MKL_INT* kd, MKL_Complex8* ab, const MKL_INT* ldab,
             float* d, float* e, MKL_Complex8* q, const MKL_INT* ldq,
             MKL_Complex8* work, MKL_INT* info ) NOTHROW;
void CHBTRD_( const char* vect, const char* uplo, const MKL_INT* n,
              const MKL_INT* kd, MKL_Complex8* ab, const MKL_INT* ldab,
              float* d, float* e, MKL_Complex8* q, const MKL_INT* ldq,
              MKL_Complex8* work, MKL_INT* info ) NOTHROW;
void chbtrd( const char* vect, const char* uplo, const MKL_INT* n,
             const MKL_INT* kd, MKL_Complex8* ab, const MKL_INT* ldab,
             float* d, float* e, MKL_Complex8* q, const MKL_INT* ldq,
             MKL_Complex8* work, MKL_INT* info ) NOTHROW;
void chbtrd_( const char* vect, const char* uplo, const MKL_INT* n,
              const MKL_INT* kd, MKL_Complex8* ab, const MKL_INT* ldab,
              float* d, float* e, MKL_Complex8* q, const MKL_INT* ldq,
              MKL_Complex8* work, MKL_INT* info ) NOTHROW;

void CHECON( const char* uplo, const MKL_INT* n, const MKL_Complex8* a,
             const MKL_INT* lda, const MKL_INT* ipiv, const float* anorm,
             float* rcond, MKL_Complex8* work, MKL_INT* info ) NOTHROW;
void CHECON_( const char* uplo, const MKL_INT* n, const MKL_Complex8* a,
              const MKL_INT* lda, const MKL_INT* ipiv, const float* anorm,
              float* rcond, MKL_Complex8* work, MKL_INT* info ) NOTHROW;
void checon( const char* uplo, const MKL_INT* n, const MKL_Complex8* a,
             const MKL_INT* lda, const MKL_INT* ipiv, const float* anorm,
             float* rcond, MKL_Complex8* work, MKL_INT* info ) NOTHROW;
void checon_( const char* uplo, const MKL_INT* n, const MKL_Complex8* a,
              const MKL_INT* lda, const MKL_INT* ipiv, const float* anorm,
              float* rcond, MKL_Complex8* work, MKL_INT* info ) NOTHROW;

void CHEEQUB( const char* uplo, const MKL_INT* n, const MKL_Complex8* a,
              const MKL_INT* lda, float* s, float* scond, float* amax,
              MKL_Complex8* work, MKL_INT* info ) NOTHROW;
void CHEEQUB_( const char* uplo, const MKL_INT* n, const MKL_Complex8* a,
               const MKL_INT* lda, float* s, float* scond, float* amax,
               MKL_Complex8* work, MKL_INT* info ) NOTHROW;
void cheequb( const char* uplo, const MKL_INT* n, const MKL_Complex8* a,
              const MKL_INT* lda, float* s, float* scond, float* amax,
              MKL_Complex8* work, MKL_INT* info ) NOTHROW;
void cheequb_( const char* uplo, const MKL_INT* n, const MKL_Complex8* a,
               const MKL_INT* lda, float* s, float* scond, float* amax,
               MKL_Complex8* work, MKL_INT* info ) NOTHROW;

void CHEEVD( const char* jobz, const char* uplo, const MKL_INT* n,
             MKL_Complex8* a, const MKL_INT* lda, float* w, MKL_Complex8* work,
             const MKL_INT* lwork, float* rwork, const MKL_INT* lrwork,
             MKL_INT* iwork, const MKL_INT* liwork, MKL_INT* info ) NOTHROW;
void CHEEVD_( const char* jobz, const char* uplo, const MKL_INT* n,
              MKL_Complex8* a, const MKL_INT* lda, float* w,
              MKL_Complex8* work, const MKL_INT* lwork, float* rwork,
              const MKL_INT* lrwork, MKL_INT* iwork, const MKL_INT* liwork,
              MKL_INT* info ) NOTHROW;
void cheevd( const char* jobz, const char* uplo, const MKL_INT* n,
             MKL_Complex8* a, const MKL_INT* lda, float* w, MKL_Complex8* work,
             const MKL_INT* lwork, float* rwork, const MKL_INT* lrwork,
             MKL_INT* iwork, const MKL_INT* liwork, MKL_INT* info ) NOTHROW;
void cheevd_( const char* jobz, const char* uplo, const MKL_INT* n,
              MKL_Complex8* a, const MKL_INT* lda, float* w,
              MKL_Complex8* work, const MKL_INT* lwork, float* rwork,
              const MKL_INT* lrwork, MKL_INT* iwork, const MKL_INT* liwork,
              MKL_INT* info ) NOTHROW;

void CHEEV( const char* jobz, const char* uplo, const MKL_INT* n,
            MKL_Complex8* a, const MKL_INT* lda, float* w, MKL_Complex8* work,
            const MKL_INT* lwork, float* rwork, MKL_INT* info ) NOTHROW;
void CHEEV_( const char* jobz, const char* uplo, const MKL_INT* n,
             MKL_Complex8* a, const MKL_INT* lda, float* w, MKL_Complex8* work,
             const MKL_INT* lwork, float* rwork, MKL_INT* info ) NOTHROW;
void cheev( const char* jobz, const char* uplo, const MKL_INT* n,
            MKL_Complex8* a, const MKL_INT* lda, float* w, MKL_Complex8* work,
            const MKL_INT* lwork, float* rwork, MKL_INT* info ) NOTHROW;
void cheev_( const char* jobz, const char* uplo, const MKL_INT* n,
             MKL_Complex8* a, const MKL_INT* lda, float* w, MKL_Complex8* work,
             const MKL_INT* lwork, float* rwork, MKL_INT* info ) NOTHROW;

void CHEEVR( const char* jobz, const char* range, const char* uplo,
             const MKL_INT* n, MKL_Complex8* a, const MKL_INT* lda,
             const float* vl, const float* vu, const MKL_INT* il,
             const MKL_INT* iu, const float* abstol, MKL_INT* m, float* w,
             MKL_Complex8* z, const MKL_INT* ldz, MKL_INT* isuppz,
             MKL_Complex8* work, const MKL_INT* lwork, float* rwork,
             const MKL_INT* lrwork, MKL_INT* iwork, const MKL_INT* liwork,
             MKL_INT* info ) NOTHROW;
void CHEEVR_( const char* jobz, const char* range, const char* uplo,
              const MKL_INT* n, MKL_Complex8* a, const MKL_INT* lda,
              const float* vl, const float* vu, const MKL_INT* il,
              const MKL_INT* iu, const float* abstol, MKL_INT* m, float* w,
              MKL_Complex8* z, const MKL_INT* ldz, MKL_INT* isuppz,
              MKL_Complex8* work, const MKL_INT* lwork, float* rwork,
              const MKL_INT* lrwork, MKL_INT* iwork, const MKL_INT* liwork,
              MKL_INT* info ) NOTHROW;
void cheevr( const char* jobz, const char* range, const char* uplo,
             const MKL_INT* n, MKL_Complex8* a, const MKL_INT* lda,
             const float* vl, const float* vu, const MKL_INT* il,
             const MKL_INT* iu, const float* abstol, MKL_INT* m, float* w,
             MKL_Complex8* z, const MKL_INT* ldz, MKL_INT* isuppz,
             MKL_Complex8* work, const MKL_INT* lwork, float* rwork,
             const MKL_INT* lrwork, MKL_INT* iwork, const MKL_INT* liwork,
             MKL_INT* info ) NOTHROW;
void cheevr_( const char* jobz, const char* range, const char* uplo,
              const MKL_INT* n, MKL_Complex8* a, const MKL_INT* lda,
              const float* vl, const float* vu, const MKL_INT* il,
              const MKL_INT* iu, const float* abstol, MKL_INT* m, float* w,
              MKL_Complex8* z, const MKL_INT* ldz, MKL_INT* isuppz,
              MKL_Complex8* work, const MKL_INT* lwork, float* rwork,
              const MKL_INT* lrwork, MKL_INT* iwork, const MKL_INT* liwork,
              MKL_INT* info ) NOTHROW;

void CHEEVX( const char* jobz, const char* range, const char* uplo,
             const MKL_INT* n, MKL_Complex8* a, const MKL_INT* lda,
             const float* vl, const float* vu, const MKL_INT* il,
             const MKL_INT* iu, const float* abstol, MKL_INT* m, float* w,
             MKL_Complex8* z, const MKL_INT* ldz, MKL_Complex8* work,
             const MKL_INT* lwork, float* rwork, MKL_INT* iwork,
             MKL_INT* ifail, MKL_INT* info ) NOTHROW;
void CHEEVX_( const char* jobz, const char* range, const char* uplo,
              const MKL_INT* n, MKL_Complex8* a, const MKL_INT* lda,
              const float* vl, const float* vu, const MKL_INT* il,
              const MKL_INT* iu, const float* abstol, MKL_INT* m, float* w,
              MKL_Complex8* z, const MKL_INT* ldz, MKL_Complex8* work,
              const MKL_INT* lwork, float* rwork, MKL_INT* iwork,
              MKL_INT* ifail, MKL_INT* info ) NOTHROW;
void cheevx( const char* jobz, const char* range, const char* uplo,
             const MKL_INT* n, MKL_Complex8* a, const MKL_INT* lda,
             const float* vl, const float* vu, const MKL_INT* il,
             const MKL_INT* iu, const float* abstol, MKL_INT* m, float* w,
             MKL_Complex8* z, const MKL_INT* ldz, MKL_Complex8* work,
             const MKL_INT* lwork, float* rwork, MKL_INT* iwork,
             MKL_INT* ifail, MKL_INT* info ) NOTHROW;
void cheevx_( const char* jobz, const char* range, const char* uplo,
              const MKL_INT* n, MKL_Complex8* a, const MKL_INT* lda,
              const float* vl, const float* vu, const MKL_INT* il,
              const MKL_INT* iu, const float* abstol, MKL_INT* m, float* w,
              MKL_Complex8* z, const MKL_INT* ldz, MKL_Complex8* work,
              const MKL_INT* lwork, float* rwork, MKL_INT* iwork,
              MKL_INT* ifail, MKL_INT* info ) NOTHROW;

void CHEGS2( const MKL_INT* itype, const char* uplo, const MKL_INT* n,
             MKL_Complex8* a, const MKL_INT* lda, MKL_Complex8* b,
             const MKL_INT* ldb, MKL_INT* info ) NOTHROW;
void CHEGS2_( const MKL_INT* itype, const char* uplo, const MKL_INT* n,
              MKL_Complex8* a, const MKL_INT* lda, MKL_Complex8* b,
              const MKL_INT* ldb, MKL_INT* info ) NOTHROW;
void chegs2( const MKL_INT* itype, const char* uplo, const MKL_INT* n,
             MKL_Complex8* a, const MKL_INT* lda, MKL_Complex8* b,
             const MKL_INT* ldb, MKL_INT* info ) NOTHROW;
void chegs2_( const MKL_INT* itype, const char* uplo, const MKL_INT* n,
              MKL_Complex8* a, const MKL_INT* lda, MKL_Complex8* b,
              const MKL_INT* ldb, MKL_INT* info ) NOTHROW;

void CHEGST( const MKL_INT* itype, const char* uplo, const MKL_INT* n,
             MKL_Complex8* a, const MKL_INT* lda, MKL_Complex8* b,
             const MKL_INT* ldb, MKL_INT* info ) NOTHROW;
void CHEGST_( const MKL_INT* itype, const char* uplo, const MKL_INT* n,
              MKL_Complex8* a, const MKL_INT* lda, MKL_Complex8* b,
              const MKL_INT* ldb, MKL_INT* info ) NOTHROW;
void chegst( const MKL_INT* itype, const char* uplo, const MKL_INT* n,
             MKL_Complex8* a, const MKL_INT* lda, MKL_Complex8* b,
             const MKL_INT* ldb, MKL_INT* info ) NOTHROW;
void chegst_( const MKL_INT* itype, const char* uplo, const MKL_INT* n,
              MKL_Complex8* a, const MKL_INT* lda, MKL_Complex8* b,
              const MKL_INT* ldb, MKL_INT* info ) NOTHROW;

void CHEGVD( const MKL_INT* itype, const char* jobz, const char* uplo,
             const MKL_INT* n, MKL_Complex8* a, const MKL_INT* lda,
             MKL_Complex8* b, const MKL_INT* ldb, float* w, MKL_Complex8* work,
             const MKL_INT* lwork, float* rwork, const MKL_INT* lrwork,
             MKL_INT* iwork, const MKL_INT* liwork, MKL_INT* info ) NOTHROW;
void CHEGVD_( const MKL_INT* itype, const char* jobz, const char* uplo,
              const MKL_INT* n, MKL_Complex8* a, const MKL_INT* lda,
              MKL_Complex8* b, const MKL_INT* ldb, float* w,
              MKL_Complex8* work, const MKL_INT* lwork, float* rwork,
              const MKL_INT* lrwork, MKL_INT* iwork, const MKL_INT* liwork,
              MKL_INT* info ) NOTHROW;
void chegvd( const MKL_INT* itype, const char* jobz, const char* uplo,
             const MKL_INT* n, MKL_Complex8* a, const MKL_INT* lda,
             MKL_Complex8* b, const MKL_INT* ldb, float* w, MKL_Complex8* work,
             const MKL_INT* lwork, float* rwork, const MKL_INT* lrwork,
             MKL_INT* iwork, const MKL_INT* liwork, MKL_INT* info ) NOTHROW;
void chegvd_( const MKL_INT* itype, const char* jobz, const char* uplo,
              const MKL_INT* n, MKL_Complex8* a, const MKL_INT* lda,
              MKL_Complex8* b, const MKL_INT* ldb, float* w,
              MKL_Complex8* work, const MKL_INT* lwork, float* rwork,
              const MKL_INT* lrwork, MKL_INT* iwork, const MKL_INT* liwork,
              MKL_INT* info ) NOTHROW;

void CHEGV( const MKL_INT* itype, const char* jobz, const char* uplo,
            const MKL_INT* n, MKL_Complex8* a, const MKL_INT* lda,
            MKL_Complex8* b, const MKL_INT* ldb, float* w, MKL_Complex8* work,
            const MKL_INT* lwork, float* rwork, MKL_INT* info ) NOTHROW;
void CHEGV_( const MKL_INT* itype, const char* jobz, const char* uplo,
             const MKL_INT* n, MKL_Complex8* a, const MKL_INT* lda,
             MKL_Complex8* b, const MKL_INT* ldb, float* w, MKL_Complex8* work,
             const MKL_INT* lwork, float* rwork, MKL_INT* info ) NOTHROW;
void chegv( const MKL_INT* itype, const char* jobz, const char* uplo,
            const MKL_INT* n, MKL_Complex8* a, const MKL_INT* lda,
            MKL_Complex8* b, const MKL_INT* ldb, float* w, MKL_Complex8* work,
            const MKL_INT* lwork, float* rwork, MKL_INT* info ) NOTHROW;
void chegv_( const MKL_INT* itype, const char* jobz, const char* uplo,
             const MKL_INT* n, MKL_Complex8* a, const MKL_INT* lda,
             MKL_Complex8* b, const MKL_INT* ldb, float* w, MKL_Complex8* work,
             const MKL_INT* lwork, float* rwork, MKL_INT* info ) NOTHROW;

void CHEGVX( const MKL_INT* itype, const char* jobz, const char* range,
             const char* uplo, const MKL_INT* n, MKL_Complex8* a,
             const MKL_INT* lda, MKL_Complex8* b, const MKL_INT* ldb,
             const float* vl, const float* vu, const MKL_INT* il,
             const MKL_INT* iu, const float* abstol, MKL_INT* m, float* w,
             MKL_Complex8* z, const MKL_INT* ldz, MKL_Complex8* work,
             const MKL_INT* lwork, float* rwork, MKL_INT* iwork,
             MKL_INT* ifail, MKL_INT* info ) NOTHROW;
void CHEGVX_( const MKL_INT* itype, const char* jobz, const char* range,
              const char* uplo, const MKL_INT* n, MKL_Complex8* a,
              const MKL_INT* lda, MKL_Complex8* b, const MKL_INT* ldb,
              const float* vl, const float* vu, const MKL_INT* il,
              const MKL_INT* iu, const float* abstol, MKL_INT* m, float* w,
              MKL_Complex8* z, const MKL_INT* ldz, MKL_Complex8* work,
              const MKL_INT* lwork, float* rwork, MKL_INT* iwork,
              MKL_INT* ifail, MKL_INT* info ) NOTHROW;
void chegvx( const MKL_INT* itype, const char* jobz, const char* range,
             const char* uplo, const MKL_INT* n, MKL_Complex8* a,
             const MKL_INT* lda, MKL_Complex8* b, const MKL_INT* ldb,
             const float* vl, const float* vu, const MKL_INT* il,
             const MKL_INT* iu, const float* abstol, MKL_INT* m, float* w,
             MKL_Complex8* z, const MKL_INT* ldz, MKL_Complex8* work,
             const MKL_INT* lwork, float* rwork, MKL_INT* iwork,
             MKL_INT* ifail, MKL_INT* info ) NOTHROW;
void chegvx_( const MKL_INT* itype, const char* jobz, const char* range,
              const char* uplo, const MKL_INT* n, MKL_Complex8* a,
              const MKL_INT* lda, MKL_Complex8* b, const MKL_INT* ldb,
              const float* vl, const float* vu, const MKL_INT* il,
              const MKL_INT* iu, const float* abstol, MKL_INT* m, float* w,
              MKL_Complex8* z, const MKL_INT* ldz, MKL_Complex8* work,
              const MKL_INT* lwork, float* rwork, MKL_INT* iwork,
              MKL_INT* ifail, MKL_INT* info ) NOTHROW;

void CHERFS( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs,
             const MKL_Complex8* a, const MKL_INT* lda, const MKL_Complex8* af,
             const MKL_INT* ldaf, const MKL_INT* ipiv, const MKL_Complex8* b,
             const MKL_INT* ldb, MKL_Complex8* x, const MKL_INT* ldx,
             float* ferr, float* berr, MKL_Complex8* work, float* rwork,
             MKL_INT* info ) NOTHROW;
void CHERFS_( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs,
              const MKL_Complex8* a, const MKL_INT* lda,
              const MKL_Complex8* af, const MKL_INT* ldaf, const MKL_INT* ipiv,
              const MKL_Complex8* b, const MKL_INT* ldb, MKL_Complex8* x,
              const MKL_INT* ldx, float* ferr, float* berr, MKL_Complex8* work,
              float* rwork, MKL_INT* info ) NOTHROW;
void cherfs( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs,
             const MKL_Complex8* a, const MKL_INT* lda, const MKL_Complex8* af,
             const MKL_INT* ldaf, const MKL_INT* ipiv, const MKL_Complex8* b,
             const MKL_INT* ldb, MKL_Complex8* x, const MKL_INT* ldx,
             float* ferr, float* berr, MKL_Complex8* work, float* rwork,
             MKL_INT* info ) NOTHROW;
void cherfs_( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs,
              const MKL_Complex8* a, const MKL_INT* lda,
              const MKL_Complex8* af, const MKL_INT* ldaf, const MKL_INT* ipiv,
              const MKL_Complex8* b, const MKL_INT* ldb, MKL_Complex8* x,
              const MKL_INT* ldx, float* ferr, float* berr, MKL_Complex8* work,
              float* rwork, MKL_INT* info ) NOTHROW;

void CHERFSX( const char* uplo, const char* equed, const MKL_INT* n,
              const MKL_INT* nrhs, const MKL_Complex8* a, const MKL_INT* lda,
              const MKL_Complex8* af, const MKL_INT* ldaf, const MKL_INT* ipiv,
              float* s, const MKL_Complex8* b, const MKL_INT* ldb,
              MKL_Complex8* x, const MKL_INT* ldx, float* rcond, float* berr,
              const MKL_INT* n_err_bnds, float* err_bnds_norm,
              float* err_bnds_comp, const MKL_INT* nparams, float* params,
              MKL_Complex8* work, float* rwork, MKL_INT* info ) NOTHROW;
void CHERFSX_( const char* uplo, const char* equed, const MKL_INT* n,
               const MKL_INT* nrhs, const MKL_Complex8* a, const MKL_INT* lda,
               const MKL_Complex8* af, const MKL_INT* ldaf,
               const MKL_INT* ipiv, float* s, const MKL_Complex8* b,
               const MKL_INT* ldb, MKL_Complex8* x, const MKL_INT* ldx,
               float* rcond, float* berr, const MKL_INT* n_err_bnds,
               float* err_bnds_norm, float* err_bnds_comp,
               const MKL_INT* nparams, float* params, MKL_Complex8* work,
               float* rwork, MKL_INT* info ) NOTHROW;
void cherfsx( const char* uplo, const char* equed, const MKL_INT* n,
              const MKL_INT* nrhs, const MKL_Complex8* a, const MKL_INT* lda,
              const MKL_Complex8* af, const MKL_INT* ldaf, const MKL_INT* ipiv,
              float* s, const MKL_Complex8* b, const MKL_INT* ldb,
              MKL_Complex8* x, const MKL_INT* ldx, float* rcond, float* berr,
              const MKL_INT* n_err_bnds, float* err_bnds_norm,
              float* err_bnds_comp, const MKL_INT* nparams, float* params,
              MKL_Complex8* work, float* rwork, MKL_INT* info ) NOTHROW;
void cherfsx_( const char* uplo, const char* equed, const MKL_INT* n,
               const MKL_INT* nrhs, const MKL_Complex8* a, const MKL_INT* lda,
               const MKL_Complex8* af, const MKL_INT* ldaf,
               const MKL_INT* ipiv, float* s, const MKL_Complex8* b,
               const MKL_INT* ldb, MKL_Complex8* x, const MKL_INT* ldx,
               float* rcond, float* berr, const MKL_INT* n_err_bnds,
               float* err_bnds_norm, float* err_bnds_comp,
               const MKL_INT* nparams, float* params, MKL_Complex8* work,
               float* rwork, MKL_INT* info ) NOTHROW;

void CHESV( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs,
            MKL_Complex8* a, const MKL_INT* lda, MKL_INT* ipiv,
            MKL_Complex8* b, const MKL_INT* ldb, MKL_Complex8* work,
            const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void CHESV_( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs,
             MKL_Complex8* a, const MKL_INT* lda, MKL_INT* ipiv,
             MKL_Complex8* b, const MKL_INT* ldb, MKL_Complex8* work,
             const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void chesv( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs,
            MKL_Complex8* a, const MKL_INT* lda, MKL_INT* ipiv,
            MKL_Complex8* b, const MKL_INT* ldb, MKL_Complex8* work,
            const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void chesv_( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs,
             MKL_Complex8* a, const MKL_INT* lda, MKL_INT* ipiv,
             MKL_Complex8* b, const MKL_INT* ldb, MKL_Complex8* work,
             const MKL_INT* lwork, MKL_INT* info ) NOTHROW;

void CHESVX( const char* fact, const char* uplo, const MKL_INT* n,
             const MKL_INT* nrhs, const MKL_Complex8* a, const MKL_INT* lda,
             MKL_Complex8* af, const MKL_INT* ldaf, MKL_INT* ipiv,
             const MKL_Complex8* b, const MKL_INT* ldb, MKL_Complex8* x,
             const MKL_INT* ldx, float* rcond, float* ferr, float* berr,
             MKL_Complex8* work, const MKL_INT* lwork, float* rwork,
             MKL_INT* info ) NOTHROW;
void CHESVX_( const char* fact, const char* uplo, const MKL_INT* n,
              const MKL_INT* nrhs, const MKL_Complex8* a, const MKL_INT* lda,
              MKL_Complex8* af, const MKL_INT* ldaf, MKL_INT* ipiv,
              const MKL_Complex8* b, const MKL_INT* ldb, MKL_Complex8* x,
              const MKL_INT* ldx, float* rcond, float* ferr, float* berr,
              MKL_Complex8* work, const MKL_INT* lwork, float* rwork,
              MKL_INT* info ) NOTHROW;
void chesvx( const char* fact, const char* uplo, const MKL_INT* n,
             const MKL_INT* nrhs, const MKL_Complex8* a, const MKL_INT* lda,
             MKL_Complex8* af, const MKL_INT* ldaf, MKL_INT* ipiv,
             const MKL_Complex8* b, const MKL_INT* ldb, MKL_Complex8* x,
             const MKL_INT* ldx, float* rcond, float* ferr, float* berr,
             MKL_Complex8* work, const MKL_INT* lwork, float* rwork,
             MKL_INT* info ) NOTHROW;
void chesvx_( const char* fact, const char* uplo, const MKL_INT* n,
              const MKL_INT* nrhs, const MKL_Complex8* a, const MKL_INT* lda,
              MKL_Complex8* af, const MKL_INT* ldaf, MKL_INT* ipiv,
              const MKL_Complex8* b, const MKL_INT* ldb, MKL_Complex8* x,
              const MKL_INT* ldx, float* rcond, float* ferr, float* berr,
              MKL_Complex8* work, const MKL_INT* lwork, float* rwork,
              MKL_INT* info ) NOTHROW;

void CHESVXX( const char* fact, const char* uplo, const MKL_INT* n,
              const MKL_INT* nrhs, MKL_Complex8* a, const MKL_INT* lda,
              MKL_Complex8* af, const MKL_INT* ldaf, MKL_INT* ipiv,
              char* equed, float* s, MKL_Complex8* b, const MKL_INT* ldb,
              MKL_Complex8* x, const MKL_INT* ldx, float* rcond, float* rpvgrw,
              float* berr, const MKL_INT* n_err_bnds, float* err_bnds_norm,
              float* err_bnds_comp, const MKL_INT* nparams, float* params,
              MKL_Complex8* work, float* rwork, MKL_INT* info ) NOTHROW;
void CHESVXX_( const char* fact, const char* uplo, const MKL_INT* n,
               const MKL_INT* nrhs, MKL_Complex8* a, const MKL_INT* lda,
               MKL_Complex8* af, const MKL_INT* ldaf, MKL_INT* ipiv,
               char* equed, float* s, MKL_Complex8* b, const MKL_INT* ldb,
               MKL_Complex8* x, const MKL_INT* ldx, float* rcond,
               float* rpvgrw, float* berr, const MKL_INT* n_err_bnds,
               float* err_bnds_norm, float* err_bnds_comp,
               const MKL_INT* nparams, float* params, MKL_Complex8* work,
               float* rwork, MKL_INT* info ) NOTHROW;
void chesvxx( const char* fact, const char* uplo, const MKL_INT* n,
              const MKL_INT* nrhs, MKL_Complex8* a, const MKL_INT* lda,
              MKL_Complex8* af, const MKL_INT* ldaf, MKL_INT* ipiv,
              char* equed, float* s, MKL_Complex8* b, const MKL_INT* ldb,
              MKL_Complex8* x, const MKL_INT* ldx, float* rcond, float* rpvgrw,
              float* berr, const MKL_INT* n_err_bnds, float* err_bnds_norm,
              float* err_bnds_comp, const MKL_INT* nparams, float* params,
              MKL_Complex8* work, float* rwork, MKL_INT* info ) NOTHROW;
void chesvxx_( const char* fact, const char* uplo, const MKL_INT* n,
               const MKL_INT* nrhs, MKL_Complex8* a, const MKL_INT* lda,
               MKL_Complex8* af, const MKL_INT* ldaf, MKL_INT* ipiv,
               char* equed, float* s, MKL_Complex8* b, const MKL_INT* ldb,
               MKL_Complex8* x, const MKL_INT* ldx, float* rcond,
               float* rpvgrw, float* berr, const MKL_INT* n_err_bnds,
               float* err_bnds_norm, float* err_bnds_comp,
               const MKL_INT* nparams, float* params, MKL_Complex8* work,
               float* rwork, MKL_INT* info ) NOTHROW;

void CHETD2( const char* uplo, const MKL_INT* n, MKL_Complex8* a,
             const MKL_INT* lda, float* d, float* e, MKL_Complex8* tau,
             MKL_INT* info ) NOTHROW;
void CHETD2_( const char* uplo, const MKL_INT* n, MKL_Complex8* a,
              const MKL_INT* lda, float* d, float* e, MKL_Complex8* tau,
              MKL_INT* info ) NOTHROW;
void chetd2( const char* uplo, const MKL_INT* n, MKL_Complex8* a,
             const MKL_INT* lda, float* d, float* e, MKL_Complex8* tau,
             MKL_INT* info ) NOTHROW;
void chetd2_( const char* uplo, const MKL_INT* n, MKL_Complex8* a,
              const MKL_INT* lda, float* d, float* e, MKL_Complex8* tau,
              MKL_INT* info ) NOTHROW;

void CHETF2( const char* uplo, const MKL_INT* n, MKL_Complex8* a,
             const MKL_INT* lda, MKL_INT* ipiv, MKL_INT* info ) NOTHROW;
void CHETF2_( const char* uplo, const MKL_INT* n, MKL_Complex8* a,
              const MKL_INT* lda, MKL_INT* ipiv, MKL_INT* info ) NOTHROW;
void chetf2( const char* uplo, const MKL_INT* n, MKL_Complex8* a,
             const MKL_INT* lda, MKL_INT* ipiv, MKL_INT* info ) NOTHROW;
void chetf2_( const char* uplo, const MKL_INT* n, MKL_Complex8* a,
              const MKL_INT* lda, MKL_INT* ipiv, MKL_INT* info ) NOTHROW;

void CHETRD( const char* uplo, const MKL_INT* n, MKL_Complex8* a,
             const MKL_INT* lda, float* d, float* e, MKL_Complex8* tau,
             MKL_Complex8* work, const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void CHETRD_( const char* uplo, const MKL_INT* n, MKL_Complex8* a,
              const MKL_INT* lda, float* d, float* e, MKL_Complex8* tau,
              MKL_Complex8* work, const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void chetrd( const char* uplo, const MKL_INT* n, MKL_Complex8* a,
             const MKL_INT* lda, float* d, float* e, MKL_Complex8* tau,
             MKL_Complex8* work, const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void chetrd_( const char* uplo, const MKL_INT* n, MKL_Complex8* a,
              const MKL_INT* lda, float* d, float* e, MKL_Complex8* tau,
              MKL_Complex8* work, const MKL_INT* lwork, MKL_INT* info ) NOTHROW;

void CHETRF( const char* uplo, const MKL_INT* n, MKL_Complex8* a,
             const MKL_INT* lda, MKL_INT* ipiv, MKL_Complex8* work,
             const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void CHETRF_( const char* uplo, const MKL_INT* n, MKL_Complex8* a,
              const MKL_INT* lda, MKL_INT* ipiv, MKL_Complex8* work,
              const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void chetrf( const char* uplo, const MKL_INT* n, MKL_Complex8* a,
             const MKL_INT* lda, MKL_INT* ipiv, MKL_Complex8* work,
             const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void chetrf_( const char* uplo, const MKL_INT* n, MKL_Complex8* a,
              const MKL_INT* lda, MKL_INT* ipiv, MKL_Complex8* work,
              const MKL_INT* lwork, MKL_INT* info ) NOTHROW;

void CHETRI( const char* uplo, const MKL_INT* n, MKL_Complex8* a,
             const MKL_INT* lda, const MKL_INT* ipiv, MKL_Complex8* work,
             MKL_INT* info ) NOTHROW;
void CHETRI_( const char* uplo, const MKL_INT* n, MKL_Complex8* a,
              const MKL_INT* lda, const MKL_INT* ipiv, MKL_Complex8* work,
              MKL_INT* info ) NOTHROW;
void chetri( const char* uplo, const MKL_INT* n, MKL_Complex8* a,
             const MKL_INT* lda, const MKL_INT* ipiv, MKL_Complex8* work,
             MKL_INT* info ) NOTHROW;
void chetri_( const char* uplo, const MKL_INT* n, MKL_Complex8* a,
              const MKL_INT* lda, const MKL_INT* ipiv, MKL_Complex8* work,
              MKL_INT* info ) NOTHROW;

void CHETRS( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs,
             const MKL_Complex8* a, const MKL_INT* lda, const MKL_INT* ipiv,
             MKL_Complex8* b, const MKL_INT* ldb, MKL_INT* info ) NOTHROW;
void CHETRS_( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs,
              const MKL_Complex8* a, const MKL_INT* lda, const MKL_INT* ipiv,
              MKL_Complex8* b, const MKL_INT* ldb, MKL_INT* info ) NOTHROW;
void chetrs( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs,
             const MKL_Complex8* a, const MKL_INT* lda, const MKL_INT* ipiv,
             MKL_Complex8* b, const MKL_INT* ldb, MKL_INT* info ) NOTHROW;
void chetrs_( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs,
              const MKL_Complex8* a, const MKL_INT* lda, const MKL_INT* ipiv,
              MKL_Complex8* b, const MKL_INT* ldb, MKL_INT* info ) NOTHROW;

void CHFRK( const char* transr, const char* uplo, const char* trans,
            const MKL_INT* n, const MKL_INT* k, const float* alpha,
            const MKL_Complex8* a, const MKL_INT* lda, const float* beta,
            MKL_Complex8* c ) NOTHROW;
void CHFRK_( const char* transr, const char* uplo, const char* trans,
             const MKL_INT* n, const MKL_INT* k, const float* alpha,
             const MKL_Complex8* a, const MKL_INT* lda, const float* beta,
             MKL_Complex8* c ) NOTHROW;
void chfrk( const char* transr, const char* uplo, const char* trans,
            const MKL_INT* n, const MKL_INT* k, const float* alpha,
            const MKL_Complex8* a, const MKL_INT* lda, const float* beta,
            MKL_Complex8* c ) NOTHROW;
void chfrk_( const char* transr, const char* uplo, const char* trans,
             const MKL_INT* n, const MKL_INT* k, const float* alpha,
             const MKL_Complex8* a, const MKL_INT* lda, const float* beta,
             MKL_Complex8* c ) NOTHROW;

void CHGEQZ( const char* job, const char* compq, const char* compz,
             const MKL_INT* n, const MKL_INT* ilo, const MKL_INT* ihi,
             MKL_Complex8* h, const MKL_INT* ldh, MKL_Complex8* t,
             const MKL_INT* ldt, MKL_Complex8* alpha, MKL_Complex8* beta,
             MKL_Complex8* q, const MKL_INT* ldq, MKL_Complex8* z,
             const MKL_INT* ldz, MKL_Complex8* work, const MKL_INT* lwork,
             float* rwork, MKL_INT* info ) NOTHROW;
void CHGEQZ_( const char* job, const char* compq, const char* compz,
              const MKL_INT* n, const MKL_INT* ilo, const MKL_INT* ihi,
              MKL_Complex8* h, const MKL_INT* ldh, MKL_Complex8* t,
              const MKL_INT* ldt, MKL_Complex8* alpha, MKL_Complex8* beta,
              MKL_Complex8* q, const MKL_INT* ldq, MKL_Complex8* z,
              const MKL_INT* ldz, MKL_Complex8* work, const MKL_INT* lwork,
              float* rwork, MKL_INT* info ) NOTHROW;
void chgeqz( const char* job, const char* compq, const char* compz,
             const MKL_INT* n, const MKL_INT* ilo, const MKL_INT* ihi,
             MKL_Complex8* h, const MKL_INT* ldh, MKL_Complex8* t,
             const MKL_INT* ldt, MKL_Complex8* alpha, MKL_Complex8* beta,
             MKL_Complex8* q, const MKL_INT* ldq, MKL_Complex8* z,
             const MKL_INT* ldz, MKL_Complex8* work, const MKL_INT* lwork,
             float* rwork, MKL_INT* info ) NOTHROW;
void chgeqz_( const char* job, const char* compq, const char* compz,
              const MKL_INT* n, const MKL_INT* ilo, const MKL_INT* ihi,
              MKL_Complex8* h, const MKL_INT* ldh, MKL_Complex8* t,
              const MKL_INT* ldt, MKL_Complex8* alpha, MKL_Complex8* beta,
              MKL_Complex8* q, const MKL_INT* ldq, MKL_Complex8* z,
              const MKL_INT* ldz, MKL_Complex8* work, const MKL_INT* lwork,
              float* rwork, MKL_INT* info ) NOTHROW;

void CHLA_TRANSTYPE( char* ret_val, int ret_val_len, const MKL_INT* trans ) NOTHROW;
void CHLA_TRANSTYPE_( char* ret_val, int ret_val_len, const MKL_INT* trans ) NOTHROW;
void chla_transtype( char* ret_val, int ret_val_len, const MKL_INT* trans ) NOTHROW;
void chla_transtype_( char* ret_val, int ret_val_len, const MKL_INT* trans ) NOTHROW;

void CHPCON( const char* uplo, const MKL_INT* n, const MKL_Complex8* ap,
             const MKL_INT* ipiv, const float* anorm, float* rcond,
             MKL_Complex8* work, MKL_INT* info ) NOTHROW;
void CHPCON_( const char* uplo, const MKL_INT* n, const MKL_Complex8* ap,
              const MKL_INT* ipiv, const float* anorm, float* rcond,
              MKL_Complex8* work, MKL_INT* info ) NOTHROW;
void chpcon( const char* uplo, const MKL_INT* n, const MKL_Complex8* ap,
             const MKL_INT* ipiv, const float* anorm, float* rcond,
             MKL_Complex8* work, MKL_INT* info ) NOTHROW;
void chpcon_( const char* uplo, const MKL_INT* n, const MKL_Complex8* ap,
              const MKL_INT* ipiv, const float* anorm, float* rcond,
              MKL_Complex8* work, MKL_INT* info ) NOTHROW;

void CHPEVD( const char* jobz, const char* uplo, const MKL_INT* n,
             MKL_Complex8* ap, float* w, MKL_Complex8* z, const MKL_INT* ldz,
             MKL_Complex8* work, const MKL_INT* lwork, float* rwork,
             const MKL_INT* lrwork, MKL_INT* iwork, const MKL_INT* liwork,
             MKL_INT* info ) NOTHROW;
void CHPEVD_( const char* jobz, const char* uplo, const MKL_INT* n,
              MKL_Complex8* ap, float* w, MKL_Complex8* z, const MKL_INT* ldz,
              MKL_Complex8* work, const MKL_INT* lwork, float* rwork,
              const MKL_INT* lrwork, MKL_INT* iwork, const MKL_INT* liwork,
              MKL_INT* info ) NOTHROW;
void chpevd( const char* jobz, const char* uplo, const MKL_INT* n,
             MKL_Complex8* ap, float* w, MKL_Complex8* z, const MKL_INT* ldz,
             MKL_Complex8* work, const MKL_INT* lwork, float* rwork,
             const MKL_INT* lrwork, MKL_INT* iwork, const MKL_INT* liwork,
             MKL_INT* info ) NOTHROW;
void chpevd_( const char* jobz, const char* uplo, const MKL_INT* n,
              MKL_Complex8* ap, float* w, MKL_Complex8* z, const MKL_INT* ldz,
              MKL_Complex8* work, const MKL_INT* lwork, float* rwork,
              const MKL_INT* lrwork, MKL_INT* iwork, const MKL_INT* liwork,
              MKL_INT* info ) NOTHROW;

void CHPEV( const char* jobz, const char* uplo, const MKL_INT* n,
            MKL_Complex8* ap, float* w, MKL_Complex8* z, const MKL_INT* ldz,
            MKL_Complex8* work, float* rwork, MKL_INT* info ) NOTHROW;
void CHPEV_( const char* jobz, const char* uplo, const MKL_INT* n,
             MKL_Complex8* ap, float* w, MKL_Complex8* z, const MKL_INT* ldz,
             MKL_Complex8* work, float* rwork, MKL_INT* info ) NOTHROW;
void chpev( const char* jobz, const char* uplo, const MKL_INT* n,
            MKL_Complex8* ap, float* w, MKL_Complex8* z, const MKL_INT* ldz,
            MKL_Complex8* work, float* rwork, MKL_INT* info ) NOTHROW;
void chpev_( const char* jobz, const char* uplo, const MKL_INT* n,
             MKL_Complex8* ap, float* w, MKL_Complex8* z, const MKL_INT* ldz,
             MKL_Complex8* work, float* rwork, MKL_INT* info ) NOTHROW;

void CHPEVX( const char* jobz, const char* range, const char* uplo,
             const MKL_INT* n, MKL_Complex8* ap, const float* vl,
             const float* vu, const MKL_INT* il, const MKL_INT* iu,
             const float* abstol, MKL_INT* m, float* w, MKL_Complex8* z,
             const MKL_INT* ldz, MKL_Complex8* work, float* rwork,
             MKL_INT* iwork, MKL_INT* ifail, MKL_INT* info ) NOTHROW;
void CHPEVX_( const char* jobz, const char* range, const char* uplo,
              const MKL_INT* n, MKL_Complex8* ap, const float* vl,
              const float* vu, const MKL_INT* il, const MKL_INT* iu,
              const float* abstol, MKL_INT* m, float* w, MKL_Complex8* z,
              const MKL_INT* ldz, MKL_Complex8* work, float* rwork,
              MKL_INT* iwork, MKL_INT* ifail, MKL_INT* info ) NOTHROW;
void chpevx( const char* jobz, const char* range, const char* uplo,
             const MKL_INT* n, MKL_Complex8* ap, const float* vl,
             const float* vu, const MKL_INT* il, const MKL_INT* iu,
             const float* abstol, MKL_INT* m, float* w, MKL_Complex8* z,
             const MKL_INT* ldz, MKL_Complex8* work, float* rwork,
             MKL_INT* iwork, MKL_INT* ifail, MKL_INT* info ) NOTHROW;
void chpevx_( const char* jobz, const char* range, const char* uplo,
              const MKL_INT* n, MKL_Complex8* ap, const float* vl,
              const float* vu, const MKL_INT* il, const MKL_INT* iu,
              const float* abstol, MKL_INT* m, float* w, MKL_Complex8* z,
              const MKL_INT* ldz, MKL_Complex8* work, float* rwork,
              MKL_INT* iwork, MKL_INT* ifail, MKL_INT* info ) NOTHROW;

void CHPGST( const MKL_INT* itype, const char* uplo, const MKL_INT* n,
             MKL_Complex8* ap, const MKL_Complex8* bp, MKL_INT* info ) NOTHROW;
void CHPGST_( const MKL_INT* itype, const char* uplo, const MKL_INT* n,
              MKL_Complex8* ap, const MKL_Complex8* bp, MKL_INT* info ) NOTHROW;
void chpgst( const MKL_INT* itype, const char* uplo, const MKL_INT* n,
             MKL_Complex8* ap, const MKL_Complex8* bp, MKL_INT* info ) NOTHROW;
void chpgst_( const MKL_INT* itype, const char* uplo, const MKL_INT* n,
              MKL_Complex8* ap, const MKL_Complex8* bp, MKL_INT* info ) NOTHROW;

void CHPGVD( const MKL_INT* itype, const char* jobz, const char* uplo,
             const MKL_INT* n, MKL_Complex8* ap, MKL_Complex8* bp, float* w,
             MKL_Complex8* z, const MKL_INT* ldz, MKL_Complex8* work,
             const MKL_INT* lwork, float* rwork, const MKL_INT* lrwork,
             MKL_INT* iwork, const MKL_INT* liwork, MKL_INT* info ) NOTHROW;
void CHPGVD_( const MKL_INT* itype, const char* jobz, const char* uplo,
              const MKL_INT* n, MKL_Complex8* ap, MKL_Complex8* bp, float* w,
              MKL_Complex8* z, const MKL_INT* ldz, MKL_Complex8* work,
              const MKL_INT* lwork, float* rwork, const MKL_INT* lrwork,
              MKL_INT* iwork, const MKL_INT* liwork, MKL_INT* info ) NOTHROW;
void chpgvd( const MKL_INT* itype, const char* jobz, const char* uplo,
             const MKL_INT* n, MKL_Complex8* ap, MKL_Complex8* bp, float* w,
             MKL_Complex8* z, const MKL_INT* ldz, MKL_Complex8* work,
             const MKL_INT* lwork, float* rwork, const MKL_INT* lrwork,
             MKL_INT* iwork, const MKL_INT* liwork, MKL_INT* info ) NOTHROW;
void chpgvd_( const MKL_INT* itype, const char* jobz, const char* uplo,
              const MKL_INT* n, MKL_Complex8* ap, MKL_Complex8* bp, float* w,
              MKL_Complex8* z, const MKL_INT* ldz, MKL_Complex8* work,
              const MKL_INT* lwork, float* rwork, const MKL_INT* lrwork,
              MKL_INT* iwork, const MKL_INT* liwork, MKL_INT* info ) NOTHROW;

void CHPGV( const MKL_INT* itype, const char* jobz, const char* uplo,
            const MKL_INT* n, MKL_Complex8* ap, MKL_Complex8* bp, float* w,
            MKL_Complex8* z, const MKL_INT* ldz, MKL_Complex8* work,
            float* rwork, MKL_INT* info ) NOTHROW;
void CHPGV_( const MKL_INT* itype, const char* jobz, const char* uplo,
             const MKL_INT* n, MKL_Complex8* ap, MKL_Complex8* bp, float* w,
             MKL_Complex8* z, const MKL_INT* ldz, MKL_Complex8* work,
             float* rwork, MKL_INT* info ) NOTHROW;
void chpgv( const MKL_INT* itype, const char* jobz, const char* uplo,
            const MKL_INT* n, MKL_Complex8* ap, MKL_Complex8* bp, float* w,
            MKL_Complex8* z, const MKL_INT* ldz, MKL_Complex8* work,
            float* rwork, MKL_INT* info ) NOTHROW;
void chpgv_( const MKL_INT* itype, const char* jobz, const char* uplo,
             const MKL_INT* n, MKL_Complex8* ap, MKL_Complex8* bp, float* w,
             MKL_Complex8* z, const MKL_INT* ldz, MKL_Complex8* work,
             float* rwork, MKL_INT* info ) NOTHROW;

void CHPGVX( const MKL_INT* itype, const char* jobz, const char* range,
             const char* uplo, const MKL_INT* n, MKL_Complex8* ap,
             MKL_Complex8* bp, const float* vl, const float* vu,
             const MKL_INT* il, const MKL_INT* iu, const float* abstol,
             MKL_INT* m, float* w, MKL_Complex8* z, const MKL_INT* ldz,
             MKL_Complex8* work, float* rwork, MKL_INT* iwork, MKL_INT* ifail,
             MKL_INT* info ) NOTHROW;
void CHPGVX_( const MKL_INT* itype, const char* jobz, const char* range,
              const char* uplo, const MKL_INT* n, MKL_Complex8* ap,
              MKL_Complex8* bp, const float* vl, const float* vu,
              const MKL_INT* il, const MKL_INT* iu, const float* abstol,
              MKL_INT* m, float* w, MKL_Complex8* z, const MKL_INT* ldz,
              MKL_Complex8* work, float* rwork, MKL_INT* iwork, MKL_INT* ifail,
              MKL_INT* info ) NOTHROW;
void chpgvx( const MKL_INT* itype, const char* jobz, const char* range,
             const char* uplo, const MKL_INT* n, MKL_Complex8* ap,
             MKL_Complex8* bp, const float* vl, const float* vu,
             const MKL_INT* il, const MKL_INT* iu, const float* abstol,
             MKL_INT* m, float* w, MKL_Complex8* z, const MKL_INT* ldz,
             MKL_Complex8* work, float* rwork, MKL_INT* iwork, MKL_INT* ifail,
             MKL_INT* info ) NOTHROW;
void chpgvx_( const MKL_INT* itype, const char* jobz, const char* range,
              const char* uplo, const MKL_INT* n, MKL_Complex8* ap,
              MKL_Complex8* bp, const float* vl, const float* vu,
              const MKL_INT* il, const MKL_INT* iu, const float* abstol,
              MKL_INT* m, float* w, MKL_Complex8* z, const MKL_INT* ldz,
              MKL_Complex8* work, float* rwork, MKL_INT* iwork, MKL_INT* ifail,
              MKL_INT* info ) NOTHROW;

void CHPRFS( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs,
             const MKL_Complex8* ap, const MKL_Complex8* afp,
             const MKL_INT* ipiv, const MKL_Complex8* b, const MKL_INT* ldb,
             MKL_Complex8* x, const MKL_INT* ldx, float* ferr, float* berr,
             MKL_Complex8* work, float* rwork, MKL_INT* info ) NOTHROW;
void CHPRFS_( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs,
              const MKL_Complex8* ap, const MKL_Complex8* afp,
              const MKL_INT* ipiv, const MKL_Complex8* b, const MKL_INT* ldb,
              MKL_Complex8* x, const MKL_INT* ldx, float* ferr, float* berr,
              MKL_Complex8* work, float* rwork, MKL_INT* info ) NOTHROW;
void chprfs( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs,
             const MKL_Complex8* ap, const MKL_Complex8* afp,
             const MKL_INT* ipiv, const MKL_Complex8* b, const MKL_INT* ldb,
             MKL_Complex8* x, const MKL_INT* ldx, float* ferr, float* berr,
             MKL_Complex8* work, float* rwork, MKL_INT* info ) NOTHROW;
void chprfs_( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs,
              const MKL_Complex8* ap, const MKL_Complex8* afp,
              const MKL_INT* ipiv, const MKL_Complex8* b, const MKL_INT* ldb,
              MKL_Complex8* x, const MKL_INT* ldx, float* ferr, float* berr,
              MKL_Complex8* work, float* rwork, MKL_INT* info ) NOTHROW;

void CHPSV( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs,
            MKL_Complex8* ap, MKL_INT* ipiv, MKL_Complex8* b,
            const MKL_INT* ldb, MKL_INT* info ) NOTHROW;
void CHPSV_( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs,
             MKL_Complex8* ap, MKL_INT* ipiv, MKL_Complex8* b,
             const MKL_INT* ldb, MKL_INT* info ) NOTHROW;
void chpsv( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs,
            MKL_Complex8* ap, MKL_INT* ipiv, MKL_Complex8* b,
            const MKL_INT* ldb, MKL_INT* info ) NOTHROW;
void chpsv_( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs,
             MKL_Complex8* ap, MKL_INT* ipiv, MKL_Complex8* b,
             const MKL_INT* ldb, MKL_INT* info ) NOTHROW;

void CHPSVX( const char* fact, const char* uplo, const MKL_INT* n,
             const MKL_INT* nrhs, const MKL_Complex8* ap, MKL_Complex8* afp,
             MKL_INT* ipiv, const MKL_Complex8* b, const MKL_INT* ldb,
             MKL_Complex8* x, const MKL_INT* ldx, float* rcond, float* ferr,
             float* berr, MKL_Complex8* work, float* rwork, MKL_INT* info ) NOTHROW;
void CHPSVX_( const char* fact, const char* uplo, const MKL_INT* n,
              const MKL_INT* nrhs, const MKL_Complex8* ap, MKL_Complex8* afp,
              MKL_INT* ipiv, const MKL_Complex8* b, const MKL_INT* ldb,
              MKL_Complex8* x, const MKL_INT* ldx, float* rcond, float* ferr,
              float* berr, MKL_Complex8* work, float* rwork, MKL_INT* info ) NOTHROW;
void chpsvx( const char* fact, const char* uplo, const MKL_INT* n,
             const MKL_INT* nrhs, const MKL_Complex8* ap, MKL_Complex8* afp,
             MKL_INT* ipiv, const MKL_Complex8* b, const MKL_INT* ldb,
             MKL_Complex8* x, const MKL_INT* ldx, float* rcond, float* ferr,
             float* berr, MKL_Complex8* work, float* rwork, MKL_INT* info ) NOTHROW;
void chpsvx_( const char* fact, const char* uplo, const MKL_INT* n,
              const MKL_INT* nrhs, const MKL_Complex8* ap, MKL_Complex8* afp,
              MKL_INT* ipiv, const MKL_Complex8* b, const MKL_INT* ldb,
              MKL_Complex8* x, const MKL_INT* ldx, float* rcond, float* ferr,
              float* berr, MKL_Complex8* work, float* rwork, MKL_INT* info ) NOTHROW;

void CHPTRD( const char* uplo, const MKL_INT* n, MKL_Complex8* ap, float* d,
             float* e, MKL_Complex8* tau, MKL_INT* info ) NOTHROW;
void CHPTRD_( const char* uplo, const MKL_INT* n, MKL_Complex8* ap, float* d,
              float* e, MKL_Complex8* tau, MKL_INT* info ) NOTHROW;
void chptrd( const char* uplo, const MKL_INT* n, MKL_Complex8* ap, float* d,
             float* e, MKL_Complex8* tau, MKL_INT* info ) NOTHROW;
void chptrd_( const char* uplo, const MKL_INT* n, MKL_Complex8* ap, float* d,
              float* e, MKL_Complex8* tau, MKL_INT* info ) NOTHROW;

void CHPTRF( const char* uplo, const MKL_INT* n, MKL_Complex8* ap,
             MKL_INT* ipiv, MKL_INT* info ) NOTHROW;
void CHPTRF_( const char* uplo, const MKL_INT* n, MKL_Complex8* ap,
              MKL_INT* ipiv, MKL_INT* info ) NOTHROW;
void chptrf( const char* uplo, const MKL_INT* n, MKL_Complex8* ap,
             MKL_INT* ipiv, MKL_INT* info ) NOTHROW;
void chptrf_( const char* uplo, const MKL_INT* n, MKL_Complex8* ap,
              MKL_INT* ipiv, MKL_INT* info ) NOTHROW;

void CHPTRI( const char* uplo, const MKL_INT* n, MKL_Complex8* ap,
             const MKL_INT* ipiv, MKL_Complex8* work, MKL_INT* info ) NOTHROW;
void CHPTRI_( const char* uplo, const MKL_INT* n, MKL_Complex8* ap,
              const MKL_INT* ipiv, MKL_Complex8* work, MKL_INT* info ) NOTHROW;
void chptri( const char* uplo, const MKL_INT* n, MKL_Complex8* ap,
             const MKL_INT* ipiv, MKL_Complex8* work, MKL_INT* info ) NOTHROW;
void chptri_( const char* uplo, const MKL_INT* n, MKL_Complex8* ap,
              const MKL_INT* ipiv, MKL_Complex8* work, MKL_INT* info ) NOTHROW;

void CHPTRS( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs,
             const MKL_Complex8* ap, const MKL_INT* ipiv, MKL_Complex8* b,
             const MKL_INT* ldb, MKL_INT* info ) NOTHROW;
void CHPTRS_( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs,
              const MKL_Complex8* ap, const MKL_INT* ipiv, MKL_Complex8* b,
              const MKL_INT* ldb, MKL_INT* info ) NOTHROW;
void chptrs( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs,
             const MKL_Complex8* ap, const MKL_INT* ipiv, MKL_Complex8* b,
             const MKL_INT* ldb, MKL_INT* info ) NOTHROW;
void chptrs_( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs,
              const MKL_Complex8* ap, const MKL_INT* ipiv, MKL_Complex8* b,
              const MKL_INT* ldb, MKL_INT* info ) NOTHROW;

void CHSEIN( const char* side, const char* eigsrc, const char* initv,
             const MKL_INT* select, const MKL_INT* n, const MKL_Complex8* h,
             const MKL_INT* ldh, MKL_Complex8* w, MKL_Complex8* vl,
             const MKL_INT* ldvl, MKL_Complex8* vr, const MKL_INT* ldvr,
             const MKL_INT* mm, MKL_INT* m, MKL_Complex8* work, float* rwork,
             MKL_INT* ifaill, MKL_INT* ifailr, MKL_INT* info ) NOTHROW;
void CHSEIN_( const char* side, const char* eigsrc, const char* initv,
              const MKL_INT* select, const MKL_INT* n, const MKL_Complex8* h,
              const MKL_INT* ldh, MKL_Complex8* w, MKL_Complex8* vl,
              const MKL_INT* ldvl, MKL_Complex8* vr, const MKL_INT* ldvr,
              const MKL_INT* mm, MKL_INT* m, MKL_Complex8* work, float* rwork,
              MKL_INT* ifaill, MKL_INT* ifailr, MKL_INT* info ) NOTHROW;
void chsein( const char* side, const char* eigsrc, const char* initv,
             const MKL_INT* select, const MKL_INT* n, const MKL_Complex8* h,
             const MKL_INT* ldh, MKL_Complex8* w, MKL_Complex8* vl,
             const MKL_INT* ldvl, MKL_Complex8* vr, const MKL_INT* ldvr,
             const MKL_INT* mm, MKL_INT* m, MKL_Complex8* work, float* rwork,
             MKL_INT* ifaill, MKL_INT* ifailr, MKL_INT* info ) NOTHROW;
void chsein_( const char* side, const char* eigsrc, const char* initv,
              const MKL_INT* select, const MKL_INT* n, const MKL_Complex8* h,
              const MKL_INT* ldh, MKL_Complex8* w, MKL_Complex8* vl,
              const MKL_INT* ldvl, MKL_Complex8* vr, const MKL_INT* ldvr,
              const MKL_INT* mm, MKL_INT* m, MKL_Complex8* work, float* rwork,
              MKL_INT* ifaill, MKL_INT* ifailr, MKL_INT* info ) NOTHROW;

void CHSEQR( const char* job, const char* compz, const MKL_INT* n,
             const MKL_INT* ilo, const MKL_INT* ihi, MKL_Complex8* h,
             const MKL_INT* ldh, MKL_Complex8* w, MKL_Complex8* z,
             const MKL_INT* ldz, MKL_Complex8* work, const MKL_INT* lwork,
             MKL_INT* info ) NOTHROW;
void CHSEQR_( const char* job, const char* compz, const MKL_INT* n,
              const MKL_INT* ilo, const MKL_INT* ihi, MKL_Complex8* h,
              const MKL_INT* ldh, MKL_Complex8* w, MKL_Complex8* z,
              const MKL_INT* ldz, MKL_Complex8* work, const MKL_INT* lwork,
              MKL_INT* info ) NOTHROW;
void chseqr( const char* job, const char* compz, const MKL_INT* n,
             const MKL_INT* ilo, const MKL_INT* ihi, MKL_Complex8* h,
             const MKL_INT* ldh, MKL_Complex8* w, MKL_Complex8* z,
             const MKL_INT* ldz, MKL_Complex8* work, const MKL_INT* lwork,
             MKL_INT* info ) NOTHROW;
void chseqr_( const char* job, const char* compz, const MKL_INT* n,
              const MKL_INT* ilo, const MKL_INT* ihi, MKL_Complex8* h,
              const MKL_INT* ldh, MKL_Complex8* w, MKL_Complex8* z,
              const MKL_INT* ldz, MKL_Complex8* work, const MKL_INT* lwork,
              MKL_INT* info ) NOTHROW;

void CLABRD( const MKL_INT* m, const MKL_INT* n, const MKL_INT* nb,
             MKL_Complex8* a, const MKL_INT* lda, float* d, float* e,
             MKL_Complex8* tauq, MKL_Complex8* taup, MKL_Complex8* x,
             const MKL_INT* ldx, MKL_Complex8* y, const MKL_INT* ldy ) NOTHROW;
void CLABRD_( const MKL_INT* m, const MKL_INT* n, const MKL_INT* nb,
              MKL_Complex8* a, const MKL_INT* lda, float* d, float* e,
              MKL_Complex8* tauq, MKL_Complex8* taup, MKL_Complex8* x,
              const MKL_INT* ldx, MKL_Complex8* y, const MKL_INT* ldy ) NOTHROW;
void clabrd( const MKL_INT* m, const MKL_INT* n, const MKL_INT* nb,
             MKL_Complex8* a, const MKL_INT* lda, float* d, float* e,
             MKL_Complex8* tauq, MKL_Complex8* taup, MKL_Complex8* x,
             const MKL_INT* ldx, MKL_Complex8* y, const MKL_INT* ldy ) NOTHROW;
void clabrd_( const MKL_INT* m, const MKL_INT* n, const MKL_INT* nb,
              MKL_Complex8* a, const MKL_INT* lda, float* d, float* e,
              MKL_Complex8* tauq, MKL_Complex8* taup, MKL_Complex8* x,
              const MKL_INT* ldx, MKL_Complex8* y, const MKL_INT* ldy ) NOTHROW;

void CLACGV( const MKL_INT* n, MKL_Complex8* x, const MKL_INT* incx ) NOTHROW;
void CLACGV_( const MKL_INT* n, MKL_Complex8* x, const MKL_INT* incx ) NOTHROW;
void clacgv( const MKL_INT* n, MKL_Complex8* x, const MKL_INT* incx ) NOTHROW;
void clacgv_( const MKL_INT* n, MKL_Complex8* x, const MKL_INT* incx ) NOTHROW;

void CLACN2( const MKL_INT* n, MKL_Complex8* v, MKL_Complex8* x, float* est,
             MKL_INT* kase, MKL_INT* isave ) NOTHROW;
void CLACN2_( const MKL_INT* n, MKL_Complex8* v, MKL_Complex8* x, float* est,
              MKL_INT* kase, MKL_INT* isave ) NOTHROW;
void clacn2( const MKL_INT* n, MKL_Complex8* v, MKL_Complex8* x, float* est,
             MKL_INT* kase, MKL_INT* isave ) NOTHROW;
void clacn2_( const MKL_INT* n, MKL_Complex8* v, MKL_Complex8* x, float* est,
              MKL_INT* kase, MKL_INT* isave ) NOTHROW;

void CLACON( const MKL_INT* n, MKL_Complex8* v, MKL_Complex8* x, float* est,
             MKL_INT* kase ) NOTHROW;
void CLACON_( const MKL_INT* n, MKL_Complex8* v, MKL_Complex8* x, float* est,
              MKL_INT* kase ) NOTHROW;
void clacon( const MKL_INT* n, MKL_Complex8* v, MKL_Complex8* x, float* est,
             MKL_INT* kase ) NOTHROW;
void clacon_( const MKL_INT* n, MKL_Complex8* v, MKL_Complex8* x, float* est,
              MKL_INT* kase ) NOTHROW;

void CLACP2( const char* uplo, const MKL_INT* m, const MKL_INT* n,
             const float* a, const MKL_INT* lda, MKL_Complex8* b,
             const MKL_INT* ldb ) NOTHROW;
void CLACP2_( const char* uplo, const MKL_INT* m, const MKL_INT* n,
              const float* a, const MKL_INT* lda, MKL_Complex8* b,
              const MKL_INT* ldb ) NOTHROW;
void clacp2( const char* uplo, const MKL_INT* m, const MKL_INT* n,
             const float* a, const MKL_INT* lda, MKL_Complex8* b,
             const MKL_INT* ldb ) NOTHROW;
void clacp2_( const char* uplo, const MKL_INT* m, const MKL_INT* n,
              const float* a, const MKL_INT* lda, MKL_Complex8* b,
              const MKL_INT* ldb ) NOTHROW;

void CLACPY( const char* uplo, const MKL_INT* m, const MKL_INT* n,
             const MKL_Complex8* a, const MKL_INT* lda, MKL_Complex8* b,
             const MKL_INT* ldb ) NOTHROW;
void CLACPY_( const char* uplo, const MKL_INT* m, const MKL_INT* n,
              const MKL_Complex8* a, const MKL_INT* lda, MKL_Complex8* b,
              const MKL_INT* ldb ) NOTHROW;
void clacpy( const char* uplo, const MKL_INT* m, const MKL_INT* n,
             const MKL_Complex8* a, const MKL_INT* lda, MKL_Complex8* b,
             const MKL_INT* ldb ) NOTHROW;
void clacpy_( const char* uplo, const MKL_INT* m, const MKL_INT* n,
              const MKL_Complex8* a, const MKL_INT* lda, MKL_Complex8* b,
              const MKL_INT* ldb ) NOTHROW;

void CLACRM( const MKL_INT* m, const MKL_INT* n, const MKL_Complex8* a,
             const MKL_INT* lda, const float* b, const MKL_INT* ldb,
             MKL_Complex8* c, const MKL_INT* ldc, float* rwork ) NOTHROW;
void CLACRM_( const MKL_INT* m, const MKL_INT* n, const MKL_Complex8* a,
              const MKL_INT* lda, const float* b, const MKL_INT* ldb,
              MKL_Complex8* c, const MKL_INT* ldc, float* rwork ) NOTHROW;
void clacrm( const MKL_INT* m, const MKL_INT* n, const MKL_Complex8* a,
             const MKL_INT* lda, const float* b, const MKL_INT* ldb,
             MKL_Complex8* c, const MKL_INT* ldc, float* rwork ) NOTHROW;
void clacrm_( const MKL_INT* m, const MKL_INT* n, const MKL_Complex8* a,
              const MKL_INT* lda, const float* b, const MKL_INT* ldb,
              MKL_Complex8* c, const MKL_INT* ldc, float* rwork ) NOTHROW;

void CLACRT( const MKL_INT* n, MKL_Complex8* cx, const MKL_INT* incx,
             MKL_Complex8* cy, const MKL_INT* incy, const MKL_Complex8* c,
             const MKL_Complex8* s ) NOTHROW;
void CLACRT_( const MKL_INT* n, MKL_Complex8* cx, const MKL_INT* incx,
              MKL_Complex8* cy, const MKL_INT* incy, const MKL_Complex8* c,
              const MKL_Complex8* s ) NOTHROW;
void clacrt( const MKL_INT* n, MKL_Complex8* cx, const MKL_INT* incx,
             MKL_Complex8* cy, const MKL_INT* incy, const MKL_Complex8* c,
             const MKL_Complex8* s ) NOTHROW;
void clacrt_( const MKL_INT* n, MKL_Complex8* cx, const MKL_INT* incx,
              MKL_Complex8* cy, const MKL_INT* incy, const MKL_Complex8* c,
              const MKL_Complex8* s ) NOTHROW;

void CLADIV( MKL_Complex8* ret_value, const MKL_Complex8* x,
             const MKL_Complex8* y ) NOTHROW;
void CLADIV_( MKL_Complex8* ret_value, const MKL_Complex8* x,
              const MKL_Complex8* y ) NOTHROW;
void cladiv( MKL_Complex8* ret_value, const MKL_Complex8* x,
             const MKL_Complex8* y ) NOTHROW;
void cladiv_( MKL_Complex8* ret_value, const MKL_Complex8* x,
              const MKL_Complex8* y ) NOTHROW;

void CLAED0( const MKL_INT* qsiz, const MKL_INT* n, float* d, float* e,
             MKL_Complex8* q, const MKL_INT* ldq, MKL_Complex8* qstore,
             const MKL_INT* ldqs, float* rwork, MKL_INT* iwork,
             MKL_INT* info ) NOTHROW;
void CLAED0_( const MKL_INT* qsiz, const MKL_INT* n, float* d, float* e,
              MKL_Complex8* q, const MKL_INT* ldq, MKL_Complex8* qstore,
              const MKL_INT* ldqs, float* rwork, MKL_INT* iwork,
              MKL_INT* info ) NOTHROW;
void claed0( const MKL_INT* qsiz, const MKL_INT* n, float* d, float* e,
             MKL_Complex8* q, const MKL_INT* ldq, MKL_Complex8* qstore,
             const MKL_INT* ldqs, float* rwork, MKL_INT* iwork,
             MKL_INT* info ) NOTHROW;
void claed0_( const MKL_INT* qsiz, const MKL_INT* n, float* d, float* e,
              MKL_Complex8* q, const MKL_INT* ldq, MKL_Complex8* qstore,
              const MKL_INT* ldqs, float* rwork, MKL_INT* iwork,
              MKL_INT* info ) NOTHROW;

void CLAED7( const MKL_INT* n, const MKL_INT* cutpnt, const MKL_INT* qsiz,
             const MKL_INT* tlvls, const MKL_INT* curlvl,
             const MKL_INT* curpbm, float* d, MKL_Complex8* q,
             const MKL_INT* ldq, const float* rho, MKL_INT* indxq,
             float* qstore, MKL_INT* qptr, const MKL_INT* prmptr,
             const MKL_INT* perm, const MKL_INT* givptr, const MKL_INT* givcol,
             const float* givnum, MKL_Complex8* work, float* rwork,
             MKL_INT* iwork, MKL_INT* info ) NOTHROW;
void CLAED7_( const MKL_INT* n, const MKL_INT* cutpnt, const MKL_INT* qsiz,
              const MKL_INT* tlvls, const MKL_INT* curlvl,
              const MKL_INT* curpbm, float* d, MKL_Complex8* q,
              const MKL_INT* ldq, const float* rho, MKL_INT* indxq,
              float* qstore, MKL_INT* qptr, const MKL_INT* prmptr,
              const MKL_INT* perm, const MKL_INT* givptr,
              const MKL_INT* givcol, const float* givnum, MKL_Complex8* work,
              float* rwork, MKL_INT* iwork, MKL_INT* info ) NOTHROW;
void claed7( const MKL_INT* n, const MKL_INT* cutpnt, const MKL_INT* qsiz,
             const MKL_INT* tlvls, const MKL_INT* curlvl,
             const MKL_INT* curpbm, float* d, MKL_Complex8* q,
             const MKL_INT* ldq, const float* rho, MKL_INT* indxq,
             float* qstore, MKL_INT* qptr, const MKL_INT* prmptr,
             const MKL_INT* perm, const MKL_INT* givptr, const MKL_INT* givcol,
             const float* givnum, MKL_Complex8* work, float* rwork,
             MKL_INT* iwork, MKL_INT* info ) NOTHROW;
void claed7_( const MKL_INT* n, const MKL_INT* cutpnt, const MKL_INT* qsiz,
              const MKL_INT* tlvls, const MKL_INT* curlvl,
              const MKL_INT* curpbm, float* d, MKL_Complex8* q,
              const MKL_INT* ldq, const float* rho, MKL_INT* indxq,
              float* qstore, MKL_INT* qptr, const MKL_INT* prmptr,
              const MKL_INT* perm, const MKL_INT* givptr,
              const MKL_INT* givcol, const float* givnum, MKL_Complex8* work,
              float* rwork, MKL_INT* iwork, MKL_INT* info ) NOTHROW;

void CLAED8( MKL_INT* k, const MKL_INT* n, const MKL_INT* qsiz,
             MKL_Complex8* q, const MKL_INT* ldq, float* d, float* rho,
             const MKL_INT* cutpnt, const float* z, float* dlamda,
             MKL_Complex8* q2, const MKL_INT* ldq2, float* w, MKL_INT* indxp,
             MKL_INT* indx, const MKL_INT* indxq, MKL_INT* perm,
             MKL_INT* givptr, MKL_INT* givcol, float* givnum, MKL_INT* info ) NOTHROW;
void CLAED8_( MKL_INT* k, const MKL_INT* n, const MKL_INT* qsiz,
              MKL_Complex8* q, const MKL_INT* ldq, float* d, float* rho,
              const MKL_INT* cutpnt, const float* z, float* dlamda,
              MKL_Complex8* q2, const MKL_INT* ldq2, float* w, MKL_INT* indxp,
              MKL_INT* indx, const MKL_INT* indxq, MKL_INT* perm,
              MKL_INT* givptr, MKL_INT* givcol, float* givnum, MKL_INT* info ) NOTHROW;
void claed8( MKL_INT* k, const MKL_INT* n, const MKL_INT* qsiz,
             MKL_Complex8* q, const MKL_INT* ldq, float* d, float* rho,
             const MKL_INT* cutpnt, const float* z, float* dlamda,
             MKL_Complex8* q2, const MKL_INT* ldq2, float* w, MKL_INT* indxp,
             MKL_INT* indx, const MKL_INT* indxq, MKL_INT* perm,
             MKL_INT* givptr, MKL_INT* givcol, float* givnum, MKL_INT* info ) NOTHROW;
void claed8_( MKL_INT* k, const MKL_INT* n, const MKL_INT* qsiz,
              MKL_Complex8* q, const MKL_INT* ldq, float* d, float* rho,
              const MKL_INT* cutpnt, const float* z, float* dlamda,
              MKL_Complex8* q2, const MKL_INT* ldq2, float* w, MKL_INT* indxp,
              MKL_INT* indx, const MKL_INT* indxq, MKL_INT* perm,
              MKL_INT* givptr, MKL_INT* givcol, float* givnum, MKL_INT* info ) NOTHROW;

void CLAEIN( const MKL_INT* rightv, const MKL_INT* noinit, const MKL_INT* n,
             const MKL_Complex8* h, const MKL_INT* ldh, const MKL_Complex8* w,
             MKL_Complex8* v, MKL_Complex8* b, const MKL_INT* ldb,
             float* rwork, const float* eps3, const float* smlnum,
             MKL_INT* info ) NOTHROW;
void CLAEIN_( const MKL_INT* rightv, const MKL_INT* noinit, const MKL_INT* n,
              const MKL_Complex8* h, const MKL_INT* ldh, const MKL_Complex8* w,
              MKL_Complex8* v, MKL_Complex8* b, const MKL_INT* ldb,
              float* rwork, const float* eps3, const float* smlnum,
              MKL_INT* info ) NOTHROW;
void claein( const MKL_INT* rightv, const MKL_INT* noinit, const MKL_INT* n,
             const MKL_Complex8* h, const MKL_INT* ldh, const MKL_Complex8* w,
             MKL_Complex8* v, MKL_Complex8* b, const MKL_INT* ldb,
             float* rwork, const float* eps3, const float* smlnum,
             MKL_INT* info ) NOTHROW;
void claein_( const MKL_INT* rightv, const MKL_INT* noinit, const MKL_INT* n,
              const MKL_Complex8* h, const MKL_INT* ldh, const MKL_Complex8* w,
              MKL_Complex8* v, MKL_Complex8* b, const MKL_INT* ldb,
              float* rwork, const float* eps3, const float* smlnum,
              MKL_INT* info ) NOTHROW;

void CLAESY( const MKL_Complex8* a, const MKL_Complex8* b,
             const MKL_Complex8* c, MKL_Complex8* rt1, MKL_Complex8* rt2,
             MKL_Complex8* evscal, MKL_Complex8* cs1, MKL_Complex8* sn1 ) NOTHROW;
void CLAESY_( const MKL_Complex8* a, const MKL_Complex8* b,
              const MKL_Complex8* c, MKL_Complex8* rt1, MKL_Complex8* rt2,
              MKL_Complex8* evscal, MKL_Complex8* cs1, MKL_Complex8* sn1 ) NOTHROW;
void claesy( const MKL_Complex8* a, const MKL_Complex8* b,
             const MKL_Complex8* c, MKL_Complex8* rt1, MKL_Complex8* rt2,
             MKL_Complex8* evscal, MKL_Complex8* cs1, MKL_Complex8* sn1 ) NOTHROW;
void claesy_( const MKL_Complex8* a, const MKL_Complex8* b,
              const MKL_Complex8* c, MKL_Complex8* rt1, MKL_Complex8* rt2,
              MKL_Complex8* evscal, MKL_Complex8* cs1, MKL_Complex8* sn1 ) NOTHROW;

void CLAEV2( const MKL_Complex8* a, const MKL_Complex8* b,
             const MKL_Complex8* c, float* rt1, float* rt2, float* cs1,
             MKL_Complex8* sn1 ) NOTHROW;
void CLAEV2_( const MKL_Complex8* a, const MKL_Complex8* b,
              const MKL_Complex8* c, float* rt1, float* rt2, float* cs1,
              MKL_Complex8* sn1 ) NOTHROW;
void claev2( const MKL_Complex8* a, const MKL_Complex8* b,
             const MKL_Complex8* c, float* rt1, float* rt2, float* cs1,
             MKL_Complex8* sn1 ) NOTHROW;
void claev2_( const MKL_Complex8* a, const MKL_Complex8* b,
              const MKL_Complex8* c, float* rt1, float* rt2, float* cs1,
              MKL_Complex8* sn1 ) NOTHROW;

void CLAG2Z( const MKL_INT* m, const MKL_INT* n, const MKL_Complex8* sa,
             const MKL_INT* ldsa, MKL_Complex16* a, const MKL_INT* lda,
             MKL_INT* info ) NOTHROW;
void CLAG2Z_( const MKL_INT* m, const MKL_INT* n, const MKL_Complex8* sa,
              const MKL_INT* ldsa, MKL_Complex16* a, const MKL_INT* lda,
              MKL_INT* info ) NOTHROW;
void clag2z( const MKL_INT* m, const MKL_INT* n, const MKL_Complex8* sa,
             const MKL_INT* ldsa, MKL_Complex16* a, const MKL_INT* lda,
             MKL_INT* info ) NOTHROW;
void clag2z_( const MKL_INT* m, const MKL_INT* n, const MKL_Complex8* sa,
              const MKL_INT* ldsa, MKL_Complex16* a, const MKL_INT* lda,
              MKL_INT* info ) NOTHROW;

void CLAGS2( const MKL_INT* upper, const float* a1, const MKL_Complex8* a2,
             const float* a3, const float* b1, const MKL_Complex8* b2,
             const float* b3, float* csu, MKL_Complex8* snu, float* csv,
             MKL_Complex8* snv, float* csq, MKL_Complex8* snq ) NOTHROW;
void CLAGS2_( const MKL_INT* upper, const float* a1, const MKL_Complex8* a2,
              const float* a3, const float* b1, const MKL_Complex8* b2,
              const float* b3, float* csu, MKL_Complex8* snu, float* csv,
              MKL_Complex8* snv, float* csq, MKL_Complex8* snq ) NOTHROW;
void clags2( const MKL_INT* upper, const float* a1, const MKL_Complex8* a2,
             const float* a3, const float* b1, const MKL_Complex8* b2,
             const float* b3, float* csu, MKL_Complex8* snu, float* csv,
             MKL_Complex8* snv, float* csq, MKL_Complex8* snq ) NOTHROW;
void clags2_( const MKL_INT* upper, const float* a1, const MKL_Complex8* a2,
              const float* a3, const float* b1, const MKL_Complex8* b2,
              const float* b3, float* csu, MKL_Complex8* snu, float* csv,
              MKL_Complex8* snv, float* csq, MKL_Complex8* snq ) NOTHROW;

void CLAGTM( const char* trans, const MKL_INT* n, const MKL_INT* nrhs,
             const float* alpha, const MKL_Complex8* dl, const MKL_Complex8* d,
             const MKL_Complex8* du, const MKL_Complex8* x, const MKL_INT* ldx,
             const float* beta, MKL_Complex8* b, const MKL_INT* ldb ) NOTHROW;
void CLAGTM_( const char* trans, const MKL_INT* n, const MKL_INT* nrhs,
              const float* alpha, const MKL_Complex8* dl,
              const MKL_Complex8* d, const MKL_Complex8* du,
              const MKL_Complex8* x, const MKL_INT* ldx, const float* beta,
              MKL_Complex8* b, const MKL_INT* ldb ) NOTHROW;
void clagtm( const char* trans, const MKL_INT* n, const MKL_INT* nrhs,
             const float* alpha, const MKL_Complex8* dl, const MKL_Complex8* d,
             const MKL_Complex8* du, const MKL_Complex8* x, const MKL_INT* ldx,
             const float* beta, MKL_Complex8* b, const MKL_INT* ldb ) NOTHROW;
void clagtm_( const char* trans, const MKL_INT* n, const MKL_INT* nrhs,
              const float* alpha, const MKL_Complex8* dl,
              const MKL_Complex8* d, const MKL_Complex8* du,
              const MKL_Complex8* x, const MKL_INT* ldx, const float* beta,
              MKL_Complex8* b, const MKL_INT* ldb ) NOTHROW;

void CLAHEF( const char* uplo, const MKL_INT* n, const MKL_INT* nb,
             MKL_INT* kb, MKL_Complex8* a, const MKL_INT* lda, MKL_INT* ipiv,
             MKL_Complex8* w, const MKL_INT* ldw, MKL_INT* info ) NOTHROW;
void CLAHEF_( const char* uplo, const MKL_INT* n, const MKL_INT* nb,
              MKL_INT* kb, MKL_Complex8* a, const MKL_INT* lda, MKL_INT* ipiv,
              MKL_Complex8* w, const MKL_INT* ldw, MKL_INT* info ) NOTHROW;
void clahef( const char* uplo, const MKL_INT* n, const MKL_INT* nb,
             MKL_INT* kb, MKL_Complex8* a, const MKL_INT* lda, MKL_INT* ipiv,
             MKL_Complex8* w, const MKL_INT* ldw, MKL_INT* info ) NOTHROW;
void clahef_( const char* uplo, const MKL_INT* n, const MKL_INT* nb,
              MKL_INT* kb, MKL_Complex8* a, const MKL_INT* lda, MKL_INT* ipiv,
              MKL_Complex8* w, const MKL_INT* ldw, MKL_INT* info ) NOTHROW;

void CLAHQR( const MKL_INT* wantt, const MKL_INT* wantz, const MKL_INT* n,
             const MKL_INT* ilo, const MKL_INT* ihi, MKL_Complex8* h,
             const MKL_INT* ldh, MKL_Complex8* w, const MKL_INT* iloz,
             const MKL_INT* ihiz, MKL_Complex8* z, const MKL_INT* ldz,
             MKL_INT* info ) NOTHROW;
void CLAHQR_( const MKL_INT* wantt, const MKL_INT* wantz, const MKL_INT* n,
              const MKL_INT* ilo, const MKL_INT* ihi, MKL_Complex8* h,
              const MKL_INT* ldh, MKL_Complex8* w, const MKL_INT* iloz,
              const MKL_INT* ihiz, MKL_Complex8* z, const MKL_INT* ldz,
              MKL_INT* info ) NOTHROW;
void clahqr( const MKL_INT* wantt, const MKL_INT* wantz, const MKL_INT* n,
             const MKL_INT* ilo, const MKL_INT* ihi, MKL_Complex8* h,
             const MKL_INT* ldh, MKL_Complex8* w, const MKL_INT* iloz,
             const MKL_INT* ihiz, MKL_Complex8* z, const MKL_INT* ldz,
             MKL_INT* info ) NOTHROW;
void clahqr_( const MKL_INT* wantt, const MKL_INT* wantz, const MKL_INT* n,
              const MKL_INT* ilo, const MKL_INT* ihi, MKL_Complex8* h,
              const MKL_INT* ldh, MKL_Complex8* w, const MKL_INT* iloz,
              const MKL_INT* ihiz, MKL_Complex8* z, const MKL_INT* ldz,
              MKL_INT* info ) NOTHROW;

void CLAHR2( const MKL_INT* n, const MKL_INT* k, const MKL_INT* nb,
             MKL_Complex8* a, const MKL_INT* lda, MKL_Complex8* tau,
             MKL_Complex8* t, const MKL_INT* ldt, MKL_Complex8* y,
             const MKL_INT* ldy ) NOTHROW;
void CLAHR2_( const MKL_INT* n, const MKL_INT* k, const MKL_INT* nb,
              MKL_Complex8* a, const MKL_INT* lda, MKL_Complex8* tau,
              MKL_Complex8* t, const MKL_INT* ldt, MKL_Complex8* y,
              const MKL_INT* ldy ) NOTHROW;
void clahr2( const MKL_INT* n, const MKL_INT* k, const MKL_INT* nb,
             MKL_Complex8* a, const MKL_INT* lda, MKL_Complex8* tau,
             MKL_Complex8* t, const MKL_INT* ldt, MKL_Complex8* y,
             const MKL_INT* ldy ) NOTHROW;
void clahr2_( const MKL_INT* n, const MKL_INT* k, const MKL_INT* nb,
              MKL_Complex8* a, const MKL_INT* lda, MKL_Complex8* tau,
              MKL_Complex8* t, const MKL_INT* ldt, MKL_Complex8* y,
              const MKL_INT* ldy ) NOTHROW;

void CLAHRD( const MKL_INT* n, const MKL_INT* k, const MKL_INT* nb,
             MKL_Complex8* a, const MKL_INT* lda, MKL_Complex8* tau,
             MKL_Complex8* t, const MKL_INT* ldt, MKL_Complex8* y,
             const MKL_INT* ldy ) NOTHROW;
void CLAHRD_( const MKL_INT* n, const MKL_INT* k, const MKL_INT* nb,
              MKL_Complex8* a, const MKL_INT* lda, MKL_Complex8* tau,
              MKL_Complex8* t, const MKL_INT* ldt, MKL_Complex8* y,
              const MKL_INT* ldy ) NOTHROW;
void clahrd( const MKL_INT* n, const MKL_INT* k, const MKL_INT* nb,
             MKL_Complex8* a, const MKL_INT* lda, MKL_Complex8* tau,
             MKL_Complex8* t, const MKL_INT* ldt, MKL_Complex8* y,
             const MKL_INT* ldy ) NOTHROW;
void clahrd_( const MKL_INT* n, const MKL_INT* k, const MKL_INT* nb,
              MKL_Complex8* a, const MKL_INT* lda, MKL_Complex8* tau,
              MKL_Complex8* t, const MKL_INT* ldt, MKL_Complex8* y,
              const MKL_INT* ldy ) NOTHROW;

void CLAIC1( const MKL_INT* job, const MKL_INT* j, const MKL_Complex8* x,
             const float* sest, const MKL_Complex8* w,
             const MKL_Complex8* gamma, float* sestpr, MKL_Complex8* s,
             MKL_Complex8* c ) NOTHROW;
void CLAIC1_( const MKL_INT* job, const MKL_INT* j, const MKL_Complex8* x,
              const float* sest, const MKL_Complex8* w,
              const MKL_Complex8* gamma, float* sestpr, MKL_Complex8* s,
              MKL_Complex8* c ) NOTHROW;
void claic1( const MKL_INT* job, const MKL_INT* j, const MKL_Complex8* x,
             const float* sest, const MKL_Complex8* w,
             const MKL_Complex8* gamma, float* sestpr, MKL_Complex8* s,
             MKL_Complex8* c ) NOTHROW;
void claic1_( const MKL_INT* job, const MKL_INT* j, const MKL_Complex8* x,
              const float* sest, const MKL_Complex8* w,
              const MKL_Complex8* gamma, float* sestpr, MKL_Complex8* s,
              MKL_Complex8* c ) NOTHROW;

void CLALS0( const MKL_INT* icompq, const MKL_INT* nl, const MKL_INT* nr,
             const MKL_INT* sqre, const MKL_INT* nrhs, MKL_Complex8* b,
             const MKL_INT* ldb, MKL_Complex8* bx, const MKL_INT* ldbx,
             const MKL_INT* perm, const MKL_INT* givptr, const MKL_INT* givcol,
             const MKL_INT* ldgcol, const float* givnum, const MKL_INT* ldgnum,
             const float* poles, const float* difl, const float* difr,
             const float* z, const MKL_INT* k, const float* c, const float* s,
             float* rwork, MKL_INT* info ) NOTHROW;
void CLALS0_( const MKL_INT* icompq, const MKL_INT* nl, const MKL_INT* nr,
              const MKL_INT* sqre, const MKL_INT* nrhs, MKL_Complex8* b,
              const MKL_INT* ldb, MKL_Complex8* bx, const MKL_INT* ldbx,
              const MKL_INT* perm, const MKL_INT* givptr,
              const MKL_INT* givcol, const MKL_INT* ldgcol,
              const float* givnum, const MKL_INT* ldgnum, const float* poles,
              const float* difl, const float* difr, const float* z,
              const MKL_INT* k, const float* c, const float* s, float* rwork,
              MKL_INT* info ) NOTHROW;
void clals0( const MKL_INT* icompq, const MKL_INT* nl, const MKL_INT* nr,
             const MKL_INT* sqre, const MKL_INT* nrhs, MKL_Complex8* b,
             const MKL_INT* ldb, MKL_Complex8* bx, const MKL_INT* ldbx,
             const MKL_INT* perm, const MKL_INT* givptr, const MKL_INT* givcol,
             const MKL_INT* ldgcol, const float* givnum, const MKL_INT* ldgnum,
             const float* poles, const float* difl, const float* difr,
             const float* z, const MKL_INT* k, const float* c, const float* s,
             float* rwork, MKL_INT* info ) NOTHROW;
void clals0_( const MKL_INT* icompq, const MKL_INT* nl, const MKL_INT* nr,
              const MKL_INT* sqre, const MKL_INT* nrhs, MKL_Complex8* b,
              const MKL_INT* ldb, MKL_Complex8* bx, const MKL_INT* ldbx,
              const MKL_INT* perm, const MKL_INT* givptr,
              const MKL_INT* givcol, const MKL_INT* ldgcol,
              const float* givnum, const MKL_INT* ldgnum, const float* poles,
              const float* difl, const float* difr, const float* z,
              const MKL_INT* k, const float* c, const float* s, float* rwork,
              MKL_INT* info ) NOTHROW;

void CLALSA( const MKL_INT* icompq, const MKL_INT* smlsiz, const MKL_INT* n,
             const MKL_INT* nrhs, MKL_Complex8* b, const MKL_INT* ldb,
             MKL_Complex8* bx, const MKL_INT* ldbx, const float* u,
             const MKL_INT* ldu, const float* vt, const MKL_INT* k,
             const float* difl, const float* difr, const float* z,
             const float* poles, const MKL_INT* givptr, const MKL_INT* givcol,
             const MKL_INT* ldgcol, const MKL_INT* perm, const float* givnum,
             const float* c, const float* s, float* rwork, MKL_INT* iwork,
             MKL_INT* info ) NOTHROW;
void CLALSA_( const MKL_INT* icompq, const MKL_INT* smlsiz, const MKL_INT* n,
              const MKL_INT* nrhs, MKL_Complex8* b, const MKL_INT* ldb,
              MKL_Complex8* bx, const MKL_INT* ldbx, const float* u,
              const MKL_INT* ldu, const float* vt, const MKL_INT* k,
              const float* difl, const float* difr, const float* z,
              const float* poles, const MKL_INT* givptr, const MKL_INT* givcol,
              const MKL_INT* ldgcol, const MKL_INT* perm, const float* givnum,
              const float* c, const float* s, float* rwork, MKL_INT* iwork,
              MKL_INT* info ) NOTHROW;
void clalsa( const MKL_INT* icompq, const MKL_INT* smlsiz, const MKL_INT* n,
             const MKL_INT* nrhs, MKL_Complex8* b, const MKL_INT* ldb,
             MKL_Complex8* bx, const MKL_INT* ldbx, const float* u,
             const MKL_INT* ldu, const float* vt, const MKL_INT* k,
             const float* difl, const float* difr, const float* z,
             const float* poles, const MKL_INT* givptr, const MKL_INT* givcol,
             const MKL_INT* ldgcol, const MKL_INT* perm, const float* givnum,
             const float* c, const float* s, float* rwork, MKL_INT* iwork,
             MKL_INT* info ) NOTHROW;
void clalsa_( const MKL_INT* icompq, const MKL_INT* smlsiz, const MKL_INT* n,
              const MKL_INT* nrhs, MKL_Complex8* b, const MKL_INT* ldb,
              MKL_Complex8* bx, const MKL_INT* ldbx, const float* u,
              const MKL_INT* ldu, const float* vt, const MKL_INT* k,
              const float* difl, const float* difr, const float* z,
              const float* poles, const MKL_INT* givptr, const MKL_INT* givcol,
              const MKL_INT* ldgcol, const MKL_INT* perm, const float* givnum,
              const float* c, const float* s, float* rwork, MKL_INT* iwork,
              MKL_INT* info ) NOTHROW;

void CLALSD( const char* uplo, const MKL_INT* smlsiz, const MKL_INT* n,
             const MKL_INT* nrhs, float* d, float* e, MKL_Complex8* b,
             const MKL_INT* ldb, const float* rcond, MKL_INT* rank,
             MKL_Complex8* work, float* rwork, MKL_INT* iwork, MKL_INT* info ) NOTHROW;
void CLALSD_( const char* uplo, const MKL_INT* smlsiz, const MKL_INT* n,
              const MKL_INT* nrhs, float* d, float* e, MKL_Complex8* b,
              const MKL_INT* ldb, const float* rcond, MKL_INT* rank,
              MKL_Complex8* work, float* rwork, MKL_INT* iwork,
              MKL_INT* info ) NOTHROW;
void clalsd( const char* uplo, const MKL_INT* smlsiz, const MKL_INT* n,
             const MKL_INT* nrhs, float* d, float* e, MKL_Complex8* b,
             const MKL_INT* ldb, const float* rcond, MKL_INT* rank,
             MKL_Complex8* work, float* rwork, MKL_INT* iwork, MKL_INT* info ) NOTHROW;
void clalsd_( const char* uplo, const MKL_INT* smlsiz, const MKL_INT* n,
              const MKL_INT* nrhs, float* d, float* e, MKL_Complex8* b,
              const MKL_INT* ldb, const float* rcond, MKL_INT* rank,
              MKL_Complex8* work, float* rwork, MKL_INT* iwork,
              MKL_INT* info ) NOTHROW;

float CLANGB( const char* norm, const MKL_INT* n, const MKL_INT* kl,
              const MKL_INT* ku, const MKL_Complex8* ab, const MKL_INT* ldab,
              float* work ) NOTHROW;
float CLANGB_( const char* norm, const MKL_INT* n, const MKL_INT* kl,
               const MKL_INT* ku, const MKL_Complex8* ab, const MKL_INT* ldab,
               float* work ) NOTHROW;
float clangb( const char* norm, const MKL_INT* n, const MKL_INT* kl,
              const MKL_INT* ku, const MKL_Complex8* ab, const MKL_INT* ldab,
              float* work ) NOTHROW;
float clangb_( const char* norm, const MKL_INT* n, const MKL_INT* kl,
               const MKL_INT* ku, const MKL_Complex8* ab, const MKL_INT* ldab,
               float* work ) NOTHROW;

float CLANGE( const char* norm, const MKL_INT* m, const MKL_INT* n,
              const MKL_Complex8* a, const MKL_INT* lda, float* work ) NOTHROW;
float CLANGE_( const char* norm, const MKL_INT* m, const MKL_INT* n,
               const MKL_Complex8* a, const MKL_INT* lda, float* work ) NOTHROW;
float clange( const char* norm, const MKL_INT* m, const MKL_INT* n,
              const MKL_Complex8* a, const MKL_INT* lda, float* work ) NOTHROW;
float clange_( const char* norm, const MKL_INT* m, const MKL_INT* n,
               const MKL_Complex8* a, const MKL_INT* lda, float* work ) NOTHROW;

float CLANGT( const char* norm, const MKL_INT* n, const MKL_Complex8* dl,
              const MKL_Complex8* d, const MKL_Complex8* du ) NOTHROW;
float CLANGT_( const char* norm, const MKL_INT* n, const MKL_Complex8* dl,
               const MKL_Complex8* d, const MKL_Complex8* du ) NOTHROW;
float clangt( const char* norm, const MKL_INT* n, const MKL_Complex8* dl,
              const MKL_Complex8* d, const MKL_Complex8* du ) NOTHROW;
float clangt_( const char* norm, const MKL_INT* n, const MKL_Complex8* dl,
               const MKL_Complex8* d, const MKL_Complex8* du ) NOTHROW;

float CLANHB( const char* norm, const char* uplo, const MKL_INT* n,
              const MKL_INT* k, const MKL_Complex8* ab, const MKL_INT* ldab,
              float* work ) NOTHROW;
float CLANHB_( const char* norm, const char* uplo, const MKL_INT* n,
               const MKL_INT* k, const MKL_Complex8* ab, const MKL_INT* ldab,
               float* work ) NOTHROW;
float clanhb( const char* norm, const char* uplo, const MKL_INT* n,
              const MKL_INT* k, const MKL_Complex8* ab, const MKL_INT* ldab,
              float* work ) NOTHROW;
float clanhb_( const char* norm, const char* uplo, const MKL_INT* n,
               const MKL_INT* k, const MKL_Complex8* ab, const MKL_INT* ldab,
               float* work ) NOTHROW;

float CLANHE( const char* norm, const char* uplo, const MKL_INT* n,
              const MKL_Complex8* a, const MKL_INT* lda, float* work ) NOTHROW;
float CLANHE_( const char* norm, const char* uplo, const MKL_INT* n,
               const MKL_Complex8* a, const MKL_INT* lda, float* work ) NOTHROW;
float clanhe( const char* norm, const char* uplo, const MKL_INT* n,
              const MKL_Complex8* a, const MKL_INT* lda, float* work ) NOTHROW;
float clanhe_( const char* norm, const char* uplo, const MKL_INT* n,
               const MKL_Complex8* a, const MKL_INT* lda, float* work ) NOTHROW;

float CLANHF( const char* norm, const char* transr, const char* uplo,
              const MKL_INT* n, const MKL_Complex8* a, float* work ) NOTHROW;
float CLANHF_( const char* norm, const char* transr, const char* uplo,
               const MKL_INT* n, const MKL_Complex8* a, float* work ) NOTHROW;
float clanhf( const char* norm, const char* transr, const char* uplo,
              const MKL_INT* n, const MKL_Complex8* a, float* work ) NOTHROW;
float clanhf_( const char* norm, const char* transr, const char* uplo,
               const MKL_INT* n, const MKL_Complex8* a, float* work ) NOTHROW;

float CLANHP( const char* norm, const char* uplo, const MKL_INT* n,
              const MKL_Complex8* ap, float* work ) NOTHROW;
float CLANHP_( const char* norm, const char* uplo, const MKL_INT* n,
               const MKL_Complex8* ap, float* work ) NOTHROW;
float clanhp( const char* norm, const char* uplo, const MKL_INT* n,
              const MKL_Complex8* ap, float* work ) NOTHROW;
float clanhp_( const char* norm, const char* uplo, const MKL_INT* n,
               const MKL_Complex8* ap, float* work ) NOTHROW;

float CLANHS( const char* norm, const MKL_INT* n, const MKL_Complex8* a,
              const MKL_INT* lda, float* work ) NOTHROW;
float CLANHS_( const char* norm, const MKL_INT* n, const MKL_Complex8* a,
               const MKL_INT* lda, float* work ) NOTHROW;
float clanhs( const char* norm, const MKL_INT* n, const MKL_Complex8* a,
              const MKL_INT* lda, float* work ) NOTHROW;
float clanhs_( const char* norm, const MKL_INT* n, const MKL_Complex8* a,
               const MKL_INT* lda, float* work ) NOTHROW;

float CLANHT( const char* norm, const MKL_INT* n, const float* d,
              const MKL_Complex8* e ) NOTHROW;
float CLANHT_( const char* norm, const MKL_INT* n, const float* d,
               const MKL_Complex8* e ) NOTHROW;
float clanht( const char* norm, const MKL_INT* n, const float* d,
              const MKL_Complex8* e ) NOTHROW;
float clanht_( const char* norm, const MKL_INT* n, const float* d,
               const MKL_Complex8* e ) NOTHROW;

float CLANSB( const char* norm, const char* uplo, const MKL_INT* n,
              const MKL_INT* k, const MKL_Complex8* ab, const MKL_INT* ldab,
              float* work ) NOTHROW;
float CLANSB_( const char* norm, const char* uplo, const MKL_INT* n,
               const MKL_INT* k, const MKL_Complex8* ab, const MKL_INT* ldab,
               float* work ) NOTHROW;
float clansb( const char* norm, const char* uplo, const MKL_INT* n,
              const MKL_INT* k, const MKL_Complex8* ab, const MKL_INT* ldab,
              float* work ) NOTHROW;
float clansb_( const char* norm, const char* uplo, const MKL_INT* n,
               const MKL_INT* k, const MKL_Complex8* ab, const MKL_INT* ldab,
               float* work ) NOTHROW;

float CLANSP( const char* norm, const char* uplo, const MKL_INT* n,
              const MKL_Complex8* ap, float* work ) NOTHROW;
float CLANSP_( const char* norm, const char* uplo, const MKL_INT* n,
               const MKL_Complex8* ap, float* work ) NOTHROW;
float clansp( const char* norm, const char* uplo, const MKL_INT* n,
              const MKL_Complex8* ap, float* work ) NOTHROW;
float clansp_( const char* norm, const char* uplo, const MKL_INT* n,
               const MKL_Complex8* ap, float* work ) NOTHROW;

float CLANSY( const char* norm, const char* uplo, const MKL_INT* n,
              const MKL_Complex8* a, const MKL_INT* lda, float* work ) NOTHROW;
float CLANSY_( const char* norm, const char* uplo, const MKL_INT* n,
               const MKL_Complex8* a, const MKL_INT* lda, float* work ) NOTHROW;
float clansy( const char* norm, const char* uplo, const MKL_INT* n,
              const MKL_Complex8* a, const MKL_INT* lda, float* work ) NOTHROW;
float clansy_( const char* norm, const char* uplo, const MKL_INT* n,
               const MKL_Complex8* a, const MKL_INT* lda, float* work ) NOTHROW;

float CLANTB( const char* norm, const char* uplo, const char* diag,
              const MKL_INT* n, const MKL_INT* k, const MKL_Complex8* ab,
              const MKL_INT* ldab, float* work ) NOTHROW;
float CLANTB_( const char* norm, const char* uplo, const char* diag,
               const MKL_INT* n, const MKL_INT* k, const MKL_Complex8* ab,
               const MKL_INT* ldab, float* work ) NOTHROW;
float clantb( const char* norm, const char* uplo, const char* diag,
              const MKL_INT* n, const MKL_INT* k, const MKL_Complex8* ab,
              const MKL_INT* ldab, float* work ) NOTHROW;
float clantb_( const char* norm, const char* uplo, const char* diag,
               const MKL_INT* n, const MKL_INT* k, const MKL_Complex8* ab,
               const MKL_INT* ldab, float* work ) NOTHROW;

float CLANTP( const char* norm, const char* uplo, const char* diag,
              const MKL_INT* n, const MKL_Complex8* ap, float* work ) NOTHROW;
float CLANTP_( const char* norm, const char* uplo, const char* diag,
               const MKL_INT* n, const MKL_Complex8* ap, float* work ) NOTHROW;
float clantp( const char* norm, const char* uplo, const char* diag,
              const MKL_INT* n, const MKL_Complex8* ap, float* work ) NOTHROW;
float clantp_( const char* norm, const char* uplo, const char* diag,
               const MKL_INT* n, const MKL_Complex8* ap, float* work ) NOTHROW;

float CLANTR( const char* norm, const char* uplo, const char* diag,
              const MKL_INT* m, const MKL_INT* n, const MKL_Complex8* a,
              const MKL_INT* lda, float* work ) NOTHROW;
float CLANTR_( const char* norm, const char* uplo, const char* diag,
               const MKL_INT* m, const MKL_INT* n, const MKL_Complex8* a,
               const MKL_INT* lda, float* work ) NOTHROW;
float clantr( const char* norm, const char* uplo, const char* diag,
              const MKL_INT* m, const MKL_INT* n, const MKL_Complex8* a,
              const MKL_INT* lda, float* work ) NOTHROW;
float clantr_( const char* norm, const char* uplo, const char* diag,
               const MKL_INT* m, const MKL_INT* n, const MKL_Complex8* a,
               const MKL_INT* lda, float* work ) NOTHROW;

void CLAPLL( const MKL_INT* n, MKL_Complex8* x, const MKL_INT* incx,
             MKL_Complex8* y, const MKL_INT* incy, float* ssmin ) NOTHROW;
void CLAPLL_( const MKL_INT* n, MKL_Complex8* x, const MKL_INT* incx,
              MKL_Complex8* y, const MKL_INT* incy, float* ssmin ) NOTHROW;
void clapll( const MKL_INT* n, MKL_Complex8* x, const MKL_INT* incx,
             MKL_Complex8* y, const MKL_INT* incy, float* ssmin ) NOTHROW;
void clapll_( const MKL_INT* n, MKL_Complex8* x, const MKL_INT* incx,
              MKL_Complex8* y, const MKL_INT* incy, float* ssmin ) NOTHROW;

void CLAPMT( const MKL_INT* forwrd, const MKL_INT* m, const MKL_INT* n,
             MKL_Complex8* x, const MKL_INT* ldx, MKL_INT* k ) NOTHROW;
void CLAPMT_( const MKL_INT* forwrd, const MKL_INT* m, const MKL_INT* n,
              MKL_Complex8* x, const MKL_INT* ldx, MKL_INT* k ) NOTHROW;
void clapmt( const MKL_INT* forwrd, const MKL_INT* m, const MKL_INT* n,
             MKL_Complex8* x, const MKL_INT* ldx, MKL_INT* k ) NOTHROW;
void clapmt_( const MKL_INT* forwrd, const MKL_INT* m, const MKL_INT* n,
              MKL_Complex8* x, const MKL_INT* ldx, MKL_INT* k ) NOTHROW;

void CLAQGB( const MKL_INT* m, const MKL_INT* n, const MKL_INT* kl,
             const MKL_INT* ku, MKL_Complex8* ab, const MKL_INT* ldab,
             const float* r, const float* c, const float* rowcnd,
             const float* colcnd, const float* amax, char* equed ) NOTHROW;
void CLAQGB_( const MKL_INT* m, const MKL_INT* n, const MKL_INT* kl,
              const MKL_INT* ku, MKL_Complex8* ab, const MKL_INT* ldab,
              const float* r, const float* c, const float* rowcnd,
              const float* colcnd, const float* amax, char* equed ) NOTHROW;
void claqgb( const MKL_INT* m, const MKL_INT* n, const MKL_INT* kl,
             const MKL_INT* ku, MKL_Complex8* ab, const MKL_INT* ldab,
             const float* r, const float* c, const float* rowcnd,
             const float* colcnd, const float* amax, char* equed ) NOTHROW;
void claqgb_( const MKL_INT* m, const MKL_INT* n, const MKL_INT* kl,
              const MKL_INT* ku, MKL_Complex8* ab, const MKL_INT* ldab,
              const float* r, const float* c, const float* rowcnd,
              const float* colcnd, const float* amax, char* equed ) NOTHROW;

void CLAQGE( const MKL_INT* m, const MKL_INT* n, MKL_Complex8* a,
             const MKL_INT* lda, const float* r, const float* c,
             const float* rowcnd, const float* colcnd, const float* amax,
             char* equed ) NOTHROW;
void CLAQGE_( const MKL_INT* m, const MKL_INT* n, MKL_Complex8* a,
              const MKL_INT* lda, const float* r, const float* c,
              const float* rowcnd, const float* colcnd, const float* amax,
              char* equed ) NOTHROW;
void claqge( const MKL_INT* m, const MKL_INT* n, MKL_Complex8* a,
             const MKL_INT* lda, const float* r, const float* c,
             const float* rowcnd, const float* colcnd, const float* amax,
             char* equed ) NOTHROW;
void claqge_( const MKL_INT* m, const MKL_INT* n, MKL_Complex8* a,
              const MKL_INT* lda, const float* r, const float* c,
              const float* rowcnd, const float* colcnd, const float* amax,
              char* equed ) NOTHROW;

void CLAQHB( const char* uplo, const MKL_INT* n, const MKL_INT* kd,
             MKL_Complex8* ab, const MKL_INT* ldab, float* s,
             const float* scond, const float* amax, char* equed ) NOTHROW;
void CLAQHB_( const char* uplo, const MKL_INT* n, const MKL_INT* kd,
              MKL_Complex8* ab, const MKL_INT* ldab, float* s,
              const float* scond, const float* amax, char* equed ) NOTHROW;
void claqhb( const char* uplo, const MKL_INT* n, const MKL_INT* kd,
             MKL_Complex8* ab, const MKL_INT* ldab, float* s,
             const float* scond, const float* amax, char* equed ) NOTHROW;
void claqhb_( const char* uplo, const MKL_INT* n, const MKL_INT* kd,
              MKL_Complex8* ab, const MKL_INT* ldab, float* s,
              const float* scond, const float* amax, char* equed ) NOTHROW;

void CLAQHE( const char* uplo, const MKL_INT* n, MKL_Complex8* a,
             const MKL_INT* lda, const float* s, const float* scond,
             const float* amax, char* equed ) NOTHROW;
void CLAQHE_( const char* uplo, const MKL_INT* n, MKL_Complex8* a,
              const MKL_INT* lda, const float* s, const float* scond,
              const float* amax, char* equed ) NOTHROW;
void claqhe( const char* uplo, const MKL_INT* n, MKL_Complex8* a,
             const MKL_INT* lda, const float* s, const float* scond,
             const float* amax, char* equed ) NOTHROW;
void claqhe_( const char* uplo, const MKL_INT* n, MKL_Complex8* a,
              const MKL_INT* lda, const float* s, const float* scond,
              const float* amax, char* equed ) NOTHROW;

void CLAQHP( const char* uplo, const MKL_INT* n, MKL_Complex8* ap,
             const float* s, const float* scond, const float* amax,
             char* equed ) NOTHROW;
void CLAQHP_( const char* uplo, const MKL_INT* n, MKL_Complex8* ap,
              const float* s, const float* scond, const float* amax,
              char* equed ) NOTHROW;
void claqhp( const char* uplo, const MKL_INT* n, MKL_Complex8* ap,
             const float* s, const float* scond, const float* amax,
             char* equed ) NOTHROW;
void claqhp_( const char* uplo, const MKL_INT* n, MKL_Complex8* ap,
              const float* s, const float* scond, const float* amax,
              char* equed ) NOTHROW;

void CLAQP2( const MKL_INT* m, const MKL_INT* n, const MKL_INT* offset,
             MKL_Complex8* a, const MKL_INT* lda, MKL_INT* jpvt,
             MKL_Complex8* tau, float* vn1, float* vn2, MKL_Complex8* work ) NOTHROW;
void CLAQP2_( const MKL_INT* m, const MKL_INT* n, const MKL_INT* offset,
              MKL_Complex8* a, const MKL_INT* lda, MKL_INT* jpvt,
              MKL_Complex8* tau, float* vn1, float* vn2, MKL_Complex8* work ) NOTHROW;
void claqp2( const MKL_INT* m, const MKL_INT* n, const MKL_INT* offset,
             MKL_Complex8* a, const MKL_INT* lda, MKL_INT* jpvt,
             MKL_Complex8* tau, float* vn1, float* vn2, MKL_Complex8* work ) NOTHROW;
void claqp2_( const MKL_INT* m, const MKL_INT* n, const MKL_INT* offset,
              MKL_Complex8* a, const MKL_INT* lda, MKL_INT* jpvt,
              MKL_Complex8* tau, float* vn1, float* vn2, MKL_Complex8* work ) NOTHROW;

void CLAQPS( const MKL_INT* m, const MKL_INT* n, const MKL_INT* offset,
             const MKL_INT* nb, MKL_INT* kb, MKL_Complex8* a,
             const MKL_INT* lda, MKL_INT* jpvt, MKL_Complex8* tau, float* vn1,
             float* vn2, MKL_Complex8* auxv, MKL_Complex8* f,
             const MKL_INT* ldf ) NOTHROW;
void CLAQPS_( const MKL_INT* m, const MKL_INT* n, const MKL_INT* offset,
              const MKL_INT* nb, MKL_INT* kb, MKL_Complex8* a,
              const MKL_INT* lda, MKL_INT* jpvt, MKL_Complex8* tau, float* vn1,
              float* vn2, MKL_Complex8* auxv, MKL_Complex8* f,
              const MKL_INT* ldf ) NOTHROW;
void claqps( const MKL_INT* m, const MKL_INT* n, const MKL_INT* offset,
             const MKL_INT* nb, MKL_INT* kb, MKL_Complex8* a,
             const MKL_INT* lda, MKL_INT* jpvt, MKL_Complex8* tau, float* vn1,
             float* vn2, MKL_Complex8* auxv, MKL_Complex8* f,
             const MKL_INT* ldf ) NOTHROW;
void claqps_( const MKL_INT* m, const MKL_INT* n, const MKL_INT* offset,
              const MKL_INT* nb, MKL_INT* kb, MKL_Complex8* a,
              const MKL_INT* lda, MKL_INT* jpvt, MKL_Complex8* tau, float* vn1,
              float* vn2, MKL_Complex8* auxv, MKL_Complex8* f,
              const MKL_INT* ldf ) NOTHROW;

void CLAQR0( const MKL_INT* wantt, const MKL_INT* wantz, const MKL_INT* n,
             const MKL_INT* ilo, const MKL_INT* ihi, MKL_Complex8* h,
             const MKL_INT* ldh, MKL_Complex8* w, MKL_INT* iloz, MKL_INT* ihiz,
             MKL_Complex8* z, const MKL_INT* ldz, MKL_Complex8* work,
             const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void CLAQR0_( const MKL_INT* wantt, const MKL_INT* wantz, const MKL_INT* n,
              const MKL_INT* ilo, const MKL_INT* ihi, MKL_Complex8* h,
              const MKL_INT* ldh, MKL_Complex8* w, MKL_INT* iloz,
              MKL_INT* ihiz, MKL_Complex8* z, const MKL_INT* ldz,
              MKL_Complex8* work, const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void claqr0( const MKL_INT* wantt, const MKL_INT* wantz, const MKL_INT* n,
             const MKL_INT* ilo, const MKL_INT* ihi, MKL_Complex8* h,
             const MKL_INT* ldh, MKL_Complex8* w, MKL_INT* iloz, MKL_INT* ihiz,
             MKL_Complex8* z, const MKL_INT* ldz, MKL_Complex8* work,
             const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void claqr0_( const MKL_INT* wantt, const MKL_INT* wantz, const MKL_INT* n,
              const MKL_INT* ilo, const MKL_INT* ihi, MKL_Complex8* h,
              const MKL_INT* ldh, MKL_Complex8* w, MKL_INT* iloz,
              MKL_INT* ihiz, MKL_Complex8* z, const MKL_INT* ldz,
              MKL_Complex8* work, const MKL_INT* lwork, MKL_INT* info ) NOTHROW;

void CLAQR1( const MKL_INT* n, const MKL_Complex8* h, const MKL_INT* ldh,
             const MKL_Complex8* s1, MKL_Complex8* s2, MKL_Complex8* v ) NOTHROW;
void CLAQR1_( const MKL_INT* n, const MKL_Complex8* h, const MKL_INT* ldh,
              const MKL_Complex8* s1, MKL_Complex8* s2, MKL_Complex8* v ) NOTHROW;
void claqr1( const MKL_INT* n, const MKL_Complex8* h, const MKL_INT* ldh,
             const MKL_Complex8* s1, MKL_Complex8* s2, MKL_Complex8* v ) NOTHROW;
void claqr1_( const MKL_INT* n, const MKL_Complex8* h, const MKL_INT* ldh,
              const MKL_Complex8* s1, MKL_Complex8* s2, MKL_Complex8* v ) NOTHROW;

void CLAQR2( const MKL_INT* wantt, const MKL_INT* wantz, const MKL_INT* n,
             const MKL_INT* ktop, const MKL_INT* kbot, const MKL_INT* nw,
             MKL_Complex8* h, const MKL_INT* ldh, const MKL_INT* iloz,
             const MKL_INT* ihiz, MKL_Complex8* z, const MKL_INT* ldz,
             MKL_INT* ns, MKL_INT* nd, MKL_Complex8* sh, MKL_Complex8* v,
             const MKL_INT* ldv, const MKL_INT* nh, MKL_Complex8* t,
             const MKL_INT* ldt, const MKL_INT* nv, MKL_Complex8* wv,
             const MKL_INT* ldwv, MKL_Complex8* work, const MKL_INT* lwork ) NOTHROW;
void CLAQR2_( const MKL_INT* wantt, const MKL_INT* wantz, const MKL_INT* n,
              const MKL_INT* ktop, const MKL_INT* kbot, const MKL_INT* nw,
              MKL_Complex8* h, const MKL_INT* ldh, const MKL_INT* iloz,
              const MKL_INT* ihiz, MKL_Complex8* z, const MKL_INT* ldz,
              MKL_INT* ns, MKL_INT* nd, MKL_Complex8* sh, MKL_Complex8* v,
              const MKL_INT* ldv, const MKL_INT* nh, MKL_Complex8* t,
              const MKL_INT* ldt, const MKL_INT* nv, MKL_Complex8* wv,
              const MKL_INT* ldwv, MKL_Complex8* work, const MKL_INT* lwork ) NOTHROW;
void claqr2( const MKL_INT* wantt, const MKL_INT* wantz, const MKL_INT* n,
             const MKL_INT* ktop, const MKL_INT* kbot, const MKL_INT* nw,
             MKL_Complex8* h, const MKL_INT* ldh, const MKL_INT* iloz,
             const MKL_INT* ihiz, MKL_Complex8* z, const MKL_INT* ldz,
             MKL_INT* ns, MKL_INT* nd, MKL_Complex8* sh, MKL_Complex8* v,
             const MKL_INT* ldv, const MKL_INT* nh, MKL_Complex8* t,
             const MKL_INT* ldt, const MKL_INT* nv, MKL_Complex8* wv,
             const MKL_INT* ldwv, MKL_Complex8* work, const MKL_INT* lwork ) NOTHROW;
void claqr2_( const MKL_INT* wantt, const MKL_INT* wantz, const MKL_INT* n,
              const MKL_INT* ktop, const MKL_INT* kbot, const MKL_INT* nw,
              MKL_Complex8* h, const MKL_INT* ldh, const MKL_INT* iloz,
              const MKL_INT* ihiz, MKL_Complex8* z, const MKL_INT* ldz,
              MKL_INT* ns, MKL_INT* nd, MKL_Complex8* sh, MKL_Complex8* v,
              const MKL_INT* ldv, const MKL_INT* nh, MKL_Complex8* t,
              const MKL_INT* ldt, const MKL_INT* nv, MKL_Complex8* wv,
              const MKL_INT* ldwv, MKL_Complex8* work, const MKL_INT* lwork ) NOTHROW;

void CLAQR3( const MKL_INT* wantt, const MKL_INT* wantz, const MKL_INT* n,
             const MKL_INT* ktop, const MKL_INT* kbot, const MKL_INT* nw,
             MKL_Complex8* h, const MKL_INT* ldh, const MKL_INT* iloz,
             const MKL_INT* ihiz, MKL_Complex8* z, const MKL_INT* ldz,
             MKL_INT* ns, MKL_INT* nd, MKL_Complex8* sh, MKL_Complex8* v,
             const MKL_INT* ldv, const MKL_INT* nh, MKL_Complex8* t,
             const MKL_INT* ldt, const MKL_INT* nv, MKL_Complex8* wv,
             const MKL_INT* ldwv, MKL_Complex8* work, const MKL_INT* lwork ) NOTHROW;
void CLAQR3_( const MKL_INT* wantt, const MKL_INT* wantz, const MKL_INT* n,
              const MKL_INT* ktop, const MKL_INT* kbot, const MKL_INT* nw,
              MKL_Complex8* h, const MKL_INT* ldh, const MKL_INT* iloz,
              const MKL_INT* ihiz, MKL_Complex8* z, const MKL_INT* ldz,
              MKL_INT* ns, MKL_INT* nd, MKL_Complex8* sh, MKL_Complex8* v,
              const MKL_INT* ldv, const MKL_INT* nh, MKL_Complex8* t,
              const MKL_INT* ldt, const MKL_INT* nv, MKL_Complex8* wv,
              const MKL_INT* ldwv, MKL_Complex8* work, const MKL_INT* lwork ) NOTHROW;
void claqr3( const MKL_INT* wantt, const MKL_INT* wantz, const MKL_INT* n,
             const MKL_INT* ktop, const MKL_INT* kbot, const MKL_INT* nw,
             MKL_Complex8* h, const MKL_INT* ldh, const MKL_INT* iloz,
             const MKL_INT* ihiz, MKL_Complex8* z, const MKL_INT* ldz,
             MKL_INT* ns, MKL_INT* nd, MKL_Complex8* sh, MKL_Complex8* v,
             const MKL_INT* ldv, const MKL_INT* nh, MKL_Complex8* t,
             const MKL_INT* ldt, const MKL_INT* nv, MKL_Complex8* wv,
             const MKL_INT* ldwv, MKL_Complex8* work, const MKL_INT* lwork ) NOTHROW;
void claqr3_( const MKL_INT* wantt, const MKL_INT* wantz, const MKL_INT* n,
              const MKL_INT* ktop, const MKL_INT* kbot, const MKL_INT* nw,
              MKL_Complex8* h, const MKL_INT* ldh, const MKL_INT* iloz,
              const MKL_INT* ihiz, MKL_Complex8* z, const MKL_INT* ldz,
              MKL_INT* ns, MKL_INT* nd, MKL_Complex8* sh, MKL_Complex8* v,
              const MKL_INT* ldv, const MKL_INT* nh, MKL_Complex8* t,
              const MKL_INT* ldt, const MKL_INT* nv, MKL_Complex8* wv,
              const MKL_INT* ldwv, MKL_Complex8* work, const MKL_INT* lwork ) NOTHROW;

void CLAQR4( const MKL_INT* wantt, const MKL_INT* wantz, const MKL_INT* n,
             const MKL_INT* ilo, const MKL_INT* ihi, MKL_Complex8* h,
             const MKL_INT* ldh, MKL_Complex8* w, MKL_INT* iloz, MKL_INT* ihiz,
             MKL_Complex8* z, const MKL_INT* ldz, MKL_Complex8* work,
             const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void CLAQR4_( const MKL_INT* wantt, const MKL_INT* wantz, const MKL_INT* n,
              const MKL_INT* ilo, const MKL_INT* ihi, MKL_Complex8* h,
              const MKL_INT* ldh, MKL_Complex8* w, MKL_INT* iloz,
              MKL_INT* ihiz, MKL_Complex8* z, const MKL_INT* ldz,
              MKL_Complex8* work, const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void claqr4( const MKL_INT* wantt, const MKL_INT* wantz, const MKL_INT* n,
             const MKL_INT* ilo, const MKL_INT* ihi, MKL_Complex8* h,
             const MKL_INT* ldh, MKL_Complex8* w, MKL_INT* iloz, MKL_INT* ihiz,
             MKL_Complex8* z, const MKL_INT* ldz, MKL_Complex8* work,
             const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void claqr4_( const MKL_INT* wantt, const MKL_INT* wantz, const MKL_INT* n,
              const MKL_INT* ilo, const MKL_INT* ihi, MKL_Complex8* h,
              const MKL_INT* ldh, MKL_Complex8* w, MKL_INT* iloz,
              MKL_INT* ihiz, MKL_Complex8* z, const MKL_INT* ldz,
              MKL_Complex8* work, const MKL_INT* lwork, MKL_INT* info ) NOTHROW;

void CLAQR5( const MKL_INT* wantt, const MKL_INT* wantz, const MKL_INT* kacc22,
             const MKL_INT* n, const MKL_INT* ktop, const MKL_INT* kbot,
             const MKL_INT* nshfts, MKL_Complex8* s, MKL_Complex8* h,
             const MKL_INT* ldh, const MKL_INT* iloz, const MKL_INT* ihiz,
             MKL_Complex8* z, const MKL_INT* ldz, MKL_Complex8* v,
             const MKL_INT* ldv, MKL_Complex8* u, const MKL_INT* ldu,
             const MKL_INT* nv, MKL_Complex8* wv, const MKL_INT* ldwv,
             const MKL_INT* nh, MKL_Complex8* wh, const MKL_INT* ldwh ) NOTHROW;
void CLAQR5_( const MKL_INT* wantt, const MKL_INT* wantz,
              const MKL_INT* kacc22, const MKL_INT* n, const MKL_INT* ktop,
              const MKL_INT* kbot, const MKL_INT* nshfts, MKL_Complex8* s,
              MKL_Complex8* h, const MKL_INT* ldh, const MKL_INT* iloz,
              const MKL_INT* ihiz, MKL_Complex8* z, const MKL_INT* ldz,
              MKL_Complex8* v, const MKL_INT* ldv, MKL_Complex8* u,
              const MKL_INT* ldu, const MKL_INT* nv, MKL_Complex8* wv,
              const MKL_INT* ldwv, const MKL_INT* nh, MKL_Complex8* wh,
              const MKL_INT* ldwh ) NOTHROW;
void claqr5( const MKL_INT* wantt, const MKL_INT* wantz, const MKL_INT* kacc22,
             const MKL_INT* n, const MKL_INT* ktop, const MKL_INT* kbot,
             const MKL_INT* nshfts, MKL_Complex8* s, MKL_Complex8* h,
             const MKL_INT* ldh, const MKL_INT* iloz, const MKL_INT* ihiz,
             MKL_Complex8* z, const MKL_INT* ldz, MKL_Complex8* v,
             const MKL_INT* ldv, MKL_Complex8* u, const MKL_INT* ldu,
             const MKL_INT* nv, MKL_Complex8* wv, const MKL_INT* ldwv,
             const MKL_INT* nh, MKL_Complex8* wh, const MKL_INT* ldwh ) NOTHROW;
void claqr5_( const MKL_INT* wantt, const MKL_INT* wantz,
              const MKL_INT* kacc22, const MKL_INT* n, const MKL_INT* ktop,
              const MKL_INT* kbot, const MKL_INT* nshfts, MKL_Complex8* s,
              MKL_Complex8* h, const MKL_INT* ldh, const MKL_INT* iloz,
              const MKL_INT* ihiz, MKL_Complex8* z, const MKL_INT* ldz,
              MKL_Complex8* v, const MKL_INT* ldv, MKL_Complex8* u,
              const MKL_INT* ldu, const MKL_INT* nv, MKL_Complex8* wv,
              const MKL_INT* ldwv, const MKL_INT* nh, MKL_Complex8* wh,
              const MKL_INT* ldwh ) NOTHROW;

void CLAQSB( const char* uplo, const MKL_INT* n, const MKL_INT* kd,
             MKL_Complex8* ab, const MKL_INT* ldab, const float* s,
             const float* scond, const float* amax, char* equed ) NOTHROW;
void CLAQSB_( const char* uplo, const MKL_INT* n, const MKL_INT* kd,
              MKL_Complex8* ab, const MKL_INT* ldab, const float* s,
              const float* scond, const float* amax, char* equed ) NOTHROW;
void claqsb( const char* uplo, const MKL_INT* n, const MKL_INT* kd,
             MKL_Complex8* ab, const MKL_INT* ldab, const float* s,
             const float* scond, const float* amax, char* equed ) NOTHROW;
void claqsb_( const char* uplo, const MKL_INT* n, const MKL_INT* kd,
              MKL_Complex8* ab, const MKL_INT* ldab, const float* s,
              const float* scond, const float* amax, char* equed ) NOTHROW;

void CLAQSP( const char* uplo, const MKL_INT* n, MKL_Complex8* ap,
             const float* s, const float* scond, const float* amax,
             char* equed ) NOTHROW;
void CLAQSP_( const char* uplo, const MKL_INT* n, MKL_Complex8* ap,
              const float* s, const float* scond, const float* amax,
              char* equed ) NOTHROW;
void claqsp( const char* uplo, const MKL_INT* n, MKL_Complex8* ap,
             const float* s, const float* scond, const float* amax,
             char* equed ) NOTHROW;
void claqsp_( const char* uplo, const MKL_INT* n, MKL_Complex8* ap,
              const float* s, const float* scond, const float* amax,
              char* equed ) NOTHROW;

void CLAQSY( const char* uplo, const MKL_INT* n, MKL_Complex8* a,
             const MKL_INT* lda, const float* s, const float* scond,
             const float* amax, char* equed ) NOTHROW;
void CLAQSY_( const char* uplo, const MKL_INT* n, MKL_Complex8* a,
              const MKL_INT* lda, const float* s, const float* scond,
              const float* amax, char* equed ) NOTHROW;
void claqsy( const char* uplo, const MKL_INT* n, MKL_Complex8* a,
             const MKL_INT* lda, const float* s, const float* scond,
             const float* amax, char* equed ) NOTHROW;
void claqsy_( const char* uplo, const MKL_INT* n, MKL_Complex8* a,
              const MKL_INT* lda, const float* s, const float* scond,
              const float* amax, char* equed ) NOTHROW;

void CLAQZ0( const char* wants, const char* wantq, const char* wantz, const MKL_INT* n,
             const MKL_INT* ilo, const MKL_INT* ihi, MKL_Complex8* a, const MKL_INT* lda,
             MKL_Complex8* b, const MKL_INT* ldb, MKL_Complex8* alpha, MKL_Complex8* beta,
             MKL_Complex8* q, const MKL_INT* ldq, MKL_Complex8* z, const MKL_INT* ldz,
             MKL_Complex8* work, const MKL_INT* lwork, float* rwork, const MKL_INT* rec,
             MKL_INT* info) NOTHROW;
void CLAQZ0_( const char* wants, const char* wantq, const char* wantz, const MKL_INT* n,
             const MKL_INT* ilo, const MKL_INT* ihi, MKL_Complex8* a, const MKL_INT* lda,
             MKL_Complex8* b, const MKL_INT* ldb, MKL_Complex8* alpha, MKL_Complex8* beta,
             MKL_Complex8* q, const MKL_INT* ldq, MKL_Complex8* z, const MKL_INT* ldz,
             MKL_Complex8* work, const MKL_INT* lwork, float* rwork, const MKL_INT* rec,
             MKL_INT* info) NOTHROW;
void claqz0( const char* wants, const char* wantq, const char* wantz, const MKL_INT* n,
             const MKL_INT* ilo, const MKL_INT* ihi, MKL_Complex8* a, const MKL_INT* lda,
             MKL_Complex8* b, const MKL_INT* ldb, MKL_Complex8* alpha, MKL_Complex8* beta,
             MKL_Complex8* q, const MKL_INT* ldq, MKL_Complex8* z, const MKL_INT* ldz,
             MKL_Complex8* work, const MKL_INT* lwork, float* rwork, const MKL_INT* rec,
             MKL_INT* info) NOTHROW;
void claqz0_( const char* wants, const char* wantq, const char* wantz, const MKL_INT* n,
             const MKL_INT* ilo, const MKL_INT* ihi, MKL_Complex8* a, const MKL_INT* lda,
             MKL_Complex8* b, const MKL_INT* ldb, MKL_Complex8* alpha, MKL_Complex8* beta,
             MKL_Complex8* q, const MKL_INT* ldq, MKL_Complex8* z, const MKL_INT* ldz,
             MKL_Complex8* work, const MKL_INT* lwork, float* rwork, const MKL_INT* rec,
             MKL_INT* info) NOTHROW;

void CLAQZ1( const MKL_INT* ilq, const MKL_INT* ilz, const MKL_INT* k, const MKL_INT* istartm,
             const MKL_INT* istopm, const MKL_INT* ihi, MKL_Complex8* a, const MKL_INT* lda,
             MKL_Complex8* b, const MKL_INT* ldb,  const MKL_INT* nq,  const MKL_INT* qstart,
             MKL_Complex8* q, const MKL_INT* ldq, const MKL_INT* nz,  const MKL_INT* zstart,
             MKL_Complex8* z, const MKL_INT* ldz) NOTHROW;
void CLAQZ1_( const MKL_INT* ilq, const MKL_INT* ilz, const MKL_INT* k, const MKL_INT* istartm,
             const MKL_INT* istopm, const MKL_INT* ihi, MKL_Complex8* a, const MKL_INT* lda,
             MKL_Complex8* b, const MKL_INT* ldb,  const MKL_INT* nq,  const MKL_INT* qstart,
             MKL_Complex8* q, const MKL_INT* ldq, const MKL_INT* nz,  const MKL_INT* zstart,
             MKL_Complex8* z, const MKL_INT* ldz) NOTHROW;
void claqz1( const MKL_INT* ilq, const MKL_INT* ilz, const MKL_INT* k, const MKL_INT* istartm,
             const MKL_INT* istopm, const MKL_INT* ihi, MKL_Complex8* a, const MKL_INT* lda,
             MKL_Complex8* b, const MKL_INT* ldb,  const MKL_INT* nq,  const MKL_INT* qstart,
             MKL_Complex8* q, const MKL_INT* ldq, const MKL_INT* nz,  const MKL_INT* zstart,
             MKL_Complex8* z, const MKL_INT* ldz) NOTHROW;
void claqz1_( const MKL_INT* ilq, const MKL_INT* ilz, const MKL_INT* k, const MKL_INT* istartm,
             const MKL_INT* istopm, const MKL_INT* ihi, MKL_Complex8* a, const MKL_INT* lda,
             MKL_Complex8* b, const MKL_INT* ldb,  const MKL_INT* nq,  const MKL_INT* qstart,
             MKL_Complex8* q, const MKL_INT* ldq, const MKL_INT* nz,  const MKL_INT* zstart,
             MKL_Complex8* z, const MKL_INT* ldz) NOTHROW;

void CLAQZ2( const MKL_INT* ilschur, const MKL_INT* ilq, const MKL_INT* ilz, const MKL_INT* n,
             const MKL_INT* ilo, const MKL_INT* ihi, const MKL_INT* nw,
             MKL_Complex8* a, const MKL_INT* lda, MKL_Complex8* b, const MKL_INT* ldb,
             MKL_Complex8* q, const MKL_INT* ldq, MKL_Complex8* z, const MKL_INT* ldz,
             MKL_INT* ns, MKL_INT* nd, MKL_Complex8* alpha, MKL_Complex8* beta,
             MKL_Complex8* qc, const MKL_INT* ldqc, MKL_Complex8* zc, const MKL_INT* ldzc,
             MKL_Complex8* work, const MKL_INT* lwork, double* rwork, const MKL_INT* rec,
             MKL_INT* info) NOTHROW;
void CLAQZ2_( const MKL_INT* ilschur, const MKL_INT* ilq, const MKL_INT* ilz, const MKL_INT* n,
             const MKL_INT* ilo, const MKL_INT* ihi, const MKL_INT* nw,
             MKL_Complex8* a, const MKL_INT* lda, MKL_Complex8* b, const MKL_INT* ldb,
             MKL_Complex8* q, const MKL_INT* ldq, MKL_Complex8* z, const MKL_INT* ldz,
             MKL_INT* ns, MKL_INT* nd, MKL_Complex8* alpha, MKL_Complex8* beta,
             MKL_Complex8* qc, const MKL_INT* ldqc, MKL_Complex8* zc, const MKL_INT* ldzc,
             MKL_Complex8* work, const MKL_INT* lwork, double* rwork, const MKL_INT* rec,
             MKL_INT* info) NOTHROW;
void claqz2( const MKL_INT* ilschur, const MKL_INT* ilq, const MKL_INT* ilz, const MKL_INT* n,
             const MKL_INT* ilo, const MKL_INT* ihi, const MKL_INT* nw,
             MKL_Complex8* a, const MKL_INT* lda, MKL_Complex8* b, const MKL_INT* ldb,
             MKL_Complex8* q, const MKL_INT* ldq, MKL_Complex8* z, const MKL_INT* ldz,
             MKL_INT* ns, MKL_INT* nd, MKL_Complex8* alpha, MKL_Complex8* beta,
             MKL_Complex8* qc, const MKL_INT* ldqc, MKL_Complex8* zc, const MKL_INT* ldzc,
             MKL_Complex8* work, const MKL_INT* lwork, double* rwork, const MKL_INT* rec,
             MKL_INT* info) NOTHROW;
void claqz2_( const MKL_INT* ilschur, const MKL_INT* ilq, const MKL_INT* ilz, const MKL_INT* n,
             const MKL_INT* ilo, const MKL_INT* ihi, const MKL_INT* nw,
             MKL_Complex8* a, const MKL_INT* lda, MKL_Complex8* b, const MKL_INT* ldb,
             MKL_Complex8* q, const MKL_INT* ldq, MKL_Complex8* z, const MKL_INT* ldz,
             MKL_INT* ns, MKL_INT* nd, MKL_Complex8* alpha, MKL_Complex8* beta,
             MKL_Complex8* qc, const MKL_INT* ldqc, MKL_Complex8* zc, const MKL_INT* ldzc,
             MKL_Complex8* work, const MKL_INT* lwork, double* rwork, const MKL_INT* rec,
             MKL_INT* info) NOTHROW;

void CLAQZ3( const MKL_INT* ilschur, const MKL_INT* ilq, const MKL_INT* ilz, const MKL_INT* n,
             const MKL_INT* ilo, const MKL_INT* ihi, const MKL_INT* nshifts, const MKL_INT* nb,
             MKL_Complex8* alpha, MKL_Complex8* beta, MKL_Complex8* a, const MKL_INT* lda,
             MKL_Complex8* b, const MKL_INT* ldb, MKL_Complex8* q, const MKL_INT* ldq,
             MKL_Complex8* z, const MKL_INT* ldz, MKL_Complex8* qc, const MKL_INT* ldqc,
             MKL_Complex8* zc, const MKL_INT* ldzc, MKL_Complex8* work, const MKL_INT* lwork,
             MKL_INT* info) NOTHROW;
void CLAQZ3_( const MKL_INT* ilschur, const MKL_INT* ilq, const MKL_INT* ilz, const MKL_INT* n,
             const MKL_INT* ilo, const MKL_INT* ihi, const MKL_INT* nshifts, const MKL_INT* nb,
             MKL_Complex8* alpha, MKL_Complex8* beta, MKL_Complex8* a, const MKL_INT* lda,
             MKL_Complex8* b, const MKL_INT* ldb, MKL_Complex8* q, const MKL_INT* ldq,
             MKL_Complex8* z, const MKL_INT* ldz, MKL_Complex8* qc, const MKL_INT* ldqc,
             MKL_Complex8* zc, const MKL_INT* ldzc, MKL_Complex8* work, const MKL_INT* lwork,
             MKL_INT* info) NOTHROW;
void claqz3( const MKL_INT* ilschur, const MKL_INT* ilq, const MKL_INT* ilz, const MKL_INT* n,
             const MKL_INT* ilo, const MKL_INT* ihi, const MKL_INT* nshifts, const MKL_INT* nb,
             MKL_Complex8* alpha, MKL_Complex8* beta, MKL_Complex8* a, const MKL_INT* lda,
             MKL_Complex8* b, const MKL_INT* ldb, MKL_Complex8* q, const MKL_INT* ldq,
             MKL_Complex8* z, const MKL_INT* ldz, MKL_Complex8* qc, const MKL_INT* ldqc,
             MKL_Complex8* zc, const MKL_INT* ldzc, MKL_Complex8* work, const MKL_INT* lwork,
             MKL_INT* info) NOTHROW;
void claqz3_( const MKL_INT* ilschur, const MKL_INT* ilq, const MKL_INT* ilz, const MKL_INT* n,
             const MKL_INT* ilo, const MKL_INT* ihi, const MKL_INT* nshifts, const MKL_INT* nb,
             MKL_Complex8* alpha, MKL_Complex8* beta, MKL_Complex8* a, const MKL_INT* lda,
             MKL_Complex8* b, const MKL_INT* ldb, MKL_Complex8* q, const MKL_INT* ldq,
             MKL_Complex8* z, const MKL_INT* ldz, MKL_Complex8* qc, const MKL_INT* ldqc,
             MKL_Complex8* zc, const MKL_INT* ldzc, MKL_Complex8* work, const MKL_INT* lwork,
             MKL_INT* info) NOTHROW;

void CLAR1V( const MKL_INT* n, const MKL_INT* b1, const MKL_INT* bn,
             const float* lambda, const float* d, const float* l,
             const float* ld, const float* lld, const float* pivmin,
             const float* gaptol, MKL_Complex8* z, const MKL_INT* wantnc,
             MKL_INT* negcnt, float* ztz, float* mingma, MKL_INT* r,
             MKL_INT* isuppz, float* nrminv, float* resid, float* rqcorr,
             float* work ) NOTHROW;
void CLAR1V_( const MKL_INT* n, const MKL_INT* b1, const MKL_INT* bn,
              const float* lambda, const float* d, const float* l,
              const float* ld, const float* lld, const float* pivmin,
              const float* gaptol, MKL_Complex8* z, const MKL_INT* wantnc,
              MKL_INT* negcnt, float* ztz, float* mingma, MKL_INT* r,
              MKL_INT* isuppz, float* nrminv, float* resid, float* rqcorr,
              float* work ) NOTHROW;
void clar1v( const MKL_INT* n, const MKL_INT* b1, const MKL_INT* bn,
             const float* lambda, const float* d, const float* l,
             const float* ld, const float* lld, const float* pivmin,
             const float* gaptol, MKL_Complex8* z, const MKL_INT* wantnc,
             MKL_INT* negcnt, float* ztz, float* mingma, MKL_INT* r,
             MKL_INT* isuppz, float* nrminv, float* resid, float* rqcorr,
             float* work ) NOTHROW;
void clar1v_( const MKL_INT* n, const MKL_INT* b1, const MKL_INT* bn,
              const float* lambda, const float* d, const float* l,
              const float* ld, const float* lld, const float* pivmin,
              const float* gaptol, MKL_Complex8* z, const MKL_INT* wantnc,
              MKL_INT* negcnt, float* ztz, float* mingma, MKL_INT* r,
              MKL_INT* isuppz, float* nrminv, float* resid, float* rqcorr,
              float* work ) NOTHROW;

void CLAR2V( const MKL_INT* n, MKL_Complex8* x, MKL_Complex8* y,
             MKL_Complex8* z, const MKL_INT* incx, const float* c,
             const MKL_Complex8* s, const MKL_INT* incc ) NOTHROW;
void CLAR2V_( const MKL_INT* n, MKL_Complex8* x, MKL_Complex8* y,
              MKL_Complex8* z, const MKL_INT* incx, const float* c,
              const MKL_Complex8* s, const MKL_INT* incc ) NOTHROW;
void clar2v( const MKL_INT* n, MKL_Complex8* x, MKL_Complex8* y,
             MKL_Complex8* z, const MKL_INT* incx, const float* c,
             const MKL_Complex8* s, const MKL_INT* incc ) NOTHROW;
void clar2v_( const MKL_INT* n, MKL_Complex8* x, MKL_Complex8* y,
              MKL_Complex8* z, const MKL_INT* incx, const float* c,
              const MKL_Complex8* s, const MKL_INT* incc ) NOTHROW;

void CLARCM( const MKL_INT* m, const MKL_INT* n, const float* a,
             const MKL_INT* lda, const MKL_Complex8* b, const MKL_INT* ldb,
             MKL_Complex8* c, const MKL_INT* ldc, float* rwork ) NOTHROW;
void CLARCM_( const MKL_INT* m, const MKL_INT* n, const float* a,
              const MKL_INT* lda, const MKL_Complex8* b, const MKL_INT* ldb,
              MKL_Complex8* c, const MKL_INT* ldc, float* rwork ) NOTHROW;
void clarcm( const MKL_INT* m, const MKL_INT* n, const float* a,
             const MKL_INT* lda, const MKL_Complex8* b, const MKL_INT* ldb,
             MKL_Complex8* c, const MKL_INT* ldc, float* rwork ) NOTHROW;
void clarcm_( const MKL_INT* m, const MKL_INT* n, const float* a,
              const MKL_INT* lda, const MKL_Complex8* b, const MKL_INT* ldb,
              MKL_Complex8* c, const MKL_INT* ldc, float* rwork ) NOTHROW;

void CLARFB( const char* side, const char* trans, const char* direct,
             const char* storev, const MKL_INT* m, const MKL_INT* n,
             const MKL_INT* k, const MKL_Complex8* v, const MKL_INT* ldv,
             const MKL_Complex8* t, const MKL_INT* ldt, MKL_Complex8* c,
             const MKL_INT* ldc, MKL_Complex8* work, const MKL_INT* ldwork ) NOTHROW;
void CLARFB_( const char* side, const char* trans, const char* direct,
              const char* storev, const MKL_INT* m, const MKL_INT* n,
              const MKL_INT* k, const MKL_Complex8* v, const MKL_INT* ldv,
              const MKL_Complex8* t, const MKL_INT* ldt, MKL_Complex8* c,
              const MKL_INT* ldc, MKL_Complex8* work, const MKL_INT* ldwork ) NOTHROW;
void clarfb( const char* side, const char* trans, const char* direct,
             const char* storev, const MKL_INT* m, const MKL_INT* n,
             const MKL_INT* k, const MKL_Complex8* v, const MKL_INT* ldv,
             const MKL_Complex8* t, const MKL_INT* ldt, MKL_Complex8* c,
             const MKL_INT* ldc, MKL_Complex8* work, const MKL_INT* ldwork ) NOTHROW;
void clarfb_( const char* side, const char* trans, const char* direct,
              const char* storev, const MKL_INT* m, const MKL_INT* n,
              const MKL_INT* k, const MKL_Complex8* v, const MKL_INT* ldv,
              const MKL_Complex8* t, const MKL_INT* ldt, MKL_Complex8* c,
              const MKL_INT* ldc, MKL_Complex8* work, const MKL_INT* ldwork ) NOTHROW;

void CLARF( const char* side, const MKL_INT* m, const MKL_INT* n,
            const MKL_Complex8* v, const MKL_INT* incv,
            const MKL_Complex8* tau, MKL_Complex8* c, const MKL_INT* ldc,
            MKL_Complex8* work ) NOTHROW;
void CLARF_( const char* side, const MKL_INT* m, const MKL_INT* n,
             const MKL_Complex8* v, const MKL_INT* incv,
             const MKL_Complex8* tau, MKL_Complex8* c, const MKL_INT* ldc,
             MKL_Complex8* work ) NOTHROW;
void clarf( const char* side, const MKL_INT* m, const MKL_INT* n,
            const MKL_Complex8* v, const MKL_INT* incv,
            const MKL_Complex8* tau, MKL_Complex8* c, const MKL_INT* ldc,
            MKL_Complex8* work ) NOTHROW;
void clarf_( const char* side, const MKL_INT* m, const MKL_INT* n,
             const MKL_Complex8* v, const MKL_INT* incv,
             const MKL_Complex8* tau, MKL_Complex8* c, const MKL_INT* ldc,
             MKL_Complex8* work ) NOTHROW;

void CLARFG( const MKL_INT* n, MKL_Complex8* alpha, MKL_Complex8* x,
             const MKL_INT* incx, MKL_Complex8* tau ) NOTHROW;
void CLARFG_( const MKL_INT* n, MKL_Complex8* alpha, MKL_Complex8* x,
              const MKL_INT* incx, MKL_Complex8* tau ) NOTHROW;
void clarfg( const MKL_INT* n, MKL_Complex8* alpha, MKL_Complex8* x,
             const MKL_INT* incx, MKL_Complex8* tau ) NOTHROW;
void clarfg_( const MKL_INT* n, MKL_Complex8* alpha, MKL_Complex8* x,
              const MKL_INT* incx, MKL_Complex8* tau ) NOTHROW;

void CLARFGP( const MKL_INT* n, MKL_Complex8* alpha, MKL_Complex8* x,
              const MKL_INT* incx, MKL_Complex8* tau ) NOTHROW;
void CLARFGP_( const MKL_INT* n, MKL_Complex8* alpha, MKL_Complex8* x,
               const MKL_INT* incx, MKL_Complex8* tau ) NOTHROW;
void clarfgp( const MKL_INT* n, MKL_Complex8* alpha, MKL_Complex8* x,
              const MKL_INT* incx, MKL_Complex8* tau ) NOTHROW;
void clarfgp_( const MKL_INT* n, MKL_Complex8* alpha, MKL_Complex8* x,
               const MKL_INT* incx, MKL_Complex8* tau ) NOTHROW;

void CLARFP( const MKL_INT* n, MKL_Complex8* alpha, MKL_Complex8* x,
             const MKL_INT* incx, MKL_Complex8* tau ) NOTHROW;
void CLARFP_( const MKL_INT* n, MKL_Complex8* alpha, MKL_Complex8* x,
              const MKL_INT* incx, MKL_Complex8* tau ) NOTHROW;
void clarfp( const MKL_INT* n, MKL_Complex8* alpha, MKL_Complex8* x,
             const MKL_INT* incx, MKL_Complex8* tau ) NOTHROW;
void clarfp_( const MKL_INT* n, MKL_Complex8* alpha, MKL_Complex8* x,
              const MKL_INT* incx, MKL_Complex8* tau ) NOTHROW;

void CLARFT( const char* direct, const char* storev, const MKL_INT* n,
             const MKL_INT* k, const MKL_Complex8* v, const MKL_INT* ldv,
             const MKL_Complex8* tau, MKL_Complex8* t, const MKL_INT* ldt ) NOTHROW;
void CLARFT_( const char* direct, const char* storev, const MKL_INT* n,
              const MKL_INT* k, const MKL_Complex8* v, const MKL_INT* ldv,
              const MKL_Complex8* tau, MKL_Complex8* t, const MKL_INT* ldt ) NOTHROW;
void clarft( const char* direct, const char* storev, const MKL_INT* n,
             const MKL_INT* k, const MKL_Complex8* v, const MKL_INT* ldv,
             const MKL_Complex8* tau, MKL_Complex8* t, const MKL_INT* ldt ) NOTHROW;
void clarft_( const char* direct, const char* storev, const MKL_INT* n,
              const MKL_INT* k, const MKL_Complex8* v, const MKL_INT* ldv,
              const MKL_Complex8* tau, MKL_Complex8* t, const MKL_INT* ldt ) NOTHROW;

void CLARFX( const char* side, const MKL_INT* m, const MKL_INT* n,
             const MKL_Complex8* v, const MKL_Complex8* tau, MKL_Complex8* c,
             const MKL_INT* ldc, MKL_Complex8* work ) NOTHROW;
void CLARFX_( const char* side, const MKL_INT* m, const MKL_INT* n,
              const MKL_Complex8* v, const MKL_Complex8* tau, MKL_Complex8* c,
              const MKL_INT* ldc, MKL_Complex8* work ) NOTHROW;
void clarfx( const char* side, const MKL_INT* m, const MKL_INT* n,
             const MKL_Complex8* v, const MKL_Complex8* tau, MKL_Complex8* c,
             const MKL_INT* ldc, MKL_Complex8* work ) NOTHROW;
void clarfx_( const char* side, const MKL_INT* m, const MKL_INT* n,
              const MKL_Complex8* v, const MKL_Complex8* tau, MKL_Complex8* c,
              const MKL_INT* ldc, MKL_Complex8* work ) NOTHROW;

void CLARGV( const MKL_INT* n, MKL_Complex8* x, const MKL_INT* incx,
             MKL_Complex8* y, const MKL_INT* incy, float* c,
             const MKL_INT* incc ) NOTHROW;
void CLARGV_( const MKL_INT* n, MKL_Complex8* x, const MKL_INT* incx,
              MKL_Complex8* y, const MKL_INT* incy, float* c,
              const MKL_INT* incc ) NOTHROW;
void clargv( const MKL_INT* n, MKL_Complex8* x, const MKL_INT* incx,
             MKL_Complex8* y, const MKL_INT* incy, float* c,
             const MKL_INT* incc ) NOTHROW;
void clargv_( const MKL_INT* n, MKL_Complex8* x, const MKL_INT* incx,
              MKL_Complex8* y, const MKL_INT* incy, float* c,
              const MKL_INT* incc ) NOTHROW;

void CLARNV( const MKL_INT* idist, MKL_INT* iseed, const MKL_INT* n,
             MKL_Complex8* x ) NOTHROW;
void CLARNV_( const MKL_INT* idist, MKL_INT* iseed, const MKL_INT* n,
              MKL_Complex8* x ) NOTHROW;
void clarnv( const MKL_INT* idist, MKL_INT* iseed, const MKL_INT* n,
             MKL_Complex8* x ) NOTHROW;
void clarnv_( const MKL_INT* idist, MKL_INT* iseed, const MKL_INT* n,
              MKL_Complex8* x ) NOTHROW;

void CLARRV( const MKL_INT* n, const float* vl, const float* vu, float* d,
             float* l, float* pivmin, const MKL_INT* isplit, const MKL_INT* m,
             const MKL_INT* dol, const MKL_INT* dou, const float* minrgp,
             const float* rtol1, const float* rtol2, float* w, float* werr,
             float* wgap, const MKL_INT* iblock, const MKL_INT* indexw,
             const float* gers, MKL_Complex8* z, const MKL_INT* ldz,
             MKL_INT* isuppz, float* work, MKL_INT* iwork, MKL_INT* info ) NOTHROW;
void CLARRV_( const MKL_INT* n, const float* vl, const float* vu, float* d,
              float* l, float* pivmin, const MKL_INT* isplit, const MKL_INT* m,
              const MKL_INT* dol, const MKL_INT* dou, const float* minrgp,
              const float* rtol1, const float* rtol2, float* w, float* werr,
              float* wgap, const MKL_INT* iblock, const MKL_INT* indexw,
              const float* gers, MKL_Complex8* z, const MKL_INT* ldz,
              MKL_INT* isuppz, float* work, MKL_INT* iwork, MKL_INT* info ) NOTHROW;
void clarrv( const MKL_INT* n, const float* vl, const float* vu, float* d,
             float* l, float* pivmin, const MKL_INT* isplit, const MKL_INT* m,
             const MKL_INT* dol, const MKL_INT* dou, const float* minrgp,
             const float* rtol1, const float* rtol2, float* w, float* werr,
             float* wgap, const MKL_INT* iblock, const MKL_INT* indexw,
             const float* gers, MKL_Complex8* z, const MKL_INT* ldz,
             MKL_INT* isuppz, float* work, MKL_INT* iwork, MKL_INT* info ) NOTHROW;
void clarrv_( const MKL_INT* n, const float* vl, const float* vu, float* d,
              float* l, float* pivmin, const MKL_INT* isplit, const MKL_INT* m,
              const MKL_INT* dol, const MKL_INT* dou, const float* minrgp,
              const float* rtol1, const float* rtol2, float* w, float* werr,
              float* wgap, const MKL_INT* iblock, const MKL_INT* indexw,
              const float* gers, MKL_Complex8* z, const MKL_INT* ldz,
              MKL_INT* isuppz, float* work, MKL_INT* iwork, MKL_INT* info ) NOTHROW;

void CLARSCL2( const MKL_INT* m, const MKL_INT* n, const float* d, MKL_Complex8* x,
               const MKL_INT* ldx ) NOTHROW;
void CLARSCL2_( const MKL_INT* m, const MKL_INT* n, const float* d, MKL_Complex8* x,
                const MKL_INT* ldx ) NOTHROW;
void clarscl2( const MKL_INT* m, const MKL_INT* n, const float* d, MKL_Complex8* x,
               const MKL_INT* ldx ) NOTHROW;
void clarscl2_( const MKL_INT* m, const MKL_INT* n, const float* d, MKL_Complex8* x,
               const MKL_INT* ldx ) NOTHROW;

void CLARTG( const MKL_Complex8* f, const MKL_Complex8* g, float* cs,
             MKL_Complex8* sn, MKL_Complex8* r ) NOTHROW;
void CLARTG_( const MKL_Complex8* f, const MKL_Complex8* g, float* cs,
              MKL_Complex8* sn, MKL_Complex8* r ) NOTHROW;
void clartg( const MKL_Complex8* f, const MKL_Complex8* g, float* cs,
             MKL_Complex8* sn, MKL_Complex8* r ) NOTHROW;
void clartg_( const MKL_Complex8* f, const MKL_Complex8* g, float* cs,
              MKL_Complex8* sn, MKL_Complex8* r ) NOTHROW;

void CLARTV( const MKL_INT* n, MKL_Complex8* x, const MKL_INT* incx,
             MKL_Complex8* y, const MKL_INT* incy, const float* c,
             const MKL_Complex8* s, const MKL_INT* incc ) NOTHROW;
void CLARTV_( const MKL_INT* n, MKL_Complex8* x, const MKL_INT* incx,
              MKL_Complex8* y, const MKL_INT* incy, const float* c,
              const MKL_Complex8* s, const MKL_INT* incc ) NOTHROW;
void clartv( const MKL_INT* n, MKL_Complex8* x, const MKL_INT* incx,
             MKL_Complex8* y, const MKL_INT* incy, const float* c,
             const MKL_Complex8* s, const MKL_INT* incc ) NOTHROW;
void clartv_( const MKL_INT* n, MKL_Complex8* x, const MKL_INT* incx,
              MKL_Complex8* y, const MKL_INT* incy, const float* c,
              const MKL_Complex8* s, const MKL_INT* incc ) NOTHROW;

void CLARZB( const char* side, const char* trans, const char* direct,
             const char* storev, const MKL_INT* m, const MKL_INT* n,
             const MKL_INT* k, const MKL_INT* l, const MKL_Complex8* v,
             const MKL_INT* ldv, const MKL_Complex8* t, const MKL_INT* ldt,
             MKL_Complex8* c, const MKL_INT* ldc, MKL_Complex8* work,
             const MKL_INT* ldwork ) NOTHROW;
void CLARZB_( const char* side, const char* trans, const char* direct,
              const char* storev, const MKL_INT* m, const MKL_INT* n,
              const MKL_INT* k, const MKL_INT* l, const MKL_Complex8* v,
              const MKL_INT* ldv, const MKL_Complex8* t, const MKL_INT* ldt,
              MKL_Complex8* c, const MKL_INT* ldc, MKL_Complex8* work,
              const MKL_INT* ldwork ) NOTHROW;
void clarzb( const char* side, const char* trans, const char* direct,
             const char* storev, const MKL_INT* m, const MKL_INT* n,
             const MKL_INT* k, const MKL_INT* l, const MKL_Complex8* v,
             const MKL_INT* ldv, const MKL_Complex8* t, const MKL_INT* ldt,
             MKL_Complex8* c, const MKL_INT* ldc, MKL_Complex8* work,
             const MKL_INT* ldwork ) NOTHROW;
void clarzb_( const char* side, const char* trans, const char* direct,
              const char* storev, const MKL_INT* m, const MKL_INT* n,
              const MKL_INT* k, const MKL_INT* l, const MKL_Complex8* v,
              const MKL_INT* ldv, const MKL_Complex8* t, const MKL_INT* ldt,
              MKL_Complex8* c, const MKL_INT* ldc, MKL_Complex8* work,
              const MKL_INT* ldwork ) NOTHROW;

void CLARZ( const char* side, const MKL_INT* m, const MKL_INT* n,
            const MKL_INT* l, const MKL_Complex8* v, const MKL_INT* incv,
            const MKL_Complex8* tau, MKL_Complex8* c, const MKL_INT* ldc,
            MKL_Complex8* work ) NOTHROW;
void CLARZ_( const char* side, const MKL_INT* m, const MKL_INT* n,
             const MKL_INT* l, const MKL_Complex8* v, const MKL_INT* incv,
             const MKL_Complex8* tau, MKL_Complex8* c, const MKL_INT* ldc,
             MKL_Complex8* work ) NOTHROW;
void clarz( const char* side, const MKL_INT* m, const MKL_INT* n,
            const MKL_INT* l, const MKL_Complex8* v, const MKL_INT* incv,
            const MKL_Complex8* tau, MKL_Complex8* c, const MKL_INT* ldc,
            MKL_Complex8* work ) NOTHROW;
void clarz_( const char* side, const MKL_INT* m, const MKL_INT* n,
             const MKL_INT* l, const MKL_Complex8* v, const MKL_INT* incv,
             const MKL_Complex8* tau, MKL_Complex8* c, const MKL_INT* ldc,
             MKL_Complex8* work ) NOTHROW;

void CLARZT( const char* direct, const char* storev, const MKL_INT* n,
             const MKL_INT* k, MKL_Complex8* v, const MKL_INT* ldv,
             const MKL_Complex8* tau, MKL_Complex8* t, const MKL_INT* ldt ) NOTHROW;
void CLARZT_( const char* direct, const char* storev, const MKL_INT* n,
              const MKL_INT* k, MKL_Complex8* v, const MKL_INT* ldv,
              const MKL_Complex8* tau, MKL_Complex8* t, const MKL_INT* ldt ) NOTHROW;
void clarzt( const char* direct, const char* storev, const MKL_INT* n,
             const MKL_INT* k, MKL_Complex8* v, const MKL_INT* ldv,
             const MKL_Complex8* tau, MKL_Complex8* t, const MKL_INT* ldt ) NOTHROW;
void clarzt_( const char* direct, const char* storev, const MKL_INT* n,
              const MKL_INT* k, MKL_Complex8* v, const MKL_INT* ldv,
              const MKL_Complex8* tau, MKL_Complex8* t, const MKL_INT* ldt ) NOTHROW;

void CLASCL( const char* type, const MKL_INT* kl, const MKL_INT* ku,
             const float* cfrom, const float* cto, const MKL_INT* m,
             const MKL_INT* n, MKL_Complex8* a, const MKL_INT* lda,
             MKL_INT* info ) NOTHROW;
void CLASCL_( const char* type, const MKL_INT* kl, const MKL_INT* ku,
              const float* cfrom, const float* cto, const MKL_INT* m,
              const MKL_INT* n, MKL_Complex8* a, const MKL_INT* lda,
              MKL_INT* info ) NOTHROW;
void clascl( const char* type, const MKL_INT* kl, const MKL_INT* ku,
             const float* cfrom, const float* cto, const MKL_INT* m,
             const MKL_INT* n, MKL_Complex8* a, const MKL_INT* lda,
             MKL_INT* info ) NOTHROW;
void clascl_( const char* type, const MKL_INT* kl, const MKL_INT* ku,
              const float* cfrom, const float* cto, const MKL_INT* m,
              const MKL_INT* n, MKL_Complex8* a, const MKL_INT* lda,
              MKL_INT* info ) NOTHROW;

void CLASCL2( const MKL_INT* m, const MKL_INT* n, const float* d, MKL_Complex8* x,
              const MKL_INT* ldx ) NOTHROW;
void CLASCL2_( const MKL_INT* m, const MKL_INT* n, const float* d, MKL_Complex8* x,
               const MKL_INT* ldx ) NOTHROW;
void clascl2( const MKL_INT* m, const MKL_INT* n, const float* d, MKL_Complex8* x,
              const MKL_INT* ldx ) NOTHROW;
void clascl2_( const MKL_INT* m, const MKL_INT* n, const float* d, MKL_Complex8* x,
               const MKL_INT* ldx ) NOTHROW;

void CLASET( const char* uplo, const MKL_INT* m, const MKL_INT* n,
             const MKL_Complex8* alpha, const MKL_Complex8* beta,
             MKL_Complex8* a, const MKL_INT* lda ) NOTHROW;
void CLASET_( const char* uplo, const MKL_INT* m, const MKL_INT* n,
              const MKL_Complex8* alpha, const MKL_Complex8* beta,
              MKL_Complex8* a, const MKL_INT* lda ) NOTHROW;
void claset( const char* uplo, const MKL_INT* m, const MKL_INT* n,
             const MKL_Complex8* alpha, const MKL_Complex8* beta,
             MKL_Complex8* a, const MKL_INT* lda ) NOTHROW;
void claset_( const char* uplo, const MKL_INT* m, const MKL_INT* n,
              const MKL_Complex8* alpha, const MKL_Complex8* beta,
              MKL_Complex8* a, const MKL_INT* lda ) NOTHROW;

void CLASR( const char* side, const char* pivot, const char* direct,
            const MKL_INT* m, const MKL_INT* n, const float* c, const float* s,
            MKL_Complex8* a, const MKL_INT* lda ) NOTHROW;
void CLASR_( const char* side, const char* pivot, const char* direct,
             const MKL_INT* m, const MKL_INT* n, const float* c,
             const float* s, MKL_Complex8* a, const MKL_INT* lda ) NOTHROW;
void clasr( const char* side, const char* pivot, const char* direct,
            const MKL_INT* m, const MKL_INT* n, const float* c, const float* s,
            MKL_Complex8* a, const MKL_INT* lda ) NOTHROW;
void clasr_( const char* side, const char* pivot, const char* direct,
             const MKL_INT* m, const MKL_INT* n, const float* c,
             const float* s, MKL_Complex8* a, const MKL_INT* lda ) NOTHROW;

void CLASSQ( const MKL_INT* n, const MKL_Complex8* x, const MKL_INT* incx,
             float* scale, float* sumsq ) NOTHROW;
void CLASSQ_( const MKL_INT* n, const MKL_Complex8* x, const MKL_INT* incx,
              float* scale, float* sumsq ) NOTHROW;
void classq( const MKL_INT* n, const MKL_Complex8* x, const MKL_INT* incx,
             float* scale, float* sumsq ) NOTHROW;
void classq_( const MKL_INT* n, const MKL_Complex8* x, const MKL_INT* incx,
              float* scale, float* sumsq ) NOTHROW;

void CLASWP( const MKL_INT* n, MKL_Complex8* a, const MKL_INT* lda,
             const MKL_INT* k1, const MKL_INT* k2, const MKL_INT* ipiv,
             const MKL_INT* incx ) NOTHROW;
void CLASWP_( const MKL_INT* n, MKL_Complex8* a, const MKL_INT* lda,
              const MKL_INT* k1, const MKL_INT* k2, const MKL_INT* ipiv,
              const MKL_INT* incx ) NOTHROW;
void claswp( const MKL_INT* n, MKL_Complex8* a, const MKL_INT* lda,
             const MKL_INT* k1, const MKL_INT* k2, const MKL_INT* ipiv,
             const MKL_INT* incx ) NOTHROW;
void claswp_( const MKL_INT* n, MKL_Complex8* a, const MKL_INT* lda,
              const MKL_INT* k1, const MKL_INT* k2, const MKL_INT* ipiv,
              const MKL_INT* incx ) NOTHROW;

void CLASYF( const char* uplo, const MKL_INT* n, const MKL_INT* nb,
             MKL_INT* kb, MKL_Complex8* a, const MKL_INT* lda, MKL_INT* ipiv,
             MKL_Complex8* w, const MKL_INT* ldw, MKL_INT* info ) NOTHROW;
void CLASYF_( const char* uplo, const MKL_INT* n, const MKL_INT* nb,
              MKL_INT* kb, MKL_Complex8* a, const MKL_INT* lda, MKL_INT* ipiv,
              MKL_Complex8* w, const MKL_INT* ldw, MKL_INT* info ) NOTHROW;
void clasyf( const char* uplo, const MKL_INT* n, const MKL_INT* nb,
             MKL_INT* kb, MKL_Complex8* a, const MKL_INT* lda, MKL_INT* ipiv,
             MKL_Complex8* w, const MKL_INT* ldw, MKL_INT* info ) NOTHROW;
void clasyf_( const char* uplo, const MKL_INT* n, const MKL_INT* nb,
              MKL_INT* kb, MKL_Complex8* a, const MKL_INT* lda, MKL_INT* ipiv,
              MKL_Complex8* w, const MKL_INT* ldw, MKL_INT* info ) NOTHROW;

void CLATBS( const char* uplo, const char* trans, const char* diag,
             const char* normin, const MKL_INT* n, const MKL_INT* kd,
             const MKL_Complex8* ab, const MKL_INT* ldab, MKL_Complex8* x,
             float* scale, float* cnorm, MKL_INT* info ) NOTHROW;
void CLATBS_( const char* uplo, const char* trans, const char* diag,
              const char* normin, const MKL_INT* n, const MKL_INT* kd,
              const MKL_Complex8* ab, const MKL_INT* ldab, MKL_Complex8* x,
              float* scale, float* cnorm, MKL_INT* info ) NOTHROW;
void clatbs( const char* uplo, const char* trans, const char* diag,
             const char* normin, const MKL_INT* n, const MKL_INT* kd,
             const MKL_Complex8* ab, const MKL_INT* ldab, MKL_Complex8* x,
             float* scale, float* cnorm, MKL_INT* info ) NOTHROW;
void clatbs_( const char* uplo, const char* trans, const char* diag,
              const char* normin, const MKL_INT* n, const MKL_INT* kd,
              const MKL_Complex8* ab, const MKL_INT* ldab, MKL_Complex8* x,
              float* scale, float* cnorm, MKL_INT* info ) NOTHROW;

void CLATDF( const MKL_INT* ijob, const MKL_INT* n, const MKL_Complex8* z,
             const MKL_INT* ldz, MKL_Complex8* rhs, float* rdsum,
             float* rdscal, const MKL_INT* ipiv, const MKL_INT* jpiv ) NOTHROW;
void CLATDF_( const MKL_INT* ijob, const MKL_INT* n, const MKL_Complex8* z,
              const MKL_INT* ldz, MKL_Complex8* rhs, float* rdsum,
              float* rdscal, const MKL_INT* ipiv, const MKL_INT* jpiv ) NOTHROW;
void clatdf( const MKL_INT* ijob, const MKL_INT* n, const MKL_Complex8* z,
             const MKL_INT* ldz, MKL_Complex8* rhs, float* rdsum,
             float* rdscal, const MKL_INT* ipiv, const MKL_INT* jpiv ) NOTHROW;
void clatdf_( const MKL_INT* ijob, const MKL_INT* n, const MKL_Complex8* z,
              const MKL_INT* ldz, MKL_Complex8* rhs, float* rdsum,
              float* rdscal, const MKL_INT* ipiv, const MKL_INT* jpiv ) NOTHROW;

void CLATPS( const char* uplo, const char* trans, const char* diag,
             const char* normin, const MKL_INT* n, const MKL_Complex8* ap,
             MKL_Complex8* x, float* scale, float* cnorm, MKL_INT* info ) NOTHROW;
void CLATPS_( const char* uplo, const char* trans, const char* diag,
              const char* normin, const MKL_INT* n, const MKL_Complex8* ap,
              MKL_Complex8* x, float* scale, float* cnorm, MKL_INT* info ) NOTHROW;
void clatps( const char* uplo, const char* trans, const char* diag,
             const char* normin, const MKL_INT* n, const MKL_Complex8* ap,
             MKL_Complex8* x, float* scale, float* cnorm, MKL_INT* info ) NOTHROW;
void clatps_( const char* uplo, const char* trans, const char* diag,
              const char* normin, const MKL_INT* n, const MKL_Complex8* ap,
              MKL_Complex8* x, float* scale, float* cnorm, MKL_INT* info ) NOTHROW;

void CLATRD( const char* uplo, const MKL_INT* n, const MKL_INT* nb,
             MKL_Complex8* a, const MKL_INT* lda, float* e, MKL_Complex8* tau,
             MKL_Complex8* w, const MKL_INT* ldw ) NOTHROW;
void CLATRD_( const char* uplo, const MKL_INT* n, const MKL_INT* nb,
              MKL_Complex8* a, const MKL_INT* lda, float* e, MKL_Complex8* tau,
              MKL_Complex8* w, const MKL_INT* ldw ) NOTHROW;
void clatrd( const char* uplo, const MKL_INT* n, const MKL_INT* nb,
             MKL_Complex8* a, const MKL_INT* lda, float* e, MKL_Complex8* tau,
             MKL_Complex8* w, const MKL_INT* ldw ) NOTHROW;
void clatrd_( const char* uplo, const MKL_INT* n, const MKL_INT* nb,
              MKL_Complex8* a, const MKL_INT* lda, float* e, MKL_Complex8* tau,
              MKL_Complex8* w, const MKL_INT* ldw ) NOTHROW;

void CLATRS( const char* uplo, const char* trans, const char* diag,
             const char* normin, const MKL_INT* n, const MKL_Complex8* a,
             const MKL_INT* lda, MKL_Complex8* x, float* scale, float* cnorm,
             MKL_INT* info ) NOTHROW;
void CLATRS_( const char* uplo, const char* trans, const char* diag,
              const char* normin, const MKL_INT* n, const MKL_Complex8* a,
              const MKL_INT* lda, MKL_Complex8* x, float* scale, float* cnorm,
              MKL_INT* info ) NOTHROW;
void clatrs( const char* uplo, const char* trans, const char* diag,
             const char* normin, const MKL_INT* n, const MKL_Complex8* a,
             const MKL_INT* lda, MKL_Complex8* x, float* scale, float* cnorm,
             MKL_INT* info ) NOTHROW;
void clatrs_( const char* uplo, const char* trans, const char* diag,
              const char* normin, const MKL_INT* n, const MKL_Complex8* a,
              const MKL_INT* lda, MKL_Complex8* x, float* scale, float* cnorm,
              MKL_INT* info ) NOTHROW;

void CLATRZ( const MKL_INT* m, const MKL_INT* n, const MKL_INT* l,
             MKL_Complex8* a, const MKL_INT* lda, MKL_Complex8* tau,
             MKL_Complex8* work ) NOTHROW;
void CLATRZ_( const MKL_INT* m, const MKL_INT* n, const MKL_INT* l,
              MKL_Complex8* a, const MKL_INT* lda, MKL_Complex8* tau,
              MKL_Complex8* work ) NOTHROW;
void clatrz( const MKL_INT* m, const MKL_INT* n, const MKL_INT* l,
             MKL_Complex8* a, const MKL_INT* lda, MKL_Complex8* tau,
             MKL_Complex8* work ) NOTHROW;
void clatrz_( const MKL_INT* m, const MKL_INT* n, const MKL_INT* l,
              MKL_Complex8* a, const MKL_INT* lda, MKL_Complex8* tau,
              MKL_Complex8* work ) NOTHROW;

void CLATZM( const char* side, const MKL_INT* m, const MKL_INT* n,
             const MKL_Complex8* v, const MKL_INT* incv,
             const MKL_Complex8* tau, MKL_Complex8* c1, MKL_Complex8* c2,
             const MKL_INT* ldc, MKL_Complex8* work ) NOTHROW;
void CLATZM_( const char* side, const MKL_INT* m, const MKL_INT* n,
              const MKL_Complex8* v, const MKL_INT* incv,
              const MKL_Complex8* tau, MKL_Complex8* c1, MKL_Complex8* c2,
              const MKL_INT* ldc, MKL_Complex8* work ) NOTHROW;
void clatzm( const char* side, const MKL_INT* m, const MKL_INT* n,
             const MKL_Complex8* v, const MKL_INT* incv,
             const MKL_Complex8* tau, MKL_Complex8* c1, MKL_Complex8* c2,
             const MKL_INT* ldc, MKL_Complex8* work ) NOTHROW;
void clatzm_( const char* side, const MKL_INT* m, const MKL_INT* n,
              const MKL_Complex8* v, const MKL_INT* incv,
              const MKL_Complex8* tau, MKL_Complex8* c1, MKL_Complex8* c2,
              const MKL_INT* ldc, MKL_Complex8* work ) NOTHROW;

void CLAUU2( const char* uplo, const MKL_INT* n, MKL_Complex8* a,
             const MKL_INT* lda, MKL_INT* info ) NOTHROW;
void CLAUU2_( const char* uplo, const MKL_INT* n, MKL_Complex8* a,
              const MKL_INT* lda, MKL_INT* info ) NOTHROW;
void clauu2( const char* uplo, const MKL_INT* n, MKL_Complex8* a,
             const MKL_INT* lda, MKL_INT* info ) NOTHROW;
void clauu2_( const char* uplo, const MKL_INT* n, MKL_Complex8* a,
              const MKL_INT* lda, MKL_INT* info ) NOTHROW;

void CLAUUM( const char* uplo, const MKL_INT* n, MKL_Complex8* a,
             const MKL_INT* lda, MKL_INT* info ) NOTHROW;
void CLAUUM_( const char* uplo, const MKL_INT* n, MKL_Complex8* a,
              const MKL_INT* lda, MKL_INT* info ) NOTHROW;
void clauum( const char* uplo, const MKL_INT* n, MKL_Complex8* a,
             const MKL_INT* lda, MKL_INT* info ) NOTHROW;
void clauum_( const char* uplo, const MKL_INT* n, MKL_Complex8* a,
              const MKL_INT* lda, MKL_INT* info ) NOTHROW;

void CPBCON( const char* uplo, const MKL_INT* n, const MKL_INT* kd,
             const MKL_Complex8* ab, const MKL_INT* ldab, const float* anorm,
             float* rcond, MKL_Complex8* work, float* rwork, MKL_INT* info ) NOTHROW;
void CPBCON_( const char* uplo, const MKL_INT* n, const MKL_INT* kd,
              const MKL_Complex8* ab, const MKL_INT* ldab, const float* anorm,
              float* rcond, MKL_Complex8* work, float* rwork, MKL_INT* info ) NOTHROW;
void cpbcon( const char* uplo, const MKL_INT* n, const MKL_INT* kd,
             const MKL_Complex8* ab, const MKL_INT* ldab, const float* anorm,
             float* rcond, MKL_Complex8* work, float* rwork, MKL_INT* info ) NOTHROW;
void cpbcon_( const char* uplo, const MKL_INT* n, const MKL_INT* kd,
              const MKL_Complex8* ab, const MKL_INT* ldab, const float* anorm,
              float* rcond, MKL_Complex8* work, float* rwork, MKL_INT* info ) NOTHROW;

void CPBEQU( const char* uplo, const MKL_INT* n, const MKL_INT* kd,
             const MKL_Complex8* ab, const MKL_INT* ldab, float* s,
             float* scond, float* amax, MKL_INT* info ) NOTHROW;
void CPBEQU_( const char* uplo, const MKL_INT* n, const MKL_INT* kd,
              const MKL_Complex8* ab, const MKL_INT* ldab, float* s,
              float* scond, float* amax, MKL_INT* info ) NOTHROW;
void cpbequ( const char* uplo, const MKL_INT* n, const MKL_INT* kd,
             const MKL_Complex8* ab, const MKL_INT* ldab, float* s,
             float* scond, float* amax, MKL_INT* info ) NOTHROW;
void cpbequ_( const char* uplo, const MKL_INT* n, const MKL_INT* kd,
              const MKL_Complex8* ab, const MKL_INT* ldab, float* s,
              float* scond, float* amax, MKL_INT* info ) NOTHROW;

void CPBRFS( const char* uplo, const MKL_INT* n, const MKL_INT* kd,
             const MKL_INT* nrhs, const MKL_Complex8* ab, const MKL_INT* ldab,
             const MKL_Complex8* afb, const MKL_INT* ldafb,
             const MKL_Complex8* b, const MKL_INT* ldb, MKL_Complex8* x,
             const MKL_INT* ldx, float* ferr, float* berr, MKL_Complex8* work,
             float* rwork, MKL_INT* info ) NOTHROW;
void CPBRFS_( const char* uplo, const MKL_INT* n, const MKL_INT* kd,
              const MKL_INT* nrhs, const MKL_Complex8* ab, const MKL_INT* ldab,
              const MKL_Complex8* afb, const MKL_INT* ldafb,
              const MKL_Complex8* b, const MKL_INT* ldb, MKL_Complex8* x,
              const MKL_INT* ldx, float* ferr, float* berr, MKL_Complex8* work,
              float* rwork, MKL_INT* info ) NOTHROW;
void cpbrfs( const char* uplo, const MKL_INT* n, const MKL_INT* kd,
             const MKL_INT* nrhs, const MKL_Complex8* ab, const MKL_INT* ldab,
             const MKL_Complex8* afb, const MKL_INT* ldafb,
             const MKL_Complex8* b, const MKL_INT* ldb, MKL_Complex8* x,
             const MKL_INT* ldx, float* ferr, float* berr, MKL_Complex8* work,
             float* rwork, MKL_INT* info ) NOTHROW;
void cpbrfs_( const char* uplo, const MKL_INT* n, const MKL_INT* kd,
              const MKL_INT* nrhs, const MKL_Complex8* ab, const MKL_INT* ldab,
              const MKL_Complex8* afb, const MKL_INT* ldafb,
              const MKL_Complex8* b, const MKL_INT* ldb, MKL_Complex8* x,
              const MKL_INT* ldx, float* ferr, float* berr, MKL_Complex8* work,
              float* rwork, MKL_INT* info ) NOTHROW;

void CPBSTF( const char* uplo, const MKL_INT* n, const MKL_INT* kd,
             MKL_Complex8* ab, const MKL_INT* ldab, MKL_INT* info ) NOTHROW;
void CPBSTF_( const char* uplo, const MKL_INT* n, const MKL_INT* kd,
              MKL_Complex8* ab, const MKL_INT* ldab, MKL_INT* info ) NOTHROW;
void cpbstf( const char* uplo, const MKL_INT* n, const MKL_INT* kd,
             MKL_Complex8* ab, const MKL_INT* ldab, MKL_INT* info ) NOTHROW;
void cpbstf_( const char* uplo, const MKL_INT* n, const MKL_INT* kd,
              MKL_Complex8* ab, const MKL_INT* ldab, MKL_INT* info ) NOTHROW;

void CPBSV( const char* uplo, const MKL_INT* n, const MKL_INT* kd,
            const MKL_INT* nrhs, MKL_Complex8* ab, const MKL_INT* ldab,
            MKL_Complex8* b, const MKL_INT* ldb, MKL_INT* info ) NOTHROW;
void CPBSV_( const char* uplo, const MKL_INT* n, const MKL_INT* kd,
             const MKL_INT* nrhs, MKL_Complex8* ab, const MKL_INT* ldab,
             MKL_Complex8* b, const MKL_INT* ldb, MKL_INT* info ) NOTHROW;
void cpbsv( const char* uplo, const MKL_INT* n, const MKL_INT* kd,
            const MKL_INT* nrhs, MKL_Complex8* ab, const MKL_INT* ldab,
            MKL_Complex8* b, const MKL_INT* ldb, MKL_INT* info ) NOTHROW;
void cpbsv_( const char* uplo, const MKL_INT* n, const MKL_INT* kd,
             const MKL_INT* nrhs, MKL_Complex8* ab, const MKL_INT* ldab,
             MKL_Complex8* b, const MKL_INT* ldb, MKL_INT* info ) NOTHROW;

void CPBSVX( const char* fact, const char* uplo, const MKL_INT* n,
             const MKL_INT* kd, const MKL_INT* nrhs, MKL_Complex8* ab,
             const MKL_INT* ldab, MKL_Complex8* afb, const MKL_INT* ldafb,
             char* equed, float* s, MKL_Complex8* b, const MKL_INT* ldb,
             MKL_Complex8* x, const MKL_INT* ldx, float* rcond, float* ferr,
             float* berr, MKL_Complex8* work, float* rwork, MKL_INT* info ) NOTHROW;
void CPBSVX_( const char* fact, const char* uplo, const MKL_INT* n,
              const MKL_INT* kd, const MKL_INT* nrhs, MKL_Complex8* ab,
              const MKL_INT* ldab, MKL_Complex8* afb, const MKL_INT* ldafb,
              char* equed, float* s, MKL_Complex8* b, const MKL_INT* ldb,
              MKL_Complex8* x, const MKL_INT* ldx, float* rcond, float* ferr,
              float* berr, MKL_Complex8* work, float* rwork, MKL_INT* info ) NOTHROW;
void cpbsvx( const char* fact, const char* uplo, const MKL_INT* n,
             const MKL_INT* kd, const MKL_INT* nrhs, MKL_Complex8* ab,
             const MKL_INT* ldab, MKL_Complex8* afb, const MKL_INT* ldafb,
             char* equed, float* s, MKL_Complex8* b, const MKL_INT* ldb,
             MKL_Complex8* x, const MKL_INT* ldx, float* rcond, float* ferr,
             float* berr, MKL_Complex8* work, float* rwork, MKL_INT* info ) NOTHROW;
void cpbsvx_( const char* fact, const char* uplo, const MKL_INT* n,
              const MKL_INT* kd, const MKL_INT* nrhs, MKL_Complex8* ab,
              const MKL_INT* ldab, MKL_Complex8* afb, const MKL_INT* ldafb,
              char* equed, float* s, MKL_Complex8* b, const MKL_INT* ldb,
              MKL_Complex8* x, const MKL_INT* ldx, float* rcond, float* ferr,
              float* berr, MKL_Complex8* work, float* rwork, MKL_INT* info ) NOTHROW;

void CPBTF2( const char* uplo, const MKL_INT* n, const MKL_INT* kd,
             MKL_Complex8* ab, const MKL_INT* ldab, MKL_INT* info ) NOTHROW;
void CPBTF2_( const char* uplo, const MKL_INT* n, const MKL_INT* kd,
              MKL_Complex8* ab, const MKL_INT* ldab, MKL_INT* info ) NOTHROW;
void cpbtf2( const char* uplo, const MKL_INT* n, const MKL_INT* kd,
             MKL_Complex8* ab, const MKL_INT* ldab, MKL_INT* info ) NOTHROW;
void cpbtf2_( const char* uplo, const MKL_INT* n, const MKL_INT* kd,
              MKL_Complex8* ab, const MKL_INT* ldab, MKL_INT* info ) NOTHROW;

void CPBTRF( const char* uplo, const MKL_INT* n, const MKL_INT* kd,
             MKL_Complex8* ab, const MKL_INT* ldab, MKL_INT* info ) NOTHROW;
void CPBTRF_( const char* uplo, const MKL_INT* n, const MKL_INT* kd,
              MKL_Complex8* ab, const MKL_INT* ldab, MKL_INT* info ) NOTHROW;
void cpbtrf( const char* uplo, const MKL_INT* n, const MKL_INT* kd,
             MKL_Complex8* ab, const MKL_INT* ldab, MKL_INT* info ) NOTHROW;
void cpbtrf_( const char* uplo, const MKL_INT* n, const MKL_INT* kd,
              MKL_Complex8* ab, const MKL_INT* ldab, MKL_INT* info ) NOTHROW;

void CPBTRS( const char* uplo, const MKL_INT* n, const MKL_INT* kd,
             const MKL_INT* nrhs, const MKL_Complex8* ab, const MKL_INT* ldab,
             MKL_Complex8* b, const MKL_INT* ldb, MKL_INT* info ) NOTHROW;
void CPBTRS_( const char* uplo, const MKL_INT* n, const MKL_INT* kd,
              const MKL_INT* nrhs, const MKL_Complex8* ab, const MKL_INT* ldab,
              MKL_Complex8* b, const MKL_INT* ldb, MKL_INT* info ) NOTHROW;
void cpbtrs( const char* uplo, const MKL_INT* n, const MKL_INT* kd,
             const MKL_INT* nrhs, const MKL_Complex8* ab, const MKL_INT* ldab,
             MKL_Complex8* b, const MKL_INT* ldb, MKL_INT* info ) NOTHROW;
void cpbtrs_( const char* uplo, const MKL_INT* n, const MKL_INT* kd,
              const MKL_INT* nrhs, const MKL_Complex8* ab, const MKL_INT* ldab,
              MKL_Complex8* b, const MKL_INT* ldb, MKL_INT* info ) NOTHROW;

void CPFTRF( const char* transr, const char* uplo, const MKL_INT* n,
             MKL_Complex8* a, MKL_INT* info ) NOTHROW;
void CPFTRF_( const char* transr, const char* uplo, const MKL_INT* n,
              MKL_Complex8* a, MKL_INT* info ) NOTHROW;
void cpftrf( const char* transr, const char* uplo, const MKL_INT* n,
             MKL_Complex8* a, MKL_INT* info ) NOTHROW;
void cpftrf_( const char* transr, const char* uplo, const MKL_INT* n,
              MKL_Complex8* a, MKL_INT* info ) NOTHROW;

void CPFTRI( const char* transr, const char* uplo, const MKL_INT* n,
             MKL_Complex8* a, MKL_INT* info ) NOTHROW;
void CPFTRI_( const char* transr, const char* uplo, const MKL_INT* n,
              MKL_Complex8* a, MKL_INT* info ) NOTHROW;
void cpftri( const char* transr, const char* uplo, const MKL_INT* n,
             MKL_Complex8* a, MKL_INT* info ) NOTHROW;
void cpftri_( const char* transr, const char* uplo, const MKL_INT* n,
              MKL_Complex8* a, MKL_INT* info ) NOTHROW;

void CPFTRS( const char* transr, const char* uplo, const MKL_INT* n,
             const MKL_INT* nrhs, const MKL_Complex8* a, MKL_Complex8* b,
             const MKL_INT* ldb, MKL_INT* info ) NOTHROW;
void CPFTRS_( const char* transr, const char* uplo, const MKL_INT* n,
              const MKL_INT* nrhs, const MKL_Complex8* a, MKL_Complex8* b,
              const MKL_INT* ldb, MKL_INT* info ) NOTHROW;
void cpftrs( const char* transr, const char* uplo, const MKL_INT* n,
             const MKL_INT* nrhs, const MKL_Complex8* a, MKL_Complex8* b,
             const MKL_INT* ldb, MKL_INT* info ) NOTHROW;
void cpftrs_( const char* transr, const char* uplo, const MKL_INT* n,
              const MKL_INT* nrhs, const MKL_Complex8* a, MKL_Complex8* b,
              const MKL_INT* ldb, MKL_INT* info ) NOTHROW;

void CPOCON( const char* uplo, const MKL_INT* n, const MKL_Complex8* a,
             const MKL_INT* lda, const float* anorm, float* rcond,
             MKL_Complex8* work, float* rwork, MKL_INT* info ) NOTHROW;
void CPOCON_( const char* uplo, const MKL_INT* n, const MKL_Complex8* a,
              const MKL_INT* lda, const float* anorm, float* rcond,
              MKL_Complex8* work, float* rwork, MKL_INT* info ) NOTHROW;
void cpocon( const char* uplo, const MKL_INT* n, const MKL_Complex8* a,
             const MKL_INT* lda, const float* anorm, float* rcond,
             MKL_Complex8* work, float* rwork, MKL_INT* info ) NOTHROW;
void cpocon_( const char* uplo, const MKL_INT* n, const MKL_Complex8* a,
              const MKL_INT* lda, const float* anorm, float* rcond,
              MKL_Complex8* work, float* rwork, MKL_INT* info ) NOTHROW;

void CPOEQUB( const MKL_INT* n, const MKL_Complex8* a, const MKL_INT* lda,
              float* s, float* scond, float* amax, MKL_INT* info ) NOTHROW;
void CPOEQUB_( const MKL_INT* n, const MKL_Complex8* a, const MKL_INT* lda,
               float* s, float* scond, float* amax, MKL_INT* info ) NOTHROW;
void cpoequb( const MKL_INT* n, const MKL_Complex8* a, const MKL_INT* lda,
              float* s, float* scond, float* amax, MKL_INT* info ) NOTHROW;
void cpoequb_( const MKL_INT* n, const MKL_Complex8* a, const MKL_INT* lda,
               float* s, float* scond, float* amax, MKL_INT* info ) NOTHROW;

void CPOEQU( const MKL_INT* n, const MKL_Complex8* a, const MKL_INT* lda,
             float* s, float* scond, float* amax, MKL_INT* info ) NOTHROW;
void CPOEQU_( const MKL_INT* n, const MKL_Complex8* a, const MKL_INT* lda,
              float* s, float* scond, float* amax, MKL_INT* info ) NOTHROW;
void cpoequ( const MKL_INT* n, const MKL_Complex8* a, const MKL_INT* lda,
             float* s, float* scond, float* amax, MKL_INT* info ) NOTHROW;
void cpoequ_( const MKL_INT* n, const MKL_Complex8* a, const MKL_INT* lda,
              float* s, float* scond, float* amax, MKL_INT* info ) NOTHROW;

void CPORFS( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs,
             const MKL_Complex8* a, const MKL_INT* lda, const MKL_Complex8* af,
             const MKL_INT* ldaf, const MKL_Complex8* b, const MKL_INT* ldb,
             MKL_Complex8* x, const MKL_INT* ldx, float* ferr, float* berr,
             MKL_Complex8* work, float* rwork, MKL_INT* info ) NOTHROW;
void CPORFS_( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs,
              const MKL_Complex8* a, const MKL_INT* lda,
              const MKL_Complex8* af, const MKL_INT* ldaf,
              const MKL_Complex8* b, const MKL_INT* ldb, MKL_Complex8* x,
              const MKL_INT* ldx, float* ferr, float* berr, MKL_Complex8* work,
              float* rwork, MKL_INT* info ) NOTHROW;
void cporfs( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs,
             const MKL_Complex8* a, const MKL_INT* lda, const MKL_Complex8* af,
             const MKL_INT* ldaf, const MKL_Complex8* b, const MKL_INT* ldb,
             MKL_Complex8* x, const MKL_INT* ldx, float* ferr, float* berr,
             MKL_Complex8* work, float* rwork, MKL_INT* info ) NOTHROW;
void cporfs_( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs,
              const MKL_Complex8* a, const MKL_INT* lda,
              const MKL_Complex8* af, const MKL_INT* ldaf,
              const MKL_Complex8* b, const MKL_INT* ldb, MKL_Complex8* x,
              const MKL_INT* ldx, float* ferr, float* berr, MKL_Complex8* work,
              float* rwork, MKL_INT* info ) NOTHROW;

void CPORFSX( const char* uplo, const char* equed, const MKL_INT* n,
              const MKL_INT* nrhs, const MKL_Complex8* a, const MKL_INT* lda,
              const MKL_Complex8* af, const MKL_INT* ldaf, float* s,
              const MKL_Complex8* b, const MKL_INT* ldb, MKL_Complex8* x,
              const MKL_INT* ldx, float* rcond, float* berr,
              const MKL_INT* n_err_bnds, float* err_bnds_norm,
              float* err_bnds_comp, const MKL_INT* nparams, float* params,
              MKL_Complex8* work, float* rwork, MKL_INT* info ) NOTHROW;
void CPORFSX_( const char* uplo, const char* equed, const MKL_INT* n,
               const MKL_INT* nrhs, const MKL_Complex8* a, const MKL_INT* lda,
               const MKL_Complex8* af, const MKL_INT* ldaf, float* s,
               const MKL_Complex8* b, const MKL_INT* ldb, MKL_Complex8* x,
               const MKL_INT* ldx, float* rcond, float* berr,
               const MKL_INT* n_err_bnds, float* err_bnds_norm,
               float* err_bnds_comp, const MKL_INT* nparams, float* params,
               MKL_Complex8* work, float* rwork, MKL_INT* info ) NOTHROW;
void cporfsx( const char* uplo, const char* equed, const MKL_INT* n,
              const MKL_INT* nrhs, const MKL_Complex8* a, const MKL_INT* lda,
              const MKL_Complex8* af, const MKL_INT* ldaf, float* s,
              const MKL_Complex8* b, const MKL_INT* ldb, MKL_Complex8* x,
              const MKL_INT* ldx, float* rcond, float* berr,
              const MKL_INT* n_err_bnds, float* err_bnds_norm,
              float* err_bnds_comp, const MKL_INT* nparams, float* params,
              MKL_Complex8* work, float* rwork, MKL_INT* info ) NOTHROW;
void cporfsx_( const char* uplo, const char* equed, const MKL_INT* n,
               const MKL_INT* nrhs, const MKL_Complex8* a, const MKL_INT* lda,
               const MKL_Complex8* af, const MKL_INT* ldaf, float* s,
               const MKL_Complex8* b, const MKL_INT* ldb, MKL_Complex8* x,
               const MKL_INT* ldx, float* rcond, float* berr,
               const MKL_INT* n_err_bnds, float* err_bnds_norm,
               float* err_bnds_comp, const MKL_INT* nparams, float* params,
               MKL_Complex8* work, float* rwork, MKL_INT* info ) NOTHROW;

void CPOSV( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs,
            MKL_Complex8* a, const MKL_INT* lda, MKL_Complex8* b,
            const MKL_INT* ldb, MKL_INT* info ) NOTHROW;
void CPOSV_( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs,
             MKL_Complex8* a, const MKL_INT* lda, MKL_Complex8* b,
             const MKL_INT* ldb, MKL_INT* info ) NOTHROW;
void cposv( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs,
            MKL_Complex8* a, const MKL_INT* lda, MKL_Complex8* b,
            const MKL_INT* ldb, MKL_INT* info ) NOTHROW;
void cposv_( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs,
             MKL_Complex8* a, const MKL_INT* lda, MKL_Complex8* b,
             const MKL_INT* ldb, MKL_INT* info ) NOTHROW;

void CPOSVX( const char* fact, const char* uplo, const MKL_INT* n,
             const MKL_INT* nrhs, MKL_Complex8* a, const MKL_INT* lda,
             MKL_Complex8* af, const MKL_INT* ldaf, char* equed, float* s,
             MKL_Complex8* b, const MKL_INT* ldb, MKL_Complex8* x,
             const MKL_INT* ldx, float* rcond, float* ferr, float* berr,
             MKL_Complex8* work, float* rwork, MKL_INT* info ) NOTHROW;
void CPOSVX_( const char* fact, const char* uplo, const MKL_INT* n,
              const MKL_INT* nrhs, MKL_Complex8* a, const MKL_INT* lda,
              MKL_Complex8* af, const MKL_INT* ldaf, char* equed, float* s,
              MKL_Complex8* b, const MKL_INT* ldb, MKL_Complex8* x,
              const MKL_INT* ldx, float* rcond, float* ferr, float* berr,
              MKL_Complex8* work, float* rwork, MKL_INT* info ) NOTHROW;
void cposvx( const char* fact, const char* uplo, const MKL_INT* n,
             const MKL_INT* nrhs, MKL_Complex8* a, const MKL_INT* lda,
             MKL_Complex8* af, const MKL_INT* ldaf, char* equed, float* s,
             MKL_Complex8* b, const MKL_INT* ldb, MKL_Complex8* x,
             const MKL_INT* ldx, float* rcond, float* ferr, float* berr,
             MKL_Complex8* work, float* rwork, MKL_INT* info ) NOTHROW;
void cposvx_( const char* fact, const char* uplo, const MKL_INT* n,
              const MKL_INT* nrhs, MKL_Complex8* a, const MKL_INT* lda,
              MKL_Complex8* af, const MKL_INT* ldaf, char* equed, float* s,
              MKL_Complex8* b, const MKL_INT* ldb, MKL_Complex8* x,
              const MKL_INT* ldx, float* rcond, float* ferr, float* berr,
              MKL_Complex8* work, float* rwork, MKL_INT* info ) NOTHROW;

void CPOSVXX( const char* fact, const char* uplo, const MKL_INT* n,
              const MKL_INT* nrhs, MKL_Complex8* a, const MKL_INT* lda,
              MKL_Complex8* af, const MKL_INT* ldaf, char* equed, float* s,
              MKL_Complex8* b, const MKL_INT* ldb, MKL_Complex8* x,
              const MKL_INT* ldx, float* rcond, float* rpvgrw, float* berr,
              const MKL_INT* n_err_bnds, float* err_bnds_norm,
              float* err_bnds_comp, const MKL_INT* nparams, float* params,
              MKL_Complex8* work, float* rwork, MKL_INT* info ) NOTHROW;
void CPOSVXX_( const char* fact, const char* uplo, const MKL_INT* n,
               const MKL_INT* nrhs, MKL_Complex8* a, const MKL_INT* lda,
               MKL_Complex8* af, const MKL_INT* ldaf, char* equed, float* s,
               MKL_Complex8* b, const MKL_INT* ldb, MKL_Complex8* x,
               const MKL_INT* ldx, float* rcond, float* rpvgrw, float* berr,
               const MKL_INT* n_err_bnds, float* err_bnds_norm,
               float* err_bnds_comp, const MKL_INT* nparams, float* params,
               MKL_Complex8* work, float* rwork, MKL_INT* info ) NOTHROW;
void cposvxx( const char* fact, const char* uplo, const MKL_INT* n,
              const MKL_INT* nrhs, MKL_Complex8* a, const MKL_INT* lda,
              MKL_Complex8* af, const MKL_INT* ldaf, char* equed, float* s,
              MKL_Complex8* b, const MKL_INT* ldb, MKL_Complex8* x,
              const MKL_INT* ldx, float* rcond, float* rpvgrw, float* berr,
              const MKL_INT* n_err_bnds, float* err_bnds_norm,
              float* err_bnds_comp, const MKL_INT* nparams, float* params,
              MKL_Complex8* work, float* rwork, MKL_INT* info ) NOTHROW;
void cposvxx_( const char* fact, const char* uplo, const MKL_INT* n,
               const MKL_INT* nrhs, MKL_Complex8* a, const MKL_INT* lda,
               MKL_Complex8* af, const MKL_INT* ldaf, char* equed, float* s,
               MKL_Complex8* b, const MKL_INT* ldb, MKL_Complex8* x,
               const MKL_INT* ldx, float* rcond, float* rpvgrw, float* berr,
               const MKL_INT* n_err_bnds, float* err_bnds_norm,
               float* err_bnds_comp, const MKL_INT* nparams, float* params,
               MKL_Complex8* work, float* rwork, MKL_INT* info ) NOTHROW;

void CPOTF2( const char* uplo, const MKL_INT* n, MKL_Complex8* a,
             const MKL_INT* lda, MKL_INT* info ) NOTHROW;
void CPOTF2_( const char* uplo, const MKL_INT* n, MKL_Complex8* a,
              const MKL_INT* lda, MKL_INT* info ) NOTHROW;
void cpotf2( const char* uplo, const MKL_INT* n, MKL_Complex8* a,
             const MKL_INT* lda, MKL_INT* info ) NOTHROW;
void cpotf2_( const char* uplo, const MKL_INT* n, MKL_Complex8* a,
              const MKL_INT* lda, MKL_INT* info ) NOTHROW;

void CPOTRF( const char* uplo, const MKL_INT* n, MKL_Complex8* a,
             const MKL_INT* lda, MKL_INT* info ) NOTHROW;
void CPOTRF_( const char* uplo, const MKL_INT* n, MKL_Complex8* a,
              const MKL_INT* lda, MKL_INT* info ) NOTHROW;
void cpotrf( const char* uplo, const MKL_INT* n, MKL_Complex8* a,
             const MKL_INT* lda, MKL_INT* info ) NOTHROW;
void cpotrf_( const char* uplo, const MKL_INT* n, MKL_Complex8* a,
              const MKL_INT* lda, MKL_INT* info ) NOTHROW;

void CPOTRI( const char* uplo, const MKL_INT* n, MKL_Complex8* a,
             const MKL_INT* lda, MKL_INT* info ) NOTHROW;
void CPOTRI_( const char* uplo, const MKL_INT* n, MKL_Complex8* a,
              const MKL_INT* lda, MKL_INT* info ) NOTHROW;
void cpotri( const char* uplo, const MKL_INT* n, MKL_Complex8* a,
             const MKL_INT* lda, MKL_INT* info ) NOTHROW;
void cpotri_( const char* uplo, const MKL_INT* n, MKL_Complex8* a,
              const MKL_INT* lda, MKL_INT* info ) NOTHROW;

void CPOTRS( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs,
             const MKL_Complex8* a, const MKL_INT* lda, MKL_Complex8* b,
             const MKL_INT* ldb, MKL_INT* info ) NOTHROW;
void CPOTRS_( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs,
              const MKL_Complex8* a, const MKL_INT* lda, MKL_Complex8* b,
              const MKL_INT* ldb, MKL_INT* info ) NOTHROW;
void cpotrs( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs,
             const MKL_Complex8* a, const MKL_INT* lda, MKL_Complex8* b,
             const MKL_INT* ldb, MKL_INT* info ) NOTHROW;
void cpotrs_( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs,
              const MKL_Complex8* a, const MKL_INT* lda, MKL_Complex8* b,
              const MKL_INT* ldb, MKL_INT* info ) NOTHROW;

void CPPCON( const char* uplo, const MKL_INT* n, const MKL_Complex8* ap,
             const float* anorm, float* rcond, MKL_Complex8* work,
             float* rwork, MKL_INT* info ) NOTHROW;
void CPPCON_( const char* uplo, const MKL_INT* n, const MKL_Complex8* ap,
              const float* anorm, float* rcond, MKL_Complex8* work,
              float* rwork, MKL_INT* info ) NOTHROW;
void cppcon( const char* uplo, const MKL_INT* n, const MKL_Complex8* ap,
             const float* anorm, float* rcond, MKL_Complex8* work,
             float* rwork, MKL_INT* info ) NOTHROW;
void cppcon_( const char* uplo, const MKL_INT* n, const MKL_Complex8* ap,
              const float* anorm, float* rcond, MKL_Complex8* work,
              float* rwork, MKL_INT* info ) NOTHROW;

void CPPEQU( const char* uplo, const MKL_INT* n, const MKL_Complex8* ap,
             float* s, float* scond, float* amax, MKL_INT* info ) NOTHROW;
void CPPEQU_( const char* uplo, const MKL_INT* n, const MKL_Complex8* ap,
              float* s, float* scond, float* amax, MKL_INT* info ) NOTHROW;
void cppequ( const char* uplo, const MKL_INT* n, const MKL_Complex8* ap,
             float* s, float* scond, float* amax, MKL_INT* info ) NOTHROW;
void cppequ_( const char* uplo, const MKL_INT* n, const MKL_Complex8* ap,
              float* s, float* scond, float* amax, MKL_INT* info ) NOTHROW;

void CPPRFS( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs,
             const MKL_Complex8* ap, const MKL_Complex8* afp,
             const MKL_Complex8* b, const MKL_INT* ldb, MKL_Complex8* x,
             const MKL_INT* ldx, float* ferr, float* berr, MKL_Complex8* work,
             float* rwork, MKL_INT* info ) NOTHROW;
void CPPRFS_( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs,
              const MKL_Complex8* ap, const MKL_Complex8* afp,
              const MKL_Complex8* b, const MKL_INT* ldb, MKL_Complex8* x,
              const MKL_INT* ldx, float* ferr, float* berr, MKL_Complex8* work,
              float* rwork, MKL_INT* info ) NOTHROW;
void cpprfs( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs,
             const MKL_Complex8* ap, const MKL_Complex8* afp,
             const MKL_Complex8* b, const MKL_INT* ldb, MKL_Complex8* x,
             const MKL_INT* ldx, float* ferr, float* berr, MKL_Complex8* work,
             float* rwork, MKL_INT* info ) NOTHROW;
void cpprfs_( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs,
              const MKL_Complex8* ap, const MKL_Complex8* afp,
              const MKL_Complex8* b, const MKL_INT* ldb, MKL_Complex8* x,
              const MKL_INT* ldx, float* ferr, float* berr, MKL_Complex8* work,
              float* rwork, MKL_INT* info ) NOTHROW;

void CPPSV( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs,
            MKL_Complex8* ap, MKL_Complex8* b, const MKL_INT* ldb,
            MKL_INT* info ) NOTHROW;
void CPPSV_( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs,
             MKL_Complex8* ap, MKL_Complex8* b, const MKL_INT* ldb,
             MKL_INT* info ) NOTHROW;
void cppsv( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs,
            MKL_Complex8* ap, MKL_Complex8* b, const MKL_INT* ldb,
            MKL_INT* info ) NOTHROW;
void cppsv_( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs,
             MKL_Complex8* ap, MKL_Complex8* b, const MKL_INT* ldb,
             MKL_INT* info ) NOTHROW;

void CPPSVX( const char* fact, const char* uplo, const MKL_INT* n,
             const MKL_INT* nrhs, MKL_Complex8* ap, MKL_Complex8* afp,
             char* equed, float* s, MKL_Complex8* b, const MKL_INT* ldb,
             MKL_Complex8* x, const MKL_INT* ldx, float* rcond, float* ferr,
             float* berr, MKL_Complex8* work, float* rwork, MKL_INT* info ) NOTHROW;
void CPPSVX_( const char* fact, const char* uplo, const MKL_INT* n,
              const MKL_INT* nrhs, MKL_Complex8* ap, MKL_Complex8* afp,
              char* equed, float* s, MKL_Complex8* b, const MKL_INT* ldb,
              MKL_Complex8* x, const MKL_INT* ldx, float* rcond, float* ferr,
              float* berr, MKL_Complex8* work, float* rwork, MKL_INT* info ) NOTHROW;
void cppsvx( const char* fact, const char* uplo, const MKL_INT* n,
             const MKL_INT* nrhs, MKL_Complex8* ap, MKL_Complex8* afp,
             char* equed, float* s, MKL_Complex8* b, const MKL_INT* ldb,
             MKL_Complex8* x, const MKL_INT* ldx, float* rcond, float* ferr,
             float* berr, MKL_Complex8* work, float* rwork, MKL_INT* info ) NOTHROW;
void cppsvx_( const char* fact, const char* uplo, const MKL_INT* n,
              const MKL_INT* nrhs, MKL_Complex8* ap, MKL_Complex8* afp,
              char* equed, float* s, MKL_Complex8* b, const MKL_INT* ldb,
              MKL_Complex8* x, const MKL_INT* ldx, float* rcond, float* ferr,
              float* berr, MKL_Complex8* work, float* rwork, MKL_INT* info ) NOTHROW;

void CPPTRF( const char* uplo, const MKL_INT* n, MKL_Complex8* ap,
             MKL_INT* info ) NOTHROW;
void CPPTRF_( const char* uplo, const MKL_INT* n, MKL_Complex8* ap,
              MKL_INT* info ) NOTHROW;
void cpptrf( const char* uplo, const MKL_INT* n, MKL_Complex8* ap,
             MKL_INT* info ) NOTHROW;
void cpptrf_( const char* uplo, const MKL_INT* n, MKL_Complex8* ap,
              MKL_INT* info ) NOTHROW;

void CPPTRI( const char* uplo, const MKL_INT* n, MKL_Complex8* ap,
             MKL_INT* info ) NOTHROW;
void CPPTRI_( const char* uplo, const MKL_INT* n, MKL_Complex8* ap,
              MKL_INT* info ) NOTHROW;
void cpptri( const char* uplo, const MKL_INT* n, MKL_Complex8* ap,
             MKL_INT* info ) NOTHROW;
void cpptri_( const char* uplo, const MKL_INT* n, MKL_Complex8* ap,
              MKL_INT* info ) NOTHROW;

void CPPTRS( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs,
             const MKL_Complex8* ap, MKL_Complex8* b, const MKL_INT* ldb,
             MKL_INT* info ) NOTHROW;
void CPPTRS_( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs,
              const MKL_Complex8* ap, MKL_Complex8* b, const MKL_INT* ldb,
              MKL_INT* info ) NOTHROW;
void cpptrs( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs,
             const MKL_Complex8* ap, MKL_Complex8* b, const MKL_INT* ldb,
             MKL_INT* info ) NOTHROW;
void cpptrs_( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs,
              const MKL_Complex8* ap, MKL_Complex8* b, const MKL_INT* ldb,
              MKL_INT* info ) NOTHROW;

void CPSTF2( const char* uplo, const MKL_INT* n, MKL_Complex8* a,
             const MKL_INT* lda, MKL_INT* piv, MKL_INT* rank, const float* tol,
             float* work, MKL_INT* info ) NOTHROW;
void CPSTF2_( const char* uplo, const MKL_INT* n, MKL_Complex8* a,
              const MKL_INT* lda, MKL_INT* piv, MKL_INT* rank,
              const float* tol, float* work, MKL_INT* info ) NOTHROW;
void cpstf2( const char* uplo, const MKL_INT* n, MKL_Complex8* a,
             const MKL_INT* lda, MKL_INT* piv, MKL_INT* rank, const float* tol,
             float* work, MKL_INT* info ) NOTHROW;
void cpstf2_( const char* uplo, const MKL_INT* n, MKL_Complex8* a,
              const MKL_INT* lda, MKL_INT* piv, MKL_INT* rank,
              const float* tol, float* work, MKL_INT* info ) NOTHROW;

void CPSTRF( const char* uplo, const MKL_INT* n, MKL_Complex8* a,
             const MKL_INT* lda, MKL_INT* piv, MKL_INT* rank, const float* tol,
             float* work, MKL_INT* info ) NOTHROW;
void CPSTRF_( const char* uplo, const MKL_INT* n, MKL_Complex8* a,
              const MKL_INT* lda, MKL_INT* piv, MKL_INT* rank,
              const float* tol, float* work, MKL_INT* info ) NOTHROW;
void cpstrf( const char* uplo, const MKL_INT* n, MKL_Complex8* a,
             const MKL_INT* lda, MKL_INT* piv, MKL_INT* rank, const float* tol,
             float* work, MKL_INT* info ) NOTHROW;
void cpstrf_( const char* uplo, const MKL_INT* n, MKL_Complex8* a,
              const MKL_INT* lda, MKL_INT* piv, MKL_INT* rank,
              const float* tol, float* work, MKL_INT* info ) NOTHROW;

void CPTCON( const MKL_INT* n, const float* d, const MKL_Complex8* e,
             const float* anorm, float* rcond, float* rwork, MKL_INT* info ) NOTHROW;
void CPTCON_( const MKL_INT* n, const float* d, const MKL_Complex8* e,
              const float* anorm, float* rcond, float* rwork, MKL_INT* info ) NOTHROW;
void cptcon( const MKL_INT* n, const float* d, const MKL_Complex8* e,
             const float* anorm, float* rcond, float* rwork, MKL_INT* info ) NOTHROW;
void cptcon_( const MKL_INT* n, const float* d, const MKL_Complex8* e,
              const float* anorm, float* rcond, float* rwork, MKL_INT* info ) NOTHROW;

void CPTEQR( const char* compz, const MKL_INT* n, float* d, float* e,
             MKL_Complex8* z, const MKL_INT* ldz, float* work, MKL_INT* info ) NOTHROW;
void CPTEQR_( const char* compz, const MKL_INT* n, float* d, float* e,
              MKL_Complex8* z, const MKL_INT* ldz, float* work,
              MKL_INT* info ) NOTHROW;
void cpteqr( const char* compz, const MKL_INT* n, float* d, float* e,
             MKL_Complex8* z, const MKL_INT* ldz, float* work, MKL_INT* info ) NOTHROW;
void cpteqr_( const char* compz, const MKL_INT* n, float* d, float* e,
              MKL_Complex8* z, const MKL_INT* ldz, float* work,
              MKL_INT* info ) NOTHROW;

void CPTRFS( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs,
             const float* d, const MKL_Complex8* e, const float* df,
             const MKL_Complex8* ef, const MKL_Complex8* b, const MKL_INT* ldb,
             MKL_Complex8* x, const MKL_INT* ldx, float* ferr, float* berr,
             MKL_Complex8* work, float* rwork, MKL_INT* info ) NOTHROW;
void CPTRFS_( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs,
              const float* d, const MKL_Complex8* e, const float* df,
              const MKL_Complex8* ef, const MKL_Complex8* b,
              const MKL_INT* ldb, MKL_Complex8* x, const MKL_INT* ldx,
              float* ferr, float* berr, MKL_Complex8* work, float* rwork,
              MKL_INT* info ) NOTHROW;
void cptrfs( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs,
             const float* d, const MKL_Complex8* e, const float* df,
             const MKL_Complex8* ef, const MKL_Complex8* b, const MKL_INT* ldb,
             MKL_Complex8* x, const MKL_INT* ldx, float* ferr, float* berr,
             MKL_Complex8* work, float* rwork, MKL_INT* info ) NOTHROW;
void cptrfs_( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs,
              const float* d, const MKL_Complex8* e, const float* df,
              const MKL_Complex8* ef, const MKL_Complex8* b,
              const MKL_INT* ldb, MKL_Complex8* x, const MKL_INT* ldx,
              float* ferr, float* berr, MKL_Complex8* work, float* rwork,
              MKL_INT* info ) NOTHROW;

void CPTSV( const MKL_INT* n, const MKL_INT* nrhs, float* d, MKL_Complex8* e,
            MKL_Complex8* b, const MKL_INT* ldb, MKL_INT* info ) NOTHROW;
void CPTSV_( const MKL_INT* n, const MKL_INT* nrhs, float* d, MKL_Complex8* e,
             MKL_Complex8* b, const MKL_INT* ldb, MKL_INT* info ) NOTHROW;
void cptsv( const MKL_INT* n, const MKL_INT* nrhs, float* d, MKL_Complex8* e,
            MKL_Complex8* b, const MKL_INT* ldb, MKL_INT* info ) NOTHROW;
void cptsv_( const MKL_INT* n, const MKL_INT* nrhs, float* d, MKL_Complex8* e,
             MKL_Complex8* b, const MKL_INT* ldb, MKL_INT* info ) NOTHROW;

void CPTSVX( const char* fact, const MKL_INT* n, const MKL_INT* nrhs,
             const float* d, const MKL_Complex8* e, float* df,
             MKL_Complex8* ef, const MKL_Complex8* b, const MKL_INT* ldb,
             MKL_Complex8* x, const MKL_INT* ldx, float* rcond, float* ferr,
             float* berr, MKL_Complex8* work, float* rwork, MKL_INT* info ) NOTHROW;
void CPTSVX_( const char* fact, const MKL_INT* n, const MKL_INT* nrhs,
              const float* d, const MKL_Complex8* e, float* df,
              MKL_Complex8* ef, const MKL_Complex8* b, const MKL_INT* ldb,
              MKL_Complex8* x, const MKL_INT* ldx, float* rcond, float* ferr,
              float* berr, MKL_Complex8* work, float* rwork, MKL_INT* info ) NOTHROW;
void cptsvx( const char* fact, const MKL_INT* n, const MKL_INT* nrhs,
             const float* d, const MKL_Complex8* e, float* df,
             MKL_Complex8* ef, const MKL_Complex8* b, const MKL_INT* ldb,
             MKL_Complex8* x, const MKL_INT* ldx, float* rcond, float* ferr,
             float* berr, MKL_Complex8* work, float* rwork, MKL_INT* info ) NOTHROW;
void cptsvx_( const char* fact, const MKL_INT* n, const MKL_INT* nrhs,
              const float* d, const MKL_Complex8* e, float* df,
              MKL_Complex8* ef, const MKL_Complex8* b, const MKL_INT* ldb,
              MKL_Complex8* x, const MKL_INT* ldx, float* rcond, float* ferr,
              float* berr, MKL_Complex8* work, float* rwork, MKL_INT* info ) NOTHROW;

void CPTTRF( const MKL_INT* n, float* d, MKL_Complex8* e, MKL_INT* info ) NOTHROW;
void CPTTRF_( const MKL_INT* n, float* d, MKL_Complex8* e, MKL_INT* info ) NOTHROW;
void cpttrf( const MKL_INT* n, float* d, MKL_Complex8* e, MKL_INT* info ) NOTHROW;
void cpttrf_( const MKL_INT* n, float* d, MKL_Complex8* e, MKL_INT* info ) NOTHROW;

void CPTTRS( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs,
             const float* d, const MKL_Complex8* e, MKL_Complex8* b,
             const MKL_INT* ldb, MKL_INT* info ) NOTHROW;
void CPTTRS_( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs,
              const float* d, const MKL_Complex8* e, MKL_Complex8* b,
              const MKL_INT* ldb, MKL_INT* info ) NOTHROW;
void cpttrs( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs,
             const float* d, const MKL_Complex8* e, MKL_Complex8* b,
             const MKL_INT* ldb, MKL_INT* info ) NOTHROW;
void cpttrs_( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs,
              const float* d, const MKL_Complex8* e, MKL_Complex8* b,
              const MKL_INT* ldb, MKL_INT* info ) NOTHROW;

void CPTTS2( const MKL_INT* iuplo, const MKL_INT* n, const MKL_INT* nrhs,
             const float* d, const MKL_Complex8* e, MKL_Complex8* b,
             const MKL_INT* ldb ) NOTHROW;
void CPTTS2_( const MKL_INT* iuplo, const MKL_INT* n, const MKL_INT* nrhs,
              const float* d, const MKL_Complex8* e, MKL_Complex8* b,
              const MKL_INT* ldb ) NOTHROW;
void cptts2( const MKL_INT* iuplo, const MKL_INT* n, const MKL_INT* nrhs,
             const float* d, const MKL_Complex8* e, MKL_Complex8* b,
             const MKL_INT* ldb ) NOTHROW;
void cptts2_( const MKL_INT* iuplo, const MKL_INT* n, const MKL_INT* nrhs,
              const float* d, const MKL_Complex8* e, MKL_Complex8* b,
              const MKL_INT* ldb ) NOTHROW;

void CROT( const MKL_INT* n, MKL_Complex8* cx, const MKL_INT* incx,
           MKL_Complex8* cy, const MKL_INT* incy, const float* c,
           const MKL_Complex8* s ) NOTHROW;
void CROT_( const MKL_INT* n, MKL_Complex8* cx, const MKL_INT* incx,
            MKL_Complex8* cy, const MKL_INT* incy, const float* c,
            const MKL_Complex8* s ) NOTHROW;
void crot( const MKL_INT* n, MKL_Complex8* cx, const MKL_INT* incx,
           MKL_Complex8* cy, const MKL_INT* incy, const float* c,
           const MKL_Complex8* s ) NOTHROW;
void crot_( const MKL_INT* n, MKL_Complex8* cx, const MKL_INT* incx,
            MKL_Complex8* cy, const MKL_INT* incy, const float* c,
            const MKL_Complex8* s ) NOTHROW;

void CSPCON( const char* uplo, const MKL_INT* n, const MKL_Complex8* ap,
             const MKL_INT* ipiv, const float* anorm, float* rcond,
             MKL_Complex8* work, MKL_INT* info ) NOTHROW;
void CSPCON_( const char* uplo, const MKL_INT* n, const MKL_Complex8* ap,
              const MKL_INT* ipiv, const float* anorm, float* rcond,
              MKL_Complex8* work, MKL_INT* info ) NOTHROW;
void cspcon( const char* uplo, const MKL_INT* n, const MKL_Complex8* ap,
             const MKL_INT* ipiv, const float* anorm, float* rcond,
             MKL_Complex8* work, MKL_INT* info ) NOTHROW;
void cspcon_( const char* uplo, const MKL_INT* n, const MKL_Complex8* ap,
              const MKL_INT* ipiv, const float* anorm, float* rcond,
              MKL_Complex8* work, MKL_INT* info ) NOTHROW;

void CSPMV( const char* uplo, const MKL_INT* n, const MKL_Complex8* alpha,
            const MKL_Complex8* ap, const MKL_Complex8* x, const MKL_INT* incx,
            const MKL_Complex8* beta, MKL_Complex8* y, const MKL_INT* incy ) NOTHROW;
void CSPMV_( const char* uplo, const MKL_INT* n, const MKL_Complex8* alpha,
             const MKL_Complex8* ap, const MKL_Complex8* x,
             const MKL_INT* incx, const MKL_Complex8* beta, MKL_Complex8* y,
             const MKL_INT* incy ) NOTHROW;
void cspmv( const char* uplo, const MKL_INT* n, const MKL_Complex8* alpha,
            const MKL_Complex8* ap, const MKL_Complex8* x, const MKL_INT* incx,
            const MKL_Complex8* beta, MKL_Complex8* y, const MKL_INT* incy ) NOTHROW;
void cspmv_( const char* uplo, const MKL_INT* n, const MKL_Complex8* alpha,
             const MKL_Complex8* ap, const MKL_Complex8* x,
             const MKL_INT* incx, const MKL_Complex8* beta, MKL_Complex8* y,
             const MKL_INT* incy ) NOTHROW;

void CSPR( const char* uplo, const MKL_INT* n, const MKL_Complex8* alpha,
           const MKL_Complex8* x, const MKL_INT* incx, MKL_Complex8* ap ) NOTHROW;
void CSPR_( const char* uplo, const MKL_INT* n, const MKL_Complex8* alpha,
            const MKL_Complex8* x, const MKL_INT* incx, MKL_Complex8* ap ) NOTHROW;
void cspr( const char* uplo, const MKL_INT* n, const MKL_Complex8* alpha,
           const MKL_Complex8* x, const MKL_INT* incx, MKL_Complex8* ap ) NOTHROW;
void cspr_( const char* uplo, const MKL_INT* n, const MKL_Complex8* alpha,
            const MKL_Complex8* x, const MKL_INT* incx, MKL_Complex8* ap ) NOTHROW;

void CSPRFS( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs,
             const MKL_Complex8* ap, const MKL_Complex8* afp,
             const MKL_INT* ipiv, const MKL_Complex8* b, const MKL_INT* ldb,
             MKL_Complex8* x, const MKL_INT* ldx, float* ferr, float* berr,
             MKL_Complex8* work, float* rwork, MKL_INT* info ) NOTHROW;
void CSPRFS_( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs,
              const MKL_Complex8* ap, const MKL_Complex8* afp,
              const MKL_INT* ipiv, const MKL_Complex8* b, const MKL_INT* ldb,
              MKL_Complex8* x, const MKL_INT* ldx, float* ferr, float* berr,
              MKL_Complex8* work, float* rwork, MKL_INT* info ) NOTHROW;
void csprfs( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs,
             const MKL_Complex8* ap, const MKL_Complex8* afp,
             const MKL_INT* ipiv, const MKL_Complex8* b, const MKL_INT* ldb,
             MKL_Complex8* x, const MKL_INT* ldx, float* ferr, float* berr,
             MKL_Complex8* work, float* rwork, MKL_INT* info ) NOTHROW;
void csprfs_( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs,
              const MKL_Complex8* ap, const MKL_Complex8* afp,
              const MKL_INT* ipiv, const MKL_Complex8* b, const MKL_INT* ldb,
              MKL_Complex8* x, const MKL_INT* ldx, float* ferr, float* berr,
              MKL_Complex8* work, float* rwork, MKL_INT* info ) NOTHROW;

void CSPSV( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs,
            MKL_Complex8* ap, MKL_INT* ipiv, MKL_Complex8* b,
            const MKL_INT* ldb, MKL_INT* info ) NOTHROW;
void CSPSV_( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs,
             MKL_Complex8* ap, MKL_INT* ipiv, MKL_Complex8* b,
             const MKL_INT* ldb, MKL_INT* info ) NOTHROW;
void cspsv( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs,
            MKL_Complex8* ap, MKL_INT* ipiv, MKL_Complex8* b,
            const MKL_INT* ldb, MKL_INT* info ) NOTHROW;
void cspsv_( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs,
             MKL_Complex8* ap, MKL_INT* ipiv, MKL_Complex8* b,
             const MKL_INT* ldb, MKL_INT* info ) NOTHROW;

void CSPSVX( const char* fact, const char* uplo, const MKL_INT* n,
             const MKL_INT* nrhs, const MKL_Complex8* ap, MKL_Complex8* afp,
             MKL_INT* ipiv, const MKL_Complex8* b, const MKL_INT* ldb,
             MKL_Complex8* x, const MKL_INT* ldx, float* rcond, float* ferr,
             float* berr, MKL_Complex8* work, float* rwork, MKL_INT* info ) NOTHROW;
void CSPSVX_( const char* fact, const char* uplo, const MKL_INT* n,
              const MKL_INT* nrhs, const MKL_Complex8* ap, MKL_Complex8* afp,
              MKL_INT* ipiv, const MKL_Complex8* b, const MKL_INT* ldb,
              MKL_Complex8* x, const MKL_INT* ldx, float* rcond, float* ferr,
              float* berr, MKL_Complex8* work, float* rwork, MKL_INT* info ) NOTHROW;
void cspsvx( const char* fact, const char* uplo, const MKL_INT* n,
             const MKL_INT* nrhs, const MKL_Complex8* ap, MKL_Complex8* afp,
             MKL_INT* ipiv, const MKL_Complex8* b, const MKL_INT* ldb,
             MKL_Complex8* x, const MKL_INT* ldx, float* rcond, float* ferr,
             float* berr, MKL_Complex8* work, float* rwork, MKL_INT* info ) NOTHROW;
void cspsvx_( const char* fact, const char* uplo, const MKL_INT* n,
              const MKL_INT* nrhs, const MKL_Complex8* ap, MKL_Complex8* afp,
              MKL_INT* ipiv, const MKL_Complex8* b, const MKL_INT* ldb,
              MKL_Complex8* x, const MKL_INT* ldx, float* rcond, float* ferr,
              float* berr, MKL_Complex8* work, float* rwork, MKL_INT* info ) NOTHROW;

void CSPTRF( const char* uplo, const MKL_INT* n, MKL_Complex8* ap,
             MKL_INT* ipiv, MKL_INT* info ) NOTHROW;
void CSPTRF_( const char* uplo, const MKL_INT* n, MKL_Complex8* ap,
              MKL_INT* ipiv, MKL_INT* info ) NOTHROW;
void csptrf( const char* uplo, const MKL_INT* n, MKL_Complex8* ap,
             MKL_INT* ipiv, MKL_INT* info ) NOTHROW;
void csptrf_( const char* uplo, const MKL_INT* n, MKL_Complex8* ap,
              MKL_INT* ipiv, MKL_INT* info ) NOTHROW;

void CSPTRI( const char* uplo, const MKL_INT* n, MKL_Complex8* ap,
             const MKL_INT* ipiv, MKL_Complex8* work, MKL_INT* info ) NOTHROW;
void CSPTRI_( const char* uplo, const MKL_INT* n, MKL_Complex8* ap,
              const MKL_INT* ipiv, MKL_Complex8* work, MKL_INT* info ) NOTHROW;
void csptri( const char* uplo, const MKL_INT* n, MKL_Complex8* ap,
             const MKL_INT* ipiv, MKL_Complex8* work, MKL_INT* info ) NOTHROW;
void csptri_( const char* uplo, const MKL_INT* n, MKL_Complex8* ap,
              const MKL_INT* ipiv, MKL_Complex8* work, MKL_INT* info ) NOTHROW;

void CSPTRS( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs,
             const MKL_Complex8* ap, const MKL_INT* ipiv, MKL_Complex8* b,
             const MKL_INT* ldb, MKL_INT* info ) NOTHROW;
void CSPTRS_( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs,
              const MKL_Complex8* ap, const MKL_INT* ipiv, MKL_Complex8* b,
              const MKL_INT* ldb, MKL_INT* info ) NOTHROW;
void csptrs( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs,
             const MKL_Complex8* ap, const MKL_INT* ipiv, MKL_Complex8* b,
             const MKL_INT* ldb, MKL_INT* info ) NOTHROW;
void csptrs_( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs,
              const MKL_Complex8* ap, const MKL_INT* ipiv, MKL_Complex8* b,
              const MKL_INT* ldb, MKL_INT* info ) NOTHROW;

void CSRSCL( const MKL_INT* n, const float* sa, MKL_Complex8* sx,
             const MKL_INT* incx ) NOTHROW;
void CSRSCL_( const MKL_INT* n, const float* sa, MKL_Complex8* sx,
              const MKL_INT* incx ) NOTHROW;
void csrscl( const MKL_INT* n, const float* sa, MKL_Complex8* sx,
             const MKL_INT* incx ) NOTHROW;
void csrscl_( const MKL_INT* n, const float* sa, MKL_Complex8* sx,
              const MKL_INT* incx ) NOTHROW;

void CSTEDC( const char* compz, const MKL_INT* n, float* d, float* e,
             MKL_Complex8* z, const MKL_INT* ldz, MKL_Complex8* work,
             const MKL_INT* lwork, float* rwork, const MKL_INT* lrwork,
             MKL_INT* iwork, const MKL_INT* liwork, MKL_INT* info ) NOTHROW;
void CSTEDC_( const char* compz, const MKL_INT* n, float* d, float* e,
              MKL_Complex8* z, const MKL_INT* ldz, MKL_Complex8* work,
              const MKL_INT* lwork, float* rwork, const MKL_INT* lrwork,
              MKL_INT* iwork, const MKL_INT* liwork, MKL_INT* info ) NOTHROW;
void cstedc( const char* compz, const MKL_INT* n, float* d, float* e,
             MKL_Complex8* z, const MKL_INT* ldz, MKL_Complex8* work,
             const MKL_INT* lwork, float* rwork, const MKL_INT* lrwork,
             MKL_INT* iwork, const MKL_INT* liwork, MKL_INT* info ) NOTHROW;
void cstedc_( const char* compz, const MKL_INT* n, float* d, float* e,
              MKL_Complex8* z, const MKL_INT* ldz, MKL_Complex8* work,
              const MKL_INT* lwork, float* rwork, const MKL_INT* lrwork,
              MKL_INT* iwork, const MKL_INT* liwork, MKL_INT* info ) NOTHROW;

void CSTEGR( const char* jobz, const char* range, const MKL_INT* n, float* d,
             float* e, const float* vl, const float* vu, const MKL_INT* il,
             const MKL_INT* iu, const float* abstol, MKL_INT* m, float* w,
             MKL_Complex8* z, const MKL_INT* ldz, MKL_INT* isuppz, float* work,
             const MKL_INT* lwork, MKL_INT* iwork, const MKL_INT* liwork,
             MKL_INT* info ) NOTHROW;
void CSTEGR_( const char* jobz, const char* range, const MKL_INT* n, float* d,
              float* e, const float* vl, const float* vu, const MKL_INT* il,
              const MKL_INT* iu, const float* abstol, MKL_INT* m, float* w,
              MKL_Complex8* z, const MKL_INT* ldz, MKL_INT* isuppz,
              float* work, const MKL_INT* lwork, MKL_INT* iwork,
              const MKL_INT* liwork, MKL_INT* info ) NOTHROW;
void cstegr( const char* jobz, const char* range, const MKL_INT* n, float* d,
             float* e, const float* vl, const float* vu, const MKL_INT* il,
             const MKL_INT* iu, const float* abstol, MKL_INT* m, float* w,
             MKL_Complex8* z, const MKL_INT* ldz, MKL_INT* isuppz, float* work,
             const MKL_INT* lwork, MKL_INT* iwork, const MKL_INT* liwork,
             MKL_INT* info ) NOTHROW;
void cstegr_( const char* jobz, const char* range, const MKL_INT* n, float* d,
              float* e, const float* vl, const float* vu, const MKL_INT* il,
              const MKL_INT* iu, const float* abstol, MKL_INT* m, float* w,
              MKL_Complex8* z, const MKL_INT* ldz, MKL_INT* isuppz,
              float* work, const MKL_INT* lwork, MKL_INT* iwork,
              const MKL_INT* liwork, MKL_INT* info ) NOTHROW;

void CSTEIN( const MKL_INT* n, const float* d, const float* e,
             const MKL_INT* m, const float* w, const MKL_INT* iblock,
             const MKL_INT* isplit, MKL_Complex8* z, const MKL_INT* ldz,
             float* work, MKL_INT* iwork, MKL_INT* ifail, MKL_INT* info ) NOTHROW;
void CSTEIN_( const MKL_INT* n, const float* d, const float* e,
              const MKL_INT* m, const float* w, const MKL_INT* iblock,
              const MKL_INT* isplit, MKL_Complex8* z, const MKL_INT* ldz,
              float* work, MKL_INT* iwork, MKL_INT* ifail, MKL_INT* info ) NOTHROW;
void cstein( const MKL_INT* n, const float* d, const float* e,
             const MKL_INT* m, const float* w, const MKL_INT* iblock,
             const MKL_INT* isplit, MKL_Complex8* z, const MKL_INT* ldz,
             float* work, MKL_INT* iwork, MKL_INT* ifail, MKL_INT* info ) NOTHROW;
void cstein_( const MKL_INT* n, const float* d, const float* e,
              const MKL_INT* m, const float* w, const MKL_INT* iblock,
              const MKL_INT* isplit, MKL_Complex8* z, const MKL_INT* ldz,
              float* work, MKL_INT* iwork, MKL_INT* ifail, MKL_INT* info ) NOTHROW;

void CSTEMR( const char* jobz, const char* range, const MKL_INT* n, float* d,
             float* e, const float* vl, const float* vu, const MKL_INT* il,
             const MKL_INT* iu, MKL_INT* m, float* w, MKL_Complex8* z,
             const MKL_INT* ldz, const MKL_INT* nzc, MKL_INT* isuppz,
             MKL_INT* tryrac, float* work, const MKL_INT* lwork,
             MKL_INT* iwork, const MKL_INT* liwork, MKL_INT* info ) NOTHROW;
void CSTEMR_( const char* jobz, const char* range, const MKL_INT* n, float* d,
              float* e, const float* vl, const float* vu, const MKL_INT* il,
              const MKL_INT* iu, MKL_INT* m, float* w, MKL_Complex8* z,
              const MKL_INT* ldz, const MKL_INT* nzc, MKL_INT* isuppz,
              MKL_INT* tryrac, float* work, const MKL_INT* lwork,
              MKL_INT* iwork, const MKL_INT* liwork, MKL_INT* info ) NOTHROW;
void cstemr( const char* jobz, const char* range, const MKL_INT* n, float* d,
             float* e, const float* vl, const float* vu, const MKL_INT* il,
             const MKL_INT* iu, MKL_INT* m, float* w, MKL_Complex8* z,
             const MKL_INT* ldz, const MKL_INT* nzc, MKL_INT* isuppz,
             MKL_INT* tryrac, float* work, const MKL_INT* lwork,
             MKL_INT* iwork, const MKL_INT* liwork, MKL_INT* info ) NOTHROW;
void cstemr_( const char* jobz, const char* range, const MKL_INT* n, float* d,
              float* e, const float* vl, const float* vu, const MKL_INT* il,
              const MKL_INT* iu, MKL_INT* m, float* w, MKL_Complex8* z,
              const MKL_INT* ldz, const MKL_INT* nzc, MKL_INT* isuppz,
              MKL_INT* tryrac, float* work, const MKL_INT* lwork,
              MKL_INT* iwork, const MKL_INT* liwork, MKL_INT* info ) NOTHROW;

void CSTEQR( const char* compz, const MKL_INT* n, float* d, float* e,
             MKL_Complex8* z, const MKL_INT* ldz, float* work, MKL_INT* info ) NOTHROW;
void CSTEQR_( const char* compz, const MKL_INT* n, float* d, float* e,
              MKL_Complex8* z, const MKL_INT* ldz, float* work,
              MKL_INT* info ) NOTHROW;
void csteqr( const char* compz, const MKL_INT* n, float* d, float* e,
             MKL_Complex8* z, const MKL_INT* ldz, float* work, MKL_INT* info ) NOTHROW;
void csteqr_( const char* compz, const MKL_INT* n, float* d, float* e,
              MKL_Complex8* z, const MKL_INT* ldz, float* work,
              MKL_INT* info ) NOTHROW;

void CSYCON( const char* uplo, const MKL_INT* n, const MKL_Complex8* a,
             const MKL_INT* lda, const MKL_INT* ipiv, const float* anorm,
             float* rcond, MKL_Complex8* work, MKL_INT* info ) NOTHROW;
void CSYCON_( const char* uplo, const MKL_INT* n, const MKL_Complex8* a,
              const MKL_INT* lda, const MKL_INT* ipiv, const float* anorm,
              float* rcond, MKL_Complex8* work, MKL_INT* info ) NOTHROW;
void csycon( const char* uplo, const MKL_INT* n, const MKL_Complex8* a,
             const MKL_INT* lda, const MKL_INT* ipiv, const float* anorm,
             float* rcond, MKL_Complex8* work, MKL_INT* info ) NOTHROW;
void csycon_( const char* uplo, const MKL_INT* n, const MKL_Complex8* a,
              const MKL_INT* lda, const MKL_INT* ipiv, const float* anorm,
              float* rcond, MKL_Complex8* work, MKL_INT* info ) NOTHROW;

void CSYEQUB( const char* uplo, const MKL_INT* n, const MKL_Complex8* a,
              const MKL_INT* lda, float* s, float* scond, float* amax,
              MKL_Complex8* work, MKL_INT* info ) NOTHROW;
void CSYEQUB_( const char* uplo, const MKL_INT* n, const MKL_Complex8* a,
               const MKL_INT* lda, float* s, float* scond, float* amax,
               MKL_Complex8* work, MKL_INT* info ) NOTHROW;
void csyequb( const char* uplo, const MKL_INT* n, const MKL_Complex8* a,
              const MKL_INT* lda, float* s, float* scond, float* amax,
              MKL_Complex8* work, MKL_INT* info ) NOTHROW;
void csyequb_( const char* uplo, const MKL_INT* n, const MKL_Complex8* a,
               const MKL_INT* lda, float* s, float* scond, float* amax,
               MKL_Complex8* work, MKL_INT* info ) NOTHROW;

void CSYMV( const char* uplo, const MKL_INT* n, const MKL_Complex8* alpha,
            const MKL_Complex8* a, const MKL_INT* lda, const MKL_Complex8* x,
            const MKL_INT* incx, const MKL_Complex8* beta, MKL_Complex8* y,
            const MKL_INT* incy ) NOTHROW;
void CSYMV_( const char* uplo, const MKL_INT* n, const MKL_Complex8* alpha,
             const MKL_Complex8* a, const MKL_INT* lda, const MKL_Complex8* x,
             const MKL_INT* incx, const MKL_Complex8* beta, MKL_Complex8* y,
             const MKL_INT* incy ) NOTHROW;
void csymv( const char* uplo, const MKL_INT* n, const MKL_Complex8* alpha,
            const MKL_Complex8* a, const MKL_INT* lda, const MKL_Complex8* x,
            const MKL_INT* incx, const MKL_Complex8* beta, MKL_Complex8* y,
            const MKL_INT* incy ) NOTHROW;
void csymv_( const char* uplo, const MKL_INT* n, const MKL_Complex8* alpha,
             const MKL_Complex8* a, const MKL_INT* lda, const MKL_Complex8* x,
             const MKL_INT* incx, const MKL_Complex8* beta, MKL_Complex8* y,
             const MKL_INT* incy ) NOTHROW;

void CSYR( const char* uplo, const MKL_INT* n, const MKL_Complex8* alpha,
           const MKL_Complex8* x, const MKL_INT* incx, MKL_Complex8* a,
           const MKL_INT* lda ) NOTHROW;
void CSYR_( const char* uplo, const MKL_INT* n, const MKL_Complex8* alpha,
            const MKL_Complex8* x, const MKL_INT* incx, MKL_Complex8* a,
            const MKL_INT* lda ) NOTHROW;
void csyr( const char* uplo, const MKL_INT* n, const MKL_Complex8* alpha,
           const MKL_Complex8* x, const MKL_INT* incx, MKL_Complex8* a,
           const MKL_INT* lda ) NOTHROW;
void csyr_( const char* uplo, const MKL_INT* n, const MKL_Complex8* alpha,
            const MKL_Complex8* x, const MKL_INT* incx, MKL_Complex8* a,
            const MKL_INT* lda ) NOTHROW;

void CSYRFS( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs,
             const MKL_Complex8* a, const MKL_INT* lda, const MKL_Complex8* af,
             const MKL_INT* ldaf, const MKL_INT* ipiv, const MKL_Complex8* b,
             const MKL_INT* ldb, MKL_Complex8* x, const MKL_INT* ldx,
             float* ferr, float* berr, MKL_Complex8* work, float* rwork,
             MKL_INT* info ) NOTHROW;
void CSYRFS_( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs,
              const MKL_Complex8* a, const MKL_INT* lda,
              const MKL_Complex8* af, const MKL_INT* ldaf, const MKL_INT* ipiv,
              const MKL_Complex8* b, const MKL_INT* ldb, MKL_Complex8* x,
              const MKL_INT* ldx, float* ferr, float* berr, MKL_Complex8* work,
              float* rwork, MKL_INT* info ) NOTHROW;
void csyrfs( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs,
             const MKL_Complex8* a, const MKL_INT* lda, const MKL_Complex8* af,
             const MKL_INT* ldaf, const MKL_INT* ipiv, const MKL_Complex8* b,
             const MKL_INT* ldb, MKL_Complex8* x, const MKL_INT* ldx,
             float* ferr, float* berr, MKL_Complex8* work, float* rwork,
             MKL_INT* info ) NOTHROW;
void csyrfs_( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs,
              const MKL_Complex8* a, const MKL_INT* lda,
              const MKL_Complex8* af, const MKL_INT* ldaf, const MKL_INT* ipiv,
              const MKL_Complex8* b, const MKL_INT* ldb, MKL_Complex8* x,
              const MKL_INT* ldx, float* ferr, float* berr, MKL_Complex8* work,
              float* rwork, MKL_INT* info ) NOTHROW;

void CSYRFSX( const char* uplo, const char* equed, const MKL_INT* n,
              const MKL_INT* nrhs, const MKL_Complex8* a, const MKL_INT* lda,
              const MKL_Complex8* af, const MKL_INT* ldaf, const MKL_INT* ipiv,
              float* s, const MKL_Complex8* b, const MKL_INT* ldb,
              MKL_Complex8* x, const MKL_INT* ldx, float* rcond, float* berr,
              const MKL_INT* n_err_bnds, float* err_bnds_norm,
              float* err_bnds_comp, const MKL_INT* nparams, float* params,
              MKL_Complex8* work, float* rwork, MKL_INT* info ) NOTHROW;
void CSYRFSX_( const char* uplo, const char* equed, const MKL_INT* n,
               const MKL_INT* nrhs, const MKL_Complex8* a, const MKL_INT* lda,
               const MKL_Complex8* af, const MKL_INT* ldaf,
               const MKL_INT* ipiv, float* s, const MKL_Complex8* b,
               const MKL_INT* ldb, MKL_Complex8* x, const MKL_INT* ldx,
               float* rcond, float* berr, const MKL_INT* n_err_bnds,
               float* err_bnds_norm, float* err_bnds_comp,
               const MKL_INT* nparams, float* params, MKL_Complex8* work,
               float* rwork, MKL_INT* info ) NOTHROW;
void csyrfsx( const char* uplo, const char* equed, const MKL_INT* n,
              const MKL_INT* nrhs, const MKL_Complex8* a, const MKL_INT* lda,
              const MKL_Complex8* af, const MKL_INT* ldaf, const MKL_INT* ipiv,
              float* s, const MKL_Complex8* b, const MKL_INT* ldb,
              MKL_Complex8* x, const MKL_INT* ldx, float* rcond, float* berr,
              const MKL_INT* n_err_bnds, float* err_bnds_norm,
              float* err_bnds_comp, const MKL_INT* nparams, float* params,
              MKL_Complex8* work, float* rwork, MKL_INT* info ) NOTHROW;
void csyrfsx_( const char* uplo, const char* equed, const MKL_INT* n,
               const MKL_INT* nrhs, const MKL_Complex8* a, const MKL_INT* lda,
               const MKL_Complex8* af, const MKL_INT* ldaf,
               const MKL_INT* ipiv, float* s, const MKL_Complex8* b,
               const MKL_INT* ldb, MKL_Complex8* x, const MKL_INT* ldx,
               float* rcond, float* berr, const MKL_INT* n_err_bnds,
               float* err_bnds_norm, float* err_bnds_comp,
               const MKL_INT* nparams, float* params, MKL_Complex8* work,
               float* rwork, MKL_INT* info ) NOTHROW;

void CSYSV( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs,
            MKL_Complex8* a, const MKL_INT* lda, MKL_INT* ipiv,
            MKL_Complex8* b, const MKL_INT* ldb, MKL_Complex8* work,
            const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void CSYSV_( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs,
             MKL_Complex8* a, const MKL_INT* lda, MKL_INT* ipiv,
             MKL_Complex8* b, const MKL_INT* ldb, MKL_Complex8* work,
             const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void csysv( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs,
            MKL_Complex8* a, const MKL_INT* lda, MKL_INT* ipiv,
            MKL_Complex8* b, const MKL_INT* ldb, MKL_Complex8* work,
            const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void csysv_( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs,
             MKL_Complex8* a, const MKL_INT* lda, MKL_INT* ipiv,
             MKL_Complex8* b, const MKL_INT* ldb, MKL_Complex8* work,
             const MKL_INT* lwork, MKL_INT* info ) NOTHROW;

void CSYSVX( const char* fact, const char* uplo, const MKL_INT* n,
             const MKL_INT* nrhs, const MKL_Complex8* a, const MKL_INT* lda,
             MKL_Complex8* af, const MKL_INT* ldaf, MKL_INT* ipiv,
             const MKL_Complex8* b, const MKL_INT* ldb, MKL_Complex8* x,
             const MKL_INT* ldx, float* rcond, float* ferr, float* berr,
             MKL_Complex8* work, const MKL_INT* lwork, float* rwork,
             MKL_INT* info ) NOTHROW;
void CSYSVX_( const char* fact, const char* uplo, const MKL_INT* n,
              const MKL_INT* nrhs, const MKL_Complex8* a, const MKL_INT* lda,
              MKL_Complex8* af, const MKL_INT* ldaf, MKL_INT* ipiv,
              const MKL_Complex8* b, const MKL_INT* ldb, MKL_Complex8* x,
              const MKL_INT* ldx, float* rcond, float* ferr, float* berr,
              MKL_Complex8* work, const MKL_INT* lwork, float* rwork,
              MKL_INT* info ) NOTHROW;
void csysvx( const char* fact, const char* uplo, const MKL_INT* n,
             const MKL_INT* nrhs, const MKL_Complex8* a, const MKL_INT* lda,
             MKL_Complex8* af, const MKL_INT* ldaf, MKL_INT* ipiv,
             const MKL_Complex8* b, const MKL_INT* ldb, MKL_Complex8* x,
             const MKL_INT* ldx, float* rcond, float* ferr, float* berr,
             MKL_Complex8* work, const MKL_INT* lwork, float* rwork,
             MKL_INT* info ) NOTHROW;
void csysvx_( const char* fact, const char* uplo, const MKL_INT* n,
              const MKL_INT* nrhs, const MKL_Complex8* a, const MKL_INT* lda,
              MKL_Complex8* af, const MKL_INT* ldaf, MKL_INT* ipiv,
              const MKL_Complex8* b, const MKL_INT* ldb, MKL_Complex8* x,
              const MKL_INT* ldx, float* rcond, float* ferr, float* berr,
              MKL_Complex8* work, const MKL_INT* lwork, float* rwork,
              MKL_INT* info ) NOTHROW;

void CSYSVXX( const char* fact, const char* uplo, const MKL_INT* n,
              const MKL_INT* nrhs, MKL_Complex8* a, const MKL_INT* lda,
              MKL_Complex8* af, const MKL_INT* ldaf, MKL_INT* ipiv,
              char* equed, float* s, MKL_Complex8* b, const MKL_INT* ldb,
              MKL_Complex8* x, const MKL_INT* ldx, float* rcond, float* rpvgrw,
              float* berr, const MKL_INT* n_err_bnds, float* err_bnds_norm,
              float* err_bnds_comp, const MKL_INT* nparams, float* params,
              MKL_Complex8* work, float* rwork, MKL_INT* info ) NOTHROW;
void CSYSVXX_( const char* fact, const char* uplo, const MKL_INT* n,
               const MKL_INT* nrhs, MKL_Complex8* a, const MKL_INT* lda,
               MKL_Complex8* af, const MKL_INT* ldaf, MKL_INT* ipiv,
               char* equed, float* s, MKL_Complex8* b, const MKL_INT* ldb,
               MKL_Complex8* x, const MKL_INT* ldx, float* rcond,
               float* rpvgrw, float* berr, const MKL_INT* n_err_bnds,
               float* err_bnds_norm, float* err_bnds_comp,
               const MKL_INT* nparams, float* params, MKL_Complex8* work,
               float* rwork, MKL_INT* info ) NOTHROW;
void csysvxx( const char* fact, const char* uplo, const MKL_INT* n,
              const MKL_INT* nrhs, MKL_Complex8* a, const MKL_INT* lda,
              MKL_Complex8* af, const MKL_INT* ldaf, MKL_INT* ipiv,
              char* equed, float* s, MKL_Complex8* b, const MKL_INT* ldb,
              MKL_Complex8* x, const MKL_INT* ldx, float* rcond, float* rpvgrw,
              float* berr, const MKL_INT* n_err_bnds, float* err_bnds_norm,
              float* err_bnds_comp, const MKL_INT* nparams, float* params,
              MKL_Complex8* work, float* rwork, MKL_INT* info ) NOTHROW;
void csysvxx_( const char* fact, const char* uplo, const MKL_INT* n,
               const MKL_INT* nrhs, MKL_Complex8* a, const MKL_INT* lda,
               MKL_Complex8* af, const MKL_INT* ldaf, MKL_INT* ipiv,
               char* equed, float* s, MKL_Complex8* b, const MKL_INT* ldb,
               MKL_Complex8* x, const MKL_INT* ldx, float* rcond,
               float* rpvgrw, float* berr, const MKL_INT* n_err_bnds,
               float* err_bnds_norm, float* err_bnds_comp,
               const MKL_INT* nparams, float* params, MKL_Complex8* work,
               float* rwork, MKL_INT* info ) NOTHROW;

void CSYTF2( const char* uplo, const MKL_INT* n, MKL_Complex8* a,
             const MKL_INT* lda, MKL_INT* ipiv, MKL_INT* info ) NOTHROW;
void CSYTF2_( const char* uplo, const MKL_INT* n, MKL_Complex8* a,
              const MKL_INT* lda, MKL_INT* ipiv, MKL_INT* info ) NOTHROW;
void csytf2( const char* uplo, const MKL_INT* n, MKL_Complex8* a,
             const MKL_INT* lda, MKL_INT* ipiv, MKL_INT* info ) NOTHROW;
void csytf2_( const char* uplo, const MKL_INT* n, MKL_Complex8* a,
              const MKL_INT* lda, MKL_INT* ipiv, MKL_INT* info ) NOTHROW;

void CSYTRF( const char* uplo, const MKL_INT* n, MKL_Complex8* a,
             const MKL_INT* lda, MKL_INT* ipiv, MKL_Complex8* work,
             const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void CSYTRF_( const char* uplo, const MKL_INT* n, MKL_Complex8* a,
              const MKL_INT* lda, MKL_INT* ipiv, MKL_Complex8* work,
              const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void csytrf( const char* uplo, const MKL_INT* n, MKL_Complex8* a,
             const MKL_INT* lda, MKL_INT* ipiv, MKL_Complex8* work,
             const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void csytrf_( const char* uplo, const MKL_INT* n, MKL_Complex8* a,
              const MKL_INT* lda, MKL_INT* ipiv, MKL_Complex8* work,
              const MKL_INT* lwork, MKL_INT* info ) NOTHROW;

void CSYTRI( const char* uplo, const MKL_INT* n, MKL_Complex8* a,
             const MKL_INT* lda, const MKL_INT* ipiv, MKL_Complex8* work,
             MKL_INT* info ) NOTHROW;
void CSYTRI_( const char* uplo, const MKL_INT* n, MKL_Complex8* a,
              const MKL_INT* lda, const MKL_INT* ipiv, MKL_Complex8* work,
              MKL_INT* info ) NOTHROW;
void csytri( const char* uplo, const MKL_INT* n, MKL_Complex8* a,
             const MKL_INT* lda, const MKL_INT* ipiv, MKL_Complex8* work,
             MKL_INT* info ) NOTHROW;
void csytri_( const char* uplo, const MKL_INT* n, MKL_Complex8* a,
              const MKL_INT* lda, const MKL_INT* ipiv, MKL_Complex8* work,
              MKL_INT* info ) NOTHROW;

void CSYTRS( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs,
             const MKL_Complex8* a, const MKL_INT* lda, const MKL_INT* ipiv,
             MKL_Complex8* b, const MKL_INT* ldb, MKL_INT* info ) NOTHROW;
void CSYTRS_( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs,
              const MKL_Complex8* a, const MKL_INT* lda, const MKL_INT* ipiv,
              MKL_Complex8* b, const MKL_INT* ldb, MKL_INT* info ) NOTHROW;
void csytrs( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs,
             const MKL_Complex8* a, const MKL_INT* lda, const MKL_INT* ipiv,
             MKL_Complex8* b, const MKL_INT* ldb, MKL_INT* info ) NOTHROW;
void csytrs_( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs,
              const MKL_Complex8* a, const MKL_INT* lda, const MKL_INT* ipiv,
              MKL_Complex8* b, const MKL_INT* ldb, MKL_INT* info ) NOTHROW;

void CTBCON( const char* norm, const char* uplo, const char* diag,
             const MKL_INT* n, const MKL_INT* kd, const MKL_Complex8* ab,
             const MKL_INT* ldab, float* rcond, MKL_Complex8* work,
             float* rwork, MKL_INT* info ) NOTHROW;
void CTBCON_( const char* norm, const char* uplo, const char* diag,
              const MKL_INT* n, const MKL_INT* kd, const MKL_Complex8* ab,
              const MKL_INT* ldab, float* rcond, MKL_Complex8* work,
              float* rwork, MKL_INT* info ) NOTHROW;
void ctbcon( const char* norm, const char* uplo, const char* diag,
             const MKL_INT* n, const MKL_INT* kd, const MKL_Complex8* ab,
             const MKL_INT* ldab, float* rcond, MKL_Complex8* work,
             float* rwork, MKL_INT* info ) NOTHROW;
void ctbcon_( const char* norm, const char* uplo, const char* diag,
              const MKL_INT* n, const MKL_INT* kd, const MKL_Complex8* ab,
              const MKL_INT* ldab, float* rcond, MKL_Complex8* work,
              float* rwork, MKL_INT* info ) NOTHROW;

void CTBRFS( const char* uplo, const char* trans, const char* diag,
             const MKL_INT* n, const MKL_INT* kd, const MKL_INT* nrhs,
             const MKL_Complex8* ab, const MKL_INT* ldab,
             const MKL_Complex8* b, const MKL_INT* ldb, const MKL_Complex8* x,
             const MKL_INT* ldx, float* ferr, float* berr, MKL_Complex8* work,
             float* rwork, MKL_INT* info ) NOTHROW;
void CTBRFS_( const char* uplo, const char* trans, const char* diag,
              const MKL_INT* n, const MKL_INT* kd, const MKL_INT* nrhs,
              const MKL_Complex8* ab, const MKL_INT* ldab,
              const MKL_Complex8* b, const MKL_INT* ldb, const MKL_Complex8* x,
              const MKL_INT* ldx, float* ferr, float* berr, MKL_Complex8* work,
              float* rwork, MKL_INT* info ) NOTHROW;
void ctbrfs( const char* uplo, const char* trans, const char* diag,
             const MKL_INT* n, const MKL_INT* kd, const MKL_INT* nrhs,
             const MKL_Complex8* ab, const MKL_INT* ldab,
             const MKL_Complex8* b, const MKL_INT* ldb, const MKL_Complex8* x,
             const MKL_INT* ldx, float* ferr, float* berr, MKL_Complex8* work,
             float* rwork, MKL_INT* info ) NOTHROW;
void ctbrfs_( const char* uplo, const char* trans, const char* diag,
              const MKL_INT* n, const MKL_INT* kd, const MKL_INT* nrhs,
              const MKL_Complex8* ab, const MKL_INT* ldab,
              const MKL_Complex8* b, const MKL_INT* ldb, const MKL_Complex8* x,
              const MKL_INT* ldx, float* ferr, float* berr, MKL_Complex8* work,
              float* rwork, MKL_INT* info ) NOTHROW;

void CTBTRS( const char* uplo, const char* trans, const char* diag,
             const MKL_INT* n, const MKL_INT* kd, const MKL_INT* nrhs,
             const MKL_Complex8* ab, const MKL_INT* ldab, MKL_Complex8* b,
             const MKL_INT* ldb, MKL_INT* info ) NOTHROW;
void CTBTRS_( const char* uplo, const char* trans, const char* diag,
              const MKL_INT* n, const MKL_INT* kd, const MKL_INT* nrhs,
              const MKL_Complex8* ab, const MKL_INT* ldab, MKL_Complex8* b,
              const MKL_INT* ldb, MKL_INT* info ) NOTHROW;
void ctbtrs( const char* uplo, const char* trans, const char* diag,
             const MKL_INT* n, const MKL_INT* kd, const MKL_INT* nrhs,
             const MKL_Complex8* ab, const MKL_INT* ldab, MKL_Complex8* b,
             const MKL_INT* ldb, MKL_INT* info ) NOTHROW;
void ctbtrs_( const char* uplo, const char* trans, const char* diag,
              const MKL_INT* n, const MKL_INT* kd, const MKL_INT* nrhs,
              const MKL_Complex8* ab, const MKL_INT* ldab, MKL_Complex8* b,
              const MKL_INT* ldb, MKL_INT* info ) NOTHROW;

void CTFSM( const char* transr, const char* side, const char* uplo,
            const char* trans, const char* diag, const MKL_INT* m,
            const MKL_INT* n, const MKL_Complex8* alpha, const MKL_Complex8* a,
            MKL_Complex8* b, const MKL_INT* ldb ) NOTHROW;
void CTFSM_( const char* transr, const char* side, const char* uplo,
             const char* trans, const char* diag, const MKL_INT* m,
             const MKL_INT* n, const MKL_Complex8* alpha,
             const MKL_Complex8* a, MKL_Complex8* b, const MKL_INT* ldb ) NOTHROW;
void ctfsm( const char* transr, const char* side, const char* uplo,
            const char* trans, const char* diag, const MKL_INT* m,
            const MKL_INT* n, const MKL_Complex8* alpha, const MKL_Complex8* a,
            MKL_Complex8* b, const MKL_INT* ldb ) NOTHROW;
void ctfsm_( const char* transr, const char* side, const char* uplo,
             const char* trans, const char* diag, const MKL_INT* m,
             const MKL_INT* n, const MKL_Complex8* alpha,
             const MKL_Complex8* a, MKL_Complex8* b, const MKL_INT* ldb ) NOTHROW;

void CTFTRI( const char* transr, const char* uplo, const char* diag,
             const MKL_INT* n, MKL_Complex8* a, MKL_INT* info ) NOTHROW;
void CTFTRI_( const char* transr, const char* uplo, const char* diag,
              const MKL_INT* n, MKL_Complex8* a, MKL_INT* info ) NOTHROW;
void ctftri( const char* transr, const char* uplo, const char* diag,
             const MKL_INT* n, MKL_Complex8* a, MKL_INT* info ) NOTHROW;
void ctftri_( const char* transr, const char* uplo, const char* diag,
              const MKL_INT* n, MKL_Complex8* a, MKL_INT* info ) NOTHROW;

void CTFTTP( const char* transr, const char* uplo, const MKL_INT* n,
             const MKL_Complex8* arf, MKL_Complex8* ap, MKL_INT* info ) NOTHROW;
void CTFTTP_( const char* transr, const char* uplo, const MKL_INT* n,
              const MKL_Complex8* arf, MKL_Complex8* ap, MKL_INT* info ) NOTHROW;
void ctfttp( const char* transr, const char* uplo, const MKL_INT* n,
             const MKL_Complex8* arf, MKL_Complex8* ap, MKL_INT* info ) NOTHROW;
void ctfttp_( const char* transr, const char* uplo, const MKL_INT* n,
              const MKL_Complex8* arf, MKL_Complex8* ap, MKL_INT* info ) NOTHROW;

void CTFTTR( const char* transr, const char* uplo, const MKL_INT* n,
             const MKL_Complex8* arf, MKL_Complex8* a, const MKL_INT* lda,
             MKL_INT* info ) NOTHROW;
void CTFTTR_( const char* transr, const char* uplo, const MKL_INT* n,
              const MKL_Complex8* arf, MKL_Complex8* a, const MKL_INT* lda,
              MKL_INT* info ) NOTHROW;
void ctfttr( const char* transr, const char* uplo, const MKL_INT* n,
             const MKL_Complex8* arf, MKL_Complex8* a, const MKL_INT* lda,
             MKL_INT* info ) NOTHROW;
void ctfttr_( const char* transr, const char* uplo, const MKL_INT* n,
              const MKL_Complex8* arf, MKL_Complex8* a, const MKL_INT* lda,
              MKL_INT* info ) NOTHROW;

void CTGEVC( const char* side, const char* howmny, const MKL_INT* select,
             const MKL_INT* n, const MKL_Complex8* s, const MKL_INT* lds,
             const MKL_Complex8* p, const MKL_INT* ldp, MKL_Complex8* vl,
             const MKL_INT* ldvl, MKL_Complex8* vr, const MKL_INT* ldvr,
             const MKL_INT* mm, MKL_INT* m, MKL_Complex8* work, float* rwork,
             MKL_INT* info ) NOTHROW;
void CTGEVC_( const char* side, const char* howmny, const MKL_INT* select,
              const MKL_INT* n, const MKL_Complex8* s, const MKL_INT* lds,
              const MKL_Complex8* p, const MKL_INT* ldp, MKL_Complex8* vl,
              const MKL_INT* ldvl, MKL_Complex8* vr, const MKL_INT* ldvr,
              const MKL_INT* mm, MKL_INT* m, MKL_Complex8* work, float* rwork,
              MKL_INT* info ) NOTHROW;
void ctgevc( const char* side, const char* howmny, const MKL_INT* select,
             const MKL_INT* n, const MKL_Complex8* s, const MKL_INT* lds,
             const MKL_Complex8* p, const MKL_INT* ldp, MKL_Complex8* vl,
             const MKL_INT* ldvl, MKL_Complex8* vr, const MKL_INT* ldvr,
             const MKL_INT* mm, MKL_INT* m, MKL_Complex8* work, float* rwork,
             MKL_INT* info ) NOTHROW;
void ctgevc_( const char* side, const char* howmny, const MKL_INT* select,
              const MKL_INT* n, const MKL_Complex8* s, const MKL_INT* lds,
              const MKL_Complex8* p, const MKL_INT* ldp, MKL_Complex8* vl,
              const MKL_INT* ldvl, MKL_Complex8* vr, const MKL_INT* ldvr,
              const MKL_INT* mm, MKL_INT* m, MKL_Complex8* work, float* rwork,
              MKL_INT* info ) NOTHROW;

void CTGEX2( const MKL_INT* wantq, const MKL_INT* wantz, const MKL_INT* n,
             MKL_Complex8* a, const MKL_INT* lda, MKL_Complex8* b,
             const MKL_INT* ldb, MKL_Complex8* q, const MKL_INT* ldq,
             MKL_Complex8* z, const MKL_INT* ldz, const MKL_INT* j1,
             MKL_INT* info ) NOTHROW;
void CTGEX2_( const MKL_INT* wantq, const MKL_INT* wantz, const MKL_INT* n,
              MKL_Complex8* a, const MKL_INT* lda, MKL_Complex8* b,
              const MKL_INT* ldb, MKL_Complex8* q, const MKL_INT* ldq,
              MKL_Complex8* z, const MKL_INT* ldz, const MKL_INT* j1,
              MKL_INT* info ) NOTHROW;
void ctgex2( const MKL_INT* wantq, const MKL_INT* wantz, const MKL_INT* n,
             MKL_Complex8* a, const MKL_INT* lda, MKL_Complex8* b,
             const MKL_INT* ldb, MKL_Complex8* q, const MKL_INT* ldq,
             MKL_Complex8* z, const MKL_INT* ldz, const MKL_INT* j1,
             MKL_INT* info ) NOTHROW;
void ctgex2_( const MKL_INT* wantq, const MKL_INT* wantz, const MKL_INT* n,
              MKL_Complex8* a, const MKL_INT* lda, MKL_Complex8* b,
              const MKL_INT* ldb, MKL_Complex8* q, const MKL_INT* ldq,
              MKL_Complex8* z, const MKL_INT* ldz, const MKL_INT* j1,
              MKL_INT* info ) NOTHROW;

void CTGEXC( const MKL_INT* wantq, const MKL_INT* wantz, const MKL_INT* n,
             MKL_Complex8* a, const MKL_INT* lda, MKL_Complex8* b,
             const MKL_INT* ldb, MKL_Complex8* q, const MKL_INT* ldq,
             MKL_Complex8* z, const MKL_INT* ldz, const MKL_INT* ifst,
             MKL_INT* ilst, MKL_INT* info ) NOTHROW;
void CTGEXC_( const MKL_INT* wantq, const MKL_INT* wantz, const MKL_INT* n,
              MKL_Complex8* a, const MKL_INT* lda, MKL_Complex8* b,
              const MKL_INT* ldb, MKL_Complex8* q, const MKL_INT* ldq,
              MKL_Complex8* z, const MKL_INT* ldz, const MKL_INT* ifst,
              MKL_INT* ilst, MKL_INT* info ) NOTHROW;
void ctgexc( const MKL_INT* wantq, const MKL_INT* wantz, const MKL_INT* n,
             MKL_Complex8* a, const MKL_INT* lda, MKL_Complex8* b,
             const MKL_INT* ldb, MKL_Complex8* q, const MKL_INT* ldq,
             MKL_Complex8* z, const MKL_INT* ldz, const MKL_INT* ifst,
             MKL_INT* ilst, MKL_INT* info ) NOTHROW;
void ctgexc_( const MKL_INT* wantq, const MKL_INT* wantz, const MKL_INT* n,
              MKL_Complex8* a, const MKL_INT* lda, MKL_Complex8* b,
              const MKL_INT* ldb, MKL_Complex8* q, const MKL_INT* ldq,
              MKL_Complex8* z, const MKL_INT* ldz, const MKL_INT* ifst,
              MKL_INT* ilst, MKL_INT* info ) NOTHROW;

void CTGSEN( const MKL_INT* ijob, const MKL_INT* wantq, const MKL_INT* wantz,
             const MKL_INT* select, const MKL_INT* n, MKL_Complex8* a,
             const MKL_INT* lda, MKL_Complex8* b, const MKL_INT* ldb,
             MKL_Complex8* alpha, MKL_Complex8* beta, MKL_Complex8* q,
             const MKL_INT* ldq, MKL_Complex8* z, const MKL_INT* ldz,
             MKL_INT* m, float* pl, float* pr, float* dif, MKL_Complex8* work,
             const MKL_INT* lwork, MKL_INT* iwork, const MKL_INT* liwork,
             MKL_INT* info ) NOTHROW;
void CTGSEN_( const MKL_INT* ijob, const MKL_INT* wantq, const MKL_INT* wantz,
              const MKL_INT* select, const MKL_INT* n, MKL_Complex8* a,
              const MKL_INT* lda, MKL_Complex8* b, const MKL_INT* ldb,
              MKL_Complex8* alpha, MKL_Complex8* beta, MKL_Complex8* q,
              const MKL_INT* ldq, MKL_Complex8* z, const MKL_INT* ldz,
              MKL_INT* m, float* pl, float* pr, float* dif, MKL_Complex8* work,
              const MKL_INT* lwork, MKL_INT* iwork, const MKL_INT* liwork,
              MKL_INT* info ) NOTHROW;
void ctgsen( const MKL_INT* ijob, const MKL_INT* wantq, const MKL_INT* wantz,
             const MKL_INT* select, const MKL_INT* n, MKL_Complex8* a,
             const MKL_INT* lda, MKL_Complex8* b, const MKL_INT* ldb,
             MKL_Complex8* alpha, MKL_Complex8* beta, MKL_Complex8* q,
             const MKL_INT* ldq, MKL_Complex8* z, const MKL_INT* ldz,
             MKL_INT* m, float* pl, float* pr, float* dif, MKL_Complex8* work,
             const MKL_INT* lwork, MKL_INT* iwork, const MKL_INT* liwork,
             MKL_INT* info ) NOTHROW;
void ctgsen_( const MKL_INT* ijob, const MKL_INT* wantq, const MKL_INT* wantz,
              const MKL_INT* select, const MKL_INT* n, MKL_Complex8* a,
              const MKL_INT* lda, MKL_Complex8* b, const MKL_INT* ldb,
              MKL_Complex8* alpha, MKL_Complex8* beta, MKL_Complex8* q,
              const MKL_INT* ldq, MKL_Complex8* z, const MKL_INT* ldz,
              MKL_INT* m, float* pl, float* pr, float* dif, MKL_Complex8* work,
              const MKL_INT* lwork, MKL_INT* iwork, const MKL_INT* liwork,
              MKL_INT* info ) NOTHROW;

void CTGSJA( const char* jobu, const char* jobv, const char* jobq,
             const MKL_INT* m, const MKL_INT* p, const MKL_INT* n,
             const MKL_INT* k, const MKL_INT* l, MKL_Complex8* a,
             const MKL_INT* lda, MKL_Complex8* b, const MKL_INT* ldb,
             const float* tola, const float* tolb, float* alpha, float* beta,
             MKL_Complex8* u, const MKL_INT* ldu, MKL_Complex8* v,
             const MKL_INT* ldv, MKL_Complex8* q, const MKL_INT* ldq,
             MKL_Complex8* work, MKL_INT* ncycle, MKL_INT* info ) NOTHROW;
void CTGSJA_( const char* jobu, const char* jobv, const char* jobq,
              const MKL_INT* m, const MKL_INT* p, const MKL_INT* n,
              const MKL_INT* k, const MKL_INT* l, MKL_Complex8* a,
              const MKL_INT* lda, MKL_Complex8* b, const MKL_INT* ldb,
              const float* tola, const float* tolb, float* alpha, float* beta,
              MKL_Complex8* u, const MKL_INT* ldu, MKL_Complex8* v,
              const MKL_INT* ldv, MKL_Complex8* q, const MKL_INT* ldq,
              MKL_Complex8* work, MKL_INT* ncycle, MKL_INT* info ) NOTHROW;
void ctgsja( const char* jobu, const char* jobv, const char* jobq,
             const MKL_INT* m, const MKL_INT* p, const MKL_INT* n,
             const MKL_INT* k, const MKL_INT* l, MKL_Complex8* a,
             const MKL_INT* lda, MKL_Complex8* b, const MKL_INT* ldb,
             const float* tola, const float* tolb, float* alpha, float* beta,
             MKL_Complex8* u, const MKL_INT* ldu, MKL_Complex8* v,
             const MKL_INT* ldv, MKL_Complex8* q, const MKL_INT* ldq,
             MKL_Complex8* work, MKL_INT* ncycle, MKL_INT* info ) NOTHROW;
void ctgsja_( const char* jobu, const char* jobv, const char* jobq,
              const MKL_INT* m, const MKL_INT* p, const MKL_INT* n,
              const MKL_INT* k, const MKL_INT* l, MKL_Complex8* a,
              const MKL_INT* lda, MKL_Complex8* b, const MKL_INT* ldb,
              const float* tola, const float* tolb, float* alpha, float* beta,
              MKL_Complex8* u, const MKL_INT* ldu, MKL_Complex8* v,
              const MKL_INT* ldv, MKL_Complex8* q, const MKL_INT* ldq,
              MKL_Complex8* work, MKL_INT* ncycle, MKL_INT* info ) NOTHROW;

void CTGSNA( const char* job, const char* howmny, const MKL_INT* select,
             const MKL_INT* n, const MKL_Complex8* a, const MKL_INT* lda,
             const MKL_Complex8* b, const MKL_INT* ldb, const MKL_Complex8* vl,
             const MKL_INT* ldvl, const MKL_Complex8* vr, const MKL_INT* ldvr,
             float* s, float* dif, const MKL_INT* mm, MKL_INT* m,
             MKL_Complex8* work, const MKL_INT* lwork, MKL_INT* iwork,
             MKL_INT* info ) NOTHROW;
void CTGSNA_( const char* job, const char* howmny, const MKL_INT* select,
              const MKL_INT* n, const MKL_Complex8* a, const MKL_INT* lda,
              const MKL_Complex8* b, const MKL_INT* ldb,
              const MKL_Complex8* vl, const MKL_INT* ldvl,
              const MKL_Complex8* vr, const MKL_INT* ldvr, float* s,
              float* dif, const MKL_INT* mm, MKL_INT* m, MKL_Complex8* work,
              const MKL_INT* lwork, MKL_INT* iwork, MKL_INT* info ) NOTHROW;
void ctgsna( const char* job, const char* howmny, const MKL_INT* select,
             const MKL_INT* n, const MKL_Complex8* a, const MKL_INT* lda,
             const MKL_Complex8* b, const MKL_INT* ldb, const MKL_Complex8* vl,
             const MKL_INT* ldvl, const MKL_Complex8* vr, const MKL_INT* ldvr,
             float* s, float* dif, const MKL_INT* mm, MKL_INT* m,
             MKL_Complex8* work, const MKL_INT* lwork, MKL_INT* iwork,
             MKL_INT* info ) NOTHROW;
void ctgsna_( const char* job, const char* howmny, const MKL_INT* select,
              const MKL_INT* n, const MKL_Complex8* a, const MKL_INT* lda,
              const MKL_Complex8* b, const MKL_INT* ldb,
              const MKL_Complex8* vl, const MKL_INT* ldvl,
              const MKL_Complex8* vr, const MKL_INT* ldvr, float* s,
              float* dif, const MKL_INT* mm, MKL_INT* m, MKL_Complex8* work,
              const MKL_INT* lwork, MKL_INT* iwork, MKL_INT* info ) NOTHROW;

void CTGSY2( const char* trans, const MKL_INT* ijob, const MKL_INT* m,
             const MKL_INT* n, const MKL_Complex8* a, const MKL_INT* lda,
             const MKL_Complex8* b, const MKL_INT* ldb, MKL_Complex8* c,
             const MKL_INT* ldc, const MKL_Complex8* d, const MKL_INT* ldd,
             const MKL_Complex8* e, const MKL_INT* lde, MKL_Complex8* f,
             const MKL_INT* ldf, float* scale, float* rdsum, float* rdscal,
             MKL_INT* info ) NOTHROW;
void CTGSY2_( const char* trans, const MKL_INT* ijob, const MKL_INT* m,
              const MKL_INT* n, const MKL_Complex8* a, const MKL_INT* lda,
              const MKL_Complex8* b, const MKL_INT* ldb, MKL_Complex8* c,
              const MKL_INT* ldc, const MKL_Complex8* d, const MKL_INT* ldd,
              const MKL_Complex8* e, const MKL_INT* lde, MKL_Complex8* f,
              const MKL_INT* ldf, float* scale, float* rdsum, float* rdscal,
              MKL_INT* info ) NOTHROW;
void ctgsy2( const char* trans, const MKL_INT* ijob, const MKL_INT* m,
             const MKL_INT* n, const MKL_Complex8* a, const MKL_INT* lda,
             const MKL_Complex8* b, const MKL_INT* ldb, MKL_Complex8* c,
             const MKL_INT* ldc, const MKL_Complex8* d, const MKL_INT* ldd,
             const MKL_Complex8* e, const MKL_INT* lde, MKL_Complex8* f,
             const MKL_INT* ldf, float* scale, float* rdsum, float* rdscal,
             MKL_INT* info ) NOTHROW;
void ctgsy2_( const char* trans, const MKL_INT* ijob, const MKL_INT* m,
              const MKL_INT* n, const MKL_Complex8* a, const MKL_INT* lda,
              const MKL_Complex8* b, const MKL_INT* ldb, MKL_Complex8* c,
              const MKL_INT* ldc, const MKL_Complex8* d, const MKL_INT* ldd,
              const MKL_Complex8* e, const MKL_INT* lde, MKL_Complex8* f,
              const MKL_INT* ldf, float* scale, float* rdsum, float* rdscal,
              MKL_INT* info ) NOTHROW;

void CTGSYL( const char* trans, const MKL_INT* ijob, const MKL_INT* m,
             const MKL_INT* n, const MKL_Complex8* a, const MKL_INT* lda,
             const MKL_Complex8* b, const MKL_INT* ldb, MKL_Complex8* c,
             const MKL_INT* ldc, const MKL_Complex8* d, const MKL_INT* ldd,
             const MKL_Complex8* e, const MKL_INT* lde, MKL_Complex8* f,
             const MKL_INT* ldf, float* scale, float* dif, MKL_Complex8* work,
             const MKL_INT* lwork, MKL_INT* iwork, MKL_INT* info ) NOTHROW;
void CTGSYL_( const char* trans, const MKL_INT* ijob, const MKL_INT* m,
              const MKL_INT* n, const MKL_Complex8* a, const MKL_INT* lda,
              const MKL_Complex8* b, const MKL_INT* ldb, MKL_Complex8* c,
              const MKL_INT* ldc, const MKL_Complex8* d, const MKL_INT* ldd,
              const MKL_Complex8* e, const MKL_INT* lde, MKL_Complex8* f,
              const MKL_INT* ldf, float* scale, float* dif, MKL_Complex8* work,
              const MKL_INT* lwork, MKL_INT* iwork, MKL_INT* info ) NOTHROW;
void ctgsyl( const char* trans, const MKL_INT* ijob, const MKL_INT* m,
             const MKL_INT* n, const MKL_Complex8* a, const MKL_INT* lda,
             const MKL_Complex8* b, const MKL_INT* ldb, MKL_Complex8* c,
             const MKL_INT* ldc, const MKL_Complex8* d, const MKL_INT* ldd,
             const MKL_Complex8* e, const MKL_INT* lde, MKL_Complex8* f,
             const MKL_INT* ldf, float* scale, float* dif, MKL_Complex8* work,
             const MKL_INT* lwork, MKL_INT* iwork, MKL_INT* info ) NOTHROW;
void ctgsyl_( const char* trans, const MKL_INT* ijob, const MKL_INT* m,
              const MKL_INT* n, const MKL_Complex8* a, const MKL_INT* lda,
              const MKL_Complex8* b, const MKL_INT* ldb, MKL_Complex8* c,
              const MKL_INT* ldc, const MKL_Complex8* d, const MKL_INT* ldd,
              const MKL_Complex8* e, const MKL_INT* lde, MKL_Complex8* f,
              const MKL_INT* ldf, float* scale, float* dif, MKL_Complex8* work,
              const MKL_INT* lwork, MKL_INT* iwork, MKL_INT* info ) NOTHROW;

void CTPCON( const char* norm, const char* uplo, const char* diag,
             const MKL_INT* n, const MKL_Complex8* ap, float* rcond,
             MKL_Complex8* work, float* rwork, MKL_INT* info ) NOTHROW;
void CTPCON_( const char* norm, const char* uplo, const char* diag,
              const MKL_INT* n, const MKL_Complex8* ap, float* rcond,
              MKL_Complex8* work, float* rwork, MKL_INT* info ) NOTHROW;
void ctpcon( const char* norm, const char* uplo, const char* diag,
             const MKL_INT* n, const MKL_Complex8* ap, float* rcond,
             MKL_Complex8* work, float* rwork, MKL_INT* info ) NOTHROW;
void ctpcon_( const char* norm, const char* uplo, const char* diag,
              const MKL_INT* n, const MKL_Complex8* ap, float* rcond,
              MKL_Complex8* work, float* rwork, MKL_INT* info ) NOTHROW;

void CTPRFS( const char* uplo, const char* trans, const char* diag,
             const MKL_INT* n, const MKL_INT* nrhs, const MKL_Complex8* ap,
             const MKL_Complex8* b, const MKL_INT* ldb, const MKL_Complex8* x,
             const MKL_INT* ldx, float* ferr, float* berr, MKL_Complex8* work,
             float* rwork, MKL_INT* info ) NOTHROW;
void CTPRFS_( const char* uplo, const char* trans, const char* diag,
              const MKL_INT* n, const MKL_INT* nrhs, const MKL_Complex8* ap,
              const MKL_Complex8* b, const MKL_INT* ldb, const MKL_Complex8* x,
              const MKL_INT* ldx, float* ferr, float* berr, MKL_Complex8* work,
              float* rwork, MKL_INT* info ) NOTHROW;
void ctprfs( const char* uplo, const char* trans, const char* diag,
             const MKL_INT* n, const MKL_INT* nrhs, const MKL_Complex8* ap,
             const MKL_Complex8* b, const MKL_INT* ldb, const MKL_Complex8* x,
             const MKL_INT* ldx, float* ferr, float* berr, MKL_Complex8* work,
             float* rwork, MKL_INT* info ) NOTHROW;
void ctprfs_( const char* uplo, const char* trans, const char* diag,
              const MKL_INT* n, const MKL_INT* nrhs, const MKL_Complex8* ap,
              const MKL_Complex8* b, const MKL_INT* ldb, const MKL_Complex8* x,
              const MKL_INT* ldx, float* ferr, float* berr, MKL_Complex8* work,
              float* rwork, MKL_INT* info ) NOTHROW;

void CTPTRI( const char* uplo, const char* diag, const MKL_INT* n,
             MKL_Complex8* ap, MKL_INT* info ) NOTHROW;
void CTPTRI_( const char* uplo, const char* diag, const MKL_INT* n,
              MKL_Complex8* ap, MKL_INT* info ) NOTHROW;
void ctptri( const char* uplo, const char* diag, const MKL_INT* n,
             MKL_Complex8* ap, MKL_INT* info ) NOTHROW;
void ctptri_( const char* uplo, const char* diag, const MKL_INT* n,
              MKL_Complex8* ap, MKL_INT* info ) NOTHROW;

void CTPTRS( const char* uplo, const char* trans, const char* diag,
             const MKL_INT* n, const MKL_INT* nrhs, const MKL_Complex8* ap,
             MKL_Complex8* b, const MKL_INT* ldb, MKL_INT* info ) NOTHROW;
void CTPTRS_( const char* uplo, const char* trans, const char* diag,
              const MKL_INT* n, const MKL_INT* nrhs, const MKL_Complex8* ap,
              MKL_Complex8* b, const MKL_INT* ldb, MKL_INT* info ) NOTHROW;
void ctptrs( const char* uplo, const char* trans, const char* diag,
             const MKL_INT* n, const MKL_INT* nrhs, const MKL_Complex8* ap,
             MKL_Complex8* b, const MKL_INT* ldb, MKL_INT* info ) NOTHROW;
void ctptrs_( const char* uplo, const char* trans, const char* diag,
              const MKL_INT* n, const MKL_INT* nrhs, const MKL_Complex8* ap,
              MKL_Complex8* b, const MKL_INT* ldb, MKL_INT* info ) NOTHROW;

void CTPTTF( const char* transr, const char* uplo, const MKL_INT* n,
             const MKL_Complex8* ap, MKL_Complex8* arf, MKL_INT* info ) NOTHROW;
void CTPTTF_( const char* transr, const char* uplo, const MKL_INT* n,
              const MKL_Complex8* ap, MKL_Complex8* arf, MKL_INT* info ) NOTHROW;
void ctpttf( const char* transr, const char* uplo, const MKL_INT* n,
             const MKL_Complex8* ap, MKL_Complex8* arf, MKL_INT* info ) NOTHROW;
void ctpttf_( const char* transr, const char* uplo, const MKL_INT* n,
              const MKL_Complex8* ap, MKL_Complex8* arf, MKL_INT* info ) NOTHROW;

void CTPTTR( const char* uplo, const MKL_INT* n, const MKL_Complex8* ap,
             MKL_Complex8* a, const MKL_INT* lda, MKL_INT* info ) NOTHROW;
void CTPTTR_( const char* uplo, const MKL_INT* n, const MKL_Complex8* ap,
              MKL_Complex8* a, const MKL_INT* lda, MKL_INT* info ) NOTHROW;
void ctpttr( const char* uplo, const MKL_INT* n, const MKL_Complex8* ap,
             MKL_Complex8* a, const MKL_INT* lda, MKL_INT* info ) NOTHROW;
void ctpttr_( const char* uplo, const MKL_INT* n, const MKL_Complex8* ap,
              MKL_Complex8* a, const MKL_INT* lda, MKL_INT* info ) NOTHROW;

void CTRCON( const char* norm, const char* uplo, const char* diag,
             const MKL_INT* n, const MKL_Complex8* a, const MKL_INT* lda,
             float* rcond, MKL_Complex8* work, float* rwork, MKL_INT* info ) NOTHROW;
void CTRCON_( const char* norm, const char* uplo, const char* diag,
              const MKL_INT* n, const MKL_Complex8* a, const MKL_INT* lda,
              float* rcond, MKL_Complex8* work, float* rwork, MKL_INT* info ) NOTHROW;
void ctrcon( const char* norm, const char* uplo, const char* diag,
             const MKL_INT* n, const MKL_Complex8* a, const MKL_INT* lda,
             float* rcond, MKL_Complex8* work, float* rwork, MKL_INT* info ) NOTHROW;
void ctrcon_( const char* norm, const char* uplo, const char* diag,
              const MKL_INT* n, const MKL_Complex8* a, const MKL_INT* lda,
              float* rcond, MKL_Complex8* work, float* rwork, MKL_INT* info ) NOTHROW;

void CTREVC( const char* side, const char* howmny, const MKL_INT* select,
             const MKL_INT* n, MKL_Complex8* t, const MKL_INT* ldt,
             MKL_Complex8* vl, const MKL_INT* ldvl, MKL_Complex8* vr,
             const MKL_INT* ldvr, const MKL_INT* mm, MKL_INT* m,
             MKL_Complex8* work, float* rwork, MKL_INT* info ) NOTHROW;
void CTREVC_( const char* side, const char* howmny, const MKL_INT* select,
              const MKL_INT* n, MKL_Complex8* t, const MKL_INT* ldt,
              MKL_Complex8* vl, const MKL_INT* ldvl, MKL_Complex8* vr,
              const MKL_INT* ldvr, const MKL_INT* mm, MKL_INT* m,
              MKL_Complex8* work, float* rwork, MKL_INT* info ) NOTHROW;
void ctrevc( const char* side, const char* howmny, const MKL_INT* select,
             const MKL_INT* n, MKL_Complex8* t, const MKL_INT* ldt,
             MKL_Complex8* vl, const MKL_INT* ldvl, MKL_Complex8* vr,
             const MKL_INT* ldvr, const MKL_INT* mm, MKL_INT* m,
             MKL_Complex8* work, float* rwork, MKL_INT* info ) NOTHROW;
void ctrevc_( const char* side, const char* howmny, const MKL_INT* select,
              const MKL_INT* n, MKL_Complex8* t, const MKL_INT* ldt,
              MKL_Complex8* vl, const MKL_INT* ldvl, MKL_Complex8* vr,
              const MKL_INT* ldvr, const MKL_INT* mm, MKL_INT* m,
              MKL_Complex8* work, float* rwork, MKL_INT* info ) NOTHROW;

void CTREXC( const char* compq, const MKL_INT* n, MKL_Complex8* t,
             const MKL_INT* ldt, MKL_Complex8* q, const MKL_INT* ldq,
             const MKL_INT* ifst, const MKL_INT* ilst, MKL_INT* info ) NOTHROW;
void CTREXC_( const char* compq, const MKL_INT* n, MKL_Complex8* t,
              const MKL_INT* ldt, MKL_Complex8* q, const MKL_INT* ldq,
              const MKL_INT* ifst, const MKL_INT* ilst, MKL_INT* info ) NOTHROW;
void ctrexc( const char* compq, const MKL_INT* n, MKL_Complex8* t,
             const MKL_INT* ldt, MKL_Complex8* q, const MKL_INT* ldq,
             const MKL_INT* ifst, const MKL_INT* ilst, MKL_INT* info ) NOTHROW;
void ctrexc_( const char* compq, const MKL_INT* n, MKL_Complex8* t,
              const MKL_INT* ldt, MKL_Complex8* q, const MKL_INT* ldq,
              const MKL_INT* ifst, const MKL_INT* ilst, MKL_INT* info ) NOTHROW;

void CTRRFS( const char* uplo, const char* trans, const char* diag,
             const MKL_INT* n, const MKL_INT* nrhs, const MKL_Complex8* a,
             const MKL_INT* lda, const MKL_Complex8* b, const MKL_INT* ldb,
             const MKL_Complex8* x, const MKL_INT* ldx, float* ferr,
             float* berr, MKL_Complex8* work, float* rwork, MKL_INT* info ) NOTHROW;
void CTRRFS_( const char* uplo, const char* trans, const char* diag,
              const MKL_INT* n, const MKL_INT* nrhs, const MKL_Complex8* a,
              const MKL_INT* lda, const MKL_Complex8* b, const MKL_INT* ldb,
              const MKL_Complex8* x, const MKL_INT* ldx, float* ferr,
              float* berr, MKL_Complex8* work, float* rwork, MKL_INT* info ) NOTHROW;
void ctrrfs( const char* uplo, const char* trans, const char* diag,
             const MKL_INT* n, const MKL_INT* nrhs, const MKL_Complex8* a,
             const MKL_INT* lda, const MKL_Complex8* b, const MKL_INT* ldb,
             const MKL_Complex8* x, const MKL_INT* ldx, float* ferr,
             float* berr, MKL_Complex8* work, float* rwork, MKL_INT* info ) NOTHROW;
void ctrrfs_( const char* uplo, const char* trans, const char* diag,
              const MKL_INT* n, const MKL_INT* nrhs, const MKL_Complex8* a,
              const MKL_INT* lda, const MKL_Complex8* b, const MKL_INT* ldb,
              const MKL_Complex8* x, const MKL_INT* ldx, float* ferr,
              float* berr, MKL_Complex8* work, float* rwork, MKL_INT* info ) NOTHROW;

void CTRSEN( const char* job, const char* compq, const MKL_INT* select,
             const MKL_INT* n, MKL_Complex8* t, const MKL_INT* ldt,
             MKL_Complex8* q, const MKL_INT* ldq, MKL_Complex8* w, MKL_INT* m,
             float* s, float* sep, MKL_Complex8* work, const MKL_INT* lwork,
             MKL_INT* info ) NOTHROW;
void CTRSEN_( const char* job, const char* compq, const MKL_INT* select,
              const MKL_INT* n, MKL_Complex8* t, const MKL_INT* ldt,
              MKL_Complex8* q, const MKL_INT* ldq, MKL_Complex8* w, MKL_INT* m,
              float* s, float* sep, MKL_Complex8* work, const MKL_INT* lwork,
              MKL_INT* info ) NOTHROW;
void ctrsen( const char* job, const char* compq, const MKL_INT* select,
             const MKL_INT* n, MKL_Complex8* t, const MKL_INT* ldt,
             MKL_Complex8* q, const MKL_INT* ldq, MKL_Complex8* w, MKL_INT* m,
             float* s, float* sep, MKL_Complex8* work, const MKL_INT* lwork,
             MKL_INT* info ) NOTHROW;
void ctrsen_( const char* job, const char* compq, const MKL_INT* select,
              const MKL_INT* n, MKL_Complex8* t, const MKL_INT* ldt,
              MKL_Complex8* q, const MKL_INT* ldq, MKL_Complex8* w, MKL_INT* m,
              float* s, float* sep, MKL_Complex8* work, const MKL_INT* lwork,
              MKL_INT* info ) NOTHROW;

void CTRSNA( const char* job, const char* howmny, const MKL_INT* select,
             const MKL_INT* n, const MKL_Complex8* t, const MKL_INT* ldt,
             const MKL_Complex8* vl, const MKL_INT* ldvl,
             const MKL_Complex8* vr, const MKL_INT* ldvr, float* s, float* sep,
             const MKL_INT* mm, MKL_INT* m, MKL_Complex8* work,
             const MKL_INT* ldwork, float* rwork, MKL_INT* info ) NOTHROW;
void CTRSNA_( const char* job, const char* howmny, const MKL_INT* select,
              const MKL_INT* n, const MKL_Complex8* t, const MKL_INT* ldt,
              const MKL_Complex8* vl, const MKL_INT* ldvl,
              const MKL_Complex8* vr, const MKL_INT* ldvr, float* s,
              float* sep, const MKL_INT* mm, MKL_INT* m, MKL_Complex8* work,
              const MKL_INT* ldwork, float* rwork, MKL_INT* info ) NOTHROW;
void ctrsna( const char* job, const char* howmny, const MKL_INT* select,
             const MKL_INT* n, const MKL_Complex8* t, const MKL_INT* ldt,
             const MKL_Complex8* vl, const MKL_INT* ldvl,
             const MKL_Complex8* vr, const MKL_INT* ldvr, float* s, float* sep,
             const MKL_INT* mm, MKL_INT* m, MKL_Complex8* work,
             const MKL_INT* ldwork, float* rwork, MKL_INT* info ) NOTHROW;
void ctrsna_( const char* job, const char* howmny, const MKL_INT* select,
              const MKL_INT* n, const MKL_Complex8* t, const MKL_INT* ldt,
              const MKL_Complex8* vl, const MKL_INT* ldvl,
              const MKL_Complex8* vr, const MKL_INT* ldvr, float* s,
              float* sep, const MKL_INT* mm, MKL_INT* m, MKL_Complex8* work,
              const MKL_INT* ldwork, float* rwork, MKL_INT* info ) NOTHROW;

void CTRSYL( const char* trana, const char* tranb, const MKL_INT* isgn,
             const MKL_INT* m, const MKL_INT* n, const MKL_Complex8* a,
             const MKL_INT* lda, const MKL_Complex8* b, const MKL_INT* ldb,
             MKL_Complex8* c, const MKL_INT* ldc, float* scale,
             MKL_INT* info ) NOTHROW;
void CTRSYL_( const char* trana, const char* tranb, const MKL_INT* isgn,
              const MKL_INT* m, const MKL_INT* n, const MKL_Complex8* a,
              const MKL_INT* lda, const MKL_Complex8* b, const MKL_INT* ldb,
              MKL_Complex8* c, const MKL_INT* ldc, float* scale,
              MKL_INT* info ) NOTHROW;
void ctrsyl( const char* trana, const char* tranb, const MKL_INT* isgn,
             const MKL_INT* m, const MKL_INT* n, const MKL_Complex8* a,
             const MKL_INT* lda, const MKL_Complex8* b, const MKL_INT* ldb,
             MKL_Complex8* c, const MKL_INT* ldc, float* scale,
             MKL_INT* info ) NOTHROW;
void ctrsyl_( const char* trana, const char* tranb, const MKL_INT* isgn,
              const MKL_INT* m, const MKL_INT* n, const MKL_Complex8* a,
              const MKL_INT* lda, const MKL_Complex8* b, const MKL_INT* ldb,
              MKL_Complex8* c, const MKL_INT* ldc, float* scale,
              MKL_INT* info ) NOTHROW;

void CTRTI2( const char* uplo, const char* diag, const MKL_INT* n,
             MKL_Complex8* a, const MKL_INT* lda, MKL_INT* info ) NOTHROW;
void CTRTI2_( const char* uplo, const char* diag, const MKL_INT* n,
              MKL_Complex8* a, const MKL_INT* lda, MKL_INT* info ) NOTHROW;
void ctrti2( const char* uplo, const char* diag, const MKL_INT* n,
             MKL_Complex8* a, const MKL_INT* lda, MKL_INT* info ) NOTHROW;
void ctrti2_( const char* uplo, const char* diag, const MKL_INT* n,
              MKL_Complex8* a, const MKL_INT* lda, MKL_INT* info ) NOTHROW;

void CTRTRI( const char* uplo, const char* diag, const MKL_INT* n,
             MKL_Complex8* a, const MKL_INT* lda, MKL_INT* info ) NOTHROW;
void CTRTRI_( const char* uplo, const char* diag, const MKL_INT* n,
              MKL_Complex8* a, const MKL_INT* lda, MKL_INT* info ) NOTHROW;
void ctrtri( const char* uplo, const char* diag, const MKL_INT* n,
             MKL_Complex8* a, const MKL_INT* lda, MKL_INT* info ) NOTHROW;
void ctrtri_( const char* uplo, const char* diag, const MKL_INT* n,
              MKL_Complex8* a, const MKL_INT* lda, MKL_INT* info ) NOTHROW;

void CTRTRS( const char* uplo, const char* trans, const char* diag,
             const MKL_INT* n, const MKL_INT* nrhs, const MKL_Complex8* a,
             const MKL_INT* lda, MKL_Complex8* b, const MKL_INT* ldb,
             MKL_INT* info ) NOTHROW;
void CTRTRS_( const char* uplo, const char* trans, const char* diag,
              const MKL_INT* n, const MKL_INT* nrhs, const MKL_Complex8* a,
              const MKL_INT* lda, MKL_Complex8* b, const MKL_INT* ldb,
              MKL_INT* info ) NOTHROW;
void ctrtrs( const char* uplo, const char* trans, const char* diag,
             const MKL_INT* n, const MKL_INT* nrhs, const MKL_Complex8* a,
             const MKL_INT* lda, MKL_Complex8* b, const MKL_INT* ldb,
             MKL_INT* info ) NOTHROW;
void ctrtrs_( const char* uplo, const char* trans, const char* diag,
              const MKL_INT* n, const MKL_INT* nrhs, const MKL_Complex8* a,
              const MKL_INT* lda, MKL_Complex8* b, const MKL_INT* ldb,
              MKL_INT* info ) NOTHROW;

void CTRTTF( const char* transr, const char* uplo, const MKL_INT* n,
             const MKL_Complex8* a, const MKL_INT* lda, MKL_Complex8* arf,
             MKL_INT* info ) NOTHROW;
void CTRTTF_( const char* transr, const char* uplo, const MKL_INT* n,
              const MKL_Complex8* a, const MKL_INT* lda, MKL_Complex8* arf,
              MKL_INT* info ) NOTHROW;
void ctrttf( const char* transr, const char* uplo, const MKL_INT* n,
             const MKL_Complex8* a, const MKL_INT* lda, MKL_Complex8* arf,
             MKL_INT* info ) NOTHROW;
void ctrttf_( const char* transr, const char* uplo, const MKL_INT* n,
              const MKL_Complex8* a, const MKL_INT* lda, MKL_Complex8* arf,
              MKL_INT* info ) NOTHROW;

void CTRTTP( const char* uplo, const MKL_INT* n, const MKL_Complex8* a,
             const MKL_INT* lda, MKL_Complex8* ap, MKL_INT* info ) NOTHROW;
void CTRTTP_( const char* uplo, const MKL_INT* n, const MKL_Complex8* a,
              const MKL_INT* lda, MKL_Complex8* ap, MKL_INT* info ) NOTHROW;
void ctrttp( const char* uplo, const MKL_INT* n, const MKL_Complex8* a,
             const MKL_INT* lda, MKL_Complex8* ap, MKL_INT* info ) NOTHROW;
void ctrttp_( const char* uplo, const MKL_INT* n, const MKL_Complex8* a,
              const MKL_INT* lda, MKL_Complex8* ap, MKL_INT* info ) NOTHROW;

void CTZRQF( const MKL_INT* m, const MKL_INT* n, MKL_Complex8* a,
             const MKL_INT* lda, MKL_Complex8* tau, MKL_INT* info ) NOTHROW;
void CTZRQF_( const MKL_INT* m, const MKL_INT* n, MKL_Complex8* a,
              const MKL_INT* lda, MKL_Complex8* tau, MKL_INT* info ) NOTHROW;
void ctzrqf( const MKL_INT* m, const MKL_INT* n, MKL_Complex8* a,
             const MKL_INT* lda, MKL_Complex8* tau, MKL_INT* info ) NOTHROW;
void ctzrqf_( const MKL_INT* m, const MKL_INT* n, MKL_Complex8* a,
              const MKL_INT* lda, MKL_Complex8* tau, MKL_INT* info ) NOTHROW;

void CTZRZF( const MKL_INT* m, const MKL_INT* n, MKL_Complex8* a,
             const MKL_INT* lda, MKL_Complex8* tau, MKL_Complex8* work,
             const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void CTZRZF_( const MKL_INT* m, const MKL_INT* n, MKL_Complex8* a,
              const MKL_INT* lda, MKL_Complex8* tau, MKL_Complex8* work,
              const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void ctzrzf( const MKL_INT* m, const MKL_INT* n, MKL_Complex8* a,
             const MKL_INT* lda, MKL_Complex8* tau, MKL_Complex8* work,
             const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void ctzrzf_( const MKL_INT* m, const MKL_INT* n, MKL_Complex8* a,
              const MKL_INT* lda, MKL_Complex8* tau, MKL_Complex8* work,
              const MKL_INT* lwork, MKL_INT* info ) NOTHROW;

void CUNG2L( const MKL_INT* m, const MKL_INT* n, const MKL_INT* k,
             MKL_Complex8* a, const MKL_INT* lda, const MKL_Complex8* tau,
             MKL_Complex8* work, MKL_INT* info ) NOTHROW;
void CUNG2L_( const MKL_INT* m, const MKL_INT* n, const MKL_INT* k,
              MKL_Complex8* a, const MKL_INT* lda, const MKL_Complex8* tau,
              MKL_Complex8* work, MKL_INT* info ) NOTHROW;
void cung2l( const MKL_INT* m, const MKL_INT* n, const MKL_INT* k,
             MKL_Complex8* a, const MKL_INT* lda, const MKL_Complex8* tau,
             MKL_Complex8* work, MKL_INT* info ) NOTHROW;
void cung2l_( const MKL_INT* m, const MKL_INT* n, const MKL_INT* k,
              MKL_Complex8* a, const MKL_INT* lda, const MKL_Complex8* tau,
              MKL_Complex8* work, MKL_INT* info ) NOTHROW;

void CUNG2R( const MKL_INT* m, const MKL_INT* n, const MKL_INT* k,
             MKL_Complex8* a, const MKL_INT* lda, const MKL_Complex8* tau,
             MKL_Complex8* work, MKL_INT* info ) NOTHROW;
void CUNG2R_( const MKL_INT* m, const MKL_INT* n, const MKL_INT* k,
              MKL_Complex8* a, const MKL_INT* lda, const MKL_Complex8* tau,
              MKL_Complex8* work, MKL_INT* info ) NOTHROW;
void cung2r( const MKL_INT* m, const MKL_INT* n, const MKL_INT* k,
             MKL_Complex8* a, const MKL_INT* lda, const MKL_Complex8* tau,
             MKL_Complex8* work, MKL_INT* info ) NOTHROW;
void cung2r_( const MKL_INT* m, const MKL_INT* n, const MKL_INT* k,
              MKL_Complex8* a, const MKL_INT* lda, const MKL_Complex8* tau,
              MKL_Complex8* work, MKL_INT* info ) NOTHROW;

void CUNGBR( const char* vect, const MKL_INT* m, const MKL_INT* n,
             const MKL_INT* k, MKL_Complex8* a, const MKL_INT* lda,
             const MKL_Complex8* tau, MKL_Complex8* work, const MKL_INT* lwork,
             MKL_INT* info ) NOTHROW;
void CUNGBR_( const char* vect, const MKL_INT* m, const MKL_INT* n,
              const MKL_INT* k, MKL_Complex8* a, const MKL_INT* lda,
              const MKL_Complex8* tau, MKL_Complex8* work,
              const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void cungbr( const char* vect, const MKL_INT* m, const MKL_INT* n,
             const MKL_INT* k, MKL_Complex8* a, const MKL_INT* lda,
             const MKL_Complex8* tau, MKL_Complex8* work, const MKL_INT* lwork,
             MKL_INT* info ) NOTHROW;
void cungbr_( const char* vect, const MKL_INT* m, const MKL_INT* n,
              const MKL_INT* k, MKL_Complex8* a, const MKL_INT* lda,
              const MKL_Complex8* tau, MKL_Complex8* work,
              const MKL_INT* lwork, MKL_INT* info ) NOTHROW;

void CUNGHR( const MKL_INT* n, const MKL_INT* ilo, const MKL_INT* ihi,
             MKL_Complex8* a, const MKL_INT* lda, const MKL_Complex8* tau,
             MKL_Complex8* work, const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void CUNGHR_( const MKL_INT* n, const MKL_INT* ilo, const MKL_INT* ihi,
              MKL_Complex8* a, const MKL_INT* lda, const MKL_Complex8* tau,
              MKL_Complex8* work, const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void cunghr( const MKL_INT* n, const MKL_INT* ilo, const MKL_INT* ihi,
             MKL_Complex8* a, const MKL_INT* lda, const MKL_Complex8* tau,
             MKL_Complex8* work, const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void cunghr_( const MKL_INT* n, const MKL_INT* ilo, const MKL_INT* ihi,
              MKL_Complex8* a, const MKL_INT* lda, const MKL_Complex8* tau,
              MKL_Complex8* work, const MKL_INT* lwork, MKL_INT* info ) NOTHROW;

void CUNGL2( const MKL_INT* m, const MKL_INT* n, const MKL_INT* k,
             MKL_Complex8* a, const MKL_INT* lda, const MKL_Complex8* tau,
             MKL_Complex8* work, MKL_INT* info ) NOTHROW;
void CUNGL2_( const MKL_INT* m, const MKL_INT* n, const MKL_INT* k,
              MKL_Complex8* a, const MKL_INT* lda, const MKL_Complex8* tau,
              MKL_Complex8* work, MKL_INT* info ) NOTHROW;
void cungl2( const MKL_INT* m, const MKL_INT* n, const MKL_INT* k,
             MKL_Complex8* a, const MKL_INT* lda, const MKL_Complex8* tau,
             MKL_Complex8* work, MKL_INT* info ) NOTHROW;
void cungl2_( const MKL_INT* m, const MKL_INT* n, const MKL_INT* k,
              MKL_Complex8* a, const MKL_INT* lda, const MKL_Complex8* tau,
              MKL_Complex8* work, MKL_INT* info ) NOTHROW;

void CUNGLQ( const MKL_INT* m, const MKL_INT* n, const MKL_INT* k,
             MKL_Complex8* a, const MKL_INT* lda, const MKL_Complex8* tau,
             MKL_Complex8* work, const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void CUNGLQ_( const MKL_INT* m, const MKL_INT* n, const MKL_INT* k,
              MKL_Complex8* a, const MKL_INT* lda, const MKL_Complex8* tau,
              MKL_Complex8* work, const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void cunglq( const MKL_INT* m, const MKL_INT* n, const MKL_INT* k,
             MKL_Complex8* a, const MKL_INT* lda, const MKL_Complex8* tau,
             MKL_Complex8* work, const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void cunglq_( const MKL_INT* m, const MKL_INT* n, const MKL_INT* k,
              MKL_Complex8* a, const MKL_INT* lda, const MKL_Complex8* tau,
              MKL_Complex8* work, const MKL_INT* lwork, MKL_INT* info ) NOTHROW;

void CUNGQL( const MKL_INT* m, const MKL_INT* n, const MKL_INT* k,
             MKL_Complex8* a, const MKL_INT* lda, const MKL_Complex8* tau,
             MKL_Complex8* work, const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void CUNGQL_( const MKL_INT* m, const MKL_INT* n, const MKL_INT* k,
              MKL_Complex8* a, const MKL_INT* lda, const MKL_Complex8* tau,
              MKL_Complex8* work, const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void cungql( const MKL_INT* m, const MKL_INT* n, const MKL_INT* k,
             MKL_Complex8* a, const MKL_INT* lda, const MKL_Complex8* tau,
             MKL_Complex8* work, const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void cungql_( const MKL_INT* m, const MKL_INT* n, const MKL_INT* k,
              MKL_Complex8* a, const MKL_INT* lda, const MKL_Complex8* tau,
              MKL_Complex8* work, const MKL_INT* lwork, MKL_INT* info ) NOTHROW;

void CUNGQR( const MKL_INT* m, const MKL_INT* n, const MKL_INT* k,
             MKL_Complex8* a, const MKL_INT* lda, const MKL_Complex8* tau,
             MKL_Complex8* work, const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void CUNGQR_( const MKL_INT* m, const MKL_INT* n, const MKL_INT* k,
              MKL_Complex8* a, const MKL_INT* lda, const MKL_Complex8* tau,
              MKL_Complex8* work, const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void cungqr( const MKL_INT* m, const MKL_INT* n, const MKL_INT* k,
             MKL_Complex8* a, const MKL_INT* lda, const MKL_Complex8* tau,
             MKL_Complex8* work, const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void cungqr_( const MKL_INT* m, const MKL_INT* n, const MKL_INT* k,
              MKL_Complex8* a, const MKL_INT* lda, const MKL_Complex8* tau,
              MKL_Complex8* work, const MKL_INT* lwork, MKL_INT* info ) NOTHROW;

void CUNGR2( const MKL_INT* m, const MKL_INT* n, const MKL_INT* k,
             MKL_Complex8* a, const MKL_INT* lda, const MKL_Complex8* tau,
             MKL_Complex8* work, MKL_INT* info ) NOTHROW;
void CUNGR2_( const MKL_INT* m, const MKL_INT* n, const MKL_INT* k,
              MKL_Complex8* a, const MKL_INT* lda, const MKL_Complex8* tau,
              MKL_Complex8* work, MKL_INT* info ) NOTHROW;
void cungr2( const MKL_INT* m, const MKL_INT* n, const MKL_INT* k,
             MKL_Complex8* a, const MKL_INT* lda, const MKL_Complex8* tau,
             MKL_Complex8* work, MKL_INT* info ) NOTHROW;
void cungr2_( const MKL_INT* m, const MKL_INT* n, const MKL_INT* k,
              MKL_Complex8* a, const MKL_INT* lda, const MKL_Complex8* tau,
              MKL_Complex8* work, MKL_INT* info ) NOTHROW;

void CUNGRQ( const MKL_INT* m, const MKL_INT* n, const MKL_INT* k,
             MKL_Complex8* a, const MKL_INT* lda, const MKL_Complex8* tau,
             MKL_Complex8* work, const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void CUNGRQ_( const MKL_INT* m, const MKL_INT* n, const MKL_INT* k,
              MKL_Complex8* a, const MKL_INT* lda, const MKL_Complex8* tau,
              MKL_Complex8* work, const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void cungrq( const MKL_INT* m, const MKL_INT* n, const MKL_INT* k,
             MKL_Complex8* a, const MKL_INT* lda, const MKL_Complex8* tau,
             MKL_Complex8* work, const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void cungrq_( const MKL_INT* m, const MKL_INT* n, const MKL_INT* k,
              MKL_Complex8* a, const MKL_INT* lda, const MKL_Complex8* tau,
              MKL_Complex8* work, const MKL_INT* lwork, MKL_INT* info ) NOTHROW;

void CUNGTR( const char* uplo, const MKL_INT* n, MKL_Complex8* a,
             const MKL_INT* lda, const MKL_Complex8* tau, MKL_Complex8* work,
             const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void CUNGTR_( const char* uplo, const MKL_INT* n, MKL_Complex8* a,
              const MKL_INT* lda, const MKL_Complex8* tau, MKL_Complex8* work,
              const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void cungtr( const char* uplo, const MKL_INT* n, MKL_Complex8* a,
             const MKL_INT* lda, const MKL_Complex8* tau, MKL_Complex8* work,
             const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void cungtr_( const char* uplo, const MKL_INT* n, MKL_Complex8* a,
              const MKL_INT* lda, const MKL_Complex8* tau, MKL_Complex8* work,
              const MKL_INT* lwork, MKL_INT* info ) NOTHROW;

void CUNM2L( const char* side, const char* trans, const MKL_INT* m,
             const MKL_INT* n, const MKL_INT* k, const MKL_Complex8* a,
             const MKL_INT* lda, const MKL_Complex8* tau, MKL_Complex8* c,
             const MKL_INT* ldc, MKL_Complex8* work, MKL_INT* info ) NOTHROW;
void CUNM2L_( const char* side, const char* trans, const MKL_INT* m,
              const MKL_INT* n, const MKL_INT* k, const MKL_Complex8* a,
              const MKL_INT* lda, const MKL_Complex8* tau, MKL_Complex8* c,
              const MKL_INT* ldc, MKL_Complex8* work, MKL_INT* info ) NOTHROW;
void cunm2l( const char* side, const char* trans, const MKL_INT* m,
             const MKL_INT* n, const MKL_INT* k, const MKL_Complex8* a,
             const MKL_INT* lda, const MKL_Complex8* tau, MKL_Complex8* c,
             const MKL_INT* ldc, MKL_Complex8* work, MKL_INT* info ) NOTHROW;
void cunm2l_( const char* side, const char* trans, const MKL_INT* m,
              const MKL_INT* n, const MKL_INT* k, const MKL_Complex8* a,
              const MKL_INT* lda, const MKL_Complex8* tau, MKL_Complex8* c,
              const MKL_INT* ldc, MKL_Complex8* work, MKL_INT* info ) NOTHROW;

void CUNM2R( const char* side, const char* trans, const MKL_INT* m,
             const MKL_INT* n, const MKL_INT* k, const MKL_Complex8* a,
             const MKL_INT* lda, const MKL_Complex8* tau, MKL_Complex8* c,
             const MKL_INT* ldc, MKL_Complex8* work, MKL_INT* info ) NOTHROW;
void CUNM2R_( const char* side, const char* trans, const MKL_INT* m,
              const MKL_INT* n, const MKL_INT* k, const MKL_Complex8* a,
              const MKL_INT* lda, const MKL_Complex8* tau, MKL_Complex8* c,
              const MKL_INT* ldc, MKL_Complex8* work, MKL_INT* info ) NOTHROW;
void cunm2r( const char* side, const char* trans, const MKL_INT* m,
             const MKL_INT* n, const MKL_INT* k, const MKL_Complex8* a,
             const MKL_INT* lda, const MKL_Complex8* tau, MKL_Complex8* c,
             const MKL_INT* ldc, MKL_Complex8* work, MKL_INT* info ) NOTHROW;
void cunm2r_( const char* side, const char* trans, const MKL_INT* m,
              const MKL_INT* n, const MKL_INT* k, const MKL_Complex8* a,
              const MKL_INT* lda, const MKL_Complex8* tau, MKL_Complex8* c,
              const MKL_INT* ldc, MKL_Complex8* work, MKL_INT* info ) NOTHROW;

void CUNMBR( const char* vect, const char* side, const char* trans,
             const MKL_INT* m, const MKL_INT* n, const MKL_INT* k,
             const MKL_Complex8* a, const MKL_INT* lda,
             const MKL_Complex8* tau, MKL_Complex8* c, const MKL_INT* ldc,
             MKL_Complex8* work, const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void CUNMBR_( const char* vect, const char* side, const char* trans,
              const MKL_INT* m, const MKL_INT* n, const MKL_INT* k,
              const MKL_Complex8* a, const MKL_INT* lda,
              const MKL_Complex8* tau, MKL_Complex8* c, const MKL_INT* ldc,
              MKL_Complex8* work, const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void cunmbr( const char* vect, const char* side, const char* trans,
             const MKL_INT* m, const MKL_INT* n, const MKL_INT* k,
             const MKL_Complex8* a, const MKL_INT* lda,
             const MKL_Complex8* tau, MKL_Complex8* c, const MKL_INT* ldc,
             MKL_Complex8* work, const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void cunmbr_( const char* vect, const char* side, const char* trans,
              const MKL_INT* m, const MKL_INT* n, const MKL_INT* k,
              const MKL_Complex8* a, const MKL_INT* lda,
              const MKL_Complex8* tau, MKL_Complex8* c, const MKL_INT* ldc,
              MKL_Complex8* work, const MKL_INT* lwork, MKL_INT* info ) NOTHROW;

void CUNMHR( const char* side, const char* trans, const MKL_INT* m,
             const MKL_INT* n, const MKL_INT* ilo, const MKL_INT* ihi,
             const MKL_Complex8* a, const MKL_INT* lda,
             const MKL_Complex8* tau, MKL_Complex8* c, const MKL_INT* ldc,
             MKL_Complex8* work, const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void CUNMHR_( const char* side, const char* trans, const MKL_INT* m,
              const MKL_INT* n, const MKL_INT* ilo, const MKL_INT* ihi,
              const MKL_Complex8* a, const MKL_INT* lda,
              const MKL_Complex8* tau, MKL_Complex8* c, const MKL_INT* ldc,
              MKL_Complex8* work, const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void cunmhr( const char* side, const char* trans, const MKL_INT* m,
             const MKL_INT* n, const MKL_INT* ilo, const MKL_INT* ihi,
             const MKL_Complex8* a, const MKL_INT* lda,
             const MKL_Complex8* tau, MKL_Complex8* c, const MKL_INT* ldc,
             MKL_Complex8* work, const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void cunmhr_( const char* side, const char* trans, const MKL_INT* m,
              const MKL_INT* n, const MKL_INT* ilo, const MKL_INT* ihi,
              const MKL_Complex8* a, const MKL_INT* lda,
              const MKL_Complex8* tau, MKL_Complex8* c, const MKL_INT* ldc,
              MKL_Complex8* work, const MKL_INT* lwork, MKL_INT* info ) NOTHROW;

void CUNML2( const char* side, const char* trans, const MKL_INT* m,
             const MKL_INT* n, const MKL_INT* k, const MKL_Complex8* a,
             const MKL_INT* lda, const MKL_Complex8* tau, MKL_Complex8* c,
             const MKL_INT* ldc, MKL_Complex8* work, MKL_INT* info ) NOTHROW;
void CUNML2_( const char* side, const char* trans, const MKL_INT* m,
              const MKL_INT* n, const MKL_INT* k, const MKL_Complex8* a,
              const MKL_INT* lda, const MKL_Complex8* tau, MKL_Complex8* c,
              const MKL_INT* ldc, MKL_Complex8* work, MKL_INT* info ) NOTHROW;
void cunml2( const char* side, const char* trans, const MKL_INT* m,
             const MKL_INT* n, const MKL_INT* k, const MKL_Complex8* a,
             const MKL_INT* lda, const MKL_Complex8* tau, MKL_Complex8* c,
             const MKL_INT* ldc, MKL_Complex8* work, MKL_INT* info ) NOTHROW;
void cunml2_( const char* side, const char* trans, const MKL_INT* m,
              const MKL_INT* n, const MKL_INT* k, const MKL_Complex8* a,
              const MKL_INT* lda, const MKL_Complex8* tau, MKL_Complex8* c,
              const MKL_INT* ldc, MKL_Complex8* work, MKL_INT* info ) NOTHROW;

void CUNMLQ( const char* side, const char* trans, const MKL_INT* m,
             const MKL_INT* n, const MKL_INT* k, const MKL_Complex8* a,
             const MKL_INT* lda, const MKL_Complex8* tau, MKL_Complex8* c,
             const MKL_INT* ldc, MKL_Complex8* work, const MKL_INT* lwork,
             MKL_INT* info ) NOTHROW;
void CUNMLQ_( const char* side, const char* trans, const MKL_INT* m,
              const MKL_INT* n, const MKL_INT* k, const MKL_Complex8* a,
              const MKL_INT* lda, const MKL_Complex8* tau, MKL_Complex8* c,
              const MKL_INT* ldc, MKL_Complex8* work, const MKL_INT* lwork,
              MKL_INT* info ) NOTHROW;
void cunmlq( const char* side, const char* trans, const MKL_INT* m,
             const MKL_INT* n, const MKL_INT* k, const MKL_Complex8* a,
             const MKL_INT* lda, const MKL_Complex8* tau, MKL_Complex8* c,
             const MKL_INT* ldc, MKL_Complex8* work, const MKL_INT* lwork,
             MKL_INT* info ) NOTHROW;
void cunmlq_( const char* side, const char* trans, const MKL_INT* m,
              const MKL_INT* n, const MKL_INT* k, const MKL_Complex8* a,
              const MKL_INT* lda, const MKL_Complex8* tau, MKL_Complex8* c,
              const MKL_INT* ldc, MKL_Complex8* work, const MKL_INT* lwork,
              MKL_INT* info ) NOTHROW;

void CUNMQL( const char* side, const char* trans, const MKL_INT* m,
             const MKL_INT* n, const MKL_INT* k, const MKL_Complex8* a,
             const MKL_INT* lda, const MKL_Complex8* tau, MKL_Complex8* c,
             const MKL_INT* ldc, MKL_Complex8* work, const MKL_INT* lwork,
             MKL_INT* info ) NOTHROW;
void CUNMQL_( const char* side, const char* trans, const MKL_INT* m,
              const MKL_INT* n, const MKL_INT* k, const MKL_Complex8* a,
              const MKL_INT* lda, const MKL_Complex8* tau, MKL_Complex8* c,
              const MKL_INT* ldc, MKL_Complex8* work, const MKL_INT* lwork,
              MKL_INT* info ) NOTHROW;
void cunmql( const char* side, const char* trans, const MKL_INT* m,
             const MKL_INT* n, const MKL_INT* k, const MKL_Complex8* a,
             const MKL_INT* lda, const MKL_Complex8* tau, MKL_Complex8* c,
             const MKL_INT* ldc, MKL_Complex8* work, const MKL_INT* lwork,
             MKL_INT* info ) NOTHROW;
void cunmql_( const char* side, const char* trans, const MKL_INT* m,
              const MKL_INT* n, const MKL_INT* k, const MKL_Complex8* a,
              const MKL_INT* lda, const MKL_Complex8* tau, MKL_Complex8* c,
              const MKL_INT* ldc, MKL_Complex8* work, const MKL_INT* lwork,
              MKL_INT* info ) NOTHROW;

void CUNMQR( const char* side, const char* trans, const MKL_INT* m,
             const MKL_INT* n, const MKL_INT* k, const MKL_Complex8* a,
             const MKL_INT* lda, const MKL_Complex8* tau, MKL_Complex8* c,
             const MKL_INT* ldc, MKL_Complex8* work, const MKL_INT* lwork,
             MKL_INT* info ) NOTHROW;
void CUNMQR_( const char* side, const char* trans, const MKL_INT* m,
              const MKL_INT* n, const MKL_INT* k, const MKL_Complex8* a,
              const MKL_INT* lda, const MKL_Complex8* tau, MKL_Complex8* c,
              const MKL_INT* ldc, MKL_Complex8* work, const MKL_INT* lwork,
              MKL_INT* info ) NOTHROW;
void cunmqr( const char* side, const char* trans, const MKL_INT* m,
             const MKL_INT* n, const MKL_INT* k, const MKL_Complex8* a,
             const MKL_INT* lda, const MKL_Complex8* tau, MKL_Complex8* c,
             const MKL_INT* ldc, MKL_Complex8* work, const MKL_INT* lwork,
             MKL_INT* info ) NOTHROW;
void cunmqr_( const char* side, const char* trans, const MKL_INT* m,
              const MKL_INT* n, const MKL_INT* k, const MKL_Complex8* a,
              const MKL_INT* lda, const MKL_Complex8* tau, MKL_Complex8* c,
              const MKL_INT* ldc, MKL_Complex8* work, const MKL_INT* lwork,
              MKL_INT* info ) NOTHROW;

void CUNMR2( const char* side, const char* trans, const MKL_INT* m,
             const MKL_INT* n, const MKL_INT* k, const MKL_Complex8* a,
             const MKL_INT* lda, const MKL_Complex8* tau, MKL_Complex8* c,
             const MKL_INT* ldc, MKL_Complex8* work, MKL_INT* info ) NOTHROW;
void CUNMR2_( const char* side, const char* trans, const MKL_INT* m,
              const MKL_INT* n, const MKL_INT* k, const MKL_Complex8* a,
              const MKL_INT* lda, const MKL_Complex8* tau, MKL_Complex8* c,
              const MKL_INT* ldc, MKL_Complex8* work, MKL_INT* info ) NOTHROW;
void cunmr2( const char* side, const char* trans, const MKL_INT* m,
             const MKL_INT* n, const MKL_INT* k, const MKL_Complex8* a,
             const MKL_INT* lda, const MKL_Complex8* tau, MKL_Complex8* c,
             const MKL_INT* ldc, MKL_Complex8* work, MKL_INT* info ) NOTHROW;
void cunmr2_( const char* side, const char* trans, const MKL_INT* m,
              const MKL_INT* n, const MKL_INT* k, const MKL_Complex8* a,
              const MKL_INT* lda, const MKL_Complex8* tau, MKL_Complex8* c,
              const MKL_INT* ldc, MKL_Complex8* work, MKL_INT* info ) NOTHROW;

void CUNMR3( const char* side, const char* trans, const MKL_INT* m,
             const MKL_INT* n, const MKL_INT* k, const MKL_INT* l,
             const MKL_Complex8* a, const MKL_INT* lda,
             const MKL_Complex8* tau, MKL_Complex8* c, const MKL_INT* ldc,
             MKL_Complex8* work, MKL_INT* info ) NOTHROW;
void CUNMR3_( const char* side, const char* trans, const MKL_INT* m,
              const MKL_INT* n, const MKL_INT* k, const MKL_INT* l,
              const MKL_Complex8* a, const MKL_INT* lda,
              const MKL_Complex8* tau, MKL_Complex8* c, const MKL_INT* ldc,
              MKL_Complex8* work, MKL_INT* info ) NOTHROW;
void cunmr3( const char* side, const char* trans, const MKL_INT* m,
             const MKL_INT* n, const MKL_INT* k, const MKL_INT* l,
             const MKL_Complex8* a, const MKL_INT* lda,
             const MKL_Complex8* tau, MKL_Complex8* c, const MKL_INT* ldc,
             MKL_Complex8* work, MKL_INT* info ) NOTHROW;
void cunmr3_( const char* side, const char* trans, const MKL_INT* m,
              const MKL_INT* n, const MKL_INT* k, const MKL_INT* l,
              const MKL_Complex8* a, const MKL_INT* lda,
              const MKL_Complex8* tau, MKL_Complex8* c, const MKL_INT* ldc,
              MKL_Complex8* work, MKL_INT* info ) NOTHROW;

void CUNMRQ( const char* side, const char* trans, const MKL_INT* m,
             const MKL_INT* n, const MKL_INT* k, const MKL_Complex8* a,
             const MKL_INT* lda, const MKL_Complex8* tau, MKL_Complex8* c,
             const MKL_INT* ldc, MKL_Complex8* work, const MKL_INT* lwork,
             MKL_INT* info ) NOTHROW;
void CUNMRQ_( const char* side, const char* trans, const MKL_INT* m,
              const MKL_INT* n, const MKL_INT* k, const MKL_Complex8* a,
              const MKL_INT* lda, const MKL_Complex8* tau, MKL_Complex8* c,
              const MKL_INT* ldc, MKL_Complex8* work, const MKL_INT* lwork,
              MKL_INT* info ) NOTHROW;
void cunmrq( const char* side, const char* trans, const MKL_INT* m,
             const MKL_INT* n, const MKL_INT* k, const MKL_Complex8* a,
             const MKL_INT* lda, const MKL_Complex8* tau, MKL_Complex8* c,
             const MKL_INT* ldc, MKL_Complex8* work, const MKL_INT* lwork,
             MKL_INT* info ) NOTHROW;
void cunmrq_( const char* side, const char* trans, const MKL_INT* m,
              const MKL_INT* n, const MKL_INT* k, const MKL_Complex8* a,
              const MKL_INT* lda, const MKL_Complex8* tau, MKL_Complex8* c,
              const MKL_INT* ldc, MKL_Complex8* work, const MKL_INT* lwork,
              MKL_INT* info ) NOTHROW;

void CUNMRZ( const char* side, const char* trans, const MKL_INT* m,
             const MKL_INT* n, const MKL_INT* k, const MKL_INT* l,
             const MKL_Complex8* a, const MKL_INT* lda,
             const MKL_Complex8* tau, MKL_Complex8* c, const MKL_INT* ldc,
             MKL_Complex8* work, const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void CUNMRZ_( const char* side, const char* trans, const MKL_INT* m,
              const MKL_INT* n, const MKL_INT* k, const MKL_INT* l,
              const MKL_Complex8* a, const MKL_INT* lda,
              const MKL_Complex8* tau, MKL_Complex8* c, const MKL_INT* ldc,
              MKL_Complex8* work, const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void cunmrz( const char* side, const char* trans, const MKL_INT* m,
             const MKL_INT* n, const MKL_INT* k, const MKL_INT* l,
             const MKL_Complex8* a, const MKL_INT* lda,
             const MKL_Complex8* tau, MKL_Complex8* c, const MKL_INT* ldc,
             MKL_Complex8* work, const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void cunmrz_( const char* side, const char* trans, const MKL_INT* m,
              const MKL_INT* n, const MKL_INT* k, const MKL_INT* l,
              const MKL_Complex8* a, const MKL_INT* lda,
              const MKL_Complex8* tau, MKL_Complex8* c, const MKL_INT* ldc,
              MKL_Complex8* work, const MKL_INT* lwork, MKL_INT* info ) NOTHROW;

void CUNMTR( const char* side, const char* uplo, const char* trans,
             const MKL_INT* m, const MKL_INT* n, const MKL_Complex8* a,
             const MKL_INT* lda, const MKL_Complex8* tau, MKL_Complex8* c,
             const MKL_INT* ldc, MKL_Complex8* work, const MKL_INT* lwork,
             MKL_INT* info ) NOTHROW;
void CUNMTR_( const char* side, const char* uplo, const char* trans,
              const MKL_INT* m, const MKL_INT* n, const MKL_Complex8* a,
              const MKL_INT* lda, const MKL_Complex8* tau, MKL_Complex8* c,
              const MKL_INT* ldc, MKL_Complex8* work, const MKL_INT* lwork,
              MKL_INT* info ) NOTHROW;
void cunmtr( const char* side, const char* uplo, const char* trans,
             const MKL_INT* m, const MKL_INT* n, const MKL_Complex8* a,
             const MKL_INT* lda, const MKL_Complex8* tau, MKL_Complex8* c,
             const MKL_INT* ldc, MKL_Complex8* work, const MKL_INT* lwork,
             MKL_INT* info ) NOTHROW;
void cunmtr_( const char* side, const char* uplo, const char* trans,
              const MKL_INT* m, const MKL_INT* n, const MKL_Complex8* a,
              const MKL_INT* lda, const MKL_Complex8* tau, MKL_Complex8* c,
              const MKL_INT* ldc, MKL_Complex8* work, const MKL_INT* lwork,
              MKL_INT* info ) NOTHROW;

void CUPGTR( const char* uplo, const MKL_INT* n, const MKL_Complex8* ap,
             const MKL_Complex8* tau, MKL_Complex8* q, const MKL_INT* ldq,
             MKL_Complex8* work, MKL_INT* info ) NOTHROW;
void CUPGTR_( const char* uplo, const MKL_INT* n, const MKL_Complex8* ap,
              const MKL_Complex8* tau, MKL_Complex8* q, const MKL_INT* ldq,
              MKL_Complex8* work, MKL_INT* info ) NOTHROW;
void cupgtr( const char* uplo, const MKL_INT* n, const MKL_Complex8* ap,
             const MKL_Complex8* tau, MKL_Complex8* q, const MKL_INT* ldq,
             MKL_Complex8* work, MKL_INT* info ) NOTHROW;
void cupgtr_( const char* uplo, const MKL_INT* n, const MKL_Complex8* ap,
              const MKL_Complex8* tau, MKL_Complex8* q, const MKL_INT* ldq,
              MKL_Complex8* work, MKL_INT* info ) NOTHROW;

void CUPMTR( const char* side, const char* uplo, const char* trans,
             const MKL_INT* m, const MKL_INT* n, const MKL_Complex8* ap,
             const MKL_Complex8* tau, MKL_Complex8* c, const MKL_INT* ldc,
             MKL_Complex8* work, MKL_INT* info ) NOTHROW;
void CUPMTR_( const char* side, const char* uplo, const char* trans,
              const MKL_INT* m, const MKL_INT* n, const MKL_Complex8* ap,
              const MKL_Complex8* tau, MKL_Complex8* c, const MKL_INT* ldc,
              MKL_Complex8* work, MKL_INT* info ) NOTHROW;
void cupmtr( const char* side, const char* uplo, const char* trans,
             const MKL_INT* m, const MKL_INT* n, const MKL_Complex8* ap,
             const MKL_Complex8* tau, MKL_Complex8* c, const MKL_INT* ldc,
             MKL_Complex8* work, MKL_INT* info ) NOTHROW;
void cupmtr_( const char* side, const char* uplo, const char* trans,
              const MKL_INT* m, const MKL_INT* n, const MKL_Complex8* ap,
              const MKL_Complex8* tau, MKL_Complex8* c, const MKL_INT* ldc,
              MKL_Complex8* work, MKL_INT* info ) NOTHROW;

void DBDSDC( const char* uplo, const char* compq, const MKL_INT* n, double* d,
             double* e, double* u, const MKL_INT* ldu, double* vt,
             const MKL_INT* ldvt, double* q, MKL_INT* iq, double* work,
             MKL_INT* iwork, MKL_INT* info ) NOTHROW;
void DBDSDC_( const char* uplo, const char* compq, const MKL_INT* n, double* d,
              double* e, double* u, const MKL_INT* ldu, double* vt,
              const MKL_INT* ldvt, double* q, MKL_INT* iq, double* work,
              MKL_INT* iwork, MKL_INT* info ) NOTHROW;
void dbdsdc( const char* uplo, const char* compq, const MKL_INT* n, double* d,
             double* e, double* u, const MKL_INT* ldu, double* vt,
             const MKL_INT* ldvt, double* q, MKL_INT* iq, double* work,
             MKL_INT* iwork, MKL_INT* info ) NOTHROW;
void dbdsdc_( const char* uplo, const char* compq, const MKL_INT* n, double* d,
              double* e, double* u, const MKL_INT* ldu, double* vt,
              const MKL_INT* ldvt, double* q, MKL_INT* iq, double* work,
              MKL_INT* iwork, MKL_INT* info ) NOTHROW;

void DBDSQR( const char* uplo, const MKL_INT* n, const MKL_INT* ncvt,
             const MKL_INT* nru, const MKL_INT* ncc, double* d, double* e,
             double* vt, const MKL_INT* ldvt, double* u, const MKL_INT* ldu,
             double* c, const MKL_INT* ldc, double* work, MKL_INT* info ) NOTHROW;
void DBDSQR_( const char* uplo, const MKL_INT* n, const MKL_INT* ncvt,
              const MKL_INT* nru, const MKL_INT* ncc, double* d, double* e,
              double* vt, const MKL_INT* ldvt, double* u, const MKL_INT* ldu,
              double* c, const MKL_INT* ldc, double* work, MKL_INT* info ) NOTHROW;
void dbdsqr( const char* uplo, const MKL_INT* n, const MKL_INT* ncvt,
             const MKL_INT* nru, const MKL_INT* ncc, double* d, double* e,
             double* vt, const MKL_INT* ldvt, double* u, const MKL_INT* ldu,
             double* c, const MKL_INT* ldc, double* work, MKL_INT* info ) NOTHROW;
void dbdsqr_( const char* uplo, const MKL_INT* n, const MKL_INT* ncvt,
              const MKL_INT* nru, const MKL_INT* ncc, double* d, double* e,
              double* vt, const MKL_INT* ldvt, double* u, const MKL_INT* ldu,
              double* c, const MKL_INT* ldc, double* work, MKL_INT* info ) NOTHROW;

void DDISNA( const char* job, const MKL_INT* m, const MKL_INT* n,
             const double* d, double* sep, MKL_INT* info ) NOTHROW;
void DDISNA_( const char* job, const MKL_INT* m, const MKL_INT* n,
              const double* d, double* sep, MKL_INT* info ) NOTHROW;
void ddisna( const char* job, const MKL_INT* m, const MKL_INT* n,
             const double* d, double* sep, MKL_INT* info ) NOTHROW;
void ddisna_( const char* job, const MKL_INT* m, const MKL_INT* n,
              const double* d, double* sep, MKL_INT* info ) NOTHROW;

void DGBBRD( const char* vect, const MKL_INT* m, const MKL_INT* n,
             const MKL_INT* ncc, const MKL_INT* kl, const MKL_INT* ku,
             double* ab, const MKL_INT* ldab, double* d, double* e, double* q,
             const MKL_INT* ldq, double* pt, const MKL_INT* ldpt, double* c,
             const MKL_INT* ldc, double* work, MKL_INT* info ) NOTHROW;
void DGBBRD_( const char* vect, const MKL_INT* m, const MKL_INT* n,
              const MKL_INT* ncc, const MKL_INT* kl, const MKL_INT* ku,
              double* ab, const MKL_INT* ldab, double* d, double* e, double* q,
              const MKL_INT* ldq, double* pt, const MKL_INT* ldpt, double* c,
              const MKL_INT* ldc, double* work, MKL_INT* info ) NOTHROW;
void dgbbrd( const char* vect, const MKL_INT* m, const MKL_INT* n,
             const MKL_INT* ncc, const MKL_INT* kl, const MKL_INT* ku,
             double* ab, const MKL_INT* ldab, double* d, double* e, double* q,
             const MKL_INT* ldq, double* pt, const MKL_INT* ldpt, double* c,
             const MKL_INT* ldc, double* work, MKL_INT* info ) NOTHROW;
void dgbbrd_( const char* vect, const MKL_INT* m, const MKL_INT* n,
              const MKL_INT* ncc, const MKL_INT* kl, const MKL_INT* ku,
              double* ab, const MKL_INT* ldab, double* d, double* e, double* q,
              const MKL_INT* ldq, double* pt, const MKL_INT* ldpt, double* c,
              const MKL_INT* ldc, double* work, MKL_INT* info ) NOTHROW;

void DGBCON( const char* norm, const MKL_INT* n, const MKL_INT* kl,
             const MKL_INT* ku, const double* ab, const MKL_INT* ldab,
             const MKL_INT* ipiv, const double* anorm, double* rcond,
             double* work, MKL_INT* iwork, MKL_INT* info ) NOTHROW;
void DGBCON_( const char* norm, const MKL_INT* n, const MKL_INT* kl,
              const MKL_INT* ku, const double* ab, const MKL_INT* ldab,
              const MKL_INT* ipiv, const double* anorm, double* rcond,
              double* work, MKL_INT* iwork, MKL_INT* info ) NOTHROW;
void dgbcon( const char* norm, const MKL_INT* n, const MKL_INT* kl,
             const MKL_INT* ku, const double* ab, const MKL_INT* ldab,
             const MKL_INT* ipiv, const double* anorm, double* rcond,
             double* work, MKL_INT* iwork, MKL_INT* info ) NOTHROW;
void dgbcon_( const char* norm, const MKL_INT* n, const MKL_INT* kl,
              const MKL_INT* ku, const double* ab, const MKL_INT* ldab,
              const MKL_INT* ipiv, const double* anorm, double* rcond,
              double* work, MKL_INT* iwork, MKL_INT* info ) NOTHROW;

void DGBEQUB( const MKL_INT* m, const MKL_INT* n, const MKL_INT* kl,
              const MKL_INT* ku, const double* ab, const MKL_INT* ldab,
              double* r, double* c, double* rowcnd, double* colcnd,
              double* amax, MKL_INT* info ) NOTHROW;
void DGBEQUB_( const MKL_INT* m, const MKL_INT* n, const MKL_INT* kl,
               const MKL_INT* ku, const double* ab, const MKL_INT* ldab,
               double* r, double* c, double* rowcnd, double* colcnd,
               double* amax, MKL_INT* info ) NOTHROW;
void dgbequb( const MKL_INT* m, const MKL_INT* n, const MKL_INT* kl,
              const MKL_INT* ku, const double* ab, const MKL_INT* ldab,
              double* r, double* c, double* rowcnd, double* colcnd,
              double* amax, MKL_INT* info ) NOTHROW;
void dgbequb_( const MKL_INT* m, const MKL_INT* n, const MKL_INT* kl,
               const MKL_INT* ku, const double* ab, const MKL_INT* ldab,
               double* r, double* c, double* rowcnd, double* colcnd,
               double* amax, MKL_INT* info ) NOTHROW;

void DGBEQU( const MKL_INT* m, const MKL_INT* n, const MKL_INT* kl,
             const MKL_INT* ku, const double* ab, const MKL_INT* ldab,
             double* r, double* c, double* rowcnd, double* colcnd,
             double* amax, MKL_INT* info ) NOTHROW;
void DGBEQU_( const MKL_INT* m, const MKL_INT* n, const MKL_INT* kl,
              const MKL_INT* ku, const double* ab, const MKL_INT* ldab,
              double* r, double* c, double* rowcnd, double* colcnd,
              double* amax, MKL_INT* info ) NOTHROW;
void dgbequ( const MKL_INT* m, const MKL_INT* n, const MKL_INT* kl,
             const MKL_INT* ku, const double* ab, const MKL_INT* ldab,
             double* r, double* c, double* rowcnd, double* colcnd,
             double* amax, MKL_INT* info ) NOTHROW;
void dgbequ_( const MKL_INT* m, const MKL_INT* n, const MKL_INT* kl,
              const MKL_INT* ku, const double* ab, const MKL_INT* ldab,
              double* r, double* c, double* rowcnd, double* colcnd,
              double* amax, MKL_INT* info ) NOTHROW;

void DGBRFS( const char* trans, const MKL_INT* n, const MKL_INT* kl,
             const MKL_INT* ku, const MKL_INT* nrhs, const double* ab,
             const MKL_INT* ldab, const double* afb, const MKL_INT* ldafb,
             const MKL_INT* ipiv, const double* b, const MKL_INT* ldb,
             double* x, const MKL_INT* ldx, double* ferr, double* berr,
             double* work, MKL_INT* iwork, MKL_INT* info ) NOTHROW;
void DGBRFS_( const char* trans, const MKL_INT* n, const MKL_INT* kl,
              const MKL_INT* ku, const MKL_INT* nrhs, const double* ab,
              const MKL_INT* ldab, const double* afb, const MKL_INT* ldafb,
              const MKL_INT* ipiv, const double* b, const MKL_INT* ldb,
              double* x, const MKL_INT* ldx, double* ferr, double* berr,
              double* work, MKL_INT* iwork, MKL_INT* info ) NOTHROW;
void dgbrfs( const char* trans, const MKL_INT* n, const MKL_INT* kl,
             const MKL_INT* ku, const MKL_INT* nrhs, const double* ab,
             const MKL_INT* ldab, const double* afb, const MKL_INT* ldafb,
             const MKL_INT* ipiv, const double* b, const MKL_INT* ldb,
             double* x, const MKL_INT* ldx, double* ferr, double* berr,
             double* work, MKL_INT* iwork, MKL_INT* info ) NOTHROW;
void dgbrfs_( const char* trans, const MKL_INT* n, const MKL_INT* kl,
              const MKL_INT* ku, const MKL_INT* nrhs, const double* ab,
              const MKL_INT* ldab, const double* afb, const MKL_INT* ldafb,
              const MKL_INT* ipiv, const double* b, const MKL_INT* ldb,
              double* x, const MKL_INT* ldx, double* ferr, double* berr,
              double* work, MKL_INT* iwork, MKL_INT* info ) NOTHROW;

void DGBRFSX( const char* trans, const char* equed, const MKL_INT* n,
              const MKL_INT* kl, const MKL_INT* ku, const MKL_INT* nrhs,
              const double* ab, const MKL_INT* ldab, const double* afb,
              const MKL_INT* ldafb, const MKL_INT* ipiv, double* r,
              double* c, const double* b, const MKL_INT* ldb, double* x,
              const MKL_INT* ldx, double* rcond, double* berr,
              const MKL_INT* n_err_bnds, double* err_bnds_norm,
              double* err_bnds_comp, const MKL_INT* nparams, double* params,
              double* work, MKL_INT* iwork, MKL_INT* info ) NOTHROW;
void DGBRFSX_( const char* trans, const char* equed, const MKL_INT* n,
               const MKL_INT* kl, const MKL_INT* ku, const MKL_INT* nrhs,
               const double* ab, const MKL_INT* ldab, const double* afb,
               const MKL_INT* ldafb, const MKL_INT* ipiv, double* r,
               double* c, const double* b, const MKL_INT* ldb, double* x,
               const MKL_INT* ldx, double* rcond, double* berr,
               const MKL_INT* n_err_bnds, double* err_bnds_norm,
               double* err_bnds_comp, const MKL_INT* nparams, double* params,
               double* work, MKL_INT* iwork, MKL_INT* info ) NOTHROW;
void dgbrfsx( const char* trans, const char* equed, const MKL_INT* n,
              const MKL_INT* kl, const MKL_INT* ku, const MKL_INT* nrhs,
              const double* ab, const MKL_INT* ldab, const double* afb,
              const MKL_INT* ldafb, const MKL_INT* ipiv, double* r,
              double* c, const double* b, const MKL_INT* ldb, double* x,
              const MKL_INT* ldx, double* rcond, double* berr,
              const MKL_INT* n_err_bnds, double* err_bnds_norm,
              double* err_bnds_comp, const MKL_INT* nparams, double* params,
              double* work, MKL_INT* iwork, MKL_INT* info ) NOTHROW;
void dgbrfsx_( const char* trans, const char* equed, const MKL_INT* n,
               const MKL_INT* kl, const MKL_INT* ku, const MKL_INT* nrhs,
               const double* ab, const MKL_INT* ldab, const double* afb,
               const MKL_INT* ldafb, const MKL_INT* ipiv, double* r,
               double* c, const double* b, const MKL_INT* ldb, double* x,
               const MKL_INT* ldx, double* rcond, double* berr,
               const MKL_INT* n_err_bnds, double* err_bnds_norm,
               double* err_bnds_comp, const MKL_INT* nparams, double* params,
               double* work, MKL_INT* iwork, MKL_INT* info ) NOTHROW;

void DGBSV( const MKL_INT* n, const MKL_INT* kl, const MKL_INT* ku,
            const MKL_INT* nrhs, double* ab, const MKL_INT* ldab,
            MKL_INT* ipiv, double* b, const MKL_INT* ldb, MKL_INT* info ) NOTHROW;
void DGBSV_( const MKL_INT* n, const MKL_INT* kl, const MKL_INT* ku,
             const MKL_INT* nrhs, double* ab, const MKL_INT* ldab,
             MKL_INT* ipiv, double* b, const MKL_INT* ldb, MKL_INT* info ) NOTHROW;
void dgbsv( const MKL_INT* n, const MKL_INT* kl, const MKL_INT* ku,
            const MKL_INT* nrhs, double* ab, const MKL_INT* ldab,
            MKL_INT* ipiv, double* b, const MKL_INT* ldb, MKL_INT* info ) NOTHROW;
void dgbsv_( const MKL_INT* n, const MKL_INT* kl, const MKL_INT* ku,
             const MKL_INT* nrhs, double* ab, const MKL_INT* ldab,
             MKL_INT* ipiv, double* b, const MKL_INT* ldb, MKL_INT* info ) NOTHROW;

void DGBSVX( const char* fact, const char* trans, const MKL_INT* n,
             const MKL_INT* kl, const MKL_INT* ku, const MKL_INT* nrhs,
             double* ab, const MKL_INT* ldab, double* afb,
             const MKL_INT* ldafb, MKL_INT* ipiv, char* equed, double* r,
             double* c, double* b, const MKL_INT* ldb, double* x,
             const MKL_INT* ldx, double* rcond, double* ferr, double* berr,
             double* work, MKL_INT* iwork, MKL_INT* info ) NOTHROW;
void DGBSVX_( const char* fact, const char* trans, const MKL_INT* n,
              const MKL_INT* kl, const MKL_INT* ku, const MKL_INT* nrhs,
              double* ab, const MKL_INT* ldab, double* afb,
              const MKL_INT* ldafb, MKL_INT* ipiv, char* equed, double* r,
              double* c, double* b, const MKL_INT* ldb, double* x,
              const MKL_INT* ldx, double* rcond, double* ferr, double* berr,
              double* work, MKL_INT* iwork, MKL_INT* info ) NOTHROW;
void dgbsvx( const char* fact, const char* trans, const MKL_INT* n,
             const MKL_INT* kl, const MKL_INT* ku, const MKL_INT* nrhs,
             double* ab, const MKL_INT* ldab, double* afb,
             const MKL_INT* ldafb, MKL_INT* ipiv, char* equed, double* r,
             double* c, double* b, const MKL_INT* ldb, double* x,
             const MKL_INT* ldx, double* rcond, double* ferr, double* berr,
             double* work, MKL_INT* iwork, MKL_INT* info ) NOTHROW;
void dgbsvx_( const char* fact, const char* trans, const MKL_INT* n,
              const MKL_INT* kl, const MKL_INT* ku, const MKL_INT* nrhs,
              double* ab, const MKL_INT* ldab, double* afb,
              const MKL_INT* ldafb, MKL_INT* ipiv, char* equed, double* r,
              double* c, double* b, const MKL_INT* ldb, double* x,
              const MKL_INT* ldx, double* rcond, double* ferr, double* berr,
              double* work, MKL_INT* iwork, MKL_INT* info ) NOTHROW;

void DGBSVXX( const char* fact, const char* trans, const MKL_INT* n,
              const MKL_INT* kl, const MKL_INT* ku, const MKL_INT* nrhs,
              double* ab, const MKL_INT* ldab, double* afb,
              const MKL_INT* ldafb, MKL_INT* ipiv, char* equed, double* r,
              double* c, double* b, const MKL_INT* ldb, double* x,
              const MKL_INT* ldx, double* rcond, double* rpvgrw, double* berr,
              const MKL_INT* n_err_bnds, double* err_bnds_norm,
              double* err_bnds_comp, const MKL_INT* nparams, double* params,
              double* work, MKL_INT* iwork, MKL_INT* info ) NOTHROW;
void DGBSVXX_( const char* fact, const char* trans, const MKL_INT* n,
               const MKL_INT* kl, const MKL_INT* ku, const MKL_INT* nrhs,
               double* ab, const MKL_INT* ldab, double* afb,
               const MKL_INT* ldafb, MKL_INT* ipiv, char* equed, double* r,
               double* c, double* b, const MKL_INT* ldb, double* x,
               const MKL_INT* ldx, double* rcond, double* rpvgrw, double* berr,
               const MKL_INT* n_err_bnds, double* err_bnds_norm,
               double* err_bnds_comp, const MKL_INT* nparams, double* params,
               double* work, MKL_INT* iwork, MKL_INT* info ) NOTHROW;
void dgbsvxx( const char* fact, const char* trans, const MKL_INT* n,
              const MKL_INT* kl, const MKL_INT* ku, const MKL_INT* nrhs,
              double* ab, const MKL_INT* ldab, double* afb,
              const MKL_INT* ldafb, MKL_INT* ipiv, char* equed, double* r,
              double* c, double* b, const MKL_INT* ldb, double* x,
              const MKL_INT* ldx, double* rcond, double* rpvgrw, double* berr,
              const MKL_INT* n_err_bnds, double* err_bnds_norm,
              double* err_bnds_comp, const MKL_INT* nparams, double* params,
              double* work, MKL_INT* iwork, MKL_INT* info ) NOTHROW;
void dgbsvxx_( const char* fact, const char* trans, const MKL_INT* n,
               const MKL_INT* kl, const MKL_INT* ku, const MKL_INT* nrhs,
               double* ab, const MKL_INT* ldab, double* afb,
               const MKL_INT* ldafb, MKL_INT* ipiv, char* equed, double* r,
               double* c, double* b, const MKL_INT* ldb, double* x,
               const MKL_INT* ldx, double* rcond, double* rpvgrw, double* berr,
               const MKL_INT* n_err_bnds, double* err_bnds_norm,
               double* err_bnds_comp, const MKL_INT* nparams, double* params,
               double* work, MKL_INT* iwork, MKL_INT* info ) NOTHROW;

void DGBTF2( const MKL_INT* m, const MKL_INT* n, const MKL_INT* kl,
             const MKL_INT* ku, double* ab, const MKL_INT* ldab, MKL_INT* ipiv,
             MKL_INT* info ) NOTHROW;
void DGBTF2_( const MKL_INT* m, const MKL_INT* n, const MKL_INT* kl,
              const MKL_INT* ku, double* ab, const MKL_INT* ldab,
              MKL_INT* ipiv, MKL_INT* info ) NOTHROW;
void dgbtf2( const MKL_INT* m, const MKL_INT* n, const MKL_INT* kl,
             const MKL_INT* ku, double* ab, const MKL_INT* ldab, MKL_INT* ipiv,
             MKL_INT* info ) NOTHROW;
void dgbtf2_( const MKL_INT* m, const MKL_INT* n, const MKL_INT* kl,
              const MKL_INT* ku, double* ab, const MKL_INT* ldab,
              MKL_INT* ipiv, MKL_INT* info ) NOTHROW;

void DGBTRF( const MKL_INT* m, const MKL_INT* n, const MKL_INT* kl,
             const MKL_INT* ku, double* ab, const MKL_INT* ldab, MKL_INT* ipiv,
             MKL_INT* info ) NOTHROW;
void DGBTRF_( const MKL_INT* m, const MKL_INT* n, const MKL_INT* kl,
              const MKL_INT* ku, double* ab, const MKL_INT* ldab,
              MKL_INT* ipiv, MKL_INT* info ) NOTHROW;
void dgbtrf( const MKL_INT* m, const MKL_INT* n, const MKL_INT* kl,
             const MKL_INT* ku, double* ab, const MKL_INT* ldab, MKL_INT* ipiv,
             MKL_INT* info ) NOTHROW;
void dgbtrf_( const MKL_INT* m, const MKL_INT* n, const MKL_INT* kl,
              const MKL_INT* ku, double* ab, const MKL_INT* ldab,
              MKL_INT* ipiv, MKL_INT* info ) NOTHROW;

void DGBTRS( const char* trans, const MKL_INT* n, const MKL_INT* kl,
             const MKL_INT* ku, const MKL_INT* nrhs, const double* ab,
             const MKL_INT* ldab, const MKL_INT* ipiv, double* b,
             const MKL_INT* ldb, MKL_INT* info ) NOTHROW;
void DGBTRS_( const char* trans, const MKL_INT* n, const MKL_INT* kl,
              const MKL_INT* ku, const MKL_INT* nrhs, const double* ab,
              const MKL_INT* ldab, const MKL_INT* ipiv, double* b,
              const MKL_INT* ldb, MKL_INT* info ) NOTHROW;
void dgbtrs( const char* trans, const MKL_INT* n, const MKL_INT* kl,
             const MKL_INT* ku, const MKL_INT* nrhs, const double* ab,
             const MKL_INT* ldab, const MKL_INT* ipiv, double* b,
             const MKL_INT* ldb, MKL_INT* info ) NOTHROW;
void dgbtrs_( const char* trans, const MKL_INT* n, const MKL_INT* kl,
              const MKL_INT* ku, const MKL_INT* nrhs, const double* ab,
              const MKL_INT* ldab, const MKL_INT* ipiv, double* b,
              const MKL_INT* ldb, MKL_INT* info ) NOTHROW;

void DGEBAK( const char* job, const char* side, const MKL_INT* n,
             const MKL_INT* ilo, const MKL_INT* ihi, const double* scale,
             const MKL_INT* m, double* v, const MKL_INT* ldv, MKL_INT* info ) NOTHROW;
void DGEBAK_( const char* job, const char* side, const MKL_INT* n,
              const MKL_INT* ilo, const MKL_INT* ihi, const double* scale,
              const MKL_INT* m, double* v, const MKL_INT* ldv, MKL_INT* info ) NOTHROW;
void dgebak( const char* job, const char* side, const MKL_INT* n,
             const MKL_INT* ilo, const MKL_INT* ihi, const double* scale,
             const MKL_INT* m, double* v, const MKL_INT* ldv, MKL_INT* info ) NOTHROW;
void dgebak_( const char* job, const char* side, const MKL_INT* n,
              const MKL_INT* ilo, const MKL_INT* ihi, const double* scale,
              const MKL_INT* m, double* v, const MKL_INT* ldv, MKL_INT* info ) NOTHROW;

void DGEBAL( const char* job, const MKL_INT* n, double* a, const MKL_INT* lda,
             MKL_INT* ilo, MKL_INT* ihi, double* scale, MKL_INT* info ) NOTHROW;
void DGEBAL_( const char* job, const MKL_INT* n, double* a, const MKL_INT* lda,
              MKL_INT* ilo, MKL_INT* ihi, double* scale, MKL_INT* info ) NOTHROW;
void dgebal( const char* job, const MKL_INT* n, double* a, const MKL_INT* lda,
             MKL_INT* ilo, MKL_INT* ihi, double* scale, MKL_INT* info ) NOTHROW;
void dgebal_( const char* job, const MKL_INT* n, double* a, const MKL_INT* lda,
              MKL_INT* ilo, MKL_INT* ihi, double* scale, MKL_INT* info ) NOTHROW;

void DGEBD2( const MKL_INT* m, const MKL_INT* n, double* a, const MKL_INT* lda,
             double* d, double* e, double* tauq, double* taup, double* work,
             MKL_INT* info ) NOTHROW;
void DGEBD2_( const MKL_INT* m, const MKL_INT* n, double* a,
              const MKL_INT* lda, double* d, double* e, double* tauq,
              double* taup, double* work, MKL_INT* info ) NOTHROW;
void dgebd2( const MKL_INT* m, const MKL_INT* n, double* a, const MKL_INT* lda,
             double* d, double* e, double* tauq, double* taup, double* work,
             MKL_INT* info ) NOTHROW;
void dgebd2_( const MKL_INT* m, const MKL_INT* n, double* a,
              const MKL_INT* lda, double* d, double* e, double* tauq,
              double* taup, double* work, MKL_INT* info ) NOTHROW;

void DGEBRD( const MKL_INT* m, const MKL_INT* n, double* a, const MKL_INT* lda,
             double* d, double* e, double* tauq, double* taup, double* work,
             const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void DGEBRD_( const MKL_INT* m, const MKL_INT* n, double* a,
              const MKL_INT* lda, double* d, double* e, double* tauq,
              double* taup, double* work, const MKL_INT* lwork,
              MKL_INT* info ) NOTHROW;
void dgebrd( const MKL_INT* m, const MKL_INT* n, double* a, const MKL_INT* lda,
             double* d, double* e, double* tauq, double* taup, double* work,
             const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void dgebrd_( const MKL_INT* m, const MKL_INT* n, double* a,
              const MKL_INT* lda, double* d, double* e, double* tauq,
              double* taup, double* work, const MKL_INT* lwork,
              MKL_INT* info ) NOTHROW;

void DGECON( const char* norm, const MKL_INT* n, const double* a,
             const MKL_INT* lda, const double* anorm, double* rcond,
             double* work, MKL_INT* iwork, MKL_INT* info ) NOTHROW;
void DGECON_( const char* norm, const MKL_INT* n, const double* a,
              const MKL_INT* lda, const double* anorm, double* rcond,
              double* work, MKL_INT* iwork, MKL_INT* info ) NOTHROW;
void dgecon( const char* norm, const MKL_INT* n, const double* a,
             const MKL_INT* lda, const double* anorm, double* rcond,
             double* work, MKL_INT* iwork, MKL_INT* info ) NOTHROW;
void dgecon_( const char* norm, const MKL_INT* n, const double* a,
              const MKL_INT* lda, const double* anorm, double* rcond,
              double* work, MKL_INT* iwork, MKL_INT* info ) NOTHROW;

void DGEEQUB( const MKL_INT* m, const MKL_INT* n, const double* a,
              const MKL_INT* lda, double* r, double* c, double* rowcnd,
              double* colcnd, double* amax, MKL_INT* info ) NOTHROW;
void DGEEQUB_( const MKL_INT* m, const MKL_INT* n, const double* a,
               const MKL_INT* lda, double* r, double* c, double* rowcnd,
               double* colcnd, double* amax, MKL_INT* info ) NOTHROW;
void dgeequb( const MKL_INT* m, const MKL_INT* n, const double* a,
              const MKL_INT* lda, double* r, double* c, double* rowcnd,
              double* colcnd, double* amax, MKL_INT* info ) NOTHROW;
void dgeequb_( const MKL_INT* m, const MKL_INT* n, const double* a,
               const MKL_INT* lda, double* r, double* c, double* rowcnd,
               double* colcnd, double* amax, MKL_INT* info ) NOTHROW;

void DGEEQU( const MKL_INT* m, const MKL_INT* n, const double* a,
             const MKL_INT* lda, double* r, double* c, double* rowcnd,
             double* colcnd, double* amax, MKL_INT* info ) NOTHROW;
void DGEEQU_( const MKL_INT* m, const MKL_INT* n, const double* a,
              const MKL_INT* lda, double* r, double* c, double* rowcnd,
              double* colcnd, double* amax, MKL_INT* info ) NOTHROW;
void dgeequ( const MKL_INT* m, const MKL_INT* n, const double* a,
             const MKL_INT* lda, double* r, double* c, double* rowcnd,
             double* colcnd, double* amax, MKL_INT* info ) NOTHROW;
void dgeequ_( const MKL_INT* m, const MKL_INT* n, const double* a,
              const MKL_INT* lda, double* r, double* c, double* rowcnd,
              double* colcnd, double* amax, MKL_INT* info ) NOTHROW;

void DGEES( const char* jobvs, const char* sort,
            MKL_D_SELECT_FUNCTION_2 select, const MKL_INT* n, double* a,
            const MKL_INT* lda, MKL_INT* sdim, double* wr, double* wi,
            double* vs, const MKL_INT* ldvs, double* work,
            const MKL_INT* lwork, MKL_INT* bwork, MKL_INT* info ) NOTHROW;
void DGEES_( const char* jobvs, const char* sort,
             MKL_D_SELECT_FUNCTION_2 select, const MKL_INT* n, double* a,
             const MKL_INT* lda, MKL_INT* sdim, double* wr, double* wi,
             double* vs, const MKL_INT* ldvs, double* work,
             const MKL_INT* lwork, MKL_INT* bwork, MKL_INT* info ) NOTHROW;
void dgees( const char* jobvs, const char* sort,
            MKL_D_SELECT_FUNCTION_2 select, const MKL_INT* n, double* a,
            const MKL_INT* lda, MKL_INT* sdim, double* wr, double* wi,
            double* vs, const MKL_INT* ldvs, double* work,
            const MKL_INT* lwork, MKL_INT* bwork, MKL_INT* info ) NOTHROW;
void dgees_( const char* jobvs, const char* sort,
             MKL_D_SELECT_FUNCTION_2 select, const MKL_INT* n, double* a,
             const MKL_INT* lda, MKL_INT* sdim, double* wr, double* wi,
             double* vs, const MKL_INT* ldvs, double* work,
             const MKL_INT* lwork, MKL_INT* bwork, MKL_INT* info ) NOTHROW;

void DGEESX( const char* jobvs, const char* sort,
             MKL_D_SELECT_FUNCTION_2 select, const char* sense,
             const MKL_INT* n, double* a, const MKL_INT* lda, MKL_INT* sdim,
             double* wr, double* wi, double* vs, const MKL_INT* ldvs,
             double* rconde, double* rcondv, double* work,
             const MKL_INT* lwork, MKL_INT* iwork, const MKL_INT* liwork,
             MKL_INT* bwork, MKL_INT* info ) NOTHROW;
void DGEESX_( const char* jobvs, const char* sort,
              MKL_D_SELECT_FUNCTION_2 select, const char* sense,
              const MKL_INT* n, double* a, const MKL_INT* lda, MKL_INT* sdim,
              double* wr, double* wi, double* vs, const MKL_INT* ldvs,
              double* rconde, double* rcondv, double* work,
              const MKL_INT* lwork, MKL_INT* iwork, const MKL_INT* liwork,
              MKL_INT* bwork, MKL_INT* info ) NOTHROW;
void dgeesx( const char* jobvs, const char* sort,
             MKL_D_SELECT_FUNCTION_2 select, const char* sense,
             const MKL_INT* n, double* a, const MKL_INT* lda, MKL_INT* sdim,
             double* wr, double* wi, double* vs, const MKL_INT* ldvs,
             double* rconde, double* rcondv, double* work,
             const MKL_INT* lwork, MKL_INT* iwork, const MKL_INT* liwork,
             MKL_INT* bwork, MKL_INT* info ) NOTHROW;
void dgeesx_( const char* jobvs, const char* sort,
              MKL_D_SELECT_FUNCTION_2 select, const char* sense,
              const MKL_INT* n, double* a, const MKL_INT* lda, MKL_INT* sdim,
              double* wr, double* wi, double* vs, const MKL_INT* ldvs,
              double* rconde, double* rcondv, double* work,
              const MKL_INT* lwork, MKL_INT* iwork, const MKL_INT* liwork,
              MKL_INT* bwork, MKL_INT* info ) NOTHROW;

void DGEEV( const char* jobvl, const char* jobvr, const MKL_INT* n, double* a,
            const MKL_INT* lda, double* wr, double* wi, double* vl,
            const MKL_INT* ldvl, double* vr, const MKL_INT* ldvr, double* work,
            const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void DGEEV_( const char* jobvl, const char* jobvr, const MKL_INT* n, double* a,
             const MKL_INT* lda, double* wr, double* wi, double* vl,
             const MKL_INT* ldvl, double* vr, const MKL_INT* ldvr,
             double* work, const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void dgeev( const char* jobvl, const char* jobvr, const MKL_INT* n, double* a,
            const MKL_INT* lda, double* wr, double* wi, double* vl,
            const MKL_INT* ldvl, double* vr, const MKL_INT* ldvr, double* work,
            const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void dgeev_( const char* jobvl, const char* jobvr, const MKL_INT* n, double* a,
             const MKL_INT* lda, double* wr, double* wi, double* vl,
             const MKL_INT* ldvl, double* vr, const MKL_INT* ldvr,
             double* work, const MKL_INT* lwork, MKL_INT* info ) NOTHROW;

void DGEEVX( const char* balanc, const char* jobvl, const char* jobvr,
             const char* sense, const MKL_INT* n, double* a,
             const MKL_INT* lda, double* wr, double* wi, double* vl,
             const MKL_INT* ldvl, double* vr, const MKL_INT* ldvr,
             MKL_INT* ilo, MKL_INT* ihi, double* scale, double* abnrm,
             double* rconde, double* rcondv, double* work,
             const MKL_INT* lwork, MKL_INT* iwork, MKL_INT* info ) NOTHROW;
void DGEEVX_( const char* balanc, const char* jobvl, const char* jobvr,
              const char* sense, const MKL_INT* n, double* a,
              const MKL_INT* lda, double* wr, double* wi, double* vl,
              const MKL_INT* ldvl, double* vr, const MKL_INT* ldvr,
              MKL_INT* ilo, MKL_INT* ihi, double* scale, double* abnrm,
              double* rconde, double* rcondv, double* work,
              const MKL_INT* lwork, MKL_INT* iwork, MKL_INT* info ) NOTHROW;
void dgeevx( const char* balanc, const char* jobvl, const char* jobvr,
             const char* sense, const MKL_INT* n, double* a,
             const MKL_INT* lda, double* wr, double* wi, double* vl,
             const MKL_INT* ldvl, double* vr, const MKL_INT* ldvr,
             MKL_INT* ilo, MKL_INT* ihi, double* scale, double* abnrm,
             double* rconde, double* rcondv, double* work,
             const MKL_INT* lwork, MKL_INT* iwork, MKL_INT* info ) NOTHROW;
void dgeevx_( const char* balanc, const char* jobvl, const char* jobvr,
              const char* sense, const MKL_INT* n, double* a,
              const MKL_INT* lda, double* wr, double* wi, double* vl,
              const MKL_INT* ldvl, double* vr, const MKL_INT* ldvr,
              MKL_INT* ilo, MKL_INT* ihi, double* scale, double* abnrm,
              double* rconde, double* rcondv, double* work,
              const MKL_INT* lwork, MKL_INT* iwork, MKL_INT* info ) NOTHROW;

void DGEGS( const char* jobvsl, const char* jobvsr, const MKL_INT* n,
            double* a, const MKL_INT* lda, double* b, const MKL_INT* ldb,
            double* alphar, double* alphai, double* beta, double* vsl,
            const MKL_INT* ldvsl, double* vsr, const MKL_INT* ldvsr,
            double* work, const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void DGEGS_( const char* jobvsl, const char* jobvsr, const MKL_INT* n,
             double* a, const MKL_INT* lda, double* b, const MKL_INT* ldb,
             double* alphar, double* alphai, double* beta, double* vsl,
             const MKL_INT* ldvsl, double* vsr, const MKL_INT* ldvsr,
             double* work, const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void dgegs( const char* jobvsl, const char* jobvsr, const MKL_INT* n,
            double* a, const MKL_INT* lda, double* b, const MKL_INT* ldb,
            double* alphar, double* alphai, double* beta, double* vsl,
            const MKL_INT* ldvsl, double* vsr, const MKL_INT* ldvsr,
            double* work, const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void dgegs_( const char* jobvsl, const char* jobvsr, const MKL_INT* n,
             double* a, const MKL_INT* lda, double* b, const MKL_INT* ldb,
             double* alphar, double* alphai, double* beta, double* vsl,
             const MKL_INT* ldvsl, double* vsr, const MKL_INT* ldvsr,
             double* work, const MKL_INT* lwork, MKL_INT* info ) NOTHROW;

void DGEGV( const char* jobvl, const char* jobvr, const MKL_INT* n, double* a,
            const MKL_INT* lda, double* b, const MKL_INT* ldb, double* alphar,
            double* alphai, double* beta, double* vl, const MKL_INT* ldvl,
            double* vr, const MKL_INT* ldvr, double* work,
            const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void DGEGV_( const char* jobvl, const char* jobvr, const MKL_INT* n, double* a,
             const MKL_INT* lda, double* b, const MKL_INT* ldb, double* alphar,
             double* alphai, double* beta, double* vl, const MKL_INT* ldvl,
             double* vr, const MKL_INT* ldvr, double* work,
             const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void dgegv( const char* jobvl, const char* jobvr, const MKL_INT* n, double* a,
            const MKL_INT* lda, double* b, const MKL_INT* ldb, double* alphar,
            double* alphai, double* beta, double* vl, const MKL_INT* ldvl,
            double* vr, const MKL_INT* ldvr, double* work,
            const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void dgegv_( const char* jobvl, const char* jobvr, const MKL_INT* n, double* a,
             const MKL_INT* lda, double* b, const MKL_INT* ldb, double* alphar,
             double* alphai, double* beta, double* vl, const MKL_INT* ldvl,
             double* vr, const MKL_INT* ldvr, double* work,
             const MKL_INT* lwork, MKL_INT* info ) NOTHROW;

void DGEHD2( const MKL_INT* n, const MKL_INT* ilo, const MKL_INT* ihi,
             double* a, const MKL_INT* lda, double* tau, double* work,
             MKL_INT* info ) NOTHROW;
void DGEHD2_( const MKL_INT* n, const MKL_INT* ilo, const MKL_INT* ihi,
              double* a, const MKL_INT* lda, double* tau, double* work,
              MKL_INT* info ) NOTHROW;
void dgehd2( const MKL_INT* n, const MKL_INT* ilo, const MKL_INT* ihi,
             double* a, const MKL_INT* lda, double* tau, double* work,
             MKL_INT* info ) NOTHROW;
void dgehd2_( const MKL_INT* n, const MKL_INT* ilo, const MKL_INT* ihi,
              double* a, const MKL_INT* lda, double* tau, double* work,
              MKL_INT* info ) NOTHROW;

void DGEHRD( const MKL_INT* n, const MKL_INT* ilo, const MKL_INT* ihi,
             double* a, const MKL_INT* lda, double* tau, double* work,
             const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void DGEHRD_( const MKL_INT* n, const MKL_INT* ilo, const MKL_INT* ihi,
              double* a, const MKL_INT* lda, double* tau, double* work,
              const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void dgehrd( const MKL_INT* n, const MKL_INT* ilo, const MKL_INT* ihi,
             double* a, const MKL_INT* lda, double* tau, double* work,
             const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void dgehrd_( const MKL_INT* n, const MKL_INT* ilo, const MKL_INT* ihi,
              double* a, const MKL_INT* lda, double* tau, double* work,
              const MKL_INT* lwork, MKL_INT* info ) NOTHROW;

void DGEJSV( const char* joba, const char* jobu, const char* jobv, const char* jobr, const char* jobt,
             const char* jobp, const MKL_INT* m, const MKL_INT* n, double* a,
             const MKL_INT* lda, double* sva, double* u, const MKL_INT* ldu,
             double* v, const MKL_INT* ldv, double* work, const MKL_INT* lwork,
             MKL_INT* iwork, MKL_INT* info ) NOTHROW;
void DGEJSV_( const char* joba, const char* jobu, const char* jobv, const char* jobr, const char* jobt,
              const char* jobp, const MKL_INT* m, const MKL_INT* n, double* a,
              const MKL_INT* lda, double* sva, double* u, const MKL_INT* ldu,
              double* v, const MKL_INT* ldv, double* work,
              const MKL_INT* lwork, MKL_INT* iwork, MKL_INT* info ) NOTHROW;
void dgejsv( const char* joba, const char* jobu, const char* jobv, const char* jobr, const char* jobt,
             const char* jobp, const MKL_INT* m, const MKL_INT* n, double* a,
             const MKL_INT* lda, double* sva, double* u, const MKL_INT* ldu,
             double* v, const MKL_INT* ldv, double* work, const MKL_INT* lwork,
             MKL_INT* iwork, MKL_INT* info ) NOTHROW;
void dgejsv_( const char* joba, const char* jobu, const char* jobv, const char* jobr, const char* jobt,
              const char* jobp, const MKL_INT* m, const MKL_INT* n, double* a,
              const MKL_INT* lda, double* sva, double* u, const MKL_INT* ldu,
              double* v, const MKL_INT* ldv, double* work,
              const MKL_INT* lwork, MKL_INT* iwork, MKL_INT* info ) NOTHROW;

void DGELQ2( const MKL_INT* m, const MKL_INT* n, double* a, const MKL_INT* lda,
             double* tau, double* work, MKL_INT* info ) NOTHROW;
void DGELQ2_( const MKL_INT* m, const MKL_INT* n, double* a,
              const MKL_INT* lda, double* tau, double* work, MKL_INT* info ) NOTHROW;
void dgelq2( const MKL_INT* m, const MKL_INT* n, double* a, const MKL_INT* lda,
             double* tau, double* work, MKL_INT* info ) NOTHROW;
void dgelq2_( const MKL_INT* m, const MKL_INT* n, double* a,
              const MKL_INT* lda, double* tau, double* work, MKL_INT* info ) NOTHROW;

void DGELQF( const MKL_INT* m, const MKL_INT* n, double* a, const MKL_INT* lda,
             double* tau, double* work, const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void DGELQF_( const MKL_INT* m, const MKL_INT* n, double* a,
              const MKL_INT* lda, double* tau, double* work,
              const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void dgelqf( const MKL_INT* m, const MKL_INT* n, double* a, const MKL_INT* lda,
             double* tau, double* work, const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void dgelqf_( const MKL_INT* m, const MKL_INT* n, double* a,
              const MKL_INT* lda, double* tau, double* work,
              const MKL_INT* lwork, MKL_INT* info ) NOTHROW;

void DGELSD( const MKL_INT* m, const MKL_INT* n, const MKL_INT* nrhs,
             double* a, const MKL_INT* lda, double* b,
             const MKL_INT* ldb, double* s, const double* rcond, MKL_INT* rank,
             double* work, const MKL_INT* lwork, MKL_INT* iwork,
             MKL_INT* info ) NOTHROW;
void DGELSD_( const MKL_INT* m, const MKL_INT* n, const MKL_INT* nrhs,
              double* a, const MKL_INT* lda, double* b,
              const MKL_INT* ldb, double* s, const double* rcond,
              MKL_INT* rank, double* work, const MKL_INT* lwork,
              MKL_INT* iwork, MKL_INT* info ) NOTHROW;
void dgelsd( const MKL_INT* m, const MKL_INT* n, const MKL_INT* nrhs,
             double* a, const MKL_INT* lda, double* b,
             const MKL_INT* ldb, double* s, const double* rcond, MKL_INT* rank,
             double* work, const MKL_INT* lwork, MKL_INT* iwork,
             MKL_INT* info ) NOTHROW;
void dgelsd_( const MKL_INT* m, const MKL_INT* n, const MKL_INT* nrhs,
              double* a, const MKL_INT* lda, double* b,
              const MKL_INT* ldb, double* s, const double* rcond,
              MKL_INT* rank, double* work, const MKL_INT* lwork,
              MKL_INT* iwork, MKL_INT* info ) NOTHROW;

void DGELS( const char* trans, const MKL_INT* m, const MKL_INT* n,
            const MKL_INT* nrhs, double* a, const MKL_INT* lda, double* b,
            const MKL_INT* ldb, double* work, const MKL_INT* lwork,
            MKL_INT* info ) NOTHROW;
void DGELS_( const char* trans, const MKL_INT* m, const MKL_INT* n,
             const MKL_INT* nrhs, double* a, const MKL_INT* lda, double* b,
             const MKL_INT* ldb, double* work, const MKL_INT* lwork,
             MKL_INT* info ) NOTHROW;
void dgels( const char* trans, const MKL_INT* m, const MKL_INT* n,
            const MKL_INT* nrhs, double* a, const MKL_INT* lda, double* b,
            const MKL_INT* ldb, double* work, const MKL_INT* lwork,
            MKL_INT* info ) NOTHROW;
void dgels_( const char* trans, const MKL_INT* m, const MKL_INT* n,
             const MKL_INT* nrhs, double* a, const MKL_INT* lda, double* b,
             const MKL_INT* ldb, double* work, const MKL_INT* lwork,
             MKL_INT* info ) NOTHROW;

void DGELSS( const MKL_INT* m, const MKL_INT* n, const MKL_INT* nrhs,
             double* a, const MKL_INT* lda, double* b, const MKL_INT* ldb,
             double* s, const double* rcond, MKL_INT* rank, double* work,
             const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void DGELSS_( const MKL_INT* m, const MKL_INT* n, const MKL_INT* nrhs,
              double* a, const MKL_INT* lda, double* b, const MKL_INT* ldb,
              double* s, const double* rcond, MKL_INT* rank, double* work,
              const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void dgelss( const MKL_INT* m, const MKL_INT* n, const MKL_INT* nrhs,
             double* a, const MKL_INT* lda, double* b, const MKL_INT* ldb,
             double* s, const double* rcond, MKL_INT* rank, double* work,
             const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void dgelss_( const MKL_INT* m, const MKL_INT* n, const MKL_INT* nrhs,
              double* a, const MKL_INT* lda, double* b, const MKL_INT* ldb,
              double* s, const double* rcond, MKL_INT* rank, double* work,
              const MKL_INT* lwork, MKL_INT* info ) NOTHROW;

void DGELSX( const MKL_INT* m, const MKL_INT* n, const MKL_INT* nrhs,
             double* a, const MKL_INT* lda, double* b, const MKL_INT* ldb,
             MKL_INT* jpvt, const double* rcond, MKL_INT* rank, double* work,
             MKL_INT* info ) NOTHROW;
void DGELSX_( const MKL_INT* m, const MKL_INT* n, const MKL_INT* nrhs,
              double* a, const MKL_INT* lda, double* b, const MKL_INT* ldb,
              MKL_INT* jpvt, const double* rcond, MKL_INT* rank, double* work,
              MKL_INT* info ) NOTHROW;
void dgelsx( const MKL_INT* m, const MKL_INT* n, const MKL_INT* nrhs,
             double* a, const MKL_INT* lda, double* b, const MKL_INT* ldb,
             MKL_INT* jpvt, const double* rcond, MKL_INT* rank, double* work,
             MKL_INT* info ) NOTHROW;
void dgelsx_( const MKL_INT* m, const MKL_INT* n, const MKL_INT* nrhs,
              double* a, const MKL_INT* lda, double* b, const MKL_INT* ldb,
              MKL_INT* jpvt, const double* rcond, MKL_INT* rank, double* work,
              MKL_INT* info ) NOTHROW;

void DGELSY( const MKL_INT* m, const MKL_INT* n, const MKL_INT* nrhs,
             double* a, const MKL_INT* lda, double* b, const MKL_INT* ldb,
             MKL_INT* jpvt, const double* rcond, MKL_INT* rank, double* work,
             const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void DGELSY_( const MKL_INT* m, const MKL_INT* n, const MKL_INT* nrhs,
              double* a, const MKL_INT* lda, double* b, const MKL_INT* ldb,
              MKL_INT* jpvt, const double* rcond, MKL_INT* rank, double* work,
              const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void dgelsy( const MKL_INT* m, const MKL_INT* n, const MKL_INT* nrhs,
             double* a, const MKL_INT* lda, double* b, const MKL_INT* ldb,
             MKL_INT* jpvt, const double* rcond, MKL_INT* rank, double* work,
             const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void dgelsy_( const MKL_INT* m, const MKL_INT* n, const MKL_INT* nrhs,
              double* a, const MKL_INT* lda, double* b, const MKL_INT* ldb,
              MKL_INT* jpvt, const double* rcond, MKL_INT* rank, double* work,
              const MKL_INT* lwork, MKL_INT* info ) NOTHROW;

void DGEQL2( const MKL_INT* m, const MKL_INT* n, double* a, const MKL_INT* lda,
             double* tau, double* work, MKL_INT* info ) NOTHROW;
void DGEQL2_( const MKL_INT* m, const MKL_INT* n, double* a,
              const MKL_INT* lda, double* tau, double* work, MKL_INT* info ) NOTHROW;
void dgeql2( const MKL_INT* m, const MKL_INT* n, double* a, const MKL_INT* lda,
             double* tau, double* work, MKL_INT* info ) NOTHROW;
void dgeql2_( const MKL_INT* m, const MKL_INT* n, double* a,
              const MKL_INT* lda, double* tau, double* work, MKL_INT* info ) NOTHROW;

void DGEQLF( const MKL_INT* m, const MKL_INT* n, double* a, const MKL_INT* lda,
             double* tau, double* work, const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void DGEQLF_( const MKL_INT* m, const MKL_INT* n, double* a,
              const MKL_INT* lda, double* tau, double* work,
              const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void dgeqlf( const MKL_INT* m, const MKL_INT* n, double* a, const MKL_INT* lda,
             double* tau, double* work, const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void dgeqlf_( const MKL_INT* m, const MKL_INT* n, double* a,
              const MKL_INT* lda, double* tau, double* work,
              const MKL_INT* lwork, MKL_INT* info ) NOTHROW;

void DGEQP3( const MKL_INT* m, const MKL_INT* n, double* a, const MKL_INT* lda,
             MKL_INT* jpvt, double* tau, double* work, const MKL_INT* lwork,
             MKL_INT* info ) NOTHROW;
void DGEQP3_( const MKL_INT* m, const MKL_INT* n, double* a,
              const MKL_INT* lda, MKL_INT* jpvt, double* tau, double* work,
              const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void dgeqp3( const MKL_INT* m, const MKL_INT* n, double* a, const MKL_INT* lda,
             MKL_INT* jpvt, double* tau, double* work, const MKL_INT* lwork,
             MKL_INT* info ) NOTHROW;
void dgeqp3_( const MKL_INT* m, const MKL_INT* n, double* a,
              const MKL_INT* lda, MKL_INT* jpvt, double* tau, double* work,
              const MKL_INT* lwork, MKL_INT* info ) NOTHROW;

void DGEQPF( const MKL_INT* m, const MKL_INT* n, double* a, const MKL_INT* lda,
             MKL_INT* jpvt, double* tau, double* work, MKL_INT* info ) NOTHROW;
void DGEQPF_( const MKL_INT* m, const MKL_INT* n, double* a,
              const MKL_INT* lda, MKL_INT* jpvt, double* tau, double* work,
              MKL_INT* info ) NOTHROW;
void dgeqpf( const MKL_INT* m, const MKL_INT* n, double* a, const MKL_INT* lda,
             MKL_INT* jpvt, double* tau, double* work, MKL_INT* info ) NOTHROW;
void dgeqpf_( const MKL_INT* m, const MKL_INT* n, double* a,
              const MKL_INT* lda, MKL_INT* jpvt, double* tau, double* work,
              MKL_INT* info ) NOTHROW;

void DGEQR2( const MKL_INT* m, const MKL_INT* n, double* a, const MKL_INT* lda,
             double* tau, double* work, MKL_INT* info ) NOTHROW;
void DGEQR2_( const MKL_INT* m, const MKL_INT* n, double* a,
              const MKL_INT* lda, double* tau, double* work, MKL_INT* info ) NOTHROW;
void dgeqr2( const MKL_INT* m, const MKL_INT* n, double* a, const MKL_INT* lda,
             double* tau, double* work, MKL_INT* info ) NOTHROW;
void dgeqr2_( const MKL_INT* m, const MKL_INT* n, double* a,
              const MKL_INT* lda, double* tau, double* work, MKL_INT* info ) NOTHROW;

void DGEQR2P( const MKL_INT* m, const MKL_INT* n, double* a, const MKL_INT* lda,
              double* tau, double* work, MKL_INT* info ) NOTHROW;
void DGEQR2P_( const MKL_INT* m, const MKL_INT* n, double* a,
               const MKL_INT* lda, double* tau, double* work, MKL_INT* info ) NOTHROW;
void dgeqr2p( const MKL_INT* m, const MKL_INT* n, double* a, const MKL_INT* lda,
              double* tau, double* work, MKL_INT* info ) NOTHROW;
void dgeqr2p_( const MKL_INT* m, const MKL_INT* n, double* a,
               const MKL_INT* lda, double* tau, double* work, MKL_INT* info ) NOTHROW;

void DGEQRF( const MKL_INT* m, const MKL_INT* n, double* a, const MKL_INT* lda,
             double* tau, double* work, const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void DGEQRF_( const MKL_INT* m, const MKL_INT* n, double* a,
              const MKL_INT* lda, double* tau, double* work,
              const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void dgeqrf( const MKL_INT* m, const MKL_INT* n, double* a, const MKL_INT* lda,
             double* tau, double* work, const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void dgeqrf_( const MKL_INT* m, const MKL_INT* n, double* a,
              const MKL_INT* lda, double* tau, double* work,
              const MKL_INT* lwork, MKL_INT* info ) NOTHROW;

void DGEQRFP( const MKL_INT* m, const MKL_INT* n, double* a, const MKL_INT* lda,
              double* tau, double* work, const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void DGEQRFP_( const MKL_INT* m, const MKL_INT* n, double* a,
               const MKL_INT* lda, double* tau, double* work,
               const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void dgeqrfp( const MKL_INT* m, const MKL_INT* n, double* a, const MKL_INT* lda,
              double* tau, double* work, const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void dgeqrfp_( const MKL_INT* m, const MKL_INT* n, double* a,
               const MKL_INT* lda, double* tau, double* work,
               const MKL_INT* lwork, MKL_INT* info ) NOTHROW;

void DGERFS( const char* trans, const MKL_INT* n, const MKL_INT* nrhs,
             const double* a, const MKL_INT* lda, const double* af,
             const MKL_INT* ldaf, const MKL_INT* ipiv, const double* b,
             const MKL_INT* ldb, double* x, const MKL_INT* ldx, double* ferr,
             double* berr, double* work, MKL_INT* iwork, MKL_INT* info ) NOTHROW;
void DGERFS_( const char* trans, const MKL_INT* n, const MKL_INT* nrhs,
              const double* a, const MKL_INT* lda, const double* af,
              const MKL_INT* ldaf, const MKL_INT* ipiv, const double* b,
              const MKL_INT* ldb, double* x, const MKL_INT* ldx, double* ferr,
              double* berr, double* work, MKL_INT* iwork, MKL_INT* info ) NOTHROW;
void dgerfs( const char* trans, const MKL_INT* n, const MKL_INT* nrhs,
             const double* a, const MKL_INT* lda, const double* af,
             const MKL_INT* ldaf, const MKL_INT* ipiv, const double* b,
             const MKL_INT* ldb, double* x, const MKL_INT* ldx, double* ferr,
             double* berr, double* work, MKL_INT* iwork, MKL_INT* info ) NOTHROW;
void dgerfs_( const char* trans, const MKL_INT* n, const MKL_INT* nrhs,
              const double* a, const MKL_INT* lda, const double* af,
              const MKL_INT* ldaf, const MKL_INT* ipiv, const double* b,
              const MKL_INT* ldb, double* x, const MKL_INT* ldx, double* ferr,
              double* berr, double* work, MKL_INT* iwork, MKL_INT* info ) NOTHROW;

void DGERFSX( const char* trans, const char* equed, const MKL_INT* n,
              const MKL_INT* nrhs, const double* a, const MKL_INT* lda,
              const double* af, const MKL_INT* ldaf, const MKL_INT* ipiv,
              const double* r, const double* c, const double* b,
              const MKL_INT* ldb, double* x, const MKL_INT* ldx, double* rcond,
              double* berr, const MKL_INT* n_err_bnds, double* err_bnds_norm,
              double* err_bnds_comp, const MKL_INT* nparams, double* params,
              double* work, MKL_INT* iwork, MKL_INT* info ) NOTHROW;
void DGERFSX_( const char* trans, const char* equed, const MKL_INT* n,
               const MKL_INT* nrhs, const double* a, const MKL_INT* lda,
               const double* af, const MKL_INT* ldaf, const MKL_INT* ipiv,
               const double* r, const double* c, const double* b,
               const MKL_INT* ldb, double* x, const MKL_INT* ldx,
               double* rcond, double* berr, const MKL_INT* n_err_bnds,
               double* err_bnds_norm, double* err_bnds_comp,
               const MKL_INT* nparams, double* params, double* work,
               MKL_INT* iwork, MKL_INT* info ) NOTHROW;
void dgerfsx( const char* trans, const char* equed, const MKL_INT* n,
              const MKL_INT* nrhs, const double* a, const MKL_INT* lda,
              const double* af, const MKL_INT* ldaf, const MKL_INT* ipiv,
              const double* r, const double* c, const double* b,
              const MKL_INT* ldb, double* x, const MKL_INT* ldx, double* rcond,
              double* berr, const MKL_INT* n_err_bnds, double* err_bnds_norm,
              double* err_bnds_comp, const MKL_INT* nparams, double* params,
              double* work, MKL_INT* iwork, MKL_INT* info ) NOTHROW;
void dgerfsx_( const char* trans, const char* equed, const MKL_INT* n,
               const MKL_INT* nrhs, const double* a, const MKL_INT* lda,
               const double* af, const MKL_INT* ldaf, const MKL_INT* ipiv,
               const double* r, const double* c, const double* b,
               const MKL_INT* ldb, double* x, const MKL_INT* ldx,
               double* rcond, double* berr, const MKL_INT* n_err_bnds,
               double* err_bnds_norm, double* err_bnds_comp,
               const MKL_INT* nparams, double* params, double* work,
               MKL_INT* iwork, MKL_INT* info ) NOTHROW;

void DGERQ2( const MKL_INT* m, const MKL_INT* n, double* a, const MKL_INT* lda,
             double* tau, double* work, MKL_INT* info ) NOTHROW;
void DGERQ2_( const MKL_INT* m, const MKL_INT* n, double* a,
              const MKL_INT* lda, double* tau, double* work, MKL_INT* info ) NOTHROW;
void dgerq2( const MKL_INT* m, const MKL_INT* n, double* a, const MKL_INT* lda,
             double* tau, double* work, MKL_INT* info ) NOTHROW;
void dgerq2_( const MKL_INT* m, const MKL_INT* n, double* a,
              const MKL_INT* lda, double* tau, double* work, MKL_INT* info ) NOTHROW;

void DGERQF( const MKL_INT* m, const MKL_INT* n, double* a, const MKL_INT* lda,
             double* tau, double* work, const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void DGERQF_( const MKL_INT* m, const MKL_INT* n, double* a,
              const MKL_INT* lda, double* tau, double* work,
              const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void dgerqf( const MKL_INT* m, const MKL_INT* n, double* a, const MKL_INT* lda,
             double* tau, double* work, const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void dgerqf_( const MKL_INT* m, const MKL_INT* n, double* a,
              const MKL_INT* lda, double* tau, double* work,
              const MKL_INT* lwork, MKL_INT* info ) NOTHROW;

void DGESC2( const MKL_INT* n, const double* a, const MKL_INT* lda,
             double* rhs, const MKL_INT* ipiv, const MKL_INT* jpiv,
             double* scale ) NOTHROW;
void DGESC2_( const MKL_INT* n, const double* a, const MKL_INT* lda,
              double* rhs, const MKL_INT* ipiv, const MKL_INT* jpiv,
              double* scale ) NOTHROW;
void dgesc2( const MKL_INT* n, const double* a, const MKL_INT* lda,
             double* rhs, const MKL_INT* ipiv, const MKL_INT* jpiv,
             double* scale ) NOTHROW;
void dgesc2_( const MKL_INT* n, const double* a, const MKL_INT* lda,
              double* rhs, const MKL_INT* ipiv, const MKL_INT* jpiv,
              double* scale ) NOTHROW;

void DGESDD( const char* jobz, const MKL_INT* m, const MKL_INT* n, double* a,
             const MKL_INT* lda, double* s, double* u, const MKL_INT* ldu,
             double* vt, const MKL_INT* ldvt, double* work,
             const MKL_INT* lwork, MKL_INT* iwork, MKL_INT* info ) NOTHROW;
void DGESDD_( const char* jobz, const MKL_INT* m, const MKL_INT* n, double* a,
              const MKL_INT* lda, double* s, double* u, const MKL_INT* ldu,
              double* vt, const MKL_INT* ldvt, double* work,
              const MKL_INT* lwork, MKL_INT* iwork, MKL_INT* info ) NOTHROW;
void dgesdd( const char* jobz, const MKL_INT* m, const MKL_INT* n, double* a,
             const MKL_INT* lda, double* s, double* u, const MKL_INT* ldu,
             double* vt, const MKL_INT* ldvt, double* work,
             const MKL_INT* lwork, MKL_INT* iwork, MKL_INT* info ) NOTHROW;
void dgesdd_( const char* jobz, const MKL_INT* m, const MKL_INT* n, double* a,
              const MKL_INT* lda, double* s, double* u, const MKL_INT* ldu,
              double* vt, const MKL_INT* ldvt, double* work,
              const MKL_INT* lwork, MKL_INT* iwork, MKL_INT* info ) NOTHROW;

void DGESVD( const char* jobu, const char* jobvt, const MKL_INT* m,
             const MKL_INT* n, double* a, const MKL_INT* lda, double* s,
             double* u, const MKL_INT* ldu, double* vt, const MKL_INT* ldvt,
             double* work, const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void DGESVD_( const char* jobu, const char* jobvt, const MKL_INT* m,
              const MKL_INT* n, double* a, const MKL_INT* lda, double* s,
              double* u, const MKL_INT* ldu, double* vt, const MKL_INT* ldvt,
              double* work, const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void dgesvd( const char* jobu, const char* jobvt, const MKL_INT* m,
             const MKL_INT* n, double* a, const MKL_INT* lda, double* s,
             double* u, const MKL_INT* ldu, double* vt, const MKL_INT* ldvt,
             double* work, const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void dgesvd_( const char* jobu, const char* jobvt, const MKL_INT* m,
              const MKL_INT* n, double* a, const MKL_INT* lda, double* s,
              double* u, const MKL_INT* ldu, double* vt, const MKL_INT* ldvt,
              double* work, const MKL_INT* lwork, MKL_INT* info ) NOTHROW;

void DGESV( const MKL_INT* n, const MKL_INT* nrhs, double* a,
            const MKL_INT* lda, MKL_INT* ipiv, double* b, const MKL_INT* ldb,
            MKL_INT* info ) NOTHROW;
void DGESV_( const MKL_INT* n, const MKL_INT* nrhs, double* a,
             const MKL_INT* lda, MKL_INT* ipiv, double* b, const MKL_INT* ldb,
             MKL_INT* info ) NOTHROW;
void dgesv( const MKL_INT* n, const MKL_INT* nrhs, double* a,
            const MKL_INT* lda, MKL_INT* ipiv, double* b, const MKL_INT* ldb,
            MKL_INT* info ) NOTHROW;
void dgesv_( const MKL_INT* n, const MKL_INT* nrhs, double* a,
             const MKL_INT* lda, MKL_INT* ipiv, double* b, const MKL_INT* ldb,
             MKL_INT* info ) NOTHROW;

void DGESVJ( const char* joba, const char* jobu, const char* jobv,
             const MKL_INT* m, const MKL_INT* n, double* a, const MKL_INT* lda,
             double* sva, const MKL_INT* mv, double* v, const MKL_INT* ldv,
             double* work, const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void DGESVJ_( const char* joba, const char* jobu, const char* jobv,
              const MKL_INT* m, const MKL_INT* n, double* a,
              const MKL_INT* lda, double* sva, const MKL_INT* mv, double* v,
              const MKL_INT* ldv, double* work, const MKL_INT* lwork,
              MKL_INT* info ) NOTHROW;
void dgesvj( const char* joba, const char* jobu, const char* jobv,
             const MKL_INT* m, const MKL_INT* n, double* a, const MKL_INT* lda,
             double* sva, const MKL_INT* mv, double* v, const MKL_INT* ldv,
             double* work, const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void dgesvj_( const char* joba, const char* jobu, const char* jobv,
              const MKL_INT* m, const MKL_INT* n, double* a,
              const MKL_INT* lda, double* sva, const MKL_INT* mv, double* v,
              const MKL_INT* ldv, double* work, const MKL_INT* lwork,
              MKL_INT* info ) NOTHROW;

void DGESVX( const char* fact, const char* trans, const MKL_INT* n,
             const MKL_INT* nrhs, double* a, const MKL_INT* lda, double* af,
             const MKL_INT* ldaf, MKL_INT* ipiv, char* equed, double* r,
             double* c, double* b, const MKL_INT* ldb, double* x,
             const MKL_INT* ldx, double* rcond, double* ferr, double* berr,
             double* work, MKL_INT* iwork, MKL_INT* info ) NOTHROW;
void DGESVX_( const char* fact, const char* trans, const MKL_INT* n,
              const MKL_INT* nrhs, double* a, const MKL_INT* lda, double* af,
              const MKL_INT* ldaf, MKL_INT* ipiv, char* equed, double* r,
              double* c, double* b, const MKL_INT* ldb, double* x,
              const MKL_INT* ldx, double* rcond, double* ferr, double* berr,
              double* work, MKL_INT* iwork, MKL_INT* info ) NOTHROW;
void dgesvx( const char* fact, const char* trans, const MKL_INT* n,
             const MKL_INT* nrhs, double* a, const MKL_INT* lda, double* af,
             const MKL_INT* ldaf, MKL_INT* ipiv, char* equed, double* r,
             double* c, double* b, const MKL_INT* ldb, double* x,
             const MKL_INT* ldx, double* rcond, double* ferr, double* berr,
             double* work, MKL_INT* iwork, MKL_INT* info ) NOTHROW;
void dgesvx_( const char* fact, const char* trans, const MKL_INT* n,
              const MKL_INT* nrhs, double* a, const MKL_INT* lda, double* af,
              const MKL_INT* ldaf, MKL_INT* ipiv, char* equed, double* r,
              double* c, double* b, const MKL_INT* ldb, double* x,
              const MKL_INT* ldx, double* rcond, double* ferr, double* berr,
              double* work, MKL_INT* iwork, MKL_INT* info ) NOTHROW;

void DGESVXX( const char* fact, const char* trans, const MKL_INT* n,
              const MKL_INT* nrhs, double* a, const MKL_INT* lda, double* af,
              const MKL_INT* ldaf, MKL_INT* ipiv, char* equed, double* r,
              double* c, double* b, const MKL_INT* ldb, double* x,
              const MKL_INT* ldx, double* rcond, double* rpvgrw, double* berr,
              const MKL_INT* n_err_bnds, double* err_bnds_norm,
              double* err_bnds_comp, const MKL_INT* nparams, double* params,
              double* work, MKL_INT* iwork, MKL_INT* info ) NOTHROW;
void DGESVXX_( const char* fact, const char* trans, const MKL_INT* n,
               const MKL_INT* nrhs, double* a, const MKL_INT* lda, double* af,
               const MKL_INT* ldaf, MKL_INT* ipiv, char* equed, double* r,
               double* c, double* b, const MKL_INT* ldb, double* x,
               const MKL_INT* ldx, double* rcond, double* rpvgrw, double* berr,
               const MKL_INT* n_err_bnds, double* err_bnds_norm,
               double* err_bnds_comp, const MKL_INT* nparams, double* params,
               double* work, MKL_INT* iwork, MKL_INT* info ) NOTHROW;
void dgesvxx( const char* fact, const char* trans, const MKL_INT* n,
              const MKL_INT* nrhs, double* a, const MKL_INT* lda, double* af,
              const MKL_INT* ldaf, MKL_INT* ipiv, char* equed, double* r,
              double* c, double* b, const MKL_INT* ldb, double* x,
              const MKL_INT* ldx, double* rcond, double* rpvgrw, double* berr,
              const MKL_INT* n_err_bnds, double* err_bnds_norm,
              double* err_bnds_comp, const MKL_INT* nparams, double* params,
              double* work, MKL_INT* iwork, MKL_INT* info ) NOTHROW;
void dgesvxx_( const char* fact, const char* trans, const MKL_INT* n,
               const MKL_INT* nrhs, double* a, const MKL_INT* lda, double* af,
               const MKL_INT* ldaf, MKL_INT* ipiv, char* equed, double* r,
               double* c, double* b, const MKL_INT* ldb, double* x,
               const MKL_INT* ldx, double* rcond, double* rpvgrw, double* berr,
               const MKL_INT* n_err_bnds, double* err_bnds_norm,
               double* err_bnds_comp, const MKL_INT* nparams, double* params,
               double* work, MKL_INT* iwork, MKL_INT* info ) NOTHROW;

void DGETC2( const MKL_INT* n, double* a, const MKL_INT* lda, MKL_INT* ipiv,
             MKL_INT* jpiv, MKL_INT* info ) NOTHROW;
void DGETC2_( const MKL_INT* n, double* a, const MKL_INT* lda, MKL_INT* ipiv,
              MKL_INT* jpiv, MKL_INT* info ) NOTHROW;
void dgetc2( const MKL_INT* n, double* a, const MKL_INT* lda, MKL_INT* ipiv,
             MKL_INT* jpiv, MKL_INT* info ) NOTHROW;
void dgetc2_( const MKL_INT* n, double* a, const MKL_INT* lda, MKL_INT* ipiv,
              MKL_INT* jpiv, MKL_INT* info ) NOTHROW;

void DGETF2( const MKL_INT* m, const MKL_INT* n, double* a, const MKL_INT* lda,
             MKL_INT* ipiv, MKL_INT* info ) NOTHROW;
void DGETF2_( const MKL_INT* m, const MKL_INT* n, double* a,
              const MKL_INT* lda, MKL_INT* ipiv, MKL_INT* info ) NOTHROW;
void dgetf2( const MKL_INT* m, const MKL_INT* n, double* a, const MKL_INT* lda,
             MKL_INT* ipiv, MKL_INT* info ) NOTHROW;
void dgetf2_( const MKL_INT* m, const MKL_INT* n, double* a,
              const MKL_INT* lda, MKL_INT* ipiv, MKL_INT* info ) NOTHROW;

void DGETRF( const MKL_INT* m, const MKL_INT* n, double* a, const MKL_INT* lda,
             MKL_INT* ipiv, MKL_INT* info ) NOTHROW;
void DGETRF_( const MKL_INT* m, const MKL_INT* n, double* a,
              const MKL_INT* lda, MKL_INT* ipiv, MKL_INT* info ) NOTHROW;
void dgetrf( const MKL_INT* m, const MKL_INT* n, double* a, const MKL_INT* lda,
             MKL_INT* ipiv, MKL_INT* info ) NOTHROW;
void dgetrf_( const MKL_INT* m, const MKL_INT* n, double* a,
              const MKL_INT* lda, MKL_INT* ipiv, MKL_INT* info ) NOTHROW;

void MKL_DGETRFNPI( const MKL_INT* m, const MKL_INT* n, const MKL_INT* nfact,
                    double* a, const MKL_INT* lda, MKL_INT* info ) NOTHROW;
void MKL_DGETRFNPI_( const MKL_INT* m, const MKL_INT* n, const MKL_INT* nfact,
                     double* a, const MKL_INT* lda, MKL_INT* info ) NOTHROW;
void mkl_dgetrfnpi( const MKL_INT* m, const MKL_INT* n, const MKL_INT* nfact,
                    double* a, const MKL_INT* lda, MKL_INT* info ) NOTHROW;
void mkl_dgetrfnpi_( const MKL_INT* m, const MKL_INT* n, const MKL_INT* nfact,
                     double* a, const MKL_INT* lda, MKL_INT* info ) NOTHROW;

void DGETRI( const MKL_INT* n, double* a, const MKL_INT* lda,
             const MKL_INT* ipiv, double* work, const MKL_INT* lwork,
             MKL_INT* info ) NOTHROW;
void DGETRI_( const MKL_INT* n, double* a, const MKL_INT* lda,
              const MKL_INT* ipiv, double* work, const MKL_INT* lwork,
              MKL_INT* info ) NOTHROW;
void dgetri( const MKL_INT* n, double* a, const MKL_INT* lda,
             const MKL_INT* ipiv, double* work, const MKL_INT* lwork,
             MKL_INT* info ) NOTHROW;
void dgetri_( const MKL_INT* n, double* a, const MKL_INT* lda,
              const MKL_INT* ipiv, double* work, const MKL_INT* lwork,
              MKL_INT* info ) NOTHROW;

void DGETRS( const char* trans, const MKL_INT* n, const MKL_INT* nrhs,
             const double* a, const MKL_INT* lda, const MKL_INT* ipiv,
             double* b, const MKL_INT* ldb, MKL_INT* info ) NOTHROW;
void DGETRS_( const char* trans, const MKL_INT* n, const MKL_INT* nrhs,
              const double* a, const MKL_INT* lda, const MKL_INT* ipiv,
              double* b, const MKL_INT* ldb, MKL_INT* info ) NOTHROW;
void dgetrs( const char* trans, const MKL_INT* n, const MKL_INT* nrhs,
             const double* a, const MKL_INT* lda, const MKL_INT* ipiv,
             double* b, const MKL_INT* ldb, MKL_INT* info ) NOTHROW;
void dgetrs_( const char* trans, const MKL_INT* n, const MKL_INT* nrhs,
              const double* a, const MKL_INT* lda, const MKL_INT* ipiv,
              double* b, const MKL_INT* ldb, MKL_INT* info ) NOTHROW;

void DGGBAK( const char* job, const char* side, const MKL_INT* n,
             const MKL_INT* ilo, const MKL_INT* ihi, const double* lscale,
             const double* rscale, const MKL_INT* m, double* v,
             const MKL_INT* ldv, MKL_INT* info ) NOTHROW;
void DGGBAK_( const char* job, const char* side, const MKL_INT* n,
              const MKL_INT* ilo, const MKL_INT* ihi, const double* lscale,
              const double* rscale, const MKL_INT* m, double* v,
              const MKL_INT* ldv, MKL_INT* info ) NOTHROW;
void dggbak( const char* job, const char* side, const MKL_INT* n,
             const MKL_INT* ilo, const MKL_INT* ihi, const double* lscale,
             const double* rscale, const MKL_INT* m, double* v,
             const MKL_INT* ldv, MKL_INT* info ) NOTHROW;
void dggbak_( const char* job, const char* side, const MKL_INT* n,
              const MKL_INT* ilo, const MKL_INT* ihi, const double* lscale,
              const double* rscale, const MKL_INT* m, double* v,
              const MKL_INT* ldv, MKL_INT* info ) NOTHROW;

void DGGBAL( const char* job, const MKL_INT* n, double* a, const MKL_INT* lda,
             double* b, const MKL_INT* ldb, MKL_INT* ilo, MKL_INT* ihi,
             double* lscale, double* rscale, double* work, MKL_INT* info ) NOTHROW;
void DGGBAL_( const char* job, const MKL_INT* n, double* a, const MKL_INT* lda,
              double* b, const MKL_INT* ldb, MKL_INT* ilo, MKL_INT* ihi,
              double* lscale, double* rscale, double* work, MKL_INT* info ) NOTHROW;
void dggbal( const char* job, const MKL_INT* n, double* a, const MKL_INT* lda,
             double* b, const MKL_INT* ldb, MKL_INT* ilo, MKL_INT* ihi,
             double* lscale, double* rscale, double* work, MKL_INT* info ) NOTHROW;
void dggbal_( const char* job, const MKL_INT* n, double* a, const MKL_INT* lda,
              double* b, const MKL_INT* ldb, MKL_INT* ilo, MKL_INT* ihi,
              double* lscale, double* rscale, double* work, MKL_INT* info ) NOTHROW;

void DGGES( const char* jobvsl, const char* jobvsr, const char* sort,
            MKL_D_SELECT_FUNCTION_3 selctg, const MKL_INT* n, double* a,
            const MKL_INT* lda, double* b, const MKL_INT* ldb, MKL_INT* sdim,
            double* alphar, double* alphai, double* beta, double* vsl,
            const MKL_INT* ldvsl, double* vsr, const MKL_INT* ldvsr,
            double* work, const MKL_INT* lwork, MKL_INT* bwork,
            MKL_INT* info ) NOTHROW;
void DGGES_( const char* jobvsl, const char* jobvsr, const char* sort,
             MKL_D_SELECT_FUNCTION_3 selctg, const MKL_INT* n, double* a,
             const MKL_INT* lda, double* b, const MKL_INT* ldb, MKL_INT* sdim,
             double* alphar, double* alphai, double* beta, double* vsl,
             const MKL_INT* ldvsl, double* vsr, const MKL_INT* ldvsr,
             double* work, const MKL_INT* lwork, MKL_INT* bwork,
             MKL_INT* info ) NOTHROW;
void dgges( const char* jobvsl, const char* jobvsr, const char* sort,
            MKL_D_SELECT_FUNCTION_3 selctg, const MKL_INT* n, double* a,
            const MKL_INT* lda, double* b, const MKL_INT* ldb, MKL_INT* sdim,
            double* alphar, double* alphai, double* beta, double* vsl,
            const MKL_INT* ldvsl, double* vsr, const MKL_INT* ldvsr,
            double* work, const MKL_INT* lwork, MKL_INT* bwork,
            MKL_INT* info ) NOTHROW;
void dgges_( const char* jobvsl, const char* jobvsr, const char* sort,
             MKL_D_SELECT_FUNCTION_3 selctg, const MKL_INT* n, double* a,
             const MKL_INT* lda, double* b, const MKL_INT* ldb, MKL_INT* sdim,
             double* alphar, double* alphai, double* beta, double* vsl,
             const MKL_INT* ldvsl, double* vsr, const MKL_INT* ldvsr,
             double* work, const MKL_INT* lwork, MKL_INT* bwork,
             MKL_INT* info ) NOTHROW;

void DGGESX( const char* jobvsl, const char* jobvsr, const char* sort,
             MKL_D_SELECT_FUNCTION_3 selctg, const char* sense,
             const MKL_INT* n, double* a, const MKL_INT* lda, double* b,
             const MKL_INT* ldb, MKL_INT* sdim, double* alphar, double* alphai,
             double* beta, double* vsl, const MKL_INT* ldvsl, double* vsr,
             const MKL_INT* ldvsr, double* rconde, double* rcondv,
             double* work, const MKL_INT* lwork, MKL_INT* iwork,
             const MKL_INT* liwork, MKL_INT* bwork, MKL_INT* info ) NOTHROW;
void DGGESX_( const char* jobvsl, const char* jobvsr, const char* sort,
              MKL_D_SELECT_FUNCTION_3 selctg, const char* sense,
              const MKL_INT* n, double* a, const MKL_INT* lda, double* b,
              const MKL_INT* ldb, MKL_INT* sdim, double* alphar,
              double* alphai, double* beta, double* vsl, const MKL_INT* ldvsl,
              double* vsr, const MKL_INT* ldvsr, double* rconde,
              double* rcondv, double* work, const MKL_INT* lwork,
              MKL_INT* iwork, const MKL_INT* liwork, MKL_INT* bwork,
              MKL_INT* info ) NOTHROW;
void dggesx( const char* jobvsl, const char* jobvsr, const char* sort,
             MKL_D_SELECT_FUNCTION_3 selctg, const char* sense,
             const MKL_INT* n, double* a, const MKL_INT* lda, double* b,
             const MKL_INT* ldb, MKL_INT* sdim, double* alphar, double* alphai,
             double* beta, double* vsl, const MKL_INT* ldvsl, double* vsr,
             const MKL_INT* ldvsr, double* rconde, double* rcondv,
             double* work, const MKL_INT* lwork, MKL_INT* iwork,
             const MKL_INT* liwork, MKL_INT* bwork, MKL_INT* info ) NOTHROW;
void dggesx_( const char* jobvsl, const char* jobvsr, const char* sort,
              MKL_D_SELECT_FUNCTION_3 selctg, const char* sense,
              const MKL_INT* n, double* a, const MKL_INT* lda, double* b,
              const MKL_INT* ldb, MKL_INT* sdim, double* alphar,
              double* alphai, double* beta, double* vsl, const MKL_INT* ldvsl,
              double* vsr, const MKL_INT* ldvsr, double* rconde,
              double* rcondv, double* work, const MKL_INT* lwork,
              MKL_INT* iwork, const MKL_INT* liwork, MKL_INT* bwork,
              MKL_INT* info ) NOTHROW;

void DGGEV( const char* jobvl, const char* jobvr, const MKL_INT* n, double* a,
            const MKL_INT* lda, double* b, const MKL_INT* ldb, double* alphar,
            double* alphai, double* beta, double* vl, const MKL_INT* ldvl,
            double* vr, const MKL_INT* ldvr, double* work,
            const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void DGGEV_( const char* jobvl, const char* jobvr, const MKL_INT* n, double* a,
             const MKL_INT* lda, double* b, const MKL_INT* ldb, double* alphar,
             double* alphai, double* beta, double* vl, const MKL_INT* ldvl,
             double* vr, const MKL_INT* ldvr, double* work,
             const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void dggev( const char* jobvl, const char* jobvr, const MKL_INT* n, double* a,
            const MKL_INT* lda, double* b, const MKL_INT* ldb, double* alphar,
            double* alphai, double* beta, double* vl, const MKL_INT* ldvl,
            double* vr, const MKL_INT* ldvr, double* work,
            const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void dggev_( const char* jobvl, const char* jobvr, const MKL_INT* n, double* a,
             const MKL_INT* lda, double* b, const MKL_INT* ldb, double* alphar,
             double* alphai, double* beta, double* vl, const MKL_INT* ldvl,
             double* vr, const MKL_INT* ldvr, double* work,
             const MKL_INT* lwork, MKL_INT* info ) NOTHROW;

void DGGEVX( const char* balanc, const char* jobvl, const char* jobvr,
             const char* sense, const MKL_INT* n, double* a,
             const MKL_INT* lda, double* b, const MKL_INT* ldb, double* alphar,
             double* alphai, double* beta, double* vl, const MKL_INT* ldvl,
             double* vr, const MKL_INT* ldvr, MKL_INT* ilo, MKL_INT* ihi,
             double* lscale, double* rscale, double* abnrm, double* bbnrm,
             double* rconde, double* rcondv, double* work,
             const MKL_INT* lwork, MKL_INT* iwork, MKL_INT* bwork,
             MKL_INT* info ) NOTHROW;
void DGGEVX_( const char* balanc, const char* jobvl, const char* jobvr,
              const char* sense, const MKL_INT* n, double* a,
              const MKL_INT* lda, double* b, const MKL_INT* ldb,
              double* alphar, double* alphai, double* beta, double* vl,
              const MKL_INT* ldvl, double* vr, const MKL_INT* ldvr,
              MKL_INT* ilo, MKL_INT* ihi, double* lscale, double* rscale,
              double* abnrm, double* bbnrm, double* rconde, double* rcondv,
              double* work, const MKL_INT* lwork, MKL_INT* iwork,
              MKL_INT* bwork, MKL_INT* info ) NOTHROW;
void dggevx( const char* balanc, const char* jobvl, const char* jobvr,
             const char* sense, const MKL_INT* n, double* a,
             const MKL_INT* lda, double* b, const MKL_INT* ldb, double* alphar,
             double* alphai, double* beta, double* vl, const MKL_INT* ldvl,
             double* vr, const MKL_INT* ldvr, MKL_INT* ilo, MKL_INT* ihi,
             double* lscale, double* rscale, double* abnrm, double* bbnrm,
             double* rconde, double* rcondv, double* work,
             const MKL_INT* lwork, MKL_INT* iwork, MKL_INT* bwork,
             MKL_INT* info ) NOTHROW;
void dggevx_( const char* balanc, const char* jobvl, const char* jobvr,
              const char* sense, const MKL_INT* n, double* a,
              const MKL_INT* lda, double* b, const MKL_INT* ldb,
              double* alphar, double* alphai, double* beta, double* vl,
              const MKL_INT* ldvl, double* vr, const MKL_INT* ldvr,
              MKL_INT* ilo, MKL_INT* ihi, double* lscale, double* rscale,
              double* abnrm, double* bbnrm, double* rconde, double* rcondv,
              double* work, const MKL_INT* lwork, MKL_INT* iwork,
              MKL_INT* bwork, MKL_INT* info ) NOTHROW;

void DGGGLM( const MKL_INT* n, const MKL_INT* m, const MKL_INT* p, double* a,
             const MKL_INT* lda, double* b, const MKL_INT* ldb, double* d,
             double* x, double* y, double* work, const MKL_INT* lwork,
             MKL_INT* info ) NOTHROW;
void DGGGLM_( const MKL_INT* n, const MKL_INT* m, const MKL_INT* p, double* a,
              const MKL_INT* lda, double* b, const MKL_INT* ldb, double* d,
              double* x, double* y, double* work, const MKL_INT* lwork,
              MKL_INT* info ) NOTHROW;
void dggglm( const MKL_INT* n, const MKL_INT* m, const MKL_INT* p, double* a,
             const MKL_INT* lda, double* b, const MKL_INT* ldb, double* d,
             double* x, double* y, double* work, const MKL_INT* lwork,
             MKL_INT* info ) NOTHROW;
void dggglm_( const MKL_INT* n, const MKL_INT* m, const MKL_INT* p, double* a,
              const MKL_INT* lda, double* b, const MKL_INT* ldb, double* d,
              double* x, double* y, double* work, const MKL_INT* lwork,
              MKL_INT* info ) NOTHROW;

void DGGHRD( const char* compq, const char* compz, const MKL_INT* n,
             const MKL_INT* ilo, const MKL_INT* ihi, double* a,
             const MKL_INT* lda, double* b, const MKL_INT* ldb, double* q,
             const MKL_INT* ldq, double* z, const MKL_INT* ldz,
             MKL_INT* info ) NOTHROW;
void DGGHRD_( const char* compq, const char* compz, const MKL_INT* n,
              const MKL_INT* ilo, const MKL_INT* ihi, double* a,
              const MKL_INT* lda, double* b, const MKL_INT* ldb, double* q,
              const MKL_INT* ldq, double* z, const MKL_INT* ldz,
              MKL_INT* info ) NOTHROW;
void dgghrd( const char* compq, const char* compz, const MKL_INT* n,
             const MKL_INT* ilo, const MKL_INT* ihi, double* a,
             const MKL_INT* lda, double* b, const MKL_INT* ldb, double* q,
             const MKL_INT* ldq, double* z, const MKL_INT* ldz,
             MKL_INT* info ) NOTHROW;
void dgghrd_( const char* compq, const char* compz, const MKL_INT* n,
              const MKL_INT* ilo, const MKL_INT* ihi, double* a,
              const MKL_INT* lda, double* b, const MKL_INT* ldb, double* q,
              const MKL_INT* ldq, double* z, const MKL_INT* ldz,
              MKL_INT* info ) NOTHROW;

void DGGLSE( const MKL_INT* m, const MKL_INT* n, const MKL_INT* p, double* a,
             const MKL_INT* lda, double* b, const MKL_INT* ldb, double* c,
             double* d, double* x, double* work, const MKL_INT* lwork,
             MKL_INT* info ) NOTHROW;
void DGGLSE_( const MKL_INT* m, const MKL_INT* n, const MKL_INT* p, double* a,
              const MKL_INT* lda, double* b, const MKL_INT* ldb, double* c,
              double* d, double* x, double* work, const MKL_INT* lwork,
              MKL_INT* info ) NOTHROW;
void dgglse( const MKL_INT* m, const MKL_INT* n, const MKL_INT* p, double* a,
             const MKL_INT* lda, double* b, const MKL_INT* ldb, double* c,
             double* d, double* x, double* work, const MKL_INT* lwork,
             MKL_INT* info ) NOTHROW;
void dgglse_( const MKL_INT* m, const MKL_INT* n, const MKL_INT* p, double* a,
              const MKL_INT* lda, double* b, const MKL_INT* ldb, double* c,
              double* d, double* x, double* work, const MKL_INT* lwork,
              MKL_INT* info ) NOTHROW;

void DGGQRF( const MKL_INT* n, const MKL_INT* m, const MKL_INT* p, double* a,
             const MKL_INT* lda, double* taua, double* b, const MKL_INT* ldb,
             double* taub, double* work, const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void DGGQRF_( const MKL_INT* n, const MKL_INT* m, const MKL_INT* p, double* a,
              const MKL_INT* lda, double* taua, double* b, const MKL_INT* ldb,
              double* taub, double* work, const MKL_INT* lwork,
              MKL_INT* info ) NOTHROW;
void dggqrf( const MKL_INT* n, const MKL_INT* m, const MKL_INT* p, double* a,
             const MKL_INT* lda, double* taua, double* b, const MKL_INT* ldb,
             double* taub, double* work, const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void dggqrf_( const MKL_INT* n, const MKL_INT* m, const MKL_INT* p, double* a,
              const MKL_INT* lda, double* taua, double* b, const MKL_INT* ldb,
              double* taub, double* work, const MKL_INT* lwork,
              MKL_INT* info ) NOTHROW;

void DGGRQF( const MKL_INT* m, const MKL_INT* p, const MKL_INT* n, double* a,
             const MKL_INT* lda, double* taua, double* b, const MKL_INT* ldb,
             double* taub, double* work, const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void DGGRQF_( const MKL_INT* m, const MKL_INT* p, const MKL_INT* n, double* a,
              const MKL_INT* lda, double* taua, double* b, const MKL_INT* ldb,
              double* taub, double* work, const MKL_INT* lwork,
              MKL_INT* info ) NOTHROW;
void dggrqf( const MKL_INT* m, const MKL_INT* p, const MKL_INT* n, double* a,
             const MKL_INT* lda, double* taua, double* b, const MKL_INT* ldb,
             double* taub, double* work, const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void dggrqf_( const MKL_INT* m, const MKL_INT* p, const MKL_INT* n, double* a,
              const MKL_INT* lda, double* taua, double* b, const MKL_INT* ldb,
              double* taub, double* work, const MKL_INT* lwork,
              MKL_INT* info ) NOTHROW;

void DGGSVD( const char* jobu, const char* jobv, const char* jobq,
             const MKL_INT* m, const MKL_INT* n, const MKL_INT* p, MKL_INT* k,
             MKL_INT* l, double* a, const MKL_INT* lda, double* b,
             const MKL_INT* ldb, double* alpha, double* beta, double* u,
             const MKL_INT* ldu, double* v, const MKL_INT* ldv, double* q,
             const MKL_INT* ldq, double* work, MKL_INT* iwork, MKL_INT* info ) NOTHROW;
void DGGSVD_( const char* jobu, const char* jobv, const char* jobq,
              const MKL_INT* m, const MKL_INT* n, const MKL_INT* p, MKL_INT* k,
              MKL_INT* l, double* a, const MKL_INT* lda, double* b,
              const MKL_INT* ldb, double* alpha, double* beta, double* u,
              const MKL_INT* ldu, double* v, const MKL_INT* ldv, double* q,
              const MKL_INT* ldq, double* work, MKL_INT* iwork,
              MKL_INT* info ) NOTHROW;
void dggsvd( const char* jobu, const char* jobv, const char* jobq,
             const MKL_INT* m, const MKL_INT* n, const MKL_INT* p, MKL_INT* k,
             MKL_INT* l, double* a, const MKL_INT* lda, double* b,
             const MKL_INT* ldb, double* alpha, double* beta, double* u,
             const MKL_INT* ldu, double* v, const MKL_INT* ldv, double* q,
             const MKL_INT* ldq, double* work, MKL_INT* iwork, MKL_INT* info ) NOTHROW;
void dggsvd_( const char* jobu, const char* jobv, const char* jobq,
              const MKL_INT* m, const MKL_INT* n, const MKL_INT* p, MKL_INT* k,
              MKL_INT* l, double* a, const MKL_INT* lda, double* b,
              const MKL_INT* ldb, double* alpha, double* beta, double* u,
              const MKL_INT* ldu, double* v, const MKL_INT* ldv, double* q,
              const MKL_INT* ldq, double* work, MKL_INT* iwork,
              MKL_INT* info ) NOTHROW;

void DGGSVP( const char* jobu, const char* jobv, const char* jobq,
             const MKL_INT* m, const MKL_INT* p, const MKL_INT* n, double* a,
             const MKL_INT* lda, double* b, const MKL_INT* ldb,
             const double* tola, const double* tolb, MKL_INT* k, MKL_INT* l,
             double* u, const MKL_INT* ldu, double* v, const MKL_INT* ldv,
             double* q, const MKL_INT* ldq, MKL_INT* iwork, double* tau,
             double* work, MKL_INT* info ) NOTHROW;
void DGGSVP_( const char* jobu, const char* jobv, const char* jobq,
              const MKL_INT* m, const MKL_INT* p, const MKL_INT* n, double* a,
              const MKL_INT* lda, double* b, const MKL_INT* ldb,
              const double* tola, const double* tolb, MKL_INT* k, MKL_INT* l,
              double* u, const MKL_INT* ldu, double* v, const MKL_INT* ldv,
              double* q, const MKL_INT* ldq, MKL_INT* iwork, double* tau,
              double* work, MKL_INT* info ) NOTHROW;
void dggsvp( const char* jobu, const char* jobv, const char* jobq,
             const MKL_INT* m, const MKL_INT* p, const MKL_INT* n, double* a,
             const MKL_INT* lda, double* b, const MKL_INT* ldb,
             const double* tola, const double* tolb, MKL_INT* k, MKL_INT* l,
             double* u, const MKL_INT* ldu, double* v, const MKL_INT* ldv,
             double* q, const MKL_INT* ldq, MKL_INT* iwork, double* tau,
             double* work, MKL_INT* info ) NOTHROW;
void dggsvp_( const char* jobu, const char* jobv, const char* jobq,
              const MKL_INT* m, const MKL_INT* p, const MKL_INT* n, double* a,
              const MKL_INT* lda, double* b, const MKL_INT* ldb,
              const double* tola, const double* tolb, MKL_INT* k, MKL_INT* l,
              double* u, const MKL_INT* ldu, double* v, const MKL_INT* ldv,
              double* q, const MKL_INT* ldq, MKL_INT* iwork, double* tau,
              double* work, MKL_INT* info ) NOTHROW;

void DGSVJ0( const char* jobv, const MKL_INT* m, const MKL_INT* n, double* a,
             const MKL_INT* lda, double* d, double* sva, const MKL_INT* mv,
             double* v, const MKL_INT* ldv, const double* eps,
             const double* sfmin, const double* tol, const MKL_INT* nsweep,
             double* work, const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void DGSVJ0_( const char* jobv, const MKL_INT* m, const MKL_INT* n, double* a,
              const MKL_INT* lda, double* d, double* sva, const MKL_INT* mv,
              double* v, const MKL_INT* ldv, const double* eps,
              const double* sfmin, const double* tol, const MKL_INT* nsweep,
              double* work, const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void dgsvj0( const char* jobv, const MKL_INT* m, const MKL_INT* n, double* a,
             const MKL_INT* lda, double* d, double* sva, const MKL_INT* mv,
             double* v, const MKL_INT* ldv, const double* eps,
             const double* sfmin, const double* tol, const MKL_INT* nsweep,
             double* work, const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void dgsvj0_( const char* jobv, const MKL_INT* m, const MKL_INT* n, double* a,
              const MKL_INT* lda, double* d, double* sva, const MKL_INT* mv,
              double* v, const MKL_INT* ldv, const double* eps,
              const double* sfmin, const double* tol, const MKL_INT* nsweep,
              double* work, const MKL_INT* lwork, MKL_INT* info ) NOTHROW;

void DGSVJ1( const char* jobv, const MKL_INT* m, const MKL_INT* n,
             const MKL_INT* n1, double* a, const MKL_INT* lda, double* d,
             double* sva, const MKL_INT* mv, double* v, const MKL_INT* ldv,
             const double* eps, const double* sfmin, const double* tol,
             const MKL_INT* nsweep, double* work, const MKL_INT* lwork,
             MKL_INT* info ) NOTHROW;
void DGSVJ1_( const char* jobv, const MKL_INT* m, const MKL_INT* n,
              const MKL_INT* n1, double* a, const MKL_INT* lda, double* d,
              double* sva, const MKL_INT* mv, double* v, const MKL_INT* ldv,
              const double* eps, const double* sfmin, const double* tol,
              const MKL_INT* nsweep, double* work, const MKL_INT* lwork,
              MKL_INT* info ) NOTHROW;
void dgsvj1( const char* jobv, const MKL_INT* m, const MKL_INT* n,
             const MKL_INT* n1, double* a, const MKL_INT* lda, double* d,
             double* sva, const MKL_INT* mv, double* v, const MKL_INT* ldv,
             const double* eps, const double* sfmin, const double* tol,
             const MKL_INT* nsweep, double* work, const MKL_INT* lwork,
             MKL_INT* info ) NOTHROW;
void dgsvj1_( const char* jobv, const MKL_INT* m, const MKL_INT* n,
              const MKL_INT* n1, double* a, const MKL_INT* lda, double* d,
              double* sva, const MKL_INT* mv, double* v, const MKL_INT* ldv,
              const double* eps, const double* sfmin, const double* tol,
              const MKL_INT* nsweep, double* work, const MKL_INT* lwork,
              MKL_INT* info ) NOTHROW;

void DGTCON( const char* norm, const MKL_INT* n, const double* dl,
             const double* d, const double* du, const double* du2,
             const MKL_INT* ipiv, const double* anorm, double* rcond,
             double* work, MKL_INT* iwork, MKL_INT* info ) NOTHROW;
void DGTCON_( const char* norm, const MKL_INT* n, const double* dl,
              const double* d, const double* du, const double* du2,
              const MKL_INT* ipiv, const double* anorm, double* rcond,
              double* work, MKL_INT* iwork, MKL_INT* info ) NOTHROW;
void dgtcon( const char* norm, const MKL_INT* n, const double* dl,
             const double* d, const double* du, const double* du2,
             const MKL_INT* ipiv, const double* anorm, double* rcond,
             double* work, MKL_INT* iwork, MKL_INT* info ) NOTHROW;
void dgtcon_( const char* norm, const MKL_INT* n, const double* dl,
              const double* d, const double* du, const double* du2,
              const MKL_INT* ipiv, const double* anorm, double* rcond,
              double* work, MKL_INT* iwork, MKL_INT* info ) NOTHROW;

void DGTRFS( const char* trans, const MKL_INT* n, const MKL_INT* nrhs,
             const double* dl, const double* d, const double* du,
             const double* dlf, const double* df, const double* duf,
             const double* du2, const MKL_INT* ipiv, const double* b,
             const MKL_INT* ldb, double* x, const MKL_INT* ldx, double* ferr,
             double* berr, double* work, MKL_INT* iwork, MKL_INT* info ) NOTHROW;
void DGTRFS_( const char* trans, const MKL_INT* n, const MKL_INT* nrhs,
              const double* dl, const double* d, const double* du,
              const double* dlf, const double* df, const double* duf,
              const double* du2, const MKL_INT* ipiv, const double* b,
              const MKL_INT* ldb, double* x, const MKL_INT* ldx, double* ferr,
              double* berr, double* work, MKL_INT* iwork, MKL_INT* info ) NOTHROW;
void dgtrfs( const char* trans, const MKL_INT* n, const MKL_INT* nrhs,
             const double* dl, const double* d, const double* du,
             const double* dlf, const double* df, const double* duf,
             const double* du2, const MKL_INT* ipiv, const double* b,
             const MKL_INT* ldb, double* x, const MKL_INT* ldx, double* ferr,
             double* berr, double* work, MKL_INT* iwork, MKL_INT* info ) NOTHROW;
void dgtrfs_( const char* trans, const MKL_INT* n, const MKL_INT* nrhs,
              const double* dl, const double* d, const double* du,
              const double* dlf, const double* df, const double* duf,
              const double* du2, const MKL_INT* ipiv, const double* b,
              const MKL_INT* ldb, double* x, const MKL_INT* ldx, double* ferr,
              double* berr, double* work, MKL_INT* iwork, MKL_INT* info ) NOTHROW;

void DGTSV( const MKL_INT* n, const MKL_INT* nrhs, double* dl, double* d,
            double* du, double* b, const MKL_INT* ldb, MKL_INT* info ) NOTHROW;
void DGTSV_( const MKL_INT* n, const MKL_INT* nrhs, double* dl, double* d,
             double* du, double* b, const MKL_INT* ldb, MKL_INT* info ) NOTHROW;
void dgtsv( const MKL_INT* n, const MKL_INT* nrhs, double* dl, double* d,
            double* du, double* b, const MKL_INT* ldb, MKL_INT* info ) NOTHROW;
void dgtsv_( const MKL_INT* n, const MKL_INT* nrhs, double* dl, double* d,
             double* du, double* b, const MKL_INT* ldb, MKL_INT* info ) NOTHROW;

void DGTSVX( const char* fact, const char* trans, const MKL_INT* n,
             const MKL_INT* nrhs, const double* dl, const double* d,
             const double* du, double* dlf, double* df, double* duf,
             double* du2, MKL_INT* ipiv, const double* b, const MKL_INT* ldb,
             double* x, const MKL_INT* ldx, double* rcond, double* ferr,
             double* berr, double* work, MKL_INT* iwork, MKL_INT* info ) NOTHROW;
void DGTSVX_( const char* fact, const char* trans, const MKL_INT* n,
              const MKL_INT* nrhs, const double* dl, const double* d,
              const double* du, double* dlf, double* df, double* duf,
              double* du2, MKL_INT* ipiv, const double* b, const MKL_INT* ldb,
              double* x, const MKL_INT* ldx, double* rcond, double* ferr,
              double* berr, double* work, MKL_INT* iwork, MKL_INT* info ) NOTHROW;
void dgtsvx( const char* fact, const char* trans, const MKL_INT* n,
             const MKL_INT* nrhs, const double* dl, const double* d,
             const double* du, double* dlf, double* df, double* duf,
             double* du2, MKL_INT* ipiv, const double* b, const MKL_INT* ldb,
             double* x, const MKL_INT* ldx, double* rcond, double* ferr,
             double* berr, double* work, MKL_INT* iwork, MKL_INT* info ) NOTHROW;
void dgtsvx_( const char* fact, const char* trans, const MKL_INT* n,
              const MKL_INT* nrhs, const double* dl, const double* d,
              const double* du, double* dlf, double* df, double* duf,
              double* du2, MKL_INT* ipiv, const double* b, const MKL_INT* ldb,
              double* x, const MKL_INT* ldx, double* rcond, double* ferr,
              double* berr, double* work, MKL_INT* iwork, MKL_INT* info ) NOTHROW;

void DGTTRF( const MKL_INT* n, double* dl, double* d, double* du, double* du2,
             MKL_INT* ipiv, MKL_INT* info ) NOTHROW;
void DGTTRF_( const MKL_INT* n, double* dl, double* d, double* du, double* du2,
              MKL_INT* ipiv, MKL_INT* info ) NOTHROW;
void dgttrf( const MKL_INT* n, double* dl, double* d, double* du, double* du2,
             MKL_INT* ipiv, MKL_INT* info ) NOTHROW;
void dgttrf_( const MKL_INT* n, double* dl, double* d, double* du, double* du2,
              MKL_INT* ipiv, MKL_INT* info ) NOTHROW;

void DGTTRS( const char* trans, const MKL_INT* n, const MKL_INT* nrhs,
             const double* dl, const double* d, const double* du,
             const double* du2, const MKL_INT* ipiv, double* b,
             const MKL_INT* ldb, MKL_INT* info ) NOTHROW;
void DGTTRS_( const char* trans, const MKL_INT* n, const MKL_INT* nrhs,
              const double* dl, const double* d, const double* du,
              const double* du2, const MKL_INT* ipiv, double* b,
              const MKL_INT* ldb, MKL_INT* info ) NOTHROW;
void dgttrs( const char* trans, const MKL_INT* n, const MKL_INT* nrhs,
             const double* dl, const double* d, const double* du,
             const double* du2, const MKL_INT* ipiv, double* b,
             const MKL_INT* ldb, MKL_INT* info ) NOTHROW;
void dgttrs_( const char* trans, const MKL_INT* n, const MKL_INT* nrhs,
              const double* dl, const double* d, const double* du,
              const double* du2, const MKL_INT* ipiv, double* b,
              const MKL_INT* ldb, MKL_INT* info ) NOTHROW;

void DGTTS2( const MKL_INT* itrans, const MKL_INT* n, const MKL_INT* nrhs,
             const double* dl, const double* d, const double* du,
             const double* du2, const MKL_INT* ipiv, double* b,
             const MKL_INT* ldb ) NOTHROW;
void DGTTS2_( const MKL_INT* itrans, const MKL_INT* n, const MKL_INT* nrhs,
              const double* dl, const double* d, const double* du,
              const double* du2, const MKL_INT* ipiv, double* b,
              const MKL_INT* ldb ) NOTHROW;
void dgtts2( const MKL_INT* itrans, const MKL_INT* n, const MKL_INT* nrhs,
             const double* dl, const double* d, const double* du,
             const double* du2, const MKL_INT* ipiv, double* b,
             const MKL_INT* ldb ) NOTHROW;
void dgtts2_( const MKL_INT* itrans, const MKL_INT* n, const MKL_INT* nrhs,
              const double* dl, const double* d, const double* du,
              const double* du2, const MKL_INT* ipiv, double* b,
              const MKL_INT* ldb ) NOTHROW;

void DHGEQZ( const char* job, const char* compq, const char* compz,
             const MKL_INT* n, const MKL_INT* ilo, const MKL_INT* ihi,
             double* h, const MKL_INT* ldh, double* t, const MKL_INT* ldt,
             double* alphar, double* alphai, double* beta, double* q,
             const MKL_INT* ldq, double* z, const MKL_INT* ldz, double* work,
             const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void DHGEQZ_( const char* job, const char* compq, const char* compz,
              const MKL_INT* n, const MKL_INT* ilo, const MKL_INT* ihi,
              double* h, const MKL_INT* ldh, double* t, const MKL_INT* ldt,
              double* alphar, double* alphai, double* beta, double* q,
              const MKL_INT* ldq, double* z, const MKL_INT* ldz, double* work,
              const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void dhgeqz( const char* job, const char* compq, const char* compz,
             const MKL_INT* n, const MKL_INT* ilo, const MKL_INT* ihi,
             double* h, const MKL_INT* ldh, double* t, const MKL_INT* ldt,
             double* alphar, double* alphai, double* beta, double* q,
             const MKL_INT* ldq, double* z, const MKL_INT* ldz, double* work,
             const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void dhgeqz_( const char* job, const char* compq, const char* compz,
              const MKL_INT* n, const MKL_INT* ilo, const MKL_INT* ihi,
              double* h, const MKL_INT* ldh, double* t, const MKL_INT* ldt,
              double* alphar, double* alphai, double* beta, double* q,
              const MKL_INT* ldq, double* z, const MKL_INT* ldz, double* work,
              const MKL_INT* lwork, MKL_INT* info ) NOTHROW;

void DHSEIN( const char* side, const char* eigsrc, const char* initv,
             MKL_INT* select, const MKL_INT* n, const double* h,
             const MKL_INT* ldh, double* wr, const double* wi, double* vl,
             const MKL_INT* ldvl, double* vr, const MKL_INT* ldvr,
             const MKL_INT* mm, MKL_INT* m, double* work, MKL_INT* ifaill,
             MKL_INT* ifailr, MKL_INT* info ) NOTHROW;
void DHSEIN_( const char* side, const char* eigsrc, const char* initv,
              MKL_INT* select, const MKL_INT* n, const double* h,
              const MKL_INT* ldh, double* wr, const double* wi, double* vl,
              const MKL_INT* ldvl, double* vr, const MKL_INT* ldvr,
              const MKL_INT* mm, MKL_INT* m, double* work, MKL_INT* ifaill,
              MKL_INT* ifailr, MKL_INT* info ) NOTHROW;
void dhsein( const char* side, const char* eigsrc, const char* initv,
             MKL_INT* select, const MKL_INT* n, const double* h,
             const MKL_INT* ldh, double* wr, const double* wi, double* vl,
             const MKL_INT* ldvl, double* vr, const MKL_INT* ldvr,
             const MKL_INT* mm, MKL_INT* m, double* work, MKL_INT* ifaill,
             MKL_INT* ifailr, MKL_INT* info ) NOTHROW;
void dhsein_( const char* side, const char* eigsrc, const char* initv,
              MKL_INT* select, const MKL_INT* n, const double* h,
              const MKL_INT* ldh, double* wr, const double* wi, double* vl,
              const MKL_INT* ldvl, double* vr, const MKL_INT* ldvr,
              const MKL_INT* mm, MKL_INT* m, double* work, MKL_INT* ifaill,
              MKL_INT* ifailr, MKL_INT* info ) NOTHROW;

void DHSEQR( const char* job, const char* compz, const MKL_INT* n,
             const MKL_INT* ilo, const MKL_INT* ihi, double* h,
             const MKL_INT* ldh, double* wr, double* wi, double* z,
             const MKL_INT* ldz, double* work, const MKL_INT* lwork,
             MKL_INT* info ) NOTHROW;
void DHSEQR_( const char* job, const char* compz, const MKL_INT* n,
              const MKL_INT* ilo, const MKL_INT* ihi, double* h,
              const MKL_INT* ldh, double* wr, double* wi, double* z,
              const MKL_INT* ldz, double* work, const MKL_INT* lwork,
              MKL_INT* info ) NOTHROW;
void dhseqr( const char* job, const char* compz, const MKL_INT* n,
             const MKL_INT* ilo, const MKL_INT* ihi, double* h,
             const MKL_INT* ldh, double* wr, double* wi, double* z,
             const MKL_INT* ldz, double* work, const MKL_INT* lwork,
             MKL_INT* info ) NOTHROW;
void dhseqr_( const char* job, const char* compz, const MKL_INT* n,
              const MKL_INT* ilo, const MKL_INT* ihi, double* h,
              const MKL_INT* ldh, double* wr, double* wi, double* z,
              const MKL_INT* ldz, double* work, const MKL_INT* lwork,
              MKL_INT* info ) NOTHROW;

MKL_INT DISNAN( const double* din ) NOTHROW;
MKL_INT DISNAN_( const double* din ) NOTHROW;
MKL_INT disnan( const double* din ) NOTHROW;
MKL_INT disnan_( const double* din ) NOTHROW;

void DLABAD( double* smallx, double* large ) NOTHROW;
void DLABAD_( double* smallx, double* large ) NOTHROW;
void dlabad( double* smallx, double* large ) NOTHROW;
void dlabad_( double* smallx, double* large ) NOTHROW;

void DLABRD( const MKL_INT* m, const MKL_INT* n, const MKL_INT* nb, double* a,
             const MKL_INT* lda, double* d, double* e, double* tauq,
             double* taup, double* x, const MKL_INT* ldx, double* y,
             const MKL_INT* ldy ) NOTHROW;
void DLABRD_( const MKL_INT* m, const MKL_INT* n, const MKL_INT* nb, double* a,
              const MKL_INT* lda, double* d, double* e, double* tauq,
              double* taup, double* x, const MKL_INT* ldx, double* y,
              const MKL_INT* ldy ) NOTHROW;
void dlabrd( const MKL_INT* m, const MKL_INT* n, const MKL_INT* nb, double* a,
             const MKL_INT* lda, double* d, double* e, double* tauq,
             double* taup, double* x, const MKL_INT* ldx, double* y,
             const MKL_INT* ldy ) NOTHROW;
void dlabrd_( const MKL_INT* m, const MKL_INT* n, const MKL_INT* nb, double* a,
              const MKL_INT* lda, double* d, double* e, double* tauq,
              double* taup, double* x, const MKL_INT* ldx, double* y,
              const MKL_INT* ldy ) NOTHROW;

void DLACN2( const MKL_INT* n, double* v, double* x, MKL_INT* isgn,
             double* est, MKL_INT* kase, MKL_INT* isave ) NOTHROW;
void DLACN2_( const MKL_INT* n, double* v, double* x, MKL_INT* isgn,
              double* est, MKL_INT* kase, MKL_INT* isave ) NOTHROW;
void dlacn2( const MKL_INT* n, double* v, double* x, MKL_INT* isgn,
             double* est, MKL_INT* kase, MKL_INT* isave ) NOTHROW;
void dlacn2_( const MKL_INT* n, double* v, double* x, MKL_INT* isgn,
              double* est, MKL_INT* kase, MKL_INT* isave ) NOTHROW;

void DLACON( const MKL_INT* n, double* v, double* x, MKL_INT* isgn,
             double* est, MKL_INT* kase ) NOTHROW;
void DLACON_( const MKL_INT* n, double* v, double* x, MKL_INT* isgn,
              double* est, MKL_INT* kase ) NOTHROW;
void dlacon( const MKL_INT* n, double* v, double* x, MKL_INT* isgn,
             double* est, MKL_INT* kase ) NOTHROW;
void dlacon_( const MKL_INT* n, double* v, double* x, MKL_INT* isgn,
              double* est, MKL_INT* kase ) NOTHROW;

void DLACPY( const char* uplo, const MKL_INT* m, const MKL_INT* n,
             const double* a, const MKL_INT* lda, double* b,
             const MKL_INT* ldb ) NOTHROW;
void DLACPY_( const char* uplo, const MKL_INT* m, const MKL_INT* n,
              const double* a, const MKL_INT* lda, double* b,
              const MKL_INT* ldb ) NOTHROW;
void dlacpy( const char* uplo, const MKL_INT* m, const MKL_INT* n,
             const double* a, const MKL_INT* lda, double* b,
             const MKL_INT* ldb ) NOTHROW;
void dlacpy_( const char* uplo, const MKL_INT* m, const MKL_INT* n,
              const double* a, const MKL_INT* lda, double* b,
              const MKL_INT* ldb ) NOTHROW;

void DLADIV( const double* a, const double* b, const double* c,
             const double* d, double* p, double* q ) NOTHROW;
void DLADIV_( const double* a, const double* b, const double* c,
              const double* d, double* p, double* q ) NOTHROW;
void dladiv( const double* a, const double* b, const double* c,
             const double* d, double* p, double* q ) NOTHROW;
void dladiv_( const double* a, const double* b, const double* c,
              const double* d, double* p, double* q ) NOTHROW;

void DLAE2( const double* a, const double* b, const double* c, double* rt1,
            double* rt2 ) NOTHROW;
void DLAE2_( const double* a, const double* b, const double* c, double* rt1,
             double* rt2 ) NOTHROW;
void dlae2( const double* a, const double* b, const double* c, double* rt1,
            double* rt2 ) NOTHROW;
void dlae2_( const double* a, const double* b, const double* c, double* rt1,
             double* rt2 ) NOTHROW;

void DLAEBZ( const MKL_INT* ijob, const MKL_INT* nitmax, const MKL_INT* n,
             const MKL_INT* mmax, const MKL_INT* minp, const MKL_INT* nbmin,
             const double* abstol, const double* reltol, const double* pivmin,
             const double* d, const double* e, const double* e2, MKL_INT* nval,
             double* ab, double* c, MKL_INT* mout, MKL_INT* nab, double* work,
             MKL_INT* iwork, MKL_INT* info ) NOTHROW;
void DLAEBZ_( const MKL_INT* ijob, const MKL_INT* nitmax, const MKL_INT* n,
              const MKL_INT* mmax, const MKL_INT* minp, const MKL_INT* nbmin,
              const double* abstol, const double* reltol, const double* pivmin,
              const double* d, const double* e, const double* e2,
              MKL_INT* nval, double* ab, double* c, MKL_INT* mout,
              MKL_INT* nab, double* work, MKL_INT* iwork, MKL_INT* info ) NOTHROW;
void dlaebz( const MKL_INT* ijob, const MKL_INT* nitmax, const MKL_INT* n,
             const MKL_INT* mmax, const MKL_INT* minp, const MKL_INT* nbmin,
             const double* abstol, const double* reltol, const double* pivmin,
             const double* d, const double* e, const double* e2, MKL_INT* nval,
             double* ab, double* c, MKL_INT* mout, MKL_INT* nab, double* work,
             MKL_INT* iwork, MKL_INT* info ) NOTHROW;
void dlaebz_( const MKL_INT* ijob, const MKL_INT* nitmax, const MKL_INT* n,
              const MKL_INT* mmax, const MKL_INT* minp, const MKL_INT* nbmin,
              const double* abstol, const double* reltol, const double* pivmin,
              const double* d, const double* e, const double* e2,
              MKL_INT* nval, double* ab, double* c, MKL_INT* mout,
              MKL_INT* nab, double* work, MKL_INT* iwork, MKL_INT* info ) NOTHROW;

void DLAED0( const MKL_INT* icompq, const MKL_INT* qsiz, const MKL_INT* n,
             double* d, const double* e, double* q, const MKL_INT* ldq,
             double* qstore, const MKL_INT* ldqs, double* work, MKL_INT* iwork,
             MKL_INT* info ) NOTHROW;
void DLAED0_( const MKL_INT* icompq, const MKL_INT* qsiz, const MKL_INT* n,
              double* d, const double* e, double* q, const MKL_INT* ldq,
              double* qstore, const MKL_INT* ldqs, double* work,
              MKL_INT* iwork, MKL_INT* info ) NOTHROW;
void dlaed0( const MKL_INT* icompq, const MKL_INT* qsiz, const MKL_INT* n,
             double* d, const double* e, double* q, const MKL_INT* ldq,
             double* qstore, const MKL_INT* ldqs, double* work, MKL_INT* iwork,
             MKL_INT* info ) NOTHROW;
void dlaed0_( const MKL_INT* icompq, const MKL_INT* qsiz, const MKL_INT* n,
              double* d, const double* e, double* q, const MKL_INT* ldq,
              double* qstore, const MKL_INT* ldqs, double* work,
              MKL_INT* iwork, MKL_INT* info ) NOTHROW;

void DLAED1( const MKL_INT* n, double* d, double* q, const MKL_INT* ldq,
             MKL_INT* indxq, const double* rho, const MKL_INT* cutpnt,
             double* work, MKL_INT* iwork, MKL_INT* info ) NOTHROW;
void DLAED1_( const MKL_INT* n, double* d, double* q, const MKL_INT* ldq,
              MKL_INT* indxq, const double* rho, const MKL_INT* cutpnt,
              double* work, MKL_INT* iwork, MKL_INT* info ) NOTHROW;
void dlaed1( const MKL_INT* n, double* d, double* q, const MKL_INT* ldq,
             MKL_INT* indxq, const double* rho, const MKL_INT* cutpnt,
             double* work, MKL_INT* iwork, MKL_INT* info ) NOTHROW;
void dlaed1_( const MKL_INT* n, double* d, double* q, const MKL_INT* ldq,
              MKL_INT* indxq, const double* rho, const MKL_INT* cutpnt,
              double* work, MKL_INT* iwork, MKL_INT* info ) NOTHROW;

void DLAED2( MKL_INT* k, const MKL_INT* n, const MKL_INT* n1, double* d,
             double* q, const MKL_INT* ldq, MKL_INT* indxq, double* rho,
             const double* z, double* dlamda, double* w, double* q2,
             MKL_INT* indx, MKL_INT* indxc, MKL_INT* indxp, MKL_INT* coltyp,
             MKL_INT* info ) NOTHROW;
void DLAED2_( MKL_INT* k, const MKL_INT* n, const MKL_INT* n1, double* d,
              double* q, const MKL_INT* ldq, MKL_INT* indxq, double* rho,
              const double* z, double* dlamda, double* w, double* q2,
              MKL_INT* indx, MKL_INT* indxc, MKL_INT* indxp, MKL_INT* coltyp,
              MKL_INT* info ) NOTHROW;
void dlaed2( MKL_INT* k, const MKL_INT* n, const MKL_INT* n1, double* d,
             double* q, const MKL_INT* ldq, MKL_INT* indxq, double* rho,
             const double* z, double* dlamda, double* w, double* q2,
             MKL_INT* indx, MKL_INT* indxc, MKL_INT* indxp, MKL_INT* coltyp,
             MKL_INT* info ) NOTHROW;
void dlaed2_( MKL_INT* k, const MKL_INT* n, const MKL_INT* n1, double* d,
              double* q, const MKL_INT* ldq, MKL_INT* indxq, double* rho,
              const double* z, double* dlamda, double* w, double* q2,
              MKL_INT* indx, MKL_INT* indxc, MKL_INT* indxp, MKL_INT* coltyp,
              MKL_INT* info ) NOTHROW;

void DLAED3( const MKL_INT* k, const MKL_INT* n, const MKL_INT* n1, double* d,
             double* q, const MKL_INT* ldq, const double* rho, double* dlamda,
             const double* q2, const MKL_INT* indx, const MKL_INT* ctot,
             double* w, double* s, MKL_INT* info ) NOTHROW;
void DLAED3_( const MKL_INT* k, const MKL_INT* n, const MKL_INT* n1, double* d,
              double* q, const MKL_INT* ldq, const double* rho, double* dlamda,
              const double* q2, const MKL_INT* indx, const MKL_INT* ctot,
              double* w, double* s, MKL_INT* info ) NOTHROW;
void dlaed3( const MKL_INT* k, const MKL_INT* n, const MKL_INT* n1, double* d,
             double* q, const MKL_INT* ldq, const double* rho, double* dlamda,
             const double* q2, const MKL_INT* indx, const MKL_INT* ctot,
             double* w, double* s, MKL_INT* info ) NOTHROW;
void dlaed3_( const MKL_INT* k, const MKL_INT* n, const MKL_INT* n1, double* d,
              double* q, const MKL_INT* ldq, const double* rho, double* dlamda,
              const double* q2, const MKL_INT* indx, const MKL_INT* ctot,
              double* w, double* s, MKL_INT* info ) NOTHROW;

void DLAED4( const MKL_INT* n, const MKL_INT* i, const double* d,
             const double* z, double* delta, const double* rho, double* dlam,
             MKL_INT* info ) NOTHROW;
void DLAED4_( const MKL_INT* n, const MKL_INT* i, const double* d,
              const double* z, double* delta, const double* rho, double* dlam,
              MKL_INT* info ) NOTHROW;
void dlaed4( const MKL_INT* n, const MKL_INT* i, const double* d,
             const double* z, double* delta, const double* rho, double* dlam,
             MKL_INT* info ) NOTHROW;
void dlaed4_( const MKL_INT* n, const MKL_INT* i, const double* d,
              const double* z, double* delta, const double* rho, double* dlam,
              MKL_INT* info ) NOTHROW;

void DLAED5( const MKL_INT* i, const double* d, const double* z, double* delta,
             const double* rho, double* dlam ) NOTHROW;
void DLAED5_( const MKL_INT* i, const double* d, const double* z,
              double* delta, const double* rho, double* dlam ) NOTHROW;
void dlaed5( const MKL_INT* i, const double* d, const double* z, double* delta,
             const double* rho, double* dlam ) NOTHROW;
void dlaed5_( const MKL_INT* i, const double* d, const double* z,
              double* delta, const double* rho, double* dlam ) NOTHROW;

void DLAED6( const MKL_INT* kniter, const MKL_INT* orgati, const double* rho,
             const double* d, const double* z, const double* finit,
             double* tau, MKL_INT* info ) NOTHROW;
void DLAED6_( const MKL_INT* kniter, const MKL_INT* orgati, const double* rho,
              const double* d, const double* z, const double* finit,
              double* tau, MKL_INT* info ) NOTHROW;
void dlaed6( const MKL_INT* kniter, const MKL_INT* orgati, const double* rho,
             const double* d, const double* z, const double* finit,
             double* tau, MKL_INT* info ) NOTHROW;
void dlaed6_( const MKL_INT* kniter, const MKL_INT* orgati, const double* rho,
              const double* d, const double* z, const double* finit,
              double* tau, MKL_INT* info ) NOTHROW;

void DLAED7( const MKL_INT* icompq, const MKL_INT* n, const MKL_INT* qsiz,
             const MKL_INT* tlvls, const MKL_INT* curlvl,
             const MKL_INT* curpbm, double* d, double* q, const MKL_INT* ldq,
             MKL_INT* indxq, const double* rho, const MKL_INT* cutpnt,
             double* qstore, MKL_INT* qptr, const MKL_INT* prmptr,
             const MKL_INT* perm, const MKL_INT* givptr, const MKL_INT* givcol,
             const double* givnum, double* work, MKL_INT* iwork,
             MKL_INT* info ) NOTHROW;
void DLAED7_( const MKL_INT* icompq, const MKL_INT* n, const MKL_INT* qsiz,
              const MKL_INT* tlvls, const MKL_INT* curlvl,
              const MKL_INT* curpbm, double* d, double* q, const MKL_INT* ldq,
              MKL_INT* indxq, const double* rho, const MKL_INT* cutpnt,
              double* qstore, MKL_INT* qptr, const MKL_INT* prmptr,
              const MKL_INT* perm, const MKL_INT* givptr,
              const MKL_INT* givcol, const double* givnum, double* work,
              MKL_INT* iwork, MKL_INT* info ) NOTHROW;
void dlaed7( const MKL_INT* icompq, const MKL_INT* n, const MKL_INT* qsiz,
             const MKL_INT* tlvls, const MKL_INT* curlvl,
             const MKL_INT* curpbm, double* d, double* q, const MKL_INT* ldq,
             MKL_INT* indxq, const double* rho, const MKL_INT* cutpnt,
             double* qstore, MKL_INT* qptr, const MKL_INT* prmptr,
             const MKL_INT* perm, const MKL_INT* givptr, const MKL_INT* givcol,
             const double* givnum, double* work, MKL_INT* iwork,
             MKL_INT* info ) NOTHROW;
void dlaed7_( const MKL_INT* icompq, const MKL_INT* n, const MKL_INT* qsiz,
              const MKL_INT* tlvls, const MKL_INT* curlvl,
              const MKL_INT* curpbm, double* d, double* q, const MKL_INT* ldq,
              MKL_INT* indxq, const double* rho, const MKL_INT* cutpnt,
              double* qstore, MKL_INT* qptr, const MKL_INT* prmptr,
              const MKL_INT* perm, const MKL_INT* givptr,
              const MKL_INT* givcol, const double* givnum, double* work,
              MKL_INT* iwork, MKL_INT* info ) NOTHROW;

void DLAED8( const MKL_INT* icompq, MKL_INT* k, const MKL_INT* n,
             const MKL_INT* qsiz, double* d, double* q, const MKL_INT* ldq,
             const MKL_INT* indxq, double* rho, const MKL_INT* cutpnt,
             const double* z, double* dlamda, double* q2, const MKL_INT* ldq2,
             double* w, MKL_INT* perm, MKL_INT* givptr, MKL_INT* givcol,
             double* givnum, MKL_INT* indxp, MKL_INT* indx, MKL_INT* info ) NOTHROW;
void DLAED8_( const MKL_INT* icompq, MKL_INT* k, const MKL_INT* n,
              const MKL_INT* qsiz, double* d, double* q, const MKL_INT* ldq,
              const MKL_INT* indxq, double* rho, const MKL_INT* cutpnt,
              const double* z, double* dlamda, double* q2, const MKL_INT* ldq2,
              double* w, MKL_INT* perm, MKL_INT* givptr, MKL_INT* givcol,
              double* givnum, MKL_INT* indxp, MKL_INT* indx, MKL_INT* info ) NOTHROW;
void dlaed8( const MKL_INT* icompq, MKL_INT* k, const MKL_INT* n,
             const MKL_INT* qsiz, double* d, double* q, const MKL_INT* ldq,
             const MKL_INT* indxq, double* rho, const MKL_INT* cutpnt,
             const double* z, double* dlamda, double* q2, const MKL_INT* ldq2,
             double* w, MKL_INT* perm, MKL_INT* givptr, MKL_INT* givcol,
             double* givnum, MKL_INT* indxp, MKL_INT* indx, MKL_INT* info ) NOTHROW;
void dlaed8_( const MKL_INT* icompq, MKL_INT* k, const MKL_INT* n,
              const MKL_INT* qsiz, double* d, double* q, const MKL_INT* ldq,
              const MKL_INT* indxq, double* rho, const MKL_INT* cutpnt,
              const double* z, double* dlamda, double* q2, const MKL_INT* ldq2,
              double* w, MKL_INT* perm, MKL_INT* givptr, MKL_INT* givcol,
              double* givnum, MKL_INT* indxp, MKL_INT* indx, MKL_INT* info ) NOTHROW;

void DLAED9( const MKL_INT* k, const MKL_INT* kstart, const MKL_INT* kstop,
             const MKL_INT* n, double* d, double* q, const MKL_INT* ldq,
             const double* rho, const double* dlamda, const double* w,
             double* s, const MKL_INT* lds, MKL_INT* info ) NOTHROW;
void DLAED9_( const MKL_INT* k, const MKL_INT* kstart, const MKL_INT* kstop,
              const MKL_INT* n, double* d, double* q, const MKL_INT* ldq,
              const double* rho, const double* dlamda, const double* w,
              double* s, const MKL_INT* lds, MKL_INT* info ) NOTHROW;
void dlaed9( const MKL_INT* k, const MKL_INT* kstart, const MKL_INT* kstop,
             const MKL_INT* n, double* d, double* q, const MKL_INT* ldq,
             const double* rho, const double* dlamda, const double* w,
             double* s, const MKL_INT* lds, MKL_INT* info ) NOTHROW;
void dlaed9_( const MKL_INT* k, const MKL_INT* kstart, const MKL_INT* kstop,
              const MKL_INT* n, double* d, double* q, const MKL_INT* ldq,
              const double* rho, const double* dlamda, const double* w,
              double* s, const MKL_INT* lds, MKL_INT* info ) NOTHROW;

void DLAEDA( const MKL_INT* n, const MKL_INT* tlvls, const MKL_INT* curlvl,
             const MKL_INT* curpbm, const MKL_INT* prmptr, const MKL_INT* perm,
             const MKL_INT* givptr, const MKL_INT* givcol,
             const double* givnum, const double* q, const MKL_INT* qptr,
             double* z, double* ztemp, MKL_INT* info ) NOTHROW;
void DLAEDA_( const MKL_INT* n, const MKL_INT* tlvls, const MKL_INT* curlvl,
              const MKL_INT* curpbm, const MKL_INT* prmptr,
              const MKL_INT* perm, const MKL_INT* givptr,
              const MKL_INT* givcol, const double* givnum, const double* q,
              const MKL_INT* qptr, double* z, double* ztemp, MKL_INT* info ) NOTHROW;
void dlaeda( const MKL_INT* n, const MKL_INT* tlvls, const MKL_INT* curlvl,
             const MKL_INT* curpbm, const MKL_INT* prmptr, const MKL_INT* perm,
             const MKL_INT* givptr, const MKL_INT* givcol,
             const double* givnum, const double* q, const MKL_INT* qptr,
             double* z, double* ztemp, MKL_INT* info ) NOTHROW;
void dlaeda_( const MKL_INT* n, const MKL_INT* tlvls, const MKL_INT* curlvl,
              const MKL_INT* curpbm, const MKL_INT* prmptr,
              const MKL_INT* perm, const MKL_INT* givptr,
              const MKL_INT* givcol, const double* givnum, const double* q,
              const MKL_INT* qptr, double* z, double* ztemp, MKL_INT* info ) NOTHROW;

void DLAEIN( const MKL_INT* rightv, const MKL_INT* noinit, const MKL_INT* n,
             const double* h, const MKL_INT* ldh, const double* wr,
             const double* wi, double* vr, double* vi, double* b,
             const MKL_INT* ldb, double* work, const double* eps3,
             const double* smlnum, const double* bignum, MKL_INT* info ) NOTHROW;
void DLAEIN_( const MKL_INT* rightv, const MKL_INT* noinit, const MKL_INT* n,
              const double* h, const MKL_INT* ldh, const double* wr,
              const double* wi, double* vr, double* vi, double* b,
              const MKL_INT* ldb, double* work, const double* eps3,
              const double* smlnum, const double* bignum, MKL_INT* info ) NOTHROW;
void dlaein( const MKL_INT* rightv, const MKL_INT* noinit, const MKL_INT* n,
             const double* h, const MKL_INT* ldh, const double* wr,
             const double* wi, double* vr, double* vi, double* b,
             const MKL_INT* ldb, double* work, const double* eps3,
             const double* smlnum, const double* bignum, MKL_INT* info ) NOTHROW;
void dlaein_( const MKL_INT* rightv, const MKL_INT* noinit, const MKL_INT* n,
              const double* h, const MKL_INT* ldh, const double* wr,
              const double* wi, double* vr, double* vi, double* b,
              const MKL_INT* ldb, double* work, const double* eps3,
              const double* smlnum, const double* bignum, MKL_INT* info ) NOTHROW;

void DLAEV2( const double* a, const double* b, const double* c, double* rt1,
             double* rt2, double* cs1, double* sn1 ) NOTHROW;
void DLAEV2_( const double* a, const double* b, const double* c, double* rt1,
              double* rt2, double* cs1, double* sn1 ) NOTHROW;
void dlaev2( const double* a, const double* b, const double* c, double* rt1,
             double* rt2, double* cs1, double* sn1 ) NOTHROW;
void dlaev2_( const double* a, const double* b, const double* c, double* rt1,
              double* rt2, double* cs1, double* sn1 ) NOTHROW;

void DLAEXC( const MKL_INT* wantq, const MKL_INT* n, double* t,
             const MKL_INT* ldt, double* q, const MKL_INT* ldq,
             const MKL_INT* j1, const MKL_INT* n1, const MKL_INT* n2,
             double* work, MKL_INT* info ) NOTHROW;
void DLAEXC_( const MKL_INT* wantq, const MKL_INT* n, double* t,
              const MKL_INT* ldt, double* q, const MKL_INT* ldq,
              const MKL_INT* j1, const MKL_INT* n1, const MKL_INT* n2,
              double* work, MKL_INT* info ) NOTHROW;
void dlaexc( const MKL_INT* wantq, const MKL_INT* n, double* t,
             const MKL_INT* ldt, double* q, const MKL_INT* ldq,
             const MKL_INT* j1, const MKL_INT* n1, const MKL_INT* n2,
             double* work, MKL_INT* info ) NOTHROW;
void dlaexc_( const MKL_INT* wantq, const MKL_INT* n, double* t,
              const MKL_INT* ldt, double* q, const MKL_INT* ldq,
              const MKL_INT* j1, const MKL_INT* n1, const MKL_INT* n2,
              double* work, MKL_INT* info ) NOTHROW;

void DLAG2( const double* a, const MKL_INT* lda, const double* b,
            const MKL_INT* ldb, const double* safmin, double* scale1,
            double* scale2, double* wr1, double* wr2, double* wi ) NOTHROW;
void DLAG2_( const double* a, const MKL_INT* lda, const double* b,
             const MKL_INT* ldb, const double* safmin, double* scale1,
             double* scale2, double* wr1, double* wr2, double* wi ) NOTHROW;
void dlag2( const double* a, const MKL_INT* lda, const double* b,
            const MKL_INT* ldb, const double* safmin, double* scale1,
            double* scale2, double* wr1, double* wr2, double* wi ) NOTHROW;
void dlag2_( const double* a, const MKL_INT* lda, const double* b,
             const MKL_INT* ldb, const double* safmin, double* scale1,
             double* scale2, double* wr1, double* wr2, double* wi ) NOTHROW;

void DLAG2S( const MKL_INT* m, const MKL_INT* n, const double* a,
             const MKL_INT* lda, float* sa, const MKL_INT* ldsa,
             MKL_INT* info ) NOTHROW;
void DLAG2S_( const MKL_INT* m, const MKL_INT* n, const double* a,
              const MKL_INT* lda, float* sa, const MKL_INT* ldsa,
              MKL_INT* info ) NOTHROW;
void dlag2s( const MKL_INT* m, const MKL_INT* n, const double* a,
             const MKL_INT* lda, float* sa, const MKL_INT* ldsa,
             MKL_INT* info ) NOTHROW;
void dlag2s_( const MKL_INT* m, const MKL_INT* n, const double* a,
              const MKL_INT* lda, float* sa, const MKL_INT* ldsa,
              MKL_INT* info ) NOTHROW;

void DLAGS2( const MKL_INT* upper, const double* a1, const double* a2,
             const double* a3, const double* b1, const double* b2,
             const double* b3, double* csu, double* snu, double* csv,
             double* snv, double* csq, double* snq ) NOTHROW;
void DLAGS2_( const MKL_INT* upper, const double* a1, const double* a2,
              const double* a3, const double* b1, const double* b2,
              const double* b3, double* csu, double* snu, double* csv,
              double* snv, double* csq, double* snq ) NOTHROW;
void dlags2( const MKL_INT* upper, const double* a1, const double* a2,
             const double* a3, const double* b1, const double* b2,
             const double* b3, double* csu, double* snu, double* csv,
             double* snv, double* csq, double* snq ) NOTHROW;
void dlags2_( const MKL_INT* upper, const double* a1, const double* a2,
              const double* a3, const double* b1, const double* b2,
              const double* b3, double* csu, double* snu, double* csv,
              double* snv, double* csq, double* snq ) NOTHROW;

void DLAGTF( const MKL_INT* n, double* a, const double* lambda, double* b,
             double* c, const double* tol, double* d, MKL_INT* in,
             MKL_INT* info ) NOTHROW;
void DLAGTF_( const MKL_INT* n, double* a, const double* lambda, double* b,
              double* c, const double* tol, double* d, MKL_INT* in,
              MKL_INT* info ) NOTHROW;
void dlagtf( const MKL_INT* n, double* a, const double* lambda, double* b,
             double* c, const double* tol, double* d, MKL_INT* in,
             MKL_INT* info ) NOTHROW;
void dlagtf_( const MKL_INT* n, double* a, const double* lambda, double* b,
              double* c, const double* tol, double* d, MKL_INT* in,
              MKL_INT* info ) NOTHROW;

void DLAGTM( const char* trans, const MKL_INT* n, const MKL_INT* nrhs,
             const double* alpha, const double* dl, const double* d,
             const double* du, const double* x, const MKL_INT* ldx,
             const double* beta, double* b, const MKL_INT* ldb ) NOTHROW;
void DLAGTM_( const char* trans, const MKL_INT* n, const MKL_INT* nrhs,
              const double* alpha, const double* dl, const double* d,
              const double* du, const double* x, const MKL_INT* ldx,
              const double* beta, double* b, const MKL_INT* ldb ) NOTHROW;
void dlagtm( const char* trans, const MKL_INT* n, const MKL_INT* nrhs,
             const double* alpha, const double* dl, const double* d,
             const double* du, const double* x, const MKL_INT* ldx,
             const double* beta, double* b, const MKL_INT* ldb ) NOTHROW;
void dlagtm_( const char* trans, const MKL_INT* n, const MKL_INT* nrhs,
              const double* alpha, const double* dl, const double* d,
              const double* du, const double* x, const MKL_INT* ldx,
              const double* beta, double* b, const MKL_INT* ldb ) NOTHROW;

void DLAGTS( const MKL_INT* job, const MKL_INT* n, const double* a,
             const double* b, const double* c, const double* d,
             const MKL_INT* in, double* y, double* tol, MKL_INT* info ) NOTHROW;
void DLAGTS_( const MKL_INT* job, const MKL_INT* n, const double* a,
              const double* b, const double* c, const double* d,
              const MKL_INT* in, double* y, double* tol, MKL_INT* info ) NOTHROW;
void dlagts( const MKL_INT* job, const MKL_INT* n, const double* a,
             const double* b, const double* c, const double* d,
             const MKL_INT* in, double* y, double* tol, MKL_INT* info ) NOTHROW;
void dlagts_( const MKL_INT* job, const MKL_INT* n, const double* a,
              const double* b, const double* c, const double* d,
              const MKL_INT* in, double* y, double* tol, MKL_INT* info ) NOTHROW;

void DLAGV2( double* a, const MKL_INT* lda, double* b, const MKL_INT* ldb,
             double* alphar, double* alphai, double* beta, double* csl,
             double* snl, double* csr, double* snr ) NOTHROW;
void DLAGV2_( double* a, const MKL_INT* lda, double* b, const MKL_INT* ldb,
              double* alphar, double* alphai, double* beta, double* csl,
              double* snl, double* csr, double* snr ) NOTHROW;
void dlagv2( double* a, const MKL_INT* lda, double* b, const MKL_INT* ldb,
             double* alphar, double* alphai, double* beta, double* csl,
             double* snl, double* csr, double* snr ) NOTHROW;
void dlagv2_( double* a, const MKL_INT* lda, double* b, const MKL_INT* ldb,
              double* alphar, double* alphai, double* beta, double* csl,
              double* snl, double* csr, double* snr ) NOTHROW;

void DLAHQR( const MKL_INT* wantt, const MKL_INT* wantz, const MKL_INT* n,
             const MKL_INT* ilo, const MKL_INT* ihi, double* h,
             const MKL_INT* ldh, double* wr, double* wi, const MKL_INT* iloz,
             const MKL_INT* ihiz, double* z, const MKL_INT* ldz,
             MKL_INT* info ) NOTHROW;
void DLAHQR_( const MKL_INT* wantt, const MKL_INT* wantz, const MKL_INT* n,
              const MKL_INT* ilo, const MKL_INT* ihi, double* h,
              const MKL_INT* ldh, double* wr, double* wi, const MKL_INT* iloz,
              const MKL_INT* ihiz, double* z, const MKL_INT* ldz,
              MKL_INT* info ) NOTHROW;
void dlahqr( const MKL_INT* wantt, const MKL_INT* wantz, const MKL_INT* n,
             const MKL_INT* ilo, const MKL_INT* ihi, double* h,
             const MKL_INT* ldh, double* wr, double* wi, const MKL_INT* iloz,
             const MKL_INT* ihiz, double* z, const MKL_INT* ldz,
             MKL_INT* info ) NOTHROW;
void dlahqr_( const MKL_INT* wantt, const MKL_INT* wantz, const MKL_INT* n,
              const MKL_INT* ilo, const MKL_INT* ihi, double* h,
              const MKL_INT* ldh, double* wr, double* wi, const MKL_INT* iloz,
              const MKL_INT* ihiz, double* z, const MKL_INT* ldz,
              MKL_INT* info ) NOTHROW;

void DLAHR2( const MKL_INT* n, const MKL_INT* k, const MKL_INT* nb, double* a,
             const MKL_INT* lda, double* tau, double* t, const MKL_INT* ldt,
             double* y, const MKL_INT* ldy ) NOTHROW;
void DLAHR2_( const MKL_INT* n, const MKL_INT* k, const MKL_INT* nb, double* a,
              const MKL_INT* lda, double* tau, double* t, const MKL_INT* ldt,
              double* y, const MKL_INT* ldy ) NOTHROW;
void dlahr2( const MKL_INT* n, const MKL_INT* k, const MKL_INT* nb, double* a,
             const MKL_INT* lda, double* tau, double* t, const MKL_INT* ldt,
             double* y, const MKL_INT* ldy ) NOTHROW;
void dlahr2_( const MKL_INT* n, const MKL_INT* k, const MKL_INT* nb, double* a,
              const MKL_INT* lda, double* tau, double* t, const MKL_INT* ldt,
              double* y, const MKL_INT* ldy ) NOTHROW;

void DLAHRD( const MKL_INT* n, const MKL_INT* k, const MKL_INT* nb, double* a,
             const MKL_INT* lda, double* tau, double* t, const MKL_INT* ldt,
             double* y, const MKL_INT* ldy ) NOTHROW;
void DLAHRD_( const MKL_INT* n, const MKL_INT* k, const MKL_INT* nb, double* a,
              const MKL_INT* lda, double* tau, double* t, const MKL_INT* ldt,
              double* y, const MKL_INT* ldy ) NOTHROW;
void dlahrd( const MKL_INT* n, const MKL_INT* k, const MKL_INT* nb, double* a,
             const MKL_INT* lda, double* tau, double* t, const MKL_INT* ldt,
             double* y, const MKL_INT* ldy ) NOTHROW;
void dlahrd_( const MKL_INT* n, const MKL_INT* k, const MKL_INT* nb, double* a,
              const MKL_INT* lda, double* tau, double* t, const MKL_INT* ldt,
              double* y, const MKL_INT* ldy ) NOTHROW;

void DLAIC1( const MKL_INT* job, const MKL_INT* j, const double* x,
             const double* sest, const double* w, const double* gamma,
             double* sestpr, double* s, double* c ) NOTHROW;
void DLAIC1_( const MKL_INT* job, const MKL_INT* j, const double* x,
              const double* sest, const double* w, const double* gamma,
              double* sestpr, double* s, double* c ) NOTHROW;
void dlaic1( const MKL_INT* job, const MKL_INT* j, const double* x,
             const double* sest, const double* w, const double* gamma,
             double* sestpr, double* s, double* c ) NOTHROW;
void dlaic1_( const MKL_INT* job, const MKL_INT* j, const double* x,
              const double* sest, const double* w, const double* gamma,
              double* sestpr, double* s, double* c ) NOTHROW;

MKL_INT DLAISNAN( const double* din1, const double* din2 ) NOTHROW;
MKL_INT DLAISNAN_( const double* din1, const double* din2 ) NOTHROW;
MKL_INT dlaisnan( const double* din1, const double* din2 ) NOTHROW;
MKL_INT dlaisnan_( const double* din1, const double* din2 ) NOTHROW;

void DLALN2( const MKL_INT* ltrans, const MKL_INT* na, const MKL_INT* nw,
             const double* smin, const double* ca, const double* a,
             const MKL_INT* lda, const double* d1, const double* d2,
             const double* b, const MKL_INT* ldb, const double* wr,
             const double* wi, double* x, const MKL_INT* ldx, double* scale,
             double* xnorm, MKL_INT* info ) NOTHROW;
void DLALN2_( const MKL_INT* ltrans, const MKL_INT* na, const MKL_INT* nw,
              const double* smin, const double* ca, const double* a,
              const MKL_INT* lda, const double* d1, const double* d2,
              const double* b, const MKL_INT* ldb, const double* wr,
              const double* wi, double* x, const MKL_INT* ldx, double* scale,
              double* xnorm, MKL_INT* info ) NOTHROW;
void dlaln2( const MKL_INT* ltrans, const MKL_INT* na, const MKL_INT* nw,
             const double* smin, const double* ca, const double* a,
             const MKL_INT* lda, const double* d1, const double* d2,
             const double* b, const MKL_INT* ldb, const double* wr,
             const double* wi, double* x, const MKL_INT* ldx, double* scale,
             double* xnorm, MKL_INT* info ) NOTHROW;
void dlaln2_( const MKL_INT* ltrans, const MKL_INT* na, const MKL_INT* nw,
              const double* smin, const double* ca, const double* a,
              const MKL_INT* lda, const double* d1, const double* d2,
              const double* b, const MKL_INT* ldb, const double* wr,
              const double* wi, double* x, const MKL_INT* ldx, double* scale,
              double* xnorm, MKL_INT* info ) NOTHROW;

void DLALS0( const MKL_INT* icompq, const MKL_INT* nl, const MKL_INT* nr,
             const MKL_INT* sqre, const MKL_INT* nrhs, double* b,
             const MKL_INT* ldb, double* bx, const MKL_INT* ldbx,
             const MKL_INT* perm, const MKL_INT* givptr, const MKL_INT* givcol,
             const MKL_INT* ldgcol, const double* givnum,
             const MKL_INT* ldgnum, const double* poles, const double* difl,
             const double* difr, const double* z, const MKL_INT* k,
             const double* c, const double* s, double* work, MKL_INT* info ) NOTHROW;
void DLALS0_( const MKL_INT* icompq, const MKL_INT* nl, const MKL_INT* nr,
              const MKL_INT* sqre, const MKL_INT* nrhs, double* b,
              const MKL_INT* ldb, double* bx, const MKL_INT* ldbx,
              const MKL_INT* perm, const MKL_INT* givptr,
              const MKL_INT* givcol, const MKL_INT* ldgcol,
              const double* givnum, const MKL_INT* ldgnum, const double* poles,
              const double* difl, const double* difr, const double* z,
              const MKL_INT* k, const double* c, const double* s, double* work,
              MKL_INT* info ) NOTHROW;
void dlals0( const MKL_INT* icompq, const MKL_INT* nl, const MKL_INT* nr,
             const MKL_INT* sqre, const MKL_INT* nrhs, double* b,
             const MKL_INT* ldb, double* bx, const MKL_INT* ldbx,
             const MKL_INT* perm, const MKL_INT* givptr, const MKL_INT* givcol,
             const MKL_INT* ldgcol, const double* givnum,
             const MKL_INT* ldgnum, const double* poles, const double* difl,
             const double* difr, const double* z, const MKL_INT* k,
             const double* c, const double* s, double* work, MKL_INT* info ) NOTHROW;
void dlals0_( const MKL_INT* icompq, const MKL_INT* nl, const MKL_INT* nr,
              const MKL_INT* sqre, const MKL_INT* nrhs, double* b,
              const MKL_INT* ldb, double* bx, const MKL_INT* ldbx,
              const MKL_INT* perm, const MKL_INT* givptr,
              const MKL_INT* givcol, const MKL_INT* ldgcol,
              const double* givnum, const MKL_INT* ldgnum, const double* poles,
              const double* difl, const double* difr, const double* z,
              const MKL_INT* k, const double* c, const double* s, double* work,
              MKL_INT* info ) NOTHROW;

void DLALSA( const MKL_INT* icompq, const MKL_INT* smlsiz, const MKL_INT* n,
             const MKL_INT* nrhs, double* b, const MKL_INT* ldb, double* bx,
             const MKL_INT* ldbx, const double* u, const MKL_INT* ldu,
             const double* vt, const MKL_INT* k, const double* difl,
             const double* difr, const double* z, const double* poles,
             const MKL_INT* givptr, const MKL_INT* givcol,
             const MKL_INT* ldgcol, const MKL_INT* perm, const double* givnum,
             const double* c, const double* s, double* work, MKL_INT* iwork,
             MKL_INT* info ) NOTHROW;
void DLALSA_( const MKL_INT* icompq, const MKL_INT* smlsiz, const MKL_INT* n,
              const MKL_INT* nrhs, double* b, const MKL_INT* ldb, double* bx,
              const MKL_INT* ldbx, const double* u, const MKL_INT* ldu,
              const double* vt, const MKL_INT* k, const double* difl,
              const double* difr, const double* z, const double* poles,
              const MKL_INT* givptr, const MKL_INT* givcol,
              const MKL_INT* ldgcol, const MKL_INT* perm, const double* givnum,
              const double* c, const double* s, double* work, MKL_INT* iwork,
              MKL_INT* info ) NOTHROW;
void dlalsa( const MKL_INT* icompq, const MKL_INT* smlsiz, const MKL_INT* n,
             const MKL_INT* nrhs, double* b, const MKL_INT* ldb, double* bx,
             const MKL_INT* ldbx, const double* u, const MKL_INT* ldu,
             const double* vt, const MKL_INT* k, const double* difl,
             const double* difr, const double* z, const double* poles,
             const MKL_INT* givptr, const MKL_INT* givcol,
             const MKL_INT* ldgcol, const MKL_INT* perm, const double* givnum,
             const double* c, const double* s, double* work, MKL_INT* iwork,
             MKL_INT* info ) NOTHROW;
void dlalsa_( const MKL_INT* icompq, const MKL_INT* smlsiz, const MKL_INT* n,
              const MKL_INT* nrhs, double* b, const MKL_INT* ldb, double* bx,
              const MKL_INT* ldbx, const double* u, const MKL_INT* ldu,
              const double* vt, const MKL_INT* k, const double* difl,
              const double* difr, const double* z, const double* poles,
              const MKL_INT* givptr, const MKL_INT* givcol,
              const MKL_INT* ldgcol, const MKL_INT* perm, const double* givnum,
              const double* c, const double* s, double* work, MKL_INT* iwork,
              MKL_INT* info ) NOTHROW;

void DLALSD( const char* uplo, const MKL_INT* smlsiz, const MKL_INT* n,
             const MKL_INT* nrhs, double* d, double* e, double* b,
             const MKL_INT* ldb, const double* rcond, MKL_INT* rank,
             double* work, MKL_INT* iwork, MKL_INT* info ) NOTHROW;
void DLALSD_( const char* uplo, const MKL_INT* smlsiz, const MKL_INT* n,
              const MKL_INT* nrhs, double* d, double* e, double* b,
              const MKL_INT* ldb, const double* rcond, MKL_INT* rank,
              double* work, MKL_INT* iwork, MKL_INT* info ) NOTHROW;
void dlalsd( const char* uplo, const MKL_INT* smlsiz, const MKL_INT* n,
             const MKL_INT* nrhs, double* d, double* e, double* b,
             const MKL_INT* ldb, const double* rcond, MKL_INT* rank,
             double* work, MKL_INT* iwork, MKL_INT* info ) NOTHROW;
void dlalsd_( const char* uplo, const MKL_INT* smlsiz, const MKL_INT* n,
              const MKL_INT* nrhs, double* d, double* e, double* b,
              const MKL_INT* ldb, const double* rcond, MKL_INT* rank,
              double* work, MKL_INT* iwork, MKL_INT* info ) NOTHROW;

double DLAMCH( const char* cmach ) NOTHROW;
double DLAMCH_( const char* cmach ) NOTHROW;
double dlamch( const char* cmach ) NOTHROW;
double dlamch_( const char* cmach ) NOTHROW;

void DLAMC1( MKL_INT* beta, MKL_INT* t, MKL_INT* rnd, MKL_INT* ieee1 ) NOTHROW;
void DLAMC1_( MKL_INT* beta, MKL_INT* t, MKL_INT* rnd, MKL_INT* ieee1 ) NOTHROW;
void dlamc1( MKL_INT* beta, MKL_INT* t, MKL_INT* rnd, MKL_INT* ieee1 ) NOTHROW;
void dlamc1_( MKL_INT* beta, MKL_INT* t, MKL_INT* rnd, MKL_INT* ieee1 ) NOTHROW;

void DLAMC2( MKL_INT* beta, MKL_INT* t, MKL_INT* rnd, double* eps,
             MKL_INT* emin, double* rmin, MKL_INT* emax, double* rmax ) NOTHROW;
void DLAMC2_( MKL_INT* beta, MKL_INT* t, MKL_INT* rnd, double* eps,
              MKL_INT* emin, double* rmin, MKL_INT* emax, double* rmax ) NOTHROW;
void dlamc2( MKL_INT* beta, MKL_INT* t, MKL_INT* rnd, double* eps,
             MKL_INT* emin, double* rmin, MKL_INT* emax, double* rmax ) NOTHROW;
void dlamc2_( MKL_INT* beta, MKL_INT* t, MKL_INT* rnd, double* eps,
              MKL_INT* emin, double* rmin, MKL_INT* emax, double* rmax ) NOTHROW;

double DLAMC3( const double* a, const double* b ) NOTHROW;
double DLAMC3_( const double* a, const double* b ) NOTHROW;
double dlamc3( const double* a, const double* b ) NOTHROW;
double dlamc3_( const double* a, const double* b ) NOTHROW;

void DLAMC4( MKL_INT* emin, const double* start, const MKL_INT* base ) NOTHROW;
void DLAMC4_( MKL_INT* emin, const double* start, const MKL_INT* base ) NOTHROW;
void dlamc4( MKL_INT* emin, const double* start, const MKL_INT* base ) NOTHROW;
void dlamc4_( MKL_INT* emin, const double* start, const MKL_INT* base ) NOTHROW;

void DLAMC5( const MKL_INT* beta, const MKL_INT* p, const MKL_INT* emin,
             const MKL_INT* ieee, MKL_INT* emax, double* rmax ) NOTHROW;
void DLAMC5_( const MKL_INT* beta, const MKL_INT* p, const MKL_INT* emin,
              const MKL_INT* ieee, MKL_INT* emax, double* rmax ) NOTHROW;
void dlamc5( const MKL_INT* beta, const MKL_INT* p, const MKL_INT* emin,
             const MKL_INT* ieee, MKL_INT* emax, double* rmax ) NOTHROW;
void dlamc5_( const MKL_INT* beta, const MKL_INT* p, const MKL_INT* emin,
              const MKL_INT* ieee, MKL_INT* emax, double* rmax ) NOTHROW;

void DLAMRG( const MKL_INT* n1, const MKL_INT* n2, const double* a,
             const MKL_INT* dtrd1, const MKL_INT* dtrd2, MKL_INT* index ) NOTHROW;
void DLAMRG_( const MKL_INT* n1, const MKL_INT* n2, const double* a,
              const MKL_INT* dtrd1, const MKL_INT* dtrd2, MKL_INT* index ) NOTHROW;
void dlamrg( const MKL_INT* n1, const MKL_INT* n2, const double* a,
             const MKL_INT* dtrd1, const MKL_INT* dtrd2, MKL_INT* index ) NOTHROW;
void dlamrg_( const MKL_INT* n1, const MKL_INT* n2, const double* a,
              const MKL_INT* dtrd1, const MKL_INT* dtrd2, MKL_INT* index ) NOTHROW;

MKL_INT DLANEG( const MKL_INT* n, const double* d, const double* lld,
                const double* sigma, const double* pivmin, const MKL_INT* r ) NOTHROW;
MKL_INT DLANEG_( const MKL_INT* n, const double* d, const double* lld,
                 const double* sigma, const double* pivmin, const MKL_INT* r ) NOTHROW;
MKL_INT dlaneg( const MKL_INT* n, const double* d, const double* lld,
                const double* sigma, const double* pivmin, const MKL_INT* r ) NOTHROW;
MKL_INT dlaneg_( const MKL_INT* n, const double* d, const double* lld,
                 const double* sigma, const double* pivmin, const MKL_INT* r ) NOTHROW;

double DLANGB( const char* norm, const MKL_INT* n, const MKL_INT* kl,
               const MKL_INT* ku, const double* ab, const MKL_INT* ldab,
               double* work ) NOTHROW;
double DLANGB_( const char* norm, const MKL_INT* n, const MKL_INT* kl,
                const MKL_INT* ku, const double* ab, const MKL_INT* ldab,
                double* work ) NOTHROW;
double dlangb( const char* norm, const MKL_INT* n, const MKL_INT* kl,
               const MKL_INT* ku, const double* ab, const MKL_INT* ldab,
               double* work ) NOTHROW;
double dlangb_( const char* norm, const MKL_INT* n, const MKL_INT* kl,
                const MKL_INT* ku, const double* ab, const MKL_INT* ldab,
                double* work ) NOTHROW;

double DLANGE( const char* norm, const MKL_INT* m, const MKL_INT* n,
               const double* a, const MKL_INT* lda, double* work ) NOTHROW;
double DLANGE_( const char* norm, const MKL_INT* m, const MKL_INT* n,
                const double* a, const MKL_INT* lda, double* work ) NOTHROW;
double dlange( const char* norm, const MKL_INT* m, const MKL_INT* n,
               const double* a, const MKL_INT* lda, double* work ) NOTHROW;
double dlange_( const char* norm, const MKL_INT* m, const MKL_INT* n,
                const double* a, const MKL_INT* lda, double* work ) NOTHROW;

double DLANGT( const char* norm, const MKL_INT* n, const double* dl,
               const double* d, const double* du ) NOTHROW;
double DLANGT_( const char* norm, const MKL_INT* n, const double* dl,
                const double* d, const double* du ) NOTHROW;
double dlangt( const char* norm, const MKL_INT* n, const double* dl,
               const double* d, const double* du ) NOTHROW;
double dlangt_( const char* norm, const MKL_INT* n, const double* dl,
                const double* d, const double* du ) NOTHROW;

double DLANHS( const char* norm, const MKL_INT* n, const double* a,
               const MKL_INT* lda, double* work ) NOTHROW;
double DLANHS_( const char* norm, const MKL_INT* n, const double* a,
                const MKL_INT* lda, double* work ) NOTHROW;
double dlanhs( const char* norm, const MKL_INT* n, const double* a,
               const MKL_INT* lda, double* work ) NOTHROW;
double dlanhs_( const char* norm, const MKL_INT* n, const double* a,
                const MKL_INT* lda, double* work ) NOTHROW;

double DLANSB( const char* norm, const char* uplo, const MKL_INT* n,
               const MKL_INT* k, const double* ab, const MKL_INT* ldab,
               double* work ) NOTHROW;
double DLANSB_( const char* norm, const char* uplo, const MKL_INT* n,
                const MKL_INT* k, const double* ab, const MKL_INT* ldab,
                double* work ) NOTHROW;
double dlansb( const char* norm, const char* uplo, const MKL_INT* n,
               const MKL_INT* k, const double* ab, const MKL_INT* ldab,
               double* work ) NOTHROW;
double dlansb_( const char* norm, const char* uplo, const MKL_INT* n,
                const MKL_INT* k, const double* ab, const MKL_INT* ldab,
                double* work ) NOTHROW;

double DLANSF( const char* norm, const char* transr, const char* uplo,
               const MKL_INT* n, const double* a, double* work ) NOTHROW;
double DLANSF_( const char* norm, const char* transr, const char* uplo,
                const MKL_INT* n, const double* a, double* work ) NOTHROW;
double dlansf( const char* norm, const char* transr, const char* uplo,
               const MKL_INT* n, const double* a, double* work ) NOTHROW;
double dlansf_( const char* norm, const char* transr, const char* uplo,
                const MKL_INT* n, const double* a, double* work ) NOTHROW;

double DLANSP( const char* norm, const char* uplo, const MKL_INT* n,
               const double* ap, double* work ) NOTHROW;
double DLANSP_( const char* norm, const char* uplo, const MKL_INT* n,
                const double* ap, double* work ) NOTHROW;
double dlansp( const char* norm, const char* uplo, const MKL_INT* n,
               const double* ap, double* work ) NOTHROW;
double dlansp_( const char* norm, const char* uplo, const MKL_INT* n,
                const double* ap, double* work ) NOTHROW;

double DLANST( const char* norm, const MKL_INT* n, const double* d,
               const double* e ) NOTHROW;
double DLANST_( const char* norm, const MKL_INT* n, const double* d,
                const double* e ) NOTHROW;
double dlanst( const char* norm, const MKL_INT* n, const double* d,
               const double* e ) NOTHROW;
double dlanst_( const char* norm, const MKL_INT* n, const double* d,
                const double* e ) NOTHROW;

double DLANSY( const char* norm, const char* uplo, const MKL_INT* n,
               const double* a, const MKL_INT* lda, double* work ) NOTHROW;
double DLANSY_( const char* norm, const char* uplo, const MKL_INT* n,
                const double* a, const MKL_INT* lda, double* work ) NOTHROW;
double dlansy( const char* norm, const char* uplo, const MKL_INT* n,
               const double* a, const MKL_INT* lda, double* work ) NOTHROW;
double dlansy_( const char* norm, const char* uplo, const MKL_INT* n,
                const double* a, const MKL_INT* lda, double* work ) NOTHROW;

double DLANTB( const char* norm, const char* uplo, const char* diag,
               const MKL_INT* n, const MKL_INT* k, const double* ab,
               const MKL_INT* ldab, double* work ) NOTHROW;
double DLANTB_( const char* norm, const char* uplo, const char* diag,
                const MKL_INT* n, const MKL_INT* k, const double* ab,
                const MKL_INT* ldab, double* work ) NOTHROW;
double dlantb( const char* norm, const char* uplo, const char* diag,
               const MKL_INT* n, const MKL_INT* k, const double* ab,
               const MKL_INT* ldab, double* work ) NOTHROW;
double dlantb_( const char* norm, const char* uplo, const char* diag,
                const MKL_INT* n, const MKL_INT* k, const double* ab,
                const MKL_INT* ldab, double* work ) NOTHROW;

double DLANTP( const char* norm, const char* uplo, const char* diag,
               const MKL_INT* n, const double* ap, double* work ) NOTHROW;
double DLANTP_( const char* norm, const char* uplo, const char* diag,
                const MKL_INT* n, const double* ap, double* work ) NOTHROW;
double dlantp( const char* norm, const char* uplo, const char* diag,
               const MKL_INT* n, const double* ap, double* work ) NOTHROW;
double dlantp_( const char* norm, const char* uplo, const char* diag,
                const MKL_INT* n, const double* ap, double* work ) NOTHROW;

double DLANTR( const char* norm, const char* uplo, const char* diag,
               const MKL_INT* m, const MKL_INT* n, const double* a,
               const MKL_INT* lda, double* work ) NOTHROW;
double DLANTR_( const char* norm, const char* uplo, const char* diag,
                const MKL_INT* m, const MKL_INT* n, const double* a,
                const MKL_INT* lda, double* work ) NOTHROW;
double dlantr( const char* norm, const char* uplo, const char* diag,
               const MKL_INT* m, const MKL_INT* n, const double* a,
               const MKL_INT* lda, double* work ) NOTHROW;
double dlantr_( const char* norm, const char* uplo, const char* diag,
                const MKL_INT* m, const MKL_INT* n, const double* a,
                const MKL_INT* lda, double* work ) NOTHROW;

void DLANV2( double* a, double* b, double* c, double* d, double* rt1r,
             double* rt1i, double* rt2r, double* rt2i, double* cs,
             double* sn ) NOTHROW;
void DLANV2_( double* a, double* b, double* c, double* d, double* rt1r,
              double* rt1i, double* rt2r, double* rt2i, double* cs,
              double* sn ) NOTHROW;
void dlanv2( double* a, double* b, double* c, double* d, double* rt1r,
             double* rt1i, double* rt2r, double* rt2i, double* cs,
             double* sn ) NOTHROW;
void dlanv2_( double* a, double* b, double* c, double* d, double* rt1r,
              double* rt1i, double* rt2r, double* rt2i, double* cs,
              double* sn ) NOTHROW;

void DLAPLL( const MKL_INT* n, double* x, const MKL_INT* incx, double* y,
             const MKL_INT* incy, double* ssmin ) NOTHROW;
void DLAPLL_( const MKL_INT* n, double* x, const MKL_INT* incx, double* y,
              const MKL_INT* incy, double* ssmin ) NOTHROW;
void dlapll( const MKL_INT* n, double* x, const MKL_INT* incx, double* y,
             const MKL_INT* incy, double* ssmin ) NOTHROW;
void dlapll_( const MKL_INT* n, double* x, const MKL_INT* incx, double* y,
              const MKL_INT* incy, double* ssmin ) NOTHROW;

void DLAPMT( const MKL_INT* forwrd, const MKL_INT* m, const MKL_INT* n,
             double* x, const MKL_INT* ldx, MKL_INT* k ) NOTHROW;
void DLAPMT_( const MKL_INT* forwrd, const MKL_INT* m, const MKL_INT* n,
              double* x, const MKL_INT* ldx, MKL_INT* k ) NOTHROW;
void dlapmt( const MKL_INT* forwrd, const MKL_INT* m, const MKL_INT* n,
             double* x, const MKL_INT* ldx, MKL_INT* k ) NOTHROW;
void dlapmt_( const MKL_INT* forwrd, const MKL_INT* m, const MKL_INT* n,
              double* x, const MKL_INT* ldx, MKL_INT* k ) NOTHROW;

double DLAPY2( const double* x, const double* y ) NOTHROW;
double DLAPY2_( const double* x, const double* y ) NOTHROW;
double dlapy2( const double* x, const double* y ) NOTHROW;
double dlapy2_( const double* x, const double* y ) NOTHROW;

double DLAPY3( const double* x, const double* y, const double* z ) NOTHROW;
double DLAPY3_( const double* x, const double* y, const double* z ) NOTHROW;
double dlapy3( const double* x, const double* y, const double* z ) NOTHROW;
double dlapy3_( const double* x, const double* y, const double* z ) NOTHROW;

void DLAQGB( const MKL_INT* m, const MKL_INT* n, const MKL_INT* kl,
             const MKL_INT* ku, double* ab, const MKL_INT* ldab,
             const double* r, const double* c, const double* rowcnd,
             const double* colcnd, const double* amax, char* equed ) NOTHROW;
void DLAQGB_( const MKL_INT* m, const MKL_INT* n, const MKL_INT* kl,
              const MKL_INT* ku, double* ab, const MKL_INT* ldab,
              const double* r, const double* c, const double* rowcnd,
              const double* colcnd, const double* amax, char* equed ) NOTHROW;
void dlaqgb( const MKL_INT* m, const MKL_INT* n, const MKL_INT* kl,
             const MKL_INT* ku, double* ab, const MKL_INT* ldab,
             const double* r, const double* c, const double* rowcnd,
             const double* colcnd, const double* amax, char* equed ) NOTHROW;
void dlaqgb_( const MKL_INT* m, const MKL_INT* n, const MKL_INT* kl,
              const MKL_INT* ku, double* ab, const MKL_INT* ldab,
              const double* r, const double* c, const double* rowcnd,
              const double* colcnd, const double* amax, char* equed ) NOTHROW;

void DLAQGE( const MKL_INT* m, const MKL_INT* n, double* a, const MKL_INT* lda,
             const double* r, const double* c, const double* rowcnd,
             const double* colcnd, const double* amax, char* equed ) NOTHROW;
void DLAQGE_( const MKL_INT* m, const MKL_INT* n, double* a,
              const MKL_INT* lda, const double* r, const double* c,
              const double* rowcnd, const double* colcnd, const double* amax,
              char* equed ) NOTHROW;
void dlaqge( const MKL_INT* m, const MKL_INT* n, double* a, const MKL_INT* lda,
             const double* r, const double* c, const double* rowcnd,
             const double* colcnd, const double* amax, char* equed ) NOTHROW;
void dlaqge_( const MKL_INT* m, const MKL_INT* n, double* a,
              const MKL_INT* lda, const double* r, const double* c,
              const double* rowcnd, const double* colcnd, const double* amax,
              char* equed ) NOTHROW;

void DLAQP2( const MKL_INT* m, const MKL_INT* n, const MKL_INT* offset,
             double* a, const MKL_INT* lda, MKL_INT* jpvt, double* tau,
             double* vn1, double* vn2, double* work ) NOTHROW;
void DLAQP2_( const MKL_INT* m, const MKL_INT* n, const MKL_INT* offset,
              double* a, const MKL_INT* lda, MKL_INT* jpvt, double* tau,
              double* vn1, double* vn2, double* work ) NOTHROW;
void dlaqp2( const MKL_INT* m, const MKL_INT* n, const MKL_INT* offset,
             double* a, const MKL_INT* lda, MKL_INT* jpvt, double* tau,
             double* vn1, double* vn2, double* work ) NOTHROW;
void dlaqp2_( const MKL_INT* m, const MKL_INT* n, const MKL_INT* offset,
              double* a, const MKL_INT* lda, MKL_INT* jpvt, double* tau,
              double* vn1, double* vn2, double* work ) NOTHROW;

void DLAQPS( const MKL_INT* m, const MKL_INT* n, const MKL_INT* offset,
             const MKL_INT* nb, MKL_INT* kb, double* a, const MKL_INT* lda,
             MKL_INT* jpvt, double* tau, double* vn1, double* vn2,
             double* auxv, double* f, const MKL_INT* ldf ) NOTHROW;
void DLAQPS_( const MKL_INT* m, const MKL_INT* n, const MKL_INT* offset,
              const MKL_INT* nb, MKL_INT* kb, double* a, const MKL_INT* lda,
              MKL_INT* jpvt, double* tau, double* vn1, double* vn2,
              double* auxv, double* f, const MKL_INT* ldf ) NOTHROW;
void dlaqps( const MKL_INT* m, const MKL_INT* n, const MKL_INT* offset,
             const MKL_INT* nb, MKL_INT* kb, double* a, const MKL_INT* lda,
             MKL_INT* jpvt, double* tau, double* vn1, double* vn2,
             double* auxv, double* f, const MKL_INT* ldf ) NOTHROW;
void dlaqps_( const MKL_INT* m, const MKL_INT* n, const MKL_INT* offset,
              const MKL_INT* nb, MKL_INT* kb, double* a, const MKL_INT* lda,
              MKL_INT* jpvt, double* tau, double* vn1, double* vn2,
              double* auxv, double* f, const MKL_INT* ldf ) NOTHROW;

void DLAQR0( const MKL_INT* wantt, const MKL_INT* wantz, const MKL_INT* n,
             const MKL_INT* ilo, const MKL_INT* ihi, double* h,
             const MKL_INT* ldh, double* wr, double* wi, const MKL_INT* iloz,
             const MKL_INT* ihiz, double* z, const MKL_INT* ldz, double* work,
             const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void DLAQR0_( const MKL_INT* wantt, const MKL_INT* wantz, const MKL_INT* n,
              const MKL_INT* ilo, const MKL_INT* ihi, double* h,
              const MKL_INT* ldh, double* wr, double* wi, const MKL_INT* iloz,
              const MKL_INT* ihiz, double* z, const MKL_INT* ldz, double* work,
              const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void dlaqr0( const MKL_INT* wantt, const MKL_INT* wantz, const MKL_INT* n,
             const MKL_INT* ilo, const MKL_INT* ihi, double* h,
             const MKL_INT* ldh, double* wr, double* wi, const MKL_INT* iloz,
             const MKL_INT* ihiz, double* z, const MKL_INT* ldz, double* work,
             const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void dlaqr0_( const MKL_INT* wantt, const MKL_INT* wantz, const MKL_INT* n,
              const MKL_INT* ilo, const MKL_INT* ihi, double* h,
              const MKL_INT* ldh, double* wr, double* wi, const MKL_INT* iloz,
              const MKL_INT* ihiz, double* z, const MKL_INT* ldz, double* work,
              const MKL_INT* lwork, MKL_INT* info ) NOTHROW;

void DLAQR1( const MKL_INT* n, const double* h, const MKL_INT* ldh,
             const double* sr1, double* si1, double* sr2, double* si2,
             double* v ) NOTHROW;
void DLAQR1_( const MKL_INT* n, const double* h, const MKL_INT* ldh,
              const double* sr1, double* si1, double* sr2, double* si2,
              double* v ) NOTHROW;
void dlaqr1( const MKL_INT* n, const double* h, const MKL_INT* ldh,
             const double* sr1, double* si1, double* sr2, double* si2,
             double* v ) NOTHROW;
void dlaqr1_( const MKL_INT* n, const double* h, const MKL_INT* ldh,
              const double* sr1, double* si1, double* sr2, double* si2,
              double* v ) NOTHROW;

void DLAQR2( const MKL_INT* wantt, const MKL_INT* wantz, const MKL_INT* n,
             const MKL_INT* ktop, const MKL_INT* kbot, const MKL_INT* nw,
             double* h, const MKL_INT* ldh, const MKL_INT* iloz,
             const MKL_INT* ihiz, double* z, const MKL_INT* ldz, MKL_INT* ns,
             MKL_INT* nd, double* sr, double* si, double* v,
             const MKL_INT* ldv, const MKL_INT* nh, double* t,
             const MKL_INT* ldt, const MKL_INT* nv, double* wv,
             const MKL_INT* ldwv, double* work, const MKL_INT* lwork ) NOTHROW;
void DLAQR2_( const MKL_INT* wantt, const MKL_INT* wantz, const MKL_INT* n,
              const MKL_INT* ktop, const MKL_INT* kbot, const MKL_INT* nw,
              double* h, const MKL_INT* ldh, const MKL_INT* iloz,
              const MKL_INT* ihiz, double* z, const MKL_INT* ldz, MKL_INT* ns,
              MKL_INT* nd, double* sr, double* si, double* v,
              const MKL_INT* ldv, const MKL_INT* nh, double* t,
              const MKL_INT* ldt, const MKL_INT* nv, double* wv,
              const MKL_INT* ldwv, double* work, const MKL_INT* lwork ) NOTHROW;
void dlaqr2( const MKL_INT* wantt, const MKL_INT* wantz, const MKL_INT* n,
             const MKL_INT* ktop, const MKL_INT* kbot, const MKL_INT* nw,
             double* h, const MKL_INT* ldh, const MKL_INT* iloz,
             const MKL_INT* ihiz, double* z, const MKL_INT* ldz, MKL_INT* ns,
             MKL_INT* nd, double* sr, double* si, double* v,
             const MKL_INT* ldv, const MKL_INT* nh, double* t,
             const MKL_INT* ldt, const MKL_INT* nv, double* wv,
             const MKL_INT* ldwv, double* work, const MKL_INT* lwork ) NOTHROW;
void dlaqr2_( const MKL_INT* wantt, const MKL_INT* wantz, const MKL_INT* n,
              const MKL_INT* ktop, const MKL_INT* kbot, const MKL_INT* nw,
              double* h, const MKL_INT* ldh, const MKL_INT* iloz,
              const MKL_INT* ihiz, double* z, const MKL_INT* ldz, MKL_INT* ns,
              MKL_INT* nd, double* sr, double* si, double* v,
              const MKL_INT* ldv, const MKL_INT* nh, double* t,
              const MKL_INT* ldt, const MKL_INT* nv, double* wv,
              const MKL_INT* ldwv, double* work, const MKL_INT* lwork ) NOTHROW;

void DLAQR3( const MKL_INT* wantt, const MKL_INT* wantz, const MKL_INT* n,
             const MKL_INT* ktop, const MKL_INT* kbot, const MKL_INT* nw,
             double* h, const MKL_INT* ldh, const MKL_INT* iloz,
             const MKL_INT* ihiz, double* z, const MKL_INT* ldz, MKL_INT* ns,
             MKL_INT* nd, double* sr, double* si, double* v,
             const MKL_INT* ldv, const MKL_INT* nh, double* t,
             const MKL_INT* ldt, const MKL_INT* nv, double* wv,
             const MKL_INT* ldwv, double* work, const MKL_INT* lwork ) NOTHROW;
void DLAQR3_( const MKL_INT* wantt, const MKL_INT* wantz, const MKL_INT* n,
              const MKL_INT* ktop, const MKL_INT* kbot, const MKL_INT* nw,
              double* h, const MKL_INT* ldh, const MKL_INT* iloz,
              const MKL_INT* ihiz, double* z, const MKL_INT* ldz, MKL_INT* ns,
              MKL_INT* nd, double* sr, double* si, double* v,
              const MKL_INT* ldv, const MKL_INT* nh, double* t,
              const MKL_INT* ldt, const MKL_INT* nv, double* wv,
              const MKL_INT* ldwv, double* work, const MKL_INT* lwork ) NOTHROW;
void dlaqr3( const MKL_INT* wantt, const MKL_INT* wantz, const MKL_INT* n,
             const MKL_INT* ktop, const MKL_INT* kbot, const MKL_INT* nw,
             double* h, const MKL_INT* ldh, const MKL_INT* iloz,
             const MKL_INT* ihiz, double* z, const MKL_INT* ldz, MKL_INT* ns,
             MKL_INT* nd, double* sr, double* si, double* v,
             const MKL_INT* ldv, const MKL_INT* nh, double* t,
             const MKL_INT* ldt, const MKL_INT* nv, double* wv,
             const MKL_INT* ldwv, double* work, const MKL_INT* lwork ) NOTHROW;
void dlaqr3_( const MKL_INT* wantt, const MKL_INT* wantz, const MKL_INT* n,
              const MKL_INT* ktop, const MKL_INT* kbot, const MKL_INT* nw,
              double* h, const MKL_INT* ldh, const MKL_INT* iloz,
              const MKL_INT* ihiz, double* z, const MKL_INT* ldz, MKL_INT* ns,
              MKL_INT* nd, double* sr, double* si, double* v,
              const MKL_INT* ldv, const MKL_INT* nh, double* t,
              const MKL_INT* ldt, const MKL_INT* nv, double* wv,
              const MKL_INT* ldwv, double* work, const MKL_INT* lwork ) NOTHROW;

void DLAQR4( const MKL_INT* wantt, const MKL_INT* wantz, const MKL_INT* n,
             const MKL_INT* ilo, const MKL_INT* ihi, double* h,
             const MKL_INT* ldh, double* wr, double* wi, const MKL_INT* iloz,
             const MKL_INT* ihiz, double* z, const MKL_INT* ldz, double* work,
             const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void DLAQR4_( const MKL_INT* wantt, const MKL_INT* wantz, const MKL_INT* n,
              const MKL_INT* ilo, const MKL_INT* ihi, double* h,
              const MKL_INT* ldh, double* wr, double* wi, const MKL_INT* iloz,
              const MKL_INT* ihiz, double* z, const MKL_INT* ldz, double* work,
              const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void dlaqr4( const MKL_INT* wantt, const MKL_INT* wantz, const MKL_INT* n,
             const MKL_INT* ilo, const MKL_INT* ihi, double* h,
             const MKL_INT* ldh, double* wr, double* wi, const MKL_INT* iloz,
             const MKL_INT* ihiz, double* z, const MKL_INT* ldz, double* work,
             const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void dlaqr4_( const MKL_INT* wantt, const MKL_INT* wantz, const MKL_INT* n,
              const MKL_INT* ilo, const MKL_INT* ihi, double* h,
              const MKL_INT* ldh, double* wr, double* wi, const MKL_INT* iloz,
              const MKL_INT* ihiz, double* z, const MKL_INT* ldz, double* work,
              const MKL_INT* lwork, MKL_INT* info ) NOTHROW;

void DLAQR5( const MKL_INT* wantt, const MKL_INT* wantz, const MKL_INT* kacc22,
             const MKL_INT* n, const MKL_INT* ktop, const MKL_INT* kbot,
             const MKL_INT* nshfts, double* sr, double* si, double* h,
             const MKL_INT* ldh, const MKL_INT* iloz, const MKL_INT* ihiz,
             double* z, const MKL_INT* ldz, double* v, const MKL_INT* ldv,
             double* u, const MKL_INT* ldu, const MKL_INT* nv, double* wv,
             const MKL_INT* ldwv, const MKL_INT* nh, double* wh,
             const MKL_INT* ldwh ) NOTHROW;
void DLAQR5_( const MKL_INT* wantt, const MKL_INT* wantz,
              const MKL_INT* kacc22, const MKL_INT* n, const MKL_INT* ktop,
              const MKL_INT* kbot, const MKL_INT* nshfts, double* sr,
              double* si, double* h, const MKL_INT* ldh, const MKL_INT* iloz,
              const MKL_INT* ihiz, double* z, const MKL_INT* ldz, double* v,
              const MKL_INT* ldv, double* u, const MKL_INT* ldu,
              const MKL_INT* nv, double* wv, const MKL_INT* ldwv,
              const MKL_INT* nh, double* wh, const MKL_INT* ldwh ) NOTHROW;
void dlaqr5( const MKL_INT* wantt, const MKL_INT* wantz, const MKL_INT* kacc22,
             const MKL_INT* n, const MKL_INT* ktop, const MKL_INT* kbot,
             const MKL_INT* nshfts, double* sr, double* si, double* h,
             const MKL_INT* ldh, const MKL_INT* iloz, const MKL_INT* ihiz,
             double* z, const MKL_INT* ldz, double* v, const MKL_INT* ldv,
             double* u, const MKL_INT* ldu, const MKL_INT* nv, double* wv,
             const MKL_INT* ldwv, const MKL_INT* nh, double* wh,
             const MKL_INT* ldwh ) NOTHROW;
void dlaqr5_( const MKL_INT* wantt, const MKL_INT* wantz,
              const MKL_INT* kacc22, const MKL_INT* n, const MKL_INT* ktop,
              const MKL_INT* kbot, const MKL_INT* nshfts, double* sr,
              double* si, double* h, const MKL_INT* ldh, const MKL_INT* iloz,
              const MKL_INT* ihiz, double* z, const MKL_INT* ldz, double* v,
              const MKL_INT* ldv, double* u, const MKL_INT* ldu,
              const MKL_INT* nv, double* wv, const MKL_INT* ldwv,
              const MKL_INT* nh, double* wh, const MKL_INT* ldwh ) NOTHROW;

void DLAQSB( const char* uplo, const MKL_INT* n, const MKL_INT* kd, double* ab,
             const MKL_INT* ldab, const double* s, const double* scond,
             const double* amax, char* equed ) NOTHROW;
void DLAQSB_( const char* uplo, const MKL_INT* n, const MKL_INT* kd,
              double* ab, const MKL_INT* ldab, const double* s,
              const double* scond, const double* amax, char* equed ) NOTHROW;
void dlaqsb( const char* uplo, const MKL_INT* n, const MKL_INT* kd, double* ab,
             const MKL_INT* ldab, const double* s, const double* scond,
             const double* amax, char* equed ) NOTHROW;
void dlaqsb_( const char* uplo, const MKL_INT* n, const MKL_INT* kd,
              double* ab, const MKL_INT* ldab, const double* s,
              const double* scond, const double* amax, char* equed ) NOTHROW;

void DLAQSP( const char* uplo, const MKL_INT* n, double* ap, const double* s,
             const double* scond, const double* amax, char* equed ) NOTHROW;
void DLAQSP_( const char* uplo, const MKL_INT* n, double* ap, const double* s,
              const double* scond, const double* amax, char* equed ) NOTHROW;
void dlaqsp( const char* uplo, const MKL_INT* n, double* ap, const double* s,
             const double* scond, const double* amax, char* equed ) NOTHROW;
void dlaqsp_( const char* uplo, const MKL_INT* n, double* ap, const double* s,
              const double* scond, const double* amax, char* equed ) NOTHROW;

void DLAQSY( const char* uplo, const MKL_INT* n, double* a, const MKL_INT* lda,
             const double* s, const double* scond, const double* amax,
             char* equed ) NOTHROW;
void DLAQSY_( const char* uplo, const MKL_INT* n, double* a,
              const MKL_INT* lda, const double* s, const double* scond,
              const double* amax, char* equed ) NOTHROW;
void dlaqsy( const char* uplo, const MKL_INT* n, double* a, const MKL_INT* lda,
             const double* s, const double* scond, const double* amax,
             char* equed ) NOTHROW;
void dlaqsy_( const char* uplo, const MKL_INT* n, double* a,
              const MKL_INT* lda, const double* s, const double* scond,
              const double* amax, char* equed ) NOTHROW;

void DLAQTR( const MKL_INT* ltran, const MKL_INT* lreal, const MKL_INT* n,
             const double* t, const MKL_INT* ldt, const double* b,
             const double* w, double* scale, double* x, double* work,
             MKL_INT* info ) NOTHROW;
void DLAQTR_( const MKL_INT* ltran, const MKL_INT* lreal, const MKL_INT* n,
              const double* t, const MKL_INT* ldt, const double* b,
              const double* w, double* scale, double* x, double* work,
              MKL_INT* info ) NOTHROW;
void dlaqtr( const MKL_INT* ltran, const MKL_INT* lreal, const MKL_INT* n,
             const double* t, const MKL_INT* ldt, const double* b,
             const double* w, double* scale, double* x, double* work,
             MKL_INT* info ) NOTHROW;
void dlaqtr_( const MKL_INT* ltran, const MKL_INT* lreal, const MKL_INT* n,
              const double* t, const MKL_INT* ldt, const double* b,
              const double* w, double* scale, double* x, double* work,
              MKL_INT* info ) NOTHROW;

void DLAQZ0( const MKL_INT* wants, const MKL_INT* wantq, const MKL_INT* wantz, const MKL_INT* n,
             const MKL_INT* ilo, const MKL_INT* ihi, double* a, const MKL_INT* lda,
             double* b, const MKL_INT* ldb, double* alphar, double* alphai, double* beta,
             double* q, const MKL_INT* ldq, double* z, const MKL_INT* ldz,
             double* work, const MKL_INT* lwork, const MKL_INT* rec, MKL_INT* info) NOTHROW;
void DLAQZ0_( const MKL_INT* wants, const MKL_INT* wantq, const MKL_INT* wantz, const MKL_INT* n,
             const MKL_INT* ilo, const MKL_INT* ihi, double* a, const MKL_INT* lda,
             double* b, const MKL_INT* ldb, double* alphar, double* alphai, double* beta,
             double* q, const MKL_INT* ldq, double* z, const MKL_INT* ldz,
             double* work, const MKL_INT* lwork, const MKL_INT* rec, MKL_INT* info) NOTHROW;
void dlaqz0( const MKL_INT* wants, const MKL_INT* wantq, const MKL_INT* wantz, const MKL_INT* n,
             const MKL_INT* ilo, const MKL_INT* ihi, double* a, const MKL_INT* lda,
             double* b, const MKL_INT* ldb, double* alphar, double* alphai, double* beta,
             double* q, const MKL_INT* ldq, double* z, const MKL_INT* ldz,
             double* work, const MKL_INT* lwork, const MKL_INT* rec, MKL_INT* info) NOTHROW;
void dlaqz0_( const MKL_INT* wants, const MKL_INT* wantq, const MKL_INT* wantz, const MKL_INT* n,
             const MKL_INT* ilo, const MKL_INT* ihi, double* a, const MKL_INT* lda,
             double* b, const MKL_INT* ldb, double* alphar, double* alphai, double* beta,
             double* q, const MKL_INT* ldq, double* z, const MKL_INT* ldz,
             double* work, const MKL_INT* lwork, const MKL_INT* rec, MKL_INT* info) NOTHROW;

void DLAQZ1( double* a, const MKL_INT* lda, double* b, const MKL_INT* ldb,
             const double* sr1, const double* sr2, const double* si, const double* beta1,
             const double* beta2, double* v) NOTHROW;
void DLAQZ1_( double* a, const MKL_INT* lda, double* b, const MKL_INT* ldb,
             const double* sr1, const double* sr2, const double* si, const double* beta1,
             const double* beta2, double* v) NOTHROW;
void dlaqz1( double* a, const MKL_INT* lda, double* b, const MKL_INT* ldb,
             const double* sr1, const double* sr2, const double* si, const double* beta1,
             const double* beta2, double* v) NOTHROW;
void dlaqz1_( double* a, const MKL_INT* lda, double* b, const MKL_INT* ldb,
             const double* sr1, const double* sr2, const double* si, const double* beta1,
             const double* beta2, double* v) NOTHROW;

void DLAQZ2( const MKL_INT* ilq, const MKL_INT* ilz, const MKL_INT* k, const MKL_INT* istartm,
             const MKL_INT* istopm, const MKL_INT* ihi, double* a, const MKL_INT* lda,
             double* b, const MKL_INT* ldb, const MKL_INT* nq, const MKL_INT* qstart,
             double* q, const MKL_INT* ldq, const MKL_INT* nz,  const MKL_INT* zstart,
             double* z, const MKL_INT* ldz) NOTHROW;
void DLAQZ2_( const MKL_INT* ilq, const MKL_INT* ilz, const MKL_INT* k, const MKL_INT* istartm,
             const MKL_INT* istopm, const MKL_INT* ihi, double* a, const MKL_INT* lda,
             double* b, const MKL_INT* ldb, const MKL_INT* nq, const MKL_INT* qstart,
             double* q, const MKL_INT* ldq, const MKL_INT* nz,  const MKL_INT* zstart,
             double* z, const MKL_INT* ldz) NOTHROW;
void dlaqz2( const MKL_INT* ilq, const MKL_INT* ilz, const MKL_INT* k, const MKL_INT* istartm,
             const MKL_INT* istopm, const MKL_INT* ihi, double* a, const MKL_INT* lda,
             double* b, const MKL_INT* ldb, const MKL_INT* nq, const MKL_INT* qstart,
             double* q, const MKL_INT* ldq, const MKL_INT* nz,  const MKL_INT* zstart,
             double* z, const MKL_INT* ldz) NOTHROW;
void dlaqz2_( const MKL_INT* ilq, const MKL_INT* ilz, const MKL_INT* k, const MKL_INT* istartm,
             const MKL_INT* istopm, const MKL_INT* ihi, double* a, const MKL_INT* lda,
             double* b, const MKL_INT* ldb, const MKL_INT* nq, const MKL_INT* qstart,
             double* q, const MKL_INT* ldq, const MKL_INT* nz,  const MKL_INT* zstart,
             double* z, const MKL_INT* ldz) NOTHROW;

void DLAQZ3( const MKL_INT* ilschur, const MKL_INT* ilq, const MKL_INT* ilz,
             const MKL_INT* n, const MKL_INT* ilo, const MKL_INT* ihi, const MKL_INT* nw,
             double* a, const MKL_INT* lda, double* b, const MKL_INT* ldb,
             double* q, const MKL_INT* ldq, double* z, const MKL_INT* ldz,
             MKL_INT* ns, MKL_INT* nd, double* alphar, double* alphai, double* beta,
             double* qc, const MKL_INT* ldqc, double* zc, const MKL_INT* ldzc,
             double* work, const MKL_INT* lwork, const MKL_INT* rec,
             MKL_INT* info) NOTHROW;
void DLAQZ3_( const MKL_INT* ilschur, const MKL_INT* ilq, const MKL_INT* ilz,
             const MKL_INT* n, const MKL_INT* ilo, const MKL_INT* ihi, const MKL_INT* nw,
             double* a, const MKL_INT* lda, double* b, const MKL_INT* ldb,
             double* q, const MKL_INT* ldq, double* z, const MKL_INT* ldz,
             MKL_INT* ns, MKL_INT* nd, double* alphar, double* alphai, double* beta,
             double* qc, const MKL_INT* ldqc, double* zc, const MKL_INT* ldzc,
             double* work, const MKL_INT* lwork, const MKL_INT* rec,
             MKL_INT* info) NOTHROW;
void dlaqz3( const MKL_INT* ilschur, const MKL_INT* ilq, const MKL_INT* ilz,
             const MKL_INT* n, const MKL_INT* ilo, const MKL_INT* ihi, const MKL_INT* nw,
             double* a, const MKL_INT* lda, double* b, const MKL_INT* ldb,
             double* q, const MKL_INT* ldq, double* z, const MKL_INT* ldz,
             MKL_INT* ns, MKL_INT* nd, double* alphar, double* alphai, double* beta,
             double* qc, const MKL_INT* ldqc, double* zc, const MKL_INT* ldzc,
             double* work, const MKL_INT* lwork, const MKL_INT* rec,
             MKL_INT* info) NOTHROW;
void dlaqz3_( const MKL_INT* ilschur, const MKL_INT* ilq, const MKL_INT* ilz,
             const MKL_INT* n, const MKL_INT* ilo, const MKL_INT* ihi, const MKL_INT* nw,
             double* a, const MKL_INT* lda, double* b, const MKL_INT* ldb,
             double* q, const MKL_INT* ldq, double* z, const MKL_INT* ldz,
             MKL_INT* ns, MKL_INT* nd, double* alphar, double* alphai, double* beta,
             double* qc, const MKL_INT* ldqc, double* zc, const MKL_INT* ldzc,
             double* work, const MKL_INT* lwork, const MKL_INT* rec,
             MKL_INT* info) NOTHROW;

void DLAQZ4( const MKL_INT* ilschur, const MKL_INT* ilq, const MKL_INT* ilz,
             const MKL_INT* n, const MKL_INT* ilo, const MKL_INT* ihi,
             const MKL_INT* nshifts, const MKL_INT* nb, double* alphar,
             double* alphai, double* beta,  double* a, const MKL_INT* lda,
             double* b, const MKL_INT* ldb, double* q, const MKL_INT* ldq,
             double* z, const MKL_INT* ldz, double* qc, const MKL_INT* ldqc,
             double* zc, const MKL_INT* ldzc, double* work, const MKL_INT* lwork,
             MKL_INT* info) NOTHROW;
void DLAQZ4_( const MKL_INT* ilschur, const MKL_INT* ilq, const MKL_INT* ilz,
             const MKL_INT* n, const MKL_INT* ilo, const MKL_INT* ihi,
             const MKL_INT* nshifts, const MKL_INT* nb, double* alphar,
             double* alphai, double* beta,  double* a, const MKL_INT* lda,
             double* b, const MKL_INT* ldb, double* q, const MKL_INT* ldq,
             double* z, const MKL_INT* ldz, double* qc, const MKL_INT* ldqc,
             double* zc, const MKL_INT* ldzc, double* work, const MKL_INT* lwork,
             MKL_INT* info) NOTHROW;
void dlaqz4( const MKL_INT* ilschur, const MKL_INT* ilq, const MKL_INT* ilz,
             const MKL_INT* n, const MKL_INT* ilo, const MKL_INT* ihi,
             const MKL_INT* nshifts, const MKL_INT* nb, double* alphar,
             double* alphai, double* beta,  double* a, const MKL_INT* lda,
             double* b, const MKL_INT* ldb, double* q, const MKL_INT* ldq,
             double* z, const MKL_INT* ldz, double* qc, const MKL_INT* ldqc,
             double* zc, const MKL_INT* ldzc, double* work, const MKL_INT* lwork,
             MKL_INT* info) NOTHROW;
void dlaqz4_( const MKL_INT* ilschur, const MKL_INT* ilq, const MKL_INT* ilz,
             const MKL_INT* n, const MKL_INT* ilo, const MKL_INT* ihi,
             const MKL_INT* nshifts, const MKL_INT* nb, double* alphar,
             double* alphai, double* beta,  double* a, const MKL_INT* lda,
             double* b, const MKL_INT* ldb, double* q, const MKL_INT* ldq,
             double* z, const MKL_INT* ldz, double* qc, const MKL_INT* ldqc,
             double* zc, const MKL_INT* ldzc, double* work, const MKL_INT* lwork,
             MKL_INT* info) NOTHROW;

void DLAR1V( const MKL_INT* n, const MKL_INT* b1, const MKL_INT* bn,
             const double* lambda, const double* d, const double* l,
             const double* ld, const double* lld, const double* pivmin,
             const double* gaptol, double* z, const MKL_INT* wantnc,
             MKL_INT* negcnt, double* ztz, double* mingma, MKL_INT* r,
             MKL_INT* isuppz, double* nrminv, double* resid, double* rqcorr,
             double* work ) NOTHROW;
void DLAR1V_( const MKL_INT* n, const MKL_INT* b1, const MKL_INT* bn,
              const double* lambda, const double* d, const double* l,
              const double* ld, const double* lld, const double* pivmin,
              const double* gaptol, double* z, const MKL_INT* wantnc,
              MKL_INT* negcnt, double* ztz, double* mingma, MKL_INT* r,
              MKL_INT* isuppz, double* nrminv, double* resid, double* rqcorr,
              double* work ) NOTHROW;
void dlar1v( const MKL_INT* n, const MKL_INT* b1, const MKL_INT* bn,
             const double* lambda, const double* d, const double* l,
             const double* ld, const double* lld, const double* pivmin,
             const double* gaptol, double* z, const MKL_INT* wantnc,
             MKL_INT* negcnt, double* ztz, double* mingma, MKL_INT* r,
             MKL_INT* isuppz, double* nrminv, double* resid, double* rqcorr,
             double* work ) NOTHROW;
void dlar1v_( const MKL_INT* n, const MKL_INT* b1, const MKL_INT* bn,
              const double* lambda, const double* d, const double* l,
              const double* ld, const double* lld, const double* pivmin,
              const double* gaptol, double* z, const MKL_INT* wantnc,
              MKL_INT* negcnt, double* ztz, double* mingma, MKL_INT* r,
              MKL_INT* isuppz, double* nrminv, double* resid, double* rqcorr,
              double* work ) NOTHROW;

void DLAR2V( const MKL_INT* n, double* x, double* y, double* z,
             const MKL_INT* incx, const double* c, const double* s,
             const MKL_INT* incc ) NOTHROW;
void DLAR2V_( const MKL_INT* n, double* x, double* y, double* z,
              const MKL_INT* incx, const double* c, const double* s,
              const MKL_INT* incc ) NOTHROW;
void dlar2v( const MKL_INT* n, double* x, double* y, double* z,
             const MKL_INT* incx, const double* c, const double* s,
             const MKL_INT* incc ) NOTHROW;
void dlar2v_( const MKL_INT* n, double* x, double* y, double* z,
              const MKL_INT* incx, const double* c, const double* s,
              const MKL_INT* incc ) NOTHROW;

void DLARFB( const char* side, const char* trans, const char* direct,
             const char* storev, const MKL_INT* m, const MKL_INT* n,
             const MKL_INT* k, const double* v, const MKL_INT* ldv,
             const double* t, const MKL_INT* ldt, double* c,
             const MKL_INT* ldc, double* work, const MKL_INT* ldwork ) NOTHROW;
void DLARFB_( const char* side, const char* trans, const char* direct,
              const char* storev, const MKL_INT* m, const MKL_INT* n,
              const MKL_INT* k, const double* v, const MKL_INT* ldv,
              const double* t, const MKL_INT* ldt, double* c,
              const MKL_INT* ldc, double* work, const MKL_INT* ldwork ) NOTHROW;
void dlarfb( const char* side, const char* trans, const char* direct,
             const char* storev, const MKL_INT* m, const MKL_INT* n,
             const MKL_INT* k, const double* v, const MKL_INT* ldv,
             const double* t, const MKL_INT* ldt, double* c,
             const MKL_INT* ldc, double* work, const MKL_INT* ldwork ) NOTHROW;
void dlarfb_( const char* side, const char* trans, const char* direct,
              const char* storev, const MKL_INT* m, const MKL_INT* n,
              const MKL_INT* k, const double* v, const MKL_INT* ldv,
              const double* t, const MKL_INT* ldt, double* c,
              const MKL_INT* ldc, double* work, const MKL_INT* ldwork ) NOTHROW;

void DLARF( const char* side, const MKL_INT* m, const MKL_INT* n,
            const double* v, const MKL_INT* incv, const double* tau, double* c,
            const MKL_INT* ldc, double* work ) NOTHROW;
void DLARF_( const char* side, const MKL_INT* m, const MKL_INT* n,
             const double* v, const MKL_INT* incv, const double* tau,
             double* c, const MKL_INT* ldc, double* work ) NOTHROW;
void dlarf( const char* side, const MKL_INT* m, const MKL_INT* n,
            const double* v, const MKL_INT* incv, const double* tau, double* c,
            const MKL_INT* ldc, double* work ) NOTHROW;
void dlarf_( const char* side, const MKL_INT* m, const MKL_INT* n,
             const double* v, const MKL_INT* incv, const double* tau,
             double* c, const MKL_INT* ldc, double* work ) NOTHROW;

void DLARFG( const MKL_INT* n, double* alpha, double* x, const MKL_INT* incx,
             double* tau ) NOTHROW;
void DLARFG_( const MKL_INT* n, double* alpha, double* x, const MKL_INT* incx,
              double* tau ) NOTHROW;
void dlarfg( const MKL_INT* n, double* alpha, double* x, const MKL_INT* incx,
             double* tau ) NOTHROW;
void dlarfg_( const MKL_INT* n, double* alpha, double* x, const MKL_INT* incx,
              double* tau ) NOTHROW;

void DLARFGP( const MKL_INT* n, double* alpha, double* x, const MKL_INT* incx,
              double* tau ) NOTHROW;
void DLARFGP_( const MKL_INT* n, double* alpha, double* x, const MKL_INT* incx,
               double* tau ) NOTHROW;
void dlarfgp( const MKL_INT* n, double* alpha, double* x, const MKL_INT* incx,
              double* tau ) NOTHROW;
void dlarfgp_( const MKL_INT* n, double* alpha, double* x, const MKL_INT* incx,
               double* tau ) NOTHROW;

void DLARFP( const MKL_INT* n, double* alpha, double* x, const MKL_INT* incx,
             double* tau ) NOTHROW;
void DLARFP_( const MKL_INT* n, double* alpha, double* x, const MKL_INT* incx,
              double* tau ) NOTHROW;
void dlarfp( const MKL_INT* n, double* alpha, double* x, const MKL_INT* incx,
             double* tau ) NOTHROW;
void dlarfp_( const MKL_INT* n, double* alpha, double* x, const MKL_INT* incx,
              double* tau ) NOTHROW;

void DLARFT( const char* direct, const char* storev, const MKL_INT* n,
             const MKL_INT* k, const double* v, const MKL_INT* ldv,
             const double* tau, double* t, const MKL_INT* ldt ) NOTHROW;
void DLARFT_( const char* direct, const char* storev, const MKL_INT* n,
              const MKL_INT* k, const double* v, const MKL_INT* ldv,
              const double* tau, double* t, const MKL_INT* ldt ) NOTHROW;
void dlarft( const char* direct, const char* storev, const MKL_INT* n,
             const MKL_INT* k, const double* v, const MKL_INT* ldv,
             const double* tau, double* t, const MKL_INT* ldt ) NOTHROW;
void dlarft_( const char* direct, const char* storev, const MKL_INT* n,
              const MKL_INT* k, const double* v, const MKL_INT* ldv,
              const double* tau, double* t, const MKL_INT* ldt ) NOTHROW;

void DLARFX( const char* side, const MKL_INT* m, const MKL_INT* n,
             const double* v, const double* tau, double* c, const MKL_INT* ldc,
             double* work ) NOTHROW;
void DLARFX_( const char* side, const MKL_INT* m, const MKL_INT* n,
              const double* v, const double* tau, double* c,
              const MKL_INT* ldc, double* work ) NOTHROW;
void dlarfx( const char* side, const MKL_INT* m, const MKL_INT* n,
             const double* v, const double* tau, double* c, const MKL_INT* ldc,
             double* work ) NOTHROW;
void dlarfx_( const char* side, const MKL_INT* m, const MKL_INT* n,
              const double* v, const double* tau, double* c,
              const MKL_INT* ldc, double* work ) NOTHROW;

void DLARGV( const MKL_INT* n, double* x, const MKL_INT* incx, double* y,
             const MKL_INT* incy, double* c, const MKL_INT* incc ) NOTHROW;
void DLARGV_( const MKL_INT* n, double* x, const MKL_INT* incx, double* y,
              const MKL_INT* incy, double* c, const MKL_INT* incc ) NOTHROW;
void dlargv( const MKL_INT* n, double* x, const MKL_INT* incx, double* y,
             const MKL_INT* incy, double* c, const MKL_INT* incc ) NOTHROW;
void dlargv_( const MKL_INT* n, double* x, const MKL_INT* incx, double* y,
              const MKL_INT* incy, double* c, const MKL_INT* incc ) NOTHROW;

void DLARNV( const MKL_INT* idist, MKL_INT* iseed, const MKL_INT* n,
             double* x ) NOTHROW;
void DLARNV_( const MKL_INT* idist, MKL_INT* iseed, const MKL_INT* n,
              double* x ) NOTHROW;
void dlarnv( const MKL_INT* idist, MKL_INT* iseed, const MKL_INT* n,
             double* x ) NOTHROW;
void dlarnv_( const MKL_INT* idist, MKL_INT* iseed, const MKL_INT* n,
              double* x ) NOTHROW;

void DLARRA( const MKL_INT* n, const double* d, double* e, double* e2,
             const double* spltol, const double* tnrm, MKL_INT* nsplit,
             MKL_INT* isplit, MKL_INT* info ) NOTHROW;
void DLARRA_( const MKL_INT* n, const double* d, double* e, double* e2,
              const double* spltol, const double* tnrm, MKL_INT* nsplit,
              MKL_INT* isplit, MKL_INT* info ) NOTHROW;
void dlarra( const MKL_INT* n, const double* d, double* e, double* e2,
             const double* spltol, const double* tnrm, MKL_INT* nsplit,
             MKL_INT* isplit, MKL_INT* info ) NOTHROW;
void dlarra_( const MKL_INT* n, const double* d, double* e, double* e2,
              const double* spltol, const double* tnrm, MKL_INT* nsplit,
              MKL_INT* isplit, MKL_INT* info ) NOTHROW;

void DLARRB( const MKL_INT* n, const double* d, const double* lld,
             const MKL_INT* ifirst, const MKL_INT* ilast, const double* rtol1,
             const double* rtol2, const MKL_INT* offset, double* w,
             double* wgap, double* werr, double* work, MKL_INT* iwork,
             const double* pivmin, const double* spdiam, const MKL_INT* twist,
             MKL_INT* info ) NOTHROW;
void DLARRB_( const MKL_INT* n, const double* d, const double* lld,
              const MKL_INT* ifirst, const MKL_INT* ilast, const double* rtol1,
              const double* rtol2, const MKL_INT* offset, double* w,
              double* wgap, double* werr, double* work, MKL_INT* iwork,
              const double* pivmin, const double* spdiam, const MKL_INT* twist,
              MKL_INT* info ) NOTHROW;
void dlarrb( const MKL_INT* n, const double* d, const double* lld,
             const MKL_INT* ifirst, const MKL_INT* ilast, const double* rtol1,
             const double* rtol2, const MKL_INT* offset, double* w,
             double* wgap, double* werr, double* work, MKL_INT* iwork,
             const double* pivmin, const double* spdiam, const MKL_INT* twist,
             MKL_INT* info ) NOTHROW;
void dlarrb_( const MKL_INT* n, const double* d, const double* lld,
              const MKL_INT* ifirst, const MKL_INT* ilast, const double* rtol1,
              const double* rtol2, const MKL_INT* offset, double* w,
              double* wgap, double* werr, double* work, MKL_INT* iwork,
              const double* pivmin, const double* spdiam, const MKL_INT* twist,
              MKL_INT* info ) NOTHROW;

void DLARRC( const char* jobt, const MKL_INT* n, const double* vl,
             const double* vu, const double* d, const double* e,
             const double* pivmin, MKL_INT* eigcnt, MKL_INT* lcnt,
             MKL_INT* rcnt, MKL_INT* info ) NOTHROW;
void DLARRC_( const char* jobt, const MKL_INT* n, const double* vl,
              const double* vu, const double* d, const double* e,
              const double* pivmin, MKL_INT* eigcnt, MKL_INT* lcnt,
              MKL_INT* rcnt, MKL_INT* info ) NOTHROW;
void dlarrc( const char* jobt, const MKL_INT* n, const double* vl,
             const double* vu, const double* d, const double* e,
             const double* pivmin, MKL_INT* eigcnt, MKL_INT* lcnt,
             MKL_INT* rcnt, MKL_INT* info ) NOTHROW;
void dlarrc_( const char* jobt, const MKL_INT* n, const double* vl,
              const double* vu, const double* d, const double* e,
              const double* pivmin, MKL_INT* eigcnt, MKL_INT* lcnt,
              MKL_INT* rcnt, MKL_INT* info ) NOTHROW;

void DLARRD( const char* range, const char* order, const MKL_INT* n,
             const double* vl, const double* vu, const MKL_INT* il,
             const MKL_INT* iu, const double* gers, const double* reltol,
             const double* d, const double* e, const double* e2,
             const double* pivmin, const MKL_INT* nsplit,
             const MKL_INT* isplit, MKL_INT* m, double* w, double* werr,
             double* wl, double* wu, MKL_INT* iblock, MKL_INT* indexw,
             double* work, MKL_INT* iwork, MKL_INT* info ) NOTHROW;
void DLARRD_( const char* range, const char* order, const MKL_INT* n,
              const double* vl, const double* vu, const MKL_INT* il,
              const MKL_INT* iu, const double* gers, const double* reltol,
              const double* d, const double* e, const double* e2,
              const double* pivmin, const MKL_INT* nsplit,
              const MKL_INT* isplit, MKL_INT* m, double* w, double* werr,
              double* wl, double* wu, MKL_INT* iblock, MKL_INT* indexw,
              double* work, MKL_INT* iwork, MKL_INT* info ) NOTHROW;
void dlarrd( const char* range, const char* order, const MKL_INT* n,
             const double* vl, const double* vu, const MKL_INT* il,
             const MKL_INT* iu, const double* gers, const double* reltol,
             const double* d, const double* e, const double* e2,
             const double* pivmin, const MKL_INT* nsplit,
             const MKL_INT* isplit, MKL_INT* m, double* w, double* werr,
             double* wl, double* wu, MKL_INT* iblock, MKL_INT* indexw,
             double* work, MKL_INT* iwork, MKL_INT* info ) NOTHROW;
void dlarrd_( const char* range, const char* order, const MKL_INT* n,
              const double* vl, const double* vu, const MKL_INT* il,
              const MKL_INT* iu, const double* gers, const double* reltol,
              const double* d, const double* e, const double* e2,
              const double* pivmin, const MKL_INT* nsplit,
              const MKL_INT* isplit, MKL_INT* m, double* w, double* werr,
              double* wl, double* wu, MKL_INT* iblock, MKL_INT* indexw,
              double* work, MKL_INT* iwork, MKL_INT* info ) NOTHROW;

void DLARRE( const char* range, const MKL_INT* n, double* vl, double* vu,
             const MKL_INT* il, const MKL_INT* iu, double* d, double* e,
             double* e2, const double* rtol1, const double* rtol2,
             const double* spltol, MKL_INT* nsplit, MKL_INT* isplit,
             MKL_INT* m, double* w, double* werr, double* wgap,
             MKL_INT* iblock, MKL_INT* indexw, double* gers, double* pivmin,
             double* work, MKL_INT* iwork, MKL_INT* info ) NOTHROW;
void DLARRE_( const char* range, const MKL_INT* n, double* vl, double* vu,
              const MKL_INT* il, const MKL_INT* iu, double* d, double* e,
              double* e2, const double* rtol1, const double* rtol2,
              const double* spltol, MKL_INT* nsplit, MKL_INT* isplit,
              MKL_INT* m, double* w, double* werr, double* wgap,
              MKL_INT* iblock, MKL_INT* indexw, double* gers, double* pivmin,
              double* work, MKL_INT* iwork, MKL_INT* info ) NOTHROW;
void dlarre( const char* range, const MKL_INT* n, double* vl, double* vu,
             const MKL_INT* il, const MKL_INT* iu, double* d, double* e,
             double* e2, const double* rtol1, const double* rtol2,
             const double* spltol, MKL_INT* nsplit, MKL_INT* isplit,
             MKL_INT* m, double* w, double* werr, double* wgap,
             MKL_INT* iblock, MKL_INT* indexw, double* gers, double* pivmin,
             double* work, MKL_INT* iwork, MKL_INT* info ) NOTHROW;
void dlarre_( const char* range, const MKL_INT* n, double* vl, double* vu,
              const MKL_INT* il, const MKL_INT* iu, double* d, double* e,
              double* e2, const double* rtol1, const double* rtol2,
              const double* spltol, MKL_INT* nsplit, MKL_INT* isplit,
              MKL_INT* m, double* w, double* werr, double* wgap,
              MKL_INT* iblock, MKL_INT* indexw, double* gers, double* pivmin,
              double* work, MKL_INT* iwork, MKL_INT* info ) NOTHROW;

void DLARRF( const MKL_INT* n, const double* d, const double* l,
             const double* ld, const MKL_INT* clstrt, const MKL_INT* clend,
             const double* w, double* wgap, const double* werr,
             const double* spdiam, const double* clgapl, double* clgapr,
             const double* pivmin, double* sigma, double* dplus, double* lplus,
             double* work, MKL_INT* info ) NOTHROW;
void DLARRF_( const MKL_INT* n, const double* d, const double* l,
              const double* ld, const MKL_INT* clstrt, const MKL_INT* clend,
              const double* w, double* wgap, const double* werr,
              const double* spdiam, const double* clgapl, double* clgapr,
              const double* pivmin, double* sigma, double* dplus,
              double* lplus, double* work, MKL_INT* info ) NOTHROW;
void dlarrf( const MKL_INT* n, const double* d, const double* l,
             const double* ld, const MKL_INT* clstrt, const MKL_INT* clend,
             const double* w, double* wgap, const double* werr,
             const double* spdiam, const double* clgapl, double* clgapr,
             const double* pivmin, double* sigma, double* dplus, double* lplus,
             double* work, MKL_INT* info ) NOTHROW;
void dlarrf_( const MKL_INT* n, const double* d, const double* l,
              const double* ld, const MKL_INT* clstrt, const MKL_INT* clend,
              const double* w, double* wgap, const double* werr,
              const double* spdiam, const double* clgapl, double* clgapr,
              const double* pivmin, double* sigma, double* dplus,
              double* lplus, double* work, MKL_INT* info ) NOTHROW;

void DLARRJ( const MKL_INT* n, const double* d, const double* e2,
             const MKL_INT* ifirst, const MKL_INT* ilast, const double* rtol,
             const MKL_INT* offset, double* w, double* werr, double* work,
             MKL_INT* iwork, const double* pivmin, const double* spdiam,
             MKL_INT* info ) NOTHROW;
void DLARRJ_( const MKL_INT* n, const double* d, const double* e2,
              const MKL_INT* ifirst, const MKL_INT* ilast, const double* rtol,
              const MKL_INT* offset, double* w, double* werr, double* work,
              MKL_INT* iwork, const double* pivmin, const double* spdiam,
              MKL_INT* info ) NOTHROW;
void dlarrj( const MKL_INT* n, const double* d, const double* e2,
             const MKL_INT* ifirst, const MKL_INT* ilast, const double* rtol,
             const MKL_INT* offset, double* w, double* werr, double* work,
             MKL_INT* iwork, const double* pivmin, const double* spdiam,
             MKL_INT* info ) NOTHROW;
void dlarrj_( const MKL_INT* n, const double* d, const double* e2,
              const MKL_INT* ifirst, const MKL_INT* ilast, const double* rtol,
              const MKL_INT* offset, double* w, double* werr, double* work,
              MKL_INT* iwork, const double* pivmin, const double* spdiam,
              MKL_INT* info ) NOTHROW;

void DLARRK( const MKL_INT* n, const MKL_INT* iw, const double* gl,
             const double* gu, const double* d, const double* e2,
             const double* pivmin, const double* reltol, double* w,
             double* werr, MKL_INT* info ) NOTHROW;
void DLARRK_( const MKL_INT* n, const MKL_INT* iw, const double* gl,
              const double* gu, const double* d, const double* e2,
              const double* pivmin, const double* reltol, double* w,
              double* werr, MKL_INT* info ) NOTHROW;
void dlarrk( const MKL_INT* n, const MKL_INT* iw, const double* gl,
             const double* gu, const double* d, const double* e2,
             const double* pivmin, const double* reltol, double* w,
             double* werr, MKL_INT* info ) NOTHROW;
void dlarrk_( const MKL_INT* n, const MKL_INT* iw, const double* gl,
              const double* gu, const double* d, const double* e2,
              const double* pivmin, const double* reltol, double* w,
              double* werr, MKL_INT* info ) NOTHROW;

void DLARRR( const MKL_INT* n, const double* d, double* e, MKL_INT* info ) NOTHROW;
void DLARRR_( const MKL_INT* n, const double* d, double* e, MKL_INT* info ) NOTHROW;
void dlarrr( const MKL_INT* n, const double* d, double* e, MKL_INT* info ) NOTHROW;
void dlarrr_( const MKL_INT* n, const double* d, double* e, MKL_INT* info ) NOTHROW;

void DLARRV( const MKL_INT* n, const double* vl, const double* vu, double* d,
             double* l, double* pivmin, const MKL_INT* isplit,
             const MKL_INT* m, const MKL_INT* dol, const MKL_INT* dou,
             const double* minrgp, const double* rtol1, const double* rtol2,
             double* w, double* werr, double* wgap, const MKL_INT* iblock,
             const MKL_INT* indexw, const double* gers, double* z,
             const MKL_INT* ldz, MKL_INT* isuppz, double* work, MKL_INT* iwork,
             MKL_INT* info ) NOTHROW;
void DLARRV_( const MKL_INT* n, const double* vl, const double* vu, double* d,
              double* l, double* pivmin, const MKL_INT* isplit,
              const MKL_INT* m, const MKL_INT* dol, const MKL_INT* dou,
              const double* minrgp, const double* rtol1, const double* rtol2,
              double* w, double* werr, double* wgap, const MKL_INT* iblock,
              const MKL_INT* indexw, const double* gers, double* z,
              const MKL_INT* ldz, MKL_INT* isuppz, double* work,
              MKL_INT* iwork, MKL_INT* info ) NOTHROW;
void dlarrv( const MKL_INT* n, const double* vl, const double* vu, double* d,
             double* l, double* pivmin, const MKL_INT* isplit,
             const MKL_INT* m, const MKL_INT* dol, const MKL_INT* dou,
             const double* minrgp, const double* rtol1, const double* rtol2,
             double* w, double* werr, double* wgap, const MKL_INT* iblock,
             const MKL_INT* indexw, const double* gers, double* z,
             const MKL_INT* ldz, MKL_INT* isuppz, double* work, MKL_INT* iwork,
             MKL_INT* info ) NOTHROW;
void dlarrv_( const MKL_INT* n, const double* vl, const double* vu, double* d,
              double* l, double* pivmin, const MKL_INT* isplit,
              const MKL_INT* m, const MKL_INT* dol, const MKL_INT* dou,
              const double* minrgp, const double* rtol1, const double* rtol2,
              double* w, double* werr, double* wgap, const MKL_INT* iblock,
              const MKL_INT* indexw, const double* gers, double* z,
              const MKL_INT* ldz, MKL_INT* isuppz, double* work,
              MKL_INT* iwork, MKL_INT* info ) NOTHROW;

void DLARSCL2( const MKL_INT* m, const MKL_INT* n, const double* d, double* x,
               const MKL_INT* ldx ) NOTHROW;
void DLARSCL2_( const MKL_INT* m, const MKL_INT* n, const double* d, double* x,
                const MKL_INT* ldx ) NOTHROW;
void dlarscl2( const MKL_INT* m, const MKL_INT* n, const double* d, double* x,
               const MKL_INT* ldx ) NOTHROW;
void dlarscl2_( const MKL_INT* m, const MKL_INT* n, const double* d, double* x,
                const MKL_INT* ldx ) NOTHROW;

void DLARTG( const double* f, const double* g, double* cs, double* sn,
             double* r ) NOTHROW;
void DLARTG_( const double* f, const double* g, double* cs, double* sn,
              double* r ) NOTHROW;
void dlartg( const double* f, const double* g, double* cs, double* sn,
             double* r ) NOTHROW;
void dlartg_( const double* f, const double* g, double* cs, double* sn,
              double* r ) NOTHROW;

void DLARTV( const MKL_INT* n, double* x, const MKL_INT* incx, double* y,
             const MKL_INT* incy, const double* c, const double* s,
             const MKL_INT* incc ) NOTHROW;
void DLARTV_( const MKL_INT* n, double* x, const MKL_INT* incx, double* y,
              const MKL_INT* incy, const double* c, const double* s,
              const MKL_INT* incc ) NOTHROW;
void dlartv( const MKL_INT* n, double* x, const MKL_INT* incx, double* y,
             const MKL_INT* incy, const double* c, const double* s,
             const MKL_INT* incc ) NOTHROW;
void dlartv_( const MKL_INT* n, double* x, const MKL_INT* incx, double* y,
              const MKL_INT* incy, const double* c, const double* s,
              const MKL_INT* incc ) NOTHROW;

void DLARUV( MKL_INT* iseed, const MKL_INT* n, double* x ) NOTHROW;
void DLARUV_( MKL_INT* iseed, const MKL_INT* n, double* x ) NOTHROW;
void dlaruv( MKL_INT* iseed, const MKL_INT* n, double* x ) NOTHROW;
void dlaruv_( MKL_INT* iseed, const MKL_INT* n, double* x ) NOTHROW;

void DLARZB( const char* side, const char* trans, const char* direct,
             const char* storev, const MKL_INT* m, const MKL_INT* n,
             const MKL_INT* k, const MKL_INT* l, const double* v,
             const MKL_INT* ldv, const double* t, const MKL_INT* ldt,
             double* c, const MKL_INT* ldc, double* work,
             const MKL_INT* ldwork ) NOTHROW;
void DLARZB_( const char* side, const char* trans, const char* direct,
              const char* storev, const MKL_INT* m, const MKL_INT* n,
              const MKL_INT* k, const MKL_INT* l, const double* v,
              const MKL_INT* ldv, const double* t, const MKL_INT* ldt,
              double* c, const MKL_INT* ldc, double* work,
              const MKL_INT* ldwork ) NOTHROW;
void dlarzb( const char* side, const char* trans, const char* direct,
             const char* storev, const MKL_INT* m, const MKL_INT* n,
             const MKL_INT* k, const MKL_INT* l, const double* v,
             const MKL_INT* ldv, const double* t, const MKL_INT* ldt,
             double* c, const MKL_INT* ldc, double* work,
             const MKL_INT* ldwork ) NOTHROW;
void dlarzb_( const char* side, const char* trans, const char* direct,
              const char* storev, const MKL_INT* m, const MKL_INT* n,
              const MKL_INT* k, const MKL_INT* l, const double* v,
              const MKL_INT* ldv, const double* t, const MKL_INT* ldt,
              double* c, const MKL_INT* ldc, double* work,
              const MKL_INT* ldwork ) NOTHROW;

void DLARZ( const char* side, const MKL_INT* m, const MKL_INT* n,
            const MKL_INT* l, const double* v, const MKL_INT* incv,
            const double* tau, double* c, const MKL_INT* ldc, double* work ) NOTHROW;
void DLARZ_( const char* side, const MKL_INT* m, const MKL_INT* n,
             const MKL_INT* l, const double* v, const MKL_INT* incv,
             const double* tau, double* c, const MKL_INT* ldc, double* work ) NOTHROW;
void dlarz( const char* side, const MKL_INT* m, const MKL_INT* n,
            const MKL_INT* l, const double* v, const MKL_INT* incv,
            const double* tau, double* c, const MKL_INT* ldc, double* work ) NOTHROW;
void dlarz_( const char* side, const MKL_INT* m, const MKL_INT* n,
             const MKL_INT* l, const double* v, const MKL_INT* incv,
             const double* tau, double* c, const MKL_INT* ldc, double* work ) NOTHROW;

void DLARZT( const char* direct, const char* storev, const MKL_INT* n,
             const MKL_INT* k, double* v, const MKL_INT* ldv,
             const double* tau, double* t, const MKL_INT* ldt ) NOTHROW;
void DLARZT_( const char* direct, const char* storev, const MKL_INT* n,
              const MKL_INT* k, double* v, const MKL_INT* ldv,
              const double* tau, double* t, const MKL_INT* ldt ) NOTHROW;
void dlarzt( const char* direct, const char* storev, const MKL_INT* n,
             const MKL_INT* k, double* v, const MKL_INT* ldv,
             const double* tau, double* t, const MKL_INT* ldt ) NOTHROW;
void dlarzt_( const char* direct, const char* storev, const MKL_INT* n,
              const MKL_INT* k, double* v, const MKL_INT* ldv,
              const double* tau, double* t, const MKL_INT* ldt ) NOTHROW;

void DLAS2( const double* f, const double* g, const double* h, double* ssmin,
            double* ssmax ) NOTHROW;
void DLAS2_( const double* f, const double* g, const double* h, double* ssmin,
             double* ssmax ) NOTHROW;
void dlas2( const double* f, const double* g, const double* h, double* ssmin,
            double* ssmax ) NOTHROW;
void dlas2_( const double* f, const double* g, const double* h, double* ssmin,
             double* ssmax ) NOTHROW;

void DLASCL( const char* type, const MKL_INT* kl, const MKL_INT* ku,
             const double* cfrom, const double* cto, const MKL_INT* m,
             const MKL_INT* n, double* a, const MKL_INT* lda, MKL_INT* info ) NOTHROW;
void DLASCL_( const char* type, const MKL_INT* kl, const MKL_INT* ku,
              const double* cfrom, const double* cto, const MKL_INT* m,
              const MKL_INT* n, double* a, const MKL_INT* lda, MKL_INT* info ) NOTHROW;
void dlascl( const char* type, const MKL_INT* kl, const MKL_INT* ku,
             const double* cfrom, const double* cto, const MKL_INT* m,
             const MKL_INT* n, double* a, const MKL_INT* lda, MKL_INT* info ) NOTHROW;
void dlascl_( const char* type, const MKL_INT* kl, const MKL_INT* ku,
              const double* cfrom, const double* cto, const MKL_INT* m,
              const MKL_INT* n, double* a, const MKL_INT* lda, MKL_INT* info ) NOTHROW;

void DLASCL2( const MKL_INT* m, const MKL_INT* n, const double* d, double* x,
              const MKL_INT* ldx ) NOTHROW;
void DLASCL2_( const MKL_INT* m, const MKL_INT* n, const double* d, double* x,
               const MKL_INT* ldx ) NOTHROW;
void dlascl2( const MKL_INT* m, const MKL_INT* n, const double* d, double* x,
              const MKL_INT* ldx ) NOTHROW;
void dlascl2_( const MKL_INT* m, const MKL_INT* n, const double* d, double* x,
               const MKL_INT* ldx ) NOTHROW;

void DLASD0( const MKL_INT* n, const MKL_INT* sqre, double* d, const double* e,
             double* u, const MKL_INT* ldu, double* vt, const MKL_INT* ldvt,
             const MKL_INT* smlsiz, MKL_INT* iwork, double* work,
             MKL_INT* info ) NOTHROW;
void DLASD0_( const MKL_INT* n, const MKL_INT* sqre, double* d,
              const double* e, double* u, const MKL_INT* ldu, double* vt,
              const MKL_INT* ldvt, const MKL_INT* smlsiz, MKL_INT* iwork,
              double* work, MKL_INT* info ) NOTHROW;
void dlasd0( const MKL_INT* n, const MKL_INT* sqre, double* d, const double* e,
             double* u, const MKL_INT* ldu, double* vt, const MKL_INT* ldvt,
             const MKL_INT* smlsiz, MKL_INT* iwork, double* work,
             MKL_INT* info ) NOTHROW;
void dlasd0_( const MKL_INT* n, const MKL_INT* sqre, double* d,
              const double* e, double* u, const MKL_INT* ldu, double* vt,
              const MKL_INT* ldvt, const MKL_INT* smlsiz, MKL_INT* iwork,
              double* work, MKL_INT* info ) NOTHROW;

void DLASD1( const MKL_INT* nl, const MKL_INT* nr, const MKL_INT* sqre,
             double* d, double* alpha, double* beta, double* u,
             const MKL_INT* ldu, double* vt, const MKL_INT* ldvt,
             MKL_INT* idxq, MKL_INT* iwork, double* work, MKL_INT* info ) NOTHROW;
void DLASD1_( const MKL_INT* nl, const MKL_INT* nr, const MKL_INT* sqre,
              double* d, double* alpha, double* beta, double* u,
              const MKL_INT* ldu, double* vt, const MKL_INT* ldvt,
              MKL_INT* idxq, MKL_INT* iwork, double* work, MKL_INT* info ) NOTHROW;
void dlasd1( const MKL_INT* nl, const MKL_INT* nr, const MKL_INT* sqre,
             double* d, double* alpha, double* beta, double* u,
             const MKL_INT* ldu, double* vt, const MKL_INT* ldvt,
             MKL_INT* idxq, MKL_INT* iwork, double* work, MKL_INT* info ) NOTHROW;
void dlasd1_( const MKL_INT* nl, const MKL_INT* nr, const MKL_INT* sqre,
              double* d, double* alpha, double* beta, double* u,
              const MKL_INT* ldu, double* vt, const MKL_INT* ldvt,
              MKL_INT* idxq, MKL_INT* iwork, double* work, MKL_INT* info ) NOTHROW;

void DLASD2( const MKL_INT* nl, const MKL_INT* nr, const MKL_INT* sqre,
             MKL_INT* k, double* d, double* z, const double* alpha,
             const double* beta, double* u, const MKL_INT* ldu, double* vt,
             const MKL_INT* ldvt, double* dsigma, double* u2,
             const MKL_INT* ldu2, double* vt2, const MKL_INT* ldvt2,
             MKL_INT* idxp, MKL_INT* idx, MKL_INT* idxc, MKL_INT* idxq,
             MKL_INT* coltyp, MKL_INT* info ) NOTHROW;
void DLASD2_( const MKL_INT* nl, const MKL_INT* nr, const MKL_INT* sqre,
              MKL_INT* k, double* d, double* z, const double* alpha,
              const double* beta, double* u, const MKL_INT* ldu, double* vt,
              const MKL_INT* ldvt, double* dsigma, double* u2,
              const MKL_INT* ldu2, double* vt2, const MKL_INT* ldvt2,
              MKL_INT* idxp, MKL_INT* idx, MKL_INT* idxc, MKL_INT* idxq,
              MKL_INT* coltyp, MKL_INT* info ) NOTHROW;
void dlasd2( const MKL_INT* nl, const MKL_INT* nr, const MKL_INT* sqre,
             MKL_INT* k, double* d, double* z, const double* alpha,
             const double* beta, double* u, const MKL_INT* ldu, double* vt,
             const MKL_INT* ldvt, double* dsigma, double* u2,
             const MKL_INT* ldu2, double* vt2, const MKL_INT* ldvt2,
             MKL_INT* idxp, MKL_INT* idx, MKL_INT* idxc, MKL_INT* idxq,
             MKL_INT* coltyp, MKL_INT* info ) NOTHROW;
void dlasd2_( const MKL_INT* nl, const MKL_INT* nr, const MKL_INT* sqre,
              MKL_INT* k, double* d, double* z, const double* alpha,
              const double* beta, double* u, const MKL_INT* ldu, double* vt,
              const MKL_INT* ldvt, double* dsigma, double* u2,
              const MKL_INT* ldu2, double* vt2, const MKL_INT* ldvt2,
              MKL_INT* idxp, MKL_INT* idx, MKL_INT* idxc, MKL_INT* idxq,
              MKL_INT* coltyp, MKL_INT* info ) NOTHROW;

void DLASD3( const MKL_INT* nl, const MKL_INT* nr, const MKL_INT* sqre,
             const MKL_INT* k, double* d, double* q, const MKL_INT* ldq,
             const double* dsigma, double* u, const MKL_INT* ldu, double* u2,
             const MKL_INT* ldu2, double* vt, const MKL_INT* ldvt, double* vt2,
             const MKL_INT* ldvt2, const MKL_INT* idxc, const MKL_INT* ctot,
             const double* z, MKL_INT* info ) NOTHROW;
void DLASD3_( const MKL_INT* nl, const MKL_INT* nr, const MKL_INT* sqre,
              const MKL_INT* k, double* d, double* q, const MKL_INT* ldq,
              const double* dsigma, double* u, const MKL_INT* ldu, double* u2,
              const MKL_INT* ldu2, double* vt, const MKL_INT* ldvt,
              double* vt2, const MKL_INT* ldvt2, const MKL_INT* idxc,
              const MKL_INT* ctot, const double* z, MKL_INT* info ) NOTHROW;
void dlasd3( const MKL_INT* nl, const MKL_INT* nr, const MKL_INT* sqre,
             const MKL_INT* k, double* d, double* q, const MKL_INT* ldq,
             const double* dsigma, double* u, const MKL_INT* ldu, double* u2,
             const MKL_INT* ldu2, double* vt, const MKL_INT* ldvt, double* vt2,
             const MKL_INT* ldvt2, const MKL_INT* idxc, const MKL_INT* ctot,
             const double* z, MKL_INT* info ) NOTHROW;
void dlasd3_( const MKL_INT* nl, const MKL_INT* nr, const MKL_INT* sqre,
              const MKL_INT* k, double* d, double* q, const MKL_INT* ldq,
              const double* dsigma, double* u, const MKL_INT* ldu, double* u2,
              const MKL_INT* ldu2, double* vt, const MKL_INT* ldvt,
              double* vt2, const MKL_INT* ldvt2, const MKL_INT* idxc,
              const MKL_INT* ctot, const double* z, MKL_INT* info ) NOTHROW;

void DLASD4( const MKL_INT* n, const MKL_INT* i, const double* d,
             const double* z, double* delta, const double* rho, double* sigma,
             double* work, MKL_INT* info ) NOTHROW;
void DLASD4_( const MKL_INT* n, const MKL_INT* i, const double* d,
              const double* z, double* delta, const double* rho, double* sigma,
              double* work, MKL_INT* info ) NOTHROW;
void dlasd4( const MKL_INT* n, const MKL_INT* i, const double* d,
             const double* z, double* delta, const double* rho, double* sigma,
             double* work, MKL_INT* info ) NOTHROW;
void dlasd4_( const MKL_INT* n, const MKL_INT* i, const double* d,
              const double* z, double* delta, const double* rho, double* sigma,
              double* work, MKL_INT* info ) NOTHROW;

void DLASD5( const MKL_INT* i, const double* d, const double* z, double* delta,
             const double* rho, double* dsigma, double* work ) NOTHROW;
void DLASD5_( const MKL_INT* i, const double* d, const double* z,
              double* delta, const double* rho, double* dsigma, double* work ) NOTHROW;
void dlasd5( const MKL_INT* i, const double* d, const double* z, double* delta,
             const double* rho, double* dsigma, double* work ) NOTHROW;
void dlasd5_( const MKL_INT* i, const double* d, const double* z,
              double* delta, const double* rho, double* dsigma, double* work ) NOTHROW;

void DLASD6( const MKL_INT* icompq, const MKL_INT* nl, const MKL_INT* nr,
             const MKL_INT* sqre, double* d, double* vf, double* vl,
             double* alpha, double* beta, MKL_INT* idxq, MKL_INT* perm,
             MKL_INT* givptr, MKL_INT* givcol, const MKL_INT* ldgcol,
             double* givnum, const MKL_INT* ldgnum, double* poles,
             double* difl, double* difr, double* z, MKL_INT* k, double* c,
             double* s, double* work, MKL_INT* iwork, MKL_INT* info ) NOTHROW;
void DLASD6_( const MKL_INT* icompq, const MKL_INT* nl, const MKL_INT* nr,
              const MKL_INT* sqre, double* d, double* vf, double* vl,
              double* alpha, double* beta, MKL_INT* idxq, MKL_INT* perm,
              MKL_INT* givptr, MKL_INT* givcol, const MKL_INT* ldgcol,
              double* givnum, const MKL_INT* ldgnum, double* poles,
              double* difl, double* difr, double* z, MKL_INT* k, double* c,
              double* s, double* work, MKL_INT* iwork, MKL_INT* info ) NOTHROW;
void dlasd6( const MKL_INT* icompq, const MKL_INT* nl, const MKL_INT* nr,
             const MKL_INT* sqre, double* d, double* vf, double* vl,
             double* alpha, double* beta, MKL_INT* idxq, MKL_INT* perm,
             MKL_INT* givptr, MKL_INT* givcol, const MKL_INT* ldgcol,
             double* givnum, const MKL_INT* ldgnum, double* poles,
             double* difl, double* difr, double* z, MKL_INT* k, double* c,
             double* s, double* work, MKL_INT* iwork, MKL_INT* info ) NOTHROW;
void dlasd6_( const MKL_INT* icompq, const MKL_INT* nl, const MKL_INT* nr,
              const MKL_INT* sqre, double* d, double* vf, double* vl,
              double* alpha, double* beta, MKL_INT* idxq, MKL_INT* perm,
              MKL_INT* givptr, MKL_INT* givcol, const MKL_INT* ldgcol,
              double* givnum, const MKL_INT* ldgnum, double* poles,
              double* difl, double* difr, double* z, MKL_INT* k, double* c,
              double* s, double* work, MKL_INT* iwork, MKL_INT* info ) NOTHROW;

void DLASD7( const MKL_INT* icompq, const MKL_INT* nl, const MKL_INT* nr,
             const MKL_INT* sqre, MKL_INT* k, double* d, double* z, double* zw,
             double* vf, double* vfw, double* vl, double* vlw,
             const double* alpha, const double* beta, double* dsigma,
             MKL_INT* idx, MKL_INT* idxp, const MKL_INT* idxq, MKL_INT* perm,
             MKL_INT* givptr, MKL_INT* givcol, const MKL_INT* ldgcol,
             double* givnum, const MKL_INT* ldgnum, double* c, double* s,
             MKL_INT* info ) NOTHROW;
void DLASD7_( const MKL_INT* icompq, const MKL_INT* nl, const MKL_INT* nr,
              const MKL_INT* sqre, MKL_INT* k, double* d, double* z,
              double* zw, double* vf, double* vfw, double* vl, double* vlw,
              const double* alpha, const double* beta, double* dsigma,
              MKL_INT* idx, MKL_INT* idxp, const MKL_INT* idxq, MKL_INT* perm,
              MKL_INT* givptr, MKL_INT* givcol, const MKL_INT* ldgcol,
              double* givnum, const MKL_INT* ldgnum, double* c, double* s,
              MKL_INT* info ) NOTHROW;
void dlasd7( const MKL_INT* icompq, const MKL_INT* nl, const MKL_INT* nr,
             const MKL_INT* sqre, MKL_INT* k, double* d, double* z, double* zw,
             double* vf, double* vfw, double* vl, double* vlw,
             const double* alpha, const double* beta, double* dsigma,
             MKL_INT* idx, MKL_INT* idxp, const MKL_INT* idxq, MKL_INT* perm,
             MKL_INT* givptr, MKL_INT* givcol, const MKL_INT* ldgcol,
             double* givnum, const MKL_INT* ldgnum, double* c, double* s,
             MKL_INT* info ) NOTHROW;
void dlasd7_( const MKL_INT* icompq, const MKL_INT* nl, const MKL_INT* nr,
              const MKL_INT* sqre, MKL_INT* k, double* d, double* z,
              double* zw, double* vf, double* vfw, double* vl, double* vlw,
              const double* alpha, const double* beta, double* dsigma,
              MKL_INT* idx, MKL_INT* idxp, const MKL_INT* idxq, MKL_INT* perm,
              MKL_INT* givptr, MKL_INT* givcol, const MKL_INT* ldgcol,
              double* givnum, const MKL_INT* ldgnum, double* c, double* s,
              MKL_INT* info ) NOTHROW;

void DLASD8( const MKL_INT* icompq, const MKL_INT* k, double* d, double* z,
             double* vf, double* vl, double* difl, double* difr,
             const MKL_INT* lddifr, double* dsigma, double* work,
             MKL_INT* info ) NOTHROW;
void DLASD8_( const MKL_INT* icompq, const MKL_INT* k, double* d, double* z,
              double* vf, double* vl, double* difl, double* difr,
              const MKL_INT* lddifr, double* dsigma, double* work,
              MKL_INT* info ) NOTHROW;
void dlasd8( const MKL_INT* icompq, const MKL_INT* k, double* d, double* z,
             double* vf, double* vl, double* difl, double* difr,
             const MKL_INT* lddifr, double* dsigma, double* work,
             MKL_INT* info ) NOTHROW;
void dlasd8_( const MKL_INT* icompq, const MKL_INT* k, double* d, double* z,
              double* vf, double* vl, double* difl, double* difr,
              const MKL_INT* lddifr, double* dsigma, double* work,
              MKL_INT* info ) NOTHROW;

void DLASDA( const MKL_INT* icompq, const MKL_INT* smlsiz, const MKL_INT* n,
             const MKL_INT* sqre, double* d, const double* e, double* u,
             const MKL_INT* ldu, double* vt, MKL_INT* k, double* difl,
             double* difr, double* z, double* poles, MKL_INT* givptr,
             MKL_INT* givcol, const MKL_INT* ldgcol, MKL_INT* perm,
             double* givnum, double* c, double* s, double* work,
             MKL_INT* iwork, MKL_INT* info ) NOTHROW;
void DLASDA_( const MKL_INT* icompq, const MKL_INT* smlsiz, const MKL_INT* n,
              const MKL_INT* sqre, double* d, const double* e, double* u,
              const MKL_INT* ldu, double* vt, MKL_INT* k, double* difl,
              double* difr, double* z, double* poles, MKL_INT* givptr,
              MKL_INT* givcol, const MKL_INT* ldgcol, MKL_INT* perm,
              double* givnum, double* c, double* s, double* work,
              MKL_INT* iwork, MKL_INT* info ) NOTHROW;
void dlasda( const MKL_INT* icompq, const MKL_INT* smlsiz, const MKL_INT* n,
             const MKL_INT* sqre, double* d, const double* e, double* u,
             const MKL_INT* ldu, double* vt, MKL_INT* k, double* difl,
             double* difr, double* z, double* poles, MKL_INT* givptr,
             MKL_INT* givcol, const MKL_INT* ldgcol, MKL_INT* perm,
             double* givnum, double* c, double* s, double* work,
             MKL_INT* iwork, MKL_INT* info ) NOTHROW;
void dlasda_( const MKL_INT* icompq, const MKL_INT* smlsiz, const MKL_INT* n,
              const MKL_INT* sqre, double* d, const double* e, double* u,
              const MKL_INT* ldu, double* vt, MKL_INT* k, double* difl,
              double* difr, double* z, double* poles, MKL_INT* givptr,
              MKL_INT* givcol, const MKL_INT* ldgcol, MKL_INT* perm,
              double* givnum, double* c, double* s, double* work,
              MKL_INT* iwork, MKL_INT* info ) NOTHROW;

void DLASDQ( const char* uplo, const MKL_INT* sqre, const MKL_INT* n,
             const MKL_INT* ncvt, const MKL_INT* nru, const MKL_INT* ncc,
             double* d, double* e, double* vt, const MKL_INT* ldvt, double* u,
             const MKL_INT* ldu, double* c, const MKL_INT* ldc, double* work,
             MKL_INT* info ) NOTHROW;
void DLASDQ_( const char* uplo, const MKL_INT* sqre, const MKL_INT* n,
              const MKL_INT* ncvt, const MKL_INT* nru, const MKL_INT* ncc,
              double* d, double* e, double* vt, const MKL_INT* ldvt, double* u,
              const MKL_INT* ldu, double* c, const MKL_INT* ldc, double* work,
              MKL_INT* info ) NOTHROW;
void dlasdq( const char* uplo, const MKL_INT* sqre, const MKL_INT* n,
             const MKL_INT* ncvt, const MKL_INT* nru, const MKL_INT* ncc,
             double* d, double* e, double* vt, const MKL_INT* ldvt, double* u,
             const MKL_INT* ldu, double* c, const MKL_INT* ldc, double* work,
             MKL_INT* info ) NOTHROW;
void dlasdq_( const char* uplo, const MKL_INT* sqre, const MKL_INT* n,
              const MKL_INT* ncvt, const MKL_INT* nru, const MKL_INT* ncc,
              double* d, double* e, double* vt, const MKL_INT* ldvt, double* u,
              const MKL_INT* ldu, double* c, const MKL_INT* ldc, double* work,
              MKL_INT* info ) NOTHROW;

void DLASDT( const MKL_INT* n, MKL_INT* lvl, MKL_INT* nd, MKL_INT* inode,
             MKL_INT* ndiml, MKL_INT* ndimr, const MKL_INT* msub ) NOTHROW;
void DLASDT_( const MKL_INT* n, MKL_INT* lvl, MKL_INT* nd, MKL_INT* inode,
              MKL_INT* ndiml, MKL_INT* ndimr, const MKL_INT* msub ) NOTHROW;
void dlasdt( const MKL_INT* n, MKL_INT* lvl, MKL_INT* nd, MKL_INT* inode,
             MKL_INT* ndiml, MKL_INT* ndimr, const MKL_INT* msub ) NOTHROW;
void dlasdt_( const MKL_INT* n, MKL_INT* lvl, MKL_INT* nd, MKL_INT* inode,
              MKL_INT* ndiml, MKL_INT* ndimr, const MKL_INT* msub ) NOTHROW;

void DLASET( const char* uplo, const MKL_INT* m, const MKL_INT* n,
             const double* alpha, const double* beta, double* a,
             const MKL_INT* lda ) NOTHROW;
void DLASET_( const char* uplo, const MKL_INT* m, const MKL_INT* n,
              const double* alpha, const double* beta, double* a,
              const MKL_INT* lda ) NOTHROW;
void dlaset( const char* uplo, const MKL_INT* m, const MKL_INT* n,
             const double* alpha, const double* beta, double* a,
             const MKL_INT* lda ) NOTHROW;
void dlaset_( const char* uplo, const MKL_INT* m, const MKL_INT* n,
              const double* alpha, const double* beta, double* a,
              const MKL_INT* lda ) NOTHROW;

void DLASQ1( const MKL_INT* n, double* d, double* e, double* work,
             MKL_INT* info ) NOTHROW;
void DLASQ1_( const MKL_INT* n, double* d, double* e, double* work,
              MKL_INT* info ) NOTHROW;
void dlasq1( const MKL_INT* n, double* d, double* e, double* work,
             MKL_INT* info ) NOTHROW;
void dlasq1_( const MKL_INT* n, double* d, double* e, double* work,
              MKL_INT* info ) NOTHROW;

void DLASQ2( const MKL_INT* n, double* z, MKL_INT* info ) NOTHROW;
void DLASQ2_( const MKL_INT* n, double* z, MKL_INT* info ) NOTHROW;
void dlasq2( const MKL_INT* n, double* z, MKL_INT* info ) NOTHROW;
void dlasq2_( const MKL_INT* n, double* z, MKL_INT* info ) NOTHROW;

void DLASQ3( const MKL_INT* i0, const MKL_INT* n0, const double* z,
             MKL_INT* pp, double* dmin, double* sigma, double* desig,
             const double* qmax, MKL_INT* nfail, MKL_INT* iter, MKL_INT* ndiv,
             const MKL_INT* ieee, MKL_INT* ttype, double* dmin1, double* dmin2,
             double* dn, double* dn1, double* dn2, double* g, double* tau ) NOTHROW;
void DLASQ3_( const MKL_INT* i0, const MKL_INT* n0, const double* z,
              MKL_INT* pp, double* dmin, double* sigma, double* desig,
              const double* qmax, MKL_INT* nfail, MKL_INT* iter, MKL_INT* ndiv,
              const MKL_INT* ieee, MKL_INT* ttype, double* dmin1,
              double* dmin2, double* dn, double* dn1, double* dn2, double* g,
              double* tau ) NOTHROW;
void dlasq3( const MKL_INT* i0, const MKL_INT* n0, const double* z,
             MKL_INT* pp, double* dmin, double* sigma, double* desig,
             const double* qmax, MKL_INT* nfail, MKL_INT* iter, MKL_INT* ndiv,
             const MKL_INT* ieee, MKL_INT* ttype, double* dmin1, double* dmin2,
             double* dn, double* dn1, double* dn2, double* g, double* tau ) NOTHROW;
void dlasq3_( const MKL_INT* i0, const MKL_INT* n0, const double* z,
              MKL_INT* pp, double* dmin, double* sigma, double* desig,
              const double* qmax, MKL_INT* nfail, MKL_INT* iter, MKL_INT* ndiv,
              const MKL_INT* ieee, MKL_INT* ttype, double* dmin1,
              double* dmin2, double* dn, double* dn1, double* dn2, double* g,
              double* tau ) NOTHROW;

void DLASQ4( const MKL_INT* i0, const MKL_INT* n0, const double* z,
             const MKL_INT* pp, MKL_INT* n0in, const double* dmin,
             const double* dmin1, const double* dmin2, const double* dn,
             const double* dn1, const double* dn2, double* tau, MKL_INT* ttype,
             double* g ) NOTHROW;
void DLASQ4_( const MKL_INT* i0, const MKL_INT* n0, const double* z,
              const MKL_INT* pp, MKL_INT* n0in, const double* dmin,
              const double* dmin1, const double* dmin2, const double* dn,
              const double* dn1, const double* dn2, double* tau,
              MKL_INT* ttype, double* g ) NOTHROW;
void dlasq4( const MKL_INT* i0, const MKL_INT* n0, const double* z,
             const MKL_INT* pp, MKL_INT* n0in, const double* dmin,
             const double* dmin1, const double* dmin2, const double* dn,
             const double* dn1, const double* dn2, double* tau, MKL_INT* ttype,
             double* g ) NOTHROW;
void dlasq4_( const MKL_INT* i0, const MKL_INT* n0, const double* z,
              const MKL_INT* pp, MKL_INT* n0in, const double* dmin,
              const double* dmin1, const double* dmin2, const double* dn,
              const double* dn1, const double* dn2, double* tau,
              MKL_INT* ttype, double* g ) NOTHROW;

void DLASQ5( const MKL_INT* i0, const MKL_INT* n0, const double* z,
             const MKL_INT* pp, const double* tau, const double* sigma,
             double* dmin, double* dmin1, double* dmin2, double* dn,
             double* dnm1, double* dnm2, const MKL_INT* ieee,
             const double* eps) NOTHROW;
void DLASQ5_( const MKL_INT* i0, const MKL_INT* n0, const double* z,
              const MKL_INT* pp, const double* tau, const double* sigma,
              double* dmin, double* dmin1, double* dmin2, double* dn,
              double* dnm1, double* dnm2, const MKL_INT* ieee,
              const double* eps) NOTHROW;
void dlasq5( const MKL_INT* i0, const MKL_INT* n0, const double* z,
             const MKL_INT* pp, const double* tau, const double* sigma,
             double* dmin, double* dmin1, double* dmin2, double* dn,
             double* dnm1, double* dnm2, const MKL_INT* ieee,
             const double* eps) NOTHROW;
void dlasq5_( const MKL_INT* i0, const MKL_INT* n0, const double* z,
              const MKL_INT* pp, const double* tau, const double* sigma,
              double* dmin, double* dmin1, double* dmin2, double* dn,
              double* dnm1, double* dnm2, const MKL_INT* ieee,
              const double* eps) NOTHROW;

void DLASQ6( const MKL_INT* i0, const MKL_INT* n0, const double* z,
             const MKL_INT* pp, double* dmin, double* dmin1, double* dmin2,
             double* dn, double* dnm1, double* dnm2 ) NOTHROW;
void DLASQ6_( const MKL_INT* i0, const MKL_INT* n0, const double* z,
              const MKL_INT* pp, double* dmin, double* dmin1, double* dmin2,
              double* dn, double* dnm1, double* dnm2 ) NOTHROW;
void dlasq6( const MKL_INT* i0, const MKL_INT* n0, const double* z,
             const MKL_INT* pp, double* dmin, double* dmin1, double* dmin2,
             double* dn, double* dnm1, double* dnm2 ) NOTHROW;
void dlasq6_( const MKL_INT* i0, const MKL_INT* n0, const double* z,
              const MKL_INT* pp, double* dmin, double* dmin1, double* dmin2,
              double* dn, double* dnm1, double* dnm2 ) NOTHROW;

void DLASR( const char* side, const char* pivot, const char* direct,
            const MKL_INT* m, const MKL_INT* n, const double* c,
            const double* s, double* a, const MKL_INT* lda ) NOTHROW;
void DLASR_( const char* side, const char* pivot, const char* direct,
             const MKL_INT* m, const MKL_INT* n, const double* c,
             const double* s, double* a, const MKL_INT* lda ) NOTHROW;
void dlasr( const char* side, const char* pivot, const char* direct,
            const MKL_INT* m, const MKL_INT* n, const double* c,
            const double* s, double* a, const MKL_INT* lda ) NOTHROW;
void dlasr_( const char* side, const char* pivot, const char* direct,
             const MKL_INT* m, const MKL_INT* n, const double* c,
             const double* s, double* a, const MKL_INT* lda ) NOTHROW;

void DLASRT( const char* id, const MKL_INT* n, double* d, MKL_INT* info ) NOTHROW;
void DLASRT_( const char* id, const MKL_INT* n, double* d, MKL_INT* info ) NOTHROW;
void dlasrt( const char* id, const MKL_INT* n, double* d, MKL_INT* info ) NOTHROW;
void dlasrt_( const char* id, const MKL_INT* n, double* d, MKL_INT* info ) NOTHROW;

void DLASSQ( const MKL_INT* n, const double* x, const MKL_INT* incx,
             double* scale, double* sumsq ) NOTHROW;
void DLASSQ_( const MKL_INT* n, const double* x, const MKL_INT* incx,
              double* scale, double* sumsq ) NOTHROW;
void dlassq( const MKL_INT* n, const double* x, const MKL_INT* incx,
             double* scale, double* sumsq ) NOTHROW;
void dlassq_( const MKL_INT* n, const double* x, const MKL_INT* incx,
              double* scale, double* sumsq ) NOTHROW;

void DLASV2( const double* f, const double* g, const double* h, double* ssmin,
             double* ssmax, double* snr, double* csr, double* snl,
             double* csl ) NOTHROW;
void DLASV2_( const double* f, const double* g, const double* h, double* ssmin,
              double* ssmax, double* snr, double* csr, double* snl,
              double* csl ) NOTHROW;
void dlasv2( const double* f, const double* g, const double* h, double* ssmin,
             double* ssmax, double* snr, double* csr, double* snl,
             double* csl ) NOTHROW;
void dlasv2_( const double* f, const double* g, const double* h, double* ssmin,
              double* ssmax, double* snr, double* csr, double* snl,
              double* csl ) NOTHROW;

void DLASWP( const MKL_INT* n, double* a, const MKL_INT* lda,
             const MKL_INT* k1, const MKL_INT* k2, const MKL_INT* ipiv,
             const MKL_INT* incx ) NOTHROW;
void DLASWP_( const MKL_INT* n, double* a, const MKL_INT* lda,
              const MKL_INT* k1, const MKL_INT* k2, const MKL_INT* ipiv,
              const MKL_INT* incx ) NOTHROW;
void dlaswp( const MKL_INT* n, double* a, const MKL_INT* lda,
             const MKL_INT* k1, const MKL_INT* k2, const MKL_INT* ipiv,
             const MKL_INT* incx ) NOTHROW;
void dlaswp_( const MKL_INT* n, double* a, const MKL_INT* lda,
              const MKL_INT* k1, const MKL_INT* k2, const MKL_INT* ipiv,
              const MKL_INT* incx ) NOTHROW;

void DLASY2( const MKL_INT* ltranl, const MKL_INT* ltranr, const MKL_INT* isgn,
             const MKL_INT* n1, const MKL_INT* n2, const double* tl,
             const MKL_INT* ldtl, const double* tr, const MKL_INT* ldtr,
             const double* b, const MKL_INT* ldb, double* scale, double* x,
             const MKL_INT* ldx, double* xnorm, MKL_INT* info ) NOTHROW;
void DLASY2_( const MKL_INT* ltranl, const MKL_INT* ltranr,
              const MKL_INT* isgn, const MKL_INT* n1, const MKL_INT* n2,
              const double* tl, const MKL_INT* ldtl, const double* tr,
              const MKL_INT* ldtr, const double* b, const MKL_INT* ldb,
              double* scale, double* x, const MKL_INT* ldx, double* xnorm,
              MKL_INT* info ) NOTHROW;
void dlasy2( const MKL_INT* ltranl, const MKL_INT* ltranr, const MKL_INT* isgn,
             const MKL_INT* n1, const MKL_INT* n2, const double* tl,
             const MKL_INT* ldtl, const double* tr, const MKL_INT* ldtr,
             const double* b, const MKL_INT* ldb, double* scale, double* x,
             const MKL_INT* ldx, double* xnorm, MKL_INT* info ) NOTHROW;
void dlasy2_( const MKL_INT* ltranl, const MKL_INT* ltranr,
              const MKL_INT* isgn, const MKL_INT* n1, const MKL_INT* n2,
              const double* tl, const MKL_INT* ldtl, const double* tr,
              const MKL_INT* ldtr, const double* b, const MKL_INT* ldb,
              double* scale, double* x, const MKL_INT* ldx, double* xnorm,
              MKL_INT* info ) NOTHROW;

void DLASYF( const char* uplo, const MKL_INT* n, const MKL_INT* nb,
             MKL_INT* kb, double* a, const MKL_INT* lda, MKL_INT* ipiv,
             double* w, const MKL_INT* ldw, MKL_INT* info ) NOTHROW;
void DLASYF_( const char* uplo, const MKL_INT* n, const MKL_INT* nb,
              MKL_INT* kb, double* a, const MKL_INT* lda, MKL_INT* ipiv,
              double* w, const MKL_INT* ldw, MKL_INT* info ) NOTHROW;
void dlasyf( const char* uplo, const MKL_INT* n, const MKL_INT* nb,
             MKL_INT* kb, double* a, const MKL_INT* lda, MKL_INT* ipiv,
             double* w, const MKL_INT* ldw, MKL_INT* info ) NOTHROW;
void dlasyf_( const char* uplo, const MKL_INT* n, const MKL_INT* nb,
              MKL_INT* kb, double* a, const MKL_INT* lda, MKL_INT* ipiv,
              double* w, const MKL_INT* ldw, MKL_INT* info ) NOTHROW;

void DLAT2S( const char* uplo, const MKL_INT* n, const double* a,
             const MKL_INT* lda, float* sa, const MKL_INT* ldsa,
             MKL_INT* info ) NOTHROW;
void DLAT2S_( const char* uplo, const MKL_INT* n, const double* a,
              const MKL_INT* lda, float* sa, const MKL_INT* ldsa,
              MKL_INT* info ) NOTHROW;
void dlat2s( const char* uplo, const MKL_INT* n, const double* a,
             const MKL_INT* lda, float* sa, const MKL_INT* ldsa,
             MKL_INT* info ) NOTHROW;
void dlat2s_( const char* uplo, const MKL_INT* n, const double* a,
              const MKL_INT* lda, float* sa, const MKL_INT* ldsa,
              MKL_INT* info ) NOTHROW;

void DLATBS( const char* uplo, const char* trans, const char* diag,
             const char* normin, const MKL_INT* n, const MKL_INT* kd,
             const double* ab, const MKL_INT* ldab, double* x, double* scale,
             double* cnorm, MKL_INT* info ) NOTHROW;
void DLATBS_( const char* uplo, const char* trans, const char* diag,
              const char* normin, const MKL_INT* n, const MKL_INT* kd,
              const double* ab, const MKL_INT* ldab, double* x, double* scale,
              double* cnorm, MKL_INT* info ) NOTHROW;
void dlatbs( const char* uplo, const char* trans, const char* diag,
             const char* normin, const MKL_INT* n, const MKL_INT* kd,
             const double* ab, const MKL_INT* ldab, double* x, double* scale,
             double* cnorm, MKL_INT* info ) NOTHROW;
void dlatbs_( const char* uplo, const char* trans, const char* diag,
              const char* normin, const MKL_INT* n, const MKL_INT* kd,
              const double* ab, const MKL_INT* ldab, double* x, double* scale,
              double* cnorm, MKL_INT* info ) NOTHROW;

void DLATDF( const MKL_INT* ijob, const MKL_INT* n, const double* z,
             const MKL_INT* ldz, double* rhs, double* rdsum, double* rdscal,
             const MKL_INT* ipiv, const MKL_INT* jpiv ) NOTHROW;
void DLATDF_( const MKL_INT* ijob, const MKL_INT* n, const double* z,
              const MKL_INT* ldz, double* rhs, double* rdsum, double* rdscal,
              const MKL_INT* ipiv, const MKL_INT* jpiv ) NOTHROW;
void dlatdf( const MKL_INT* ijob, const MKL_INT* n, const double* z,
             const MKL_INT* ldz, double* rhs, double* rdsum, double* rdscal,
             const MKL_INT* ipiv, const MKL_INT* jpiv ) NOTHROW;
void dlatdf_( const MKL_INT* ijob, const MKL_INT* n, const double* z,
              const MKL_INT* ldz, double* rhs, double* rdsum, double* rdscal,
              const MKL_INT* ipiv, const MKL_INT* jpiv ) NOTHROW;

void DLATPS( const char* uplo, const char* trans, const char* diag,
             const char* normin, const MKL_INT* n, const double* ap, double* x,
             double* scale, double* cnorm, MKL_INT* info ) NOTHROW;
void DLATPS_( const char* uplo, const char* trans, const char* diag,
              const char* normin, const MKL_INT* n, const double* ap,
              double* x, double* scale, double* cnorm, MKL_INT* info ) NOTHROW;
void dlatps( const char* uplo, const char* trans, const char* diag,
             const char* normin, const MKL_INT* n, const double* ap, double* x,
             double* scale, double* cnorm, MKL_INT* info ) NOTHROW;
void dlatps_( const char* uplo, const char* trans, const char* diag,
              const char* normin, const MKL_INT* n, const double* ap,
              double* x, double* scale, double* cnorm, MKL_INT* info ) NOTHROW;

void DLATRD( const char* uplo, const MKL_INT* n, const MKL_INT* nb, double* a,
             const MKL_INT* lda, double* e, double* tau, double* w,
             const MKL_INT* ldw ) NOTHROW;
void DLATRD_( const char* uplo, const MKL_INT* n, const MKL_INT* nb, double* a,
              const MKL_INT* lda, double* e, double* tau, double* w,
              const MKL_INT* ldw ) NOTHROW;
void dlatrd( const char* uplo, const MKL_INT* n, const MKL_INT* nb, double* a,
             const MKL_INT* lda, double* e, double* tau, double* w,
             const MKL_INT* ldw ) NOTHROW;
void dlatrd_( const char* uplo, const MKL_INT* n, const MKL_INT* nb, double* a,
              const MKL_INT* lda, double* e, double* tau, double* w,
              const MKL_INT* ldw ) NOTHROW;

void DLATRS( const char* uplo, const char* trans, const char* diag,
             const char* normin, const MKL_INT* n, const double* a,
             const MKL_INT* lda, double* x, double* scale, double* cnorm,
             MKL_INT* info ) NOTHROW;
void DLATRS_( const char* uplo, const char* trans, const char* diag,
              const char* normin, const MKL_INT* n, const double* a,
              const MKL_INT* lda, double* x, double* scale, double* cnorm,
              MKL_INT* info ) NOTHROW;
void dlatrs( const char* uplo, const char* trans, const char* diag,
             const char* normin, const MKL_INT* n, const double* a,
             const MKL_INT* lda, double* x, double* scale, double* cnorm,
             MKL_INT* info ) NOTHROW;
void dlatrs_( const char* uplo, const char* trans, const char* diag,
              const char* normin, const MKL_INT* n, const double* a,
              const MKL_INT* lda, double* x, double* scale, double* cnorm,
              MKL_INT* info ) NOTHROW;

void DLATRZ( const MKL_INT* m, const MKL_INT* n, const MKL_INT* l, double* a,
             const MKL_INT* lda, double* tau, double* work ) NOTHROW;
void DLATRZ_( const MKL_INT* m, const MKL_INT* n, const MKL_INT* l, double* a,
              const MKL_INT* lda, double* tau, double* work ) NOTHROW;
void dlatrz( const MKL_INT* m, const MKL_INT* n, const MKL_INT* l, double* a,
             const MKL_INT* lda, double* tau, double* work ) NOTHROW;
void dlatrz_( const MKL_INT* m, const MKL_INT* n, const MKL_INT* l, double* a,
              const MKL_INT* lda, double* tau, double* work ) NOTHROW;

void DLATZM( const char* side, const MKL_INT* m, const MKL_INT* n,
             const double* v, const MKL_INT* incv, const double* tau,
             double* c1, double* c2, const MKL_INT* ldc, double* work ) NOTHROW;
void DLATZM_( const char* side, const MKL_INT* m, const MKL_INT* n,
              const double* v, const MKL_INT* incv, const double* tau,
              double* c1, double* c2, const MKL_INT* ldc, double* work ) NOTHROW;
void dlatzm( const char* side, const MKL_INT* m, const MKL_INT* n,
             const double* v, const MKL_INT* incv, const double* tau,
             double* c1, double* c2, const MKL_INT* ldc, double* work ) NOTHROW;
void dlatzm_( const char* side, const MKL_INT* m, const MKL_INT* n,
              const double* v, const MKL_INT* incv, const double* tau,
              double* c1, double* c2, const MKL_INT* ldc, double* work ) NOTHROW;

void DLAUU2( const char* uplo, const MKL_INT* n, double* a, const MKL_INT* lda,
             MKL_INT* info ) NOTHROW;
void DLAUU2_( const char* uplo, const MKL_INT* n, double* a,
              const MKL_INT* lda, MKL_INT* info ) NOTHROW;
void dlauu2( const char* uplo, const MKL_INT* n, double* a, const MKL_INT* lda,
             MKL_INT* info ) NOTHROW;
void dlauu2_( const char* uplo, const MKL_INT* n, double* a,
              const MKL_INT* lda, MKL_INT* info ) NOTHROW;

void DLAUUM( const char* uplo, const MKL_INT* n, double* a, const MKL_INT* lda,
             MKL_INT* info ) NOTHROW;
void DLAUUM_( const char* uplo, const MKL_INT* n, double* a,
              const MKL_INT* lda, MKL_INT* info ) NOTHROW;
void dlauum( const char* uplo, const MKL_INT* n, double* a, const MKL_INT* lda,
             MKL_INT* info ) NOTHROW;
void dlauum_( const char* uplo, const MKL_INT* n, double* a,
              const MKL_INT* lda, MKL_INT* info ) NOTHROW;

void DOPGTR( const char* uplo, const MKL_INT* n, const double* ap,
             const double* tau, double* q, const MKL_INT* ldq, double* work,
             MKL_INT* info ) NOTHROW;
void DOPGTR_( const char* uplo, const MKL_INT* n, const double* ap,
              const double* tau, double* q, const MKL_INT* ldq, double* work,
              MKL_INT* info ) NOTHROW;
void dopgtr( const char* uplo, const MKL_INT* n, const double* ap,
             const double* tau, double* q, const MKL_INT* ldq, double* work,
             MKL_INT* info ) NOTHROW;
void dopgtr_( const char* uplo, const MKL_INT* n, const double* ap,
              const double* tau, double* q, const MKL_INT* ldq, double* work,
              MKL_INT* info ) NOTHROW;

void DOPMTR( const char* side, const char* uplo, const char* trans,
             const MKL_INT* m, const MKL_INT* n, const double* ap,
             const double* tau, double* c, const MKL_INT* ldc, double* work,
             MKL_INT* info ) NOTHROW;
void DOPMTR_( const char* side, const char* uplo, const char* trans,
              const MKL_INT* m, const MKL_INT* n, const double* ap,
              const double* tau, double* c, const MKL_INT* ldc, double* work,
              MKL_INT* info ) NOTHROW;
void dopmtr( const char* side, const char* uplo, const char* trans,
             const MKL_INT* m, const MKL_INT* n, const double* ap,
             const double* tau, double* c, const MKL_INT* ldc, double* work,
             MKL_INT* info ) NOTHROW;
void dopmtr_( const char* side, const char* uplo, const char* trans,
              const MKL_INT* m, const MKL_INT* n, const double* ap,
              const double* tau, double* c, const MKL_INT* ldc, double* work,
              MKL_INT* info ) NOTHROW;

void DORG2L( const MKL_INT* m, const MKL_INT* n, const MKL_INT* k, double* a,
             const MKL_INT* lda, const double* tau, double* work,
             MKL_INT* info ) NOTHROW;
void DORG2L_( const MKL_INT* m, const MKL_INT* n, const MKL_INT* k, double* a,
              const MKL_INT* lda, const double* tau, double* work,
              MKL_INT* info ) NOTHROW;
void dorg2l( const MKL_INT* m, const MKL_INT* n, const MKL_INT* k, double* a,
             const MKL_INT* lda, const double* tau, double* work,
             MKL_INT* info ) NOTHROW;
void dorg2l_( const MKL_INT* m, const MKL_INT* n, const MKL_INT* k, double* a,
              const MKL_INT* lda, const double* tau, double* work,
              MKL_INT* info ) NOTHROW;

void DORG2R( const MKL_INT* m, const MKL_INT* n, const MKL_INT* k, double* a,
             const MKL_INT* lda, const double* tau, double* work,
             MKL_INT* info ) NOTHROW;
void DORG2R_( const MKL_INT* m, const MKL_INT* n, const MKL_INT* k, double* a,
              const MKL_INT* lda, const double* tau, double* work,
              MKL_INT* info ) NOTHROW;
void dorg2r( const MKL_INT* m, const MKL_INT* n, const MKL_INT* k, double* a,
             const MKL_INT* lda, const double* tau, double* work,
             MKL_INT* info ) NOTHROW;
void dorg2r_( const MKL_INT* m, const MKL_INT* n, const MKL_INT* k, double* a,
              const MKL_INT* lda, const double* tau, double* work,
              MKL_INT* info ) NOTHROW;

void DORGBR( const char* vect, const MKL_INT* m, const MKL_INT* n,
             const MKL_INT* k, double* a, const MKL_INT* lda,
             const double* tau, double* work, const MKL_INT* lwork,
             MKL_INT* info ) NOTHROW;
void DORGBR_( const char* vect, const MKL_INT* m, const MKL_INT* n,
              const MKL_INT* k, double* a, const MKL_INT* lda,
              const double* tau, double* work, const MKL_INT* lwork,
              MKL_INT* info ) NOTHROW;
void dorgbr( const char* vect, const MKL_INT* m, const MKL_INT* n,
             const MKL_INT* k, double* a, const MKL_INT* lda,
             const double* tau, double* work, const MKL_INT* lwork,
             MKL_INT* info ) NOTHROW;
void dorgbr_( const char* vect, const MKL_INT* m, const MKL_INT* n,
              const MKL_INT* k, double* a, const MKL_INT* lda,
              const double* tau, double* work, const MKL_INT* lwork,
              MKL_INT* info ) NOTHROW;

void DORGHR( const MKL_INT* n, const MKL_INT* ilo, const MKL_INT* ihi,
             double* a, const MKL_INT* lda, const double* tau, double* work,
             const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void DORGHR_( const MKL_INT* n, const MKL_INT* ilo, const MKL_INT* ihi,
              double* a, const MKL_INT* lda, const double* tau, double* work,
              const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void dorghr( const MKL_INT* n, const MKL_INT* ilo, const MKL_INT* ihi,
             double* a, const MKL_INT* lda, const double* tau, double* work,
             const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void dorghr_( const MKL_INT* n, const MKL_INT* ilo, const MKL_INT* ihi,
              double* a, const MKL_INT* lda, const double* tau, double* work,
              const MKL_INT* lwork, MKL_INT* info ) NOTHROW;

void DORGL2( const MKL_INT* m, const MKL_INT* n, const MKL_INT* k, double* a,
             const MKL_INT* lda, const double* tau, double* work,
             MKL_INT* info ) NOTHROW;
void DORGL2_( const MKL_INT* m, const MKL_INT* n, const MKL_INT* k, double* a,
              const MKL_INT* lda, const double* tau, double* work,
              MKL_INT* info ) NOTHROW;
void dorgl2( const MKL_INT* m, const MKL_INT* n, const MKL_INT* k, double* a,
             const MKL_INT* lda, const double* tau, double* work,
             MKL_INT* info ) NOTHROW;
void dorgl2_( const MKL_INT* m, const MKL_INT* n, const MKL_INT* k, double* a,
              const MKL_INT* lda, const double* tau, double* work,
              MKL_INT* info ) NOTHROW;

void DORGLQ( const MKL_INT* m, const MKL_INT* n, const MKL_INT* k, double* a,
             const MKL_INT* lda, const double* tau, double* work,
             const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void DORGLQ_( const MKL_INT* m, const MKL_INT* n, const MKL_INT* k, double* a,
              const MKL_INT* lda, const double* tau, double* work,
              const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void dorglq( const MKL_INT* m, const MKL_INT* n, const MKL_INT* k, double* a,
             const MKL_INT* lda, const double* tau, double* work,
             const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void dorglq_( const MKL_INT* m, const MKL_INT* n, const MKL_INT* k, double* a,
              const MKL_INT* lda, const double* tau, double* work,
              const MKL_INT* lwork, MKL_INT* info ) NOTHROW;

void DORGQL( const MKL_INT* m, const MKL_INT* n, const MKL_INT* k, double* a,
             const MKL_INT* lda, const double* tau, double* work,
             const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void DORGQL_( const MKL_INT* m, const MKL_INT* n, const MKL_INT* k, double* a,
              const MKL_INT* lda, const double* tau, double* work,
              const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void dorgql( const MKL_INT* m, const MKL_INT* n, const MKL_INT* k, double* a,
             const MKL_INT* lda, const double* tau, double* work,
             const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void dorgql_( const MKL_INT* m, const MKL_INT* n, const MKL_INT* k, double* a,
              const MKL_INT* lda, const double* tau, double* work,
              const MKL_INT* lwork, MKL_INT* info ) NOTHROW;

void DORGQR( const MKL_INT* m, const MKL_INT* n, const MKL_INT* k, double* a,
             const MKL_INT* lda, const double* tau, double* work,
             const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void DORGQR_( const MKL_INT* m, const MKL_INT* n, const MKL_INT* k, double* a,
              const MKL_INT* lda, const double* tau, double* work,
              const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void dorgqr( const MKL_INT* m, const MKL_INT* n, const MKL_INT* k, double* a,
             const MKL_INT* lda, const double* tau, double* work,
             const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void dorgqr_( const MKL_INT* m, const MKL_INT* n, const MKL_INT* k, double* a,
              const MKL_INT* lda, const double* tau, double* work,
              const MKL_INT* lwork, MKL_INT* info ) NOTHROW;

void DORGR2( const MKL_INT* m, const MKL_INT* n, const MKL_INT* k, double* a,
             const MKL_INT* lda, const double* tau, double* work,
             MKL_INT* info ) NOTHROW;
void DORGR2_( const MKL_INT* m, const MKL_INT* n, const MKL_INT* k, double* a,
              const MKL_INT* lda, const double* tau, double* work,
              MKL_INT* info ) NOTHROW;
void dorgr2( const MKL_INT* m, const MKL_INT* n, const MKL_INT* k, double* a,
             const MKL_INT* lda, const double* tau, double* work,
             MKL_INT* info ) NOTHROW;
void dorgr2_( const MKL_INT* m, const MKL_INT* n, const MKL_INT* k, double* a,
              const MKL_INT* lda, const double* tau, double* work,
              MKL_INT* info ) NOTHROW;

void DORGRQ( const MKL_INT* m, const MKL_INT* n, const MKL_INT* k, double* a,
             const MKL_INT* lda, const double* tau, double* work,
             const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void DORGRQ_( const MKL_INT* m, const MKL_INT* n, const MKL_INT* k, double* a,
              const MKL_INT* lda, const double* tau, double* work,
              const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void dorgrq( const MKL_INT* m, const MKL_INT* n, const MKL_INT* k, double* a,
             const MKL_INT* lda, const double* tau, double* work,
             const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void dorgrq_( const MKL_INT* m, const MKL_INT* n, const MKL_INT* k, double* a,
              const MKL_INT* lda, const double* tau, double* work,
              const MKL_INT* lwork, MKL_INT* info ) NOTHROW;

void DORGTR( const char* uplo, const MKL_INT* n, double* a, const MKL_INT* lda,
             const double* tau, double* work, const MKL_INT* lwork,
             MKL_INT* info ) NOTHROW;
void DORGTR_( const char* uplo, const MKL_INT* n, double* a,
              const MKL_INT* lda, const double* tau, double* work,
              const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void dorgtr( const char* uplo, const MKL_INT* n, double* a, const MKL_INT* lda,
             const double* tau, double* work, const MKL_INT* lwork,
             MKL_INT* info ) NOTHROW;
void dorgtr_( const char* uplo, const MKL_INT* n, double* a,
              const MKL_INT* lda, const double* tau, double* work,
              const MKL_INT* lwork, MKL_INT* info ) NOTHROW;

void DORM2L( const char* side, const char* trans, const MKL_INT* m,
             const MKL_INT* n, const MKL_INT* k, const double* a,
             const MKL_INT* lda, const double* tau, double* c,
             const MKL_INT* ldc, double* work, MKL_INT* info ) NOTHROW;
void DORM2L_( const char* side, const char* trans, const MKL_INT* m,
              const MKL_INT* n, const MKL_INT* k, const double* a,
              const MKL_INT* lda, const double* tau, double* c,
              const MKL_INT* ldc, double* work, MKL_INT* info ) NOTHROW;
void dorm2l( const char* side, const char* trans, const MKL_INT* m,
             const MKL_INT* n, const MKL_INT* k, const double* a,
             const MKL_INT* lda, const double* tau, double* c,
             const MKL_INT* ldc, double* work, MKL_INT* info ) NOTHROW;
void dorm2l_( const char* side, const char* trans, const MKL_INT* m,
              const MKL_INT* n, const MKL_INT* k, const double* a,
              const MKL_INT* lda, const double* tau, double* c,
              const MKL_INT* ldc, double* work, MKL_INT* info ) NOTHROW;

void DORM2R( const char* side, const char* trans, const MKL_INT* m,
             const MKL_INT* n, const MKL_INT* k, const double* a,
             const MKL_INT* lda, const double* tau, double* c,
             const MKL_INT* ldc, double* work, MKL_INT* info ) NOTHROW;
void DORM2R_( const char* side, const char* trans, const MKL_INT* m,
              const MKL_INT* n, const MKL_INT* k, const double* a,
              const MKL_INT* lda, const double* tau, double* c,
              const MKL_INT* ldc, double* work, MKL_INT* info ) NOTHROW;
void dorm2r( const char* side, const char* trans, const MKL_INT* m,
             const MKL_INT* n, const MKL_INT* k, const double* a,
             const MKL_INT* lda, const double* tau, double* c,
             const MKL_INT* ldc, double* work, MKL_INT* info ) NOTHROW;
void dorm2r_( const char* side, const char* trans, const MKL_INT* m,
              const MKL_INT* n, const MKL_INT* k, const double* a,
              const MKL_INT* lda, const double* tau, double* c,
              const MKL_INT* ldc, double* work, MKL_INT* info ) NOTHROW;

void DORMBR( const char* vect, const char* side, const char* trans,
             const MKL_INT* m, const MKL_INT* n, const MKL_INT* k,
             const double* a, const MKL_INT* lda, const double* tau, double* c,
             const MKL_INT* ldc, double* work, const MKL_INT* lwork,
             MKL_INT* info ) NOTHROW;
void DORMBR_( const char* vect, const char* side, const char* trans,
              const MKL_INT* m, const MKL_INT* n, const MKL_INT* k,
              const double* a, const MKL_INT* lda, const double* tau,
              double* c, const MKL_INT* ldc, double* work,
              const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void dormbr( const char* vect, const char* side, const char* trans,
             const MKL_INT* m, const MKL_INT* n, const MKL_INT* k,
             const double* a, const MKL_INT* lda, const double* tau, double* c,
             const MKL_INT* ldc, double* work, const MKL_INT* lwork,
             MKL_INT* info ) NOTHROW;
void dormbr_( const char* vect, const char* side, const char* trans,
              const MKL_INT* m, const MKL_INT* n, const MKL_INT* k,
              const double* a, const MKL_INT* lda, const double* tau,
              double* c, const MKL_INT* ldc, double* work,
              const MKL_INT* lwork, MKL_INT* info ) NOTHROW;

void DORMHR( const char* side, const char* trans, const MKL_INT* m,
             const MKL_INT* n, const MKL_INT* ilo, const MKL_INT* ihi,
             const double* a, const MKL_INT* lda, const double* tau, double* c,
             const MKL_INT* ldc, double* work, const MKL_INT* lwork,
             MKL_INT* info ) NOTHROW;
void DORMHR_( const char* side, const char* trans, const MKL_INT* m,
              const MKL_INT* n, const MKL_INT* ilo, const MKL_INT* ihi,
              const double* a, const MKL_INT* lda, const double* tau,
              double* c, const MKL_INT* ldc, double* work,
              const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void dormhr( const char* side, const char* trans, const MKL_INT* m,
             const MKL_INT* n, const MKL_INT* ilo, const MKL_INT* ihi,
             const double* a, const MKL_INT* lda, const double* tau, double* c,
             const MKL_INT* ldc, double* work, const MKL_INT* lwork,
             MKL_INT* info ) NOTHROW;
void dormhr_( const char* side, const char* trans, const MKL_INT* m,
              const MKL_INT* n, const MKL_INT* ilo, const MKL_INT* ihi,
              const double* a, const MKL_INT* lda, const double* tau,
              double* c, const MKL_INT* ldc, double* work,
              const MKL_INT* lwork, MKL_INT* info ) NOTHROW;

void DORML2( const char* side, const char* trans, const MKL_INT* m,
             const MKL_INT* n, const MKL_INT* k, const double* a,
             const MKL_INT* lda, const double* tau, double* c,
             const MKL_INT* ldc, double* work, MKL_INT* info ) NOTHROW;
void DORML2_( const char* side, const char* trans, const MKL_INT* m,
              const MKL_INT* n, const MKL_INT* k, const double* a,
              const MKL_INT* lda, const double* tau, double* c,
              const MKL_INT* ldc, double* work, MKL_INT* info ) NOTHROW;
void dorml2( const char* side, const char* trans, const MKL_INT* m,
             const MKL_INT* n, const MKL_INT* k, const double* a,
             const MKL_INT* lda, const double* tau, double* c,
             const MKL_INT* ldc, double* work, MKL_INT* info ) NOTHROW;
void dorml2_( const char* side, const char* trans, const MKL_INT* m,
              const MKL_INT* n, const MKL_INT* k, const double* a,
              const MKL_INT* lda, const double* tau, double* c,
              const MKL_INT* ldc, double* work, MKL_INT* info ) NOTHROW;

void DORMLQ( const char* side, const char* trans, const MKL_INT* m,
             const MKL_INT* n, const MKL_INT* k, const double* a,
             const MKL_INT* lda, const double* tau, double* c,
             const MKL_INT* ldc, double* work, const MKL_INT* lwork,
             MKL_INT* info ) NOTHROW;
void DORMLQ_( const char* side, const char* trans, const MKL_INT* m,
              const MKL_INT* n, const MKL_INT* k, const double* a,
              const MKL_INT* lda, const double* tau, double* c,
              const MKL_INT* ldc, double* work, const MKL_INT* lwork,
              MKL_INT* info ) NOTHROW;
void dormlq( const char* side, const char* trans, const MKL_INT* m,
             const MKL_INT* n, const MKL_INT* k, const double* a,
             const MKL_INT* lda, const double* tau, double* c,
             const MKL_INT* ldc, double* work, const MKL_INT* lwork,
             MKL_INT* info ) NOTHROW;
void dormlq_( const char* side, const char* trans, const MKL_INT* m,
              const MKL_INT* n, const MKL_INT* k, const double* a,
              const MKL_INT* lda, const double* tau, double* c,
              const MKL_INT* ldc, double* work, const MKL_INT* lwork,
              MKL_INT* info ) NOTHROW;

void DORMQL( const char* side, const char* trans, const MKL_INT* m,
             const MKL_INT* n, const MKL_INT* k, const double* a,
             const MKL_INT* lda, const double* tau, double* c,
             const MKL_INT* ldc, double* work, const MKL_INT* lwork,
             MKL_INT* info ) NOTHROW;
void DORMQL_( const char* side, const char* trans, const MKL_INT* m,
              const MKL_INT* n, const MKL_INT* k, const double* a,
              const MKL_INT* lda, const double* tau, double* c,
              const MKL_INT* ldc, double* work, const MKL_INT* lwork,
              MKL_INT* info ) NOTHROW;
void dormql( const char* side, const char* trans, const MKL_INT* m,
             const MKL_INT* n, const MKL_INT* k, const double* a,
             const MKL_INT* lda, const double* tau, double* c,
             const MKL_INT* ldc, double* work, const MKL_INT* lwork,
             MKL_INT* info ) NOTHROW;
void dormql_( const char* side, const char* trans, const MKL_INT* m,
              const MKL_INT* n, const MKL_INT* k, const double* a,
              const MKL_INT* lda, const double* tau, double* c,
              const MKL_INT* ldc, double* work, const MKL_INT* lwork,
              MKL_INT* info ) NOTHROW;

void DORMQR( const char* side, const char* trans, const MKL_INT* m,
             const MKL_INT* n, const MKL_INT* k, const double* a,
             const MKL_INT* lda, const double* tau, double* c,
             const MKL_INT* ldc, double* work, const MKL_INT* lwork,
             MKL_INT* info ) NOTHROW;
void DORMQR_( const char* side, const char* trans, const MKL_INT* m,
              const MKL_INT* n, const MKL_INT* k, const double* a,
              const MKL_INT* lda, const double* tau, double* c,
              const MKL_INT* ldc, double* work, const MKL_INT* lwork,
              MKL_INT* info ) NOTHROW;
void dormqr( const char* side, const char* trans, const MKL_INT* m,
             const MKL_INT* n, const MKL_INT* k, const double* a,
             const MKL_INT* lda, const double* tau, double* c,
             const MKL_INT* ldc, double* work, const MKL_INT* lwork,
             MKL_INT* info ) NOTHROW;
void dormqr_( const char* side, const char* trans, const MKL_INT* m,
              const MKL_INT* n, const MKL_INT* k, const double* a,
              const MKL_INT* lda, const double* tau, double* c,
              const MKL_INT* ldc, double* work, const MKL_INT* lwork,
              MKL_INT* info ) NOTHROW;

void DORMR2( const char* side, const char* trans, const MKL_INT* m,
             const MKL_INT* n, const MKL_INT* k, const double* a,
             const MKL_INT* lda, const double* tau, double* c,
             const MKL_INT* ldc, double* work, MKL_INT* info ) NOTHROW;
void DORMR2_( const char* side, const char* trans, const MKL_INT* m,
              const MKL_INT* n, const MKL_INT* k, const double* a,
              const MKL_INT* lda, const double* tau, double* c,
              const MKL_INT* ldc, double* work, MKL_INT* info ) NOTHROW;
void dormr2( const char* side, const char* trans, const MKL_INT* m,
             const MKL_INT* n, const MKL_INT* k, const double* a,
             const MKL_INT* lda, const double* tau, double* c,
             const MKL_INT* ldc, double* work, MKL_INT* info ) NOTHROW;
void dormr2_( const char* side, const char* trans, const MKL_INT* m,
              const MKL_INT* n, const MKL_INT* k, const double* a,
              const MKL_INT* lda, const double* tau, double* c,
              const MKL_INT* ldc, double* work, MKL_INT* info ) NOTHROW;

void DORMR3( const char* side, const char* trans, const MKL_INT* m,
             const MKL_INT* n, const MKL_INT* k, const MKL_INT* l,
             const double* a, const MKL_INT* lda, const double* tau, double* c,
             const MKL_INT* ldc, double* work, MKL_INT* info ) NOTHROW;
void DORMR3_( const char* side, const char* trans, const MKL_INT* m,
              const MKL_INT* n, const MKL_INT* k, const MKL_INT* l,
              const double* a, const MKL_INT* lda, const double* tau,
              double* c, const MKL_INT* ldc, double* work, MKL_INT* info ) NOTHROW;
void dormr3( const char* side, const char* trans, const MKL_INT* m,
             const MKL_INT* n, const MKL_INT* k, const MKL_INT* l,
             const double* a, const MKL_INT* lda, const double* tau, double* c,
             const MKL_INT* ldc, double* work, MKL_INT* info ) NOTHROW;
void dormr3_( const char* side, const char* trans, const MKL_INT* m,
              const MKL_INT* n, const MKL_INT* k, const MKL_INT* l,
              const double* a, const MKL_INT* lda, const double* tau,
              double* c, const MKL_INT* ldc, double* work, MKL_INT* info ) NOTHROW;

void DORMRQ( const char* side, const char* trans, const MKL_INT* m,
             const MKL_INT* n, const MKL_INT* k, const double* a,
             const MKL_INT* lda, const double* tau, double* c,
             const MKL_INT* ldc, double* work, const MKL_INT* lwork,
             MKL_INT* info ) NOTHROW;
void DORMRQ_( const char* side, const char* trans, const MKL_INT* m,
              const MKL_INT* n, const MKL_INT* k, const double* a,
              const MKL_INT* lda, const double* tau, double* c,
              const MKL_INT* ldc, double* work, const MKL_INT* lwork,
              MKL_INT* info ) NOTHROW;
void dormrq( const char* side, const char* trans, const MKL_INT* m,
             const MKL_INT* n, const MKL_INT* k, const double* a,
             const MKL_INT* lda, const double* tau, double* c,
             const MKL_INT* ldc, double* work, const MKL_INT* lwork,
             MKL_INT* info ) NOTHROW;
void dormrq_( const char* side, const char* trans, const MKL_INT* m,
              const MKL_INT* n, const MKL_INT* k, const double* a,
              const MKL_INT* lda, const double* tau, double* c,
              const MKL_INT* ldc, double* work, const MKL_INT* lwork,
              MKL_INT* info ) NOTHROW;

void DORMRZ( const char* side, const char* trans, const MKL_INT* m,
             const MKL_INT* n, const MKL_INT* k, const MKL_INT* l,
             const double* a, const MKL_INT* lda, const double* tau, double* c,
             const MKL_INT* ldc, double* work, const MKL_INT* lwork,
             MKL_INT* info ) NOTHROW;
void DORMRZ_( const char* side, const char* trans, const MKL_INT* m,
              const MKL_INT* n, const MKL_INT* k, const MKL_INT* l,
              const double* a, const MKL_INT* lda, const double* tau,
              double* c, const MKL_INT* ldc, double* work,
              const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void dormrz( const char* side, const char* trans, const MKL_INT* m,
             const MKL_INT* n, const MKL_INT* k, const MKL_INT* l,
             const double* a, const MKL_INT* lda, const double* tau, double* c,
             const MKL_INT* ldc, double* work, const MKL_INT* lwork,
             MKL_INT* info ) NOTHROW;
void dormrz_( const char* side, const char* trans, const MKL_INT* m,
              const MKL_INT* n, const MKL_INT* k, const MKL_INT* l,
              const double* a, const MKL_INT* lda, const double* tau,
              double* c, const MKL_INT* ldc, double* work,
              const MKL_INT* lwork, MKL_INT* info ) NOTHROW;

void DORMTR( const char* side, const char* uplo, const char* trans,
             const MKL_INT* m, const MKL_INT* n, const double* a,
             const MKL_INT* lda, const double* tau, double* c,
             const MKL_INT* ldc, double* work, const MKL_INT* lwork,
             MKL_INT* info ) NOTHROW;
void DORMTR_( const char* side, const char* uplo, const char* trans,
              const MKL_INT* m, const MKL_INT* n, const double* a,
              const MKL_INT* lda, const double* tau, double* c,
              const MKL_INT* ldc, double* work, const MKL_INT* lwork,
              MKL_INT* info ) NOTHROW;
void dormtr( const char* side, const char* uplo, const char* trans,
             const MKL_INT* m, const MKL_INT* n, const double* a,
             const MKL_INT* lda, const double* tau, double* c,
             const MKL_INT* ldc, double* work, const MKL_INT* lwork,
             MKL_INT* info ) NOTHROW;
void dormtr_( const char* side, const char* uplo, const char* trans,
              const MKL_INT* m, const MKL_INT* n, const double* a,
              const MKL_INT* lda, const double* tau, double* c,
              const MKL_INT* ldc, double* work, const MKL_INT* lwork,
              MKL_INT* info ) NOTHROW;

void DPBCON( const char* uplo, const MKL_INT* n, const MKL_INT* kd,
             const double* ab, const MKL_INT* ldab, const double* anorm,
             double* rcond, double* work, MKL_INT* iwork, MKL_INT* info ) NOTHROW;
void DPBCON_( const char* uplo, const MKL_INT* n, const MKL_INT* kd,
              const double* ab, const MKL_INT* ldab, const double* anorm,
              double* rcond, double* work, MKL_INT* iwork, MKL_INT* info ) NOTHROW;
void dpbcon( const char* uplo, const MKL_INT* n, const MKL_INT* kd,
             const double* ab, const MKL_INT* ldab, const double* anorm,
             double* rcond, double* work, MKL_INT* iwork, MKL_INT* info ) NOTHROW;
void dpbcon_( const char* uplo, const MKL_INT* n, const MKL_INT* kd,
              const double* ab, const MKL_INT* ldab, const double* anorm,
              double* rcond, double* work, MKL_INT* iwork, MKL_INT* info ) NOTHROW;

void DPBEQU( const char* uplo, const MKL_INT* n, const MKL_INT* kd,
             const double* ab, const MKL_INT* ldab, double* s, double* scond,
             double* amax, MKL_INT* info ) NOTHROW;
void DPBEQU_( const char* uplo, const MKL_INT* n, const MKL_INT* kd,
              const double* ab, const MKL_INT* ldab, double* s, double* scond,
              double* amax, MKL_INT* info ) NOTHROW;
void dpbequ( const char* uplo, const MKL_INT* n, const MKL_INT* kd,
             const double* ab, const MKL_INT* ldab, double* s, double* scond,
             double* amax, MKL_INT* info ) NOTHROW;
void dpbequ_( const char* uplo, const MKL_INT* n, const MKL_INT* kd,
              const double* ab, const MKL_INT* ldab, double* s, double* scond,
              double* amax, MKL_INT* info ) NOTHROW;

void DPBRFS( const char* uplo, const MKL_INT* n, const MKL_INT* kd,
             const MKL_INT* nrhs, const double* ab, const MKL_INT* ldab,
             const double* afb, const MKL_INT* ldafb, const double* b,
             const MKL_INT* ldb, double* x, const MKL_INT* ldx, double* ferr,
             double* berr, double* work, MKL_INT* iwork, MKL_INT* info ) NOTHROW;
void DPBRFS_( const char* uplo, const MKL_INT* n, const MKL_INT* kd,
              const MKL_INT* nrhs, const double* ab, const MKL_INT* ldab,
              const double* afb, const MKL_INT* ldafb, const double* b,
              const MKL_INT* ldb, double* x, const MKL_INT* ldx, double* ferr,
              double* berr, double* work, MKL_INT* iwork, MKL_INT* info ) NOTHROW;
void dpbrfs( const char* uplo, const MKL_INT* n, const MKL_INT* kd,
             const MKL_INT* nrhs, const double* ab, const MKL_INT* ldab,
             const double* afb, const MKL_INT* ldafb, const double* b,
             const MKL_INT* ldb, double* x, const MKL_INT* ldx, double* ferr,
             double* berr, double* work, MKL_INT* iwork, MKL_INT* info ) NOTHROW;
void dpbrfs_( const char* uplo, const MKL_INT* n, const MKL_INT* kd,
              const MKL_INT* nrhs, const double* ab, const MKL_INT* ldab,
              const double* afb, const MKL_INT* ldafb, const double* b,
              const MKL_INT* ldb, double* x, const MKL_INT* ldx, double* ferr,
              double* berr, double* work, MKL_INT* iwork, MKL_INT* info ) NOTHROW;

void DPBSTF( const char* uplo, const MKL_INT* n, const MKL_INT* kd, double* ab,
             const MKL_INT* ldab, MKL_INT* info ) NOTHROW;
void DPBSTF_( const char* uplo, const MKL_INT* n, const MKL_INT* kd,
              double* ab, const MKL_INT* ldab, MKL_INT* info ) NOTHROW;
void dpbstf( const char* uplo, const MKL_INT* n, const MKL_INT* kd, double* ab,
             const MKL_INT* ldab, MKL_INT* info ) NOTHROW;
void dpbstf_( const char* uplo, const MKL_INT* n, const MKL_INT* kd,
              double* ab, const MKL_INT* ldab, MKL_INT* info ) NOTHROW;

void DPBSV( const char* uplo, const MKL_INT* n, const MKL_INT* kd,
            const MKL_INT* nrhs, double* ab, const MKL_INT* ldab, double* b,
            const MKL_INT* ldb, MKL_INT* info ) NOTHROW;
void DPBSV_( const char* uplo, const MKL_INT* n, const MKL_INT* kd,
             const MKL_INT* nrhs, double* ab, const MKL_INT* ldab, double* b,
             const MKL_INT* ldb, MKL_INT* info ) NOTHROW;
void dpbsv( const char* uplo, const MKL_INT* n, const MKL_INT* kd,
            const MKL_INT* nrhs, double* ab, const MKL_INT* ldab, double* b,
            const MKL_INT* ldb, MKL_INT* info ) NOTHROW;
void dpbsv_( const char* uplo, const MKL_INT* n, const MKL_INT* kd,
             const MKL_INT* nrhs, double* ab, const MKL_INT* ldab, double* b,
             const MKL_INT* ldb, MKL_INT* info ) NOTHROW;

void DPBSVX( const char* fact, const char* uplo, const MKL_INT* n,
             const MKL_INT* kd, const MKL_INT* nrhs, double* ab,
             const MKL_INT* ldab, double* afb, const MKL_INT* ldafb,
             char* equed, double* s, double* b, const MKL_INT* ldb, double* x,
             const MKL_INT* ldx, double* rcond, double* ferr, double* berr,
             double* work, MKL_INT* iwork, MKL_INT* info ) NOTHROW;
void DPBSVX_( const char* fact, const char* uplo, const MKL_INT* n,
              const MKL_INT* kd, const MKL_INT* nrhs, double* ab,
              const MKL_INT* ldab, double* afb, const MKL_INT* ldafb,
              char* equed, double* s, double* b, const MKL_INT* ldb, double* x,
              const MKL_INT* ldx, double* rcond, double* ferr, double* berr,
              double* work, MKL_INT* iwork, MKL_INT* info ) NOTHROW;
void dpbsvx( const char* fact, const char* uplo, const MKL_INT* n,
             const MKL_INT* kd, const MKL_INT* nrhs, double* ab,
             const MKL_INT* ldab, double* afb, const MKL_INT* ldafb,
             char* equed, double* s, double* b, const MKL_INT* ldb, double* x,
             const MKL_INT* ldx, double* rcond, double* ferr, double* berr,
             double* work, MKL_INT* iwork, MKL_INT* info ) NOTHROW;
void dpbsvx_( const char* fact, const char* uplo, const MKL_INT* n,
              const MKL_INT* kd, const MKL_INT* nrhs, double* ab,
              const MKL_INT* ldab, double* afb, const MKL_INT* ldafb,
              char* equed, double* s, double* b, const MKL_INT* ldb, double* x,
              const MKL_INT* ldx, double* rcond, double* ferr, double* berr,
              double* work, MKL_INT* iwork, MKL_INT* info ) NOTHROW;

void DPBTF2( const char* uplo, const MKL_INT* n, const MKL_INT* kd, double* ab,
             const MKL_INT* ldab, MKL_INT* info ) NOTHROW;
void DPBTF2_( const char* uplo, const MKL_INT* n, const MKL_INT* kd,
              double* ab, const MKL_INT* ldab, MKL_INT* info ) NOTHROW;
void dpbtf2( const char* uplo, const MKL_INT* n, const MKL_INT* kd, double* ab,
             const MKL_INT* ldab, MKL_INT* info ) NOTHROW;
void dpbtf2_( const char* uplo, const MKL_INT* n, const MKL_INT* kd,
              double* ab, const MKL_INT* ldab, MKL_INT* info ) NOTHROW;

void DPBTRF( const char* uplo, const MKL_INT* n, const MKL_INT* kd, double* ab,
             const MKL_INT* ldab, MKL_INT* info ) NOTHROW;
void DPBTRF_( const char* uplo, const MKL_INT* n, const MKL_INT* kd,
              double* ab, const MKL_INT* ldab, MKL_INT* info ) NOTHROW;
void dpbtrf( const char* uplo, const MKL_INT* n, const MKL_INT* kd, double* ab,
             const MKL_INT* ldab, MKL_INT* info ) NOTHROW;
void dpbtrf_( const char* uplo, const MKL_INT* n, const MKL_INT* kd,
              double* ab, const MKL_INT* ldab, MKL_INT* info ) NOTHROW;

void DPBTRS( const char* uplo, const MKL_INT* n, const MKL_INT* kd,
             const MKL_INT* nrhs, const double* ab, const MKL_INT* ldab,
             double* b, const MKL_INT* ldb, MKL_INT* info ) NOTHROW;
void DPBTRS_( const char* uplo, const MKL_INT* n, const MKL_INT* kd,
              const MKL_INT* nrhs, const double* ab, const MKL_INT* ldab,
              double* b, const MKL_INT* ldb, MKL_INT* info ) NOTHROW;
void dpbtrs( const char* uplo, const MKL_INT* n, const MKL_INT* kd,
             const MKL_INT* nrhs, const double* ab, const MKL_INT* ldab,
             double* b, const MKL_INT* ldb, MKL_INT* info ) NOTHROW;
void dpbtrs_( const char* uplo, const MKL_INT* n, const MKL_INT* kd,
              const MKL_INT* nrhs, const double* ab, const MKL_INT* ldab,
              double* b, const MKL_INT* ldb, MKL_INT* info ) NOTHROW;

void DPFTRF( const char* transr, const char* uplo, const MKL_INT* n, double* a,
             MKL_INT* info ) NOTHROW;
void DPFTRF_( const char* transr, const char* uplo, const MKL_INT* n,
              double* a, MKL_INT* info ) NOTHROW;
void dpftrf( const char* transr, const char* uplo, const MKL_INT* n, double* a,
             MKL_INT* info ) NOTHROW;
void dpftrf_( const char* transr, const char* uplo, const MKL_INT* n,
              double* a, MKL_INT* info ) NOTHROW;

void DPFTRI( const char* transr, const char* uplo, const MKL_INT* n, double* a,
             MKL_INT* info ) NOTHROW;
void DPFTRI_( const char* transr, const char* uplo, const MKL_INT* n,
              double* a, MKL_INT* info ) NOTHROW;
void dpftri( const char* transr, const char* uplo, const MKL_INT* n, double* a,
             MKL_INT* info ) NOTHROW;
void dpftri_( const char* transr, const char* uplo, const MKL_INT* n,
              double* a, MKL_INT* info ) NOTHROW;

void DPFTRS( const char* transr, const char* uplo, const MKL_INT* n,
             const MKL_INT* nrhs, const double* a, double* b,
             const MKL_INT* ldb, MKL_INT* info ) NOTHROW;
void DPFTRS_( const char* transr, const char* uplo, const MKL_INT* n,
              const MKL_INT* nrhs, const double* a, double* b,
              const MKL_INT* ldb, MKL_INT* info ) NOTHROW;
void dpftrs( const char* transr, const char* uplo, const MKL_INT* n,
             const MKL_INT* nrhs, const double* a, double* b,
             const MKL_INT* ldb, MKL_INT* info ) NOTHROW;
void dpftrs_( const char* transr, const char* uplo, const MKL_INT* n,
              const MKL_INT* nrhs, const double* a, double* b,
              const MKL_INT* ldb, MKL_INT* info ) NOTHROW;

void DPOCON( const char* uplo, const MKL_INT* n, const double* a,
             const MKL_INT* lda, const double* anorm, double* rcond,
             double* work, MKL_INT* iwork, MKL_INT* info ) NOTHROW;
void DPOCON_( const char* uplo, const MKL_INT* n, const double* a,
              const MKL_INT* lda, const double* anorm, double* rcond,
              double* work, MKL_INT* iwork, MKL_INT* info ) NOTHROW;
void dpocon( const char* uplo, const MKL_INT* n, const double* a,
             const MKL_INT* lda, const double* anorm, double* rcond,
             double* work, MKL_INT* iwork, MKL_INT* info ) NOTHROW;
void dpocon_( const char* uplo, const MKL_INT* n, const double* a,
              const MKL_INT* lda, const double* anorm, double* rcond,
              double* work, MKL_INT* iwork, MKL_INT* info ) NOTHROW;

void DPOEQUB( const MKL_INT* n, const double* a, const MKL_INT* lda, double* s,
              double* scond, double* amax, MKL_INT* info ) NOTHROW;
void DPOEQUB_( const MKL_INT* n, const double* a, const MKL_INT* lda,
               double* s, double* scond, double* amax, MKL_INT* info ) NOTHROW;
void dpoequb( const MKL_INT* n, const double* a, const MKL_INT* lda, double* s,
              double* scond, double* amax, MKL_INT* info ) NOTHROW;
void dpoequb_( const MKL_INT* n, const double* a, const MKL_INT* lda,
               double* s, double* scond, double* amax, MKL_INT* info ) NOTHROW;

void DPOEQU( const MKL_INT* n, const double* a, const MKL_INT* lda, double* s,
             double* scond, double* amax, MKL_INT* info ) NOTHROW;
void DPOEQU_( const MKL_INT* n, const double* a, const MKL_INT* lda, double* s,
              double* scond, double* amax, MKL_INT* info ) NOTHROW;
void dpoequ( const MKL_INT* n, const double* a, const MKL_INT* lda, double* s,
             double* scond, double* amax, MKL_INT* info ) NOTHROW;
void dpoequ_( const MKL_INT* n, const double* a, const MKL_INT* lda, double* s,
              double* scond, double* amax, MKL_INT* info ) NOTHROW;

void DPORFS( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs,
             const double* a, const MKL_INT* lda, const double* af,
             const MKL_INT* ldaf, const double* b, const MKL_INT* ldb,
             double* x, const MKL_INT* ldx, double* ferr, double* berr,
             double* work, MKL_INT* iwork, MKL_INT* info ) NOTHROW;
void DPORFS_( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs,
              const double* a, const MKL_INT* lda, const double* af,
              const MKL_INT* ldaf, const double* b, const MKL_INT* ldb,
              double* x, const MKL_INT* ldx, double* ferr, double* berr,
              double* work, MKL_INT* iwork, MKL_INT* info ) NOTHROW;
void dporfs( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs,
             const double* a, const MKL_INT* lda, const double* af,
             const MKL_INT* ldaf, const double* b, const MKL_INT* ldb,
             double* x, const MKL_INT* ldx, double* ferr, double* berr,
             double* work, MKL_INT* iwork, MKL_INT* info ) NOTHROW;
void dporfs_( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs,
              const double* a, const MKL_INT* lda, const double* af,
              const MKL_INT* ldaf, const double* b, const MKL_INT* ldb,
              double* x, const MKL_INT* ldx, double* ferr, double* berr,
              double* work, MKL_INT* iwork, MKL_INT* info ) NOTHROW;

void DPORFSX( const char* uplo, const char* equed, const MKL_INT* n,
              const MKL_INT* nrhs, const double* a, const MKL_INT* lda,
              const double* af, const MKL_INT* ldaf, double* s,
              const double* b, const MKL_INT* ldb, double* x,
              const MKL_INT* ldx, double* rcond, double* berr,
              const MKL_INT* n_err_bnds, double* err_bnds_norm,
              double* err_bnds_comp, const MKL_INT* nparams, double* params,
              double* work, MKL_INT* iwork, MKL_INT* info ) NOTHROW;
void DPORFSX_( const char* uplo, const char* equed, const MKL_INT* n,
               const MKL_INT* nrhs, const double* a, const MKL_INT* lda,
               const double* af, const MKL_INT* ldaf, double* s,
               const double* b, const MKL_INT* ldb, double* x,
               const MKL_INT* ldx, double* rcond, double* berr,
               const MKL_INT* n_err_bnds, double* err_bnds_norm,
               double* err_bnds_comp, const MKL_INT* nparams, double* params,
               double* work, MKL_INT* iwork, MKL_INT* info ) NOTHROW;
void dporfsx( const char* uplo, const char* equed, const MKL_INT* n,
              const MKL_INT* nrhs, const double* a, const MKL_INT* lda,
              const double* af, const MKL_INT* ldaf, double* s,
              const double* b, const MKL_INT* ldb, double* x,
              const MKL_INT* ldx, double* rcond, double* berr,
              const MKL_INT* n_err_bnds, double* err_bnds_norm,
              double* err_bnds_comp, const MKL_INT* nparams, double* params,
              double* work, MKL_INT* iwork, MKL_INT* info ) NOTHROW;
void dporfsx_( const char* uplo, const char* equed, const MKL_INT* n,
               const MKL_INT* nrhs, const double* a, const MKL_INT* lda,
               const double* af, const MKL_INT* ldaf, double* s,
               const double* b, const MKL_INT* ldb, double* x,
               const MKL_INT* ldx, double* rcond, double* berr,
               const MKL_INT* n_err_bnds, double* err_bnds_norm,
               double* err_bnds_comp, const MKL_INT* nparams, double* params,
               double* work, MKL_INT* iwork, MKL_INT* info ) NOTHROW;

void DPOSV( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs, double* a,
            const MKL_INT* lda, double* b, const MKL_INT* ldb, MKL_INT* info ) NOTHROW;
void DPOSV_( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs,
             double* a, const MKL_INT* lda, double* b, const MKL_INT* ldb,
             MKL_INT* info ) NOTHROW;
void dposv( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs, double* a,
            const MKL_INT* lda, double* b, const MKL_INT* ldb, MKL_INT* info ) NOTHROW;
void dposv_( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs,
             double* a, const MKL_INT* lda, double* b, const MKL_INT* ldb,
             MKL_INT* info ) NOTHROW;

void DPOSVX( const char* fact, const char* uplo, const MKL_INT* n,
             const MKL_INT* nrhs, double* a, const MKL_INT* lda, double* af,
             const MKL_INT* ldaf, char* equed, double* s, double* b,
             const MKL_INT* ldb, double* x, const MKL_INT* ldx, double* rcond,
             double* ferr, double* berr, double* work, MKL_INT* iwork,
             MKL_INT* info ) NOTHROW;
void DPOSVX_( const char* fact, const char* uplo, const MKL_INT* n,
              const MKL_INT* nrhs, double* a, const MKL_INT* lda, double* af,
              const MKL_INT* ldaf, char* equed, double* s, double* b,
              const MKL_INT* ldb, double* x, const MKL_INT* ldx, double* rcond,
              double* ferr, double* berr, double* work, MKL_INT* iwork,
              MKL_INT* info ) NOTHROW;
void dposvx( const char* fact, const char* uplo, const MKL_INT* n,
             const MKL_INT* nrhs, double* a, const MKL_INT* lda, double* af,
             const MKL_INT* ldaf, char* equed, double* s, double* b,
             const MKL_INT* ldb, double* x, const MKL_INT* ldx, double* rcond,
             double* ferr, double* berr, double* work, MKL_INT* iwork,
             MKL_INT* info ) NOTHROW;
void dposvx_( const char* fact, const char* uplo, const MKL_INT* n,
              const MKL_INT* nrhs, double* a, const MKL_INT* lda, double* af,
              const MKL_INT* ldaf, char* equed, double* s, double* b,
              const MKL_INT* ldb, double* x, const MKL_INT* ldx, double* rcond,
              double* ferr, double* berr, double* work, MKL_INT* iwork,
              MKL_INT* info ) NOTHROW;

void DPOSVXX( const char* fact, const char* uplo, const MKL_INT* n,
              const MKL_INT* nrhs, double* a, const MKL_INT* lda, double* af,
              const MKL_INT* ldaf, char* equed, double* s, double* b,
              const MKL_INT* ldb, double* x, const MKL_INT* ldx, double* rcond,
              double* rpvgrw, double* berr, const MKL_INT* n_err_bnds,
              double* err_bnds_norm, double* err_bnds_comp,
              const MKL_INT* nparams, double* params, double* work,
              MKL_INT* iwork, MKL_INT* info ) NOTHROW;
void DPOSVXX_( const char* fact, const char* uplo, const MKL_INT* n,
               const MKL_INT* nrhs, double* a, const MKL_INT* lda, double* af,
               const MKL_INT* ldaf, char* equed, double* s, double* b,
               const MKL_INT* ldb, double* x, const MKL_INT* ldx,
               double* rcond, double* rpvgrw, double* berr,
               const MKL_INT* n_err_bnds, double* err_bnds_norm,
               double* err_bnds_comp, const MKL_INT* nparams, double* params,
               double* work, MKL_INT* iwork, MKL_INT* info ) NOTHROW;
void dposvxx( const char* fact, const char* uplo, const MKL_INT* n,
              const MKL_INT* nrhs, double* a, const MKL_INT* lda, double* af,
              const MKL_INT* ldaf, char* equed, double* s, double* b,
              const MKL_INT* ldb, double* x, const MKL_INT* ldx, double* rcond,
              double* rpvgrw, double* berr, const MKL_INT* n_err_bnds,
              double* err_bnds_norm, double* err_bnds_comp,
              const MKL_INT* nparams, double* params, double* work,
              MKL_INT* iwork, MKL_INT* info ) NOTHROW;
void dposvxx_( const char* fact, const char* uplo, const MKL_INT* n,
               const MKL_INT* nrhs, double* a, const MKL_INT* lda, double* af,
               const MKL_INT* ldaf, char* equed, double* s, double* b,
               const MKL_INT* ldb, double* x, const MKL_INT* ldx,
               double* rcond, double* rpvgrw, double* berr,
               const MKL_INT* n_err_bnds, double* err_bnds_norm,
               double* err_bnds_comp, const MKL_INT* nparams, double* params,
               double* work, MKL_INT* iwork, MKL_INT* info ) NOTHROW;

void DPOTF2( const char* uplo, const MKL_INT* n, double* a, const MKL_INT* lda,
             MKL_INT* info ) NOTHROW;
void DPOTF2_( const char* uplo, const MKL_INT* n, double* a,
              const MKL_INT* lda, MKL_INT* info ) NOTHROW;
void dpotf2( const char* uplo, const MKL_INT* n, double* a, const MKL_INT* lda,
             MKL_INT* info ) NOTHROW;
void dpotf2_( const char* uplo, const MKL_INT* n, double* a,
              const MKL_INT* lda, MKL_INT* info ) NOTHROW;

void DPOTRF( const char* uplo, const MKL_INT* n, double* a, const MKL_INT* lda,
             MKL_INT* info ) NOTHROW;
void DPOTRF_( const char* uplo, const MKL_INT* n, double* a,
              const MKL_INT* lda, MKL_INT* info ) NOTHROW;
void dpotrf( const char* uplo, const MKL_INT* n, double* a, const MKL_INT* lda,
             MKL_INT* info ) NOTHROW;
void dpotrf_( const char* uplo, const MKL_INT* n, double* a,
              const MKL_INT* lda, MKL_INT* info ) NOTHROW;

void DPOTRI( const char* uplo, const MKL_INT* n, double* a, const MKL_INT* lda,
             MKL_INT* info ) NOTHROW;
void DPOTRI_( const char* uplo, const MKL_INT* n, double* a,
              const MKL_INT* lda, MKL_INT* info ) NOTHROW;
void dpotri( const char* uplo, const MKL_INT* n, double* a, const MKL_INT* lda,
             MKL_INT* info ) NOTHROW;
void dpotri_( const char* uplo, const MKL_INT* n, double* a,
              const MKL_INT* lda, MKL_INT* info ) NOTHROW;

void DPOTRS( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs,
             const double* a, const MKL_INT* lda, double* b,
             const MKL_INT* ldb, MKL_INT* info ) NOTHROW;
void DPOTRS_( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs,
              const double* a, const MKL_INT* lda, double* b,
              const MKL_INT* ldb, MKL_INT* info ) NOTHROW;
void dpotrs( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs,
             const double* a, const MKL_INT* lda, double* b,
             const MKL_INT* ldb, MKL_INT* info ) NOTHROW;
void dpotrs_( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs,
              const double* a, const MKL_INT* lda, double* b,
              const MKL_INT* ldb, MKL_INT* info ) NOTHROW;

void DPPCON( const char* uplo, const MKL_INT* n, const double* ap,
             const double* anorm, double* rcond, double* work, MKL_INT* iwork,
             MKL_INT* info ) NOTHROW;
void DPPCON_( const char* uplo, const MKL_INT* n, const double* ap,
              const double* anorm, double* rcond, double* work, MKL_INT* iwork,
              MKL_INT* info ) NOTHROW;
void dppcon( const char* uplo, const MKL_INT* n, const double* ap,
             const double* anorm, double* rcond, double* work, MKL_INT* iwork,
             MKL_INT* info ) NOTHROW;
void dppcon_( const char* uplo, const MKL_INT* n, const double* ap,
              const double* anorm, double* rcond, double* work, MKL_INT* iwork,
              MKL_INT* info ) NOTHROW;

void DPPEQU( const char* uplo, const MKL_INT* n, const double* ap, double* s,
             double* scond, double* amax, MKL_INT* info ) NOTHROW;
void DPPEQU_( const char* uplo, const MKL_INT* n, const double* ap, double* s,
              double* scond, double* amax, MKL_INT* info ) NOTHROW;
void dppequ( const char* uplo, const MKL_INT* n, const double* ap, double* s,
             double* scond, double* amax, MKL_INT* info ) NOTHROW;
void dppequ_( const char* uplo, const MKL_INT* n, const double* ap, double* s,
              double* scond, double* amax, MKL_INT* info ) NOTHROW;

void DPPRFS( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs,
             const double* ap, const double* afp, const double* b,
             const MKL_INT* ldb, double* x, const MKL_INT* ldx, double* ferr,
             double* berr, double* work, MKL_INT* iwork, MKL_INT* info ) NOTHROW;
void DPPRFS_( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs,
              const double* ap, const double* afp, const double* b,
              const MKL_INT* ldb, double* x, const MKL_INT* ldx, double* ferr,
              double* berr, double* work, MKL_INT* iwork, MKL_INT* info ) NOTHROW;
void dpprfs( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs,
             const double* ap, const double* afp, const double* b,
             const MKL_INT* ldb, double* x, const MKL_INT* ldx, double* ferr,
             double* berr, double* work, MKL_INT* iwork, MKL_INT* info ) NOTHROW;
void dpprfs_( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs,
              const double* ap, const double* afp, const double* b,
              const MKL_INT* ldb, double* x, const MKL_INT* ldx, double* ferr,
              double* berr, double* work, MKL_INT* iwork, MKL_INT* info ) NOTHROW;

void DPPSV( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs,
            double* ap, double* b, const MKL_INT* ldb, MKL_INT* info ) NOTHROW;
void DPPSV_( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs,
             double* ap, double* b, const MKL_INT* ldb, MKL_INT* info ) NOTHROW;
void dppsv( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs,
            double* ap, double* b, const MKL_INT* ldb, MKL_INT* info ) NOTHROW;
void dppsv_( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs,
             double* ap, double* b, const MKL_INT* ldb, MKL_INT* info ) NOTHROW;

void DPPSVX( const char* fact, const char* uplo, const MKL_INT* n,
             const MKL_INT* nrhs, double* ap, double* afp, char* equed,
             double* s, double* b, const MKL_INT* ldb, double* x,
             const MKL_INT* ldx, double* rcond, double* ferr, double* berr,
             double* work, MKL_INT* iwork, MKL_INT* info ) NOTHROW;
void DPPSVX_( const char* fact, const char* uplo, const MKL_INT* n,
              const MKL_INT* nrhs, double* ap, double* afp, char* equed,
              double* s, double* b, const MKL_INT* ldb, double* x,
              const MKL_INT* ldx, double* rcond, double* ferr, double* berr,
              double* work, MKL_INT* iwork, MKL_INT* info ) NOTHROW;
void dppsvx( const char* fact, const char* uplo, const MKL_INT* n,
             const MKL_INT* nrhs, double* ap, double* afp, char* equed,
             double* s, double* b, const MKL_INT* ldb, double* x,
             const MKL_INT* ldx, double* rcond, double* ferr, double* berr,
             double* work, MKL_INT* iwork, MKL_INT* info ) NOTHROW;
void dppsvx_( const char* fact, const char* uplo, const MKL_INT* n,
              const MKL_INT* nrhs, double* ap, double* afp, char* equed,
              double* s, double* b, const MKL_INT* ldb, double* x,
              const MKL_INT* ldx, double* rcond, double* ferr, double* berr,
              double* work, MKL_INT* iwork, MKL_INT* info ) NOTHROW;

void DPPTRF( const char* uplo, const MKL_INT* n, double* ap, MKL_INT* info ) NOTHROW;
void DPPTRF_( const char* uplo, const MKL_INT* n, double* ap, MKL_INT* info ) NOTHROW;
void dpptrf( const char* uplo, const MKL_INT* n, double* ap, MKL_INT* info ) NOTHROW;
void dpptrf_( const char* uplo, const MKL_INT* n, double* ap, MKL_INT* info ) NOTHROW;

void DPPTRI( const char* uplo, const MKL_INT* n, double* ap, MKL_INT* info ) NOTHROW;
void DPPTRI_( const char* uplo, const MKL_INT* n, double* ap, MKL_INT* info ) NOTHROW;
void dpptri( const char* uplo, const MKL_INT* n, double* ap, MKL_INT* info ) NOTHROW;
void dpptri_( const char* uplo, const MKL_INT* n, double* ap, MKL_INT* info ) NOTHROW;

void DPPTRS( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs,
             const double* ap, double* b, const MKL_INT* ldb, MKL_INT* info ) NOTHROW;
void DPPTRS_( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs,
              const double* ap, double* b, const MKL_INT* ldb, MKL_INT* info ) NOTHROW;
void dpptrs( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs,
             const double* ap, double* b, const MKL_INT* ldb, MKL_INT* info ) NOTHROW;
void dpptrs_( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs,
              const double* ap, double* b, const MKL_INT* ldb, MKL_INT* info ) NOTHROW;

void DPSTF2( const char* uplo, const MKL_INT* n, double* a, const MKL_INT* lda,
             MKL_INT* piv, MKL_INT* rank, const double* tol, double* work,
             MKL_INT* info ) NOTHROW;
void DPSTF2_( const char* uplo, const MKL_INT* n, double* a,
              const MKL_INT* lda, MKL_INT* piv, MKL_INT* rank,
              const double* tol, double* work, MKL_INT* info ) NOTHROW;
void dpstf2( const char* uplo, const MKL_INT* n, double* a, const MKL_INT* lda,
             MKL_INT* piv, MKL_INT* rank, const double* tol, double* work,
             MKL_INT* info ) NOTHROW;
void dpstf2_( const char* uplo, const MKL_INT* n, double* a,
              const MKL_INT* lda, MKL_INT* piv, MKL_INT* rank,
              const double* tol, double* work, MKL_INT* info ) NOTHROW;

void DPSTRF( const char* uplo, const MKL_INT* n, double* a, const MKL_INT* lda,
             MKL_INT* piv, MKL_INT* rank, const double* tol, double* work,
             MKL_INT* info ) NOTHROW;
void DPSTRF_( const char* uplo, const MKL_INT* n, double* a,
              const MKL_INT* lda, MKL_INT* piv, MKL_INT* rank,
              const double* tol, double* work, MKL_INT* info ) NOTHROW;
void dpstrf( const char* uplo, const MKL_INT* n, double* a, const MKL_INT* lda,
             MKL_INT* piv, MKL_INT* rank, const double* tol, double* work,
             MKL_INT* info ) NOTHROW;
void dpstrf_( const char* uplo, const MKL_INT* n, double* a,
              const MKL_INT* lda, MKL_INT* piv, MKL_INT* rank,
              const double* tol, double* work, MKL_INT* info ) NOTHROW;

void DPTCON( const MKL_INT* n, const double* d, const double* e,
             const double* anorm, double* rcond, double* work, MKL_INT* info ) NOTHROW;
void DPTCON_( const MKL_INT* n, const double* d, const double* e,
              const double* anorm, double* rcond, double* work,
              MKL_INT* info ) NOTHROW;
void dptcon( const MKL_INT* n, const double* d, const double* e,
             const double* anorm, double* rcond, double* work, MKL_INT* info ) NOTHROW;
void dptcon_( const MKL_INT* n, const double* d, const double* e,
              const double* anorm, double* rcond, double* work,
              MKL_INT* info ) NOTHROW;

void DPTEQR( const char* compz, const MKL_INT* n, double* d, double* e,
             double* z, const MKL_INT* ldz, double* work, MKL_INT* info ) NOTHROW;
void DPTEQR_( const char* compz, const MKL_INT* n, double* d, double* e,
              double* z, const MKL_INT* ldz, double* work, MKL_INT* info ) NOTHROW;
void dpteqr( const char* compz, const MKL_INT* n, double* d, double* e,
             double* z, const MKL_INT* ldz, double* work, MKL_INT* info ) NOTHROW;
void dpteqr_( const char* compz, const MKL_INT* n, double* d, double* e,
              double* z, const MKL_INT* ldz, double* work, MKL_INT* info ) NOTHROW;

void DPTRFS( const MKL_INT* n, const MKL_INT* nrhs, const double* d,
             const double* e, const double* df, const double* ef,
             const double* b, const MKL_INT* ldb, double* x,
             const MKL_INT* ldx, double* ferr, double* berr, double* work,
             MKL_INT* info ) NOTHROW;
void DPTRFS_( const MKL_INT* n, const MKL_INT* nrhs, const double* d,
              const double* e, const double* df, const double* ef,
              const double* b, const MKL_INT* ldb, double* x,
              const MKL_INT* ldx, double* ferr, double* berr, double* work,
              MKL_INT* info ) NOTHROW;
void dptrfs( const MKL_INT* n, const MKL_INT* nrhs, const double* d,
             const double* e, const double* df, const double* ef,
             const double* b, const MKL_INT* ldb, double* x,
             const MKL_INT* ldx, double* ferr, double* berr, double* work,
             MKL_INT* info ) NOTHROW;
void dptrfs_( const MKL_INT* n, const MKL_INT* nrhs, const double* d,
              const double* e, const double* df, const double* ef,
              const double* b, const MKL_INT* ldb, double* x,
              const MKL_INT* ldx, double* ferr, double* berr, double* work,
              MKL_INT* info ) NOTHROW;

void DPTSV( const MKL_INT* n, const MKL_INT* nrhs, double* d, double* e,
            double* b, const MKL_INT* ldb, MKL_INT* info ) NOTHROW;
void DPTSV_( const MKL_INT* n, const MKL_INT* nrhs, double* d, double* e,
             double* b, const MKL_INT* ldb, MKL_INT* info ) NOTHROW;
void dptsv( const MKL_INT* n, const MKL_INT* nrhs, double* d, double* e,
            double* b, const MKL_INT* ldb, MKL_INT* info ) NOTHROW;
void dptsv_( const MKL_INT* n, const MKL_INT* nrhs, double* d, double* e,
             double* b, const MKL_INT* ldb, MKL_INT* info ) NOTHROW;

void DPTSVX( const char* fact, const MKL_INT* n, const MKL_INT* nrhs,
             const double* d, const double* e, double* df, double* ef,
             const double* b, const MKL_INT* ldb, double* x,
             const MKL_INT* ldx, double* rcond, double* ferr, double* berr,
             double* work, MKL_INT* info ) NOTHROW;
void DPTSVX_( const char* fact, const MKL_INT* n, const MKL_INT* nrhs,
              const double* d, const double* e, double* df, double* ef,
              const double* b, const MKL_INT* ldb, double* x,
              const MKL_INT* ldx, double* rcond, double* ferr, double* berr,
              double* work, MKL_INT* info ) NOTHROW;
void dptsvx( const char* fact, const MKL_INT* n, const MKL_INT* nrhs,
             const double* d, const double* e, double* df, double* ef,
             const double* b, const MKL_INT* ldb, double* x,
             const MKL_INT* ldx, double* rcond, double* ferr, double* berr,
             double* work, MKL_INT* info ) NOTHROW;
void dptsvx_( const char* fact, const MKL_INT* n, const MKL_INT* nrhs,
              const double* d, const double* e, double* df, double* ef,
              const double* b, const MKL_INT* ldb, double* x,
              const MKL_INT* ldx, double* rcond, double* ferr, double* berr,
              double* work, MKL_INT* info ) NOTHROW;

void DPTTRF( const MKL_INT* n, double* d, double* e, MKL_INT* info ) NOTHROW;
void DPTTRF_( const MKL_INT* n, double* d, double* e, MKL_INT* info ) NOTHROW;
void dpttrf( const MKL_INT* n, double* d, double* e, MKL_INT* info ) NOTHROW;
void dpttrf_( const MKL_INT* n, double* d, double* e, MKL_INT* info ) NOTHROW;

void DPTTRS( const MKL_INT* n, const MKL_INT* nrhs, const double* d,
             const double* e, double* b, const MKL_INT* ldb, MKL_INT* info ) NOTHROW;
void DPTTRS_( const MKL_INT* n, const MKL_INT* nrhs, const double* d,
              const double* e, double* b, const MKL_INT* ldb, MKL_INT* info ) NOTHROW;
void dpttrs( const MKL_INT* n, const MKL_INT* nrhs, const double* d,
             const double* e, double* b, const MKL_INT* ldb, MKL_INT* info ) NOTHROW;
void dpttrs_( const MKL_INT* n, const MKL_INT* nrhs, const double* d,
              const double* e, double* b, const MKL_INT* ldb, MKL_INT* info ) NOTHROW;

void DPTTS2( const MKL_INT* n, const MKL_INT* nrhs, const double* d,
             const double* e, double* b, const MKL_INT* ldb ) NOTHROW;
void DPTTS2_( const MKL_INT* n, const MKL_INT* nrhs, const double* d,
              const double* e, double* b, const MKL_INT* ldb ) NOTHROW;
void dptts2( const MKL_INT* n, const MKL_INT* nrhs, const double* d,
             const double* e, double* b, const MKL_INT* ldb ) NOTHROW;
void dptts2_( const MKL_INT* n, const MKL_INT* nrhs, const double* d,
              const double* e, double* b, const MKL_INT* ldb ) NOTHROW;

void DRSCL( const MKL_INT* n, const double* sa, double* sx,
            const MKL_INT* incx ) NOTHROW;
void DRSCL_( const MKL_INT* n, const double* sa, double* sx,
             const MKL_INT* incx ) NOTHROW;
void drscl( const MKL_INT* n, const double* sa, double* sx,
            const MKL_INT* incx ) NOTHROW;
void drscl_( const MKL_INT* n, const double* sa, double* sx,
             const MKL_INT* incx ) NOTHROW;

void DSBEVD( const char* jobz, const char* uplo, const MKL_INT* n,
             const MKL_INT* kd, double* ab, const MKL_INT* ldab, double* w,
             double* z, const MKL_INT* ldz, double* work, const MKL_INT* lwork,
             MKL_INT* iwork, const MKL_INT* liwork, MKL_INT* info ) NOTHROW;
void DSBEVD_( const char* jobz, const char* uplo, const MKL_INT* n,
              const MKL_INT* kd, double* ab, const MKL_INT* ldab, double* w,
              double* z, const MKL_INT* ldz, double* work,
              const MKL_INT* lwork, MKL_INT* iwork, const MKL_INT* liwork,
              MKL_INT* info ) NOTHROW;
void dsbevd( const char* jobz, const char* uplo, const MKL_INT* n,
             const MKL_INT* kd, double* ab, const MKL_INT* ldab, double* w,
             double* z, const MKL_INT* ldz, double* work, const MKL_INT* lwork,
             MKL_INT* iwork, const MKL_INT* liwork, MKL_INT* info ) NOTHROW;
void dsbevd_( const char* jobz, const char* uplo, const MKL_INT* n,
              const MKL_INT* kd, double* ab, const MKL_INT* ldab, double* w,
              double* z, const MKL_INT* ldz, double* work,
              const MKL_INT* lwork, MKL_INT* iwork, const MKL_INT* liwork,
              MKL_INT* info ) NOTHROW;

void DSBEV( const char* jobz, const char* uplo, const MKL_INT* n,
            const MKL_INT* kd, double* ab, const MKL_INT* ldab, double* w,
            double* z, const MKL_INT* ldz, double* work, MKL_INT* info ) NOTHROW;
void DSBEV_( const char* jobz, const char* uplo, const MKL_INT* n,
             const MKL_INT* kd, double* ab, const MKL_INT* ldab, double* w,
             double* z, const MKL_INT* ldz, double* work, MKL_INT* info ) NOTHROW;
void dsbev( const char* jobz, const char* uplo, const MKL_INT* n,
            const MKL_INT* kd, double* ab, const MKL_INT* ldab, double* w,
            double* z, const MKL_INT* ldz, double* work, MKL_INT* info ) NOTHROW;
void dsbev_( const char* jobz, const char* uplo, const MKL_INT* n,
             const MKL_INT* kd, double* ab, const MKL_INT* ldab, double* w,
             double* z, const MKL_INT* ldz, double* work, MKL_INT* info ) NOTHROW;

void DSBEVX( const char* jobz, const char* range, const char* uplo,
             const MKL_INT* n, const MKL_INT* kd, double* ab,
             const MKL_INT* ldab, double* q, const MKL_INT* ldq,
             const double* vl, const double* vu, const MKL_INT* il,
             const MKL_INT* iu, const double* abstol, MKL_INT* m, double* w,
             double* z, const MKL_INT* ldz, double* work, MKL_INT* iwork,
             MKL_INT* ifail, MKL_INT* info ) NOTHROW;
void DSBEVX_( const char* jobz, const char* range, const char* uplo,
              const MKL_INT* n, const MKL_INT* kd, double* ab,
              const MKL_INT* ldab, double* q, const MKL_INT* ldq,
              const double* vl, const double* vu, const MKL_INT* il,
              const MKL_INT* iu, const double* abstol, MKL_INT* m, double* w,
              double* z, const MKL_INT* ldz, double* work, MKL_INT* iwork,
              MKL_INT* ifail, MKL_INT* info ) NOTHROW;
void dsbevx( const char* jobz, const char* range, const char* uplo,
             const MKL_INT* n, const MKL_INT* kd, double* ab,
             const MKL_INT* ldab, double* q, const MKL_INT* ldq,
             const double* vl, const double* vu, const MKL_INT* il,
             const MKL_INT* iu, const double* abstol, MKL_INT* m, double* w,
             double* z, const MKL_INT* ldz, double* work, MKL_INT* iwork,
             MKL_INT* ifail, MKL_INT* info ) NOTHROW;
void dsbevx_( const char* jobz, const char* range, const char* uplo,
              const MKL_INT* n, const MKL_INT* kd, double* ab,
              const MKL_INT* ldab, double* q, const MKL_INT* ldq,
              const double* vl, const double* vu, const MKL_INT* il,
              const MKL_INT* iu, const double* abstol, MKL_INT* m, double* w,
              double* z, const MKL_INT* ldz, double* work, MKL_INT* iwork,
              MKL_INT* ifail, MKL_INT* info ) NOTHROW;

void DSBGST( const char* vect, const char* uplo, const MKL_INT* n,
             const MKL_INT* ka, const MKL_INT* kb, double* ab,
             const MKL_INT* ldab, const double* bb, const MKL_INT* ldbb,
             double* x, const MKL_INT* ldx, double* work, MKL_INT* info ) NOTHROW;
void DSBGST_( const char* vect, const char* uplo, const MKL_INT* n,
              const MKL_INT* ka, const MKL_INT* kb, double* ab,
              const MKL_INT* ldab, const double* bb, const MKL_INT* ldbb,
              double* x, const MKL_INT* ldx, double* work, MKL_INT* info ) NOTHROW;
void dsbgst( const char* vect, const char* uplo, const MKL_INT* n,
             const MKL_INT* ka, const MKL_INT* kb, double* ab,
             const MKL_INT* ldab, const double* bb, const MKL_INT* ldbb,
             double* x, const MKL_INT* ldx, double* work, MKL_INT* info ) NOTHROW;
void dsbgst_( const char* vect, const char* uplo, const MKL_INT* n,
              const MKL_INT* ka, const MKL_INT* kb, double* ab,
              const MKL_INT* ldab, const double* bb, const MKL_INT* ldbb,
              double* x, const MKL_INT* ldx, double* work, MKL_INT* info ) NOTHROW;

void DSBGVD( const char* jobz, const char* uplo, const MKL_INT* n,
             const MKL_INT* ka, const MKL_INT* kb, double* ab,
             const MKL_INT* ldab, double* bb, const MKL_INT* ldbb, double* w,
             double* z, const MKL_INT* ldz, double* work, const MKL_INT* lwork,
             MKL_INT* iwork, const MKL_INT* liwork, MKL_INT* info ) NOTHROW;
void DSBGVD_( const char* jobz, const char* uplo, const MKL_INT* n,
              const MKL_INT* ka, const MKL_INT* kb, double* ab,
              const MKL_INT* ldab, double* bb, const MKL_INT* ldbb, double* w,
              double* z, const MKL_INT* ldz, double* work,
              const MKL_INT* lwork, MKL_INT* iwork, const MKL_INT* liwork,
              MKL_INT* info ) NOTHROW;
void dsbgvd( const char* jobz, const char* uplo, const MKL_INT* n,
             const MKL_INT* ka, const MKL_INT* kb, double* ab,
             const MKL_INT* ldab, double* bb, const MKL_INT* ldbb, double* w,
             double* z, const MKL_INT* ldz, double* work, const MKL_INT* lwork,
             MKL_INT* iwork, const MKL_INT* liwork, MKL_INT* info ) NOTHROW;
void dsbgvd_( const char* jobz, const char* uplo, const MKL_INT* n,
              const MKL_INT* ka, const MKL_INT* kb, double* ab,
              const MKL_INT* ldab, double* bb, const MKL_INT* ldbb, double* w,
              double* z, const MKL_INT* ldz, double* work,
              const MKL_INT* lwork, MKL_INT* iwork, const MKL_INT* liwork,
              MKL_INT* info ) NOTHROW;

void DSBGV( const char* jobz, const char* uplo, const MKL_INT* n,
            const MKL_INT* ka, const MKL_INT* kb, double* ab,
            const MKL_INT* ldab, double* bb, const MKL_INT* ldbb, double* w,
            double* z, const MKL_INT* ldz, double* work, MKL_INT* info ) NOTHROW;
void DSBGV_( const char* jobz, const char* uplo, const MKL_INT* n,
             const MKL_INT* ka, const MKL_INT* kb, double* ab,
             const MKL_INT* ldab, double* bb, const MKL_INT* ldbb, double* w,
             double* z, const MKL_INT* ldz, double* work, MKL_INT* info ) NOTHROW;
void dsbgv( const char* jobz, const char* uplo, const MKL_INT* n,
            const MKL_INT* ka, const MKL_INT* kb, double* ab,
            const MKL_INT* ldab, double* bb, const MKL_INT* ldbb, double* w,
            double* z, const MKL_INT* ldz, double* work, MKL_INT* info ) NOTHROW;
void dsbgv_( const char* jobz, const char* uplo, const MKL_INT* n,
             const MKL_INT* ka, const MKL_INT* kb, double* ab,
             const MKL_INT* ldab, double* bb, const MKL_INT* ldbb, double* w,
             double* z, const MKL_INT* ldz, double* work, MKL_INT* info ) NOTHROW;

void DSBGVX( const char* jobz, const char* range, const char* uplo,
             const MKL_INT* n, const MKL_INT* ka, const MKL_INT* kb,
             double* ab, const MKL_INT* ldab, double* bb, const MKL_INT* ldbb,
             double* q, const MKL_INT* ldq, const double* vl, const double* vu,
             const MKL_INT* il, const MKL_INT* iu, const double* abstol,
             MKL_INT* m, double* w, double* z, const MKL_INT* ldz,
             double* work, MKL_INT* iwork, MKL_INT* ifail, MKL_INT* info ) NOTHROW;
void DSBGVX_( const char* jobz, const char* range, const char* uplo,
              const MKL_INT* n, const MKL_INT* ka, const MKL_INT* kb,
              double* ab, const MKL_INT* ldab, double* bb, const MKL_INT* ldbb,
              double* q, const MKL_INT* ldq, const double* vl,
              const double* vu, const MKL_INT* il, const MKL_INT* iu,
              const double* abstol, MKL_INT* m, double* w, double* z,
              const MKL_INT* ldz, double* work, MKL_INT* iwork, MKL_INT* ifail,
              MKL_INT* info ) NOTHROW;
void dsbgvx( const char* jobz, const char* range, const char* uplo,
             const MKL_INT* n, const MKL_INT* ka, const MKL_INT* kb,
             double* ab, const MKL_INT* ldab, double* bb, const MKL_INT* ldbb,
             double* q, const MKL_INT* ldq, const double* vl, const double* vu,
             const MKL_INT* il, const MKL_INT* iu, const double* abstol,
             MKL_INT* m, double* w, double* z, const MKL_INT* ldz,
             double* work, MKL_INT* iwork, MKL_INT* ifail, MKL_INT* info ) NOTHROW;
void dsbgvx_( const char* jobz, const char* range, const char* uplo,
              const MKL_INT* n, const MKL_INT* ka, const MKL_INT* kb,
              double* ab, const MKL_INT* ldab, double* bb, const MKL_INT* ldbb,
              double* q, const MKL_INT* ldq, const double* vl,
              const double* vu, const MKL_INT* il, const MKL_INT* iu,
              const double* abstol, MKL_INT* m, double* w, double* z,
              const MKL_INT* ldz, double* work, MKL_INT* iwork, MKL_INT* ifail,
              MKL_INT* info ) NOTHROW;

void DSBTRD( const char* vect, const char* uplo, const MKL_INT* n,
             const MKL_INT* kd, double* ab, const MKL_INT* ldab, double* d,
             double* e, double* q, const MKL_INT* ldq, double* work,
             MKL_INT* info ) NOTHROW;
void DSBTRD_( const char* vect, const char* uplo, const MKL_INT* n,
              const MKL_INT* kd, double* ab, const MKL_INT* ldab, double* d,
              double* e, double* q, const MKL_INT* ldq, double* work,
              MKL_INT* info ) NOTHROW;
void dsbtrd( const char* vect, const char* uplo, const MKL_INT* n,
             const MKL_INT* kd, double* ab, const MKL_INT* ldab, double* d,
             double* e, double* q, const MKL_INT* ldq, double* work,
             MKL_INT* info ) NOTHROW;
void dsbtrd_( const char* vect, const char* uplo, const MKL_INT* n,
              const MKL_INT* kd, double* ab, const MKL_INT* ldab, double* d,
              double* e, double* q, const MKL_INT* ldq, double* work,
              MKL_INT* info ) NOTHROW;

double DSECND( void );
double DSECND_( void );
double dsecnd( void );
double dsecnd_( void );

void DSFRK( const char* transr, const char* uplo, const char* trans,
            const MKL_INT* n, const MKL_INT* k, const double* alpha,
            const double* a, const MKL_INT* lda, const double* beta,
            double* c ) NOTHROW;
void DSFRK_( const char* transr, const char* uplo, const char* trans,
             const MKL_INT* n, const MKL_INT* k, const double* alpha,
             const double* a, const MKL_INT* lda, const double* beta,
             double* c ) NOTHROW;
void dsfrk( const char* transr, const char* uplo, const char* trans,
            const MKL_INT* n, const MKL_INT* k, const double* alpha,
            const double* a, const MKL_INT* lda, const double* beta,
            double* c ) NOTHROW;
void dsfrk_( const char* transr, const char* uplo, const char* trans,
             const MKL_INT* n, const MKL_INT* k, const double* alpha,
             const double* a, const MKL_INT* lda, const double* beta,
             double* c ) NOTHROW;

void DSGESV( const MKL_INT* n, const MKL_INT* nrhs, double* a,
             const MKL_INT* lda, MKL_INT* ipiv, const double* b,
             const MKL_INT* ldb, double* x, const MKL_INT* ldx, double* work,
             float* swork, MKL_INT* iter, MKL_INT* info ) NOTHROW;
void DSGESV_( const MKL_INT* n, const MKL_INT* nrhs, double* a,
              const MKL_INT* lda, MKL_INT* ipiv, const double* b,
              const MKL_INT* ldb, double* x, const MKL_INT* ldx, double* work,
              float* swork, MKL_INT* iter, MKL_INT* info ) NOTHROW;
void dsgesv( const MKL_INT* n, const MKL_INT* nrhs, double* a,
             const MKL_INT* lda, MKL_INT* ipiv, const double* b,
             const MKL_INT* ldb, double* x, const MKL_INT* ldx, double* work,
             float* swork, MKL_INT* iter, MKL_INT* info ) NOTHROW;
void dsgesv_( const MKL_INT* n, const MKL_INT* nrhs, double* a,
              const MKL_INT* lda, MKL_INT* ipiv, const double* b,
              const MKL_INT* ldb, double* x, const MKL_INT* ldx, double* work,
              float* swork, MKL_INT* iter, MKL_INT* info ) NOTHROW;

void DSPCON( const char* uplo, const MKL_INT* n, const double* ap,
             const MKL_INT* ipiv, const double* anorm, double* rcond,
             double* work, MKL_INT* iwork, MKL_INT* info ) NOTHROW;
void DSPCON_( const char* uplo, const MKL_INT* n, const double* ap,
              const MKL_INT* ipiv, const double* anorm, double* rcond,
              double* work, MKL_INT* iwork, MKL_INT* info ) NOTHROW;
void dspcon( const char* uplo, const MKL_INT* n, const double* ap,
             const MKL_INT* ipiv, const double* anorm, double* rcond,
             double* work, MKL_INT* iwork, MKL_INT* info ) NOTHROW;
void dspcon_( const char* uplo, const MKL_INT* n, const double* ap,
              const MKL_INT* ipiv, const double* anorm, double* rcond,
              double* work, MKL_INT* iwork, MKL_INT* info ) NOTHROW;

void DSPEVD( const char* jobz, const char* uplo, const MKL_INT* n, double* ap,
             double* w, double* z, const MKL_INT* ldz, double* work,
             const MKL_INT* lwork, MKL_INT* iwork, const MKL_INT* liwork,
             MKL_INT* info ) NOTHROW;
void DSPEVD_( const char* jobz, const char* uplo, const MKL_INT* n, double* ap,
              double* w, double* z, const MKL_INT* ldz, double* work,
              const MKL_INT* lwork, MKL_INT* iwork, const MKL_INT* liwork,
              MKL_INT* info ) NOTHROW;
void dspevd( const char* jobz, const char* uplo, const MKL_INT* n, double* ap,
             double* w, double* z, const MKL_INT* ldz, double* work,
             const MKL_INT* lwork, MKL_INT* iwork, const MKL_INT* liwork,
             MKL_INT* info ) NOTHROW;
void dspevd_( const char* jobz, const char* uplo, const MKL_INT* n, double* ap,
              double* w, double* z, const MKL_INT* ldz, double* work,
              const MKL_INT* lwork, MKL_INT* iwork, const MKL_INT* liwork,
              MKL_INT* info ) NOTHROW;

void DSPEV( const char* jobz, const char* uplo, const MKL_INT* n, double* ap,
            double* w, double* z, const MKL_INT* ldz, double* work,
            MKL_INT* info ) NOTHROW;
void DSPEV_( const char* jobz, const char* uplo, const MKL_INT* n, double* ap,
             double* w, double* z, const MKL_INT* ldz, double* work,
             MKL_INT* info ) NOTHROW;
void dspev( const char* jobz, const char* uplo, const MKL_INT* n, double* ap,
            double* w, double* z, const MKL_INT* ldz, double* work,
            MKL_INT* info ) NOTHROW;
void dspev_( const char* jobz, const char* uplo, const MKL_INT* n, double* ap,
             double* w, double* z, const MKL_INT* ldz, double* work,
             MKL_INT* info ) NOTHROW;

void DSPEVX( const char* jobz, const char* range, const char* uplo,
             const MKL_INT* n, double* ap, const double* vl, const double* vu,
             const MKL_INT* il, const MKL_INT* iu, const double* abstol,
             MKL_INT* m, double* w, double* z, const MKL_INT* ldz,
             double* work, MKL_INT* iwork, MKL_INT* ifail, MKL_INT* info ) NOTHROW;
void DSPEVX_( const char* jobz, const char* range, const char* uplo,
              const MKL_INT* n, double* ap, const double* vl, const double* vu,
              const MKL_INT* il, const MKL_INT* iu, const double* abstol,
              MKL_INT* m, double* w, double* z, const MKL_INT* ldz,
              double* work, MKL_INT* iwork, MKL_INT* ifail, MKL_INT* info ) NOTHROW;
void dspevx( const char* jobz, const char* range, const char* uplo,
             const MKL_INT* n, double* ap, const double* vl, const double* vu,
             const MKL_INT* il, const MKL_INT* iu, const double* abstol,
             MKL_INT* m, double* w, double* z, const MKL_INT* ldz,
             double* work, MKL_INT* iwork, MKL_INT* ifail, MKL_INT* info ) NOTHROW;
void dspevx_( const char* jobz, const char* range, const char* uplo,
              const MKL_INT* n, double* ap, const double* vl, const double* vu,
              const MKL_INT* il, const MKL_INT* iu, const double* abstol,
              MKL_INT* m, double* w, double* z, const MKL_INT* ldz,
              double* work, MKL_INT* iwork, MKL_INT* ifail, MKL_INT* info ) NOTHROW;

void DSPGST( const MKL_INT* itype, const char* uplo, const MKL_INT* n,
             double* ap, const double* bp, MKL_INT* info ) NOTHROW;
void DSPGST_( const MKL_INT* itype, const char* uplo, const MKL_INT* n,
              double* ap, const double* bp, MKL_INT* info ) NOTHROW;
void dspgst( const MKL_INT* itype, const char* uplo, const MKL_INT* n,
             double* ap, const double* bp, MKL_INT* info ) NOTHROW;
void dspgst_( const MKL_INT* itype, const char* uplo, const MKL_INT* n,
              double* ap, const double* bp, MKL_INT* info ) NOTHROW;

void DSPGVD( const MKL_INT* itype, const char* jobz, const char* uplo,
             const MKL_INT* n, double* ap, double* bp, double* w, double* z,
             const MKL_INT* ldz, double* work, const MKL_INT* lwork,
             MKL_INT* iwork, const MKL_INT* liwork, MKL_INT* info ) NOTHROW;
void DSPGVD_( const MKL_INT* itype, const char* jobz, const char* uplo,
              const MKL_INT* n, double* ap, double* bp, double* w, double* z,
              const MKL_INT* ldz, double* work, const MKL_INT* lwork,
              MKL_INT* iwork, const MKL_INT* liwork, MKL_INT* info ) NOTHROW;
void dspgvd( const MKL_INT* itype, const char* jobz, const char* uplo,
             const MKL_INT* n, double* ap, double* bp, double* w, double* z,
             const MKL_INT* ldz, double* work, const MKL_INT* lwork,
             MKL_INT* iwork, const MKL_INT* liwork, MKL_INT* info ) NOTHROW;
void dspgvd_( const MKL_INT* itype, const char* jobz, const char* uplo,
              const MKL_INT* n, double* ap, double* bp, double* w, double* z,
              const MKL_INT* ldz, double* work, const MKL_INT* lwork,
              MKL_INT* iwork, const MKL_INT* liwork, MKL_INT* info ) NOTHROW;

void DSPGV( const MKL_INT* itype, const char* jobz, const char* uplo,
            const MKL_INT* n, double* ap, double* bp, double* w, double* z,
            const MKL_INT* ldz, double* work, MKL_INT* info ) NOTHROW;
void DSPGV_( const MKL_INT* itype, const char* jobz, const char* uplo,
             const MKL_INT* n, double* ap, double* bp, double* w, double* z,
             const MKL_INT* ldz, double* work, MKL_INT* info ) NOTHROW;
void dspgv( const MKL_INT* itype, const char* jobz, const char* uplo,
            const MKL_INT* n, double* ap, double* bp, double* w, double* z,
            const MKL_INT* ldz, double* work, MKL_INT* info ) NOTHROW;
void dspgv_( const MKL_INT* itype, const char* jobz, const char* uplo,
             const MKL_INT* n, double* ap, double* bp, double* w, double* z,
             const MKL_INT* ldz, double* work, MKL_INT* info ) NOTHROW;

void DSPGVX( const MKL_INT* itype, const char* jobz, const char* range,
             const char* uplo, const MKL_INT* n, double* ap, double* bp,
             const double* vl, const double* vu, const MKL_INT* il,
             const MKL_INT* iu, const double* abstol, MKL_INT* m, double* w,
             double* z, const MKL_INT* ldz, double* work, MKL_INT* iwork,
             MKL_INT* ifail, MKL_INT* info ) NOTHROW;
void DSPGVX_( const MKL_INT* itype, const char* jobz, const char* range,
              const char* uplo, const MKL_INT* n, double* ap, double* bp,
              const double* vl, const double* vu, const MKL_INT* il,
              const MKL_INT* iu, const double* abstol, MKL_INT* m, double* w,
              double* z, const MKL_INT* ldz, double* work, MKL_INT* iwork,
              MKL_INT* ifail, MKL_INT* info ) NOTHROW;
void dspgvx( const MKL_INT* itype, const char* jobz, const char* range,
             const char* uplo, const MKL_INT* n, double* ap, double* bp,
             const double* vl, const double* vu, const MKL_INT* il,
             const MKL_INT* iu, const double* abstol, MKL_INT* m, double* w,
             double* z, const MKL_INT* ldz, double* work, MKL_INT* iwork,
             MKL_INT* ifail, MKL_INT* info ) NOTHROW;
void dspgvx_( const MKL_INT* itype, const char* jobz, const char* range,
              const char* uplo, const MKL_INT* n, double* ap, double* bp,
              const double* vl, const double* vu, const MKL_INT* il,
              const MKL_INT* iu, const double* abstol, MKL_INT* m, double* w,
              double* z, const MKL_INT* ldz, double* work, MKL_INT* iwork,
              MKL_INT* ifail, MKL_INT* info ) NOTHROW;

void DSPOSV( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs,
             double* a, const MKL_INT* lda, const double* b,
             const MKL_INT* ldb, double* x, const MKL_INT* ldx, double* work,
             float* swork, MKL_INT* iter, MKL_INT* info ) NOTHROW;
void DSPOSV_( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs,
              double* a, const MKL_INT* lda, const double* b,
              const MKL_INT* ldb, double* x, const MKL_INT* ldx, double* work,
              float* swork, MKL_INT* iter, MKL_INT* info ) NOTHROW;
void dsposv( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs,
             double* a, const MKL_INT* lda, const double* b,
             const MKL_INT* ldb, double* x, const MKL_INT* ldx, double* work,
             float* swork, MKL_INT* iter, MKL_INT* info ) NOTHROW;
void dsposv_( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs,
              double* a, const MKL_INT* lda, const double* b,
              const MKL_INT* ldb, double* x, const MKL_INT* ldx, double* work,
              float* swork, MKL_INT* iter, MKL_INT* info ) NOTHROW;

void DSPRFS( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs,
             const double* ap, const double* afp, const MKL_INT* ipiv,
             const double* b, const MKL_INT* ldb, double* x,
             const MKL_INT* ldx, double* ferr, double* berr, double* work,
             MKL_INT* iwork, MKL_INT* info ) NOTHROW;
void DSPRFS_( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs,
              const double* ap, const double* afp, const MKL_INT* ipiv,
              const double* b, const MKL_INT* ldb, double* x,
              const MKL_INT* ldx, double* ferr, double* berr, double* work,
              MKL_INT* iwork, MKL_INT* info ) NOTHROW;
void dsprfs( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs,
             const double* ap, const double* afp, const MKL_INT* ipiv,
             const double* b, const MKL_INT* ldb, double* x,
             const MKL_INT* ldx, double* ferr, double* berr, double* work,
             MKL_INT* iwork, MKL_INT* info ) NOTHROW;
void dsprfs_( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs,
              const double* ap, const double* afp, const MKL_INT* ipiv,
              const double* b, const MKL_INT* ldb, double* x,
              const MKL_INT* ldx, double* ferr, double* berr, double* work,
              MKL_INT* iwork, MKL_INT* info ) NOTHROW;

void DSPSV( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs,
            double* ap, MKL_INT* ipiv, double* b, const MKL_INT* ldb,
            MKL_INT* info ) NOTHROW;
void DSPSV_( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs,
             double* ap, MKL_INT* ipiv, double* b, const MKL_INT* ldb,
             MKL_INT* info ) NOTHROW;
void dspsv( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs,
            double* ap, MKL_INT* ipiv, double* b, const MKL_INT* ldb,
            MKL_INT* info ) NOTHROW;
void dspsv_( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs,
             double* ap, MKL_INT* ipiv, double* b, const MKL_INT* ldb,
             MKL_INT* info ) NOTHROW;

void DSPSVX( const char* fact, const char* uplo, const MKL_INT* n,
             const MKL_INT* nrhs, const double* ap, double* afp, MKL_INT* ipiv,
             const double* b, const MKL_INT* ldb, double* x,
             const MKL_INT* ldx, double* rcond, double* ferr, double* berr,
             double* work, MKL_INT* iwork, MKL_INT* info ) NOTHROW;
void DSPSVX_( const char* fact, const char* uplo, const MKL_INT* n,
              const MKL_INT* nrhs, const double* ap, double* afp,
              MKL_INT* ipiv, const double* b, const MKL_INT* ldb, double* x,
              const MKL_INT* ldx, double* rcond, double* ferr, double* berr,
              double* work, MKL_INT* iwork, MKL_INT* info ) NOTHROW;
void dspsvx( const char* fact, const char* uplo, const MKL_INT* n,
             const MKL_INT* nrhs, const double* ap, double* afp, MKL_INT* ipiv,
             const double* b, const MKL_INT* ldb, double* x,
             const MKL_INT* ldx, double* rcond, double* ferr, double* berr,
             double* work, MKL_INT* iwork, MKL_INT* info ) NOTHROW;
void dspsvx_( const char* fact, const char* uplo, const MKL_INT* n,
              const MKL_INT* nrhs, const double* ap, double* afp,
              MKL_INT* ipiv, const double* b, const MKL_INT* ldb, double* x,
              const MKL_INT* ldx, double* rcond, double* ferr, double* berr,
              double* work, MKL_INT* iwork, MKL_INT* info ) NOTHROW;

void DSPTRD( const char* uplo, const MKL_INT* n, double* ap, double* d,
             double* e, double* tau, MKL_INT* info ) NOTHROW;
void DSPTRD_( const char* uplo, const MKL_INT* n, double* ap, double* d,
              double* e, double* tau, MKL_INT* info ) NOTHROW;
void dsptrd( const char* uplo, const MKL_INT* n, double* ap, double* d,
             double* e, double* tau, MKL_INT* info ) NOTHROW;
void dsptrd_( const char* uplo, const MKL_INT* n, double* ap, double* d,
              double* e, double* tau, MKL_INT* info ) NOTHROW;

void DSPTRF( const char* uplo, const MKL_INT* n, double* ap, MKL_INT* ipiv,
             MKL_INT* info ) NOTHROW;
void DSPTRF_( const char* uplo, const MKL_INT* n, double* ap, MKL_INT* ipiv,
              MKL_INT* info ) NOTHROW;
void dsptrf( const char* uplo, const MKL_INT* n, double* ap, MKL_INT* ipiv,
             MKL_INT* info ) NOTHROW;
void dsptrf_( const char* uplo, const MKL_INT* n, double* ap, MKL_INT* ipiv,
              MKL_INT* info ) NOTHROW;

void DSPTRI( const char* uplo, const MKL_INT* n, double* ap,
             const MKL_INT* ipiv, double* work, MKL_INT* info ) NOTHROW;
void DSPTRI_( const char* uplo, const MKL_INT* n, double* ap,
              const MKL_INT* ipiv, double* work, MKL_INT* info ) NOTHROW;
void dsptri( const char* uplo, const MKL_INT* n, double* ap,
             const MKL_INT* ipiv, double* work, MKL_INT* info ) NOTHROW;
void dsptri_( const char* uplo, const MKL_INT* n, double* ap,
              const MKL_INT* ipiv, double* work, MKL_INT* info ) NOTHROW;

void DSPTRS( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs,
             const double* ap, const MKL_INT* ipiv, double* b,
             const MKL_INT* ldb, MKL_INT* info ) NOTHROW;
void DSPTRS_( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs,
              const double* ap, const MKL_INT* ipiv, double* b,
              const MKL_INT* ldb, MKL_INT* info ) NOTHROW;
void dsptrs( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs,
             const double* ap, const MKL_INT* ipiv, double* b,
             const MKL_INT* ldb, MKL_INT* info ) NOTHROW;
void dsptrs_( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs,
              const double* ap, const MKL_INT* ipiv, double* b,
              const MKL_INT* ldb, MKL_INT* info ) NOTHROW;

void DSTEBZ( const char* range, const char* order, const MKL_INT* n,
             const double* vl, const double* vu, const MKL_INT* il,
             const MKL_INT* iu, const double* abstol, const double* d,
             const double* e, MKL_INT* m, MKL_INT* nsplit, double* w,
             MKL_INT* iblock, MKL_INT* isplit, double* work, MKL_INT* iwork,
             MKL_INT* info ) NOTHROW;
void DSTEBZ_( const char* range, const char* order, const MKL_INT* n,
              const double* vl, const double* vu, const MKL_INT* il,
              const MKL_INT* iu, const double* abstol, const double* d,
              const double* e, MKL_INT* m, MKL_INT* nsplit, double* w,
              MKL_INT* iblock, MKL_INT* isplit, double* work, MKL_INT* iwork,
              MKL_INT* info ) NOTHROW;
void dstebz( const char* range, const char* order, const MKL_INT* n,
             const double* vl, const double* vu, const MKL_INT* il,
             const MKL_INT* iu, const double* abstol, const double* d,
             const double* e, MKL_INT* m, MKL_INT* nsplit, double* w,
             MKL_INT* iblock, MKL_INT* isplit, double* work, MKL_INT* iwork,
             MKL_INT* info ) NOTHROW;
void dstebz_( const char* range, const char* order, const MKL_INT* n,
              const double* vl, const double* vu, const MKL_INT* il,
              const MKL_INT* iu, const double* abstol, const double* d,
              const double* e, MKL_INT* m, MKL_INT* nsplit, double* w,
              MKL_INT* iblock, MKL_INT* isplit, double* work, MKL_INT* iwork,
              MKL_INT* info ) NOTHROW;

void DSTEDC( const char* compz, const MKL_INT* n, double* d, double* e,
             double* z, const MKL_INT* ldz, double* work, const MKL_INT* lwork,
             MKL_INT* iwork, const MKL_INT* liwork, MKL_INT* info ) NOTHROW;
void DSTEDC_( const char* compz, const MKL_INT* n, double* d, double* e,
              double* z, const MKL_INT* ldz, double* work,
              const MKL_INT* lwork, MKL_INT* iwork, const MKL_INT* liwork,
              MKL_INT* info ) NOTHROW;
void dstedc( const char* compz, const MKL_INT* n, double* d, double* e,
             double* z, const MKL_INT* ldz, double* work, const MKL_INT* lwork,
             MKL_INT* iwork, const MKL_INT* liwork, MKL_INT* info ) NOTHROW;
void dstedc_( const char* compz, const MKL_INT* n, double* d, double* e,
              double* z, const MKL_INT* ldz, double* work,
              const MKL_INT* lwork, MKL_INT* iwork, const MKL_INT* liwork,
              MKL_INT* info ) NOTHROW;

void DSTEGR( const char* jobz, const char* range, const MKL_INT* n, double* d,
             double* e, const double* vl, const double* vu, const MKL_INT* il,
             const MKL_INT* iu, const double* abstol, MKL_INT* m, double* w,
             double* z, const MKL_INT* ldz, MKL_INT* isuppz, double* work,
             const MKL_INT* lwork, MKL_INT* iwork, const MKL_INT* liwork,
             MKL_INT* info ) NOTHROW;
void DSTEGR_( const char* jobz, const char* range, const MKL_INT* n, double* d,
              double* e, const double* vl, const double* vu, const MKL_INT* il,
              const MKL_INT* iu, const double* abstol, MKL_INT* m, double* w,
              double* z, const MKL_INT* ldz, MKL_INT* isuppz, double* work,
              const MKL_INT* lwork, MKL_INT* iwork, const MKL_INT* liwork,
              MKL_INT* info ) NOTHROW;
void dstegr( const char* jobz, const char* range, const MKL_INT* n, double* d,
             double* e, const double* vl, const double* vu, const MKL_INT* il,
             const MKL_INT* iu, const double* abstol, MKL_INT* m, double* w,
             double* z, const MKL_INT* ldz, MKL_INT* isuppz, double* work,
             const MKL_INT* lwork, MKL_INT* iwork, const MKL_INT* liwork,
             MKL_INT* info ) NOTHROW;
void dstegr_( const char* jobz, const char* range, const MKL_INT* n, double* d,
              double* e, const double* vl, const double* vu, const MKL_INT* il,
              const MKL_INT* iu, const double* abstol, MKL_INT* m, double* w,
              double* z, const MKL_INT* ldz, MKL_INT* isuppz, double* work,
              const MKL_INT* lwork, MKL_INT* iwork, const MKL_INT* liwork,
              MKL_INT* info ) NOTHROW;

void DSTEIN( const MKL_INT* n, const double* d, const double* e,
             const MKL_INT* m, const double* w, const MKL_INT* iblock,
             const MKL_INT* isplit, double* z, const MKL_INT* ldz,
             double* work, MKL_INT* iwork, MKL_INT* ifail, MKL_INT* info ) NOTHROW;
void DSTEIN_( const MKL_INT* n, const double* d, const double* e,
              const MKL_INT* m, const double* w, const MKL_INT* iblock,
              const MKL_INT* isplit, double* z, const MKL_INT* ldz,
              double* work, MKL_INT* iwork, MKL_INT* ifail, MKL_INT* info ) NOTHROW;
void dstein( const MKL_INT* n, const double* d, const double* e,
             const MKL_INT* m, const double* w, const MKL_INT* iblock,
             const MKL_INT* isplit, double* z, const MKL_INT* ldz,
             double* work, MKL_INT* iwork, MKL_INT* ifail, MKL_INT* info ) NOTHROW;
void dstein_( const MKL_INT* n, const double* d, const double* e,
              const MKL_INT* m, const double* w, const MKL_INT* iblock,
              const MKL_INT* isplit, double* z, const MKL_INT* ldz,
              double* work, MKL_INT* iwork, MKL_INT* ifail, MKL_INT* info ) NOTHROW;

void DSTEMR( const char* jobz, const char* range, const MKL_INT* n, double* d,
             double* e, const double* vl, const double* vu, const MKL_INT* il,
             const MKL_INT* iu, MKL_INT* m, double* w, double* z,
             const MKL_INT* ldz, const MKL_INT* nzc, MKL_INT* isuppz,
             MKL_INT* tryrac, double* work, const MKL_INT* lwork,
             MKL_INT* iwork, const MKL_INT* liwork, MKL_INT* info ) NOTHROW;
void DSTEMR_( const char* jobz, const char* range, const MKL_INT* n, double* d,
              double* e, const double* vl, const double* vu, const MKL_INT* il,
              const MKL_INT* iu, MKL_INT* m, double* w, double* z,
              const MKL_INT* ldz, const MKL_INT* nzc, MKL_INT* isuppz,
              MKL_INT* tryrac, double* work, const MKL_INT* lwork,
              MKL_INT* iwork, const MKL_INT* liwork, MKL_INT* info ) NOTHROW;
void dstemr( const char* jobz, const char* range, const MKL_INT* n, double* d,
             double* e, const double* vl, const double* vu, const MKL_INT* il,
             const MKL_INT* iu, MKL_INT* m, double* w, double* z,
             const MKL_INT* ldz, const MKL_INT* nzc, MKL_INT* isuppz,
             MKL_INT* tryrac, double* work, const MKL_INT* lwork,
             MKL_INT* iwork, const MKL_INT* liwork, MKL_INT* info ) NOTHROW;
void dstemr_( const char* jobz, const char* range, const MKL_INT* n, double* d,
              double* e, const double* vl, const double* vu, const MKL_INT* il,
              const MKL_INT* iu, MKL_INT* m, double* w, double* z,
              const MKL_INT* ldz, const MKL_INT* nzc, MKL_INT* isuppz,
              MKL_INT* tryrac, double* work, const MKL_INT* lwork,
              MKL_INT* iwork, const MKL_INT* liwork, MKL_INT* info ) NOTHROW;

void DSTEQR( const char* compz, const MKL_INT* n, double* d, double* e,
             double* z, const MKL_INT* ldz, double* work, MKL_INT* info ) NOTHROW;
void DSTEQR_( const char* compz, const MKL_INT* n, double* d, double* e,
              double* z, const MKL_INT* ldz, double* work, MKL_INT* info ) NOTHROW;
void dsteqr( const char* compz, const MKL_INT* n, double* d, double* e,
             double* z, const MKL_INT* ldz, double* work, MKL_INT* info ) NOTHROW;
void dsteqr_( const char* compz, const MKL_INT* n, double* d, double* e,
              double* z, const MKL_INT* ldz, double* work, MKL_INT* info ) NOTHROW;

void DSTERF( const MKL_INT* n, double* d, double* e, MKL_INT* info ) NOTHROW;
void DSTERF_( const MKL_INT* n, double* d, double* e, MKL_INT* info ) NOTHROW;
void dsterf( const MKL_INT* n, double* d, double* e, MKL_INT* info ) NOTHROW;
void dsterf_( const MKL_INT* n, double* d, double* e, MKL_INT* info ) NOTHROW;

void DSTEVD( const char* jobz, const MKL_INT* n, double* d, double* e,
             double* z, const MKL_INT* ldz, double* work, const MKL_INT* lwork,
             MKL_INT* iwork, const MKL_INT* liwork, MKL_INT* info ) NOTHROW;
void DSTEVD_( const char* jobz, const MKL_INT* n, double* d, double* e,
              double* z, const MKL_INT* ldz, double* work,
              const MKL_INT* lwork, MKL_INT* iwork, const MKL_INT* liwork,
              MKL_INT* info ) NOTHROW;
void dstevd( const char* jobz, const MKL_INT* n, double* d, double* e,
             double* z, const MKL_INT* ldz, double* work, const MKL_INT* lwork,
             MKL_INT* iwork, const MKL_INT* liwork, MKL_INT* info ) NOTHROW;
void dstevd_( const char* jobz, const MKL_INT* n, double* d, double* e,
              double* z, const MKL_INT* ldz, double* work,
              const MKL_INT* lwork, MKL_INT* iwork, const MKL_INT* liwork,
              MKL_INT* info ) NOTHROW;

void DSTEV( const char* jobz, const MKL_INT* n, double* d, double* e,
            double* z, const MKL_INT* ldz, double* work, MKL_INT* info ) NOTHROW;
void DSTEV_( const char* jobz, const MKL_INT* n, double* d, double* e,
             double* z, const MKL_INT* ldz, double* work, MKL_INT* info ) NOTHROW;
void dstev( const char* jobz, const MKL_INT* n, double* d, double* e,
            double* z, const MKL_INT* ldz, double* work, MKL_INT* info ) NOTHROW;
void dstev_( const char* jobz, const MKL_INT* n, double* d, double* e,
             double* z, const MKL_INT* ldz, double* work, MKL_INT* info ) NOTHROW;

void DSTEVR( const char* jobz, const char* range, const MKL_INT* n, double* d,
             double* e, const double* vl, const double* vu, const MKL_INT* il,
             const MKL_INT* iu, const double* abstol, MKL_INT* m, double* w,
             double* z, const MKL_INT* ldz, MKL_INT* isuppz, double* work,
             const MKL_INT* lwork, MKL_INT* iwork, const MKL_INT* liwork,
             MKL_INT* info ) NOTHROW;
void DSTEVR_( const char* jobz, const char* range, const MKL_INT* n, double* d,
              double* e, const double* vl, const double* vu, const MKL_INT* il,
              const MKL_INT* iu, const double* abstol, MKL_INT* m, double* w,
              double* z, const MKL_INT* ldz, MKL_INT* isuppz, double* work,
              const MKL_INT* lwork, MKL_INT* iwork, const MKL_INT* liwork,
              MKL_INT* info ) NOTHROW;
void dstevr( const char* jobz, const char* range, const MKL_INT* n, double* d,
             double* e, const double* vl, const double* vu, const MKL_INT* il,
             const MKL_INT* iu, const double* abstol, MKL_INT* m, double* w,
             double* z, const MKL_INT* ldz, MKL_INT* isuppz, double* work,
             const MKL_INT* lwork, MKL_INT* iwork, const MKL_INT* liwork,
             MKL_INT* info ) NOTHROW;
void dstevr_( const char* jobz, const char* range, const MKL_INT* n, double* d,
              double* e, const double* vl, const double* vu, const MKL_INT* il,
              const MKL_INT* iu, const double* abstol, MKL_INT* m, double* w,
              double* z, const MKL_INT* ldz, MKL_INT* isuppz, double* work,
              const MKL_INT* lwork, MKL_INT* iwork, const MKL_INT* liwork,
              MKL_INT* info ) NOTHROW;

void DSTEVX( const char* jobz, const char* range, const MKL_INT* n, double* d,
             double* e, const double* vl, const double* vu, const MKL_INT* il,
             const MKL_INT* iu, const double* abstol, MKL_INT* m, double* w,
             double* z, const MKL_INT* ldz, double* work, MKL_INT* iwork,
             MKL_INT* ifail, MKL_INT* info ) NOTHROW;
void DSTEVX_( const char* jobz, const char* range, const MKL_INT* n, double* d,
              double* e, const double* vl, const double* vu, const MKL_INT* il,
              const MKL_INT* iu, const double* abstol, MKL_INT* m, double* w,
              double* z, const MKL_INT* ldz, double* work, MKL_INT* iwork,
              MKL_INT* ifail, MKL_INT* info ) NOTHROW;
void dstevx( const char* jobz, const char* range, const MKL_INT* n, double* d,
             double* e, const double* vl, const double* vu, const MKL_INT* il,
             const MKL_INT* iu, const double* abstol, MKL_INT* m, double* w,
             double* z, const MKL_INT* ldz, double* work, MKL_INT* iwork,
             MKL_INT* ifail, MKL_INT* info ) NOTHROW;
void dstevx_( const char* jobz, const char* range, const MKL_INT* n, double* d,
              double* e, const double* vl, const double* vu, const MKL_INT* il,
              const MKL_INT* iu, const double* abstol, MKL_INT* m, double* w,
              double* z, const MKL_INT* ldz, double* work, MKL_INT* iwork,
              MKL_INT* ifail, MKL_INT* info ) NOTHROW;

void DSYCON( const char* uplo, const MKL_INT* n, const double* a,
             const MKL_INT* lda, const MKL_INT* ipiv, const double* anorm,
             double* rcond, double* work, MKL_INT* iwork, MKL_INT* info ) NOTHROW;
void DSYCON_( const char* uplo, const MKL_INT* n, const double* a,
              const MKL_INT* lda, const MKL_INT* ipiv, const double* anorm,
              double* rcond, double* work, MKL_INT* iwork, MKL_INT* info ) NOTHROW;
void dsycon( const char* uplo, const MKL_INT* n, const double* a,
             const MKL_INT* lda, const MKL_INT* ipiv, const double* anorm,
             double* rcond, double* work, MKL_INT* iwork, MKL_INT* info ) NOTHROW;
void dsycon_( const char* uplo, const MKL_INT* n, const double* a,
              const MKL_INT* lda, const MKL_INT* ipiv, const double* anorm,
              double* rcond, double* work, MKL_INT* iwork, MKL_INT* info ) NOTHROW;

void DSYEQUB( const char* uplo, const MKL_INT* n, const double* a,
              const MKL_INT* lda, double* s, double* scond, double* amax,
              double* work, MKL_INT* info ) NOTHROW;
void DSYEQUB_( const char* uplo, const MKL_INT* n, const double* a,
               const MKL_INT* lda, double* s, double* scond, double* amax,
               double* work, MKL_INT* info ) NOTHROW;
void dsyequb( const char* uplo, const MKL_INT* n, const double* a,
              const MKL_INT* lda, double* s, double* scond, double* amax,
              double* work, MKL_INT* info ) NOTHROW;
void dsyequb_( const char* uplo, const MKL_INT* n, const double* a,
               const MKL_INT* lda, double* s, double* scond, double* amax,
               double* work, MKL_INT* info ) NOTHROW;

void DSYEVD( const char* jobz, const char* uplo, const MKL_INT* n, double* a,
             const MKL_INT* lda, double* w, double* work, const MKL_INT* lwork,
             MKL_INT* iwork, const MKL_INT* liwork, MKL_INT* info ) NOTHROW;
void DSYEVD_( const char* jobz, const char* uplo, const MKL_INT* n, double* a,
              const MKL_INT* lda, double* w, double* work,
              const MKL_INT* lwork, MKL_INT* iwork, const MKL_INT* liwork,
              MKL_INT* info ) NOTHROW;
void dsyevd( const char* jobz, const char* uplo, const MKL_INT* n, double* a,
             const MKL_INT* lda, double* w, double* work, const MKL_INT* lwork,
             MKL_INT* iwork, const MKL_INT* liwork, MKL_INT* info ) NOTHROW;
void dsyevd_( const char* jobz, const char* uplo, const MKL_INT* n, double* a,
              const MKL_INT* lda, double* w, double* work,
              const MKL_INT* lwork, MKL_INT* iwork, const MKL_INT* liwork,
              MKL_INT* info ) NOTHROW;

void DSYEV( const char* jobz, const char* uplo, const MKL_INT* n, double* a,
            const MKL_INT* lda, double* w, double* work, const MKL_INT* lwork,
            MKL_INT* info ) NOTHROW;
void DSYEV_( const char* jobz, const char* uplo, const MKL_INT* n, double* a,
             const MKL_INT* lda, double* w, double* work, const MKL_INT* lwork,
             MKL_INT* info ) NOTHROW;
void dsyev( const char* jobz, const char* uplo, const MKL_INT* n, double* a,
            const MKL_INT* lda, double* w, double* work, const MKL_INT* lwork,
            MKL_INT* info ) NOTHROW;
void dsyev_( const char* jobz, const char* uplo, const MKL_INT* n, double* a,
             const MKL_INT* lda, double* w, double* work, const MKL_INT* lwork,
             MKL_INT* info ) NOTHROW;

void DSYEVR( const char* jobz, const char* range, const char* uplo,
             const MKL_INT* n, double* a, const MKL_INT* lda, const double* vl,
             const double* vu, const MKL_INT* il, const MKL_INT* iu,
             const double* abstol, MKL_INT* m, double* w, double* z,
             const MKL_INT* ldz, MKL_INT* isuppz, double* work,
             const MKL_INT* lwork, MKL_INT* iwork, const MKL_INT* liwork,
             MKL_INT* info ) NOTHROW;
void DSYEVR_( const char* jobz, const char* range, const char* uplo,
              const MKL_INT* n, double* a, const MKL_INT* lda,
              const double* vl, const double* vu, const MKL_INT* il,
              const MKL_INT* iu, const double* abstol, MKL_INT* m, double* w,
              double* z, const MKL_INT* ldz, MKL_INT* isuppz, double* work,
              const MKL_INT* lwork, MKL_INT* iwork, const MKL_INT* liwork,
              MKL_INT* info ) NOTHROW;
void dsyevr( const char* jobz, const char* range, const char* uplo,
             const MKL_INT* n, double* a, const MKL_INT* lda, const double* vl,
             const double* vu, const MKL_INT* il, const MKL_INT* iu,
             const double* abstol, MKL_INT* m, double* w, double* z,
             const MKL_INT* ldz, MKL_INT* isuppz, double* work,
             const MKL_INT* lwork, MKL_INT* iwork, const MKL_INT* liwork,
             MKL_INT* info ) NOTHROW;
void dsyevr_( const char* jobz, const char* range, const char* uplo,
              const MKL_INT* n, double* a, const MKL_INT* lda,
              const double* vl, const double* vu, const MKL_INT* il,
              const MKL_INT* iu, const double* abstol, MKL_INT* m, double* w,
              double* z, const MKL_INT* ldz, MKL_INT* isuppz, double* work,
              const MKL_INT* lwork, MKL_INT* iwork, const MKL_INT* liwork,
              MKL_INT* info ) NOTHROW;

void DSYEVX( const char* jobz, const char* range, const char* uplo,
             const MKL_INT* n, double* a, const MKL_INT* lda, const double* vl,
             const double* vu, const MKL_INT* il, const MKL_INT* iu,
             const double* abstol, MKL_INT* m, double* w, double* z,
             const MKL_INT* ldz, double* work, const MKL_INT* lwork,
             MKL_INT* iwork, MKL_INT* ifail, MKL_INT* info ) NOTHROW;
void DSYEVX_( const char* jobz, const char* range, const char* uplo,
              const MKL_INT* n, double* a, const MKL_INT* lda,
              const double* vl, const double* vu, const MKL_INT* il,
              const MKL_INT* iu, const double* abstol, MKL_INT* m, double* w,
              double* z, const MKL_INT* ldz, double* work,
              const MKL_INT* lwork, MKL_INT* iwork, MKL_INT* ifail,
              MKL_INT* info ) NOTHROW;
void dsyevx( const char* jobz, const char* range, const char* uplo,
             const MKL_INT* n, double* a, const MKL_INT* lda, const double* vl,
             const double* vu, const MKL_INT* il, const MKL_INT* iu,
             const double* abstol, MKL_INT* m, double* w, double* z,
             const MKL_INT* ldz, double* work, const MKL_INT* lwork,
             MKL_INT* iwork, MKL_INT* ifail, MKL_INT* info ) NOTHROW;
void dsyevx_( const char* jobz, const char* range, const char* uplo,
              const MKL_INT* n, double* a, const MKL_INT* lda,
              const double* vl, const double* vu, const MKL_INT* il,
              const MKL_INT* iu, const double* abstol, MKL_INT* m, double* w,
              double* z, const MKL_INT* ldz, double* work,
              const MKL_INT* lwork, MKL_INT* iwork, MKL_INT* ifail,
              MKL_INT* info ) NOTHROW;

void DSYGS2( const MKL_INT* itype, const char* uplo, const MKL_INT* n,
             double* a, const MKL_INT* lda, const double* b,
             const MKL_INT* ldb, MKL_INT* info ) NOTHROW;
void DSYGS2_( const MKL_INT* itype, const char* uplo, const MKL_INT* n,
              double* a, const MKL_INT* lda, const double* b,
              const MKL_INT* ldb, MKL_INT* info ) NOTHROW;
void dsygs2( const MKL_INT* itype, const char* uplo, const MKL_INT* n,
             double* a, const MKL_INT* lda, const double* b,
             const MKL_INT* ldb, MKL_INT* info ) NOTHROW;
void dsygs2_( const MKL_INT* itype, const char* uplo, const MKL_INT* n,
              double* a, const MKL_INT* lda, const double* b,
              const MKL_INT* ldb, MKL_INT* info ) NOTHROW;

void DSYGST( const MKL_INT* itype, const char* uplo, const MKL_INT* n,
             double* a, const MKL_INT* lda, const double* b,
             const MKL_INT* ldb, MKL_INT* info ) NOTHROW;
void DSYGST_( const MKL_INT* itype, const char* uplo, const MKL_INT* n,
              double* a, const MKL_INT* lda, const double* b,
              const MKL_INT* ldb, MKL_INT* info ) NOTHROW;
void dsygst( const MKL_INT* itype, const char* uplo, const MKL_INT* n,
             double* a, const MKL_INT* lda, const double* b,
             const MKL_INT* ldb, MKL_INT* info ) NOTHROW;
void dsygst_( const MKL_INT* itype, const char* uplo, const MKL_INT* n,
              double* a, const MKL_INT* lda, const double* b,
              const MKL_INT* ldb, MKL_INT* info ) NOTHROW;

void DSYGVD( const MKL_INT* itype, const char* jobz, const char* uplo,
             const MKL_INT* n, double* a, const MKL_INT* lda, double* b,
             const MKL_INT* ldb, double* w, double* work, const MKL_INT* lwork,
             MKL_INT* iwork, const MKL_INT* liwork, MKL_INT* info ) NOTHROW;
void DSYGVD_( const MKL_INT* itype, const char* jobz, const char* uplo,
              const MKL_INT* n, double* a, const MKL_INT* lda, double* b,
              const MKL_INT* ldb, double* w, double* work,
              const MKL_INT* lwork, MKL_INT* iwork, const MKL_INT* liwork,
              MKL_INT* info ) NOTHROW;
void dsygvd( const MKL_INT* itype, const char* jobz, const char* uplo,
             const MKL_INT* n, double* a, const MKL_INT* lda, double* b,
             const MKL_INT* ldb, double* w, double* work, const MKL_INT* lwork,
             MKL_INT* iwork, const MKL_INT* liwork, MKL_INT* info ) NOTHROW;
void dsygvd_( const MKL_INT* itype, const char* jobz, const char* uplo,
              const MKL_INT* n, double* a, const MKL_INT* lda, double* b,
              const MKL_INT* ldb, double* w, double* work,
              const MKL_INT* lwork, MKL_INT* iwork, const MKL_INT* liwork,
              MKL_INT* info ) NOTHROW;

void DSYGV( const MKL_INT* itype, const char* jobz, const char* uplo,
            const MKL_INT* n, double* a, const MKL_INT* lda, double* b,
            const MKL_INT* ldb, double* w, double* work, const MKL_INT* lwork,
            MKL_INT* info ) NOTHROW;
void DSYGV_( const MKL_INT* itype, const char* jobz, const char* uplo,
             const MKL_INT* n, double* a, const MKL_INT* lda, double* b,
             const MKL_INT* ldb, double* w, double* work, const MKL_INT* lwork,
             MKL_INT* info ) NOTHROW;
void dsygv( const MKL_INT* itype, const char* jobz, const char* uplo,
            const MKL_INT* n, double* a, const MKL_INT* lda, double* b,
            const MKL_INT* ldb, double* w, double* work, const MKL_INT* lwork,
            MKL_INT* info ) NOTHROW;
void dsygv_( const MKL_INT* itype, const char* jobz, const char* uplo,
             const MKL_INT* n, double* a, const MKL_INT* lda, double* b,
             const MKL_INT* ldb, double* w, double* work, const MKL_INT* lwork,
             MKL_INT* info ) NOTHROW;

void DSYGVX( const MKL_INT* itype, const char* jobz, const char* range,
             const char* uplo, const MKL_INT* n, double* a, const MKL_INT* lda,
             double* b, const MKL_INT* ldb, const double* vl, const double* vu,
             const MKL_INT* il, const MKL_INT* iu, const double* abstol,
             MKL_INT* m, double* w, double* z, const MKL_INT* ldz,
             double* work, const MKL_INT* lwork, MKL_INT* iwork,
             MKL_INT* ifail, MKL_INT* info ) NOTHROW;
void DSYGVX_( const MKL_INT* itype, const char* jobz, const char* range,
              const char* uplo, const MKL_INT* n, double* a,
              const MKL_INT* lda, double* b, const MKL_INT* ldb,
              const double* vl, const double* vu, const MKL_INT* il,
              const MKL_INT* iu, const double* abstol, MKL_INT* m, double* w,
              double* z, const MKL_INT* ldz, double* work,
              const MKL_INT* lwork, MKL_INT* iwork, MKL_INT* ifail,
              MKL_INT* info ) NOTHROW;
void dsygvx( const MKL_INT* itype, const char* jobz, const char* range,
             const char* uplo, const MKL_INT* n, double* a, const MKL_INT* lda,
             double* b, const MKL_INT* ldb, const double* vl, const double* vu,
             const MKL_INT* il, const MKL_INT* iu, const double* abstol,
             MKL_INT* m, double* w, double* z, const MKL_INT* ldz,
             double* work, const MKL_INT* lwork, MKL_INT* iwork,
             MKL_INT* ifail, MKL_INT* info ) NOTHROW;
void dsygvx_( const MKL_INT* itype, const char* jobz, const char* range,
              const char* uplo, const MKL_INT* n, double* a,
              const MKL_INT* lda, double* b, const MKL_INT* ldb,
              const double* vl, const double* vu, const MKL_INT* il,
              const MKL_INT* iu, const double* abstol, MKL_INT* m, double* w,
              double* z, const MKL_INT* ldz, double* work,
              const MKL_INT* lwork, MKL_INT* iwork, MKL_INT* ifail,
              MKL_INT* info ) NOTHROW;

void DSYRFS( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs,
             const double* a, const MKL_INT* lda, const double* af,
             const MKL_INT* ldaf, const MKL_INT* ipiv, const double* b,
             const MKL_INT* ldb, double* x, const MKL_INT* ldx, double* ferr,
             double* berr, double* work, MKL_INT* iwork, MKL_INT* info ) NOTHROW;
void DSYRFS_( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs,
              const double* a, const MKL_INT* lda, const double* af,
              const MKL_INT* ldaf, const MKL_INT* ipiv, const double* b,
              const MKL_INT* ldb, double* x, const MKL_INT* ldx, double* ferr,
              double* berr, double* work, MKL_INT* iwork, MKL_INT* info ) NOTHROW;
void dsyrfs( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs,
             const double* a, const MKL_INT* lda, const double* af,
             const MKL_INT* ldaf, const MKL_INT* ipiv, const double* b,
             const MKL_INT* ldb, double* x, const MKL_INT* ldx, double* ferr,
             double* berr, double* work, MKL_INT* iwork, MKL_INT* info ) NOTHROW;
void dsyrfs_( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs,
              const double* a, const MKL_INT* lda, const double* af,
              const MKL_INT* ldaf, const MKL_INT* ipiv, const double* b,
              const MKL_INT* ldb, double* x, const MKL_INT* ldx, double* ferr,
              double* berr, double* work, MKL_INT* iwork, MKL_INT* info ) NOTHROW;

void DSYRFSX( const char* uplo, const char* equed, const MKL_INT* n,
              const MKL_INT* nrhs, const double* a, const MKL_INT* lda,
              const double* af, const MKL_INT* ldaf, const MKL_INT* ipiv,
              double* s, const double* b, const MKL_INT* ldb, double* x,
              const MKL_INT* ldx, double* rcond, double* berr,
              const MKL_INT* n_err_bnds, double* err_bnds_norm,
              double* err_bnds_comp, const MKL_INT* nparams, double* params,
              double* work, MKL_INT* iwork, MKL_INT* info ) NOTHROW;
void DSYRFSX_( const char* uplo, const char* equed, const MKL_INT* n,
               const MKL_INT* nrhs, const double* a, const MKL_INT* lda,
               const double* af, const MKL_INT* ldaf, const MKL_INT* ipiv,
               double* s, const double* b, const MKL_INT* ldb, double* x,
               const MKL_INT* ldx, double* rcond, double* berr,
               const MKL_INT* n_err_bnds, double* err_bnds_norm,
               double* err_bnds_comp, const MKL_INT* nparams, double* params,
               double* work, MKL_INT* iwork, MKL_INT* info ) NOTHROW;
void dsyrfsx( const char* uplo, const char* equed, const MKL_INT* n,
              const MKL_INT* nrhs, const double* a, const MKL_INT* lda,
              const double* af, const MKL_INT* ldaf, const MKL_INT* ipiv,
              double* s, const double* b, const MKL_INT* ldb, double* x,
              const MKL_INT* ldx, double* rcond, double* berr,
              const MKL_INT* n_err_bnds, double* err_bnds_norm,
              double* err_bnds_comp, const MKL_INT* nparams, double* params,
              double* work, MKL_INT* iwork, MKL_INT* info ) NOTHROW;
void dsyrfsx_( const char* uplo, const char* equed, const MKL_INT* n,
               const MKL_INT* nrhs, const double* a, const MKL_INT* lda,
               const double* af, const MKL_INT* ldaf, const MKL_INT* ipiv,
               double* s, const double* b, const MKL_INT* ldb, double* x,
               const MKL_INT* ldx, double* rcond, double* berr,
               const MKL_INT* n_err_bnds, double* err_bnds_norm,
               double* err_bnds_comp, const MKL_INT* nparams, double* params,
               double* work, MKL_INT* iwork, MKL_INT* info ) NOTHROW;

void DSYSV( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs, double* a,
            const MKL_INT* lda, MKL_INT* ipiv, double* b, const MKL_INT* ldb,
            double* work, const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void DSYSV_( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs,
             double* a, const MKL_INT* lda, MKL_INT* ipiv, double* b,
             const MKL_INT* ldb, double* work, const MKL_INT* lwork,
             MKL_INT* info ) NOTHROW;
void dsysv( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs, double* a,
            const MKL_INT* lda, MKL_INT* ipiv, double* b, const MKL_INT* ldb,
            double* work, const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void dsysv_( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs,
             double* a, const MKL_INT* lda, MKL_INT* ipiv, double* b,
             const MKL_INT* ldb, double* work, const MKL_INT* lwork,
             MKL_INT* info ) NOTHROW;

void DSYSVX( const char* fact, const char* uplo, const MKL_INT* n,
             const MKL_INT* nrhs, const double* a, const MKL_INT* lda,
             double* af, const MKL_INT* ldaf, MKL_INT* ipiv, const double* b,
             const MKL_INT* ldb, double* x, const MKL_INT* ldx, double* rcond,
             double* ferr, double* berr, double* work, const MKL_INT* lwork,
             MKL_INT* iwork, MKL_INT* info ) NOTHROW;
void DSYSVX_( const char* fact, const char* uplo, const MKL_INT* n,
              const MKL_INT* nrhs, const double* a, const MKL_INT* lda,
              double* af, const MKL_INT* ldaf, MKL_INT* ipiv, const double* b,
              const MKL_INT* ldb, double* x, const MKL_INT* ldx, double* rcond,
              double* ferr, double* berr, double* work, const MKL_INT* lwork,
              MKL_INT* iwork, MKL_INT* info ) NOTHROW;
void dsysvx( const char* fact, const char* uplo, const MKL_INT* n,
             const MKL_INT* nrhs, const double* a, const MKL_INT* lda,
             double* af, const MKL_INT* ldaf, MKL_INT* ipiv, const double* b,
             const MKL_INT* ldb, double* x, const MKL_INT* ldx, double* rcond,
             double* ferr, double* berr, double* work, const MKL_INT* lwork,
             MKL_INT* iwork, MKL_INT* info ) NOTHROW;
void dsysvx_( const char* fact, const char* uplo, const MKL_INT* n,
              const MKL_INT* nrhs, const double* a, const MKL_INT* lda,
              double* af, const MKL_INT* ldaf, MKL_INT* ipiv, const double* b,
              const MKL_INT* ldb, double* x, const MKL_INT* ldx, double* rcond,
              double* ferr, double* berr, double* work, const MKL_INT* lwork,
              MKL_INT* iwork, MKL_INT* info ) NOTHROW;

void DSYSVXX( const char* fact, const char* uplo, const MKL_INT* n,
              const MKL_INT* nrhs, double* a, const MKL_INT* lda, double* af,
              const MKL_INT* ldaf, MKL_INT* ipiv, char* equed, double* s,
              double* b, const MKL_INT* ldb, double* x, const MKL_INT* ldx,
              double* rcond, double* rpvgrw, double* berr,
              const MKL_INT* n_err_bnds, double* err_bnds_norm,
              double* err_bnds_comp, const MKL_INT* nparams, double* params,
              double* work, MKL_INT* iwork, MKL_INT* info ) NOTHROW;
void DSYSVXX_( const char* fact, const char* uplo, const MKL_INT* n,
               const MKL_INT* nrhs, double* a, const MKL_INT* lda, double* af,
               const MKL_INT* ldaf, MKL_INT* ipiv, char* equed, double* s,
               double* b, const MKL_INT* ldb, double* x, const MKL_INT* ldx,
               double* rcond, double* rpvgrw, double* berr,
               const MKL_INT* n_err_bnds, double* err_bnds_norm,
               double* err_bnds_comp, const MKL_INT* nparams, double* params,
               double* work, MKL_INT* iwork, MKL_INT* info ) NOTHROW;
void dsysvxx( const char* fact, const char* uplo, const MKL_INT* n,
              const MKL_INT* nrhs, double* a, const MKL_INT* lda, double* af,
              const MKL_INT* ldaf, MKL_INT* ipiv, char* equed, double* s,
              double* b, const MKL_INT* ldb, double* x, const MKL_INT* ldx,
              double* rcond, double* rpvgrw, double* berr,
              const MKL_INT* n_err_bnds, double* err_bnds_norm,
              double* err_bnds_comp, const MKL_INT* nparams, double* params,
              double* work, MKL_INT* iwork, MKL_INT* info ) NOTHROW;
void dsysvxx_( const char* fact, const char* uplo, const MKL_INT* n,
               const MKL_INT* nrhs, double* a, const MKL_INT* lda, double* af,
               const MKL_INT* ldaf, MKL_INT* ipiv, char* equed, double* s,
               double* b, const MKL_INT* ldb, double* x, const MKL_INT* ldx,
               double* rcond, double* rpvgrw, double* berr,
               const MKL_INT* n_err_bnds, double* err_bnds_norm,
               double* err_bnds_comp, const MKL_INT* nparams, double* params,
               double* work, MKL_INT* iwork, MKL_INT* info ) NOTHROW;

void DSYTD2( const char* uplo, const MKL_INT* n, double* a, const MKL_INT* lda,
             double* d, double* e, double* tau, MKL_INT* info ) NOTHROW;
void DSYTD2_( const char* uplo, const MKL_INT* n, double* a,
              const MKL_INT* lda, double* d, double* e, double* tau,
              MKL_INT* info ) NOTHROW;
void dsytd2( const char* uplo, const MKL_INT* n, double* a, const MKL_INT* lda,
             double* d, double* e, double* tau, MKL_INT* info ) NOTHROW;
void dsytd2_( const char* uplo, const MKL_INT* n, double* a,
              const MKL_INT* lda, double* d, double* e, double* tau,
              MKL_INT* info ) NOTHROW;

void DSYTF2( const char* uplo, const MKL_INT* n, double* a, const MKL_INT* lda,
             MKL_INT* ipiv, MKL_INT* info ) NOTHROW;
void DSYTF2_( const char* uplo, const MKL_INT* n, double* a,
              const MKL_INT* lda, MKL_INT* ipiv, MKL_INT* info ) NOTHROW;
void dsytf2( const char* uplo, const MKL_INT* n, double* a, const MKL_INT* lda,
             MKL_INT* ipiv, MKL_INT* info ) NOTHROW;
void dsytf2_( const char* uplo, const MKL_INT* n, double* a,
              const MKL_INT* lda, MKL_INT* ipiv, MKL_INT* info ) NOTHROW;

void DSYTRD( const char* uplo, const MKL_INT* n, double* a, const MKL_INT* lda,
             double* d, double* e, double* tau, double* work,
             const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void DSYTRD_( const char* uplo, const MKL_INT* n, double* a,
              const MKL_INT* lda, double* d, double* e, double* tau,
              double* work, const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void dsytrd( const char* uplo, const MKL_INT* n, double* a, const MKL_INT* lda,
             double* d, double* e, double* tau, double* work,
             const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void dsytrd_( const char* uplo, const MKL_INT* n, double* a,
              const MKL_INT* lda, double* d, double* e, double* tau,
              double* work, const MKL_INT* lwork, MKL_INT* info ) NOTHROW;

void DSYTRF( const char* uplo, const MKL_INT* n, double* a, const MKL_INT* lda,
             MKL_INT* ipiv, double* work, const MKL_INT* lwork,
             MKL_INT* info ) NOTHROW;
void DSYTRF_( const char* uplo, const MKL_INT* n, double* a,
              const MKL_INT* lda, MKL_INT* ipiv, double* work,
              const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void dsytrf( const char* uplo, const MKL_INT* n, double* a, const MKL_INT* lda,
             MKL_INT* ipiv, double* work, const MKL_INT* lwork,
             MKL_INT* info ) NOTHROW;
void dsytrf_( const char* uplo, const MKL_INT* n, double* a,
              const MKL_INT* lda, MKL_INT* ipiv, double* work,
              const MKL_INT* lwork, MKL_INT* info ) NOTHROW;

void DSYTRI( const char* uplo, const MKL_INT* n, double* a, const MKL_INT* lda,
             const MKL_INT* ipiv, double* work, MKL_INT* info ) NOTHROW;
void DSYTRI_( const char* uplo, const MKL_INT* n, double* a,
              const MKL_INT* lda, const MKL_INT* ipiv, double* work,
              MKL_INT* info ) NOTHROW;
void dsytri( const char* uplo, const MKL_INT* n, double* a, const MKL_INT* lda,
             const MKL_INT* ipiv, double* work, MKL_INT* info ) NOTHROW;
void dsytri_( const char* uplo, const MKL_INT* n, double* a,
              const MKL_INT* lda, const MKL_INT* ipiv, double* work,
              MKL_INT* info ) NOTHROW;

void DSYTRS( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs,
             const double* a, const MKL_INT* lda, const MKL_INT* ipiv,
             double* b, const MKL_INT* ldb, MKL_INT* info ) NOTHROW;
void DSYTRS_( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs,
              const double* a, const MKL_INT* lda, const MKL_INT* ipiv,
              double* b, const MKL_INT* ldb, MKL_INT* info ) NOTHROW;
void dsytrs( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs,
             const double* a, const MKL_INT* lda, const MKL_INT* ipiv,
             double* b, const MKL_INT* ldb, MKL_INT* info ) NOTHROW;
void dsytrs_( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs,
              const double* a, const MKL_INT* lda, const MKL_INT* ipiv,
              double* b, const MKL_INT* ldb, MKL_INT* info ) NOTHROW;

void DTBCON( const char* norm, const char* uplo, const char* diag,
             const MKL_INT* n, const MKL_INT* kd, const double* ab,
             const MKL_INT* ldab, double* rcond, double* work, MKL_INT* iwork,
             MKL_INT* info ) NOTHROW;
void DTBCON_( const char* norm, const char* uplo, const char* diag,
              const MKL_INT* n, const MKL_INT* kd, const double* ab,
              const MKL_INT* ldab, double* rcond, double* work, MKL_INT* iwork,
              MKL_INT* info ) NOTHROW;
void dtbcon( const char* norm, const char* uplo, const char* diag,
             const MKL_INT* n, const MKL_INT* kd, const double* ab,
             const MKL_INT* ldab, double* rcond, double* work, MKL_INT* iwork,
             MKL_INT* info ) NOTHROW;
void dtbcon_( const char* norm, const char* uplo, const char* diag,
              const MKL_INT* n, const MKL_INT* kd, const double* ab,
              const MKL_INT* ldab, double* rcond, double* work, MKL_INT* iwork,
              MKL_INT* info ) NOTHROW;

void DTBRFS( const char* uplo, const char* trans, const char* diag,
             const MKL_INT* n, const MKL_INT* kd, const MKL_INT* nrhs,
             const double* ab, const MKL_INT* ldab, const double* b,
             const MKL_INT* ldb, const double* x, const MKL_INT* ldx,
             double* ferr, double* berr, double* work, MKL_INT* iwork,
             MKL_INT* info ) NOTHROW;
void DTBRFS_( const char* uplo, const char* trans, const char* diag,
              const MKL_INT* n, const MKL_INT* kd, const MKL_INT* nrhs,
              const double* ab, const MKL_INT* ldab, const double* b,
              const MKL_INT* ldb, const double* x, const MKL_INT* ldx,
              double* ferr, double* berr, double* work, MKL_INT* iwork,
              MKL_INT* info ) NOTHROW;
void dtbrfs( const char* uplo, const char* trans, const char* diag,
             const MKL_INT* n, const MKL_INT* kd, const MKL_INT* nrhs,
             const double* ab, const MKL_INT* ldab, const double* b,
             const MKL_INT* ldb, const double* x, const MKL_INT* ldx,
             double* ferr, double* berr, double* work, MKL_INT* iwork,
             MKL_INT* info ) NOTHROW;
void dtbrfs_( const char* uplo, const char* trans, const char* diag,
              const MKL_INT* n, const MKL_INT* kd, const MKL_INT* nrhs,
              const double* ab, const MKL_INT* ldab, const double* b,
              const MKL_INT* ldb, const double* x, const MKL_INT* ldx,
              double* ferr, double* berr, double* work, MKL_INT* iwork,
              MKL_INT* info ) NOTHROW;

void DTBTRS( const char* uplo, const char* trans, const char* diag,
             const MKL_INT* n, const MKL_INT* kd, const MKL_INT* nrhs,
             const double* ab, const MKL_INT* ldab, double* b,
             const MKL_INT* ldb, MKL_INT* info ) NOTHROW;
void DTBTRS_( const char* uplo, const char* trans, const char* diag,
              const MKL_INT* n, const MKL_INT* kd, const MKL_INT* nrhs,
              const double* ab, const MKL_INT* ldab, double* b,
              const MKL_INT* ldb, MKL_INT* info ) NOTHROW;
void dtbtrs( const char* uplo, const char* trans, const char* diag,
             const MKL_INT* n, const MKL_INT* kd, const MKL_INT* nrhs,
             const double* ab, const MKL_INT* ldab, double* b,
             const MKL_INT* ldb, MKL_INT* info ) NOTHROW;
void dtbtrs_( const char* uplo, const char* trans, const char* diag,
              const MKL_INT* n, const MKL_INT* kd, const MKL_INT* nrhs,
              const double* ab, const MKL_INT* ldab, double* b,
              const MKL_INT* ldb, MKL_INT* info ) NOTHROW;

void DTFSM( const char* transr, const char* side, const char* uplo,
            const char* trans, const char* diag, const MKL_INT* m,
            const MKL_INT* n, const double* alpha, const double* a, double* b,
            const MKL_INT* ldb ) NOTHROW;
void DTFSM_( const char* transr, const char* side, const char* uplo,
             const char* trans, const char* diag, const MKL_INT* m,
             const MKL_INT* n, const double* alpha, const double* a, double* b,
             const MKL_INT* ldb ) NOTHROW;
void dtfsm( const char* transr, const char* side, const char* uplo,
            const char* trans, const char* diag, const MKL_INT* m,
            const MKL_INT* n, const double* alpha, const double* a, double* b,
            const MKL_INT* ldb ) NOTHROW;
void dtfsm_( const char* transr, const char* side, const char* uplo,
             const char* trans, const char* diag, const MKL_INT* m,
             const MKL_INT* n, const double* alpha, const double* a, double* b,
             const MKL_INT* ldb ) NOTHROW;

void DTFTRI( const char* transr, const char* uplo, const char* diag,
             const MKL_INT* n, double* a, MKL_INT* info ) NOTHROW;
void DTFTRI_( const char* transr, const char* uplo, const char* diag,
              const MKL_INT* n, double* a, MKL_INT* info ) NOTHROW;
void dtftri( const char* transr, const char* uplo, const char* diag,
             const MKL_INT* n, double* a, MKL_INT* info ) NOTHROW;
void dtftri_( const char* transr, const char* uplo, const char* diag,
              const MKL_INT* n, double* a, MKL_INT* info ) NOTHROW;

void DTFTTP( const char* transr, const char* uplo, const MKL_INT* n,
             const double* arf, double* ap, MKL_INT* info ) NOTHROW;
void DTFTTP_( const char* transr, const char* uplo, const MKL_INT* n,
              const double* arf, double* ap, MKL_INT* info ) NOTHROW;
void dtfttp( const char* transr, const char* uplo, const MKL_INT* n,
             const double* arf, double* ap, MKL_INT* info ) NOTHROW;
void dtfttp_( const char* transr, const char* uplo, const MKL_INT* n,
              const double* arf, double* ap, MKL_INT* info ) NOTHROW;

void DTFTTR( const char* transr, const char* uplo, const MKL_INT* n,
             const double* arf, double* a, const MKL_INT* lda, MKL_INT* info ) NOTHROW;
void DTFTTR_( const char* transr, const char* uplo, const MKL_INT* n,
              const double* arf, double* a, const MKL_INT* lda,
              MKL_INT* info ) NOTHROW;
void dtfttr( const char* transr, const char* uplo, const MKL_INT* n,
             const double* arf, double* a, const MKL_INT* lda, MKL_INT* info ) NOTHROW;
void dtfttr_( const char* transr, const char* uplo, const MKL_INT* n,
              const double* arf, double* a, const MKL_INT* lda,
              MKL_INT* info ) NOTHROW;

void DTGEVC( const char* side, const char* howmny, const MKL_INT* select,
             const MKL_INT* n, const double* s, const MKL_INT* lds,
             const double* p, const MKL_INT* ldp, double* vl,
             const MKL_INT* ldvl, double* vr, const MKL_INT* ldvr,
             const MKL_INT* mm, MKL_INT* m, double* work, MKL_INT* info ) NOTHROW;
void DTGEVC_( const char* side, const char* howmny, const MKL_INT* select,
              const MKL_INT* n, const double* s, const MKL_INT* lds,
              const double* p, const MKL_INT* ldp, double* vl,
              const MKL_INT* ldvl, double* vr, const MKL_INT* ldvr,
              const MKL_INT* mm, MKL_INT* m, double* work, MKL_INT* info ) NOTHROW;
void dtgevc( const char* side, const char* howmny, const MKL_INT* select,
             const MKL_INT* n, const double* s, const MKL_INT* lds,
             const double* p, const MKL_INT* ldp, double* vl,
             const MKL_INT* ldvl, double* vr, const MKL_INT* ldvr,
             const MKL_INT* mm, MKL_INT* m, double* work, MKL_INT* info ) NOTHROW;
void dtgevc_( const char* side, const char* howmny, const MKL_INT* select,
              const MKL_INT* n, const double* s, const MKL_INT* lds,
              const double* p, const MKL_INT* ldp, double* vl,
              const MKL_INT* ldvl, double* vr, const MKL_INT* ldvr,
              const MKL_INT* mm, MKL_INT* m, double* work, MKL_INT* info ) NOTHROW;

void DTGEX2( const MKL_INT* wantq, const MKL_INT* wantz, const MKL_INT* n,
             double* a, const MKL_INT* lda, double* b, const MKL_INT* ldb,
             double* q, const MKL_INT* ldq, double* z, const MKL_INT* ldz,
             const MKL_INT* j1, const MKL_INT* n1, const MKL_INT* n2,
             double* work, const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void DTGEX2_( const MKL_INT* wantq, const MKL_INT* wantz, const MKL_INT* n,
              double* a, const MKL_INT* lda, double* b, const MKL_INT* ldb,
              double* q, const MKL_INT* ldq, double* z, const MKL_INT* ldz,
              const MKL_INT* j1, const MKL_INT* n1, const MKL_INT* n2,
              double* work, const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void dtgex2( const MKL_INT* wantq, const MKL_INT* wantz, const MKL_INT* n,
             double* a, const MKL_INT* lda, double* b, const MKL_INT* ldb,
             double* q, const MKL_INT* ldq, double* z, const MKL_INT* ldz,
             const MKL_INT* j1, const MKL_INT* n1, const MKL_INT* n2,
             double* work, const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void dtgex2_( const MKL_INT* wantq, const MKL_INT* wantz, const MKL_INT* n,
              double* a, const MKL_INT* lda, double* b, const MKL_INT* ldb,
              double* q, const MKL_INT* ldq, double* z, const MKL_INT* ldz,
              const MKL_INT* j1, const MKL_INT* n1, const MKL_INT* n2,
              double* work, const MKL_INT* lwork, MKL_INT* info ) NOTHROW;

void DTGEXC( const MKL_INT* wantq, const MKL_INT* wantz, const MKL_INT* n,
             double* a, const MKL_INT* lda, double* b, const MKL_INT* ldb,
             double* q, const MKL_INT* ldq, double* z, const MKL_INT* ldz,
             MKL_INT* ifst, MKL_INT* ilst, double* work, const MKL_INT* lwork,
             MKL_INT* info ) NOTHROW;
void DTGEXC_( const MKL_INT* wantq, const MKL_INT* wantz, const MKL_INT* n,
              double* a, const MKL_INT* lda, double* b, const MKL_INT* ldb,
              double* q, const MKL_INT* ldq, double* z, const MKL_INT* ldz,
              MKL_INT* ifst, MKL_INT* ilst, double* work, const MKL_INT* lwork,
              MKL_INT* info ) NOTHROW;
void dtgexc( const MKL_INT* wantq, const MKL_INT* wantz, const MKL_INT* n,
             double* a, const MKL_INT* lda, double* b, const MKL_INT* ldb,
             double* q, const MKL_INT* ldq, double* z, const MKL_INT* ldz,
             MKL_INT* ifst, MKL_INT* ilst, double* work, const MKL_INT* lwork,
             MKL_INT* info ) NOTHROW;
void dtgexc_( const MKL_INT* wantq, const MKL_INT* wantz, const MKL_INT* n,
              double* a, const MKL_INT* lda, double* b, const MKL_INT* ldb,
              double* q, const MKL_INT* ldq, double* z, const MKL_INT* ldz,
              MKL_INT* ifst, MKL_INT* ilst, double* work, const MKL_INT* lwork,
              MKL_INT* info ) NOTHROW;

void DTGSEN( const MKL_INT* ijob, const MKL_INT* wantq, const MKL_INT* wantz,
             const MKL_INT* select, const MKL_INT* n, double* a,
             const MKL_INT* lda, double* b, const MKL_INT* ldb, double* alphar,
             double* alphai, double* beta, double* q, const MKL_INT* ldq,
             double* z, const MKL_INT* ldz, MKL_INT* m, double* pl, double* pr,
             double* dif, double* work, const MKL_INT* lwork, MKL_INT* iwork,
             const MKL_INT* liwork, MKL_INT* info ) NOTHROW;
void DTGSEN_( const MKL_INT* ijob, const MKL_INT* wantq, const MKL_INT* wantz,
              const MKL_INT* select, const MKL_INT* n, double* a,
              const MKL_INT* lda, double* b, const MKL_INT* ldb,
              double* alphar, double* alphai, double* beta, double* q,
              const MKL_INT* ldq, double* z, const MKL_INT* ldz, MKL_INT* m,
              double* pl, double* pr, double* dif, double* work,
              const MKL_INT* lwork, MKL_INT* iwork, const MKL_INT* liwork,
              MKL_INT* info ) NOTHROW;
void dtgsen( const MKL_INT* ijob, const MKL_INT* wantq, const MKL_INT* wantz,
             const MKL_INT* select, const MKL_INT* n, double* a,
             const MKL_INT* lda, double* b, const MKL_INT* ldb, double* alphar,
             double* alphai, double* beta, double* q, const MKL_INT* ldq,
             double* z, const MKL_INT* ldz, MKL_INT* m, double* pl, double* pr,
             double* dif, double* work, const MKL_INT* lwork, MKL_INT* iwork,
             const MKL_INT* liwork, MKL_INT* info ) NOTHROW;
void dtgsen_( const MKL_INT* ijob, const MKL_INT* wantq, const MKL_INT* wantz,
              const MKL_INT* select, const MKL_INT* n, double* a,
              const MKL_INT* lda, double* b, const MKL_INT* ldb,
              double* alphar, double* alphai, double* beta, double* q,
              const MKL_INT* ldq, double* z, const MKL_INT* ldz, MKL_INT* m,
              double* pl, double* pr, double* dif, double* work,
              const MKL_INT* lwork, MKL_INT* iwork, const MKL_INT* liwork,
              MKL_INT* info ) NOTHROW;

void DTGSJA( const char* jobu, const char* jobv, const char* jobq,
             const MKL_INT* m, const MKL_INT* p, const MKL_INT* n,
             const MKL_INT* k, const MKL_INT* l, double* a, const MKL_INT* lda,
             double* b, const MKL_INT* ldb, const double* tola,
             const double* tolb, double* alpha, double* beta, double* u,
             const MKL_INT* ldu, double* v, const MKL_INT* ldv, double* q,
             const MKL_INT* ldq, double* work, MKL_INT* ncycle,
             MKL_INT* info ) NOTHROW;
void DTGSJA_( const char* jobu, const char* jobv, const char* jobq,
              const MKL_INT* m, const MKL_INT* p, const MKL_INT* n,
              const MKL_INT* k, const MKL_INT* l, double* a,
              const MKL_INT* lda, double* b, const MKL_INT* ldb,
              const double* tola, const double* tolb, double* alpha,
              double* beta, double* u, const MKL_INT* ldu, double* v,
              const MKL_INT* ldv, double* q, const MKL_INT* ldq, double* work,
              MKL_INT* ncycle, MKL_INT* info ) NOTHROW;
void dtgsja( const char* jobu, const char* jobv, const char* jobq,
             const MKL_INT* m, const MKL_INT* p, const MKL_INT* n,
             const MKL_INT* k, const MKL_INT* l, double* a, const MKL_INT* lda,
             double* b, const MKL_INT* ldb, const double* tola,
             const double* tolb, double* alpha, double* beta, double* u,
             const MKL_INT* ldu, double* v, const MKL_INT* ldv, double* q,
             const MKL_INT* ldq, double* work, MKL_INT* ncycle,
             MKL_INT* info ) NOTHROW;
void dtgsja_( const char* jobu, const char* jobv, const char* jobq,
              const MKL_INT* m, const MKL_INT* p, const MKL_INT* n,
              const MKL_INT* k, const MKL_INT* l, double* a,
              const MKL_INT* lda, double* b, const MKL_INT* ldb,
              const double* tola, const double* tolb, double* alpha,
              double* beta, double* u, const MKL_INT* ldu, double* v,
              const MKL_INT* ldv, double* q, const MKL_INT* ldq, double* work,
              MKL_INT* ncycle, MKL_INT* info ) NOTHROW;

void DTGSNA( const char* job, const char* howmny, const MKL_INT* select,
             const MKL_INT* n, const double* a, const MKL_INT* lda,
             const double* b, const MKL_INT* ldb, const double* vl,
             const MKL_INT* ldvl, const double* vr, const MKL_INT* ldvr,
             double* s, double* dif, const MKL_INT* mm, MKL_INT* m,
             double* work, const MKL_INT* lwork, MKL_INT* iwork,
             MKL_INT* info ) NOTHROW;
void DTGSNA_( const char* job, const char* howmny, const MKL_INT* select,
              const MKL_INT* n, const double* a, const MKL_INT* lda,
              const double* b, const MKL_INT* ldb, const double* vl,
              const MKL_INT* ldvl, const double* vr, const MKL_INT* ldvr,
              double* s, double* dif, const MKL_INT* mm, MKL_INT* m,
              double* work, const MKL_INT* lwork, MKL_INT* iwork,
              MKL_INT* info ) NOTHROW;
void dtgsna( const char* job, const char* howmny, const MKL_INT* select,
             const MKL_INT* n, const double* a, const MKL_INT* lda,
             const double* b, const MKL_INT* ldb, const double* vl,
             const MKL_INT* ldvl, const double* vr, const MKL_INT* ldvr,
             double* s, double* dif, const MKL_INT* mm, MKL_INT* m,
             double* work, const MKL_INT* lwork, MKL_INT* iwork,
             MKL_INT* info ) NOTHROW;
void dtgsna_( const char* job, const char* howmny, const MKL_INT* select,
              const MKL_INT* n, const double* a, const MKL_INT* lda,
              const double* b, const MKL_INT* ldb, const double* vl,
              const MKL_INT* ldvl, const double* vr, const MKL_INT* ldvr,
              double* s, double* dif, const MKL_INT* mm, MKL_INT* m,
              double* work, const MKL_INT* lwork, MKL_INT* iwork,
              MKL_INT* info ) NOTHROW;

void DTGSY2( const char* trans, const MKL_INT* ijob, const MKL_INT* m,
             const MKL_INT* n, const double* a, const MKL_INT* lda,
             const double* b, const MKL_INT* ldb, double* c,
             const MKL_INT* ldc, const double* d, const MKL_INT* ldd,
             const double* e, const MKL_INT* lde, double* f,
             const MKL_INT* ldf, double* scale, double* rdsum, double* rdscal,
             MKL_INT* iwork, MKL_INT* pq, MKL_INT* info ) NOTHROW;
void DTGSY2_( const char* trans, const MKL_INT* ijob, const MKL_INT* m,
              const MKL_INT* n, const double* a, const MKL_INT* lda,
              const double* b, const MKL_INT* ldb, double* c,
              const MKL_INT* ldc, const double* d, const MKL_INT* ldd,
              const double* e, const MKL_INT* lde, double* f,
              const MKL_INT* ldf, double* scale, double* rdsum, double* rdscal,
              MKL_INT* iwork, MKL_INT* pq, MKL_INT* info ) NOTHROW;
void dtgsy2( const char* trans, const MKL_INT* ijob, const MKL_INT* m,
             const MKL_INT* n, const double* a, const MKL_INT* lda,
             const double* b, const MKL_INT* ldb, double* c,
             const MKL_INT* ldc, const double* d, const MKL_INT* ldd,
             const double* e, const MKL_INT* lde, double* f,
             const MKL_INT* ldf, double* scale, double* rdsum, double* rdscal,
             MKL_INT* iwork, MKL_INT* pq, MKL_INT* info ) NOTHROW;
void dtgsy2_( const char* trans, const MKL_INT* ijob, const MKL_INT* m,
              const MKL_INT* n, const double* a, const MKL_INT* lda,
              const double* b, const MKL_INT* ldb, double* c,
              const MKL_INT* ldc, const double* d, const MKL_INT* ldd,
              const double* e, const MKL_INT* lde, double* f,
              const MKL_INT* ldf, double* scale, double* rdsum, double* rdscal,
              MKL_INT* iwork, MKL_INT* pq, MKL_INT* info ) NOTHROW;

void DTGSYL( const char* trans, const MKL_INT* ijob, const MKL_INT* m,
             const MKL_INT* n, const double* a, const MKL_INT* lda,
             const double* b, const MKL_INT* ldb, double* c,
             const MKL_INT* ldc, const double* d, const MKL_INT* ldd,
             const double* e, const MKL_INT* lde, double* f,
             const MKL_INT* ldf, double* scale, double* dif, double* work,
             const MKL_INT* lwork, MKL_INT* iwork, MKL_INT* info ) NOTHROW;
void DTGSYL_( const char* trans, const MKL_INT* ijob, const MKL_INT* m,
              const MKL_INT* n, const double* a, const MKL_INT* lda,
              const double* b, const MKL_INT* ldb, double* c,
              const MKL_INT* ldc, const double* d, const MKL_INT* ldd,
              const double* e, const MKL_INT* lde, double* f,
              const MKL_INT* ldf, double* scale, double* dif, double* work,
              const MKL_INT* lwork, MKL_INT* iwork, MKL_INT* info ) NOTHROW;
void dtgsyl( const char* trans, const MKL_INT* ijob, const MKL_INT* m,
             const MKL_INT* n, const double* a, const MKL_INT* lda,
             const double* b, const MKL_INT* ldb, double* c,
             const MKL_INT* ldc, const double* d, const MKL_INT* ldd,
             const double* e, const MKL_INT* lde, double* f,
             const MKL_INT* ldf, double* scale, double* dif, double* work,
             const MKL_INT* lwork, MKL_INT* iwork, MKL_INT* info ) NOTHROW;
void dtgsyl_( const char* trans, const MKL_INT* ijob, const MKL_INT* m,
              const MKL_INT* n, const double* a, const MKL_INT* lda,
              const double* b, const MKL_INT* ldb, double* c,
              const MKL_INT* ldc, const double* d, const MKL_INT* ldd,
              const double* e, const MKL_INT* lde, double* f,
              const MKL_INT* ldf, double* scale, double* dif, double* work,
              const MKL_INT* lwork, MKL_INT* iwork, MKL_INT* info ) NOTHROW;

void DTPCON( const char* norm, const char* uplo, const char* diag,
             const MKL_INT* n, const double* ap, double* rcond, double* work,
             MKL_INT* iwork, MKL_INT* info ) NOTHROW;
void DTPCON_( const char* norm, const char* uplo, const char* diag,
              const MKL_INT* n, const double* ap, double* rcond, double* work,
              MKL_INT* iwork, MKL_INT* info ) NOTHROW;
void dtpcon( const char* norm, const char* uplo, const char* diag,
             const MKL_INT* n, const double* ap, double* rcond, double* work,
             MKL_INT* iwork, MKL_INT* info ) NOTHROW;
void dtpcon_( const char* norm, const char* uplo, const char* diag,
              const MKL_INT* n, const double* ap, double* rcond, double* work,
              MKL_INT* iwork, MKL_INT* info ) NOTHROW;

void DTPRFS( const char* uplo, const char* trans, const char* diag,
             const MKL_INT* n, const MKL_INT* nrhs, const double* ap,
             const double* b, const MKL_INT* ldb, const double* x,
             const MKL_INT* ldx, double* ferr, double* berr, double* work,
             MKL_INT* iwork, MKL_INT* info ) NOTHROW;
void DTPRFS_( const char* uplo, const char* trans, const char* diag,
              const MKL_INT* n, const MKL_INT* nrhs, const double* ap,
              const double* b, const MKL_INT* ldb, const double* x,
              const MKL_INT* ldx, double* ferr, double* berr, double* work,
              MKL_INT* iwork, MKL_INT* info ) NOTHROW;
void dtprfs( const char* uplo, const char* trans, const char* diag,
             const MKL_INT* n, const MKL_INT* nrhs, const double* ap,
             const double* b, const MKL_INT* ldb, const double* x,
             const MKL_INT* ldx, double* ferr, double* berr, double* work,
             MKL_INT* iwork, MKL_INT* info ) NOTHROW;
void dtprfs_( const char* uplo, const char* trans, const char* diag,
              const MKL_INT* n, const MKL_INT* nrhs, const double* ap,
              const double* b, const MKL_INT* ldb, const double* x,
              const MKL_INT* ldx, double* ferr, double* berr, double* work,
              MKL_INT* iwork, MKL_INT* info ) NOTHROW;

void DTPTRI( const char* uplo, const char* diag, const MKL_INT* n, double* ap,
             MKL_INT* info ) NOTHROW;
void DTPTRI_( const char* uplo, const char* diag, const MKL_INT* n, double* ap,
              MKL_INT* info ) NOTHROW;
void dtptri( const char* uplo, const char* diag, const MKL_INT* n, double* ap,
             MKL_INT* info ) NOTHROW;
void dtptri_( const char* uplo, const char* diag, const MKL_INT* n, double* ap,
              MKL_INT* info ) NOTHROW;

void DTPTRS( const char* uplo, const char* trans, const char* diag,
             const MKL_INT* n, const MKL_INT* nrhs, const double* ap,
             double* b, const MKL_INT* ldb, MKL_INT* info ) NOTHROW;
void DTPTRS_( const char* uplo, const char* trans, const char* diag,
              const MKL_INT* n, const MKL_INT* nrhs, const double* ap,
              double* b, const MKL_INT* ldb, MKL_INT* info ) NOTHROW;
void dtptrs( const char* uplo, const char* trans, const char* diag,
             const MKL_INT* n, const MKL_INT* nrhs, const double* ap,
             double* b, const MKL_INT* ldb, MKL_INT* info ) NOTHROW;
void dtptrs_( const char* uplo, const char* trans, const char* diag,
              const MKL_INT* n, const MKL_INT* nrhs, const double* ap,
              double* b, const MKL_INT* ldb, MKL_INT* info ) NOTHROW;

void DTPTTF( const char* transr, const char* uplo, const MKL_INT* n,
             const double* ap, double* arf, MKL_INT* info ) NOTHROW;
void DTPTTF_( const char* transr, const char* uplo, const MKL_INT* n,
              const double* ap, double* arf, MKL_INT* info ) NOTHROW;
void dtpttf( const char* transr, const char* uplo, const MKL_INT* n,
             const double* ap, double* arf, MKL_INT* info ) NOTHROW;
void dtpttf_( const char* transr, const char* uplo, const MKL_INT* n,
              const double* ap, double* arf, MKL_INT* info ) NOTHROW;

void DTPTTR( const char* uplo, const MKL_INT* n, const double* ap, double* a,
             const MKL_INT* lda, MKL_INT* info ) NOTHROW;
void DTPTTR_( const char* uplo, const MKL_INT* n, const double* ap, double* a,
              const MKL_INT* lda, MKL_INT* info ) NOTHROW;
void dtpttr( const char* uplo, const MKL_INT* n, const double* ap, double* a,
             const MKL_INT* lda, MKL_INT* info ) NOTHROW;
void dtpttr_( const char* uplo, const MKL_INT* n, const double* ap, double* a,
              const MKL_INT* lda, MKL_INT* info ) NOTHROW;

void DTRCON( const char* norm, const char* uplo, const char* diag,
             const MKL_INT* n, const double* a, const MKL_INT* lda,
             double* rcond, double* work, MKL_INT* iwork, MKL_INT* info ) NOTHROW;
void DTRCON_( const char* norm, const char* uplo, const char* diag,
              const MKL_INT* n, const double* a, const MKL_INT* lda,
              double* rcond, double* work, MKL_INT* iwork, MKL_INT* info ) NOTHROW;
void dtrcon( const char* norm, const char* uplo, const char* diag,
             const MKL_INT* n, const double* a, const MKL_INT* lda,
             double* rcond, double* work, MKL_INT* iwork, MKL_INT* info ) NOTHROW;
void dtrcon_( const char* norm, const char* uplo, const char* diag,
              const MKL_INT* n, const double* a, const MKL_INT* lda,
              double* rcond, double* work, MKL_INT* iwork, MKL_INT* info ) NOTHROW;

void DTREVC( const char* side, const char* howmny, MKL_INT* select,
             const MKL_INT* n, const double* t, const MKL_INT* ldt, double* vl,
             const MKL_INT* ldvl, double* vr, const MKL_INT* ldvr,
             const MKL_INT* mm, MKL_INT* m, double* work, MKL_INT* info ) NOTHROW;
void DTREVC_( const char* side, const char* howmny, MKL_INT* select,
              const MKL_INT* n, const double* t, const MKL_INT* ldt,
              double* vl, const MKL_INT* ldvl, double* vr, const MKL_INT* ldvr,
              const MKL_INT* mm, MKL_INT* m, double* work, MKL_INT* info ) NOTHROW;
void dtrevc( const char* side, const char* howmny, MKL_INT* select,
             const MKL_INT* n, const double* t, const MKL_INT* ldt, double* vl,
             const MKL_INT* ldvl, double* vr, const MKL_INT* ldvr,
             const MKL_INT* mm, MKL_INT* m, double* work, MKL_INT* info ) NOTHROW;
void dtrevc_( const char* side, const char* howmny, MKL_INT* select,
              const MKL_INT* n, const double* t, const MKL_INT* ldt,
              double* vl, const MKL_INT* ldvl, double* vr, const MKL_INT* ldvr,
              const MKL_INT* mm, MKL_INT* m, double* work, MKL_INT* info ) NOTHROW;

void DTREXC( const char* compq, const MKL_INT* n, double* t,
             const MKL_INT* ldt, double* q, const MKL_INT* ldq, MKL_INT* ifst,
             MKL_INT* ilst, double* work, MKL_INT* info ) NOTHROW;
void DTREXC_( const char* compq, const MKL_INT* n, double* t,
              const MKL_INT* ldt, double* q, const MKL_INT* ldq, MKL_INT* ifst,
              MKL_INT* ilst, double* work, MKL_INT* info ) NOTHROW;
void dtrexc( const char* compq, const MKL_INT* n, double* t,
             const MKL_INT* ldt, double* q, const MKL_INT* ldq, MKL_INT* ifst,
             MKL_INT* ilst, double* work, MKL_INT* info ) NOTHROW;
void dtrexc_( const char* compq, const MKL_INT* n, double* t,
              const MKL_INT* ldt, double* q, const MKL_INT* ldq, MKL_INT* ifst,
              MKL_INT* ilst, double* work, MKL_INT* info ) NOTHROW;

void DTRRFS( const char* uplo, const char* trans, const char* diag,
             const MKL_INT* n, const MKL_INT* nrhs, const double* a,
             const MKL_INT* lda, const double* b, const MKL_INT* ldb,
             const double* x, const MKL_INT* ldx, double* ferr, double* berr,
             double* work, MKL_INT* iwork, MKL_INT* info ) NOTHROW;
void DTRRFS_( const char* uplo, const char* trans, const char* diag,
              const MKL_INT* n, const MKL_INT* nrhs, const double* a,
              const MKL_INT* lda, const double* b, const MKL_INT* ldb,
              const double* x, const MKL_INT* ldx, double* ferr, double* berr,
              double* work, MKL_INT* iwork, MKL_INT* info ) NOTHROW;
void dtrrfs( const char* uplo, const char* trans, const char* diag,
             const MKL_INT* n, const MKL_INT* nrhs, const double* a,
             const MKL_INT* lda, const double* b, const MKL_INT* ldb,
             const double* x, const MKL_INT* ldx, double* ferr, double* berr,
             double* work, MKL_INT* iwork, MKL_INT* info ) NOTHROW;
void dtrrfs_( const char* uplo, const char* trans, const char* diag,
              const MKL_INT* n, const MKL_INT* nrhs, const double* a,
              const MKL_INT* lda, const double* b, const MKL_INT* ldb,
              const double* x, const MKL_INT* ldx, double* ferr, double* berr,
              double* work, MKL_INT* iwork, MKL_INT* info ) NOTHROW;

void DTRSEN( const char* job, const char* compq, const MKL_INT* select,
             const MKL_INT* n, double* t, const MKL_INT* ldt, double* q,
             const MKL_INT* ldq, double* wr, double* wi, MKL_INT* m, double* s,
             double* sep, double* work, const MKL_INT* lwork, MKL_INT* iwork,
             const MKL_INT* liwork, MKL_INT* info ) NOTHROW;
void DTRSEN_( const char* job, const char* compq, const MKL_INT* select,
              const MKL_INT* n, double* t, const MKL_INT* ldt, double* q,
              const MKL_INT* ldq, double* wr, double* wi, MKL_INT* m,
              double* s, double* sep, double* work, const MKL_INT* lwork,
              MKL_INT* iwork, const MKL_INT* liwork, MKL_INT* info ) NOTHROW;
void dtrsen( const char* job, const char* compq, const MKL_INT* select,
             const MKL_INT* n, double* t, const MKL_INT* ldt, double* q,
             const MKL_INT* ldq, double* wr, double* wi, MKL_INT* m, double* s,
             double* sep, double* work, const MKL_INT* lwork, MKL_INT* iwork,
             const MKL_INT* liwork, MKL_INT* info ) NOTHROW;
void dtrsen_( const char* job, const char* compq, const MKL_INT* select,
              const MKL_INT* n, double* t, const MKL_INT* ldt, double* q,
              const MKL_INT* ldq, double* wr, double* wi, MKL_INT* m,
              double* s, double* sep, double* work, const MKL_INT* lwork,
              MKL_INT* iwork, const MKL_INT* liwork, MKL_INT* info ) NOTHROW;

void DTRSNA( const char* job, const char* howmny, const MKL_INT* select,
             const MKL_INT* n, const double* t, const MKL_INT* ldt,
             const double* vl, const MKL_INT* ldvl, const double* vr,
             const MKL_INT* ldvr, double* s, double* sep, const MKL_INT* mm,
             MKL_INT* m, double* work, const MKL_INT* ldwork, MKL_INT* iwork,
             MKL_INT* info ) NOTHROW;
void DTRSNA_( const char* job, const char* howmny, const MKL_INT* select,
              const MKL_INT* n, const double* t, const MKL_INT* ldt,
              const double* vl, const MKL_INT* ldvl, const double* vr,
              const MKL_INT* ldvr, double* s, double* sep, const MKL_INT* mm,
              MKL_INT* m, double* work, const MKL_INT* ldwork, MKL_INT* iwork,
              MKL_INT* info ) NOTHROW;
void dtrsna( const char* job, const char* howmny, const MKL_INT* select,
             const MKL_INT* n, const double* t, const MKL_INT* ldt,
             const double* vl, const MKL_INT* ldvl, const double* vr,
             const MKL_INT* ldvr, double* s, double* sep, const MKL_INT* mm,
             MKL_INT* m, double* work, const MKL_INT* ldwork, MKL_INT* iwork,
             MKL_INT* info ) NOTHROW;
void dtrsna_( const char* job, const char* howmny, const MKL_INT* select,
              const MKL_INT* n, const double* t, const MKL_INT* ldt,
              const double* vl, const MKL_INT* ldvl, const double* vr,
              const MKL_INT* ldvr, double* s, double* sep, const MKL_INT* mm,
              MKL_INT* m, double* work, const MKL_INT* ldwork, MKL_INT* iwork,
              MKL_INT* info ) NOTHROW;

void DTRSYL( const char* trana, const char* tranb, const MKL_INT* isgn,
             const MKL_INT* m, const MKL_INT* n, const double* a,
             const MKL_INT* lda, const double* b, const MKL_INT* ldb,
             double* c, const MKL_INT* ldc, double* scale, MKL_INT* info ) NOTHROW;
void DTRSYL_( const char* trana, const char* tranb, const MKL_INT* isgn,
              const MKL_INT* m, const MKL_INT* n, const double* a,
              const MKL_INT* lda, const double* b, const MKL_INT* ldb,
              double* c, const MKL_INT* ldc, double* scale, MKL_INT* info ) NOTHROW;
void dtrsyl( const char* trana, const char* tranb, const MKL_INT* isgn,
             const MKL_INT* m, const MKL_INT* n, const double* a,
             const MKL_INT* lda, const double* b, const MKL_INT* ldb,
             double* c, const MKL_INT* ldc, double* scale, MKL_INT* info ) NOTHROW;
void dtrsyl_( const char* trana, const char* tranb, const MKL_INT* isgn,
              const MKL_INT* m, const MKL_INT* n, const double* a,
              const MKL_INT* lda, const double* b, const MKL_INT* ldb,
              double* c, const MKL_INT* ldc, double* scale, MKL_INT* info ) NOTHROW;

void DTRTI2( const char* uplo, const char* diag, const MKL_INT* n, double* a,
             const MKL_INT* lda, MKL_INT* info ) NOTHROW;
void DTRTI2_( const char* uplo, const char* diag, const MKL_INT* n, double* a,
              const MKL_INT* lda, MKL_INT* info ) NOTHROW;
void dtrti2( const char* uplo, const char* diag, const MKL_INT* n, double* a,
             const MKL_INT* lda, MKL_INT* info ) NOTHROW;
void dtrti2_( const char* uplo, const char* diag, const MKL_INT* n, double* a,
              const MKL_INT* lda, MKL_INT* info ) NOTHROW;

void DTRTRI( const char* uplo, const char* diag, const MKL_INT* n, double* a,
             const MKL_INT* lda, MKL_INT* info ) NOTHROW;
void DTRTRI_( const char* uplo, const char* diag, const MKL_INT* n, double* a,
              const MKL_INT* lda, MKL_INT* info ) NOTHROW;
void dtrtri( const char* uplo, const char* diag, const MKL_INT* n, double* a,
             const MKL_INT* lda, MKL_INT* info ) NOTHROW;
void dtrtri_( const char* uplo, const char* diag, const MKL_INT* n, double* a,
              const MKL_INT* lda, MKL_INT* info ) NOTHROW;

void DTRTRS( const char* uplo, const char* trans, const char* diag,
             const MKL_INT* n, const MKL_INT* nrhs, const double* a,
             const MKL_INT* lda, double* b, const MKL_INT* ldb,
             MKL_INT* info ) NOTHROW;
void DTRTRS_( const char* uplo, const char* trans, const char* diag,
              const MKL_INT* n, const MKL_INT* nrhs, const double* a,
              const MKL_INT* lda, double* b, const MKL_INT* ldb,
              MKL_INT* info ) NOTHROW;
void dtrtrs( const char* uplo, const char* trans, const char* diag,
             const MKL_INT* n, const MKL_INT* nrhs, const double* a,
             const MKL_INT* lda, double* b, const MKL_INT* ldb,
             MKL_INT* info ) NOTHROW;
void dtrtrs_( const char* uplo, const char* trans, const char* diag,
              const MKL_INT* n, const MKL_INT* nrhs, const double* a,
              const MKL_INT* lda, double* b, const MKL_INT* ldb,
              MKL_INT* info ) NOTHROW;

void DTRTTF( const char* transr, const char* uplo, const MKL_INT* n,
             const double* a, const MKL_INT* lda, double* arf, MKL_INT* info ) NOTHROW;
void DTRTTF_( const char* transr, const char* uplo, const MKL_INT* n,
              const double* a, const MKL_INT* lda, double* arf,
              MKL_INT* info ) NOTHROW;
void dtrttf( const char* transr, const char* uplo, const MKL_INT* n,
             const double* a, const MKL_INT* lda, double* arf, MKL_INT* info ) NOTHROW;
void dtrttf_( const char* transr, const char* uplo, const MKL_INT* n,
              const double* a, const MKL_INT* lda, double* arf,
              MKL_INT* info ) NOTHROW;

void DTRTTP( const char* uplo, const MKL_INT* n, const double* a,
             const MKL_INT* lda, double* ap, MKL_INT* info ) NOTHROW;
void DTRTTP_( const char* uplo, const MKL_INT* n, const double* a,
              const MKL_INT* lda, double* ap, MKL_INT* info ) NOTHROW;
void dtrttp( const char* uplo, const MKL_INT* n, const double* a,
             const MKL_INT* lda, double* ap, MKL_INT* info ) NOTHROW;
void dtrttp_( const char* uplo, const MKL_INT* n, const double* a,
              const MKL_INT* lda, double* ap, MKL_INT* info ) NOTHROW;

void DTZRQF( const MKL_INT* m, const MKL_INT* n, double* a, const MKL_INT* lda,
             double* tau, MKL_INT* info ) NOTHROW;
void DTZRQF_( const MKL_INT* m, const MKL_INT* n, double* a,
              const MKL_INT* lda, double* tau, MKL_INT* info ) NOTHROW;
void dtzrqf( const MKL_INT* m, const MKL_INT* n, double* a, const MKL_INT* lda,
             double* tau, MKL_INT* info ) NOTHROW;
void dtzrqf_( const MKL_INT* m, const MKL_INT* n, double* a,
              const MKL_INT* lda, double* tau, MKL_INT* info ) NOTHROW;

void DTZRZF( const MKL_INT* m, const MKL_INT* n, double* a, const MKL_INT* lda,
             double* tau, double* work, const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void DTZRZF_( const MKL_INT* m, const MKL_INT* n, double* a,
              const MKL_INT* lda, double* tau, double* work,
              const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void dtzrzf( const MKL_INT* m, const MKL_INT* n, double* a, const MKL_INT* lda,
             double* tau, double* work, const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void dtzrzf_( const MKL_INT* m, const MKL_INT* n, double* a,
              const MKL_INT* lda, double* tau, double* work,
              const MKL_INT* lwork, MKL_INT* info ) NOTHROW;

double DZSUM1( const MKL_INT* n, const MKL_Complex16* cx,
               const MKL_INT* incx ) NOTHROW;
double DZSUM1_( const MKL_INT* n, const MKL_Complex16* cx,
                const MKL_INT* incx ) NOTHROW;
double dzsum1( const MKL_INT* n, const MKL_Complex16* cx,
               const MKL_INT* incx ) NOTHROW;
double dzsum1_( const MKL_INT* n, const MKL_Complex16* cx,
                const MKL_INT* incx ) NOTHROW;

MKL_INT ICMAX1( const MKL_INT* n, const MKL_Complex8* cx,
                const MKL_INT* incx ) NOTHROW;
MKL_INT ICMAX1_( const MKL_INT* n, const MKL_Complex8* cx,
                 const MKL_INT* incx ) NOTHROW;
MKL_INT icmax1( const MKL_INT* n, const MKL_Complex8* cx,
                const MKL_INT* incx ) NOTHROW;
MKL_INT icmax1_( const MKL_INT* n, const MKL_Complex8* cx,
                 const MKL_INT* incx ) NOTHROW;

MKL_INT IEEECK( const MKL_INT* ispec, const float* zero, const float* one ) NOTHROW;
MKL_INT IEEECK_( const MKL_INT* ispec, const float* zero, const float* one ) NOTHROW;
MKL_INT ieeeck( const MKL_INT* ispec, const float* zero, const float* one ) NOTHROW;
MKL_INT ieeeck_( const MKL_INT* ispec, const float* zero, const float* one ) NOTHROW;

MKL_INT ILACLC( const MKL_INT* m, const MKL_INT* n, const MKL_Complex8* a,
                const MKL_INT* lda ) NOTHROW;
MKL_INT ILACLC_( const MKL_INT* m, const MKL_INT* n, const MKL_Complex8* a,
                 const MKL_INT* lda ) NOTHROW;
MKL_INT ilaclc( const MKL_INT* m, const MKL_INT* n, const MKL_Complex8* a,
                const MKL_INT* lda ) NOTHROW;
MKL_INT ilaclc_( const MKL_INT* m, const MKL_INT* n, const MKL_Complex8* a,
                 const MKL_INT* lda ) NOTHROW;

MKL_INT ILACLR( const MKL_INT* m, const MKL_INT* n, const MKL_Complex8* a,
                const MKL_INT* lda ) NOTHROW;
MKL_INT ILACLR_( const MKL_INT* m, const MKL_INT* n, const MKL_Complex8* a,
                 const MKL_INT* lda ) NOTHROW;
MKL_INT ilaclr( const MKL_INT* m, const MKL_INT* n, const MKL_Complex8* a,
                const MKL_INT* lda ) NOTHROW;
MKL_INT ilaclr_( const MKL_INT* m, const MKL_INT* n, const MKL_Complex8* a,
                 const MKL_INT* lda ) NOTHROW;

MKL_INT ILADIAG( const char* diag ) NOTHROW;
MKL_INT ILADIAG_( const char* diag ) NOTHROW;
MKL_INT iladiag( const char* diag ) NOTHROW;
MKL_INT iladiag_( const char* diag ) NOTHROW;

MKL_INT ILADLC( const MKL_INT* m, const MKL_INT* n, const double* a,
                const MKL_INT* lda ) NOTHROW;
MKL_INT ILADLC_( const MKL_INT* m, const MKL_INT* n, const double* a,
                 const MKL_INT* lda ) NOTHROW;
MKL_INT iladlc( const MKL_INT* m, const MKL_INT* n, const double* a,
                const MKL_INT* lda ) NOTHROW;
MKL_INT iladlc_( const MKL_INT* m, const MKL_INT* n, const double* a,
                 const MKL_INT* lda ) NOTHROW;

MKL_INT ILADLR( const MKL_INT* m, const MKL_INT* n, const double* a,
                const MKL_INT* lda ) NOTHROW;
MKL_INT ILADLR_( const MKL_INT* m, const MKL_INT* n, const double* a,
                 const MKL_INT* lda ) NOTHROW;
MKL_INT iladlr( const MKL_INT* m, const MKL_INT* n, const double* a,
                const MKL_INT* lda ) NOTHROW;
MKL_INT iladlr_( const MKL_INT* m, const MKL_INT* n, const double* a,
                 const MKL_INT* lda ) NOTHROW;

MKL_INT ILAENV( const MKL_INT* ispec, const char* name, const char* opts,
                const MKL_INT* n1, const MKL_INT* n2, const MKL_INT* n3,
                const MKL_INT* n4 ) NOTHROW;
MKL_INT ILAENV_( const MKL_INT* ispec, const char* name, const char* opts,
                 const MKL_INT* n1, const MKL_INT* n2, const MKL_INT* n3,
                 const MKL_INT* n4 ) NOTHROW;
MKL_INT ilaenv( const MKL_INT* ispec, const char* name, const char* opts,
                const MKL_INT* n1, const MKL_INT* n2, const MKL_INT* n3,
                const MKL_INT* n4 ) NOTHROW;
MKL_INT ilaenv_( const MKL_INT* ispec, const char* name, const char* opts,
                 const MKL_INT* n1, const MKL_INT* n2, const MKL_INT* n3,
                 const MKL_INT* n4 ) NOTHROW;

MKL_INT ILAENV2STAGE( const MKL_INT* ispec, const char* name, const char* opts,
                      const MKL_INT* n1, const MKL_INT* n2, const MKL_INT* n3,
                      const MKL_INT* n4 ) NOTHROW;
MKL_INT ILAENV2STAGE_( const MKL_INT* ispec, const char* name, const char* opts,
                       const MKL_INT* n1, const MKL_INT* n2, const MKL_INT* n3,
                       const MKL_INT* n4 ) NOTHROW;
MKL_INT ilaenv2stage( const MKL_INT* ispec, const char* name, const char* opts,
                      const MKL_INT* n1, const MKL_INT* n2, const MKL_INT* n3,
                      const MKL_INT* n4 ) NOTHROW;
MKL_INT ilaenv2stage_( const MKL_INT* ispec, const char* name, const char* opts,
                       const MKL_INT* n1, const MKL_INT* n2, const MKL_INT* n3,
                       const MKL_INT* n4 ) NOTHROW;

MKL_INT ILAPREC( const char* prec ) NOTHROW;
MKL_INT ILAPREC_( const char* prec ) NOTHROW;
MKL_INT ilaprec( const char* prec ) NOTHROW;
MKL_INT ilaprec_( const char* prec ) NOTHROW;

MKL_INT ILASLC( const MKL_INT* m, const MKL_INT* n, const float* a,
                const MKL_INT* lda ) NOTHROW;
MKL_INT ILASLC_( const MKL_INT* m, const MKL_INT* n, const float* a,
                 const MKL_INT* lda ) NOTHROW;
MKL_INT ilaslc( const MKL_INT* m, const MKL_INT* n, const float* a,
                const MKL_INT* lda ) NOTHROW;
MKL_INT ilaslc_( const MKL_INT* m, const MKL_INT* n, const float* a,
                 const MKL_INT* lda ) NOTHROW;

MKL_INT ILASLR( const MKL_INT* m, const MKL_INT* n, const float* a,
                const MKL_INT* lda ) NOTHROW;
MKL_INT ILASLR_( const MKL_INT* m, const MKL_INT* n, const float* a,
                 const MKL_INT* lda ) NOTHROW;
MKL_INT ilaslr( const MKL_INT* m, const MKL_INT* n, const float* a,
                const MKL_INT* lda ) NOTHROW;
MKL_INT ilaslr_( const MKL_INT* m, const MKL_INT* n, const float* a,
                 const MKL_INT* lda ) NOTHROW;

MKL_INT ILATRANS( const char* trans ) NOTHROW;
MKL_INT ILATRANS_( const char* trans ) NOTHROW;
MKL_INT ilatrans( const char* trans ) NOTHROW;
MKL_INT ilatrans_( const char* trans ) NOTHROW;

MKL_INT ILAUPLO( const char* uplo ) NOTHROW;
MKL_INT ILAUPLO_( const char* uplo ) NOTHROW;
MKL_INT ilauplo( const char* uplo ) NOTHROW;
MKL_INT ilauplo_( const char* uplo ) NOTHROW;

void ILAVER( MKL_INT* vers_major, MKL_INT* vers_minor, MKL_INT* vers_patch ) NOTHROW;
void ILAVER_( MKL_INT* vers_major, MKL_INT* vers_minor, MKL_INT* vers_patch ) NOTHROW;
void ilaver( MKL_INT* vers_major, MKL_INT* vers_minor, MKL_INT* vers_patch ) NOTHROW;
void ilaver_( MKL_INT* vers_major, MKL_INT* vers_minor, MKL_INT* vers_patch ) NOTHROW;

MKL_INT ILAZLC( const MKL_INT* m, const MKL_INT* n, const MKL_Complex16* a,
                const MKL_INT* lda ) NOTHROW;
MKL_INT ILAZLC_( const MKL_INT* m, const MKL_INT* n, const MKL_Complex16* a,
                 const MKL_INT* lda ) NOTHROW;
MKL_INT ilazlc( const MKL_INT* m, const MKL_INT* n, const MKL_Complex16* a,
                const MKL_INT* lda ) NOTHROW;
MKL_INT ilazlc_( const MKL_INT* m, const MKL_INT* n, const MKL_Complex16* a,
                 const MKL_INT* lda ) NOTHROW;

MKL_INT ILAZLR( const MKL_INT* m, const MKL_INT* n, const MKL_Complex16* a,
                const MKL_INT* lda ) NOTHROW;
MKL_INT ILAZLR_( const MKL_INT* m, const MKL_INT* n, const MKL_Complex16* a,
                 const MKL_INT* lda ) NOTHROW;
MKL_INT ilazlr( const MKL_INT* m, const MKL_INT* n, const MKL_Complex16* a,
                const MKL_INT* lda ) NOTHROW;
MKL_INT ilazlr_( const MKL_INT* m, const MKL_INT* n, const MKL_Complex16* a,
                 const MKL_INT* lda ) NOTHROW;

MKL_INT IPARMQ( const MKL_INT* ispec, const char* name, const char* opts,
                const MKL_INT* n, const MKL_INT* ilo, const MKL_INT* ihi,
                const MKL_INT* lwork ) NOTHROW;
MKL_INT IPARMQ_( const MKL_INT* ispec, const char* name, const char* opts,
                 const MKL_INT* n, const MKL_INT* ilo, const MKL_INT* ihi,
                 const MKL_INT* lwork ) NOTHROW;
MKL_INT iparmq( const MKL_INT* ispec, const char* name, const char* opts,
                const MKL_INT* n, const MKL_INT* ilo, const MKL_INT* ihi,
                const MKL_INT* lwork ) NOTHROW;
MKL_INT iparmq_( const MKL_INT* ispec, const char* name, const char* opts,
                 const MKL_INT* n, const MKL_INT* ilo, const MKL_INT* ihi,
                 const MKL_INT* lwork ) NOTHROW;

MKL_INT IZMAX1( const MKL_INT* n, const MKL_Complex16* cx,
                const MKL_INT* incx ) NOTHROW;
MKL_INT IZMAX1_( const MKL_INT* n, const MKL_Complex16* cx,
                 const MKL_INT* incx ) NOTHROW;
MKL_INT izmax1( const MKL_INT* n, const MKL_Complex16* cx,
                const MKL_INT* incx ) NOTHROW;
MKL_INT izmax1_( const MKL_INT* n, const MKL_Complex16* cx,
                 const MKL_INT* incx ) NOTHROW;

MKL_INT LSAMEN( const MKL_INT* n, const char* ca, const char* cb ) NOTHROW;
MKL_INT LSAMEN_( const MKL_INT* n, const char* ca, const char* cb ) NOTHROW;
MKL_INT lsamen( const MKL_INT* n, const char* ca, const char* cb ) NOTHROW;
MKL_INT lsamen_( const MKL_INT* n, const char* ca, const char* cb ) NOTHROW;

void SBDSDC( const char* uplo, const char* compq, const MKL_INT* n, float* d,
             float* e, float* u, const MKL_INT* ldu, float* vt,
             const MKL_INT* ldvt, float* q, MKL_INT* iq, float* work,
             MKL_INT* iwork, MKL_INT* info ) NOTHROW;
void SBDSDC_( const char* uplo, const char* compq, const MKL_INT* n, float* d,
              float* e, float* u, const MKL_INT* ldu, float* vt,
              const MKL_INT* ldvt, float* q, MKL_INT* iq, float* work,
              MKL_INT* iwork, MKL_INT* info ) NOTHROW;
void sbdsdc( const char* uplo, const char* compq, const MKL_INT* n, float* d,
             float* e, float* u, const MKL_INT* ldu, float* vt,
             const MKL_INT* ldvt, float* q, MKL_INT* iq, float* work,
             MKL_INT* iwork, MKL_INT* info ) NOTHROW;
void sbdsdc_( const char* uplo, const char* compq, const MKL_INT* n, float* d,
              float* e, float* u, const MKL_INT* ldu, float* vt,
              const MKL_INT* ldvt, float* q, MKL_INT* iq, float* work,
              MKL_INT* iwork, MKL_INT* info ) NOTHROW;

void SBDSQR( const char* uplo, const MKL_INT* n, const MKL_INT* ncvt,
             const MKL_INT* nru, const MKL_INT* ncc, float* d, float* e,
             float* vt, const MKL_INT* ldvt, float* u, const MKL_INT* ldu,
             float* c, const MKL_INT* ldc, float* work, MKL_INT* info ) NOTHROW;
void SBDSQR_( const char* uplo, const MKL_INT* n, const MKL_INT* ncvt,
              const MKL_INT* nru, const MKL_INT* ncc, float* d, float* e,
              float* vt, const MKL_INT* ldvt, float* u, const MKL_INT* ldu,
              float* c, const MKL_INT* ldc, float* work, MKL_INT* info ) NOTHROW;
void sbdsqr( const char* uplo, const MKL_INT* n, const MKL_INT* ncvt,
             const MKL_INT* nru, const MKL_INT* ncc, float* d, float* e,
             float* vt, const MKL_INT* ldvt, float* u, const MKL_INT* ldu,
             float* c, const MKL_INT* ldc, float* work, MKL_INT* info ) NOTHROW;
void sbdsqr_( const char* uplo, const MKL_INT* n, const MKL_INT* ncvt,
              const MKL_INT* nru, const MKL_INT* ncc, float* d, float* e,
              float* vt, const MKL_INT* ldvt, float* u, const MKL_INT* ldu,
              float* c, const MKL_INT* ldc, float* work, MKL_INT* info ) NOTHROW;

float SCSUM1( const MKL_INT* n, const MKL_Complex8* cx, const MKL_INT* incx ) NOTHROW;
float SCSUM1_( const MKL_INT* n, const MKL_Complex8* cx, const MKL_INT* incx ) NOTHROW;
float scsum1( const MKL_INT* n, const MKL_Complex8* cx, const MKL_INT* incx ) NOTHROW;
float scsum1_( const MKL_INT* n, const MKL_Complex8* cx, const MKL_INT* incx ) NOTHROW;

void SDISNA( const char* job, const MKL_INT* m, const MKL_INT* n,
             const float* d, float* sep, MKL_INT* info ) NOTHROW;
void SDISNA_( const char* job, const MKL_INT* m, const MKL_INT* n,
              const float* d, float* sep, MKL_INT* info ) NOTHROW;
void sdisna( const char* job, const MKL_INT* m, const MKL_INT* n,
             const float* d, float* sep, MKL_INT* info ) NOTHROW;
void sdisna_( const char* job, const MKL_INT* m, const MKL_INT* n,
              const float* d, float* sep, MKL_INT* info ) NOTHROW;

float SECOND( void );
float SECOND_( void );
float second( void );
float second_( void );

void SGBBRD( const char* vect, const MKL_INT* m, const MKL_INT* n,
             const MKL_INT* ncc, const MKL_INT* kl, const MKL_INT* ku,
             float* ab, const MKL_INT* ldab, float* d, float* e, float* q,
             const MKL_INT* ldq, float* pt, const MKL_INT* ldpt, float* c,
             const MKL_INT* ldc, float* work, MKL_INT* info ) NOTHROW;
void SGBBRD_( const char* vect, const MKL_INT* m, const MKL_INT* n,
              const MKL_INT* ncc, const MKL_INT* kl, const MKL_INT* ku,
              float* ab, const MKL_INT* ldab, float* d, float* e, float* q,
              const MKL_INT* ldq, float* pt, const MKL_INT* ldpt, float* c,
              const MKL_INT* ldc, float* work, MKL_INT* info ) NOTHROW;
void sgbbrd( const char* vect, const MKL_INT* m, const MKL_INT* n,
             const MKL_INT* ncc, const MKL_INT* kl, const MKL_INT* ku,
             float* ab, const MKL_INT* ldab, float* d, float* e, float* q,
             const MKL_INT* ldq, float* pt, const MKL_INT* ldpt, float* c,
             const MKL_INT* ldc, float* work, MKL_INT* info ) NOTHROW;
void sgbbrd_( const char* vect, const MKL_INT* m, const MKL_INT* n,
              const MKL_INT* ncc, const MKL_INT* kl, const MKL_INT* ku,
              float* ab, const MKL_INT* ldab, float* d, float* e, float* q,
              const MKL_INT* ldq, float* pt, const MKL_INT* ldpt, float* c,
              const MKL_INT* ldc, float* work, MKL_INT* info ) NOTHROW;

void SGBCON( const char* norm, const MKL_INT* n, const MKL_INT* kl,
             const MKL_INT* ku, const float* ab, const MKL_INT* ldab,
             const MKL_INT* ipiv, const float* anorm, float* rcond,
             float* work, MKL_INT* iwork, MKL_INT* info ) NOTHROW;
void SGBCON_( const char* norm, const MKL_INT* n, const MKL_INT* kl,
              const MKL_INT* ku, const float* ab, const MKL_INT* ldab,
              const MKL_INT* ipiv, const float* anorm, float* rcond,
              float* work, MKL_INT* iwork, MKL_INT* info ) NOTHROW;
void sgbcon( const char* norm, const MKL_INT* n, const MKL_INT* kl,
             const MKL_INT* ku, const float* ab, const MKL_INT* ldab,
             const MKL_INT* ipiv, const float* anorm, float* rcond,
             float* work, MKL_INT* iwork, MKL_INT* info ) NOTHROW;
void sgbcon_( const char* norm, const MKL_INT* n, const MKL_INT* kl,
              const MKL_INT* ku, const float* ab, const MKL_INT* ldab,
              const MKL_INT* ipiv, const float* anorm, float* rcond,
              float* work, MKL_INT* iwork, MKL_INT* info ) NOTHROW;

void SGBEQUB( const MKL_INT* m, const MKL_INT* n, const MKL_INT* kl,
              const MKL_INT* ku, const float* ab, const MKL_INT* ldab,
              float* r, float* c, float* rowcnd, float* colcnd, float* amax,
              MKL_INT* info ) NOTHROW;
void SGBEQUB_( const MKL_INT* m, const MKL_INT* n, const MKL_INT* kl,
               const MKL_INT* ku, const float* ab, const MKL_INT* ldab,
               float* r, float* c, float* rowcnd, float* colcnd, float* amax,
               MKL_INT* info ) NOTHROW;
void sgbequb( const MKL_INT* m, const MKL_INT* n, const MKL_INT* kl,
              const MKL_INT* ku, const float* ab, const MKL_INT* ldab,
              float* r, float* c, float* rowcnd, float* colcnd, float* amax,
              MKL_INT* info ) NOTHROW;
void sgbequb_( const MKL_INT* m, const MKL_INT* n, const MKL_INT* kl,
               const MKL_INT* ku, const float* ab, const MKL_INT* ldab,
               float* r, float* c, float* rowcnd, float* colcnd, float* amax,
               MKL_INT* info ) NOTHROW;

void SGBEQU( const MKL_INT* m, const MKL_INT* n, const MKL_INT* kl,
             const MKL_INT* ku, const float* ab, const MKL_INT* ldab, float* r,
             float* c, float* rowcnd, float* colcnd, float* amax,
             MKL_INT* info ) NOTHROW;
void SGBEQU_( const MKL_INT* m, const MKL_INT* n, const MKL_INT* kl,
              const MKL_INT* ku, const float* ab, const MKL_INT* ldab,
              float* r, float* c, float* rowcnd, float* colcnd, float* amax,
              MKL_INT* info ) NOTHROW;
void sgbequ( const MKL_INT* m, const MKL_INT* n, const MKL_INT* kl,
             const MKL_INT* ku, const float* ab, const MKL_INT* ldab, float* r,
             float* c, float* rowcnd, float* colcnd, float* amax,
             MKL_INT* info ) NOTHROW;
void sgbequ_( const MKL_INT* m, const MKL_INT* n, const MKL_INT* kl,
              const MKL_INT* ku, const float* ab, const MKL_INT* ldab,
              float* r, float* c, float* rowcnd, float* colcnd, float* amax,
              MKL_INT* info ) NOTHROW;

void SGBRFS( const char* trans, const MKL_INT* n, const MKL_INT* kl,
             const MKL_INT* ku, const MKL_INT* nrhs, const float* ab,
             const MKL_INT* ldab, const float* afb, const MKL_INT* ldafb,
             const MKL_INT* ipiv, const float* b, const MKL_INT* ldb, float* x,
             const MKL_INT* ldx, float* ferr, float* berr, float* work,
             MKL_INT* iwork, MKL_INT* info ) NOTHROW;
void SGBRFS_( const char* trans, const MKL_INT* n, const MKL_INT* kl,
              const MKL_INT* ku, const MKL_INT* nrhs, const float* ab,
              const MKL_INT* ldab, const float* afb, const MKL_INT* ldafb,
              const MKL_INT* ipiv, const float* b, const MKL_INT* ldb,
              float* x, const MKL_INT* ldx, float* ferr, float* berr,
              float* work, MKL_INT* iwork, MKL_INT* info ) NOTHROW;
void sgbrfs( const char* trans, const MKL_INT* n, const MKL_INT* kl,
             const MKL_INT* ku, const MKL_INT* nrhs, const float* ab,
             const MKL_INT* ldab, const float* afb, const MKL_INT* ldafb,
             const MKL_INT* ipiv, const float* b, const MKL_INT* ldb, float* x,
             const MKL_INT* ldx, float* ferr, float* berr, float* work,
             MKL_INT* iwork, MKL_INT* info ) NOTHROW;
void sgbrfs_( const char* trans, const MKL_INT* n, const MKL_INT* kl,
              const MKL_INT* ku, const MKL_INT* nrhs, const float* ab,
              const MKL_INT* ldab, const float* afb, const MKL_INT* ldafb,
              const MKL_INT* ipiv, const float* b, const MKL_INT* ldb,
              float* x, const MKL_INT* ldx, float* ferr, float* berr,
              float* work, MKL_INT* iwork, MKL_INT* info ) NOTHROW;

void SGBRFSX( const char* trans, const char* equed, const MKL_INT* n,
              const MKL_INT* kl, const MKL_INT* ku, const MKL_INT* nrhs,
              const float* ab, const MKL_INT* ldab, const float* afb,
              const MKL_INT* ldafb, const MKL_INT* ipiv, float* r,
              float* c, const float* b, const MKL_INT* ldb, float* x,
              const MKL_INT* ldx, float* rcond, float* berr,
              const MKL_INT* n_err_bnds, float* err_bnds_norm,
              float* err_bnds_comp, const MKL_INT* nparams, float* params,
              float* work, MKL_INT* iwork, MKL_INT* info ) NOTHROW;
void SGBRFSX_( const char* trans, const char* equed, const MKL_INT* n,
               const MKL_INT* kl, const MKL_INT* ku, const MKL_INT* nrhs,
               const float* ab, const MKL_INT* ldab, const float* afb,
               const MKL_INT* ldafb, const MKL_INT* ipiv, float* r,
               float* c, const float* b, const MKL_INT* ldb, float* x,
               const MKL_INT* ldx, float* rcond, float* berr,
               const MKL_INT* n_err_bnds, float* err_bnds_norm,
               float* err_bnds_comp, const MKL_INT* nparams, float* params,
               float* work, MKL_INT* iwork, MKL_INT* info ) NOTHROW;
void sgbrfsx( const char* trans, const char* equed, const MKL_INT* n,
              const MKL_INT* kl, const MKL_INT* ku, const MKL_INT* nrhs,
              const float* ab, const MKL_INT* ldab, const float* afb,
              const MKL_INT* ldafb, const MKL_INT* ipiv, float* r,
              float* c, const float* b, const MKL_INT* ldb, float* x,
              const MKL_INT* ldx, float* rcond, float* berr,
              const MKL_INT* n_err_bnds, float* err_bnds_norm,
              float* err_bnds_comp, const MKL_INT* nparams, float* params,
              float* work, MKL_INT* iwork, MKL_INT* info ) NOTHROW;
void sgbrfsx_( const char* trans, const char* equed, const MKL_INT* n,
               const MKL_INT* kl, const MKL_INT* ku, const MKL_INT* nrhs,
               const float* ab, const MKL_INT* ldab, const float* afb,
               const MKL_INT* ldafb, const MKL_INT* ipiv, float* r,
               float* c, const float* b, const MKL_INT* ldb, float* x,
               const MKL_INT* ldx, float* rcond, float* berr,
               const MKL_INT* n_err_bnds, float* err_bnds_norm,
               float* err_bnds_comp, const MKL_INT* nparams, float* params,
               float* work, MKL_INT* iwork, MKL_INT* info ) NOTHROW;

void SGBSV( const MKL_INT* n, const MKL_INT* kl, const MKL_INT* ku,
            const MKL_INT* nrhs, float* ab, const MKL_INT* ldab, MKL_INT* ipiv,
            float* b, const MKL_INT* ldb, MKL_INT* info ) NOTHROW;
void SGBSV_( const MKL_INT* n, const MKL_INT* kl, const MKL_INT* ku,
             const MKL_INT* nrhs, float* ab, const MKL_INT* ldab,
             MKL_INT* ipiv, float* b, const MKL_INT* ldb, MKL_INT* info ) NOTHROW;
void sgbsv( const MKL_INT* n, const MKL_INT* kl, const MKL_INT* ku,
            const MKL_INT* nrhs, float* ab, const MKL_INT* ldab, MKL_INT* ipiv,
            float* b, const MKL_INT* ldb, MKL_INT* info ) NOTHROW;
void sgbsv_( const MKL_INT* n, const MKL_INT* kl, const MKL_INT* ku,
             const MKL_INT* nrhs, float* ab, const MKL_INT* ldab,
             MKL_INT* ipiv, float* b, const MKL_INT* ldb, MKL_INT* info ) NOTHROW;

void SGBSVX( const char* fact, const char* trans, const MKL_INT* n,
             const MKL_INT* kl, const MKL_INT* ku, const MKL_INT* nrhs,
             float* ab, const MKL_INT* ldab, float* afb, const MKL_INT* ldafb,
             MKL_INT* ipiv, char* equed, float* r, float* c, float* b,
             const MKL_INT* ldb, float* x, const MKL_INT* ldx, float* rcond,
             float* ferr, float* berr, float* work, MKL_INT* iwork,
             MKL_INT* info ) NOTHROW;
void SGBSVX_( const char* fact, const char* trans, const MKL_INT* n,
              const MKL_INT* kl, const MKL_INT* ku, const MKL_INT* nrhs,
              float* ab, const MKL_INT* ldab, float* afb, const MKL_INT* ldafb,
              MKL_INT* ipiv, char* equed, float* r, float* c, float* b,
              const MKL_INT* ldb, float* x, const MKL_INT* ldx, float* rcond,
              float* ferr, float* berr, float* work, MKL_INT* iwork,
              MKL_INT* info ) NOTHROW;
void sgbsvx( const char* fact, const char* trans, const MKL_INT* n,
             const MKL_INT* kl, const MKL_INT* ku, const MKL_INT* nrhs,
             float* ab, const MKL_INT* ldab, float* afb, const MKL_INT* ldafb,
             MKL_INT* ipiv, char* equed, float* r, float* c, float* b,
             const MKL_INT* ldb, float* x, const MKL_INT* ldx, float* rcond,
             float* ferr, float* berr, float* work, MKL_INT* iwork,
             MKL_INT* info ) NOTHROW;
void sgbsvx_( const char* fact, const char* trans, const MKL_INT* n,
              const MKL_INT* kl, const MKL_INT* ku, const MKL_INT* nrhs,
              float* ab, const MKL_INT* ldab, float* afb, const MKL_INT* ldafb,
              MKL_INT* ipiv, char* equed, float* r, float* c, float* b,
              const MKL_INT* ldb, float* x, const MKL_INT* ldx, float* rcond,
              float* ferr, float* berr, float* work, MKL_INT* iwork,
              MKL_INT* info ) NOTHROW;

void SGBSVXX( const char* fact, const char* trans, const MKL_INT* n,
              const MKL_INT* kl, const MKL_INT* ku, const MKL_INT* nrhs,
              float* ab, const MKL_INT* ldab, float* afb, const MKL_INT* ldafb,
              MKL_INT* ipiv, char* equed, float* r, float* c, float* b,
              const MKL_INT* ldb, float* x, const MKL_INT* ldx, float* rcond,
              float* rpvgrw, float* berr, const MKL_INT* n_err_bnds,
              float* err_bnds_norm, float* err_bnds_comp,
              const MKL_INT* nparams, float* params, float* work,
              MKL_INT* iwork, MKL_INT* info ) NOTHROW;
void SGBSVXX_( const char* fact, const char* trans, const MKL_INT* n,
               const MKL_INT* kl, const MKL_INT* ku, const MKL_INT* nrhs,
               float* ab, const MKL_INT* ldab, float* afb,
               const MKL_INT* ldafb, MKL_INT* ipiv, char* equed, float* r,
               float* c, float* b, const MKL_INT* ldb, float* x,
               const MKL_INT* ldx, float* rcond, float* rpvgrw, float* berr,
               const MKL_INT* n_err_bnds, float* err_bnds_norm,
               float* err_bnds_comp, const MKL_INT* nparams, float* params,
               float* work, MKL_INT* iwork, MKL_INT* info ) NOTHROW;
void sgbsvxx( const char* fact, const char* trans, const MKL_INT* n,
              const MKL_INT* kl, const MKL_INT* ku, const MKL_INT* nrhs,
              float* ab, const MKL_INT* ldab, float* afb, const MKL_INT* ldafb,
              MKL_INT* ipiv, char* equed, float* r, float* c, float* b,
              const MKL_INT* ldb, float* x, const MKL_INT* ldx, float* rcond,
              float* rpvgrw, float* berr, const MKL_INT* n_err_bnds,
              float* err_bnds_norm, float* err_bnds_comp,
              const MKL_INT* nparams, float* params, float* work,
              MKL_INT* iwork, MKL_INT* info ) NOTHROW;
void sgbsvxx_( const char* fact, const char* trans, const MKL_INT* n,
               const MKL_INT* kl, const MKL_INT* ku, const MKL_INT* nrhs,
               float* ab, const MKL_INT* ldab, float* afb,
               const MKL_INT* ldafb, MKL_INT* ipiv, char* equed, float* r,
               float* c, float* b, const MKL_INT* ldb, float* x,
               const MKL_INT* ldx, float* rcond, float* rpvgrw, float* berr,
               const MKL_INT* n_err_bnds, float* err_bnds_norm,
               float* err_bnds_comp, const MKL_INT* nparams, float* params,
               float* work, MKL_INT* iwork, MKL_INT* info ) NOTHROW;

void SGBTF2( const MKL_INT* m, const MKL_INT* n, const MKL_INT* kl,
             const MKL_INT* ku, float* ab, const MKL_INT* ldab, MKL_INT* ipiv,
             MKL_INT* info ) NOTHROW;
void SGBTF2_( const MKL_INT* m, const MKL_INT* n, const MKL_INT* kl,
              const MKL_INT* ku, float* ab, const MKL_INT* ldab, MKL_INT* ipiv,
              MKL_INT* info ) NOTHROW;
void sgbtf2( const MKL_INT* m, const MKL_INT* n, const MKL_INT* kl,
             const MKL_INT* ku, float* ab, const MKL_INT* ldab, MKL_INT* ipiv,
             MKL_INT* info ) NOTHROW;
void sgbtf2_( const MKL_INT* m, const MKL_INT* n, const MKL_INT* kl,
              const MKL_INT* ku, float* ab, const MKL_INT* ldab, MKL_INT* ipiv,
              MKL_INT* info ) NOTHROW;

void SGBTRF( const MKL_INT* m, const MKL_INT* n, const MKL_INT* kl,
             const MKL_INT* ku, float* ab, const MKL_INT* ldab, MKL_INT* ipiv,
             MKL_INT* info ) NOTHROW;
void SGBTRF_( const MKL_INT* m, const MKL_INT* n, const MKL_INT* kl,
              const MKL_INT* ku, float* ab, const MKL_INT* ldab, MKL_INT* ipiv,
              MKL_INT* info ) NOTHROW;
void sgbtrf( const MKL_INT* m, const MKL_INT* n, const MKL_INT* kl,
             const MKL_INT* ku, float* ab, const MKL_INT* ldab, MKL_INT* ipiv,
             MKL_INT* info ) NOTHROW;
void sgbtrf_( const MKL_INT* m, const MKL_INT* n, const MKL_INT* kl,
              const MKL_INT* ku, float* ab, const MKL_INT* ldab, MKL_INT* ipiv,
              MKL_INT* info ) NOTHROW;

void SGBTRS( const char* trans, const MKL_INT* n, const MKL_INT* kl,
             const MKL_INT* ku, const MKL_INT* nrhs, const float* ab,
             const MKL_INT* ldab, const MKL_INT* ipiv, float* b,
             const MKL_INT* ldb, MKL_INT* info ) NOTHROW;
void SGBTRS_( const char* trans, const MKL_INT* n, const MKL_INT* kl,
              const MKL_INT* ku, const MKL_INT* nrhs, const float* ab,
              const MKL_INT* ldab, const MKL_INT* ipiv, float* b,
              const MKL_INT* ldb, MKL_INT* info ) NOTHROW;
void sgbtrs( const char* trans, const MKL_INT* n, const MKL_INT* kl,
             const MKL_INT* ku, const MKL_INT* nrhs, const float* ab,
             const MKL_INT* ldab, const MKL_INT* ipiv, float* b,
             const MKL_INT* ldb, MKL_INT* info ) NOTHROW;
void sgbtrs_( const char* trans, const MKL_INT* n, const MKL_INT* kl,
              const MKL_INT* ku, const MKL_INT* nrhs, const float* ab,
              const MKL_INT* ldab, const MKL_INT* ipiv, float* b,
              const MKL_INT* ldb, MKL_INT* info ) NOTHROW;

void SGEBAK( const char* job, const char* side, const MKL_INT* n,
             const MKL_INT* ilo, const MKL_INT* ihi, const float* scale,
             const MKL_INT* m, float* v, const MKL_INT* ldv, MKL_INT* info ) NOTHROW;
void SGEBAK_( const char* job, const char* side, const MKL_INT* n,
              const MKL_INT* ilo, const MKL_INT* ihi, const float* scale,
              const MKL_INT* m, float* v, const MKL_INT* ldv, MKL_INT* info ) NOTHROW;
void sgebak( const char* job, const char* side, const MKL_INT* n,
             const MKL_INT* ilo, const MKL_INT* ihi, const float* scale,
             const MKL_INT* m, float* v, const MKL_INT* ldv, MKL_INT* info ) NOTHROW;
void sgebak_( const char* job, const char* side, const MKL_INT* n,
              const MKL_INT* ilo, const MKL_INT* ihi, const float* scale,
              const MKL_INT* m, float* v, const MKL_INT* ldv, MKL_INT* info ) NOTHROW;

void SGEBAL( const char* job, const MKL_INT* n, float* a, const MKL_INT* lda,
             MKL_INT* ilo, MKL_INT* ihi, float* scale, MKL_INT* info ) NOTHROW;
void SGEBAL_( const char* job, const MKL_INT* n, float* a, const MKL_INT* lda,
              MKL_INT* ilo, MKL_INT* ihi, float* scale, MKL_INT* info ) NOTHROW;
void sgebal( const char* job, const MKL_INT* n, float* a, const MKL_INT* lda,
             MKL_INT* ilo, MKL_INT* ihi, float* scale, MKL_INT* info ) NOTHROW;
void sgebal_( const char* job, const MKL_INT* n, float* a, const MKL_INT* lda,
              MKL_INT* ilo, MKL_INT* ihi, float* scale, MKL_INT* info ) NOTHROW;

void SGEBD2( const MKL_INT* m, const MKL_INT* n, float* a, const MKL_INT* lda,
             float* d, float* e, float* tauq, float* taup, float* work,
             MKL_INT* info ) NOTHROW;
void SGEBD2_( const MKL_INT* m, const MKL_INT* n, float* a, const MKL_INT* lda,
              float* d, float* e, float* tauq, float* taup, float* work,
              MKL_INT* info ) NOTHROW;
void sgebd2( const MKL_INT* m, const MKL_INT* n, float* a, const MKL_INT* lda,
             float* d, float* e, float* tauq, float* taup, float* work,
             MKL_INT* info ) NOTHROW;
void sgebd2_( const MKL_INT* m, const MKL_INT* n, float* a, const MKL_INT* lda,
              float* d, float* e, float* tauq, float* taup, float* work,
              MKL_INT* info ) NOTHROW;

void SGEBRD( const MKL_INT* m, const MKL_INT* n, float* a, const MKL_INT* lda,
             float* d, float* e, float* tauq, float* taup, float* work,
             const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void SGEBRD_( const MKL_INT* m, const MKL_INT* n, float* a, const MKL_INT* lda,
              float* d, float* e, float* tauq, float* taup, float* work,
              const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void sgebrd( const MKL_INT* m, const MKL_INT* n, float* a, const MKL_INT* lda,
             float* d, float* e, float* tauq, float* taup, float* work,
             const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void sgebrd_( const MKL_INT* m, const MKL_INT* n, float* a, const MKL_INT* lda,
              float* d, float* e, float* tauq, float* taup, float* work,
              const MKL_INT* lwork, MKL_INT* info ) NOTHROW;

void SGECON( const char* norm, const MKL_INT* n, const float* a,
             const MKL_INT* lda, const float* anorm, float* rcond, float* work,
             MKL_INT* iwork, MKL_INT* info ) NOTHROW;
void SGECON_( const char* norm, const MKL_INT* n, const float* a,
              const MKL_INT* lda, const float* anorm, float* rcond,
              float* work, MKL_INT* iwork, MKL_INT* info ) NOTHROW;
void sgecon( const char* norm, const MKL_INT* n, const float* a,
             const MKL_INT* lda, const float* anorm, float* rcond, float* work,
             MKL_INT* iwork, MKL_INT* info ) NOTHROW;
void sgecon_( const char* norm, const MKL_INT* n, const float* a,
              const MKL_INT* lda, const float* anorm, float* rcond,
              float* work, MKL_INT* iwork, MKL_INT* info ) NOTHROW;

void SGEEQUB( const MKL_INT* m, const MKL_INT* n, const float* a,
              const MKL_INT* lda, float* r, float* c, float* rowcnd,
              float* colcnd, float* amax, MKL_INT* info ) NOTHROW;
void SGEEQUB_( const MKL_INT* m, const MKL_INT* n, const float* a,
               const MKL_INT* lda, float* r, float* c, float* rowcnd,
               float* colcnd, float* amax, MKL_INT* info ) NOTHROW;
void sgeequb( const MKL_INT* m, const MKL_INT* n, const float* a,
              const MKL_INT* lda, float* r, float* c, float* rowcnd,
              float* colcnd, float* amax, MKL_INT* info ) NOTHROW;
void sgeequb_( const MKL_INT* m, const MKL_INT* n, const float* a,
               const MKL_INT* lda, float* r, float* c, float* rowcnd,
               float* colcnd, float* amax, MKL_INT* info ) NOTHROW;

void SGEEQU( const MKL_INT* m, const MKL_INT* n, const float* a,
             const MKL_INT* lda, float* r, float* c, float* rowcnd,
             float* colcnd, float* amax, MKL_INT* info ) NOTHROW;
void SGEEQU_( const MKL_INT* m, const MKL_INT* n, const float* a,
              const MKL_INT* lda, float* r, float* c, float* rowcnd,
              float* colcnd, float* amax, MKL_INT* info ) NOTHROW;
void sgeequ( const MKL_INT* m, const MKL_INT* n, const float* a,
             const MKL_INT* lda, float* r, float* c, float* rowcnd,
             float* colcnd, float* amax, MKL_INT* info ) NOTHROW;
void sgeequ_( const MKL_INT* m, const MKL_INT* n, const float* a,
              const MKL_INT* lda, float* r, float* c, float* rowcnd,
              float* colcnd, float* amax, MKL_INT* info ) NOTHROW;

void SGEES( const char* jobvs, const char* sort,
            MKL_S_SELECT_FUNCTION_2 select, const MKL_INT* n, float* a,
            const MKL_INT* lda, MKL_INT* sdim, float* wr, float* wi, float* vs,
            const MKL_INT* ldvs, float* work, const MKL_INT* lwork,
            MKL_INT* bwork, MKL_INT* info ) NOTHROW;
void SGEES_( const char* jobvs, const char* sort,
             MKL_S_SELECT_FUNCTION_2 select, const MKL_INT* n, float* a,
             const MKL_INT* lda, MKL_INT* sdim, float* wr, float* wi,
             float* vs, const MKL_INT* ldvs, float* work, const MKL_INT* lwork,
             MKL_INT* bwork, MKL_INT* info ) NOTHROW;
void sgees( const char* jobvs, const char* sort,
            MKL_S_SELECT_FUNCTION_2 select, const MKL_INT* n, float* a,
            const MKL_INT* lda, MKL_INT* sdim, float* wr, float* wi, float* vs,
            const MKL_INT* ldvs, float* work, const MKL_INT* lwork,
            MKL_INT* bwork, MKL_INT* info ) NOTHROW;
void sgees_( const char* jobvs, const char* sort,
             MKL_S_SELECT_FUNCTION_2 select, const MKL_INT* n, float* a,
             const MKL_INT* lda, MKL_INT* sdim, float* wr, float* wi,
             float* vs, const MKL_INT* ldvs, float* work, const MKL_INT* lwork,
             MKL_INT* bwork, MKL_INT* info ) NOTHROW;

void SGEESX( const char* jobvs, const char* sort,
             MKL_S_SELECT_FUNCTION_2 select, const char* sense,
             const MKL_INT* n, float* a, const MKL_INT* lda, MKL_INT* sdim,
             float* wr, float* wi, float* vs, const MKL_INT* ldvs,
             float* rconde, float* rcondv, float* work, const MKL_INT* lwork,
             MKL_INT* iwork, const MKL_INT* liwork, MKL_INT* bwork,
             MKL_INT* info ) NOTHROW;
void SGEESX_( const char* jobvs, const char* sort,
              MKL_S_SELECT_FUNCTION_2 select, const char* sense,
              const MKL_INT* n, float* a, const MKL_INT* lda, MKL_INT* sdim,
              float* wr, float* wi, float* vs, const MKL_INT* ldvs,
              float* rconde, float* rcondv, float* work, const MKL_INT* lwork,
              MKL_INT* iwork, const MKL_INT* liwork, MKL_INT* bwork,
              MKL_INT* info ) NOTHROW;
void sgeesx( const char* jobvs, const char* sort,
             MKL_S_SELECT_FUNCTION_2 select, const char* sense,
             const MKL_INT* n, float* a, const MKL_INT* lda, MKL_INT* sdim,
             float* wr, float* wi, float* vs, const MKL_INT* ldvs,
             float* rconde, float* rcondv, float* work, const MKL_INT* lwork,
             MKL_INT* iwork, const MKL_INT* liwork, MKL_INT* bwork,
             MKL_INT* info ) NOTHROW;
void sgeesx_( const char* jobvs, const char* sort,
              MKL_S_SELECT_FUNCTION_2 select, const char* sense,
              const MKL_INT* n, float* a, const MKL_INT* lda, MKL_INT* sdim,
              float* wr, float* wi, float* vs, const MKL_INT* ldvs,
              float* rconde, float* rcondv, float* work, const MKL_INT* lwork,
              MKL_INT* iwork, const MKL_INT* liwork, MKL_INT* bwork,
              MKL_INT* info ) NOTHROW;

void SGEEV( const char* jobvl, const char* jobvr, const MKL_INT* n, float* a,
            const MKL_INT* lda, float* wr, float* wi, float* vl,
            const MKL_INT* ldvl, float* vr, const MKL_INT* ldvr, float* work,
            const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void SGEEV_( const char* jobvl, const char* jobvr, const MKL_INT* n, float* a,
             const MKL_INT* lda, float* wr, float* wi, float* vl,
             const MKL_INT* ldvl, float* vr, const MKL_INT* ldvr, float* work,
             const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void sgeev( const char* jobvl, const char* jobvr, const MKL_INT* n, float* a,
            const MKL_INT* lda, float* wr, float* wi, float* vl,
            const MKL_INT* ldvl, float* vr, const MKL_INT* ldvr, float* work,
            const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void sgeev_( const char* jobvl, const char* jobvr, const MKL_INT* n, float* a,
             const MKL_INT* lda, float* wr, float* wi, float* vl,
             const MKL_INT* ldvl, float* vr, const MKL_INT* ldvr, float* work,
             const MKL_INT* lwork, MKL_INT* info ) NOTHROW;

void SGEEVX( const char* balanc, const char* jobvl, const char* jobvr,
             const char* sense, const MKL_INT* n, float* a, const MKL_INT* lda,
             float* wr, float* wi, float* vl, const MKL_INT* ldvl, float* vr,
             const MKL_INT* ldvr, MKL_INT* ilo, MKL_INT* ihi, float* scale,
             float* abnrm, float* rconde, float* rcondv, float* work,
             const MKL_INT* lwork, MKL_INT* iwork, MKL_INT* info ) NOTHROW;
void SGEEVX_( const char* balanc, const char* jobvl, const char* jobvr,
              const char* sense, const MKL_INT* n, float* a,
              const MKL_INT* lda, float* wr, float* wi, float* vl,
              const MKL_INT* ldvl, float* vr, const MKL_INT* ldvr,
              MKL_INT* ilo, MKL_INT* ihi, float* scale, float* abnrm,
              float* rconde, float* rcondv, float* work, const MKL_INT* lwork,
              MKL_INT* iwork, MKL_INT* info ) NOTHROW;
void sgeevx( const char* balanc, const char* jobvl, const char* jobvr,
             const char* sense, const MKL_INT* n, float* a, const MKL_INT* lda,
             float* wr, float* wi, float* vl, const MKL_INT* ldvl, float* vr,
             const MKL_INT* ldvr, MKL_INT* ilo, MKL_INT* ihi, float* scale,
             float* abnrm, float* rconde, float* rcondv, float* work,
             const MKL_INT* lwork, MKL_INT* iwork, MKL_INT* info ) NOTHROW;
void sgeevx_( const char* balanc, const char* jobvl, const char* jobvr,
              const char* sense, const MKL_INT* n, float* a,
              const MKL_INT* lda, float* wr, float* wi, float* vl,
              const MKL_INT* ldvl, float* vr, const MKL_INT* ldvr,
              MKL_INT* ilo, MKL_INT* ihi, float* scale, float* abnrm,
              float* rconde, float* rcondv, float* work, const MKL_INT* lwork,
              MKL_INT* iwork, MKL_INT* info ) NOTHROW;

void SGEGS( const char* jobvsl, const char* jobvsr, const MKL_INT* n, float* a,
            const MKL_INT* lda, float* b, const MKL_INT* ldb, float* alphar,
            float* alphai, float* beta, float* vsl, const MKL_INT* ldvsl,
            float* vsr, const MKL_INT* ldvsr, float* work,
            const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void SGEGS_( const char* jobvsl, const char* jobvsr, const MKL_INT* n,
             float* a, const MKL_INT* lda, float* b, const MKL_INT* ldb,
             float* alphar, float* alphai, float* beta, float* vsl,
             const MKL_INT* ldvsl, float* vsr, const MKL_INT* ldvsr,
             float* work, const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void sgegs( const char* jobvsl, const char* jobvsr, const MKL_INT* n, float* a,
            const MKL_INT* lda, float* b, const MKL_INT* ldb, float* alphar,
            float* alphai, float* beta, float* vsl, const MKL_INT* ldvsl,
            float* vsr, const MKL_INT* ldvsr, float* work,
            const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void sgegs_( const char* jobvsl, const char* jobvsr, const MKL_INT* n,
             float* a, const MKL_INT* lda, float* b, const MKL_INT* ldb,
             float* alphar, float* alphai, float* beta, float* vsl,
             const MKL_INT* ldvsl, float* vsr, const MKL_INT* ldvsr,
             float* work, const MKL_INT* lwork, MKL_INT* info ) NOTHROW;

void SGEGV( const char* jobvl, const char* jobvr, const MKL_INT* n, float* a,
            const MKL_INT* lda, float* b, const MKL_INT* ldb, float* alphar,
            float* alphai, float* beta, float* vl, const MKL_INT* ldvl,
            float* vr, const MKL_INT* ldvr, float* work, const MKL_INT* lwork,
            MKL_INT* info ) NOTHROW;
void SGEGV_( const char* jobvl, const char* jobvr, const MKL_INT* n, float* a,
             const MKL_INT* lda, float* b, const MKL_INT* ldb, float* alphar,
             float* alphai, float* beta, float* vl, const MKL_INT* ldvl,
             float* vr, const MKL_INT* ldvr, float* work, const MKL_INT* lwork,
             MKL_INT* info ) NOTHROW;
void sgegv( const char* jobvl, const char* jobvr, const MKL_INT* n, float* a,
            const MKL_INT* lda, float* b, const MKL_INT* ldb, float* alphar,
            float* alphai, float* beta, float* vl, const MKL_INT* ldvl,
            float* vr, const MKL_INT* ldvr, float* work, const MKL_INT* lwork,
            MKL_INT* info ) NOTHROW;
void sgegv_( const char* jobvl, const char* jobvr, const MKL_INT* n, float* a,
             const MKL_INT* lda, float* b, const MKL_INT* ldb, float* alphar,
             float* alphai, float* beta, float* vl, const MKL_INT* ldvl,
             float* vr, const MKL_INT* ldvr, float* work, const MKL_INT* lwork,
             MKL_INT* info ) NOTHROW;

void SGEHD2( const MKL_INT* n, const MKL_INT* ilo, const MKL_INT* ihi,
             float* a, const MKL_INT* lda, float* tau, float* work,
             MKL_INT* info ) NOTHROW;
void SGEHD2_( const MKL_INT* n, const MKL_INT* ilo, const MKL_INT* ihi,
              float* a, const MKL_INT* lda, float* tau, float* work,
              MKL_INT* info ) NOTHROW;
void sgehd2( const MKL_INT* n, const MKL_INT* ilo, const MKL_INT* ihi,
             float* a, const MKL_INT* lda, float* tau, float* work,
             MKL_INT* info ) NOTHROW;
void sgehd2_( const MKL_INT* n, const MKL_INT* ilo, const MKL_INT* ihi,
              float* a, const MKL_INT* lda, float* tau, float* work,
              MKL_INT* info ) NOTHROW;

void SGEHRD( const MKL_INT* n, const MKL_INT* ilo, const MKL_INT* ihi,
             float* a, const MKL_INT* lda, float* tau, float* work,
             const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void SGEHRD_( const MKL_INT* n, const MKL_INT* ilo, const MKL_INT* ihi,
              float* a, const MKL_INT* lda, float* tau, float* work,
              const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void sgehrd( const MKL_INT* n, const MKL_INT* ilo, const MKL_INT* ihi,
             float* a, const MKL_INT* lda, float* tau, float* work,
             const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void sgehrd_( const MKL_INT* n, const MKL_INT* ilo, const MKL_INT* ihi,
              float* a, const MKL_INT* lda, float* tau, float* work,
              const MKL_INT* lwork, MKL_INT* info ) NOTHROW;

void SGEJSV( const char* joba, const char* jobu, const char* jobv, const char* jobr, const char* jobt,
             const char* jobp, const MKL_INT* m, const MKL_INT* n, float* a,
             const MKL_INT* lda, float* sva, float* u, const MKL_INT* ldu,
             float* v, const MKL_INT* ldv, float* work, const MKL_INT* lwork,
             MKL_INT* iwork, MKL_INT* info ) NOTHROW;
void SGEJSV_( const char* joba, const char* jobu, const char* jobv, const char* jobr, const char* jobt,
              const char* jobp, const MKL_INT* m, const MKL_INT* n, float* a,
              const MKL_INT* lda, float* sva, float* u, const MKL_INT* ldu,
              float* v, const MKL_INT* ldv, float* work, const MKL_INT* lwork,
              MKL_INT* iwork, MKL_INT* info ) NOTHROW;
void sgejsv( const char* joba, const char* jobu, const char* jobv, const char* jobr, const char* jobt,
             const char* jobp, const MKL_INT* m, const MKL_INT* n, float* a,
             const MKL_INT* lda, float* sva, float* u, const MKL_INT* ldu,
             float* v, const MKL_INT* ldv, float* work, const MKL_INT* lwork,
             MKL_INT* iwork, MKL_INT* info ) NOTHROW;
void sgejsv_( const char* joba, const char* jobu, const char* jobv, const char* jobr, const char* jobt,
              const char* jobp, const MKL_INT* m, const MKL_INT* n, float* a,
              const MKL_INT* lda, float* sva, float* u, const MKL_INT* ldu,
              float* v, const MKL_INT* ldv, float* work, const MKL_INT* lwork,
              MKL_INT* iwork, MKL_INT* info ) NOTHROW;

void SGELQ2( const MKL_INT* m, const MKL_INT* n, float* a, const MKL_INT* lda,
             float* tau, float* work, MKL_INT* info ) NOTHROW;
void SGELQ2_( const MKL_INT* m, const MKL_INT* n, float* a, const MKL_INT* lda,
              float* tau, float* work, MKL_INT* info ) NOTHROW;
void sgelq2( const MKL_INT* m, const MKL_INT* n, float* a, const MKL_INT* lda,
             float* tau, float* work, MKL_INT* info ) NOTHROW;
void sgelq2_( const MKL_INT* m, const MKL_INT* n, float* a, const MKL_INT* lda,
              float* tau, float* work, MKL_INT* info ) NOTHROW;

void SGELQF( const MKL_INT* m, const MKL_INT* n, float* a, const MKL_INT* lda,
             float* tau, float* work, const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void SGELQF_( const MKL_INT* m, const MKL_INT* n, float* a, const MKL_INT* lda,
              float* tau, float* work, const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void sgelqf( const MKL_INT* m, const MKL_INT* n, float* a, const MKL_INT* lda,
             float* tau, float* work, const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void sgelqf_( const MKL_INT* m, const MKL_INT* n, float* a, const MKL_INT* lda,
              float* tau, float* work, const MKL_INT* lwork, MKL_INT* info ) NOTHROW;

void SGELSD( const MKL_INT* m, const MKL_INT* n, const MKL_INT* nrhs,
             float* a, const MKL_INT* lda, float* b, const MKL_INT* ldb,
             float* s, const float* rcond, MKL_INT* rank, float* work,
             const MKL_INT* lwork, MKL_INT* iwork, MKL_INT* info ) NOTHROW;
void SGELSD_( const MKL_INT* m, const MKL_INT* n, const MKL_INT* nrhs,
              float* a, const MKL_INT* lda, float* b, const MKL_INT* ldb,
              float* s, const float* rcond, MKL_INT* rank, float* work,
              const MKL_INT* lwork, MKL_INT* iwork, MKL_INT* info ) NOTHROW;
void sgelsd( const MKL_INT* m, const MKL_INT* n, const MKL_INT* nrhs,
             float* a, const MKL_INT* lda, float* b, const MKL_INT* ldb,
             float* s, const float* rcond, MKL_INT* rank, float* work,
             const MKL_INT* lwork, MKL_INT* iwork, MKL_INT* info ) NOTHROW;
void sgelsd_( const MKL_INT* m, const MKL_INT* n, const MKL_INT* nrhs,
              float* a, const MKL_INT* lda, float* b, const MKL_INT* ldb,
              float* s, const float* rcond, MKL_INT* rank, float* work,
              const MKL_INT* lwork, MKL_INT* iwork, MKL_INT* info ) NOTHROW;

void SGELS( const char* trans, const MKL_INT* m, const MKL_INT* n,
            const MKL_INT* nrhs, float* a, const MKL_INT* lda, float* b,
            const MKL_INT* ldb, float* work, const MKL_INT* lwork,
            MKL_INT* info ) NOTHROW;
void SGELS_( const char* trans, const MKL_INT* m, const MKL_INT* n,
             const MKL_INT* nrhs, float* a, const MKL_INT* lda, float* b,
             const MKL_INT* ldb, float* work, const MKL_INT* lwork,
             MKL_INT* info ) NOTHROW;
void sgels( const char* trans, const MKL_INT* m, const MKL_INT* n,
            const MKL_INT* nrhs, float* a, const MKL_INT* lda, float* b,
            const MKL_INT* ldb, float* work, const MKL_INT* lwork,
            MKL_INT* info ) NOTHROW;
void sgels_( const char* trans, const MKL_INT* m, const MKL_INT* n,
             const MKL_INT* nrhs, float* a, const MKL_INT* lda, float* b,
             const MKL_INT* ldb, float* work, const MKL_INT* lwork,
             MKL_INT* info ) NOTHROW;

void SGELSS( const MKL_INT* m, const MKL_INT* n, const MKL_INT* nrhs, float* a,
             const MKL_INT* lda, float* b, const MKL_INT* ldb, float* s,
             const float* rcond, MKL_INT* rank, float* work,
             const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void SGELSS_( const MKL_INT* m, const MKL_INT* n, const MKL_INT* nrhs,
              float* a, const MKL_INT* lda, float* b, const MKL_INT* ldb,
              float* s, const float* rcond, MKL_INT* rank, float* work,
              const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void sgelss( const MKL_INT* m, const MKL_INT* n, const MKL_INT* nrhs, float* a,
             const MKL_INT* lda, float* b, const MKL_INT* ldb, float* s,
             const float* rcond, MKL_INT* rank, float* work,
             const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void sgelss_( const MKL_INT* m, const MKL_INT* n, const MKL_INT* nrhs,
              float* a, const MKL_INT* lda, float* b, const MKL_INT* ldb,
              float* s, const float* rcond, MKL_INT* rank, float* work,
              const MKL_INT* lwork, MKL_INT* info ) NOTHROW;

void SGELSX( const MKL_INT* m, const MKL_INT* n, const MKL_INT* nrhs, float* a,
             const MKL_INT* lda, float* b, const MKL_INT* ldb, MKL_INT* jpvt,
             const float* rcond, MKL_INT* rank, float* work, MKL_INT* info ) NOTHROW;
void SGELSX_( const MKL_INT* m, const MKL_INT* n, const MKL_INT* nrhs,
              float* a, const MKL_INT* lda, float* b, const MKL_INT* ldb,
              MKL_INT* jpvt, const float* rcond, MKL_INT* rank, float* work,
              MKL_INT* info ) NOTHROW;
void sgelsx( const MKL_INT* m, const MKL_INT* n, const MKL_INT* nrhs, float* a,
             const MKL_INT* lda, float* b, const MKL_INT* ldb, MKL_INT* jpvt,
             const float* rcond, MKL_INT* rank, float* work, MKL_INT* info ) NOTHROW;
void sgelsx_( const MKL_INT* m, const MKL_INT* n, const MKL_INT* nrhs,
              float* a, const MKL_INT* lda, float* b, const MKL_INT* ldb,
              MKL_INT* jpvt, const float* rcond, MKL_INT* rank, float* work,
              MKL_INT* info ) NOTHROW;

void SGELSY( const MKL_INT* m, const MKL_INT* n, const MKL_INT* nrhs, float* a,
             const MKL_INT* lda, float* b, const MKL_INT* ldb, MKL_INT* jpvt,
             const float* rcond, MKL_INT* rank, float* work,
             const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void SGELSY_( const MKL_INT* m, const MKL_INT* n, const MKL_INT* nrhs,
              float* a, const MKL_INT* lda, float* b, const MKL_INT* ldb,
              MKL_INT* jpvt, const float* rcond, MKL_INT* rank, float* work,
              const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void sgelsy( const MKL_INT* m, const MKL_INT* n, const MKL_INT* nrhs, float* a,
             const MKL_INT* lda, float* b, const MKL_INT* ldb, MKL_INT* jpvt,
             const float* rcond, MKL_INT* rank, float* work,
             const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void sgelsy_( const MKL_INT* m, const MKL_INT* n, const MKL_INT* nrhs,
              float* a, const MKL_INT* lda, float* b, const MKL_INT* ldb,
              MKL_INT* jpvt, const float* rcond, MKL_INT* rank, float* work,
              const MKL_INT* lwork, MKL_INT* info ) NOTHROW;

void SGEQL2( const MKL_INT* m, const MKL_INT* n, float* a, const MKL_INT* lda,
             float* tau, float* work, MKL_INT* info ) NOTHROW;
void SGEQL2_( const MKL_INT* m, const MKL_INT* n, float* a, const MKL_INT* lda,
              float* tau, float* work, MKL_INT* info ) NOTHROW;
void sgeql2( const MKL_INT* m, const MKL_INT* n, float* a, const MKL_INT* lda,
             float* tau, float* work, MKL_INT* info ) NOTHROW;
void sgeql2_( const MKL_INT* m, const MKL_INT* n, float* a, const MKL_INT* lda,
              float* tau, float* work, MKL_INT* info ) NOTHROW;

void SGEQLF( const MKL_INT* m, const MKL_INT* n, float* a, const MKL_INT* lda,
             float* tau, float* work, const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void SGEQLF_( const MKL_INT* m, const MKL_INT* n, float* a, const MKL_INT* lda,
              float* tau, float* work, const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void sgeqlf( const MKL_INT* m, const MKL_INT* n, float* a, const MKL_INT* lda,
             float* tau, float* work, const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void sgeqlf_( const MKL_INT* m, const MKL_INT* n, float* a, const MKL_INT* lda,
              float* tau, float* work, const MKL_INT* lwork, MKL_INT* info ) NOTHROW;

void SGEQP3( const MKL_INT* m, const MKL_INT* n, float* a, const MKL_INT* lda,
             MKL_INT* jpvt, float* tau, float* work, const MKL_INT* lwork,
             MKL_INT* info ) NOTHROW;
void SGEQP3_( const MKL_INT* m, const MKL_INT* n, float* a, const MKL_INT* lda,
              MKL_INT* jpvt, float* tau, float* work, const MKL_INT* lwork,
              MKL_INT* info ) NOTHROW;
void sgeqp3( const MKL_INT* m, const MKL_INT* n, float* a, const MKL_INT* lda,
             MKL_INT* jpvt, float* tau, float* work, const MKL_INT* lwork,
             MKL_INT* info ) NOTHROW;
void sgeqp3_( const MKL_INT* m, const MKL_INT* n, float* a, const MKL_INT* lda,
              MKL_INT* jpvt, float* tau, float* work, const MKL_INT* lwork,
              MKL_INT* info ) NOTHROW;

void SGEQPF( const MKL_INT* m, const MKL_INT* n, float* a, const MKL_INT* lda,
             MKL_INT* jpvt, float* tau, float* work, MKL_INT* info ) NOTHROW;
void SGEQPF_( const MKL_INT* m, const MKL_INT* n, float* a, const MKL_INT* lda,
              MKL_INT* jpvt, float* tau, float* work, MKL_INT* info ) NOTHROW;
void sgeqpf( const MKL_INT* m, const MKL_INT* n, float* a, const MKL_INT* lda,
             MKL_INT* jpvt, float* tau, float* work, MKL_INT* info ) NOTHROW;
void sgeqpf_( const MKL_INT* m, const MKL_INT* n, float* a, const MKL_INT* lda,
              MKL_INT* jpvt, float* tau, float* work, MKL_INT* info ) NOTHROW;

void SGEQR2( const MKL_INT* m, const MKL_INT* n, float* a, const MKL_INT* lda,
             float* tau, float* work, MKL_INT* info ) NOTHROW;
void SGEQR2_( const MKL_INT* m, const MKL_INT* n, float* a, const MKL_INT* lda,
              float* tau, float* work, MKL_INT* info ) NOTHROW;
void sgeqr2( const MKL_INT* m, const MKL_INT* n, float* a, const MKL_INT* lda,
             float* tau, float* work, MKL_INT* info ) NOTHROW;
void sgeqr2_( const MKL_INT* m, const MKL_INT* n, float* a, const MKL_INT* lda,
              float* tau, float* work, MKL_INT* info ) NOTHROW;

void SGEQR2P( const MKL_INT* m, const MKL_INT* n, float* a, const MKL_INT* lda,
              float* tau, float* work, MKL_INT* info ) NOTHROW;
void SGEQR2P_( const MKL_INT* m, const MKL_INT* n, float* a, const MKL_INT* lda,
               float* tau, float* work, MKL_INT* info ) NOTHROW;
void sgeqr2p( const MKL_INT* m, const MKL_INT* n, float* a, const MKL_INT* lda,
              float* tau, float* work, MKL_INT* info ) NOTHROW;
void sgeqr2p_( const MKL_INT* m, const MKL_INT* n, float* a, const MKL_INT* lda,
               float* tau, float* work, MKL_INT* info ) NOTHROW;

void SGEQRF( const MKL_INT* m, const MKL_INT* n, float* a, const MKL_INT* lda,
             float* tau, float* work, const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void SGEQRF_( const MKL_INT* m, const MKL_INT* n, float* a, const MKL_INT* lda,
              float* tau, float* work, const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void sgeqrf( const MKL_INT* m, const MKL_INT* n, float* a, const MKL_INT* lda,
             float* tau, float* work, const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void sgeqrf_( const MKL_INT* m, const MKL_INT* n, float* a, const MKL_INT* lda,
              float* tau, float* work, const MKL_INT* lwork, MKL_INT* info ) NOTHROW;

void SGEQRFP( const MKL_INT* m, const MKL_INT* n, float* a, const MKL_INT* lda,
              float* tau, float* work, const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void SGEQRFP_( const MKL_INT* m, const MKL_INT* n, float* a, const MKL_INT* lda,
               float* tau, float* work, const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void sgeqrfp( const MKL_INT* m, const MKL_INT* n, float* a, const MKL_INT* lda,
              float* tau, float* work, const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void sgeqrfp_( const MKL_INT* m, const MKL_INT* n, float* a, const MKL_INT* lda,
               float* tau, float* work, const MKL_INT* lwork, MKL_INT* info ) NOTHROW;

void SGERFS( const char* trans, const MKL_INT* n, const MKL_INT* nrhs,
             const float* a, const MKL_INT* lda, const float* af,
             const MKL_INT* ldaf, const MKL_INT* ipiv, const float* b,
             const MKL_INT* ldb, float* x, const MKL_INT* ldx, float* ferr,
             float* berr, float* work, MKL_INT* iwork, MKL_INT* info ) NOTHROW;
void SGERFS_( const char* trans, const MKL_INT* n, const MKL_INT* nrhs,
              const float* a, const MKL_INT* lda, const float* af,
              const MKL_INT* ldaf, const MKL_INT* ipiv, const float* b,
              const MKL_INT* ldb, float* x, const MKL_INT* ldx, float* ferr,
              float* berr, float* work, MKL_INT* iwork, MKL_INT* info ) NOTHROW;
void sgerfs( const char* trans, const MKL_INT* n, const MKL_INT* nrhs,
             const float* a, const MKL_INT* lda, const float* af,
             const MKL_INT* ldaf, const MKL_INT* ipiv, const float* b,
             const MKL_INT* ldb, float* x, const MKL_INT* ldx, float* ferr,
             float* berr, float* work, MKL_INT* iwork, MKL_INT* info ) NOTHROW;
void sgerfs_( const char* trans, const MKL_INT* n, const MKL_INT* nrhs,
              const float* a, const MKL_INT* lda, const float* af,
              const MKL_INT* ldaf, const MKL_INT* ipiv, const float* b,
              const MKL_INT* ldb, float* x, const MKL_INT* ldx, float* ferr,
              float* berr, float* work, MKL_INT* iwork, MKL_INT* info ) NOTHROW;

void SGERFSX( const char* trans, const char* equed, const MKL_INT* n,
              const MKL_INT* nrhs, const float* a, const MKL_INT* lda,
              const float* af, const MKL_INT* ldaf, const MKL_INT* ipiv,
              const float* r, const float* c, const float* b,
              const MKL_INT* ldb, float* x, const MKL_INT* ldx, float* rcond,
              float* berr, const MKL_INT* n_err_bnds, float* err_bnds_norm,
              float* err_bnds_comp, const MKL_INT* nparams, float* params,
              float* work, MKL_INT* iwork, MKL_INT* info ) NOTHROW;
void SGERFSX_( const char* trans, const char* equed, const MKL_INT* n,
               const MKL_INT* nrhs, const float* a, const MKL_INT* lda,
               const float* af, const MKL_INT* ldaf, const MKL_INT* ipiv,
               const float* r, const float* c, const float* b,
               const MKL_INT* ldb, float* x, const MKL_INT* ldx, float* rcond,
               float* berr, const MKL_INT* n_err_bnds, float* err_bnds_norm,
               float* err_bnds_comp, const MKL_INT* nparams, float* params,
               float* work, MKL_INT* iwork, MKL_INT* info ) NOTHROW;
void sgerfsx( const char* trans, const char* equed, const MKL_INT* n,
              const MKL_INT* nrhs, const float* a, const MKL_INT* lda,
              const float* af, const MKL_INT* ldaf, const MKL_INT* ipiv,
              const float* r, const float* c, const float* b,
              const MKL_INT* ldb, float* x, const MKL_INT* ldx, float* rcond,
              float* berr, const MKL_INT* n_err_bnds, float* err_bnds_norm,
              float* err_bnds_comp, const MKL_INT* nparams, float* params,
              float* work, MKL_INT* iwork, MKL_INT* info ) NOTHROW;
void sgerfsx_( const char* trans, const char* equed, const MKL_INT* n,
               const MKL_INT* nrhs, const float* a, const MKL_INT* lda,
               const float* af, const MKL_INT* ldaf, const MKL_INT* ipiv,
               const float* r, const float* c, const float* b,
               const MKL_INT* ldb, float* x, const MKL_INT* ldx, float* rcond,
               float* berr, const MKL_INT* n_err_bnds, float* err_bnds_norm,
               float* err_bnds_comp, const MKL_INT* nparams, float* params,
               float* work, MKL_INT* iwork, MKL_INT* info ) NOTHROW;

void SGERQ2( const MKL_INT* m, const MKL_INT* n, float* a, const MKL_INT* lda,
             float* tau, float* work, MKL_INT* info ) NOTHROW;
void SGERQ2_( const MKL_INT* m, const MKL_INT* n, float* a, const MKL_INT* lda,
              float* tau, float* work, MKL_INT* info ) NOTHROW;
void sgerq2( const MKL_INT* m, const MKL_INT* n, float* a, const MKL_INT* lda,
             float* tau, float* work, MKL_INT* info ) NOTHROW;
void sgerq2_( const MKL_INT* m, const MKL_INT* n, float* a, const MKL_INT* lda,
              float* tau, float* work, MKL_INT* info ) NOTHROW;

void SGERQF( const MKL_INT* m, const MKL_INT* n, float* a, const MKL_INT* lda,
             float* tau, float* work, const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void SGERQF_( const MKL_INT* m, const MKL_INT* n, float* a, const MKL_INT* lda,
              float* tau, float* work, const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void sgerqf( const MKL_INT* m, const MKL_INT* n, float* a, const MKL_INT* lda,
             float* tau, float* work, const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void sgerqf_( const MKL_INT* m, const MKL_INT* n, float* a, const MKL_INT* lda,
              float* tau, float* work, const MKL_INT* lwork, MKL_INT* info ) NOTHROW;

void SGESC2( const MKL_INT* n, const float* a, const MKL_INT* lda, float* rhs,
             const MKL_INT* ipiv, const MKL_INT* jpiv, float* scale ) NOTHROW;
void SGESC2_( const MKL_INT* n, const float* a, const MKL_INT* lda, float* rhs,
              const MKL_INT* ipiv, const MKL_INT* jpiv, float* scale ) NOTHROW;
void sgesc2( const MKL_INT* n, const float* a, const MKL_INT* lda, float* rhs,
             const MKL_INT* ipiv, const MKL_INT* jpiv, float* scale ) NOTHROW;
void sgesc2_( const MKL_INT* n, const float* a, const MKL_INT* lda, float* rhs,
              const MKL_INT* ipiv, const MKL_INT* jpiv, float* scale ) NOTHROW;

void SGESDD( const char* jobz, const MKL_INT* m, const MKL_INT* n, float* a,
             const MKL_INT* lda, float* s, float* u, const MKL_INT* ldu,
             float* vt, const MKL_INT* ldvt, float* work, const MKL_INT* lwork,
             MKL_INT* iwork, MKL_INT* info ) NOTHROW;
void SGESDD_( const char* jobz, const MKL_INT* m, const MKL_INT* n, float* a,
              const MKL_INT* lda, float* s, float* u, const MKL_INT* ldu,
              float* vt, const MKL_INT* ldvt, float* work,
              const MKL_INT* lwork, MKL_INT* iwork, MKL_INT* info ) NOTHROW;
void sgesdd( const char* jobz, const MKL_INT* m, const MKL_INT* n, float* a,
             const MKL_INT* lda, float* s, float* u, const MKL_INT* ldu,
             float* vt, const MKL_INT* ldvt, float* work, const MKL_INT* lwork,
             MKL_INT* iwork, MKL_INT* info ) NOTHROW;
void sgesdd_( const char* jobz, const MKL_INT* m, const MKL_INT* n, float* a,
              const MKL_INT* lda, float* s, float* u, const MKL_INT* ldu,
              float* vt, const MKL_INT* ldvt, float* work,
              const MKL_INT* lwork, MKL_INT* iwork, MKL_INT* info ) NOTHROW;

void SGESVD( const char* jobu, const char* jobvt, const MKL_INT* m,
             const MKL_INT* n, float* a, const MKL_INT* lda, float* s,
             float* u, const MKL_INT* ldu, float* vt, const MKL_INT* ldvt,
             float* work, const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void SGESVD_( const char* jobu, const char* jobvt, const MKL_INT* m,
              const MKL_INT* n, float* a, const MKL_INT* lda, float* s,
              float* u, const MKL_INT* ldu, float* vt, const MKL_INT* ldvt,
              float* work, const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void sgesvd( const char* jobu, const char* jobvt, const MKL_INT* m,
             const MKL_INT* n, float* a, const MKL_INT* lda, float* s,
             float* u, const MKL_INT* ldu, float* vt, const MKL_INT* ldvt,
             float* work, const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void sgesvd_( const char* jobu, const char* jobvt, const MKL_INT* m,
              const MKL_INT* n, float* a, const MKL_INT* lda, float* s,
              float* u, const MKL_INT* ldu, float* vt, const MKL_INT* ldvt,
              float* work, const MKL_INT* lwork, MKL_INT* info ) NOTHROW;

void SGESV( const MKL_INT* n, const MKL_INT* nrhs, float* a,
            const MKL_INT* lda, MKL_INT* ipiv, float* b, const MKL_INT* ldb,
            MKL_INT* info ) NOTHROW;
void SGESV_( const MKL_INT* n, const MKL_INT* nrhs, float* a,
             const MKL_INT* lda, MKL_INT* ipiv, float* b, const MKL_INT* ldb,
             MKL_INT* info ) NOTHROW;
void sgesv( const MKL_INT* n, const MKL_INT* nrhs, float* a,
            const MKL_INT* lda, MKL_INT* ipiv, float* b, const MKL_INT* ldb,
            MKL_INT* info ) NOTHROW;
void sgesv_( const MKL_INT* n, const MKL_INT* nrhs, float* a,
             const MKL_INT* lda, MKL_INT* ipiv, float* b, const MKL_INT* ldb,
             MKL_INT* info ) NOTHROW;

void SGESVJ( const char* joba, const char* jobu, const char* jobv,
             const MKL_INT* m, const MKL_INT* n, float* a, const MKL_INT* lda,
             float* sva, const MKL_INT* mv, float* v, const MKL_INT* ldv,
             float* work, const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void SGESVJ_( const char* joba, const char* jobu, const char* jobv,
              const MKL_INT* m, const MKL_INT* n, float* a, const MKL_INT* lda,
              float* sva, const MKL_INT* mv, float* v, const MKL_INT* ldv,
              float* work, const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void sgesvj( const char* joba, const char* jobu, const char* jobv,
             const MKL_INT* m, const MKL_INT* n, float* a, const MKL_INT* lda,
             float* sva, const MKL_INT* mv, float* v, const MKL_INT* ldv,
             float* work, const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void sgesvj_( const char* joba, const char* jobu, const char* jobv,
              const MKL_INT* m, const MKL_INT* n, float* a, const MKL_INT* lda,
              float* sva, const MKL_INT* mv, float* v, const MKL_INT* ldv,
              float* work, const MKL_INT* lwork, MKL_INT* info ) NOTHROW;

void SGESVX( const char* fact, const char* trans, const MKL_INT* n,
             const MKL_INT* nrhs, float* a, const MKL_INT* lda, float* af,
             const MKL_INT* ldaf, MKL_INT* ipiv, char* equed, float* r,
             float* c, float* b, const MKL_INT* ldb, float* x,
             const MKL_INT* ldx, float* rcond, float* ferr, float* berr,
             float* work, MKL_INT* iwork, MKL_INT* info ) NOTHROW;
void SGESVX_( const char* fact, const char* trans, const MKL_INT* n,
              const MKL_INT* nrhs, float* a, const MKL_INT* lda, float* af,
              const MKL_INT* ldaf, MKL_INT* ipiv, char* equed, float* r,
              float* c, float* b, const MKL_INT* ldb, float* x,
              const MKL_INT* ldx, float* rcond, float* ferr, float* berr,
              float* work, MKL_INT* iwork, MKL_INT* info ) NOTHROW;
void sgesvx( const char* fact, const char* trans, const MKL_INT* n,
             const MKL_INT* nrhs, float* a, const MKL_INT* lda, float* af,
             const MKL_INT* ldaf, MKL_INT* ipiv, char* equed, float* r,
             float* c, float* b, const MKL_INT* ldb, float* x,
             const MKL_INT* ldx, float* rcond, float* ferr, float* berr,
             float* work, MKL_INT* iwork, MKL_INT* info ) NOTHROW;
void sgesvx_( const char* fact, const char* trans, const MKL_INT* n,
              const MKL_INT* nrhs, float* a, const MKL_INT* lda, float* af,
              const MKL_INT* ldaf, MKL_INT* ipiv, char* equed, float* r,
              float* c, float* b, const MKL_INT* ldb, float* x,
              const MKL_INT* ldx, float* rcond, float* ferr, float* berr,
              float* work, MKL_INT* iwork, MKL_INT* info ) NOTHROW;

void SGESVXX( const char* fact, const char* trans, const MKL_INT* n,
              const MKL_INT* nrhs, float* a, const MKL_INT* lda, float* af,
              const MKL_INT* ldaf, MKL_INT* ipiv, char* equed, float* r,
              float* c, float* b, const MKL_INT* ldb, float* x,
              const MKL_INT* ldx, float* rcond, float* rpvgrw, float* berr,
              const MKL_INT* n_err_bnds, float* err_bnds_norm,
              float* err_bnds_comp, const MKL_INT* nparams, float* params,
              float* work, MKL_INT* iwork, MKL_INT* info ) NOTHROW;
void SGESVXX_( const char* fact, const char* trans, const MKL_INT* n,
               const MKL_INT* nrhs, float* a, const MKL_INT* lda, float* af,
               const MKL_INT* ldaf, MKL_INT* ipiv, char* equed, float* r,
               float* c, float* b, const MKL_INT* ldb, float* x,
               const MKL_INT* ldx, float* rcond, float* rpvgrw, float* berr,
               const MKL_INT* n_err_bnds, float* err_bnds_norm,
               float* err_bnds_comp, const MKL_INT* nparams, float* params,
               float* work, MKL_INT* iwork, MKL_INT* info ) NOTHROW;
void sgesvxx( const char* fact, const char* trans, const MKL_INT* n,
              const MKL_INT* nrhs, float* a, const MKL_INT* lda, float* af,
              const MKL_INT* ldaf, MKL_INT* ipiv, char* equed, float* r,
              float* c, float* b, const MKL_INT* ldb, float* x,
              const MKL_INT* ldx, float* rcond, float* rpvgrw, float* berr,
              const MKL_INT* n_err_bnds, float* err_bnds_norm,
              float* err_bnds_comp, const MKL_INT* nparams, float* params,
              float* work, MKL_INT* iwork, MKL_INT* info ) NOTHROW;
void sgesvxx_( const char* fact, const char* trans, const MKL_INT* n,
               const MKL_INT* nrhs, float* a, const MKL_INT* lda, float* af,
               const MKL_INT* ldaf, MKL_INT* ipiv, char* equed, float* r,
               float* c, float* b, const MKL_INT* ldb, float* x,
               const MKL_INT* ldx, float* rcond, float* rpvgrw, float* berr,
               const MKL_INT* n_err_bnds, float* err_bnds_norm,
               float* err_bnds_comp, const MKL_INT* nparams, float* params,
               float* work, MKL_INT* iwork, MKL_INT* info ) NOTHROW;

void SGETC2( const MKL_INT* n, float* a, const MKL_INT* lda, MKL_INT* ipiv,
             MKL_INT* jpiv, MKL_INT* info ) NOTHROW;
void SGETC2_( const MKL_INT* n, float* a, const MKL_INT* lda, MKL_INT* ipiv,
              MKL_INT* jpiv, MKL_INT* info ) NOTHROW;
void sgetc2( const MKL_INT* n, float* a, const MKL_INT* lda, MKL_INT* ipiv,
             MKL_INT* jpiv, MKL_INT* info ) NOTHROW;
void sgetc2_( const MKL_INT* n, float* a, const MKL_INT* lda, MKL_INT* ipiv,
              MKL_INT* jpiv, MKL_INT* info ) NOTHROW;

void SGETF2( const MKL_INT* m, const MKL_INT* n, float* a, const MKL_INT* lda,
             MKL_INT* ipiv, MKL_INT* info ) NOTHROW;
void SGETF2_( const MKL_INT* m, const MKL_INT* n, float* a, const MKL_INT* lda,
              MKL_INT* ipiv, MKL_INT* info ) NOTHROW;
void sgetf2( const MKL_INT* m, const MKL_INT* n, float* a, const MKL_INT* lda,
             MKL_INT* ipiv, MKL_INT* info ) NOTHROW;
void sgetf2_( const MKL_INT* m, const MKL_INT* n, float* a, const MKL_INT* lda,
              MKL_INT* ipiv, MKL_INT* info ) NOTHROW;

void SGETRF( const MKL_INT* m, const MKL_INT* n, float* a, const MKL_INT* lda,
             MKL_INT* ipiv, MKL_INT* info ) NOTHROW;
void SGETRF_( const MKL_INT* m, const MKL_INT* n, float* a, const MKL_INT* lda,
              MKL_INT* ipiv, MKL_INT* info ) NOTHROW;
void sgetrf( const MKL_INT* m, const MKL_INT* n, float* a, const MKL_INT* lda,
             MKL_INT* ipiv, MKL_INT* info ) NOTHROW;
void sgetrf_( const MKL_INT* m, const MKL_INT* n, float* a, const MKL_INT* lda,
              MKL_INT* ipiv, MKL_INT* info ) NOTHROW;

void MKL_SGETRFNPI( const MKL_INT* m, const MKL_INT* n, const MKL_INT* nfact,
                    float* a, const MKL_INT* lda, MKL_INT* info ) NOTHROW;
void MKL_SGETRFNPI_( const MKL_INT* m, const MKL_INT* n, const MKL_INT* nfact,
                     float* a, const MKL_INT* lda, MKL_INT* info ) NOTHROW;
void mkl_sgetrfnpi( const MKL_INT* m, const MKL_INT* n, const MKL_INT* nfact,
                    float* a, const MKL_INT* lda, MKL_INT* info ) NOTHROW;
void mkl_sgetrfnpi_( const MKL_INT* m, const MKL_INT* n, const MKL_INT* nfact,
                     float* a, const MKL_INT* lda, MKL_INT* info ) NOTHROW;

void SGETRI( const MKL_INT* n, float* a, const MKL_INT* lda,
             const MKL_INT* ipiv, float* work, const MKL_INT* lwork,
             MKL_INT* info ) NOTHROW;
void SGETRI_( const MKL_INT* n, float* a, const MKL_INT* lda,
              const MKL_INT* ipiv, float* work, const MKL_INT* lwork,
              MKL_INT* info ) NOTHROW;
void sgetri( const MKL_INT* n, float* a, const MKL_INT* lda,
             const MKL_INT* ipiv, float* work, const MKL_INT* lwork,
             MKL_INT* info ) NOTHROW;
void sgetri_( const MKL_INT* n, float* a, const MKL_INT* lda,
              const MKL_INT* ipiv, float* work, const MKL_INT* lwork,
              MKL_INT* info ) NOTHROW;

void SGETRS( const char* trans, const MKL_INT* n, const MKL_INT* nrhs,
             const float* a, const MKL_INT* lda, const MKL_INT* ipiv, float* b,
             const MKL_INT* ldb, MKL_INT* info ) NOTHROW;
void SGETRS_( const char* trans, const MKL_INT* n, const MKL_INT* nrhs,
              const float* a, const MKL_INT* lda, const MKL_INT* ipiv,
              float* b, const MKL_INT* ldb, MKL_INT* info ) NOTHROW;
void sgetrs( const char* trans, const MKL_INT* n, const MKL_INT* nrhs,
             const float* a, const MKL_INT* lda, const MKL_INT* ipiv, float* b,
             const MKL_INT* ldb, MKL_INT* info ) NOTHROW;
void sgetrs_( const char* trans, const MKL_INT* n, const MKL_INT* nrhs,
              const float* a, const MKL_INT* lda, const MKL_INT* ipiv,
              float* b, const MKL_INT* ldb, MKL_INT* info ) NOTHROW;

void SGGBAK( const char* job, const char* side, const MKL_INT* n,
             const MKL_INT* ilo, const MKL_INT* ihi, const float* lscale,
             const float* rscale, const MKL_INT* m, float* v,
             const MKL_INT* ldv, MKL_INT* info ) NOTHROW;
void SGGBAK_( const char* job, const char* side, const MKL_INT* n,
              const MKL_INT* ilo, const MKL_INT* ihi, const float* lscale,
              const float* rscale, const MKL_INT* m, float* v,
              const MKL_INT* ldv, MKL_INT* info ) NOTHROW;
void sggbak( const char* job, const char* side, const MKL_INT* n,
             const MKL_INT* ilo, const MKL_INT* ihi, const float* lscale,
             const float* rscale, const MKL_INT* m, float* v,
             const MKL_INT* ldv, MKL_INT* info ) NOTHROW;
void sggbak_( const char* job, const char* side, const MKL_INT* n,
              const MKL_INT* ilo, const MKL_INT* ihi, const float* lscale,
              const float* rscale, const MKL_INT* m, float* v,
              const MKL_INT* ldv, MKL_INT* info ) NOTHROW;

void SGGBAL( const char* job, const MKL_INT* n, float* a, const MKL_INT* lda,
             float* b, const MKL_INT* ldb, MKL_INT* ilo, MKL_INT* ihi,
             float* lscale, float* rscale, float* work, MKL_INT* info ) NOTHROW;
void SGGBAL_( const char* job, const MKL_INT* n, float* a, const MKL_INT* lda,
              float* b, const MKL_INT* ldb, MKL_INT* ilo, MKL_INT* ihi,
              float* lscale, float* rscale, float* work, MKL_INT* info ) NOTHROW;
void sggbal( const char* job, const MKL_INT* n, float* a, const MKL_INT* lda,
             float* b, const MKL_INT* ldb, MKL_INT* ilo, MKL_INT* ihi,
             float* lscale, float* rscale, float* work, MKL_INT* info ) NOTHROW;
void sggbal_( const char* job, const MKL_INT* n, float* a, const MKL_INT* lda,
              float* b, const MKL_INT* ldb, MKL_INT* ilo, MKL_INT* ihi,
              float* lscale, float* rscale, float* work, MKL_INT* info ) NOTHROW;

void SGGES( const char* jobvsl, const char* jobvsr, const char* sort,
            MKL_S_SELECT_FUNCTION_3 selctg, const MKL_INT* n, float* a,
            const MKL_INT* lda, float* b, const MKL_INT* ldb, MKL_INT* sdim,
            float* alphar, float* alphai, float* beta, float* vsl,
            const MKL_INT* ldvsl, float* vsr, const MKL_INT* ldvsr,
            float* work, const MKL_INT* lwork, MKL_INT* bwork, MKL_INT* info ) NOTHROW;
void SGGES_( const char* jobvsl, const char* jobvsr, const char* sort,
             MKL_S_SELECT_FUNCTION_3 selctg, const MKL_INT* n, float* a,
             const MKL_INT* lda, float* b, const MKL_INT* ldb, MKL_INT* sdim,
             float* alphar, float* alphai, float* beta, float* vsl,
             const MKL_INT* ldvsl, float* vsr, const MKL_INT* ldvsr,
             float* work, const MKL_INT* lwork, MKL_INT* bwork,
             MKL_INT* info ) NOTHROW;
void sgges( const char* jobvsl, const char* jobvsr, const char* sort,
            MKL_S_SELECT_FUNCTION_3 selctg, const MKL_INT* n, float* a,
            const MKL_INT* lda, float* b, const MKL_INT* ldb, MKL_INT* sdim,
            float* alphar, float* alphai, float* beta, float* vsl,
            const MKL_INT* ldvsl, float* vsr, const MKL_INT* ldvsr,
            float* work, const MKL_INT* lwork, MKL_INT* bwork, MKL_INT* info ) NOTHROW;
void sgges_( const char* jobvsl, const char* jobvsr, const char* sort,
             MKL_S_SELECT_FUNCTION_3 selctg, const MKL_INT* n, float* a,
             const MKL_INT* lda, float* b, const MKL_INT* ldb, MKL_INT* sdim,
             float* alphar, float* alphai, float* beta, float* vsl,
             const MKL_INT* ldvsl, float* vsr, const MKL_INT* ldvsr,
             float* work, const MKL_INT* lwork, MKL_INT* bwork,
             MKL_INT* info ) NOTHROW;

void SGGESX( const char* jobvsl, const char* jobvsr, const char* sort,
             MKL_S_SELECT_FUNCTION_3 selctg, const char* sense,
             const MKL_INT* n, float* a, const MKL_INT* lda, float* b,
             const MKL_INT* ldb, MKL_INT* sdim, float* alphar, float* alphai,
             float* beta, float* vsl, const MKL_INT* ldvsl, float* vsr,
             const MKL_INT* ldvsr, float* rconde, float* rcondv, float* work,
             const MKL_INT* lwork, MKL_INT* iwork, const MKL_INT* liwork,
             MKL_INT* bwork, MKL_INT* info ) NOTHROW;
void SGGESX_( const char* jobvsl, const char* jobvsr, const char* sort,
              MKL_S_SELECT_FUNCTION_3 selctg, const char* sense,
              const MKL_INT* n, float* a, const MKL_INT* lda, float* b,
              const MKL_INT* ldb, MKL_INT* sdim, float* alphar, float* alphai,
              float* beta, float* vsl, const MKL_INT* ldvsl, float* vsr,
              const MKL_INT* ldvsr, float* rconde, float* rcondv, float* work,
              const MKL_INT* lwork, MKL_INT* iwork, const MKL_INT* liwork,
              MKL_INT* bwork, MKL_INT* info ) NOTHROW;
void sggesx( const char* jobvsl, const char* jobvsr, const char* sort,
             MKL_S_SELECT_FUNCTION_3 selctg, const char* sense,
             const MKL_INT* n, float* a, const MKL_INT* lda, float* b,
             const MKL_INT* ldb, MKL_INT* sdim, float* alphar, float* alphai,
             float* beta, float* vsl, const MKL_INT* ldvsl, float* vsr,
             const MKL_INT* ldvsr, float* rconde, float* rcondv, float* work,
             const MKL_INT* lwork, MKL_INT* iwork, const MKL_INT* liwork,
             MKL_INT* bwork, MKL_INT* info ) NOTHROW;
void sggesx_( const char* jobvsl, const char* jobvsr, const char* sort,
              MKL_S_SELECT_FUNCTION_3 selctg, const char* sense,
              const MKL_INT* n, float* a, const MKL_INT* lda, float* b,
              const MKL_INT* ldb, MKL_INT* sdim, float* alphar, float* alphai,
              float* beta, float* vsl, const MKL_INT* ldvsl, float* vsr,
              const MKL_INT* ldvsr, float* rconde, float* rcondv, float* work,
              const MKL_INT* lwork, MKL_INT* iwork, const MKL_INT* liwork,
              MKL_INT* bwork, MKL_INT* info ) NOTHROW;

void SGGEV( const char* jobvl, const char* jobvr, const MKL_INT* n, float* a,
            const MKL_INT* lda, float* b, const MKL_INT* ldb, float* alphar,
            float* alphai, float* beta, float* vl, const MKL_INT* ldvl,
            float* vr, const MKL_INT* ldvr, float* work, const MKL_INT* lwork,
            MKL_INT* info ) NOTHROW;
void SGGEV_( const char* jobvl, const char* jobvr, const MKL_INT* n, float* a,
             const MKL_INT* lda, float* b, const MKL_INT* ldb, float* alphar,
             float* alphai, float* beta, float* vl, const MKL_INT* ldvl,
             float* vr, const MKL_INT* ldvr, float* work, const MKL_INT* lwork,
             MKL_INT* info ) NOTHROW;
void sggev( const char* jobvl, const char* jobvr, const MKL_INT* n, float* a,
            const MKL_INT* lda, float* b, const MKL_INT* ldb, float* alphar,
            float* alphai, float* beta, float* vl, const MKL_INT* ldvl,
            float* vr, const MKL_INT* ldvr, float* work, const MKL_INT* lwork,
            MKL_INT* info ) NOTHROW;
void sggev_( const char* jobvl, const char* jobvr, const MKL_INT* n, float* a,
             const MKL_INT* lda, float* b, const MKL_INT* ldb, float* alphar,
             float* alphai, float* beta, float* vl, const MKL_INT* ldvl,
             float* vr, const MKL_INT* ldvr, float* work, const MKL_INT* lwork,
             MKL_INT* info ) NOTHROW;

void SGGEVX( const char* balanc, const char* jobvl, const char* jobvr,
             const char* sense, const MKL_INT* n, float* a, const MKL_INT* lda,
             float* b, const MKL_INT* ldb, float* alphar, float* alphai,
             float* beta, float* vl, const MKL_INT* ldvl, float* vr,
             const MKL_INT* ldvr, MKL_INT* ilo, MKL_INT* ihi, float* lscale,
             float* rscale, float* abnrm, float* bbnrm, float* rconde,
             float* rcondv, float* work, const MKL_INT* lwork, MKL_INT* iwork,
             MKL_INT* bwork, MKL_INT* info ) NOTHROW;
void SGGEVX_( const char* balanc, const char* jobvl, const char* jobvr,
              const char* sense, const MKL_INT* n, float* a,
              const MKL_INT* lda, float* b, const MKL_INT* ldb, float* alphar,
              float* alphai, float* beta, float* vl, const MKL_INT* ldvl,
              float* vr, const MKL_INT* ldvr, MKL_INT* ilo, MKL_INT* ihi,
              float* lscale, float* rscale, float* abnrm, float* bbnrm,
              float* rconde, float* rcondv, float* work, const MKL_INT* lwork,
              MKL_INT* iwork, MKL_INT* bwork, MKL_INT* info ) NOTHROW;
void sggevx( const char* balanc, const char* jobvl, const char* jobvr,
             const char* sense, const MKL_INT* n, float* a, const MKL_INT* lda,
             float* b, const MKL_INT* ldb, float* alphar, float* alphai,
             float* beta, float* vl, const MKL_INT* ldvl, float* vr,
             const MKL_INT* ldvr, MKL_INT* ilo, MKL_INT* ihi, float* lscale,
             float* rscale, float* abnrm, float* bbnrm, float* rconde,
             float* rcondv, float* work, const MKL_INT* lwork, MKL_INT* iwork,
             MKL_INT* bwork, MKL_INT* info ) NOTHROW;
void sggevx_( const char* balanc, const char* jobvl, const char* jobvr,
              const char* sense, const MKL_INT* n, float* a,
              const MKL_INT* lda, float* b, const MKL_INT* ldb, float* alphar,
              float* alphai, float* beta, float* vl, const MKL_INT* ldvl,
              float* vr, const MKL_INT* ldvr, MKL_INT* ilo, MKL_INT* ihi,
              float* lscale, float* rscale, float* abnrm, float* bbnrm,
              float* rconde, float* rcondv, float* work, const MKL_INT* lwork,
              MKL_INT* iwork, MKL_INT* bwork, MKL_INT* info ) NOTHROW;

void SGGGLM( const MKL_INT* n, const MKL_INT* m, const MKL_INT* p, float* a,
             const MKL_INT* lda, float* b, const MKL_INT* ldb, float* d,
             float* x, float* y, float* work, const MKL_INT* lwork,
             MKL_INT* info ) NOTHROW;
void SGGGLM_( const MKL_INT* n, const MKL_INT* m, const MKL_INT* p, float* a,
              const MKL_INT* lda, float* b, const MKL_INT* ldb, float* d,
              float* x, float* y, float* work, const MKL_INT* lwork,
              MKL_INT* info ) NOTHROW;
void sggglm( const MKL_INT* n, const MKL_INT* m, const MKL_INT* p, float* a,
             const MKL_INT* lda, float* b, const MKL_INT* ldb, float* d,
             float* x, float* y, float* work, const MKL_INT* lwork,
             MKL_INT* info ) NOTHROW;
void sggglm_( const MKL_INT* n, const MKL_INT* m, const MKL_INT* p, float* a,
              const MKL_INT* lda, float* b, const MKL_INT* ldb, float* d,
              float* x, float* y, float* work, const MKL_INT* lwork,
              MKL_INT* info ) NOTHROW;

void SGGHRD( const char* compq, const char* compz, const MKL_INT* n,
             const MKL_INT* ilo, const MKL_INT* ihi, float* a,
             const MKL_INT* lda, float* b, const MKL_INT* ldb, float* q,
             const MKL_INT* ldq, float* z, const MKL_INT* ldz, MKL_INT* info ) NOTHROW;
void SGGHRD_( const char* compq, const char* compz, const MKL_INT* n,
              const MKL_INT* ilo, const MKL_INT* ihi, float* a,
              const MKL_INT* lda, float* b, const MKL_INT* ldb, float* q,
              const MKL_INT* ldq, float* z, const MKL_INT* ldz,
              MKL_INT* info ) NOTHROW;
void sgghrd( const char* compq, const char* compz, const MKL_INT* n,
             const MKL_INT* ilo, const MKL_INT* ihi, float* a,
             const MKL_INT* lda, float* b, const MKL_INT* ldb, float* q,
             const MKL_INT* ldq, float* z, const MKL_INT* ldz, MKL_INT* info ) NOTHROW;
void sgghrd_( const char* compq, const char* compz, const MKL_INT* n,
              const MKL_INT* ilo, const MKL_INT* ihi, float* a,
              const MKL_INT* lda, float* b, const MKL_INT* ldb, float* q,
              const MKL_INT* ldq, float* z, const MKL_INT* ldz,
              MKL_INT* info ) NOTHROW;

void SGGLSE( const MKL_INT* m, const MKL_INT* n, const MKL_INT* p, float* a,
             const MKL_INT* lda, float* b, const MKL_INT* ldb, float* c,
             float* d, float* x, float* work, const MKL_INT* lwork,
             MKL_INT* info ) NOTHROW;
void SGGLSE_( const MKL_INT* m, const MKL_INT* n, const MKL_INT* p, float* a,
              const MKL_INT* lda, float* b, const MKL_INT* ldb, float* c,
              float* d, float* x, float* work, const MKL_INT* lwork,
              MKL_INT* info ) NOTHROW;
void sgglse( const MKL_INT* m, const MKL_INT* n, const MKL_INT* p, float* a,
             const MKL_INT* lda, float* b, const MKL_INT* ldb, float* c,
             float* d, float* x, float* work, const MKL_INT* lwork,
             MKL_INT* info ) NOTHROW;
void sgglse_( const MKL_INT* m, const MKL_INT* n, const MKL_INT* p, float* a,
              const MKL_INT* lda, float* b, const MKL_INT* ldb, float* c,
              float* d, float* x, float* work, const MKL_INT* lwork,
              MKL_INT* info ) NOTHROW;

void SGGQRF( const MKL_INT* n, const MKL_INT* m, const MKL_INT* p, float* a,
             const MKL_INT* lda, float* taua, float* b, const MKL_INT* ldb,
             float* taub, float* work, const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void SGGQRF_( const MKL_INT* n, const MKL_INT* m, const MKL_INT* p, float* a,
              const MKL_INT* lda, float* taua, float* b, const MKL_INT* ldb,
              float* taub, float* work, const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void sggqrf( const MKL_INT* n, const MKL_INT* m, const MKL_INT* p, float* a,
             const MKL_INT* lda, float* taua, float* b, const MKL_INT* ldb,
             float* taub, float* work, const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void sggqrf_( const MKL_INT* n, const MKL_INT* m, const MKL_INT* p, float* a,
              const MKL_INT* lda, float* taua, float* b, const MKL_INT* ldb,
              float* taub, float* work, const MKL_INT* lwork, MKL_INT* info ) NOTHROW;

void SGGRQF( const MKL_INT* m, const MKL_INT* p, const MKL_INT* n, float* a,
             const MKL_INT* lda, float* taua, float* b, const MKL_INT* ldb,
             float* taub, float* work, const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void SGGRQF_( const MKL_INT* m, const MKL_INT* p, const MKL_INT* n, float* a,
              const MKL_INT* lda, float* taua, float* b, const MKL_INT* ldb,
              float* taub, float* work, const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void sggrqf( const MKL_INT* m, const MKL_INT* p, const MKL_INT* n, float* a,
             const MKL_INT* lda, float* taua, float* b, const MKL_INT* ldb,
             float* taub, float* work, const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void sggrqf_( const MKL_INT* m, const MKL_INT* p, const MKL_INT* n, float* a,
              const MKL_INT* lda, float* taua, float* b, const MKL_INT* ldb,
              float* taub, float* work, const MKL_INT* lwork, MKL_INT* info ) NOTHROW;

void SGGSVD( const char* jobu, const char* jobv, const char* jobq,
             const MKL_INT* m, const MKL_INT* n, const MKL_INT* p, MKL_INT* k,
             MKL_INT* l, float* a, const MKL_INT* lda, float* b,
             const MKL_INT* ldb, float* alpha, float* beta, float* u,
             const MKL_INT* ldu, float* v, const MKL_INT* ldv, float* q,
             const MKL_INT* ldq, float* work, MKL_INT* iwork, MKL_INT* info ) NOTHROW;
void SGGSVD_( const char* jobu, const char* jobv, const char* jobq,
              const MKL_INT* m, const MKL_INT* n, const MKL_INT* p, MKL_INT* k,
              MKL_INT* l, float* a, const MKL_INT* lda, float* b,
              const MKL_INT* ldb, float* alpha, float* beta, float* u,
              const MKL_INT* ldu, float* v, const MKL_INT* ldv, float* q,
              const MKL_INT* ldq, float* work, MKL_INT* iwork, MKL_INT* info ) NOTHROW;
void sggsvd( const char* jobu, const char* jobv, const char* jobq,
             const MKL_INT* m, const MKL_INT* n, const MKL_INT* p, MKL_INT* k,
             MKL_INT* l, float* a, const MKL_INT* lda, float* b,
             const MKL_INT* ldb, float* alpha, float* beta, float* u,
             const MKL_INT* ldu, float* v, const MKL_INT* ldv, float* q,
             const MKL_INT* ldq, float* work, MKL_INT* iwork, MKL_INT* info ) NOTHROW;
void sggsvd_( const char* jobu, const char* jobv, const char* jobq,
              const MKL_INT* m, const MKL_INT* n, const MKL_INT* p, MKL_INT* k,
              MKL_INT* l, float* a, const MKL_INT* lda, float* b,
              const MKL_INT* ldb, float* alpha, float* beta, float* u,
              const MKL_INT* ldu, float* v, const MKL_INT* ldv, float* q,
              const MKL_INT* ldq, float* work, MKL_INT* iwork, MKL_INT* info ) NOTHROW;

void SGGSVP( const char* jobu, const char* jobv, const char* jobq,
             const MKL_INT* m, const MKL_INT* p, const MKL_INT* n, float* a,
             const MKL_INT* lda, float* b, const MKL_INT* ldb,
             const float* tola, const float* tolb, MKL_INT* k, MKL_INT* l,
             float* u, const MKL_INT* ldu, float* v, const MKL_INT* ldv,
             float* q, const MKL_INT* ldq, MKL_INT* iwork, float* tau,
             float* work, MKL_INT* info ) NOTHROW;
void SGGSVP_( const char* jobu, const char* jobv, const char* jobq,
              const MKL_INT* m, const MKL_INT* p, const MKL_INT* n, float* a,
              const MKL_INT* lda, float* b, const MKL_INT* ldb,
              const float* tola, const float* tolb, MKL_INT* k, MKL_INT* l,
              float* u, const MKL_INT* ldu, float* v, const MKL_INT* ldv,
              float* q, const MKL_INT* ldq, MKL_INT* iwork, float* tau,
              float* work, MKL_INT* info ) NOTHROW;
void sggsvp( const char* jobu, const char* jobv, const char* jobq,
             const MKL_INT* m, const MKL_INT* p, const MKL_INT* n, float* a,
             const MKL_INT* lda, float* b, const MKL_INT* ldb,
             const float* tola, const float* tolb, MKL_INT* k, MKL_INT* l,
             float* u, const MKL_INT* ldu, float* v, const MKL_INT* ldv,
             float* q, const MKL_INT* ldq, MKL_INT* iwork, float* tau,
             float* work, MKL_INT* info ) NOTHROW;
void sggsvp_( const char* jobu, const char* jobv, const char* jobq,
              const MKL_INT* m, const MKL_INT* p, const MKL_INT* n, float* a,
              const MKL_INT* lda, float* b, const MKL_INT* ldb,
              const float* tola, const float* tolb, MKL_INT* k, MKL_INT* l,
              float* u, const MKL_INT* ldu, float* v, const MKL_INT* ldv,
              float* q, const MKL_INT* ldq, MKL_INT* iwork, float* tau,
              float* work, MKL_INT* info ) NOTHROW;

void SGSVJ0( const char* jobv, const MKL_INT* m, const MKL_INT* n, float* a,
             const MKL_INT* lda, float* d, float* sva, const MKL_INT* mv,
             float* v, const MKL_INT* ldv, const float* eps,
             const float* sfmin, const float* tol, const MKL_INT* nsweep,
             float* work, const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void SGSVJ0_( const char* jobv, const MKL_INT* m, const MKL_INT* n, float* a,
              const MKL_INT* lda, float* d, float* sva, const MKL_INT* mv,
              float* v, const MKL_INT* ldv, const float* eps,
              const float* sfmin, const float* tol, const MKL_INT* nsweep,
              float* work, const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void sgsvj0( const char* jobv, const MKL_INT* m, const MKL_INT* n, float* a,
             const MKL_INT* lda, float* d, float* sva, const MKL_INT* mv,
             float* v, const MKL_INT* ldv, const float* eps,
             const float* sfmin, const float* tol, const MKL_INT* nsweep,
             float* work, const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void sgsvj0_( const char* jobv, const MKL_INT* m, const MKL_INT* n, float* a,
              const MKL_INT* lda, float* d, float* sva, const MKL_INT* mv,
              float* v, const MKL_INT* ldv, const float* eps,
              const float* sfmin, const float* tol, const MKL_INT* nsweep,
              float* work, const MKL_INT* lwork, MKL_INT* info ) NOTHROW;

void SGSVJ1( const char* jobv, const MKL_INT* m, const MKL_INT* n,
             const MKL_INT* n1, float* a, const MKL_INT* lda, float* d,
             float* sva, const MKL_INT* mv, float* v, const MKL_INT* ldv,
             const float* eps, const float* sfmin, const float* tol,
             const MKL_INT* nsweep, float* work, const MKL_INT* lwork,
             MKL_INT* info ) NOTHROW;
void SGSVJ1_( const char* jobv, const MKL_INT* m, const MKL_INT* n,
              const MKL_INT* n1, float* a, const MKL_INT* lda, float* d,
              float* sva, const MKL_INT* mv, float* v, const MKL_INT* ldv,
              const float* eps, const float* sfmin, const float* tol,
              const MKL_INT* nsweep, float* work, const MKL_INT* lwork,
              MKL_INT* info ) NOTHROW;
void sgsvj1( const char* jobv, const MKL_INT* m, const MKL_INT* n,
             const MKL_INT* n1, float* a, const MKL_INT* lda, float* d,
             float* sva, const MKL_INT* mv, float* v, const MKL_INT* ldv,
             const float* eps, const float* sfmin, const float* tol,
             const MKL_INT* nsweep, float* work, const MKL_INT* lwork,
             MKL_INT* info ) NOTHROW;
void sgsvj1_( const char* jobv, const MKL_INT* m, const MKL_INT* n,
              const MKL_INT* n1, float* a, const MKL_INT* lda, float* d,
              float* sva, const MKL_INT* mv, float* v, const MKL_INT* ldv,
              const float* eps, const float* sfmin, const float* tol,
              const MKL_INT* nsweep, float* work, const MKL_INT* lwork,
              MKL_INT* info ) NOTHROW;

void SGTCON( const char* norm, const MKL_INT* n, const float* dl,
             const float* d, const float* du, const float* du2,
             const MKL_INT* ipiv, const float* anorm, float* rcond,
             float* work, MKL_INT* iwork, MKL_INT* info ) NOTHROW;
void SGTCON_( const char* norm, const MKL_INT* n, const float* dl,
              const float* d, const float* du, const float* du2,
              const MKL_INT* ipiv, const float* anorm, float* rcond,
              float* work, MKL_INT* iwork, MKL_INT* info ) NOTHROW;
void sgtcon( const char* norm, const MKL_INT* n, const float* dl,
             const float* d, const float* du, const float* du2,
             const MKL_INT* ipiv, const float* anorm, float* rcond,
             float* work, MKL_INT* iwork, MKL_INT* info ) NOTHROW;
void sgtcon_( const char* norm, const MKL_INT* n, const float* dl,
              const float* d, const float* du, const float* du2,
              const MKL_INT* ipiv, const float* anorm, float* rcond,
              float* work, MKL_INT* iwork, MKL_INT* info ) NOTHROW;

void SGTRFS( const char* trans, const MKL_INT* n, const MKL_INT* nrhs,
             const float* dl, const float* d, const float* du,
             const float* dlf, const float* df, const float* duf,
             const float* du2, const MKL_INT* ipiv, const float* b,
             const MKL_INT* ldb, float* x, const MKL_INT* ldx, float* ferr,
             float* berr, float* work, MKL_INT* iwork, MKL_INT* info ) NOTHROW;
void SGTRFS_( const char* trans, const MKL_INT* n, const MKL_INT* nrhs,
              const float* dl, const float* d, const float* du,
              const float* dlf, const float* df, const float* duf,
              const float* du2, const MKL_INT* ipiv, const float* b,
              const MKL_INT* ldb, float* x, const MKL_INT* ldx, float* ferr,
              float* berr, float* work, MKL_INT* iwork, MKL_INT* info ) NOTHROW;
void sgtrfs( const char* trans, const MKL_INT* n, const MKL_INT* nrhs,
             const float* dl, const float* d, const float* du,
             const float* dlf, const float* df, const float* duf,
             const float* du2, const MKL_INT* ipiv, const float* b,
             const MKL_INT* ldb, float* x, const MKL_INT* ldx, float* ferr,
             float* berr, float* work, MKL_INT* iwork, MKL_INT* info ) NOTHROW;
void sgtrfs_( const char* trans, const MKL_INT* n, const MKL_INT* nrhs,
              const float* dl, const float* d, const float* du,
              const float* dlf, const float* df, const float* duf,
              const float* du2, const MKL_INT* ipiv, const float* b,
              const MKL_INT* ldb, float* x, const MKL_INT* ldx, float* ferr,
              float* berr, float* work, MKL_INT* iwork, MKL_INT* info ) NOTHROW;

void SGTSV( const MKL_INT* n, const MKL_INT* nrhs, float* dl, float* d,
            float* du, float* b, const MKL_INT* ldb, MKL_INT* info ) NOTHROW;
void SGTSV_( const MKL_INT* n, const MKL_INT* nrhs, float* dl, float* d,
             float* du, float* b, const MKL_INT* ldb, MKL_INT* info ) NOTHROW;
void sgtsv( const MKL_INT* n, const MKL_INT* nrhs, float* dl, float* d,
            float* du, float* b, const MKL_INT* ldb, MKL_INT* info ) NOTHROW;
void sgtsv_( const MKL_INT* n, const MKL_INT* nrhs, float* dl, float* d,
             float* du, float* b, const MKL_INT* ldb, MKL_INT* info ) NOTHROW;

void SGTSVX( const char* fact, const char* trans, const MKL_INT* n,
             const MKL_INT* nrhs, const float* dl, const float* d,
             const float* du, float* dlf, float* df, float* duf, float* du2,
             MKL_INT* ipiv, const float* b, const MKL_INT* ldb, float* x,
             const MKL_INT* ldx, float* rcond, float* ferr, float* berr,
             float* work, MKL_INT* iwork, MKL_INT* info ) NOTHROW;
void SGTSVX_( const char* fact, const char* trans, const MKL_INT* n,
              const MKL_INT* nrhs, const float* dl, const float* d,
              const float* du, float* dlf, float* df, float* duf, float* du2,
              MKL_INT* ipiv, const float* b, const MKL_INT* ldb, float* x,
              const MKL_INT* ldx, float* rcond, float* ferr, float* berr,
              float* work, MKL_INT* iwork, MKL_INT* info ) NOTHROW;
void sgtsvx( const char* fact, const char* trans, const MKL_INT* n,
             const MKL_INT* nrhs, const float* dl, const float* d,
             const float* du, float* dlf, float* df, float* duf, float* du2,
             MKL_INT* ipiv, const float* b, const MKL_INT* ldb, float* x,
             const MKL_INT* ldx, float* rcond, float* ferr, float* berr,
             float* work, MKL_INT* iwork, MKL_INT* info ) NOTHROW;
void sgtsvx_( const char* fact, const char* trans, const MKL_INT* n,
              const MKL_INT* nrhs, const float* dl, const float* d,
              const float* du, float* dlf, float* df, float* duf, float* du2,
              MKL_INT* ipiv, const float* b, const MKL_INT* ldb, float* x,
              const MKL_INT* ldx, float* rcond, float* ferr, float* berr,
              float* work, MKL_INT* iwork, MKL_INT* info ) NOTHROW;

void SGTTRF( const MKL_INT* n, float* dl, float* d, float* du, float* du2,
             MKL_INT* ipiv, MKL_INT* info ) NOTHROW;
void SGTTRF_( const MKL_INT* n, float* dl, float* d, float* du, float* du2,
              MKL_INT* ipiv, MKL_INT* info ) NOTHROW;
void sgttrf( const MKL_INT* n, float* dl, float* d, float* du, float* du2,
             MKL_INT* ipiv, MKL_INT* info ) NOTHROW;
void sgttrf_( const MKL_INT* n, float* dl, float* d, float* du, float* du2,
              MKL_INT* ipiv, MKL_INT* info ) NOTHROW;

void SGTTRS( const char* trans, const MKL_INT* n, const MKL_INT* nrhs,
             const float* dl, const float* d, const float* du,
             const float* du2, const MKL_INT* ipiv, float* b,
             const MKL_INT* ldb, MKL_INT* info ) NOTHROW;
void SGTTRS_( const char* trans, const MKL_INT* n, const MKL_INT* nrhs,
              const float* dl, const float* d, const float* du,
              const float* du2, const MKL_INT* ipiv, float* b,
              const MKL_INT* ldb, MKL_INT* info ) NOTHROW;
void sgttrs( const char* trans, const MKL_INT* n, const MKL_INT* nrhs,
             const float* dl, const float* d, const float* du,
             const float* du2, const MKL_INT* ipiv, float* b,
             const MKL_INT* ldb, MKL_INT* info ) NOTHROW;
void sgttrs_( const char* trans, const MKL_INT* n, const MKL_INT* nrhs,
              const float* dl, const float* d, const float* du,
              const float* du2, const MKL_INT* ipiv, float* b,
              const MKL_INT* ldb, MKL_INT* info ) NOTHROW;

void SGTTS2( const MKL_INT* itrans, const MKL_INT* n, const MKL_INT* nrhs,
             const float* dl, const float* d, const float* du,
             const float* du2, const MKL_INT* ipiv, float* b,
             const MKL_INT* ldb ) NOTHROW;
void SGTTS2_( const MKL_INT* itrans, const MKL_INT* n, const MKL_INT* nrhs,
              const float* dl, const float* d, const float* du,
              const float* du2, const MKL_INT* ipiv, float* b,
              const MKL_INT* ldb ) NOTHROW;
void sgtts2( const MKL_INT* itrans, const MKL_INT* n, const MKL_INT* nrhs,
             const float* dl, const float* d, const float* du,
             const float* du2, const MKL_INT* ipiv, float* b,
             const MKL_INT* ldb ) NOTHROW;
void sgtts2_( const MKL_INT* itrans, const MKL_INT* n, const MKL_INT* nrhs,
              const float* dl, const float* d, const float* du,
              const float* du2, const MKL_INT* ipiv, float* b,
              const MKL_INT* ldb ) NOTHROW;

void SHGEQZ( const char* job, const char* compq, const char* compz,
             const MKL_INT* n, const MKL_INT* ilo, const MKL_INT* ihi,
             float* h, const MKL_INT* ldh, float* t, const MKL_INT* ldt,
             float* alphar, float* alphai, float* beta, float* q,
             const MKL_INT* ldq, float* z, const MKL_INT* ldz, float* work,
             const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void SHGEQZ_( const char* job, const char* compq, const char* compz,
              const MKL_INT* n, const MKL_INT* ilo, const MKL_INT* ihi,
              float* h, const MKL_INT* ldh, float* t, const MKL_INT* ldt,
              float* alphar, float* alphai, float* beta, float* q,
              const MKL_INT* ldq, float* z, const MKL_INT* ldz, float* work,
              const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void shgeqz( const char* job, const char* compq, const char* compz,
             const MKL_INT* n, const MKL_INT* ilo, const MKL_INT* ihi,
             float* h, const MKL_INT* ldh, float* t, const MKL_INT* ldt,
             float* alphar, float* alphai, float* beta, float* q,
             const MKL_INT* ldq, float* z, const MKL_INT* ldz, float* work,
             const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void shgeqz_( const char* job, const char* compq, const char* compz,
              const MKL_INT* n, const MKL_INT* ilo, const MKL_INT* ihi,
              float* h, const MKL_INT* ldh, float* t, const MKL_INT* ldt,
              float* alphar, float* alphai, float* beta, float* q,
              const MKL_INT* ldq, float* z, const MKL_INT* ldz, float* work,
              const MKL_INT* lwork, MKL_INT* info ) NOTHROW;

void SHSEIN( const char* side, const char* eigsrc, const char* initv,
             MKL_INT* select, const MKL_INT* n, const float* h,
             const MKL_INT* ldh, float* wr, const float* wi, float* vl,
             const MKL_INT* ldvl, float* vr, const MKL_INT* ldvr,
             const MKL_INT* mm, MKL_INT* m, float* work, MKL_INT* ifaill,
             MKL_INT* ifailr, MKL_INT* info ) NOTHROW;
void SHSEIN_( const char* side, const char* eigsrc, const char* initv,
              MKL_INT* select, const MKL_INT* n, const float* h,
              const MKL_INT* ldh, float* wr, const float* wi, float* vl,
              const MKL_INT* ldvl, float* vr, const MKL_INT* ldvr,
              const MKL_INT* mm, MKL_INT* m, float* work, MKL_INT* ifaill,
              MKL_INT* ifailr, MKL_INT* info ) NOTHROW;
void shsein( const char* side, const char* eigsrc, const char* initv,
             MKL_INT* select, const MKL_INT* n, const float* h,
             const MKL_INT* ldh, float* wr, const float* wi, float* vl,
             const MKL_INT* ldvl, float* vr, const MKL_INT* ldvr,
             const MKL_INT* mm, MKL_INT* m, float* work, MKL_INT* ifaill,
             MKL_INT* ifailr, MKL_INT* info ) NOTHROW;
void shsein_( const char* side, const char* eigsrc, const char* initv,
              MKL_INT* select, const MKL_INT* n, const float* h,
              const MKL_INT* ldh, float* wr, const float* wi, float* vl,
              const MKL_INT* ldvl, float* vr, const MKL_INT* ldvr,
              const MKL_INT* mm, MKL_INT* m, float* work, MKL_INT* ifaill,
              MKL_INT* ifailr, MKL_INT* info ) NOTHROW;

void SHSEQR( const char* job, const char* compz, const MKL_INT* n,
             const MKL_INT* ilo, const MKL_INT* ihi, float* h,
             const MKL_INT* ldh, float* wr, float* wi, float* z,
             const MKL_INT* ldz, float* work, const MKL_INT* lwork,
             MKL_INT* info ) NOTHROW;
void SHSEQR_( const char* job, const char* compz, const MKL_INT* n,
              const MKL_INT* ilo, const MKL_INT* ihi, float* h,
              const MKL_INT* ldh, float* wr, float* wi, float* z,
              const MKL_INT* ldz, float* work, const MKL_INT* lwork,
              MKL_INT* info ) NOTHROW;
void shseqr( const char* job, const char* compz, const MKL_INT* n,
             const MKL_INT* ilo, const MKL_INT* ihi, float* h,
             const MKL_INT* ldh, float* wr, float* wi, float* z,
             const MKL_INT* ldz, float* work, const MKL_INT* lwork,
             MKL_INT* info ) NOTHROW;
void shseqr_( const char* job, const char* compz, const MKL_INT* n,
              const MKL_INT* ilo, const MKL_INT* ihi, float* h,
              const MKL_INT* ldh, float* wr, float* wi, float* z,
              const MKL_INT* ldz, float* work, const MKL_INT* lwork,
              MKL_INT* info ) NOTHROW;

MKL_INT SISNAN( const float* sin ) NOTHROW;
MKL_INT SISNAN_( const float* sin ) NOTHROW;
MKL_INT sisnan( const float* sin ) NOTHROW;
MKL_INT sisnan_( const float* sin ) NOTHROW;

void SLABAD( float* smallx, float* large ) NOTHROW;
void SLABAD_( float* smallx, float* large ) NOTHROW;
void slabad( float* smallx, float* large ) NOTHROW;
void slabad_( float* smallx, float* large ) NOTHROW;

void SLABRD( const MKL_INT* m, const MKL_INT* n, const MKL_INT* nb, float* a,
             const MKL_INT* lda, float* d, float* e, float* tauq, float* taup,
             float* x, const MKL_INT* ldx, float* y, const MKL_INT* ldy ) NOTHROW;
void SLABRD_( const MKL_INT* m, const MKL_INT* n, const MKL_INT* nb, float* a,
              const MKL_INT* lda, float* d, float* e, float* tauq, float* taup,
              float* x, const MKL_INT* ldx, float* y, const MKL_INT* ldy ) NOTHROW;
void slabrd( const MKL_INT* m, const MKL_INT* n, const MKL_INT* nb, float* a,
             const MKL_INT* lda, float* d, float* e, float* tauq, float* taup,
             float* x, const MKL_INT* ldx, float* y, const MKL_INT* ldy ) NOTHROW;
void slabrd_( const MKL_INT* m, const MKL_INT* n, const MKL_INT* nb, float* a,
              const MKL_INT* lda, float* d, float* e, float* tauq, float* taup,
              float* x, const MKL_INT* ldx, float* y, const MKL_INT* ldy ) NOTHROW;

void SLACN2( const MKL_INT* n, float* v, float* x, MKL_INT* isgn, float* est,
             MKL_INT* kase, MKL_INT* isave ) NOTHROW;
void SLACN2_( const MKL_INT* n, float* v, float* x, MKL_INT* isgn, float* est,
              MKL_INT* kase, MKL_INT* isave ) NOTHROW;
void slacn2( const MKL_INT* n, float* v, float* x, MKL_INT* isgn, float* est,
             MKL_INT* kase, MKL_INT* isave ) NOTHROW;
void slacn2_( const MKL_INT* n, float* v, float* x, MKL_INT* isgn, float* est,
              MKL_INT* kase, MKL_INT* isave ) NOTHROW;

void SLACON( const MKL_INT* n, float* v, float* x, MKL_INT* isgn, float* est,
             MKL_INT* kase ) NOTHROW;
void SLACON_( const MKL_INT* n, float* v, float* x, MKL_INT* isgn, float* est,
              MKL_INT* kase ) NOTHROW;
void slacon( const MKL_INT* n, float* v, float* x, MKL_INT* isgn, float* est,
             MKL_INT* kase ) NOTHROW;
void slacon_( const MKL_INT* n, float* v, float* x, MKL_INT* isgn, float* est,
              MKL_INT* kase ) NOTHROW;

void SLACPY( const char* uplo, const MKL_INT* m, const MKL_INT* n,
             const float* a, const MKL_INT* lda, float* b,
             const MKL_INT* ldb ) NOTHROW;
void SLACPY_( const char* uplo, const MKL_INT* m, const MKL_INT* n,
              const float* a, const MKL_INT* lda, float* b,
              const MKL_INT* ldb ) NOTHROW;
void slacpy( const char* uplo, const MKL_INT* m, const MKL_INT* n,
             const float* a, const MKL_INT* lda, float* b,
             const MKL_INT* ldb ) NOTHROW;
void slacpy_( const char* uplo, const MKL_INT* m, const MKL_INT* n,
              const float* a, const MKL_INT* lda, float* b,
              const MKL_INT* ldb ) NOTHROW;

void SLADIV( const float* a, const float* b, const float* c, const float* d,
             float* p, float* q ) NOTHROW;
void SLADIV_( const float* a, const float* b, const float* c, const float* d,
              float* p, float* q ) NOTHROW;
void sladiv( const float* a, const float* b, const float* c, const float* d,
             float* p, float* q ) NOTHROW;
void sladiv_( const float* a, const float* b, const float* c, const float* d,
              float* p, float* q ) NOTHROW;

void SLAE2( const float* a, const float* b, const float* c, float* rt1,
            float* rt2 ) NOTHROW;
void SLAE2_( const float* a, const float* b, const float* c, float* rt1,
             float* rt2 ) NOTHROW;
void slae2( const float* a, const float* b, const float* c, float* rt1,
            float* rt2 ) NOTHROW;
void slae2_( const float* a, const float* b, const float* c, float* rt1,
             float* rt2 ) NOTHROW;

void SLAEBZ( const MKL_INT* ijob, const MKL_INT* nitmax, const MKL_INT* n,
             const MKL_INT* mmax, const MKL_INT* minp, const MKL_INT* nbmin,
             const float* abstol, const float* reltol, const float* pivmin,
             const float* d, const float* e, const float* e2, MKL_INT* nval,
             float* ab, float* c, MKL_INT* mout, MKL_INT* nab, float* work,
             MKL_INT* iwork, MKL_INT* info ) NOTHROW;
void SLAEBZ_( const MKL_INT* ijob, const MKL_INT* nitmax, const MKL_INT* n,
              const MKL_INT* mmax, const MKL_INT* minp, const MKL_INT* nbmin,
              const float* abstol, const float* reltol, const float* pivmin,
              const float* d, const float* e, const float* e2, MKL_INT* nval,
              float* ab, float* c, MKL_INT* mout, MKL_INT* nab, float* work,
              MKL_INT* iwork, MKL_INT* info ) NOTHROW;
void slaebz( const MKL_INT* ijob, const MKL_INT* nitmax, const MKL_INT* n,
             const MKL_INT* mmax, const MKL_INT* minp, const MKL_INT* nbmin,
             const float* abstol, const float* reltol, const float* pivmin,
             const float* d, const float* e, const float* e2, MKL_INT* nval,
             float* ab, float* c, MKL_INT* mout, MKL_INT* nab, float* work,
             MKL_INT* iwork, MKL_INT* info ) NOTHROW;
void slaebz_( const MKL_INT* ijob, const MKL_INT* nitmax, const MKL_INT* n,
              const MKL_INT* mmax, const MKL_INT* minp, const MKL_INT* nbmin,
              const float* abstol, const float* reltol, const float* pivmin,
              const float* d, const float* e, const float* e2, MKL_INT* nval,
              float* ab, float* c, MKL_INT* mout, MKL_INT* nab, float* work,
              MKL_INT* iwork, MKL_INT* info ) NOTHROW;

void SLAED0( const MKL_INT* icompq, const MKL_INT* qsiz, const MKL_INT* n,
             float* d, const float* e, float* q, const MKL_INT* ldq,
             float* qstore, const MKL_INT* ldqs, float* work, MKL_INT* iwork,
             MKL_INT* info ) NOTHROW;
void SLAED0_( const MKL_INT* icompq, const MKL_INT* qsiz, const MKL_INT* n,
              float* d, const float* e, float* q, const MKL_INT* ldq,
              float* qstore, const MKL_INT* ldqs, float* work, MKL_INT* iwork,
              MKL_INT* info ) NOTHROW;
void slaed0( const MKL_INT* icompq, const MKL_INT* qsiz, const MKL_INT* n,
             float* d, const float* e, float* q, const MKL_INT* ldq,
             float* qstore, const MKL_INT* ldqs, float* work, MKL_INT* iwork,
             MKL_INT* info ) NOTHROW;
void slaed0_( const MKL_INT* icompq, const MKL_INT* qsiz, const MKL_INT* n,
              float* d, const float* e, float* q, const MKL_INT* ldq,
              float* qstore, const MKL_INT* ldqs, float* work, MKL_INT* iwork,
              MKL_INT* info ) NOTHROW;

void SLAED1( const MKL_INT* n, float* d, float* q, const MKL_INT* ldq,
             MKL_INT* indxq, const float* rho, const MKL_INT* cutpnt,
             float* work, MKL_INT* iwork, MKL_INT* info ) NOTHROW;
void SLAED1_( const MKL_INT* n, float* d, float* q, const MKL_INT* ldq,
              MKL_INT* indxq, const float* rho, const MKL_INT* cutpnt,
              float* work, MKL_INT* iwork, MKL_INT* info ) NOTHROW;
void slaed1( const MKL_INT* n, float* d, float* q, const MKL_INT* ldq,
             MKL_INT* indxq, const float* rho, const MKL_INT* cutpnt,
             float* work, MKL_INT* iwork, MKL_INT* info ) NOTHROW;
void slaed1_( const MKL_INT* n, float* d, float* q, const MKL_INT* ldq,
              MKL_INT* indxq, const float* rho, const MKL_INT* cutpnt,
              float* work, MKL_INT* iwork, MKL_INT* info ) NOTHROW;

void SLAED2( MKL_INT* k, const MKL_INT* n, const MKL_INT* n1, float* d,
             float* q, const MKL_INT* ldq, MKL_INT* indxq, float* rho,
             const float* z, float* dlamda, float* w, float* q2, MKL_INT* indx,
             MKL_INT* indxc, MKL_INT* indxp, MKL_INT* coltyp, MKL_INT* info ) NOTHROW;
void SLAED2_( MKL_INT* k, const MKL_INT* n, const MKL_INT* n1, float* d,
              float* q, const MKL_INT* ldq, MKL_INT* indxq, float* rho,
              const float* z, float* dlamda, float* w, float* q2,
              MKL_INT* indx, MKL_INT* indxc, MKL_INT* indxp, MKL_INT* coltyp,
              MKL_INT* info ) NOTHROW;
void slaed2( MKL_INT* k, const MKL_INT* n, const MKL_INT* n1, float* d,
             float* q, const MKL_INT* ldq, MKL_INT* indxq, float* rho,
             const float* z, float* dlamda, float* w, float* q2, MKL_INT* indx,
             MKL_INT* indxc, MKL_INT* indxp, MKL_INT* coltyp, MKL_INT* info ) NOTHROW;
void slaed2_( MKL_INT* k, const MKL_INT* n, const MKL_INT* n1, float* d,
              float* q, const MKL_INT* ldq, MKL_INT* indxq, float* rho,
              const float* z, float* dlamda, float* w, float* q2,
              MKL_INT* indx, MKL_INT* indxc, MKL_INT* indxp, MKL_INT* coltyp,
              MKL_INT* info ) NOTHROW;

void SLAED3( const MKL_INT* k, const MKL_INT* n, const MKL_INT* n1, float* d,
             float* q, const MKL_INT* ldq, const float* rho, float* dlamda,
             const float* q2, const MKL_INT* indx, const MKL_INT* ctot,
             float* w, float* s, MKL_INT* info ) NOTHROW;
void SLAED3_( const MKL_INT* k, const MKL_INT* n, const MKL_INT* n1, float* d,
              float* q, const MKL_INT* ldq, const float* rho, float* dlamda,
              const float* q2, const MKL_INT* indx, const MKL_INT* ctot,
              float* w, float* s, MKL_INT* info ) NOTHROW;
void slaed3( const MKL_INT* k, const MKL_INT* n, const MKL_INT* n1, float* d,
             float* q, const MKL_INT* ldq, const float* rho, float* dlamda,
             const float* q2, const MKL_INT* indx, const MKL_INT* ctot,
             float* w, float* s, MKL_INT* info ) NOTHROW;
void slaed3_( const MKL_INT* k, const MKL_INT* n, const MKL_INT* n1, float* d,
              float* q, const MKL_INT* ldq, const float* rho, float* dlamda,
              const float* q2, const MKL_INT* indx, const MKL_INT* ctot,
              float* w, float* s, MKL_INT* info ) NOTHROW;

void SLAED4( const MKL_INT* n, const MKL_INT* i, const float* d,
             const float* z, float* delta, const float* rho, float* dlam,
             MKL_INT* info ) NOTHROW;
void SLAED4_( const MKL_INT* n, const MKL_INT* i, const float* d,
              const float* z, float* delta, const float* rho, float* dlam,
              MKL_INT* info ) NOTHROW;
void slaed4( const MKL_INT* n, const MKL_INT* i, const float* d,
             const float* z, float* delta, const float* rho, float* dlam,
             MKL_INT* info ) NOTHROW;
void slaed4_( const MKL_INT* n, const MKL_INT* i, const float* d,
              const float* z, float* delta, const float* rho, float* dlam,
              MKL_INT* info ) NOTHROW;

void SLAED5( const MKL_INT* i, const float* d, const float* z, float* delta,
             const float* rho, float* dlam ) NOTHROW;
void SLAED5_( const MKL_INT* i, const float* d, const float* z, float* delta,
              const float* rho, float* dlam ) NOTHROW;
void slaed5( const MKL_INT* i, const float* d, const float* z, float* delta,
             const float* rho, float* dlam ) NOTHROW;
void slaed5_( const MKL_INT* i, const float* d, const float* z, float* delta,
              const float* rho, float* dlam ) NOTHROW;

void SLAED6( const MKL_INT* kniter, const MKL_INT* orgati, const float* rho,
             const float* d, const float* z, const float* finit, float* tau,
             MKL_INT* info ) NOTHROW;
void SLAED6_( const MKL_INT* kniter, const MKL_INT* orgati, const float* rho,
              const float* d, const float* z, const float* finit, float* tau,
              MKL_INT* info ) NOTHROW;
void slaed6( const MKL_INT* kniter, const MKL_INT* orgati, const float* rho,
             const float* d, const float* z, const float* finit, float* tau,
             MKL_INT* info ) NOTHROW;
void slaed6_( const MKL_INT* kniter, const MKL_INT* orgati, const float* rho,
              const float* d, const float* z, const float* finit, float* tau,
              MKL_INT* info ) NOTHROW;

void SLAED7( const MKL_INT* icompq, const MKL_INT* n, const MKL_INT* qsiz,
             const MKL_INT* tlvls, const MKL_INT* curlvl,
             const MKL_INT* curpbm, float* d, float* q, const MKL_INT* ldq,
             MKL_INT* indxq, const float* rho, const MKL_INT* cutpnt,
             float* qstore, MKL_INT* qptr, const MKL_INT* prmptr,
             const MKL_INT* perm, const MKL_INT* givptr, const MKL_INT* givcol,
             const float* givnum, float* work, MKL_INT* iwork, MKL_INT* info ) NOTHROW;
void SLAED7_( const MKL_INT* icompq, const MKL_INT* n, const MKL_INT* qsiz,
              const MKL_INT* tlvls, const MKL_INT* curlvl,
              const MKL_INT* curpbm, float* d, float* q, const MKL_INT* ldq,
              MKL_INT* indxq, const float* rho, const MKL_INT* cutpnt,
              float* qstore, MKL_INT* qptr, const MKL_INT* prmptr,
              const MKL_INT* perm, const MKL_INT* givptr,
              const MKL_INT* givcol, const float* givnum, float* work,
              MKL_INT* iwork, MKL_INT* info ) NOTHROW;
void slaed7( const MKL_INT* icompq, const MKL_INT* n, const MKL_INT* qsiz,
             const MKL_INT* tlvls, const MKL_INT* curlvl,
             const MKL_INT* curpbm, float* d, float* q, const MKL_INT* ldq,
             MKL_INT* indxq, const float* rho, const MKL_INT* cutpnt,
             float* qstore, MKL_INT* qptr, const MKL_INT* prmptr,
             const MKL_INT* perm, const MKL_INT* givptr, const MKL_INT* givcol,
             const float* givnum, float* work, MKL_INT* iwork, MKL_INT* info ) NOTHROW;
void slaed7_( const MKL_INT* icompq, const MKL_INT* n, const MKL_INT* qsiz,
              const MKL_INT* tlvls, const MKL_INT* curlvl,
              const MKL_INT* curpbm, float* d, float* q, const MKL_INT* ldq,
              MKL_INT* indxq, const float* rho, const MKL_INT* cutpnt,
              float* qstore, MKL_INT* qptr, const MKL_INT* prmptr,
              const MKL_INT* perm, const MKL_INT* givptr,
              const MKL_INT* givcol, const float* givnum, float* work,
              MKL_INT* iwork, MKL_INT* info ) NOTHROW;

void SLAED8( const MKL_INT* icompq, MKL_INT* k, const MKL_INT* n,
             const MKL_INT* qsiz, float* d, float* q, const MKL_INT* ldq,
             const MKL_INT* indxq, float* rho, const MKL_INT* cutpnt,
             const float* z, float* dlamda, float* q2, const MKL_INT* ldq2,
             float* w, MKL_INT* perm, MKL_INT* givptr, MKL_INT* givcol,
             float* givnum, MKL_INT* indxp, MKL_INT* indx, MKL_INT* info ) NOTHROW;
void SLAED8_( const MKL_INT* icompq, MKL_INT* k, const MKL_INT* n,
              const MKL_INT* qsiz, float* d, float* q, const MKL_INT* ldq,
              const MKL_INT* indxq, float* rho, const MKL_INT* cutpnt,
              const float* z, float* dlamda, float* q2, const MKL_INT* ldq2,
              float* w, MKL_INT* perm, MKL_INT* givptr, MKL_INT* givcol,
              float* givnum, MKL_INT* indxp, MKL_INT* indx, MKL_INT* info ) NOTHROW;
void slaed8( const MKL_INT* icompq, MKL_INT* k, const MKL_INT* n,
             const MKL_INT* qsiz, float* d, float* q, const MKL_INT* ldq,
             const MKL_INT* indxq, float* rho, const MKL_INT* cutpnt,
             const float* z, float* dlamda, float* q2, const MKL_INT* ldq2,
             float* w, MKL_INT* perm, MKL_INT* givptr, MKL_INT* givcol,
             float* givnum, MKL_INT* indxp, MKL_INT* indx, MKL_INT* info ) NOTHROW;
void slaed8_( const MKL_INT* icompq, MKL_INT* k, const MKL_INT* n,
              const MKL_INT* qsiz, float* d, float* q, const MKL_INT* ldq,
              const MKL_INT* indxq, float* rho, const MKL_INT* cutpnt,
              const float* z, float* dlamda, float* q2, const MKL_INT* ldq2,
              float* w, MKL_INT* perm, MKL_INT* givptr, MKL_INT* givcol,
              float* givnum, MKL_INT* indxp, MKL_INT* indx, MKL_INT* info ) NOTHROW;

void SLAED9( const MKL_INT* k, const MKL_INT* kstart, const MKL_INT* kstop,
             const MKL_INT* n, float* d, float* q, const MKL_INT* ldq,
             const float* rho, const float* dlamda, const float* w, float* s,
             const MKL_INT* lds, MKL_INT* info ) NOTHROW;
void SLAED9_( const MKL_INT* k, const MKL_INT* kstart, const MKL_INT* kstop,
              const MKL_INT* n, float* d, float* q, const MKL_INT* ldq,
              const float* rho, const float* dlamda, const float* w, float* s,
              const MKL_INT* lds, MKL_INT* info ) NOTHROW;
void slaed9( const MKL_INT* k, const MKL_INT* kstart, const MKL_INT* kstop,
             const MKL_INT* n, float* d, float* q, const MKL_INT* ldq,
             const float* rho, const float* dlamda, const float* w, float* s,
             const MKL_INT* lds, MKL_INT* info ) NOTHROW;
void slaed9_( const MKL_INT* k, const MKL_INT* kstart, const MKL_INT* kstop,
              const MKL_INT* n, float* d, float* q, const MKL_INT* ldq,
              const float* rho, const float* dlamda, const float* w, float* s,
              const MKL_INT* lds, MKL_INT* info ) NOTHROW;

void SLAEDA( const MKL_INT* n, const MKL_INT* tlvls, const MKL_INT* curlvl,
             const MKL_INT* curpbm, const MKL_INT* prmptr, const MKL_INT* perm,
             const MKL_INT* givptr, const MKL_INT* givcol, const float* givnum,
             const float* q, const MKL_INT* qptr, float* z, float* ztemp,
             MKL_INT* info ) NOTHROW;
void SLAEDA_( const MKL_INT* n, const MKL_INT* tlvls, const MKL_INT* curlvl,
              const MKL_INT* curpbm, const MKL_INT* prmptr,
              const MKL_INT* perm, const MKL_INT* givptr,
              const MKL_INT* givcol, const float* givnum, const float* q,
              const MKL_INT* qptr, float* z, float* ztemp, MKL_INT* info ) NOTHROW;
void slaeda( const MKL_INT* n, const MKL_INT* tlvls, const MKL_INT* curlvl,
             const MKL_INT* curpbm, const MKL_INT* prmptr, const MKL_INT* perm,
             const MKL_INT* givptr, const MKL_INT* givcol, const float* givnum,
             const float* q, const MKL_INT* qptr, float* z, float* ztemp,
             MKL_INT* info ) NOTHROW;
void slaeda_( const MKL_INT* n, const MKL_INT* tlvls, const MKL_INT* curlvl,
              const MKL_INT* curpbm, const MKL_INT* prmptr,
              const MKL_INT* perm, const MKL_INT* givptr,
              const MKL_INT* givcol, const float* givnum, const float* q,
              const MKL_INT* qptr, float* z, float* ztemp, MKL_INT* info ) NOTHROW;

void SLAEIN( const MKL_INT* rightv, const MKL_INT* noinit, const MKL_INT* n,
             const float* h, const MKL_INT* ldh, const float* wr,
             const float* wi, float* vr, float* vi, float* b,
             const MKL_INT* ldb, float* work, const float* eps3,
             const float* smlnum, const float* bignum, MKL_INT* info ) NOTHROW;
void SLAEIN_( const MKL_INT* rightv, const MKL_INT* noinit, const MKL_INT* n,
              const float* h, const MKL_INT* ldh, const float* wr,
              const float* wi, float* vr, float* vi, float* b,
              const MKL_INT* ldb, float* work, const float* eps3,
              const float* smlnum, const float* bignum, MKL_INT* info ) NOTHROW;
void slaein( const MKL_INT* rightv, const MKL_INT* noinit, const MKL_INT* n,
             const float* h, const MKL_INT* ldh, const float* wr,
             const float* wi, float* vr, float* vi, float* b,
             const MKL_INT* ldb, float* work, const float* eps3,
             const float* smlnum, const float* bignum, MKL_INT* info ) NOTHROW;
void slaein_( const MKL_INT* rightv, const MKL_INT* noinit, const MKL_INT* n,
              const float* h, const MKL_INT* ldh, const float* wr,
              const float* wi, float* vr, float* vi, float* b,
              const MKL_INT* ldb, float* work, const float* eps3,
              const float* smlnum, const float* bignum, MKL_INT* info ) NOTHROW;

void SLAEV2( const float* a, const float* b, const float* c, float* rt1,
             float* rt2, float* cs1, float* sn1 ) NOTHROW;
void SLAEV2_( const float* a, const float* b, const float* c, float* rt1,
              float* rt2, float* cs1, float* sn1 ) NOTHROW;
void slaev2( const float* a, const float* b, const float* c, float* rt1,
             float* rt2, float* cs1, float* sn1 ) NOTHROW;
void slaev2_( const float* a, const float* b, const float* c, float* rt1,
              float* rt2, float* cs1, float* sn1 ) NOTHROW;

void SLAEXC( const MKL_INT* wantq, const MKL_INT* n, float* t,
             const MKL_INT* ldt, float* q, const MKL_INT* ldq,
             const MKL_INT* j1, const MKL_INT* n1, const MKL_INT* n2,
             float* work, MKL_INT* info ) NOTHROW;
void SLAEXC_( const MKL_INT* wantq, const MKL_INT* n, float* t,
              const MKL_INT* ldt, float* q, const MKL_INT* ldq,
              const MKL_INT* j1, const MKL_INT* n1, const MKL_INT* n2,
              float* work, MKL_INT* info ) NOTHROW;
void slaexc( const MKL_INT* wantq, const MKL_INT* n, float* t,
             const MKL_INT* ldt, float* q, const MKL_INT* ldq,
             const MKL_INT* j1, const MKL_INT* n1, const MKL_INT* n2,
             float* work, MKL_INT* info ) NOTHROW;
void slaexc_( const MKL_INT* wantq, const MKL_INT* n, float* t,
              const MKL_INT* ldt, float* q, const MKL_INT* ldq,
              const MKL_INT* j1, const MKL_INT* n1, const MKL_INT* n2,
              float* work, MKL_INT* info ) NOTHROW;

void SLAG2D( const MKL_INT* m, const MKL_INT* n, const float* sa,
             const MKL_INT* ldsa, double* a, const MKL_INT* lda,
             MKL_INT* info ) NOTHROW;
void SLAG2D_( const MKL_INT* m, const MKL_INT* n, const float* sa,
              const MKL_INT* ldsa, double* a, const MKL_INT* lda,
              MKL_INT* info ) NOTHROW;
void slag2d( const MKL_INT* m, const MKL_INT* n, const float* sa,
             const MKL_INT* ldsa, double* a, const MKL_INT* lda,
             MKL_INT* info ) NOTHROW;
void slag2d_( const MKL_INT* m, const MKL_INT* n, const float* sa,
              const MKL_INT* ldsa, double* a, const MKL_INT* lda,
              MKL_INT* info ) NOTHROW;

void SLAG2( const float* a, const MKL_INT* lda, const float* b,
            const MKL_INT* ldb, const float* safmin, float* scale1,
            float* scale2, float* wr1, float* wr2, float* wi ) NOTHROW;
void SLAG2_( const float* a, const MKL_INT* lda, const float* b,
             const MKL_INT* ldb, const float* safmin, float* scale1,
             float* scale2, float* wr1, float* wr2, float* wi ) NOTHROW;
void slag2( const float* a, const MKL_INT* lda, const float* b,
            const MKL_INT* ldb, const float* safmin, float* scale1,
            float* scale2, float* wr1, float* wr2, float* wi ) NOTHROW;
void slag2_( const float* a, const MKL_INT* lda, const float* b,
             const MKL_INT* ldb, const float* safmin, float* scale1,
             float* scale2, float* wr1, float* wr2, float* wi ) NOTHROW;

void SLAGS2( const MKL_INT* upper, const float* a1, const float* a2,
             const float* a3, const float* b1, const float* b2,
             const float* b3, float* csu, float* snu, float* csv, float* snv,
             float* csq, float* snq ) NOTHROW;
void SLAGS2_( const MKL_INT* upper, const float* a1, const float* a2,
              const float* a3, const float* b1, const float* b2,
              const float* b3, float* csu, float* snu, float* csv, float* snv,
              float* csq, float* snq ) NOTHROW;
void slags2( const MKL_INT* upper, const float* a1, const float* a2,
             const float* a3, const float* b1, const float* b2,
             const float* b3, float* csu, float* snu, float* csv, float* snv,
             float* csq, float* snq ) NOTHROW;
void slags2_( const MKL_INT* upper, const float* a1, const float* a2,
              const float* a3, const float* b1, const float* b2,
              const float* b3, float* csu, float* snu, float* csv, float* snv,
              float* csq, float* snq ) NOTHROW;

void SLAGTF( const MKL_INT* n, float* a, const float* lambda, float* b,
             float* c, const float* tol, float* d, MKL_INT* in,
             MKL_INT* info ) NOTHROW;
void SLAGTF_( const MKL_INT* n, float* a, const float* lambda, float* b,
              float* c, const float* tol, float* d, MKL_INT* in,
              MKL_INT* info ) NOTHROW;
void slagtf( const MKL_INT* n, float* a, const float* lambda, float* b,
             float* c, const float* tol, float* d, MKL_INT* in,
             MKL_INT* info ) NOTHROW;
void slagtf_( const MKL_INT* n, float* a, const float* lambda, float* b,
              float* c, const float* tol, float* d, MKL_INT* in,
              MKL_INT* info ) NOTHROW;

void SLAGTM( const char* trans, const MKL_INT* n, const MKL_INT* nrhs,
             const float* alpha, const float* dl, const float* d,
             const float* du, const float* x, const MKL_INT* ldx,
             const float* beta, float* b, const MKL_INT* ldb ) NOTHROW;
void SLAGTM_( const char* trans, const MKL_INT* n, const MKL_INT* nrhs,
              const float* alpha, const float* dl, const float* d,
              const float* du, const float* x, const MKL_INT* ldx,
              const float* beta, float* b, const MKL_INT* ldb ) NOTHROW;
void slagtm( const char* trans, const MKL_INT* n, const MKL_INT* nrhs,
             const float* alpha, const float* dl, const float* d,
             const float* du, const float* x, const MKL_INT* ldx,
             const float* beta, float* b, const MKL_INT* ldb ) NOTHROW;
void slagtm_( const char* trans, const MKL_INT* n, const MKL_INT* nrhs,
              const float* alpha, const float* dl, const float* d,
              const float* du, const float* x, const MKL_INT* ldx,
              const float* beta, float* b, const MKL_INT* ldb ) NOTHROW;

void SLAGTS( const MKL_INT* job, const MKL_INT* n, const float* a,
             const float* b, const float* c, const float* d, const MKL_INT* in,
             float* y, float* tol, MKL_INT* info ) NOTHROW;
void SLAGTS_( const MKL_INT* job, const MKL_INT* n, const float* a,
              const float* b, const float* c, const float* d,
              const MKL_INT* in, float* y, float* tol, MKL_INT* info ) NOTHROW;
void slagts( const MKL_INT* job, const MKL_INT* n, const float* a,
             const float* b, const float* c, const float* d, const MKL_INT* in,
             float* y, float* tol, MKL_INT* info ) NOTHROW;
void slagts_( const MKL_INT* job, const MKL_INT* n, const float* a,
              const float* b, const float* c, const float* d,
              const MKL_INT* in, float* y, float* tol, MKL_INT* info ) NOTHROW;

void SLAGV2( float* a, const MKL_INT* lda, float* b, const MKL_INT* ldb,
             float* alphar, float* alphai, float* beta, float* csl, float* snl,
             float* csr, float* snr ) NOTHROW;
void SLAGV2_( float* a, const MKL_INT* lda, float* b, const MKL_INT* ldb,
              float* alphar, float* alphai, float* beta, float* csl,
              float* snl, float* csr, float* snr ) NOTHROW;
void slagv2( float* a, const MKL_INT* lda, float* b, const MKL_INT* ldb,
             float* alphar, float* alphai, float* beta, float* csl, float* snl,
             float* csr, float* snr ) NOTHROW;
void slagv2_( float* a, const MKL_INT* lda, float* b, const MKL_INT* ldb,
              float* alphar, float* alphai, float* beta, float* csl,
              float* snl, float* csr, float* snr ) NOTHROW;

void SLAHQR( const MKL_INT* wantt, const MKL_INT* wantz, const MKL_INT* n,
             const MKL_INT* ilo, const MKL_INT* ihi, float* h,
             const MKL_INT* ldh, float* wr, float* wi, const MKL_INT* iloz,
             const MKL_INT* ihiz, float* z, const MKL_INT* ldz,
             MKL_INT* info ) NOTHROW;
void SLAHQR_( const MKL_INT* wantt, const MKL_INT* wantz, const MKL_INT* n,
              const MKL_INT* ilo, const MKL_INT* ihi, float* h,
              const MKL_INT* ldh, float* wr, float* wi, const MKL_INT* iloz,
              const MKL_INT* ihiz, float* z, const MKL_INT* ldz,
              MKL_INT* info ) NOTHROW;
void slahqr( const MKL_INT* wantt, const MKL_INT* wantz, const MKL_INT* n,
             const MKL_INT* ilo, const MKL_INT* ihi, float* h,
             const MKL_INT* ldh, float* wr, float* wi, const MKL_INT* iloz,
             const MKL_INT* ihiz, float* z, const MKL_INT* ldz,
             MKL_INT* info ) NOTHROW;
void slahqr_( const MKL_INT* wantt, const MKL_INT* wantz, const MKL_INT* n,
              const MKL_INT* ilo, const MKL_INT* ihi, float* h,
              const MKL_INT* ldh, float* wr, float* wi, const MKL_INT* iloz,
              const MKL_INT* ihiz, float* z, const MKL_INT* ldz,
              MKL_INT* info ) NOTHROW;

void SLAHR2( const MKL_INT* n, const MKL_INT* k, const MKL_INT* nb, float* a,
             const MKL_INT* lda, float* tau, float* t, const MKL_INT* ldt,
             float* y, const MKL_INT* ldy ) NOTHROW;
void SLAHR2_( const MKL_INT* n, const MKL_INT* k, const MKL_INT* nb, float* a,
              const MKL_INT* lda, float* tau, float* t, const MKL_INT* ldt,
              float* y, const MKL_INT* ldy ) NOTHROW;
void slahr2( const MKL_INT* n, const MKL_INT* k, const MKL_INT* nb, float* a,
             const MKL_INT* lda, float* tau, float* t, const MKL_INT* ldt,
             float* y, const MKL_INT* ldy ) NOTHROW;
void slahr2_( const MKL_INT* n, const MKL_INT* k, const MKL_INT* nb, float* a,
              const MKL_INT* lda, float* tau, float* t, const MKL_INT* ldt,
              float* y, const MKL_INT* ldy ) NOTHROW;

void SLAHRD( const MKL_INT* n, const MKL_INT* k, const MKL_INT* nb, float* a,
             const MKL_INT* lda, float* tau, float* t, const MKL_INT* ldt,
             float* y, const MKL_INT* ldy ) NOTHROW;
void SLAHRD_( const MKL_INT* n, const MKL_INT* k, const MKL_INT* nb, float* a,
              const MKL_INT* lda, float* tau, float* t, const MKL_INT* ldt,
              float* y, const MKL_INT* ldy ) NOTHROW;
void slahrd( const MKL_INT* n, const MKL_INT* k, const MKL_INT* nb, float* a,
             const MKL_INT* lda, float* tau, float* t, const MKL_INT* ldt,
             float* y, const MKL_INT* ldy ) NOTHROW;
void slahrd_( const MKL_INT* n, const MKL_INT* k, const MKL_INT* nb, float* a,
              const MKL_INT* lda, float* tau, float* t, const MKL_INT* ldt,
              float* y, const MKL_INT* ldy ) NOTHROW;

void SLAIC1( const MKL_INT* job, const MKL_INT* j, const float* x,
             const float* sest, const float* w, const float* gamma,
             float* sestpr, float* s, float* c ) NOTHROW;
void SLAIC1_( const MKL_INT* job, const MKL_INT* j, const float* x,
              const float* sest, const float* w, const float* gamma,
              float* sestpr, float* s, float* c ) NOTHROW;
void slaic1( const MKL_INT* job, const MKL_INT* j, const float* x,
             const float* sest, const float* w, const float* gamma,
             float* sestpr, float* s, float* c ) NOTHROW;
void slaic1_( const MKL_INT* job, const MKL_INT* j, const float* x,
              const float* sest, const float* w, const float* gamma,
              float* sestpr, float* s, float* c ) NOTHROW;

MKL_INT SLAISNAN( const float* sin1, const float* sin2 ) NOTHROW;
MKL_INT SLAISNAN_( const float* sin1, const float* sin2 ) NOTHROW;
MKL_INT slaisnan( const float* sin1, const float* sin2 ) NOTHROW;
MKL_INT slaisnan_( const float* sin1, const float* sin2 ) NOTHROW;

void SLALN2( const MKL_INT* ltrans, const MKL_INT* na, const MKL_INT* nw,
             const float* smin, const float* ca, const float* a,
             const MKL_INT* lda, const float* d1, const float* d2,
             const float* b, const MKL_INT* ldb, const float* wr,
             const float* wi, float* x, const MKL_INT* ldx, float* scale,
             float* xnorm, MKL_INT* info ) NOTHROW;
void SLALN2_( const MKL_INT* ltrans, const MKL_INT* na, const MKL_INT* nw,
              const float* smin, const float* ca, const float* a,
              const MKL_INT* lda, const float* d1, const float* d2,
              const float* b, const MKL_INT* ldb, const float* wr,
              const float* wi, float* x, const MKL_INT* ldx, float* scale,
              float* xnorm, MKL_INT* info ) NOTHROW;
void slaln2( const MKL_INT* ltrans, const MKL_INT* na, const MKL_INT* nw,
             const float* smin, const float* ca, const float* a,
             const MKL_INT* lda, const float* d1, const float* d2,
             const float* b, const MKL_INT* ldb, const float* wr,
             const float* wi, float* x, const MKL_INT* ldx, float* scale,
             float* xnorm, MKL_INT* info ) NOTHROW;
void slaln2_( const MKL_INT* ltrans, const MKL_INT* na, const MKL_INT* nw,
              const float* smin, const float* ca, const float* a,
              const MKL_INT* lda, const float* d1, const float* d2,
              const float* b, const MKL_INT* ldb, const float* wr,
              const float* wi, float* x, const MKL_INT* ldx, float* scale,
              float* xnorm, MKL_INT* info ) NOTHROW;

void SLALS0( const MKL_INT* icompq, const MKL_INT* nl, const MKL_INT* nr,
             const MKL_INT* sqre, const MKL_INT* nrhs, float* b,
             const MKL_INT* ldb, float* bx, const MKL_INT* ldbx,
             const MKL_INT* perm, const MKL_INT* givptr, const MKL_INT* givcol,
             const MKL_INT* ldgcol, const float* givnum, const MKL_INT* ldgnum,
             const float* poles, const float* difl, const float* difr,
             const float* z, const MKL_INT* k, const float* c, const float* s,
             float* work, MKL_INT* info ) NOTHROW;
void SLALS0_( const MKL_INT* icompq, const MKL_INT* nl, const MKL_INT* nr,
              const MKL_INT* sqre, const MKL_INT* nrhs, float* b,
              const MKL_INT* ldb, float* bx, const MKL_INT* ldbx,
              const MKL_INT* perm, const MKL_INT* givptr,
              const MKL_INT* givcol, const MKL_INT* ldgcol,
              const float* givnum, const MKL_INT* ldgnum, const float* poles,
              const float* difl, const float* difr, const float* z,
              const MKL_INT* k, const float* c, const float* s, float* work,
              MKL_INT* info ) NOTHROW;
void slals0( const MKL_INT* icompq, const MKL_INT* nl, const MKL_INT* nr,
             const MKL_INT* sqre, const MKL_INT* nrhs, float* b,
             const MKL_INT* ldb, float* bx, const MKL_INT* ldbx,
             const MKL_INT* perm, const MKL_INT* givptr, const MKL_INT* givcol,
             const MKL_INT* ldgcol, const float* givnum, const MKL_INT* ldgnum,
             const float* poles, const float* difl, const float* difr,
             const float* z, const MKL_INT* k, const float* c, const float* s,
             float* work, MKL_INT* info ) NOTHROW;
void slals0_( const MKL_INT* icompq, const MKL_INT* nl, const MKL_INT* nr,
              const MKL_INT* sqre, const MKL_INT* nrhs, float* b,
              const MKL_INT* ldb, float* bx, const MKL_INT* ldbx,
              const MKL_INT* perm, const MKL_INT* givptr,
              const MKL_INT* givcol, const MKL_INT* ldgcol,
              const float* givnum, const MKL_INT* ldgnum, const float* poles,
              const float* difl, const float* difr, const float* z,
              const MKL_INT* k, const float* c, const float* s, float* work,
              MKL_INT* info ) NOTHROW;

void SLALSA( const MKL_INT* icompq, const MKL_INT* smlsiz, const MKL_INT* n,
             const MKL_INT* nrhs, float* b, const MKL_INT* ldb, float* bx,
             const MKL_INT* ldbx, const float* u, const MKL_INT* ldu,
             const float* vt, const MKL_INT* k, const float* difl,
             const float* difr, const float* z, const float* poles,
             const MKL_INT* givptr, const MKL_INT* givcol,
             const MKL_INT* ldgcol, const MKL_INT* perm, const float* givnum,
             const float* c, const float* s, float* work, MKL_INT* iwork,
             MKL_INT* info ) NOTHROW;
void SLALSA_( const MKL_INT* icompq, const MKL_INT* smlsiz, const MKL_INT* n,
              const MKL_INT* nrhs, float* b, const MKL_INT* ldb, float* bx,
              const MKL_INT* ldbx, const float* u, const MKL_INT* ldu,
              const float* vt, const MKL_INT* k, const float* difl,
              const float* difr, const float* z, const float* poles,
              const MKL_INT* givptr, const MKL_INT* givcol,
              const MKL_INT* ldgcol, const MKL_INT* perm, const float* givnum,
              const float* c, const float* s, float* work, MKL_INT* iwork,
              MKL_INT* info ) NOTHROW;
void slalsa( const MKL_INT* icompq, const MKL_INT* smlsiz, const MKL_INT* n,
             const MKL_INT* nrhs, float* b, const MKL_INT* ldb, float* bx,
             const MKL_INT* ldbx, const float* u, const MKL_INT* ldu,
             const float* vt, const MKL_INT* k, const float* difl,
             const float* difr, const float* z, const float* poles,
             const MKL_INT* givptr, const MKL_INT* givcol,
             const MKL_INT* ldgcol, const MKL_INT* perm, const float* givnum,
             const float* c, const float* s, float* work, MKL_INT* iwork,
             MKL_INT* info ) NOTHROW;
void slalsa_( const MKL_INT* icompq, const MKL_INT* smlsiz, const MKL_INT* n,
              const MKL_INT* nrhs, float* b, const MKL_INT* ldb, float* bx,
              const MKL_INT* ldbx, const float* u, const MKL_INT* ldu,
              const float* vt, const MKL_INT* k, const float* difl,
              const float* difr, const float* z, const float* poles,
              const MKL_INT* givptr, const MKL_INT* givcol,
              const MKL_INT* ldgcol, const MKL_INT* perm, const float* givnum,
              const float* c, const float* s, float* work, MKL_INT* iwork,
              MKL_INT* info ) NOTHROW;

void SLALSD( const char* uplo, const MKL_INT* smlsiz, const MKL_INT* n,
             const MKL_INT* nrhs, float* d, float* e, float* b,
             const MKL_INT* ldb, const float* rcond, MKL_INT* rank,
             float* work, MKL_INT* iwork, MKL_INT* info ) NOTHROW;
void SLALSD_( const char* uplo, const MKL_INT* smlsiz, const MKL_INT* n,
              const MKL_INT* nrhs, float* d, float* e, float* b,
              const MKL_INT* ldb, const float* rcond, MKL_INT* rank,
              float* work, MKL_INT* iwork, MKL_INT* info ) NOTHROW;
void slalsd( const char* uplo, const MKL_INT* smlsiz, const MKL_INT* n,
             const MKL_INT* nrhs, float* d, float* e, float* b,
             const MKL_INT* ldb, const float* rcond, MKL_INT* rank,
             float* work, MKL_INT* iwork, MKL_INT* info ) NOTHROW;
void slalsd_( const char* uplo, const MKL_INT* smlsiz, const MKL_INT* n,
              const MKL_INT* nrhs, float* d, float* e, float* b,
              const MKL_INT* ldb, const float* rcond, MKL_INT* rank,
              float* work, MKL_INT* iwork, MKL_INT* info ) NOTHROW;

float SLAMCH( const char* cmach ) NOTHROW;
float SLAMCH_( const char* cmach ) NOTHROW;
float slamch( const char* cmach ) NOTHROW;
float slamch_( const char* cmach ) NOTHROW;

void SLAMC1( MKL_INT* beta, MKL_INT* t, MKL_INT* rnd, MKL_INT* ieee1 ) NOTHROW;
void SLAMC1_( MKL_INT* beta, MKL_INT* t, MKL_INT* rnd, MKL_INT* ieee1 ) NOTHROW;
void slamc1( MKL_INT* beta, MKL_INT* t, MKL_INT* rnd, MKL_INT* ieee1 ) NOTHROW;
void slamc1_( MKL_INT* beta, MKL_INT* t, MKL_INT* rnd, MKL_INT* ieee1 ) NOTHROW;

void SLAMC2( MKL_INT* beta, MKL_INT* t, MKL_INT* rnd, float* eps,
             MKL_INT* emin, float* rmin, MKL_INT* emax, float* rmax ) NOTHROW;
void SLAMC2_( MKL_INT* beta, MKL_INT* t, MKL_INT* rnd, float* eps,
              MKL_INT* emin, float* rmin, MKL_INT* emax, float* rmax ) NOTHROW;
void slamc2( MKL_INT* beta, MKL_INT* t, MKL_INT* rnd, float* eps,
             MKL_INT* emin, float* rmin, MKL_INT* emax, float* rmax ) NOTHROW;
void slamc2_( MKL_INT* beta, MKL_INT* t, MKL_INT* rnd, float* eps,
              MKL_INT* emin, float* rmin, MKL_INT* emax, float* rmax ) NOTHROW;

float SLAMC3( const float* a, const float* b ) NOTHROW;
float SLAMC3_( const float* a, const float* b ) NOTHROW;
float slamc3( const float* a, const float* b ) NOTHROW;
float slamc3_( const float* a, const float* b ) NOTHROW;

void SLAMC4( MKL_INT* emin, const float* start, const MKL_INT* base ) NOTHROW;
void SLAMC4_( MKL_INT* emin, const float* start, const MKL_INT* base ) NOTHROW;
void slamc4( MKL_INT* emin, const float* start, const MKL_INT* base ) NOTHROW;
void slamc4_( MKL_INT* emin, const float* start, const MKL_INT* base ) NOTHROW;

void SLAMC5( const MKL_INT* beta, const MKL_INT* p, const MKL_INT* emin,
             const MKL_INT* ieee, MKL_INT* emax, float* rmax ) NOTHROW;
void SLAMC5_( const MKL_INT* beta, const MKL_INT* p, const MKL_INT* emin,
              const MKL_INT* ieee, MKL_INT* emax, float* rmax ) NOTHROW;
void slamc5( const MKL_INT* beta, const MKL_INT* p, const MKL_INT* emin,
             const MKL_INT* ieee, MKL_INT* emax, float* rmax ) NOTHROW;
void slamc5_( const MKL_INT* beta, const MKL_INT* p, const MKL_INT* emin,
              const MKL_INT* ieee, MKL_INT* emax, float* rmax ) NOTHROW;

void SLAMRG( const MKL_INT* n1, const MKL_INT* n2, const float* a,
             const MKL_INT* strd1, const MKL_INT* strd2, MKL_INT* index ) NOTHROW;
void SLAMRG_( const MKL_INT* n1, const MKL_INT* n2, const float* a,
              const MKL_INT* strd1, const MKL_INT* strd2, MKL_INT* index ) NOTHROW;
void slamrg( const MKL_INT* n1, const MKL_INT* n2, const float* a,
             const MKL_INT* strd1, const MKL_INT* strd2, MKL_INT* index ) NOTHROW;
void slamrg_( const MKL_INT* n1, const MKL_INT* n2, const float* a,
              const MKL_INT* strd1, const MKL_INT* strd2, MKL_INT* index ) NOTHROW;

MKL_INT SLANEG( const MKL_INT* n, const float* d, const float* lld,
                const float* sigma, const float* pivmin, const MKL_INT* r ) NOTHROW;
MKL_INT SLANEG_( const MKL_INT* n, const float* d, const float* lld,
                 const float* sigma, const float* pivmin, const MKL_INT* r ) NOTHROW;
MKL_INT slaneg( const MKL_INT* n, const float* d, const float* lld,
                const float* sigma, const float* pivmin, const MKL_INT* r ) NOTHROW;
MKL_INT slaneg_( const MKL_INT* n, const float* d, const float* lld,
                 const float* sigma, const float* pivmin, const MKL_INT* r ) NOTHROW;

float SLANGB( const char* norm, const MKL_INT* n, const MKL_INT* kl,
              const MKL_INT* ku, const float* ab, const MKL_INT* ldab,
              float* work ) NOTHROW;
float SLANGB_( const char* norm, const MKL_INT* n, const MKL_INT* kl,
               const MKL_INT* ku, const float* ab, const MKL_INT* ldab,
               float* work ) NOTHROW;
float slangb( const char* norm, const MKL_INT* n, const MKL_INT* kl,
              const MKL_INT* ku, const float* ab, const MKL_INT* ldab,
              float* work ) NOTHROW;
float slangb_( const char* norm, const MKL_INT* n, const MKL_INT* kl,
               const MKL_INT* ku, const float* ab, const MKL_INT* ldab,
               float* work ) NOTHROW;

float SLANGE( const char* norm, const MKL_INT* m, const MKL_INT* n,
              const float* a, const MKL_INT* lda, float* work ) NOTHROW;
float SLANGE_( const char* norm, const MKL_INT* m, const MKL_INT* n,
               const float* a, const MKL_INT* lda, float* work ) NOTHROW;
float slange( const char* norm, const MKL_INT* m, const MKL_INT* n,
              const float* a, const MKL_INT* lda, float* work ) NOTHROW;
float slange_( const char* norm, const MKL_INT* m, const MKL_INT* n,
               const float* a, const MKL_INT* lda, float* work ) NOTHROW;

float SLANGT( const char* norm, const MKL_INT* n, const float* dl,
              const float* d, const float* du ) NOTHROW;
float SLANGT_( const char* norm, const MKL_INT* n, const float* dl,
               const float* d, const float* du ) NOTHROW;
float slangt( const char* norm, const MKL_INT* n, const float* dl,
              const float* d, const float* du ) NOTHROW;
float slangt_( const char* norm, const MKL_INT* n, const float* dl,
               const float* d, const float* du ) NOTHROW;

float SLANHS( const char* norm, const MKL_INT* n, const float* a,
              const MKL_INT* lda, float* work ) NOTHROW;
float SLANHS_( const char* norm, const MKL_INT* n, const float* a,
               const MKL_INT* lda, float* work ) NOTHROW;
float slanhs( const char* norm, const MKL_INT* n, const float* a,
              const MKL_INT* lda, float* work ) NOTHROW;
float slanhs_( const char* norm, const MKL_INT* n, const float* a,
               const MKL_INT* lda, float* work ) NOTHROW;

float SLANSB( const char* norm, const char* uplo, const MKL_INT* n,
              const MKL_INT* k, const float* ab, const MKL_INT* ldab,
              float* work ) NOTHROW;
float SLANSB_( const char* norm, const char* uplo, const MKL_INT* n,
               const MKL_INT* k, const float* ab, const MKL_INT* ldab,
               float* work ) NOTHROW;
float slansb( const char* norm, const char* uplo, const MKL_INT* n,
              const MKL_INT* k, const float* ab, const MKL_INT* ldab,
              float* work ) NOTHROW;
float slansb_( const char* norm, const char* uplo, const MKL_INT* n,
               const MKL_INT* k, const float* ab, const MKL_INT* ldab,
               float* work ) NOTHROW;

float SLANSF( const char* norm, const char* transr, const char* uplo,
              const MKL_INT* n, const float* a, float* work ) NOTHROW;
float SLANSF_( const char* norm, const char* transr, const char* uplo,
               const MKL_INT* n, const float* a, float* work ) NOTHROW;
float slansf( const char* norm, const char* transr, const char* uplo,
              const MKL_INT* n, const float* a, float* work ) NOTHROW;
float slansf_( const char* norm, const char* transr, const char* uplo,
               const MKL_INT* n, const float* a, float* work ) NOTHROW;

float SLANSP( const char* norm, const char* uplo, const MKL_INT* n,
              const float* ap, float* work ) NOTHROW;
float SLANSP_( const char* norm, const char* uplo, const MKL_INT* n,
               const float* ap, float* work ) NOTHROW;
float slansp( const char* norm, const char* uplo, const MKL_INT* n,
              const float* ap, float* work ) NOTHROW;
float slansp_( const char* norm, const char* uplo, const MKL_INT* n,
               const float* ap, float* work ) NOTHROW;

float SLANST( const char* norm, const MKL_INT* n, const float* d,
              const float* e ) NOTHROW;
float SLANST_( const char* norm, const MKL_INT* n, const float* d,
               const float* e ) NOTHROW;
float slanst( const char* norm, const MKL_INT* n, const float* d,
              const float* e ) NOTHROW;
float slanst_( const char* norm, const MKL_INT* n, const float* d,
               const float* e ) NOTHROW;

float SLANSY( const char* norm, const char* uplo, const MKL_INT* n,
              const float* a, const MKL_INT* lda, float* work ) NOTHROW;
float SLANSY_( const char* norm, const char* uplo, const MKL_INT* n,
               const float* a, const MKL_INT* lda, float* work ) NOTHROW;
float slansy( const char* norm, const char* uplo, const MKL_INT* n,
              const float* a, const MKL_INT* lda, float* work ) NOTHROW;
float slansy_( const char* norm, const char* uplo, const MKL_INT* n,
               const float* a, const MKL_INT* lda, float* work ) NOTHROW;

float SLANTB( const char* norm, const char* uplo, const char* diag,
              const MKL_INT* n, const MKL_INT* k, const float* ab,
              const MKL_INT* ldab, float* work ) NOTHROW;
float SLANTB_( const char* norm, const char* uplo, const char* diag,
               const MKL_INT* n, const MKL_INT* k, const float* ab,
               const MKL_INT* ldab, float* work ) NOTHROW;
float slantb( const char* norm, const char* uplo, const char* diag,
              const MKL_INT* n, const MKL_INT* k, const float* ab,
              const MKL_INT* ldab, float* work ) NOTHROW;
float slantb_( const char* norm, const char* uplo, const char* diag,
               const MKL_INT* n, const MKL_INT* k, const float* ab,
               const MKL_INT* ldab, float* work ) NOTHROW;

float SLANTP( const char* norm, const char* uplo, const char* diag,
              const MKL_INT* n, const float* ap, float* work ) NOTHROW;
float SLANTP_( const char* norm, const char* uplo, const char* diag,
               const MKL_INT* n, const float* ap, float* work ) NOTHROW;
float slantp( const char* norm, const char* uplo, const char* diag,
              const MKL_INT* n, const float* ap, float* work ) NOTHROW;
float slantp_( const char* norm, const char* uplo, const char* diag,
               const MKL_INT* n, const float* ap, float* work ) NOTHROW;

float SLANTR( const char* norm, const char* uplo, const char* diag,
              const MKL_INT* m, const MKL_INT* n, const float* a,
              const MKL_INT* lda, float* work ) NOTHROW;
float SLANTR_( const char* norm, const char* uplo, const char* diag,
               const MKL_INT* m, const MKL_INT* n, const float* a,
               const MKL_INT* lda, float* work ) NOTHROW;
float slantr( const char* norm, const char* uplo, const char* diag,
              const MKL_INT* m, const MKL_INT* n, const float* a,
              const MKL_INT* lda, float* work ) NOTHROW;
float slantr_( const char* norm, const char* uplo, const char* diag,
               const MKL_INT* m, const MKL_INT* n, const float* a,
               const MKL_INT* lda, float* work ) NOTHROW;

void SLANV2( float* a, float* b, float* c, float* d, float* rt1r, float* rt1i,
             float* rt2r, float* rt2i, float* cs, float* sn ) NOTHROW;
void SLANV2_( float* a, float* b, float* c, float* d, float* rt1r, float* rt1i,
              float* rt2r, float* rt2i, float* cs, float* sn ) NOTHROW;
void slanv2( float* a, float* b, float* c, float* d, float* rt1r, float* rt1i,
             float* rt2r, float* rt2i, float* cs, float* sn ) NOTHROW;
void slanv2_( float* a, float* b, float* c, float* d, float* rt1r, float* rt1i,
              float* rt2r, float* rt2i, float* cs, float* sn ) NOTHROW;

void SLAPLL( const MKL_INT* n, float* x, const MKL_INT* incx, float* y,
             const MKL_INT* incy, float* ssmin ) NOTHROW;
void SLAPLL_( const MKL_INT* n, float* x, const MKL_INT* incx, float* y,
              const MKL_INT* incy, float* ssmin ) NOTHROW;
void slapll( const MKL_INT* n, float* x, const MKL_INT* incx, float* y,
             const MKL_INT* incy, float* ssmin ) NOTHROW;
void slapll_( const MKL_INT* n, float* x, const MKL_INT* incx, float* y,
              const MKL_INT* incy, float* ssmin ) NOTHROW;

void SLAPMT( const MKL_INT* forwrd, const MKL_INT* m, const MKL_INT* n,
             float* x, const MKL_INT* ldx, MKL_INT* k ) NOTHROW;
void SLAPMT_( const MKL_INT* forwrd, const MKL_INT* m, const MKL_INT* n,
              float* x, const MKL_INT* ldx, MKL_INT* k ) NOTHROW;
void slapmt( const MKL_INT* forwrd, const MKL_INT* m, const MKL_INT* n,
             float* x, const MKL_INT* ldx, MKL_INT* k ) NOTHROW;
void slapmt_( const MKL_INT* forwrd, const MKL_INT* m, const MKL_INT* n,
              float* x, const MKL_INT* ldx, MKL_INT* k ) NOTHROW;

float SLAPY2( const float* x, const float* y ) NOTHROW;
float SLAPY2_( const float* x, const float* y ) NOTHROW;
float slapy2( const float* x, const float* y ) NOTHROW;
float slapy2_( const float* x, const float* y ) NOTHROW;

float SLAPY3( const float* x, const float* y, const float* z ) NOTHROW;
float SLAPY3_( const float* x, const float* y, const float* z ) NOTHROW;
float slapy3( const float* x, const float* y, const float* z ) NOTHROW;
float slapy3_( const float* x, const float* y, const float* z ) NOTHROW;

void SLAQGB( const MKL_INT* m, const MKL_INT* n, const MKL_INT* kl,
             const MKL_INT* ku, float* ab, const MKL_INT* ldab, const float* r,
             const float* c, const float* rowcnd, const float* colcnd,
             const float* amax, char* equed ) NOTHROW;
void SLAQGB_( const MKL_INT* m, const MKL_INT* n, const MKL_INT* kl,
              const MKL_INT* ku, float* ab, const MKL_INT* ldab,
              const float* r, const float* c, const float* rowcnd,
              const float* colcnd, const float* amax, char* equed ) NOTHROW;
void slaqgb( const MKL_INT* m, const MKL_INT* n, const MKL_INT* kl,
             const MKL_INT* ku, float* ab, const MKL_INT* ldab, const float* r,
             const float* c, const float* rowcnd, const float* colcnd,
             const float* amax, char* equed ) NOTHROW;
void slaqgb_( const MKL_INT* m, const MKL_INT* n, const MKL_INT* kl,
              const MKL_INT* ku, float* ab, const MKL_INT* ldab,
              const float* r, const float* c, const float* rowcnd,
              const float* colcnd, const float* amax, char* equed ) NOTHROW;

void SLAQGE( const MKL_INT* m, const MKL_INT* n, float* a, const MKL_INT* lda,
             const float* r, const float* c, const float* rowcnd,
             const float* colcnd, const float* amax, char* equed ) NOTHROW;
void SLAQGE_( const MKL_INT* m, const MKL_INT* n, float* a, const MKL_INT* lda,
              const float* r, const float* c, const float* rowcnd,
              const float* colcnd, const float* amax, char* equed ) NOTHROW;
void slaqge( const MKL_INT* m, const MKL_INT* n, float* a, const MKL_INT* lda,
             const float* r, const float* c, const float* rowcnd,
             const float* colcnd, const float* amax, char* equed ) NOTHROW;
void slaqge_( const MKL_INT* m, const MKL_INT* n, float* a, const MKL_INT* lda,
              const float* r, const float* c, const float* rowcnd,
              const float* colcnd, const float* amax, char* equed ) NOTHROW;

void SLAQP2( const MKL_INT* m, const MKL_INT* n, const MKL_INT* offset,
             float* a, const MKL_INT* lda, MKL_INT* jpvt, float* tau,
             float* vn1, float* vn2, float* work ) NOTHROW;
void SLAQP2_( const MKL_INT* m, const MKL_INT* n, const MKL_INT* offset,
              float* a, const MKL_INT* lda, MKL_INT* jpvt, float* tau,
              float* vn1, float* vn2, float* work ) NOTHROW;
void slaqp2( const MKL_INT* m, const MKL_INT* n, const MKL_INT* offset,
             float* a, const MKL_INT* lda, MKL_INT* jpvt, float* tau,
             float* vn1, float* vn2, float* work ) NOTHROW;
void slaqp2_( const MKL_INT* m, const MKL_INT* n, const MKL_INT* offset,
              float* a, const MKL_INT* lda, MKL_INT* jpvt, float* tau,
              float* vn1, float* vn2, float* work ) NOTHROW;

void SLAQPS( const MKL_INT* m, const MKL_INT* n, const MKL_INT* offset,
             const MKL_INT* nb, MKL_INT* kb, float* a, const MKL_INT* lda,
             MKL_INT* jpvt, float* tau, float* vn1, float* vn2, float* auxv,
             float* f, const MKL_INT* ldf ) NOTHROW;
void SLAQPS_( const MKL_INT* m, const MKL_INT* n, const MKL_INT* offset,
              const MKL_INT* nb, MKL_INT* kb, float* a, const MKL_INT* lda,
              MKL_INT* jpvt, float* tau, float* vn1, float* vn2, float* auxv,
              float* f, const MKL_INT* ldf ) NOTHROW;
void slaqps( const MKL_INT* m, const MKL_INT* n, const MKL_INT* offset,
             const MKL_INT* nb, MKL_INT* kb, float* a, const MKL_INT* lda,
             MKL_INT* jpvt, float* tau, float* vn1, float* vn2, float* auxv,
             float* f, const MKL_INT* ldf ) NOTHROW;
void slaqps_( const MKL_INT* m, const MKL_INT* n, const MKL_INT* offset,
              const MKL_INT* nb, MKL_INT* kb, float* a, const MKL_INT* lda,
              MKL_INT* jpvt, float* tau, float* vn1, float* vn2, float* auxv,
              float* f, const MKL_INT* ldf ) NOTHROW;

void SLAQR0( const MKL_INT* wantt, const MKL_INT* wantz, const MKL_INT* n,
             const MKL_INT* ilo, const MKL_INT* ihi, float* h,
             const MKL_INT* ldh, float* wr, float* wi, const MKL_INT* iloz,
             const MKL_INT* ihiz, float* z, const MKL_INT* ldz, float* work,
             const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void SLAQR0_( const MKL_INT* wantt, const MKL_INT* wantz, const MKL_INT* n,
              const MKL_INT* ilo, const MKL_INT* ihi, float* h,
              const MKL_INT* ldh, float* wr, float* wi, const MKL_INT* iloz,
              const MKL_INT* ihiz, float* z, const MKL_INT* ldz, float* work,
              const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void slaqr0( const MKL_INT* wantt, const MKL_INT* wantz, const MKL_INT* n,
             const MKL_INT* ilo, const MKL_INT* ihi, float* h,
             const MKL_INT* ldh, float* wr, float* wi, const MKL_INT* iloz,
             const MKL_INT* ihiz, float* z, const MKL_INT* ldz, float* work,
             const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void slaqr0_( const MKL_INT* wantt, const MKL_INT* wantz, const MKL_INT* n,
              const MKL_INT* ilo, const MKL_INT* ihi, float* h,
              const MKL_INT* ldh, float* wr, float* wi, const MKL_INT* iloz,
              const MKL_INT* ihiz, float* z, const MKL_INT* ldz, float* work,
              const MKL_INT* lwork, MKL_INT* info ) NOTHROW;

void SLAQR1( const MKL_INT* n, const float* h, const MKL_INT* ldh,
             const float* sr1, float* si1, float* sr2, float* si2, float* v ) NOTHROW;
void SLAQR1_( const MKL_INT* n, const float* h, const MKL_INT* ldh,
              const float* sr1, float* si1, float* sr2, float* si2, float* v ) NOTHROW;
void slaqr1( const MKL_INT* n, const float* h, const MKL_INT* ldh,
             const float* sr1, float* si1, float* sr2, float* si2, float* v ) NOTHROW;
void slaqr1_( const MKL_INT* n, const float* h, const MKL_INT* ldh,
              const float* sr1, float* si1, float* sr2, float* si2, float* v ) NOTHROW;

void SLAQR2( const MKL_INT* wantt, const MKL_INT* wantz, const MKL_INT* n,
             const MKL_INT* ktop, const MKL_INT* kbot, const MKL_INT* nw,
             float* h, const MKL_INT* ldh, const MKL_INT* iloz,
             const MKL_INT* ihiz, float* z, const MKL_INT* ldz, MKL_INT* ns,
             MKL_INT* nd, float* sr, float* si, float* v, const MKL_INT* ldv,
             const MKL_INT* nh, float* t, const MKL_INT* ldt,
             const MKL_INT* nv, float* wv, const MKL_INT* ldwv, float* work,
             const MKL_INT* lwork ) NOTHROW;
void SLAQR2_( const MKL_INT* wantt, const MKL_INT* wantz, const MKL_INT* n,
              const MKL_INT* ktop, const MKL_INT* kbot, const MKL_INT* nw,
              float* h, const MKL_INT* ldh, const MKL_INT* iloz,
              const MKL_INT* ihiz, float* z, const MKL_INT* ldz, MKL_INT* ns,
              MKL_INT* nd, float* sr, float* si, float* v, const MKL_INT* ldv,
              const MKL_INT* nh, float* t, const MKL_INT* ldt,
              const MKL_INT* nv, float* wv, const MKL_INT* ldwv, float* work,
              const MKL_INT* lwork ) NOTHROW;
void slaqr2( const MKL_INT* wantt, const MKL_INT* wantz, const MKL_INT* n,
             const MKL_INT* ktop, const MKL_INT* kbot, const MKL_INT* nw,
             float* h, const MKL_INT* ldh, const MKL_INT* iloz,
             const MKL_INT* ihiz, float* z, const MKL_INT* ldz, MKL_INT* ns,
             MKL_INT* nd, float* sr, float* si, float* v, const MKL_INT* ldv,
             const MKL_INT* nh, float* t, const MKL_INT* ldt,
             const MKL_INT* nv, float* wv, const MKL_INT* ldwv, float* work,
             const MKL_INT* lwork ) NOTHROW;
void slaqr2_( const MKL_INT* wantt, const MKL_INT* wantz, const MKL_INT* n,
              const MKL_INT* ktop, const MKL_INT* kbot, const MKL_INT* nw,
              float* h, const MKL_INT* ldh, const MKL_INT* iloz,
              const MKL_INT* ihiz, float* z, const MKL_INT* ldz, MKL_INT* ns,
              MKL_INT* nd, float* sr, float* si, float* v, const MKL_INT* ldv,
              const MKL_INT* nh, float* t, const MKL_INT* ldt,
              const MKL_INT* nv, float* wv, const MKL_INT* ldwv, float* work,
              const MKL_INT* lwork ) NOTHROW;

void SLAQR3( const MKL_INT* wantt, const MKL_INT* wantz, const MKL_INT* n,
             const MKL_INT* ktop, const MKL_INT* kbot, const MKL_INT* nw,
             float* h, const MKL_INT* ldh, const MKL_INT* iloz,
             const MKL_INT* ihiz, float* z, const MKL_INT* ldz, MKL_INT* ns,
             MKL_INT* nd, float* sr, float* si, float* v, const MKL_INT* ldv,
             const MKL_INT* nh, float* t, const MKL_INT* ldt,
             const MKL_INT* nv, float* wv, const MKL_INT* ldwv, float* work,
             const MKL_INT* lwork ) NOTHROW;
void SLAQR3_( const MKL_INT* wantt, const MKL_INT* wantz, const MKL_INT* n,
              const MKL_INT* ktop, const MKL_INT* kbot, const MKL_INT* nw,
              float* h, const MKL_INT* ldh, const MKL_INT* iloz,
              const MKL_INT* ihiz, float* z, const MKL_INT* ldz, MKL_INT* ns,
              MKL_INT* nd, float* sr, float* si, float* v, const MKL_INT* ldv,
              const MKL_INT* nh, float* t, const MKL_INT* ldt,
              const MKL_INT* nv, float* wv, const MKL_INT* ldwv, float* work,
              const MKL_INT* lwork ) NOTHROW;
void slaqr3( const MKL_INT* wantt, const MKL_INT* wantz, const MKL_INT* n,
             const MKL_INT* ktop, const MKL_INT* kbot, const MKL_INT* nw,
             float* h, const MKL_INT* ldh, const MKL_INT* iloz,
             const MKL_INT* ihiz, float* z, const MKL_INT* ldz, MKL_INT* ns,
             MKL_INT* nd, float* sr, float* si, float* v, const MKL_INT* ldv,
             const MKL_INT* nh, float* t, const MKL_INT* ldt,
             const MKL_INT* nv, float* wv, const MKL_INT* ldwv, float* work,
             const MKL_INT* lwork ) NOTHROW;
void slaqr3_( const MKL_INT* wantt, const MKL_INT* wantz, const MKL_INT* n,
              const MKL_INT* ktop, const MKL_INT* kbot, const MKL_INT* nw,
              float* h, const MKL_INT* ldh, const MKL_INT* iloz,
              const MKL_INT* ihiz, float* z, const MKL_INT* ldz, MKL_INT* ns,
              MKL_INT* nd, float* sr, float* si, float* v, const MKL_INT* ldv,
              const MKL_INT* nh, float* t, const MKL_INT* ldt,
              const MKL_INT* nv, float* wv, const MKL_INT* ldwv, float* work,
              const MKL_INT* lwork ) NOTHROW;

void SLAQR4( const MKL_INT* wantt, const MKL_INT* wantz, const MKL_INT* n,
             const MKL_INT* ilo, const MKL_INT* ihi, float* h,
             const MKL_INT* ldh, float* wr, float* wi, const MKL_INT* iloz,
             const MKL_INT* ihiz, float* z, const MKL_INT* ldz, float* work,
             const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void SLAQR4_( const MKL_INT* wantt, const MKL_INT* wantz, const MKL_INT* n,
              const MKL_INT* ilo, const MKL_INT* ihi, float* h,
              const MKL_INT* ldh, float* wr, float* wi, const MKL_INT* iloz,
              const MKL_INT* ihiz, float* z, const MKL_INT* ldz, float* work,
              const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void slaqr4( const MKL_INT* wantt, const MKL_INT* wantz, const MKL_INT* n,
             const MKL_INT* ilo, const MKL_INT* ihi, float* h,
             const MKL_INT* ldh, float* wr, float* wi, const MKL_INT* iloz,
             const MKL_INT* ihiz, float* z, const MKL_INT* ldz, float* work,
             const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void slaqr4_( const MKL_INT* wantt, const MKL_INT* wantz, const MKL_INT* n,
              const MKL_INT* ilo, const MKL_INT* ihi, float* h,
              const MKL_INT* ldh, float* wr, float* wi, const MKL_INT* iloz,
              const MKL_INT* ihiz, float* z, const MKL_INT* ldz, float* work,
              const MKL_INT* lwork, MKL_INT* info ) NOTHROW;

void SLAQR5( const MKL_INT* wantt, const MKL_INT* wantz, const MKL_INT* kacc22,
             const MKL_INT* n, const MKL_INT* ktop, const MKL_INT* kbot,
             const MKL_INT* nshfts, float* sr, float* si, float* h,
             const MKL_INT* ldh, const MKL_INT* iloz, const MKL_INT* ihiz,
             float* z, const MKL_INT* ldz, float* v, const MKL_INT* ldv,
             float* u, const MKL_INT* ldu, const MKL_INT* nv, float* wv,
             const MKL_INT* ldwv, const MKL_INT* nh, float* wh,
             const MKL_INT* ldwh ) NOTHROW;
void SLAQR5_( const MKL_INT* wantt, const MKL_INT* wantz,
              const MKL_INT* kacc22, const MKL_INT* n, const MKL_INT* ktop,
              const MKL_INT* kbot, const MKL_INT* nshfts, float* sr, float* si,
              float* h, const MKL_INT* ldh, const MKL_INT* iloz,
              const MKL_INT* ihiz, float* z, const MKL_INT* ldz, float* v,
              const MKL_INT* ldv, float* u, const MKL_INT* ldu,
              const MKL_INT* nv, float* wv, const MKL_INT* ldwv,
              const MKL_INT* nh, float* wh, const MKL_INT* ldwh ) NOTHROW;
void slaqr5( const MKL_INT* wantt, const MKL_INT* wantz, const MKL_INT* kacc22,
             const MKL_INT* n, const MKL_INT* ktop, const MKL_INT* kbot,
             const MKL_INT* nshfts, float* sr, float* si, float* h,
             const MKL_INT* ldh, const MKL_INT* iloz, const MKL_INT* ihiz,
             float* z, const MKL_INT* ldz, float* v, const MKL_INT* ldv,
             float* u, const MKL_INT* ldu, const MKL_INT* nv, float* wv,
             const MKL_INT* ldwv, const MKL_INT* nh, float* wh,
             const MKL_INT* ldwh ) NOTHROW;
void slaqr5_( const MKL_INT* wantt, const MKL_INT* wantz,
              const MKL_INT* kacc22, const MKL_INT* n, const MKL_INT* ktop,
              const MKL_INT* kbot, const MKL_INT* nshfts, float* sr, float* si,
              float* h, const MKL_INT* ldh, const MKL_INT* iloz,
              const MKL_INT* ihiz, float* z, const MKL_INT* ldz, float* v,
              const MKL_INT* ldv, float* u, const MKL_INT* ldu,
              const MKL_INT* nv, float* wv, const MKL_INT* ldwv,
              const MKL_INT* nh, float* wh, const MKL_INT* ldwh ) NOTHROW;

void SLAQSB( const char* uplo, const MKL_INT* n, const MKL_INT* kd, float* ab,
             const MKL_INT* ldab, const float* s, const float* scond,
             const float* amax, char* equed ) NOTHROW;
void SLAQSB_( const char* uplo, const MKL_INT* n, const MKL_INT* kd, float* ab,
              const MKL_INT* ldab, const float* s, const float* scond,
              const float* amax, char* equed ) NOTHROW;
void slaqsb( const char* uplo, const MKL_INT* n, const MKL_INT* kd, float* ab,
             const MKL_INT* ldab, const float* s, const float* scond,
             const float* amax, char* equed ) NOTHROW;
void slaqsb_( const char* uplo, const MKL_INT* n, const MKL_INT* kd, float* ab,
              const MKL_INT* ldab, const float* s, const float* scond,
              const float* amax, char* equed ) NOTHROW;

void SLAQSP( const char* uplo, const MKL_INT* n, float* ap, const float* s,
             const float* scond, const float* amax, char* equed ) NOTHROW;
void SLAQSP_( const char* uplo, const MKL_INT* n, float* ap, const float* s,
              const float* scond, const float* amax, char* equed ) NOTHROW;
void slaqsp( const char* uplo, const MKL_INT* n, float* ap, const float* s,
             const float* scond, const float* amax, char* equed ) NOTHROW;
void slaqsp_( const char* uplo, const MKL_INT* n, float* ap, const float* s,
              const float* scond, const float* amax, char* equed ) NOTHROW;

void SLAQSY( const char* uplo, const MKL_INT* n, float* a, const MKL_INT* lda,
             const float* s, const float* scond, const float* amax,
             char* equed ) NOTHROW;
void SLAQSY_( const char* uplo, const MKL_INT* n, float* a, const MKL_INT* lda,
              const float* s, const float* scond, const float* amax,
              char* equed ) NOTHROW;
void slaqsy( const char* uplo, const MKL_INT* n, float* a, const MKL_INT* lda,
             const float* s, const float* scond, const float* amax,
             char* equed ) NOTHROW;
void slaqsy_( const char* uplo, const MKL_INT* n, float* a, const MKL_INT* lda,
              const float* s, const float* scond, const float* amax,
              char* equed ) NOTHROW;

void SLAQTR( const MKL_INT* ltran, const MKL_INT* lreal, const MKL_INT* n,
             const float* t, const MKL_INT* ldt, const float* b,
             const float* w, float* scale, float* x, float* work,
             MKL_INT* info ) NOTHROW;
void SLAQTR_( const MKL_INT* ltran, const MKL_INT* lreal, const MKL_INT* n,
              const float* t, const MKL_INT* ldt, const float* b,
              const float* w, float* scale, float* x, float* work,
              MKL_INT* info ) NOTHROW;
void slaqtr( const MKL_INT* ltran, const MKL_INT* lreal, const MKL_INT* n,
             const float* t, const MKL_INT* ldt, const float* b,
             const float* w, float* scale, float* x, float* work,
             MKL_INT* info ) NOTHROW;
void slaqtr_( const MKL_INT* ltran, const MKL_INT* lreal, const MKL_INT* n,
              const float* t, const MKL_INT* ldt, const float* b,
              const float* w, float* scale, float* x, float* work,
              MKL_INT* info ) NOTHROW;

void SLAQZ0( const MKL_INT* wants, const MKL_INT* wantq, const MKL_INT* wantz, const MKL_INT* n,
             const MKL_INT* ilo, const MKL_INT* ihi, float* a, const MKL_INT* lda,
             float* b, const MKL_INT* ldb, float* alphar, float* alphai, float* beta,
             float* q, const MKL_INT* ldq, float* z, const MKL_INT* ldz,
             float* work, const MKL_INT* lwork, const MKL_INT* rec, MKL_INT* info) NOTHROW;
void SLAQZ0_( const MKL_INT* wants, const MKL_INT* wantq, const MKL_INT* wantz, const MKL_INT* n,
             const MKL_INT* ilo, const MKL_INT* ihi, float* a, const MKL_INT* lda,
             float* b, const MKL_INT* ldb, float* alphar, float* alphai, float* beta,
             float* q, const MKL_INT* ldq, float* z, const MKL_INT* ldz,
             float* work, const MKL_INT* lwork, const MKL_INT* rec, MKL_INT* info) NOTHROW;
void slaqz0( const MKL_INT* wants, const MKL_INT* wantq, const MKL_INT* wantz, const MKL_INT* n,
             const MKL_INT* ilo, const MKL_INT* ihi, float* a, const MKL_INT* lda,
             float* b, const MKL_INT* ldb, float* alphar, float* alphai, float* beta,
             float* q, const MKL_INT* ldq, float* z, const MKL_INT* ldz,
             float* work, const MKL_INT* lwork, const MKL_INT* rec, MKL_INT* info) NOTHROW;
void slaqz0_( const MKL_INT* wants, const MKL_INT* wantq, const MKL_INT* wantz, const MKL_INT* n,
             const MKL_INT* ilo, const MKL_INT* ihi, float* a, const MKL_INT* lda,
             float* b, const MKL_INT* ldb, float* alphar, float* alphai, float* beta,
             float* q, const MKL_INT* ldq, float* z, const MKL_INT* ldz,
             float* work, const MKL_INT* lwork, const MKL_INT* rec, MKL_INT* info) NOTHROW;

void SLAQZ1( float* a, const MKL_INT* lda, float* b, const MKL_INT* ldb,
             const float* sr1, const float* sr2, const float* si, const float* beta1,
             const float* beta2, float* v) NOTHROW;
void SLAQZ1_( float* a, const MKL_INT* lda, float* b, const MKL_INT* ldb,
             const float* sr1, const float* sr2, const float* si, const float* beta1,
             const float* beta2, float* v) NOTHROW;
void slaqz1( float* a, const MKL_INT* lda, float* b, const MKL_INT* ldb,
             const float* sr1, const float* sr2, const float* si, const float* beta1,
             const float* beta2, float* v) NOTHROW;
void slaqz1_( float* a, const MKL_INT* lda, float* b, const MKL_INT* ldb,
             const float* sr1, const float* sr2, const float* si, const float* beta1,
             const float* beta2, float* v) NOTHROW;

void SLAQZ2( const MKL_INT* ilq, const MKL_INT* ilz, const MKL_INT* k, const MKL_INT* istartm,
             const MKL_INT* istopm, const MKL_INT* ihi, float* a, const MKL_INT* lda,
             float* b, const MKL_INT* ldb,  const MKL_INT* nq, const MKL_INT* qstart,
             float* q, const MKL_INT* ldq, const MKL_INT* nz,  const MKL_INT* zstart,
             float* z, const MKL_INT* ldz) NOTHROW;
void SLAQZ2_( const MKL_INT* ilq, const MKL_INT* ilz, const MKL_INT* k, const MKL_INT* istartm,
             const MKL_INT* istopm, const MKL_INT* ihi, float* a, const MKL_INT* lda,
             float* b, const MKL_INT* ldb, const MKL_INT* nq, const MKL_INT* qstart,
             float* q, const MKL_INT* ldq, const MKL_INT* nz,  const MKL_INT* zstart,
             float* z, const MKL_INT* ldz) NOTHROW;
void slaqz2( const MKL_INT* ilq, const MKL_INT* ilz, const MKL_INT* k, const MKL_INT* istartm,
             const MKL_INT* istopm, const MKL_INT* ihi, float* a, const MKL_INT* lda,
             float* b, const MKL_INT* ldb, const MKL_INT* nq, const MKL_INT* qstart,
             float* q, const MKL_INT* ldq, const MKL_INT* nz,  const MKL_INT* zstart,
             float* z, const MKL_INT* ldz) NOTHROW;
void slaqz2_( const MKL_INT* ilq, const MKL_INT* ilz, const MKL_INT* k, const MKL_INT* istartm,
             const MKL_INT* istopm, const MKL_INT* ihi, float* a, const MKL_INT* lda,
             float* b, const MKL_INT* ldb, const MKL_INT* nq, const MKL_INT* qstart,
             float* q, const MKL_INT* ldq, const MKL_INT* nz,  const MKL_INT* zstart,
             float* z, const MKL_INT* ldz) NOTHROW;

void SLAQZ3( const MKL_INT* ilschur, const MKL_INT* ilq, const MKL_INT* ilz,
             const MKL_INT* n, const MKL_INT* ilo, const MKL_INT* ihi, const MKL_INT* nw,
             float* a, const MKL_INT* lda, float* b, const MKL_INT* ldb,
             float* q, const MKL_INT* ldq, float* z, const MKL_INT* ldz,
             MKL_INT* ns, MKL_INT* nd, float* alphar, float* alphai, float* beta,
             float* qc, const MKL_INT* ldqc, float* zc, const MKL_INT* ldzc,
             float* work, const MKL_INT* lwork, const MKL_INT* rec,
             MKL_INT* info) NOTHROW;
void SLAQZ3_( const MKL_INT* ilschur, const MKL_INT* ilq, const MKL_INT* ilz,
             const MKL_INT* n, const MKL_INT* ilo, const MKL_INT* ihi, const MKL_INT* nw,
             float* a, const MKL_INT* lda, float* b, const MKL_INT* ldb,
             float* q, const MKL_INT* ldq, float* z, const MKL_INT* ldz,
             MKL_INT* ns, MKL_INT* nd, float* alphar, float* alphai, float* beta,
             float* qc, const MKL_INT* ldqc, float* zc, const MKL_INT* ldzc,
             float* work, const MKL_INT* lwork, const MKL_INT* rec,
             MKL_INT* info) NOTHROW;
void slaqz3( const MKL_INT* ilschur, const MKL_INT* ilq, const MKL_INT* ilz,
             const MKL_INT* n, const MKL_INT* ilo, const MKL_INT* ihi, const MKL_INT* nw,
             float* a, const MKL_INT* lda, float* b, const MKL_INT* ldb,
             float* q, const MKL_INT* ldq, float* z, const MKL_INT* ldz,
             MKL_INT* ns, MKL_INT* nd, float* alphar, float* alphai, float* beta,
             float* qc, const MKL_INT* ldqc, float* zc, const MKL_INT* ldzc,
             float* work, const MKL_INT* lwork, const MKL_INT* rec,
             MKL_INT* info) NOTHROW;
void slaqz3_( const MKL_INT* ilschur, const MKL_INT* ilq, const MKL_INT* ilz,
             const MKL_INT* n, const MKL_INT* ilo, const MKL_INT* ihi, const MKL_INT* nw,
             float* a, const MKL_INT* lda, float* b, const MKL_INT* ldb,
             float* q, const MKL_INT* ldq, float* z, const MKL_INT* ldz,
             MKL_INT* ns, MKL_INT* nd, float* alphar, float* alphai, float* beta,
             float* qc, const MKL_INT* ldqc, float* zc, const MKL_INT* ldzc,
             float* work, const MKL_INT* lwork, const MKL_INT* rec,
             MKL_INT* info) NOTHROW;

void SLAQZ4( const MKL_INT* ilschur, const MKL_INT* ilq, const MKL_INT* ilz,
             const MKL_INT* n, const MKL_INT* ilo, const MKL_INT* ihi,
             const MKL_INT* nshifts, const MKL_INT* nb, float* alphar,
             float* alphai, float* beta,  float* a, const MKL_INT* lda,
             float* b, const MKL_INT* ldb, float* q, const MKL_INT* ldq,
             float* z, const MKL_INT* ldz, float* qc, const MKL_INT* ldqc,
             float* zc, const MKL_INT* ldzc, float* work, const MKL_INT* lwork,
             MKL_INT* info) NOTHROW;
void SLAQZ4_( const MKL_INT* ilschur, const MKL_INT* ilq, const MKL_INT* ilz,
             const MKL_INT* n, const MKL_INT* ilo, const MKL_INT* ihi,
             const MKL_INT* nshifts, const MKL_INT* nb, float* alphar,
             float* alphai, float* beta,  float* a, const MKL_INT* lda,
             float* b, const MKL_INT* ldb, float* q, const MKL_INT* ldq,
             float* z, const MKL_INT* ldz, float* qc, const MKL_INT* ldqc,
             float* zc, const MKL_INT* ldzc, float* work, const MKL_INT* lwork,
             MKL_INT* info) NOTHROW;
void slaqz4( const MKL_INT* ilschur, const MKL_INT* ilq, const MKL_INT* ilz,
             const MKL_INT* n, const MKL_INT* ilo, const MKL_INT* ihi,
             const MKL_INT* nshifts, const MKL_INT* nb, float* alphar,
             float* alphai, float* beta,  float* a, const MKL_INT* lda,
             float* b, const MKL_INT* ldb, float* q, const MKL_INT* ldq,
             float* z, const MKL_INT* ldz, float* qc, const MKL_INT* ldqc,
             float* zc, const MKL_INT* ldzc, float* work, const MKL_INT* lwork,
             MKL_INT* info) NOTHROW;
void slaqz4_( const MKL_INT* ilschur, const MKL_INT* ilq, const MKL_INT* ilz,
             const MKL_INT* n, const MKL_INT* ilo, const MKL_INT* ihi,
             const MKL_INT* nshifts, const MKL_INT* nb, float* alphar,
             float* alphai, float* beta,  float* a, const MKL_INT* lda,
             float* b, const MKL_INT* ldb, float* q, const MKL_INT* ldq,
             float* z, const MKL_INT* ldz, float* qc, const MKL_INT* ldqc,
             float* zc, const MKL_INT* ldzc, float* work, const MKL_INT* lwork,
             MKL_INT* info) NOTHROW;

void SLAR1V( const MKL_INT* n, const MKL_INT* b1, const MKL_INT* bn,
             const float* lambda, const float* d, const float* l,
             const float* ld, const float* lld, const float* pivmin,
             const float* gaptol, float* z, const MKL_INT* wantnc,
             MKL_INT* negcnt, float* ztz, float* mingma, MKL_INT* r,
             MKL_INT* isuppz, float* nrminv, float* resid, float* rqcorr,
             float* work ) NOTHROW;
void SLAR1V_( const MKL_INT* n, const MKL_INT* b1, const MKL_INT* bn,
              const float* lambda, const float* d, const float* l,
              const float* ld, const float* lld, const float* pivmin,
              const float* gaptol, float* z, const MKL_INT* wantnc,
              MKL_INT* negcnt, float* ztz, float* mingma, MKL_INT* r,
              MKL_INT* isuppz, float* nrminv, float* resid, float* rqcorr,
              float* work ) NOTHROW;
void slar1v( const MKL_INT* n, const MKL_INT* b1, const MKL_INT* bn,
             const float* lambda, const float* d, const float* l,
             const float* ld, const float* lld, const float* pivmin,
             const float* gaptol, float* z, const MKL_INT* wantnc,
             MKL_INT* negcnt, float* ztz, float* mingma, MKL_INT* r,
             MKL_INT* isuppz, float* nrminv, float* resid, float* rqcorr,
             float* work ) NOTHROW;
void slar1v_( const MKL_INT* n, const MKL_INT* b1, const MKL_INT* bn,
              const float* lambda, const float* d, const float* l,
              const float* ld, const float* lld, const float* pivmin,
              const float* gaptol, float* z, const MKL_INT* wantnc,
              MKL_INT* negcnt, float* ztz, float* mingma, MKL_INT* r,
              MKL_INT* isuppz, float* nrminv, float* resid, float* rqcorr,
              float* work ) NOTHROW;

void SLAR2V( const MKL_INT* n, float* x, float* y, float* z,
             const MKL_INT* incx, const float* c, const float* s,
             const MKL_INT* incc ) NOTHROW;
void SLAR2V_( const MKL_INT* n, float* x, float* y, float* z,
              const MKL_INT* incx, const float* c, const float* s,
              const MKL_INT* incc ) NOTHROW;
void slar2v( const MKL_INT* n, float* x, float* y, float* z,
             const MKL_INT* incx, const float* c, const float* s,
             const MKL_INT* incc ) NOTHROW;
void slar2v_( const MKL_INT* n, float* x, float* y, float* z,
              const MKL_INT* incx, const float* c, const float* s,
              const MKL_INT* incc ) NOTHROW;

void SLARFB( const char* side, const char* trans, const char* direct,
             const char* storev, const MKL_INT* m, const MKL_INT* n,
             const MKL_INT* k, const float* v, const MKL_INT* ldv,
             const float* t, const MKL_INT* ldt, float* c, const MKL_INT* ldc,
             float* work, const MKL_INT* ldwork ) NOTHROW;
void SLARFB_( const char* side, const char* trans, const char* direct,
              const char* storev, const MKL_INT* m, const MKL_INT* n,
              const MKL_INT* k, const float* v, const MKL_INT* ldv,
              const float* t, const MKL_INT* ldt, float* c, const MKL_INT* ldc,
              float* work, const MKL_INT* ldwork ) NOTHROW;
void slarfb( const char* side, const char* trans, const char* direct,
             const char* storev, const MKL_INT* m, const MKL_INT* n,
             const MKL_INT* k, const float* v, const MKL_INT* ldv,
             const float* t, const MKL_INT* ldt, float* c, const MKL_INT* ldc,
             float* work, const MKL_INT* ldwork ) NOTHROW;
void slarfb_( const char* side, const char* trans, const char* direct,
              const char* storev, const MKL_INT* m, const MKL_INT* n,
              const MKL_INT* k, const float* v, const MKL_INT* ldv,
              const float* t, const MKL_INT* ldt, float* c, const MKL_INT* ldc,
              float* work, const MKL_INT* ldwork ) NOTHROW;

void SLARF( const char* side, const MKL_INT* m, const MKL_INT* n,
            const float* v, const MKL_INT* incv, const float* tau, float* c,
            const MKL_INT* ldc, float* work ) NOTHROW;
void SLARF_( const char* side, const MKL_INT* m, const MKL_INT* n,
             const float* v, const MKL_INT* incv, const float* tau, float* c,
             const MKL_INT* ldc, float* work ) NOTHROW;
void slarf( const char* side, const MKL_INT* m, const MKL_INT* n,
            const float* v, const MKL_INT* incv, const float* tau, float* c,
            const MKL_INT* ldc, float* work ) NOTHROW;
void slarf_( const char* side, const MKL_INT* m, const MKL_INT* n,
             const float* v, const MKL_INT* incv, const float* tau, float* c,
             const MKL_INT* ldc, float* work ) NOTHROW;

void SLARFG( const MKL_INT* n, float* alpha, float* x, const MKL_INT* incx,
             float* tau ) NOTHROW;
void SLARFG_( const MKL_INT* n, float* alpha, float* x, const MKL_INT* incx,
              float* tau ) NOTHROW;
void slarfg( const MKL_INT* n, float* alpha, float* x, const MKL_INT* incx,
             float* tau ) NOTHROW;
void slarfg_( const MKL_INT* n, float* alpha, float* x, const MKL_INT* incx,
              float* tau ) NOTHROW;

void SLARFGP( const MKL_INT* n, float* alpha, float* x, const MKL_INT* incx,
              float* tau ) NOTHROW;
void SLARFGP_( const MKL_INT* n, float* alpha, float* x, const MKL_INT* incx,
               float* tau ) NOTHROW;
void slarfgp( const MKL_INT* n, float* alpha, float* x, const MKL_INT* incx,
              float* tau ) NOTHROW;
void slarfgp_( const MKL_INT* n, float* alpha, float* x, const MKL_INT* incx,
               float* tau ) NOTHROW;

void SLARFP( const MKL_INT* n, float* alpha, float* x, const MKL_INT* incx,
             float* tau ) NOTHROW;
void SLARFP_( const MKL_INT* n, float* alpha, float* x, const MKL_INT* incx,
              float* tau ) NOTHROW;
void slarfp( const MKL_INT* n, float* alpha, float* x, const MKL_INT* incx,
             float* tau ) NOTHROW;
void slarfp_( const MKL_INT* n, float* alpha, float* x, const MKL_INT* incx,
              float* tau ) NOTHROW;

void SLARFT( const char* direct, const char* storev, const MKL_INT* n,
             const MKL_INT* k, const float* v, const MKL_INT* ldv, const float* tau,
             float* t, const MKL_INT* ldt ) NOTHROW;
void SLARFT_( const char* direct, const char* storev, const MKL_INT* n,
              const MKL_INT* k, const float* v, const MKL_INT* ldv, const float* tau,
              float* t, const MKL_INT* ldt ) NOTHROW;
void slarft( const char* direct, const char* storev, const MKL_INT* n,
             const MKL_INT* k, const float* v, const MKL_INT* ldv, const float* tau,
             float* t, const MKL_INT* ldt ) NOTHROW;
void slarft_( const char* direct, const char* storev, const MKL_INT* n,
              const MKL_INT* k, const float* v, const MKL_INT* ldv, const float* tau,
              float* t, const MKL_INT* ldt ) NOTHROW;

void SLARFX( const char* side, const MKL_INT* m, const MKL_INT* n,
             const float* v, const float* tau, float* c, const MKL_INT* ldc,
             float* work ) NOTHROW;
void SLARFX_( const char* side, const MKL_INT* m, const MKL_INT* n,
              const float* v, const float* tau, float* c, const MKL_INT* ldc,
              float* work ) NOTHROW;
void slarfx( const char* side, const MKL_INT* m, const MKL_INT* n,
             const float* v, const float* tau, float* c, const MKL_INT* ldc,
             float* work ) NOTHROW;
void slarfx_( const char* side, const MKL_INT* m, const MKL_INT* n,
              const float* v, const float* tau, float* c, const MKL_INT* ldc,
              float* work ) NOTHROW;

void SLARGV( const MKL_INT* n, float* x, const MKL_INT* incx, float* y,
             const MKL_INT* incy, float* c, const MKL_INT* incc ) NOTHROW;
void SLARGV_( const MKL_INT* n, float* x, const MKL_INT* incx, float* y,
              const MKL_INT* incy, float* c, const MKL_INT* incc ) NOTHROW;
void slargv( const MKL_INT* n, float* x, const MKL_INT* incx, float* y,
             const MKL_INT* incy, float* c, const MKL_INT* incc ) NOTHROW;
void slargv_( const MKL_INT* n, float* x, const MKL_INT* incx, float* y,
              const MKL_INT* incy, float* c, const MKL_INT* incc ) NOTHROW;

void SLARNV( const MKL_INT* idist, MKL_INT* iseed, const MKL_INT* n,
             float* x ) NOTHROW;
void SLARNV_( const MKL_INT* idist, MKL_INT* iseed, const MKL_INT* n,
              float* x ) NOTHROW;
void slarnv( const MKL_INT* idist, MKL_INT* iseed, const MKL_INT* n,
             float* x ) NOTHROW;
void slarnv_( const MKL_INT* idist, MKL_INT* iseed, const MKL_INT* n,
              float* x ) NOTHROW;

void SLARRA( const MKL_INT* n, const float* d, float* e, float* e2,
             const float* spltol, const float* tnrm, MKL_INT* nsplit,
             MKL_INT* isplit, MKL_INT* info ) NOTHROW;
void SLARRA_( const MKL_INT* n, const float* d, float* e, float* e2,
              const float* spltol, const float* tnrm, MKL_INT* nsplit,
              MKL_INT* isplit, MKL_INT* info ) NOTHROW;
void slarra( const MKL_INT* n, const float* d, float* e, float* e2,
             const float* spltol, const float* tnrm, MKL_INT* nsplit,
             MKL_INT* isplit, MKL_INT* info ) NOTHROW;
void slarra_( const MKL_INT* n, const float* d, float* e, float* e2,
              const float* spltol, const float* tnrm, MKL_INT* nsplit,
              MKL_INT* isplit, MKL_INT* info ) NOTHROW;

void SLARRB( const MKL_INT* n, const float* d, const float* lld,
             const MKL_INT* ifirst, const MKL_INT* ilast, const float* rtol1,
             const float* rtol2, const MKL_INT* offset, float* w, float* wgap,
             float* werr, float* work, MKL_INT* iwork, const float* pivmin,
             const float* spdiam, const MKL_INT* twist, MKL_INT* info ) NOTHROW;
void SLARRB_( const MKL_INT* n, const float* d, const float* lld,
              const MKL_INT* ifirst, const MKL_INT* ilast, const float* rtol1,
              const float* rtol2, const MKL_INT* offset, float* w, float* wgap,
              float* werr, float* work, MKL_INT* iwork, const float* pivmin,
              const float* spdiam, const MKL_INT* twist, MKL_INT* info ) NOTHROW;
void slarrb( const MKL_INT* n, const float* d, const float* lld,
             const MKL_INT* ifirst, const MKL_INT* ilast, const float* rtol1,
             const float* rtol2, const MKL_INT* offset, float* w, float* wgap,
             float* werr, float* work, MKL_INT* iwork, const float* pivmin,
             const float* spdiam, const MKL_INT* twist, MKL_INT* info ) NOTHROW;
void slarrb_( const MKL_INT* n, const float* d, const float* lld,
              const MKL_INT* ifirst, const MKL_INT* ilast, const float* rtol1,
              const float* rtol2, const MKL_INT* offset, float* w, float* wgap,
              float* werr, float* work, MKL_INT* iwork, const float* pivmin,
              const float* spdiam, const MKL_INT* twist, MKL_INT* info ) NOTHROW;

void SLARRC( const char* jobt, const MKL_INT* n, const float* vl,
             const float* vu, const float* d, const float* e,
             const float* pivmin, MKL_INT* eigcnt, MKL_INT* lcnt,
             MKL_INT* rcnt, MKL_INT* info ) NOTHROW;
void SLARRC_( const char* jobt, const MKL_INT* n, const float* vl,
              const float* vu, const float* d, const float* e,
              const float* pivmin, MKL_INT* eigcnt, MKL_INT* lcnt,
              MKL_INT* rcnt, MKL_INT* info ) NOTHROW;
void slarrc( const char* jobt, const MKL_INT* n, const float* vl,
             const float* vu, const float* d, const float* e,
             const float* pivmin, MKL_INT* eigcnt, MKL_INT* lcnt,
             MKL_INT* rcnt, MKL_INT* info ) NOTHROW;
void slarrc_( const char* jobt, const MKL_INT* n, const float* vl,
              const float* vu, const float* d, const float* e,
              const float* pivmin, MKL_INT* eigcnt, MKL_INT* lcnt,
              MKL_INT* rcnt, MKL_INT* info ) NOTHROW;

void SLARRD( const char* range, const char* order, const MKL_INT* n,
             const float* vl, const float* vu, const MKL_INT* il,
             const MKL_INT* iu, const float* gers, const float* reltol,
             const float* d, const float* e, const float* e2,
             const float* pivmin, const MKL_INT* nsplit, const MKL_INT* isplit,
             MKL_INT* m, float* w, float* werr, float* wl, float* wu,
             MKL_INT* iblock, MKL_INT* indexw, float* work, MKL_INT* iwork,
             MKL_INT* info ) NOTHROW;
void SLARRD_( const char* range, const char* order, const MKL_INT* n,
              const float* vl, const float* vu, const MKL_INT* il,
              const MKL_INT* iu, const float* gers, const float* reltol,
              const float* d, const float* e, const float* e2,
              const float* pivmin, const MKL_INT* nsplit,
              const MKL_INT* isplit, MKL_INT* m, float* w, float* werr,
              float* wl, float* wu, MKL_INT* iblock, MKL_INT* indexw,
              float* work, MKL_INT* iwork, MKL_INT* info ) NOTHROW;
void slarrd( const char* range, const char* order, const MKL_INT* n,
             const float* vl, const float* vu, const MKL_INT* il,
             const MKL_INT* iu, const float* gers, const float* reltol,
             const float* d, const float* e, const float* e2,
             const float* pivmin, const MKL_INT* nsplit, const MKL_INT* isplit,
             MKL_INT* m, float* w, float* werr, float* wl, float* wu,
             MKL_INT* iblock, MKL_INT* indexw, float* work, MKL_INT* iwork,
             MKL_INT* info ) NOTHROW;
void slarrd_( const char* range, const char* order, const MKL_INT* n,
              const float* vl, const float* vu, const MKL_INT* il,
              const MKL_INT* iu, const float* gers, const float* reltol,
              const float* d, const float* e, const float* e2,
              const float* pivmin, const MKL_INT* nsplit,
              const MKL_INT* isplit, MKL_INT* m, float* w, float* werr,
              float* wl, float* wu, MKL_INT* iblock, MKL_INT* indexw,
              float* work, MKL_INT* iwork, MKL_INT* info ) NOTHROW;

void SLARRE( const char* range, const MKL_INT* n, float* vl, float* vu,
             const MKL_INT* il, const MKL_INT* iu, float* d, float* e,
             float* e2, const float* rtol1, const float* rtol2,
             const float* spltol, MKL_INT* nsplit, MKL_INT* isplit, MKL_INT* m,
             float* w, float* werr, float* wgap, MKL_INT* iblock,
             MKL_INT* indexw, float* gers, float* pivmin, float* work,
             MKL_INT* iwork, MKL_INT* info ) NOTHROW;
void SLARRE_( const char* range, const MKL_INT* n, float* vl, float* vu,
              const MKL_INT* il, const MKL_INT* iu, float* d, float* e,
              float* e2, const float* rtol1, const float* rtol2,
              const float* spltol, MKL_INT* nsplit, MKL_INT* isplit,
              MKL_INT* m, float* w, float* werr, float* wgap, MKL_INT* iblock,
              MKL_INT* indexw, float* gers, float* pivmin, float* work,
              MKL_INT* iwork, MKL_INT* info ) NOTHROW;
void slarre( const char* range, const MKL_INT* n, float* vl, float* vu,
             const MKL_INT* il, const MKL_INT* iu, float* d, float* e,
             float* e2, const float* rtol1, const float* rtol2,
             const float* spltol, MKL_INT* nsplit, MKL_INT* isplit, MKL_INT* m,
             float* w, float* werr, float* wgap, MKL_INT* iblock,
             MKL_INT* indexw, float* gers, float* pivmin, float* work,
             MKL_INT* iwork, MKL_INT* info ) NOTHROW;
void slarre_( const char* range, const MKL_INT* n, float* vl, float* vu,
              const MKL_INT* il, const MKL_INT* iu, float* d, float* e,
              float* e2, const float* rtol1, const float* rtol2,
              const float* spltol, MKL_INT* nsplit, MKL_INT* isplit,
              MKL_INT* m, float* w, float* werr, float* wgap, MKL_INT* iblock,
              MKL_INT* indexw, float* gers, float* pivmin, float* work,
              MKL_INT* iwork, MKL_INT* info ) NOTHROW;

void SLARRF( const MKL_INT* n, const float* d, const float* l, const float* ld,
             const MKL_INT* clstrt, const MKL_INT* clend, const float* w,
             float* wgap, const float* werr, const float* spdiam,
             const float* clgapl, float* clgapr, const float* pivmin,
             float* sigma, float* dplus, float* lplus, float* work,
             MKL_INT* info ) NOTHROW;
void SLARRF_( const MKL_INT* n, const float* d, const float* l,
              const float* ld, const MKL_INT* clstrt, const MKL_INT* clend,
              const float* w, float* wgap, const float* werr,
              const float* spdiam, const float* clgapl, float* clgapr,
              const float* pivmin, float* sigma, float* dplus, float* lplus,
              float* work, MKL_INT* info ) NOTHROW;
void slarrf( const MKL_INT* n, const float* d, const float* l, const float* ld,
             const MKL_INT* clstrt, const MKL_INT* clend, const float* w,
             float* wgap, const float* werr, const float* spdiam,
             const float* clgapl, float* clgapr, const float* pivmin,
             float* sigma, float* dplus, float* lplus, float* work,
             MKL_INT* info ) NOTHROW;
void slarrf_( const MKL_INT* n, const float* d, const float* l,
              const float* ld, const MKL_INT* clstrt, const MKL_INT* clend,
              const float* w, float* wgap, const float* werr,
              const float* spdiam, const float* clgapl, float* clgapr,
              const float* pivmin, float* sigma, float* dplus, float* lplus,
              float* work, MKL_INT* info ) NOTHROW;

void SLARRJ( const MKL_INT* n, const float* d, const float* e2,
             const MKL_INT* ifirst, const MKL_INT* ilast, const float* rtol,
             const MKL_INT* offset, float* w, float* werr, float* work,
             MKL_INT* iwork, const float* pivmin, const float* spdiam,
             MKL_INT* info ) NOTHROW;
void SLARRJ_( const MKL_INT* n, const float* d, const float* e2,
              const MKL_INT* ifirst, const MKL_INT* ilast, const float* rtol,
              const MKL_INT* offset, float* w, float* werr, float* work,
              MKL_INT* iwork, const float* pivmin, const float* spdiam,
              MKL_INT* info ) NOTHROW;
void slarrj( const MKL_INT* n, const float* d, const float* e2,
             const MKL_INT* ifirst, const MKL_INT* ilast, const float* rtol,
             const MKL_INT* offset, float* w, float* werr, float* work,
             MKL_INT* iwork, const float* pivmin, const float* spdiam,
             MKL_INT* info ) NOTHROW;
void slarrj_( const MKL_INT* n, const float* d, const float* e2,
              const MKL_INT* ifirst, const MKL_INT* ilast, const float* rtol,
              const MKL_INT* offset, float* w, float* werr, float* work,
              MKL_INT* iwork, const float* pivmin, const float* spdiam,
              MKL_INT* info ) NOTHROW;

void SLARRK( const MKL_INT* n, const MKL_INT* iw, const float* gl,
             const float* gu, const float* d, const float* e2,
             const float* pivmin, const float* reltol, float* w, float* werr,
             MKL_INT* info ) NOTHROW;
void SLARRK_( const MKL_INT* n, const MKL_INT* iw, const float* gl,
              const float* gu, const float* d, const float* e2,
              const float* pivmin, const float* reltol, float* w, float* werr,
              MKL_INT* info ) NOTHROW;
void slarrk( const MKL_INT* n, const MKL_INT* iw, const float* gl,
             const float* gu, const float* d, const float* e2,
             const float* pivmin, const float* reltol, float* w, float* werr,
             MKL_INT* info ) NOTHROW;
void slarrk_( const MKL_INT* n, const MKL_INT* iw, const float* gl,
              const float* gu, const float* d, const float* e2,
              const float* pivmin, const float* reltol, float* w, float* werr,
              MKL_INT* info ) NOTHROW;

void SLARRR( const MKL_INT* n, const float* d, float* e, MKL_INT* info ) NOTHROW;
void SLARRR_( const MKL_INT* n, const float* d, float* e, MKL_INT* info ) NOTHROW;
void slarrr( const MKL_INT* n, const float* d, float* e, MKL_INT* info ) NOTHROW;
void slarrr_( const MKL_INT* n, const float* d, float* e, MKL_INT* info ) NOTHROW;

void SLARRV( const MKL_INT* n, const float* vl, const float* vu, float* d,
             float* l, float* pivmin, const MKL_INT* isplit, const MKL_INT* m,
             const MKL_INT* dol, const MKL_INT* dou, const float* minrgp,
             const float* rtol1, const float* rtol2, float* w, float* werr,
             float* wgap, const MKL_INT* iblock, const MKL_INT* indexw,
             const float* gers, float* z, const MKL_INT* ldz, MKL_INT* isuppz,
             float* work, MKL_INT* iwork, MKL_INT* info ) NOTHROW;
void SLARRV_( const MKL_INT* n, const float* vl, const float* vu, float* d,
              float* l, float* pivmin, const MKL_INT* isplit, const MKL_INT* m,
              const MKL_INT* dol, const MKL_INT* dou, const float* minrgp,
              const float* rtol1, const float* rtol2, float* w, float* werr,
              float* wgap, const MKL_INT* iblock, const MKL_INT* indexw,
              const float* gers, float* z, const MKL_INT* ldz, MKL_INT* isuppz,
              float* work, MKL_INT* iwork, MKL_INT* info ) NOTHROW;
void slarrv( const MKL_INT* n, const float* vl, const float* vu, float* d,
             float* l, float* pivmin, const MKL_INT* isplit, const MKL_INT* m,
             const MKL_INT* dol, const MKL_INT* dou, const float* minrgp,
             const float* rtol1, const float* rtol2, float* w, float* werr,
             float* wgap, const MKL_INT* iblock, const MKL_INT* indexw,
             const float* gers, float* z, const MKL_INT* ldz, MKL_INT* isuppz,
             float* work, MKL_INT* iwork, MKL_INT* info ) NOTHROW;
void slarrv_( const MKL_INT* n, const float* vl, const float* vu, float* d,
              float* l, float* pivmin, const MKL_INT* isplit, const MKL_INT* m,
              const MKL_INT* dol, const MKL_INT* dou, const float* minrgp,
              const float* rtol1, const float* rtol2, float* w, float* werr,
              float* wgap, const MKL_INT* iblock, const MKL_INT* indexw,
              const float* gers, float* z, const MKL_INT* ldz, MKL_INT* isuppz,
              float* work, MKL_INT* iwork, MKL_INT* info ) NOTHROW;

void SLARSCL2( const MKL_INT* m, const MKL_INT* n, const float* d, float* x,
               const MKL_INT* ldx ) NOTHROW;
void SLARSCL2_( const MKL_INT* m, const MKL_INT* n, const float* d, float* x,
                const MKL_INT* ldx ) NOTHROW;
void slarscl2( const MKL_INT* m, const MKL_INT* n, const float* d, float* x,
               const MKL_INT* ldx ) NOTHROW;
void slarscl2_( const MKL_INT* m, const MKL_INT* n, const float* d, float* x,
                const MKL_INT* ldx ) NOTHROW;

void SLARTG( const float* f, const float* g, float* cs, float* sn, float* r ) NOTHROW;
void SLARTG_( const float* f, const float* g, float* cs, float* sn, float* r ) NOTHROW;
void slartg( const float* f, const float* g, float* cs, float* sn, float* r ) NOTHROW;
void slartg_( const float* f, const float* g, float* cs, float* sn, float* r ) NOTHROW;

void SLARTV( const MKL_INT* n, float* x, const MKL_INT* incx, float* y,
             const MKL_INT* incy, const float* c, const float* s,
             const MKL_INT* incc ) NOTHROW;
void SLARTV_( const MKL_INT* n, float* x, const MKL_INT* incx, float* y,
              const MKL_INT* incy, const float* c, const float* s,
              const MKL_INT* incc ) NOTHROW;
void slartv( const MKL_INT* n, float* x, const MKL_INT* incx, float* y,
             const MKL_INT* incy, const float* c, const float* s,
             const MKL_INT* incc ) NOTHROW;
void slartv_( const MKL_INT* n, float* x, const MKL_INT* incx, float* y,
              const MKL_INT* incy, const float* c, const float* s,
              const MKL_INT* incc ) NOTHROW;

void SLARUV( MKL_INT* iseed, const MKL_INT* n, float* x ) NOTHROW;
void SLARUV_( MKL_INT* iseed, const MKL_INT* n, float* x ) NOTHROW;
void slaruv( MKL_INT* iseed, const MKL_INT* n, float* x ) NOTHROW;
void slaruv_( MKL_INT* iseed, const MKL_INT* n, float* x ) NOTHROW;

void SLARZB( const char* side, const char* trans, const char* direct,
             const char* storev, const MKL_INT* m, const MKL_INT* n,
             const MKL_INT* k, const MKL_INT* l, const float* v,
             const MKL_INT* ldv, const float* t, const MKL_INT* ldt, float* c,
             const MKL_INT* ldc, float* work, const MKL_INT* ldwork ) NOTHROW;
void SLARZB_( const char* side, const char* trans, const char* direct,
              const char* storev, const MKL_INT* m, const MKL_INT* n,
              const MKL_INT* k, const MKL_INT* l, const float* v,
              const MKL_INT* ldv, const float* t, const MKL_INT* ldt, float* c,
              const MKL_INT* ldc, float* work, const MKL_INT* ldwork ) NOTHROW;
void slarzb( const char* side, const char* trans, const char* direct,
             const char* storev, const MKL_INT* m, const MKL_INT* n,
             const MKL_INT* k, const MKL_INT* l, const float* v,
             const MKL_INT* ldv, const float* t, const MKL_INT* ldt, float* c,
             const MKL_INT* ldc, float* work, const MKL_INT* ldwork ) NOTHROW;
void slarzb_( const char* side, const char* trans, const char* direct,
              const char* storev, const MKL_INT* m, const MKL_INT* n,
              const MKL_INT* k, const MKL_INT* l, const float* v,
              const MKL_INT* ldv, const float* t, const MKL_INT* ldt, float* c,
              const MKL_INT* ldc, float* work, const MKL_INT* ldwork ) NOTHROW;

void SLARZ( const char* side, const MKL_INT* m, const MKL_INT* n,
            const MKL_INT* l, const float* v, const MKL_INT* incv,
            const float* tau, float* c, const MKL_INT* ldc, float* work ) NOTHROW;
void SLARZ_( const char* side, const MKL_INT* m, const MKL_INT* n,
             const MKL_INT* l, const float* v, const MKL_INT* incv,
             const float* tau, float* c, const MKL_INT* ldc, float* work ) NOTHROW;
void slarz( const char* side, const MKL_INT* m, const MKL_INT* n,
            const MKL_INT* l, const float* v, const MKL_INT* incv,
            const float* tau, float* c, const MKL_INT* ldc, float* work ) NOTHROW;
void slarz_( const char* side, const MKL_INT* m, const MKL_INT* n,
             const MKL_INT* l, const float* v, const MKL_INT* incv,
             const float* tau, float* c, const MKL_INT* ldc, float* work ) NOTHROW;

void SLARZT( const char* direct, const char* storev, const MKL_INT* n,
             const MKL_INT* k, float* v, const MKL_INT* ldv, const float* tau,
             float* t, const MKL_INT* ldt ) NOTHROW;
void SLARZT_( const char* direct, const char* storev, const MKL_INT* n,
              const MKL_INT* k, float* v, const MKL_INT* ldv, const float* tau,
              float* t, const MKL_INT* ldt ) NOTHROW;
void slarzt( const char* direct, const char* storev, const MKL_INT* n,
             const MKL_INT* k, float* v, const MKL_INT* ldv, const float* tau,
             float* t, const MKL_INT* ldt ) NOTHROW;
void slarzt_( const char* direct, const char* storev, const MKL_INT* n,
              const MKL_INT* k, float* v, const MKL_INT* ldv, const float* tau,
              float* t, const MKL_INT* ldt ) NOTHROW;

void SLAS2( const float* f, const float* g, const float* h, float* ssmin,
            float* ssmax ) NOTHROW;
void SLAS2_( const float* f, const float* g, const float* h, float* ssmin,
             float* ssmax ) NOTHROW;
void slas2( const float* f, const float* g, const float* h, float* ssmin,
            float* ssmax ) NOTHROW;
void slas2_( const float* f, const float* g, const float* h, float* ssmin,
             float* ssmax ) NOTHROW;

void SLASCL( const char* type, const MKL_INT* kl, const MKL_INT* ku,
             const float* cfrom, const float* cto, const MKL_INT* m,
             const MKL_INT* n, float* a, const MKL_INT* lda, MKL_INT* info ) NOTHROW;
void SLASCL_( const char* type, const MKL_INT* kl, const MKL_INT* ku,
              const float* cfrom, const float* cto, const MKL_INT* m,
              const MKL_INT* n, float* a, const MKL_INT* lda, MKL_INT* info ) NOTHROW;
void slascl( const char* type, const MKL_INT* kl, const MKL_INT* ku,
             const float* cfrom, const float* cto, const MKL_INT* m,
             const MKL_INT* n, float* a, const MKL_INT* lda, MKL_INT* info ) NOTHROW;
void slascl_( const char* type, const MKL_INT* kl, const MKL_INT* ku,
              const float* cfrom, const float* cto, const MKL_INT* m,
              const MKL_INT* n, float* a, const MKL_INT* lda, MKL_INT* info ) NOTHROW;

void SLASCL2( const MKL_INT* m, const MKL_INT* n, const float* d, float* x,
              const MKL_INT* ldx ) NOTHROW;
void SLASCL2_( const MKL_INT* m, const MKL_INT* n, const float* d, float* x,
               const MKL_INT* ldx ) NOTHROW;
void slascl2( const MKL_INT* m, const MKL_INT* n, const float* d, float* x,
              const MKL_INT* ldx ) NOTHROW;
void slascl2_( const MKL_INT* m, const MKL_INT* n, const float* d, float* x,
               const MKL_INT* ldx ) NOTHROW;

void SLASD0( const MKL_INT* n, const MKL_INT* sqre, float* d, const float* e,
             float* u, const MKL_INT* ldu, float* vt, const MKL_INT* ldvt,
             const MKL_INT* smlsiz, MKL_INT* iwork, float* work,
             MKL_INT* info ) NOTHROW;
void SLASD0_( const MKL_INT* n, const MKL_INT* sqre, float* d, const float* e,
              float* u, const MKL_INT* ldu, float* vt, const MKL_INT* ldvt,
              const MKL_INT* smlsiz, MKL_INT* iwork, float* work,
              MKL_INT* info ) NOTHROW;
void slasd0( const MKL_INT* n, const MKL_INT* sqre, float* d, const float* e,
             float* u, const MKL_INT* ldu, float* vt, const MKL_INT* ldvt,
             const MKL_INT* smlsiz, MKL_INT* iwork, float* work,
             MKL_INT* info ) NOTHROW;
void slasd0_( const MKL_INT* n, const MKL_INT* sqre, float* d, const float* e,
              float* u, const MKL_INT* ldu, float* vt, const MKL_INT* ldvt,
              const MKL_INT* smlsiz, MKL_INT* iwork, float* work,
              MKL_INT* info ) NOTHROW;

void SLASD1( const MKL_INT* nl, const MKL_INT* nr, const MKL_INT* sqre,
             float* d, float* alpha, float* beta, float* u, const MKL_INT* ldu,
             float* vt, const MKL_INT* ldvt, MKL_INT* idxq, MKL_INT* iwork,
             float* work, MKL_INT* info ) NOTHROW;
void SLASD1_( const MKL_INT* nl, const MKL_INT* nr, const MKL_INT* sqre,
              float* d, float* alpha, float* beta, float* u,
              const MKL_INT* ldu, float* vt, const MKL_INT* ldvt,
              MKL_INT* idxq, MKL_INT* iwork, float* work, MKL_INT* info ) NOTHROW;
void slasd1( const MKL_INT* nl, const MKL_INT* nr, const MKL_INT* sqre,
             float* d, float* alpha, float* beta, float* u, const MKL_INT* ldu,
             float* vt, const MKL_INT* ldvt, MKL_INT* idxq, MKL_INT* iwork,
             float* work, MKL_INT* info ) NOTHROW;
void slasd1_( const MKL_INT* nl, const MKL_INT* nr, const MKL_INT* sqre,
              float* d, float* alpha, float* beta, float* u,
              const MKL_INT* ldu, float* vt, const MKL_INT* ldvt,
              MKL_INT* idxq, MKL_INT* iwork, float* work, MKL_INT* info ) NOTHROW;

void SLASD2( const MKL_INT* nl, const MKL_INT* nr, const MKL_INT* sqre,
             MKL_INT* k, float* d, float* z, const float* alpha,
             const float* beta, float* u, const MKL_INT* ldu, float* vt,
             const MKL_INT* ldvt, float* dsigma, float* u2,
             const MKL_INT* ldu2, float* vt2, const MKL_INT* ldvt2,
             MKL_INT* idxp, MKL_INT* idx, MKL_INT* idxc, MKL_INT* idxq,
             MKL_INT* coltyp, MKL_INT* info ) NOTHROW;
void SLASD2_( const MKL_INT* nl, const MKL_INT* nr, const MKL_INT* sqre,
              MKL_INT* k, float* d, float* z, const float* alpha,
              const float* beta, float* u, const MKL_INT* ldu, float* vt,
              const MKL_INT* ldvt, float* dsigma, float* u2,
              const MKL_INT* ldu2, float* vt2, const MKL_INT* ldvt2,
              MKL_INT* idxp, MKL_INT* idx, MKL_INT* idxc, MKL_INT* idxq,
              MKL_INT* coltyp, MKL_INT* info ) NOTHROW;
void slasd2( const MKL_INT* nl, const MKL_INT* nr, const MKL_INT* sqre,
             MKL_INT* k, float* d, float* z, const float* alpha,
             const float* beta, float* u, const MKL_INT* ldu, float* vt,
             const MKL_INT* ldvt, float* dsigma, float* u2,
             const MKL_INT* ldu2, float* vt2, const MKL_INT* ldvt2,
             MKL_INT* idxp, MKL_INT* idx, MKL_INT* idxc, MKL_INT* idxq,
             MKL_INT* coltyp, MKL_INT* info ) NOTHROW;
void slasd2_( const MKL_INT* nl, const MKL_INT* nr, const MKL_INT* sqre,
              MKL_INT* k, float* d, float* z, const float* alpha,
              const float* beta, float* u, const MKL_INT* ldu, float* vt,
              const MKL_INT* ldvt, float* dsigma, float* u2,
              const MKL_INT* ldu2, float* vt2, const MKL_INT* ldvt2,
              MKL_INT* idxp, MKL_INT* idx, MKL_INT* idxc, MKL_INT* idxq,
              MKL_INT* coltyp, MKL_INT* info ) NOTHROW;

void SLASD3( const MKL_INT* nl, const MKL_INT* nr, const MKL_INT* sqre,
             const MKL_INT* k, float* d, float* q, const MKL_INT* ldq,
             float* dsigma, float* u, const MKL_INT* ldu, const float* u2,
             const MKL_INT* ldu2, float* vt, const MKL_INT* ldvt, float* vt2,
             const MKL_INT* ldvt2, const MKL_INT* idxc, const MKL_INT* ctot,
             float* z, MKL_INT* info ) NOTHROW;
void SLASD3_( const MKL_INT* nl, const MKL_INT* nr, const MKL_INT* sqre,
              const MKL_INT* k, float* d, float* q, const MKL_INT* ldq,
              float* dsigma, float* u, const MKL_INT* ldu, const float* u2,
              const MKL_INT* ldu2, float* vt, const MKL_INT* ldvt, float* vt2,
              const MKL_INT* ldvt2, const MKL_INT* idxc, const MKL_INT* ctot,
              float* z, MKL_INT* info ) NOTHROW;
void slasd3( const MKL_INT* nl, const MKL_INT* nr, const MKL_INT* sqre,
             const MKL_INT* k, float* d, float* q, const MKL_INT* ldq,
             float* dsigma, float* u, const MKL_INT* ldu, const float* u2,
             const MKL_INT* ldu2, float* vt, const MKL_INT* ldvt, float* vt2,
             const MKL_INT* ldvt2, const MKL_INT* idxc, const MKL_INT* ctot,
             float* z, MKL_INT* info ) NOTHROW;
void slasd3_( const MKL_INT* nl, const MKL_INT* nr, const MKL_INT* sqre,
              const MKL_INT* k, float* d, float* q, const MKL_INT* ldq,
              float* dsigma, float* u, const MKL_INT* ldu, const float* u2,
              const MKL_INT* ldu2, float* vt, const MKL_INT* ldvt, float* vt2,
              const MKL_INT* ldvt2, const MKL_INT* idxc, const MKL_INT* ctot,
              float* z, MKL_INT* info ) NOTHROW;

void SLASD4( const MKL_INT* n, const MKL_INT* i, const float* d,
             const float* z, float* delta, const float* rho, float* sigma,
             float* work, MKL_INT* info ) NOTHROW;
void SLASD4_( const MKL_INT* n, const MKL_INT* i, const float* d,
              const float* z, float* delta, const float* rho, float* sigma,
              float* work, MKL_INT* info ) NOTHROW;
void slasd4( const MKL_INT* n, const MKL_INT* i, const float* d,
             const float* z, float* delta, const float* rho, float* sigma,
             float* work, MKL_INT* info ) NOTHROW;
void slasd4_( const MKL_INT* n, const MKL_INT* i, const float* d,
              const float* z, float* delta, const float* rho, float* sigma,
              float* work, MKL_INT* info ) NOTHROW;

void SLASD5( const MKL_INT* i, const float* d, const float* z, float* delta,
             const float* rho, float* dsigma, float* work ) NOTHROW;
void SLASD5_( const MKL_INT* i, const float* d, const float* z, float* delta,
              const float* rho, float* dsigma, float* work ) NOTHROW;
void slasd5( const MKL_INT* i, const float* d, const float* z, float* delta,
             const float* rho, float* dsigma, float* work ) NOTHROW;
void slasd5_( const MKL_INT* i, const float* d, const float* z, float* delta,
              const float* rho, float* dsigma, float* work ) NOTHROW;

void SLASD6( const MKL_INT* icompq, const MKL_INT* nl, const MKL_INT* nr,
             const MKL_INT* sqre, float* d, float* vf, float* vl, float* alpha,
             float* beta, MKL_INT* idxq, MKL_INT* perm, MKL_INT* givptr,
             MKL_INT* givcol, const MKL_INT* ldgcol, float* givnum,
             const MKL_INT* ldgnum, float* poles, float* difl, float* difr,
             float* z, MKL_INT* k, float* c, float* s, float* work,
             MKL_INT* iwork, MKL_INT* info ) NOTHROW;
void SLASD6_( const MKL_INT* icompq, const MKL_INT* nl, const MKL_INT* nr,
              const MKL_INT* sqre, float* d, float* vf, float* vl,
              float* alpha, float* beta, MKL_INT* idxq, MKL_INT* perm,
              MKL_INT* givptr, MKL_INT* givcol, const MKL_INT* ldgcol,
              float* givnum, const MKL_INT* ldgnum, float* poles, float* difl,
              float* difr, float* z, MKL_INT* k, float* c, float* s,
              float* work, MKL_INT* iwork, MKL_INT* info ) NOTHROW;
void slasd6( const MKL_INT* icompq, const MKL_INT* nl, const MKL_INT* nr,
             const MKL_INT* sqre, float* d, float* vf, float* vl, float* alpha,
             float* beta, MKL_INT* idxq, MKL_INT* perm, MKL_INT* givptr,
             MKL_INT* givcol, const MKL_INT* ldgcol, float* givnum,
             const MKL_INT* ldgnum, float* poles, float* difl, float* difr,
             float* z, MKL_INT* k, float* c, float* s, float* work,
             MKL_INT* iwork, MKL_INT* info ) NOTHROW;
void slasd6_( const MKL_INT* icompq, const MKL_INT* nl, const MKL_INT* nr,
              const MKL_INT* sqre, float* d, float* vf, float* vl,
              float* alpha, float* beta, MKL_INT* idxq, MKL_INT* perm,
              MKL_INT* givptr, MKL_INT* givcol, const MKL_INT* ldgcol,
              float* givnum, const MKL_INT* ldgnum, float* poles, float* difl,
              float* difr, float* z, MKL_INT* k, float* c, float* s,
              float* work, MKL_INT* iwork, MKL_INT* info ) NOTHROW;

void SLASD7( const MKL_INT* icompq, const MKL_INT* nl, const MKL_INT* nr,
             const MKL_INT* sqre, MKL_INT* k, float* d, float* z, float* zw,
             float* vf, float* vfw, float* vl, float* vlw, const float* alpha,
             const float* beta, float* dsigma, MKL_INT* idx, MKL_INT* idxp,
             const MKL_INT* idxq, MKL_INT* perm, MKL_INT* givptr,
             MKL_INT* givcol, const MKL_INT* ldgcol, float* givnum,
             const MKL_INT* ldgnum, float* c, float* s, MKL_INT* info ) NOTHROW;
void SLASD7_( const MKL_INT* icompq, const MKL_INT* nl, const MKL_INT* nr,
              const MKL_INT* sqre, MKL_INT* k, float* d, float* z, float* zw,
              float* vf, float* vfw, float* vl, float* vlw, const float* alpha,
              const float* beta, float* dsigma, MKL_INT* idx, MKL_INT* idxp,
              const MKL_INT* idxq, MKL_INT* perm, MKL_INT* givptr,
              MKL_INT* givcol, const MKL_INT* ldgcol, float* givnum,
              const MKL_INT* ldgnum, float* c, float* s, MKL_INT* info ) NOTHROW;
void slasd7( const MKL_INT* icompq, const MKL_INT* nl, const MKL_INT* nr,
             const MKL_INT* sqre, MKL_INT* k, float* d, float* z, float* zw,
             float* vf, float* vfw, float* vl, float* vlw, const float* alpha,
             const float* beta, float* dsigma, MKL_INT* idx, MKL_INT* idxp,
             const MKL_INT* idxq, MKL_INT* perm, MKL_INT* givptr,
             MKL_INT* givcol, const MKL_INT* ldgcol, float* givnum,
             const MKL_INT* ldgnum, float* c, float* s, MKL_INT* info ) NOTHROW;
void slasd7_( const MKL_INT* icompq, const MKL_INT* nl, const MKL_INT* nr,
              const MKL_INT* sqre, MKL_INT* k, float* d, float* z, float* zw,
              float* vf, float* vfw, float* vl, float* vlw, const float* alpha,
              const float* beta, float* dsigma, MKL_INT* idx, MKL_INT* idxp,
              const MKL_INT* idxq, MKL_INT* perm, MKL_INT* givptr,
              MKL_INT* givcol, const MKL_INT* ldgcol, float* givnum,
              const MKL_INT* ldgnum, float* c, float* s, MKL_INT* info ) NOTHROW;

void SLASD8( const MKL_INT* icompq, const MKL_INT* k, float* d, float* z,
             float* vf, float* vl, float* difl, float* difr,
             const MKL_INT* lddifr, float* dsigma, float* work,
             MKL_INT* info ) NOTHROW;
void SLASD8_( const MKL_INT* icompq, const MKL_INT* k, float* d, float* z,
              float* vf, float* vl, float* difl, float* difr,
              const MKL_INT* lddifr, float* dsigma, float* work,
              MKL_INT* info ) NOTHROW;
void slasd8( const MKL_INT* icompq, const MKL_INT* k, float* d, float* z,
             float* vf, float* vl, float* difl, float* difr,
             const MKL_INT* lddifr, float* dsigma, float* work,
             MKL_INT* info ) NOTHROW;
void slasd8_( const MKL_INT* icompq, const MKL_INT* k, float* d, float* z,
              float* vf, float* vl, float* difl, float* difr,
              const MKL_INT* lddifr, float* dsigma, float* work,
              MKL_INT* info ) NOTHROW;

void SLASDA( const MKL_INT* icompq, const MKL_INT* smlsiz, const MKL_INT* n,
             const MKL_INT* sqre, float* d, const float* e, float* u,
             const MKL_INT* ldu, float* vt, MKL_INT* k, float* difl,
             float* difr, float* z, float* poles, MKL_INT* givptr,
             MKL_INT* givcol, const MKL_INT* ldgcol, MKL_INT* perm,
             float* givnum, float* c, float* s, float* work, MKL_INT* iwork,
             MKL_INT* info ) NOTHROW;
void SLASDA_( const MKL_INT* icompq, const MKL_INT* smlsiz, const MKL_INT* n,
              const MKL_INT* sqre, float* d, const float* e, float* u,
              const MKL_INT* ldu, float* vt, MKL_INT* k, float* difl,
              float* difr, float* z, float* poles, MKL_INT* givptr,
              MKL_INT* givcol, const MKL_INT* ldgcol, MKL_INT* perm,
              float* givnum, float* c, float* s, float* work, MKL_INT* iwork,
              MKL_INT* info ) NOTHROW;
void slasda( const MKL_INT* icompq, const MKL_INT* smlsiz, const MKL_INT* n,
             const MKL_INT* sqre, float* d, const float* e, float* u,
             const MKL_INT* ldu, float* vt, MKL_INT* k, float* difl,
             float* difr, float* z, float* poles, MKL_INT* givptr,
             MKL_INT* givcol, const MKL_INT* ldgcol, MKL_INT* perm,
             float* givnum, float* c, float* s, float* work, MKL_INT* iwork,
             MKL_INT* info ) NOTHROW;
void slasda_( const MKL_INT* icompq, const MKL_INT* smlsiz, const MKL_INT* n,
              const MKL_INT* sqre, float* d, const float* e, float* u,
              const MKL_INT* ldu, float* vt, MKL_INT* k, float* difl,
              float* difr, float* z, float* poles, MKL_INT* givptr,
              MKL_INT* givcol, const MKL_INT* ldgcol, MKL_INT* perm,
              float* givnum, float* c, float* s, float* work, MKL_INT* iwork,
              MKL_INT* info ) NOTHROW;

void SLASDQ( const char* uplo, const MKL_INT* sqre, const MKL_INT* n,
             const MKL_INT* ncvt, const MKL_INT* nru, const MKL_INT* ncc,
             float* d, float* e, float* vt, const MKL_INT* ldvt, float* u,
             const MKL_INT* ldu, float* c, const MKL_INT* ldc, float* work,
             MKL_INT* info ) NOTHROW;
void SLASDQ_( const char* uplo, const MKL_INT* sqre, const MKL_INT* n,
              const MKL_INT* ncvt, const MKL_INT* nru, const MKL_INT* ncc,
              float* d, float* e, float* vt, const MKL_INT* ldvt, float* u,
              const MKL_INT* ldu, float* c, const MKL_INT* ldc, float* work,
              MKL_INT* info ) NOTHROW;
void slasdq( const char* uplo, const MKL_INT* sqre, const MKL_INT* n,
             const MKL_INT* ncvt, const MKL_INT* nru, const MKL_INT* ncc,
             float* d, float* e, float* vt, const MKL_INT* ldvt, float* u,
             const MKL_INT* ldu, float* c, const MKL_INT* ldc, float* work,
             MKL_INT* info ) NOTHROW;
void slasdq_( const char* uplo, const MKL_INT* sqre, const MKL_INT* n,
              const MKL_INT* ncvt, const MKL_INT* nru, const MKL_INT* ncc,
              float* d, float* e, float* vt, const MKL_INT* ldvt, float* u,
              const MKL_INT* ldu, float* c, const MKL_INT* ldc, float* work,
              MKL_INT* info ) NOTHROW;

void SLASDT( const MKL_INT* n, MKL_INT* lvl, MKL_INT* nd, MKL_INT* inode,
             MKL_INT* ndiml, MKL_INT* ndimr, const MKL_INT* msub ) NOTHROW;
void SLASDT_( const MKL_INT* n, MKL_INT* lvl, MKL_INT* nd, MKL_INT* inode,
              MKL_INT* ndiml, MKL_INT* ndimr, const MKL_INT* msub ) NOTHROW;
void slasdt( const MKL_INT* n, MKL_INT* lvl, MKL_INT* nd, MKL_INT* inode,
             MKL_INT* ndiml, MKL_INT* ndimr, const MKL_INT* msub ) NOTHROW;
void slasdt_( const MKL_INT* n, MKL_INT* lvl, MKL_INT* nd, MKL_INT* inode,
              MKL_INT* ndiml, MKL_INT* ndimr, const MKL_INT* msub ) NOTHROW;

void SLASET( const char* uplo, const MKL_INT* m, const MKL_INT* n,
             const float* alpha, const float* beta, float* a,
             const MKL_INT* lda ) NOTHROW;
void SLASET_( const char* uplo, const MKL_INT* m, const MKL_INT* n,
              const float* alpha, const float* beta, float* a,
              const MKL_INT* lda ) NOTHROW;
void slaset( const char* uplo, const MKL_INT* m, const MKL_INT* n,
             const float* alpha, const float* beta, float* a,
             const MKL_INT* lda ) NOTHROW;
void slaset_( const char* uplo, const MKL_INT* m, const MKL_INT* n,
              const float* alpha, const float* beta, float* a,
              const MKL_INT* lda ) NOTHROW;

void SLASQ1( const MKL_INT* n, float* d, float* e, float* work,
             MKL_INT* info ) NOTHROW;
void SLASQ1_( const MKL_INT* n, float* d, float* e, float* work,
              MKL_INT* info ) NOTHROW;
void slasq1( const MKL_INT* n, float* d, float* e, float* work,
             MKL_INT* info ) NOTHROW;
void slasq1_( const MKL_INT* n, float* d, float* e, float* work,
              MKL_INT* info ) NOTHROW;

void SLASQ2( const MKL_INT* n, float* z, MKL_INT* info ) NOTHROW;
void SLASQ2_( const MKL_INT* n, float* z, MKL_INT* info ) NOTHROW;
void slasq2( const MKL_INT* n, float* z, MKL_INT* info ) NOTHROW;
void slasq2_( const MKL_INT* n, float* z, MKL_INT* info ) NOTHROW;

void SLASQ3( const MKL_INT* i0, const MKL_INT* n0, const float* z, MKL_INT* pp,
             float* dmin, float* sigma, float* desig, const float* qmax,
             MKL_INT* nfail, MKL_INT* iter, MKL_INT* ndiv, const MKL_INT* ieee,
             MKL_INT* ttype, float* dmin1, float* dmin2, float* dn, float* dn1,
             float* dn2, float* g, float* tau ) NOTHROW;
void SLASQ3_( const MKL_INT* i0, const MKL_INT* n0, const float* z,
              MKL_INT* pp, float* dmin, float* sigma, float* desig,
              const float* qmax, MKL_INT* nfail, MKL_INT* iter, MKL_INT* ndiv,
              const MKL_INT* ieee, MKL_INT* ttype, float* dmin1, float* dmin2,
              float* dn, float* dn1, float* dn2, float* g, float* tau ) NOTHROW;
void slasq3( const MKL_INT* i0, const MKL_INT* n0, const float* z, MKL_INT* pp,
             float* dmin, float* sigma, float* desig, const float* qmax,
             MKL_INT* nfail, MKL_INT* iter, MKL_INT* ndiv, const MKL_INT* ieee,
             MKL_INT* ttype, float* dmin1, float* dmin2, float* dn, float* dn1,
             float* dn2, float* g, float* tau ) NOTHROW;
void slasq3_( const MKL_INT* i0, const MKL_INT* n0, const float* z,
              MKL_INT* pp, float* dmin, float* sigma, float* desig,
              const float* qmax, MKL_INT* nfail, MKL_INT* iter, MKL_INT* ndiv,
              const MKL_INT* ieee, MKL_INT* ttype, float* dmin1, float* dmin2,
              float* dn, float* dn1, float* dn2, float* g, float* tau ) NOTHROW;

void SLASQ4( const MKL_INT* i0, const MKL_INT* n0, const float* z,
             const MKL_INT* pp, MKL_INT* n0in, const float* dmin,
             const float* dmin1, const float* dmin2, const float* dn,
             const float* dn1, const float* dn2, float* tau, MKL_INT* ttype,
             float* g ) NOTHROW;
void SLASQ4_( const MKL_INT* i0, const MKL_INT* n0, const float* z,
              const MKL_INT* pp, MKL_INT* n0in, const float* dmin,
              const float* dmin1, const float* dmin2, const float* dn,
              const float* dn1, const float* dn2, float* tau, MKL_INT* ttype,
              float* g ) NOTHROW;
void slasq4( const MKL_INT* i0, const MKL_INT* n0, const float* z,
             const MKL_INT* pp, MKL_INT* n0in, const float* dmin,
             const float* dmin1, const float* dmin2, const float* dn,
             const float* dn1, const float* dn2, float* tau, MKL_INT* ttype,
             float* g ) NOTHROW;
void slasq4_( const MKL_INT* i0, const MKL_INT* n0, const float* z,
              const MKL_INT* pp, MKL_INT* n0in, const float* dmin,
              const float* dmin1, const float* dmin2, const float* dn,
              const float* dn1, const float* dn2, float* tau, MKL_INT* ttype,
              float* g ) NOTHROW;

void SLASQ5( const MKL_INT* i0, const MKL_INT* n0, const float* z,
             const MKL_INT* pp, const float* tau, const float* sigma,
             float* dmin, float* dmin1, float* dmin2, float* dn,
             float* dnm1, float* dnm2, const MKL_INT* ieee,
             const float* eps ) NOTHROW;
void SLASQ5_( const MKL_INT* i0, const MKL_INT* n0, const float* z,
              const MKL_INT* pp, const float* tau, const float* sigma,
              float* dmin, float* dmin1, float* dmin2, float* dn,
              float* dnm1, float* dnm2, const MKL_INT* ieee,
              const float* eps ) NOTHROW;
void slasq5( const MKL_INT* i0, const MKL_INT* n0, const float* z,
             const MKL_INT* pp, const float* tau, const float* sigma,
             float* dmin, float* dmin1, float* dmin2, float* dn,
             float* dnm1, float* dnm2, const MKL_INT* ieee,
             const float* eps ) NOTHROW;
void slasq5_( const MKL_INT* i0, const MKL_INT* n0, const float* z,
              const MKL_INT* pp, const float* tau, const float* sigma,
              float* dmin, float* dmin1, float* dmin2, float* dn,
              float* dnm1, float* dnm2, const MKL_INT* ieee,
              const float* eps ) NOTHROW;

void SLASQ6( const MKL_INT* i0, const MKL_INT* n0, const float* z,
             const MKL_INT* pp, float* dmin, float* dmin1, float* dmin2,
             float* dn, float* dnm1, float* dnm2 ) NOTHROW;
void SLASQ6_( const MKL_INT* i0, const MKL_INT* n0, const float* z,
              const MKL_INT* pp, float* dmin, float* dmin1, float* dmin2,
              float* dn, float* dnm1, float* dnm2 ) NOTHROW;
void slasq6( const MKL_INT* i0, const MKL_INT* n0, const float* z,
             const MKL_INT* pp, float* dmin, float* dmin1, float* dmin2,
             float* dn, float* dnm1, float* dnm2 ) NOTHROW;
void slasq6_( const MKL_INT* i0, const MKL_INT* n0, const float* z,
              const MKL_INT* pp, float* dmin, float* dmin1, float* dmin2,
              float* dn, float* dnm1, float* dnm2 ) NOTHROW;

void SLASR( const char* side, const char* pivot, const char* direct,
            const MKL_INT* m, const MKL_INT* n, const float* c, const float* s,
            float* a, const MKL_INT* lda ) NOTHROW;
void SLASR_( const char* side, const char* pivot, const char* direct,
             const MKL_INT* m, const MKL_INT* n, const float* c,
             const float* s, float* a, const MKL_INT* lda ) NOTHROW;
void slasr( const char* side, const char* pivot, const char* direct,
            const MKL_INT* m, const MKL_INT* n, const float* c, const float* s,
            float* a, const MKL_INT* lda ) NOTHROW;
void slasr_( const char* side, const char* pivot, const char* direct,
             const MKL_INT* m, const MKL_INT* n, const float* c,
             const float* s, float* a, const MKL_INT* lda ) NOTHROW;

void SLASRT( const char* id, const MKL_INT* n, float* d, MKL_INT* info ) NOTHROW;
void SLASRT_( const char* id, const MKL_INT* n, float* d, MKL_INT* info ) NOTHROW;
void slasrt( const char* id, const MKL_INT* n, float* d, MKL_INT* info ) NOTHROW;
void slasrt_( const char* id, const MKL_INT* n, float* d, MKL_INT* info ) NOTHROW;

void SLASSQ( const MKL_INT* n, const float* x, const MKL_INT* incx,
             float* scale, float* sumsq ) NOTHROW;
void SLASSQ_( const MKL_INT* n, const float* x, const MKL_INT* incx,
              float* scale, float* sumsq ) NOTHROW;
void slassq( const MKL_INT* n, const float* x, const MKL_INT* incx,
             float* scale, float* sumsq ) NOTHROW;
void slassq_( const MKL_INT* n, const float* x, const MKL_INT* incx,
              float* scale, float* sumsq ) NOTHROW;

void SLASV2( const float* f, const float* g, const float* h, float* ssmin,
             float* ssmax, float* snr, float* csr, float* snl, float* csl ) NOTHROW;
void SLASV2_( const float* f, const float* g, const float* h, float* ssmin,
              float* ssmax, float* snr, float* csr, float* snl, float* csl ) NOTHROW;
void slasv2( const float* f, const float* g, const float* h, float* ssmin,
             float* ssmax, float* snr, float* csr, float* snl, float* csl ) NOTHROW;
void slasv2_( const float* f, const float* g, const float* h, float* ssmin,
              float* ssmax, float* snr, float* csr, float* snl, float* csl ) NOTHROW;

void SLASWP( const MKL_INT* n, float* a, const MKL_INT* lda, const MKL_INT* k1,
             const MKL_INT* k2, const MKL_INT* ipiv, const MKL_INT* incx ) NOTHROW;
void SLASWP_( const MKL_INT* n, float* a, const MKL_INT* lda,
              const MKL_INT* k1, const MKL_INT* k2, const MKL_INT* ipiv,
              const MKL_INT* incx ) NOTHROW;
void slaswp( const MKL_INT* n, float* a, const MKL_INT* lda, const MKL_INT* k1,
             const MKL_INT* k2, const MKL_INT* ipiv, const MKL_INT* incx ) NOTHROW;
void slaswp_( const MKL_INT* n, float* a, const MKL_INT* lda,
              const MKL_INT* k1, const MKL_INT* k2, const MKL_INT* ipiv,
              const MKL_INT* incx ) NOTHROW;

void SLASY2( const MKL_INT* ltranl, const MKL_INT* ltranr, const MKL_INT* isgn,
             const MKL_INT* n1, const MKL_INT* n2, const float* tl,
             const MKL_INT* ldtl, const float* tr, const MKL_INT* ldtr,
             const float* b, const MKL_INT* ldb, float* scale, float* x,
             const MKL_INT* ldx, float* xnorm, MKL_INT* info ) NOTHROW;
void SLASY2_( const MKL_INT* ltranl, const MKL_INT* ltranr,
              const MKL_INT* isgn, const MKL_INT* n1, const MKL_INT* n2,
              const float* tl, const MKL_INT* ldtl, const float* tr,
              const MKL_INT* ldtr, const float* b, const MKL_INT* ldb,
              float* scale, float* x, const MKL_INT* ldx, float* xnorm,
              MKL_INT* info ) NOTHROW;
void slasy2( const MKL_INT* ltranl, const MKL_INT* ltranr, const MKL_INT* isgn,
             const MKL_INT* n1, const MKL_INT* n2, const float* tl,
             const MKL_INT* ldtl, const float* tr, const MKL_INT* ldtr,
             const float* b, const MKL_INT* ldb, float* scale, float* x,
             const MKL_INT* ldx, float* xnorm, MKL_INT* info ) NOTHROW;
void slasy2_( const MKL_INT* ltranl, const MKL_INT* ltranr,
              const MKL_INT* isgn, const MKL_INT* n1, const MKL_INT* n2,
              const float* tl, const MKL_INT* ldtl, const float* tr,
              const MKL_INT* ldtr, const float* b, const MKL_INT* ldb,
              float* scale, float* x, const MKL_INT* ldx, float* xnorm,
              MKL_INT* info ) NOTHROW;

void SLASYF( const char* uplo, const MKL_INT* n, const MKL_INT* nb,
             MKL_INT* kb, float* a, const MKL_INT* lda, MKL_INT* ipiv,
             float* w, const MKL_INT* ldw, MKL_INT* info ) NOTHROW;
void SLASYF_( const char* uplo, const MKL_INT* n, const MKL_INT* nb,
              MKL_INT* kb, float* a, const MKL_INT* lda, MKL_INT* ipiv,
              float* w, const MKL_INT* ldw, MKL_INT* info ) NOTHROW;
void slasyf( const char* uplo, const MKL_INT* n, const MKL_INT* nb,
             MKL_INT* kb, float* a, const MKL_INT* lda, MKL_INT* ipiv,
             float* w, const MKL_INT* ldw, MKL_INT* info ) NOTHROW;
void slasyf_( const char* uplo, const MKL_INT* n, const MKL_INT* nb,
              MKL_INT* kb, float* a, const MKL_INT* lda, MKL_INT* ipiv,
              float* w, const MKL_INT* ldw, MKL_INT* info ) NOTHROW;

void SLATBS( const char* uplo, const char* trans, const char* diag,
             const char* normin, const MKL_INT* n, const MKL_INT* kd,
             const float* ab, const MKL_INT* ldab, float* x, float* scale,
             float* cnorm, MKL_INT* info ) NOTHROW;
void SLATBS_( const char* uplo, const char* trans, const char* diag,
              const char* normin, const MKL_INT* n, const MKL_INT* kd,
              const float* ab, const MKL_INT* ldab, float* x, float* scale,
              float* cnorm, MKL_INT* info ) NOTHROW;
void slatbs( const char* uplo, const char* trans, const char* diag,
             const char* normin, const MKL_INT* n, const MKL_INT* kd,
             const float* ab, const MKL_INT* ldab, float* x, float* scale,
             float* cnorm, MKL_INT* info ) NOTHROW;
void slatbs_( const char* uplo, const char* trans, const char* diag,
              const char* normin, const MKL_INT* n, const MKL_INT* kd,
              const float* ab, const MKL_INT* ldab, float* x, float* scale,
              float* cnorm, MKL_INT* info ) NOTHROW;

void SLATDF( const MKL_INT* ijob, const MKL_INT* n, const float* z,
             const MKL_INT* ldz, float* rhs, float* rdsum, float* rdscal,
             const MKL_INT* ipiv, const MKL_INT* jpiv ) NOTHROW;
void SLATDF_( const MKL_INT* ijob, const MKL_INT* n, const float* z,
              const MKL_INT* ldz, float* rhs, float* rdsum, float* rdscal,
              const MKL_INT* ipiv, const MKL_INT* jpiv ) NOTHROW;
void slatdf( const MKL_INT* ijob, const MKL_INT* n, const float* z,
             const MKL_INT* ldz, float* rhs, float* rdsum, float* rdscal,
             const MKL_INT* ipiv, const MKL_INT* jpiv ) NOTHROW;
void slatdf_( const MKL_INT* ijob, const MKL_INT* n, const float* z,
              const MKL_INT* ldz, float* rhs, float* rdsum, float* rdscal,
              const MKL_INT* ipiv, const MKL_INT* jpiv ) NOTHROW;

void SLATPS( const char* uplo, const char* trans, const char* diag,
             const char* normin, const MKL_INT* n, const float* ap, float* x,
             float* scale, float* cnorm, MKL_INT* info ) NOTHROW;
void SLATPS_( const char* uplo, const char* trans, const char* diag,
              const char* normin, const MKL_INT* n, const float* ap, float* x,
              float* scale, float* cnorm, MKL_INT* info ) NOTHROW;
void slatps( const char* uplo, const char* trans, const char* diag,
             const char* normin, const MKL_INT* n, const float* ap, float* x,
             float* scale, float* cnorm, MKL_INT* info ) NOTHROW;
void slatps_( const char* uplo, const char* trans, const char* diag,
              const char* normin, const MKL_INT* n, const float* ap, float* x,
              float* scale, float* cnorm, MKL_INT* info ) NOTHROW;

void SLATRD( const char* uplo, const MKL_INT* n, const MKL_INT* nb, float* a,
             const MKL_INT* lda, float* e, float* tau, float* w,
             const MKL_INT* ldw ) NOTHROW;
void SLATRD_( const char* uplo, const MKL_INT* n, const MKL_INT* nb, float* a,
              const MKL_INT* lda, float* e, float* tau, float* w,
              const MKL_INT* ldw ) NOTHROW;
void slatrd( const char* uplo, const MKL_INT* n, const MKL_INT* nb, float* a,
             const MKL_INT* lda, float* e, float* tau, float* w,
             const MKL_INT* ldw ) NOTHROW;
void slatrd_( const char* uplo, const MKL_INT* n, const MKL_INT* nb, float* a,
              const MKL_INT* lda, float* e, float* tau, float* w,
              const MKL_INT* ldw ) NOTHROW;

void SLATRS( const char* uplo, const char* trans, const char* diag,
             const char* normin, const MKL_INT* n, const float* a,
             const MKL_INT* lda, float* x, float* scale, float* cnorm,
             MKL_INT* info ) NOTHROW;
void SLATRS_( const char* uplo, const char* trans, const char* diag,
              const char* normin, const MKL_INT* n, const float* a,
              const MKL_INT* lda, float* x, float* scale, float* cnorm,
              MKL_INT* info ) NOTHROW;
void slatrs( const char* uplo, const char* trans, const char* diag,
             const char* normin, const MKL_INT* n, const float* a,
             const MKL_INT* lda, float* x, float* scale, float* cnorm,
             MKL_INT* info ) NOTHROW;
void slatrs_( const char* uplo, const char* trans, const char* diag,
              const char* normin, const MKL_INT* n, const float* a,
              const MKL_INT* lda, float* x, float* scale, float* cnorm,
              MKL_INT* info ) NOTHROW;

void SLATRZ( const MKL_INT* m, const MKL_INT* n, const MKL_INT* l, float* a,
             const MKL_INT* lda, float* tau, float* work ) NOTHROW;
void SLATRZ_( const MKL_INT* m, const MKL_INT* n, const MKL_INT* l, float* a,
              const MKL_INT* lda, float* tau, float* work ) NOTHROW;
void slatrz( const MKL_INT* m, const MKL_INT* n, const MKL_INT* l, float* a,
             const MKL_INT* lda, float* tau, float* work ) NOTHROW;
void slatrz_( const MKL_INT* m, const MKL_INT* n, const MKL_INT* l, float* a,
              const MKL_INT* lda, float* tau, float* work ) NOTHROW;

void SLATZM( const char* side, const MKL_INT* m, const MKL_INT* n,
             const float* v, const MKL_INT* incv, const float* tau, float* c1,
             float* c2, const MKL_INT* ldc, float* work ) NOTHROW;
void SLATZM_( const char* side, const MKL_INT* m, const MKL_INT* n,
              const float* v, const MKL_INT* incv, const float* tau, float* c1,
              float* c2, const MKL_INT* ldc, float* work ) NOTHROW;
void slatzm( const char* side, const MKL_INT* m, const MKL_INT* n,
             const float* v, const MKL_INT* incv, const float* tau, float* c1,
             float* c2, const MKL_INT* ldc, float* work ) NOTHROW;
void slatzm_( const char* side, const MKL_INT* m, const MKL_INT* n,
              const float* v, const MKL_INT* incv, const float* tau, float* c1,
              float* c2, const MKL_INT* ldc, float* work ) NOTHROW;

void SLAUU2( const char* uplo, const MKL_INT* n, float* a, const MKL_INT* lda,
             MKL_INT* info ) NOTHROW;
void SLAUU2_( const char* uplo, const MKL_INT* n, float* a, const MKL_INT* lda,
              MKL_INT* info ) NOTHROW;
void slauu2( const char* uplo, const MKL_INT* n, float* a, const MKL_INT* lda,
             MKL_INT* info ) NOTHROW;
void slauu2_( const char* uplo, const MKL_INT* n, float* a, const MKL_INT* lda,
              MKL_INT* info ) NOTHROW;

void SLAUUM( const char* uplo, const MKL_INT* n, float* a, const MKL_INT* lda,
             MKL_INT* info ) NOTHROW;
void SLAUUM_( const char* uplo, const MKL_INT* n, float* a, const MKL_INT* lda,
              MKL_INT* info ) NOTHROW;
void slauum( const char* uplo, const MKL_INT* n, float* a, const MKL_INT* lda,
             MKL_INT* info ) NOTHROW;
void slauum_( const char* uplo, const MKL_INT* n, float* a, const MKL_INT* lda,
              MKL_INT* info ) NOTHROW;

void SOPGTR( const char* uplo, const MKL_INT* n, const float* ap,
             const float* tau, float* q, const MKL_INT* ldq, float* work,
             MKL_INT* info ) NOTHROW;
void SOPGTR_( const char* uplo, const MKL_INT* n, const float* ap,
              const float* tau, float* q, const MKL_INT* ldq, float* work,
              MKL_INT* info ) NOTHROW;
void sopgtr( const char* uplo, const MKL_INT* n, const float* ap,
             const float* tau, float* q, const MKL_INT* ldq, float* work,
             MKL_INT* info ) NOTHROW;
void sopgtr_( const char* uplo, const MKL_INT* n, const float* ap,
              const float* tau, float* q, const MKL_INT* ldq, float* work,
              MKL_INT* info ) NOTHROW;

void SOPMTR( const char* side, const char* uplo, const char* trans,
             const MKL_INT* m, const MKL_INT* n, const float* ap,
             const float* tau, float* c, const MKL_INT* ldc, float* work,
             MKL_INT* info ) NOTHROW;
void SOPMTR_( const char* side, const char* uplo, const char* trans,
              const MKL_INT* m, const MKL_INT* n, const float* ap,
              const float* tau, float* c, const MKL_INT* ldc, float* work,
              MKL_INT* info ) NOTHROW;
void sopmtr( const char* side, const char* uplo, const char* trans,
             const MKL_INT* m, const MKL_INT* n, const float* ap,
             const float* tau, float* c, const MKL_INT* ldc, float* work,
             MKL_INT* info ) NOTHROW;
void sopmtr_( const char* side, const char* uplo, const char* trans,
              const MKL_INT* m, const MKL_INT* n, const float* ap,
              const float* tau, float* c, const MKL_INT* ldc, float* work,
              MKL_INT* info ) NOTHROW;

void SORG2L( const MKL_INT* m, const MKL_INT* n, const MKL_INT* k, float* a,
             const MKL_INT* lda, const float* tau, float* work,
             MKL_INT* info ) NOTHROW;
void SORG2L_( const MKL_INT* m, const MKL_INT* n, const MKL_INT* k, float* a,
              const MKL_INT* lda, const float* tau, float* work,
              MKL_INT* info ) NOTHROW;
void sorg2l( const MKL_INT* m, const MKL_INT* n, const MKL_INT* k, float* a,
             const MKL_INT* lda, const float* tau, float* work,
             MKL_INT* info ) NOTHROW;
void sorg2l_( const MKL_INT* m, const MKL_INT* n, const MKL_INT* k, float* a,
              const MKL_INT* lda, const float* tau, float* work,
              MKL_INT* info ) NOTHROW;

void SORG2R( const MKL_INT* m, const MKL_INT* n, const MKL_INT* k, float* a,
             const MKL_INT* lda, const float* tau, float* work,
             MKL_INT* info ) NOTHROW;
void SORG2R_( const MKL_INT* m, const MKL_INT* n, const MKL_INT* k, float* a,
              const MKL_INT* lda, const float* tau, float* work,
              MKL_INT* info ) NOTHROW;
void sorg2r( const MKL_INT* m, const MKL_INT* n, const MKL_INT* k, float* a,
             const MKL_INT* lda, const float* tau, float* work,
             MKL_INT* info ) NOTHROW;
void sorg2r_( const MKL_INT* m, const MKL_INT* n, const MKL_INT* k, float* a,
              const MKL_INT* lda, const float* tau, float* work,
              MKL_INT* info ) NOTHROW;

void SORGBR( const char* vect, const MKL_INT* m, const MKL_INT* n,
             const MKL_INT* k, float* a, const MKL_INT* lda, const float* tau,
             float* work, const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void SORGBR_( const char* vect, const MKL_INT* m, const MKL_INT* n,
              const MKL_INT* k, float* a, const MKL_INT* lda, const float* tau,
              float* work, const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void sorgbr( const char* vect, const MKL_INT* m, const MKL_INT* n,
             const MKL_INT* k, float* a, const MKL_INT* lda, const float* tau,
             float* work, const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void sorgbr_( const char* vect, const MKL_INT* m, const MKL_INT* n,
              const MKL_INT* k, float* a, const MKL_INT* lda, const float* tau,
              float* work, const MKL_INT* lwork, MKL_INT* info ) NOTHROW;

void SORGHR( const MKL_INT* n, const MKL_INT* ilo, const MKL_INT* ihi,
             float* a, const MKL_INT* lda, const float* tau, float* work,
             const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void SORGHR_( const MKL_INT* n, const MKL_INT* ilo, const MKL_INT* ihi,
              float* a, const MKL_INT* lda, const float* tau, float* work,
              const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void sorghr( const MKL_INT* n, const MKL_INT* ilo, const MKL_INT* ihi,
             float* a, const MKL_INT* lda, const float* tau, float* work,
             const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void sorghr_( const MKL_INT* n, const MKL_INT* ilo, const MKL_INT* ihi,
              float* a, const MKL_INT* lda, const float* tau, float* work,
              const MKL_INT* lwork, MKL_INT* info ) NOTHROW;

void SORGL2( const MKL_INT* m, const MKL_INT* n, const MKL_INT* k, float* a,
             const MKL_INT* lda, const float* tau, float* work,
             MKL_INT* info ) NOTHROW;
void SORGL2_( const MKL_INT* m, const MKL_INT* n, const MKL_INT* k, float* a,
              const MKL_INT* lda, const float* tau, float* work,
              MKL_INT* info ) NOTHROW;
void sorgl2( const MKL_INT* m, const MKL_INT* n, const MKL_INT* k, float* a,
             const MKL_INT* lda, const float* tau, float* work,
             MKL_INT* info ) NOTHROW;
void sorgl2_( const MKL_INT* m, const MKL_INT* n, const MKL_INT* k, float* a,
              const MKL_INT* lda, const float* tau, float* work,
              MKL_INT* info ) NOTHROW;

void SORGLQ( const MKL_INT* m, const MKL_INT* n, const MKL_INT* k, float* a,
             const MKL_INT* lda, const float* tau, float* work,
             const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void SORGLQ_( const MKL_INT* m, const MKL_INT* n, const MKL_INT* k, float* a,
              const MKL_INT* lda, const float* tau, float* work,
              const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void sorglq( const MKL_INT* m, const MKL_INT* n, const MKL_INT* k, float* a,
             const MKL_INT* lda, const float* tau, float* work,
             const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void sorglq_( const MKL_INT* m, const MKL_INT* n, const MKL_INT* k, float* a,
              const MKL_INT* lda, const float* tau, float* work,
              const MKL_INT* lwork, MKL_INT* info ) NOTHROW;

void SORGQL( const MKL_INT* m, const MKL_INT* n, const MKL_INT* k, float* a,
             const MKL_INT* lda, const float* tau, float* work,
             const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void SORGQL_( const MKL_INT* m, const MKL_INT* n, const MKL_INT* k, float* a,
              const MKL_INT* lda, const float* tau, float* work,
              const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void sorgql( const MKL_INT* m, const MKL_INT* n, const MKL_INT* k, float* a,
             const MKL_INT* lda, const float* tau, float* work,
             const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void sorgql_( const MKL_INT* m, const MKL_INT* n, const MKL_INT* k, float* a,
              const MKL_INT* lda, const float* tau, float* work,
              const MKL_INT* lwork, MKL_INT* info ) NOTHROW;

void SORGQR( const MKL_INT* m, const MKL_INT* n, const MKL_INT* k, float* a,
             const MKL_INT* lda, const float* tau, float* work,
             const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void SORGQR_( const MKL_INT* m, const MKL_INT* n, const MKL_INT* k, float* a,
              const MKL_INT* lda, const float* tau, float* work,
              const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void sorgqr( const MKL_INT* m, const MKL_INT* n, const MKL_INT* k, float* a,
             const MKL_INT* lda, const float* tau, float* work,
             const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void sorgqr_( const MKL_INT* m, const MKL_INT* n, const MKL_INT* k, float* a,
              const MKL_INT* lda, const float* tau, float* work,
              const MKL_INT* lwork, MKL_INT* info ) NOTHROW;

void SORGR2( const MKL_INT* m, const MKL_INT* n, const MKL_INT* k, float* a,
             const MKL_INT* lda, const float* tau, float* work,
             MKL_INT* info ) NOTHROW;
void SORGR2_( const MKL_INT* m, const MKL_INT* n, const MKL_INT* k, float* a,
              const MKL_INT* lda, const float* tau, float* work,
              MKL_INT* info ) NOTHROW;
void sorgr2( const MKL_INT* m, const MKL_INT* n, const MKL_INT* k, float* a,
             const MKL_INT* lda, const float* tau, float* work,
             MKL_INT* info ) NOTHROW;
void sorgr2_( const MKL_INT* m, const MKL_INT* n, const MKL_INT* k, float* a,
              const MKL_INT* lda, const float* tau, float* work,
              MKL_INT* info ) NOTHROW;

void SORGRQ( const MKL_INT* m, const MKL_INT* n, const MKL_INT* k, float* a,
             const MKL_INT* lda, const float* tau, float* work,
             const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void SORGRQ_( const MKL_INT* m, const MKL_INT* n, const MKL_INT* k, float* a,
              const MKL_INT* lda, const float* tau, float* work,
              const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void sorgrq( const MKL_INT* m, const MKL_INT* n, const MKL_INT* k, float* a,
             const MKL_INT* lda, const float* tau, float* work,
             const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void sorgrq_( const MKL_INT* m, const MKL_INT* n, const MKL_INT* k, float* a,
              const MKL_INT* lda, const float* tau, float* work,
              const MKL_INT* lwork, MKL_INT* info ) NOTHROW;

void SORGTR( const char* uplo, const MKL_INT* n, float* a, const MKL_INT* lda,
             const float* tau, float* work, const MKL_INT* lwork,
             MKL_INT* info ) NOTHROW;
void SORGTR_( const char* uplo, const MKL_INT* n, float* a, const MKL_INT* lda,
              const float* tau, float* work, const MKL_INT* lwork,
              MKL_INT* info ) NOTHROW;
void sorgtr( const char* uplo, const MKL_INT* n, float* a, const MKL_INT* lda,
             const float* tau, float* work, const MKL_INT* lwork,
             MKL_INT* info ) NOTHROW;
void sorgtr_( const char* uplo, const MKL_INT* n, float* a, const MKL_INT* lda,
              const float* tau, float* work, const MKL_INT* lwork,
              MKL_INT* info ) NOTHROW;

void SORM2L( const char* side, const char* trans, const MKL_INT* m,
             const MKL_INT* n, const MKL_INT* k, const float* a,
             const MKL_INT* lda, const float* tau, float* c,
             const MKL_INT* ldc, float* work, MKL_INT* info ) NOTHROW;
void SORM2L_( const char* side, const char* trans, const MKL_INT* m,
              const MKL_INT* n, const MKL_INT* k, const float* a,
              const MKL_INT* lda, const float* tau, float* c,
              const MKL_INT* ldc, float* work, MKL_INT* info ) NOTHROW;
void sorm2l( const char* side, const char* trans, const MKL_INT* m,
             const MKL_INT* n, const MKL_INT* k, const float* a,
             const MKL_INT* lda, const float* tau, float* c,
             const MKL_INT* ldc, float* work, MKL_INT* info ) NOTHROW;
void sorm2l_( const char* side, const char* trans, const MKL_INT* m,
              const MKL_INT* n, const MKL_INT* k, const float* a,
              const MKL_INT* lda, const float* tau, float* c,
              const MKL_INT* ldc, float* work, MKL_INT* info ) NOTHROW;

void SORM2R( const char* side, const char* trans, const MKL_INT* m,
             const MKL_INT* n, const MKL_INT* k, const float* a,
             const MKL_INT* lda, const float* tau, float* c,
             const MKL_INT* ldc, float* work, MKL_INT* info ) NOTHROW;
void SORM2R_( const char* side, const char* trans, const MKL_INT* m,
              const MKL_INT* n, const MKL_INT* k, const float* a,
              const MKL_INT* lda, const float* tau, float* c,
              const MKL_INT* ldc, float* work, MKL_INT* info ) NOTHROW;
void sorm2r( const char* side, const char* trans, const MKL_INT* m,
             const MKL_INT* n, const MKL_INT* k, const float* a,
             const MKL_INT* lda, const float* tau, float* c,
             const MKL_INT* ldc, float* work, MKL_INT* info ) NOTHROW;
void sorm2r_( const char* side, const char* trans, const MKL_INT* m,
              const MKL_INT* n, const MKL_INT* k, const float* a,
              const MKL_INT* lda, const float* tau, float* c,
              const MKL_INT* ldc, float* work, MKL_INT* info ) NOTHROW;

void SORMBR( const char* vect, const char* side, const char* trans,
             const MKL_INT* m, const MKL_INT* n, const MKL_INT* k,
             const float* a, const MKL_INT* lda, const float* tau, float* c,
             const MKL_INT* ldc, float* work, const MKL_INT* lwork,
             MKL_INT* info ) NOTHROW;
void SORMBR_( const char* vect, const char* side, const char* trans,
              const MKL_INT* m, const MKL_INT* n, const MKL_INT* k,
              const float* a, const MKL_INT* lda, const float* tau, float* c,
              const MKL_INT* ldc, float* work, const MKL_INT* lwork,
              MKL_INT* info ) NOTHROW;
void sormbr( const char* vect, const char* side, const char* trans,
             const MKL_INT* m, const MKL_INT* n, const MKL_INT* k,
             const float* a, const MKL_INT* lda, const float* tau, float* c,
             const MKL_INT* ldc, float* work, const MKL_INT* lwork,
             MKL_INT* info ) NOTHROW;
void sormbr_( const char* vect, const char* side, const char* trans,
              const MKL_INT* m, const MKL_INT* n, const MKL_INT* k,
              const float* a, const MKL_INT* lda, const float* tau, float* c,
              const MKL_INT* ldc, float* work, const MKL_INT* lwork,
              MKL_INT* info ) NOTHROW;

void SORMHR( const char* side, const char* trans, const MKL_INT* m,
             const MKL_INT* n, const MKL_INT* ilo, const MKL_INT* ihi,
             const float* a, const MKL_INT* lda, const float* tau, float* c,
             const MKL_INT* ldc, float* work, const MKL_INT* lwork,
             MKL_INT* info ) NOTHROW;
void SORMHR_( const char* side, const char* trans, const MKL_INT* m,
              const MKL_INT* n, const MKL_INT* ilo, const MKL_INT* ihi,
              const float* a, const MKL_INT* lda, const float* tau, float* c,
              const MKL_INT* ldc, float* work, const MKL_INT* lwork,
              MKL_INT* info ) NOTHROW;
void sormhr( const char* side, const char* trans, const MKL_INT* m,
             const MKL_INT* n, const MKL_INT* ilo, const MKL_INT* ihi,
             const float* a, const MKL_INT* lda, const float* tau, float* c,
             const MKL_INT* ldc, float* work, const MKL_INT* lwork,
             MKL_INT* info ) NOTHROW;
void sormhr_( const char* side, const char* trans, const MKL_INT* m,
              const MKL_INT* n, const MKL_INT* ilo, const MKL_INT* ihi,
              const float* a, const MKL_INT* lda, const float* tau, float* c,
              const MKL_INT* ldc, float* work, const MKL_INT* lwork,
              MKL_INT* info ) NOTHROW;

void SORML2( const char* side, const char* trans, const MKL_INT* m,
             const MKL_INT* n, const MKL_INT* k, const float* a,
             const MKL_INT* lda, const float* tau, float* c,
             const MKL_INT* ldc, float* work, MKL_INT* info ) NOTHROW;
void SORML2_( const char* side, const char* trans, const MKL_INT* m,
              const MKL_INT* n, const MKL_INT* k, const float* a,
              const MKL_INT* lda, const float* tau, float* c,
              const MKL_INT* ldc, float* work, MKL_INT* info ) NOTHROW;
void sorml2( const char* side, const char* trans, const MKL_INT* m,
             const MKL_INT* n, const MKL_INT* k, const float* a,
             const MKL_INT* lda, const float* tau, float* c,
             const MKL_INT* ldc, float* work, MKL_INT* info ) NOTHROW;
void sorml2_( const char* side, const char* trans, const MKL_INT* m,
              const MKL_INT* n, const MKL_INT* k, const float* a,
              const MKL_INT* lda, const float* tau, float* c,
              const MKL_INT* ldc, float* work, MKL_INT* info ) NOTHROW;

void SORMLQ( const char* side, const char* trans, const MKL_INT* m,
             const MKL_INT* n, const MKL_INT* k, const float* a,
             const MKL_INT* lda, const float* tau, float* c,
             const MKL_INT* ldc, float* work, const MKL_INT* lwork,
             MKL_INT* info ) NOTHROW;
void SORMLQ_( const char* side, const char* trans, const MKL_INT* m,
              const MKL_INT* n, const MKL_INT* k, const float* a,
              const MKL_INT* lda, const float* tau, float* c,
              const MKL_INT* ldc, float* work, const MKL_INT* lwork,
              MKL_INT* info ) NOTHROW;
void sormlq( const char* side, const char* trans, const MKL_INT* m,
             const MKL_INT* n, const MKL_INT* k, const float* a,
             const MKL_INT* lda, const float* tau, float* c,
             const MKL_INT* ldc, float* work, const MKL_INT* lwork,
             MKL_INT* info ) NOTHROW;
void sormlq_( const char* side, const char* trans, const MKL_INT* m,
              const MKL_INT* n, const MKL_INT* k, const float* a,
              const MKL_INT* lda, const float* tau, float* c,
              const MKL_INT* ldc, float* work, const MKL_INT* lwork,
              MKL_INT* info ) NOTHROW;

void SORMQL( const char* side, const char* trans, const MKL_INT* m,
             const MKL_INT* n, const MKL_INT* k, const float* a,
             const MKL_INT* lda, const float* tau, float* c,
             const MKL_INT* ldc, float* work, const MKL_INT* lwork,
             MKL_INT* info ) NOTHROW;
void SORMQL_( const char* side, const char* trans, const MKL_INT* m,
              const MKL_INT* n, const MKL_INT* k, const float* a,
              const MKL_INT* lda, const float* tau, float* c,
              const MKL_INT* ldc, float* work, const MKL_INT* lwork,
              MKL_INT* info ) NOTHROW;
void sormql( const char* side, const char* trans, const MKL_INT* m,
             const MKL_INT* n, const MKL_INT* k, const float* a,
             const MKL_INT* lda, const float* tau, float* c,
             const MKL_INT* ldc, float* work, const MKL_INT* lwork,
             MKL_INT* info ) NOTHROW;
void sormql_( const char* side, const char* trans, const MKL_INT* m,
              const MKL_INT* n, const MKL_INT* k, const float* a,
              const MKL_INT* lda, const float* tau, float* c,
              const MKL_INT* ldc, float* work, const MKL_INT* lwork,
              MKL_INT* info ) NOTHROW;

void SORMQR( const char* side, const char* trans, const MKL_INT* m,
             const MKL_INT* n, const MKL_INT* k, const float* a,
             const MKL_INT* lda, const float* tau, float* c,
             const MKL_INT* ldc, float* work, const MKL_INT* lwork,
             MKL_INT* info ) NOTHROW;
void SORMQR_( const char* side, const char* trans, const MKL_INT* m,
              const MKL_INT* n, const MKL_INT* k, const float* a,
              const MKL_INT* lda, const float* tau, float* c,
              const MKL_INT* ldc, float* work, const MKL_INT* lwork,
              MKL_INT* info ) NOTHROW;
void sormqr( const char* side, const char* trans, const MKL_INT* m,
             const MKL_INT* n, const MKL_INT* k, const float* a,
             const MKL_INT* lda, const float* tau, float* c,
             const MKL_INT* ldc, float* work, const MKL_INT* lwork,
             MKL_INT* info ) NOTHROW;
void sormqr_( const char* side, const char* trans, const MKL_INT* m,
              const MKL_INT* n, const MKL_INT* k, const float* a,
              const MKL_INT* lda, const float* tau, float* c,
              const MKL_INT* ldc, float* work, const MKL_INT* lwork,
              MKL_INT* info ) NOTHROW;

void SORMR2( const char* side, const char* trans, const MKL_INT* m,
             const MKL_INT* n, const MKL_INT* k, const float* a,
             const MKL_INT* lda, const float* tau, float* c,
             const MKL_INT* ldc, float* work, MKL_INT* info ) NOTHROW;
void SORMR2_( const char* side, const char* trans, const MKL_INT* m,
              const MKL_INT* n, const MKL_INT* k, const float* a,
              const MKL_INT* lda, const float* tau, float* c,
              const MKL_INT* ldc, float* work, MKL_INT* info ) NOTHROW;
void sormr2( const char* side, const char* trans, const MKL_INT* m,
             const MKL_INT* n, const MKL_INT* k, const float* a,
             const MKL_INT* lda, const float* tau, float* c,
             const MKL_INT* ldc, float* work, MKL_INT* info ) NOTHROW;
void sormr2_( const char* side, const char* trans, const MKL_INT* m,
              const MKL_INT* n, const MKL_INT* k, const float* a,
              const MKL_INT* lda, const float* tau, float* c,
              const MKL_INT* ldc, float* work, MKL_INT* info ) NOTHROW;

void SORMR3( const char* side, const char* trans, const MKL_INT* m,
             const MKL_INT* n, const MKL_INT* k, const MKL_INT* l,
             const float* a, const MKL_INT* lda, const float* tau, float* c,
             const MKL_INT* ldc, float* work, MKL_INT* info ) NOTHROW;
void SORMR3_( const char* side, const char* trans, const MKL_INT* m,
              const MKL_INT* n, const MKL_INT* k, const MKL_INT* l,
              const float* a, const MKL_INT* lda, const float* tau, float* c,
              const MKL_INT* ldc, float* work, MKL_INT* info ) NOTHROW;
void sormr3( const char* side, const char* trans, const MKL_INT* m,
             const MKL_INT* n, const MKL_INT* k, const MKL_INT* l,
             const float* a, const MKL_INT* lda, const float* tau, float* c,
             const MKL_INT* ldc, float* work, MKL_INT* info ) NOTHROW;
void sormr3_( const char* side, const char* trans, const MKL_INT* m,
              const MKL_INT* n, const MKL_INT* k, const MKL_INT* l,
              const float* a, const MKL_INT* lda, const float* tau, float* c,
              const MKL_INT* ldc, float* work, MKL_INT* info ) NOTHROW;

void SORMRQ( const char* side, const char* trans, const MKL_INT* m,
             const MKL_INT* n, const MKL_INT* k, const float* a,
             const MKL_INT* lda, const float* tau, float* c,
             const MKL_INT* ldc, float* work, const MKL_INT* lwork,
             MKL_INT* info ) NOTHROW;
void SORMRQ_( const char* side, const char* trans, const MKL_INT* m,
              const MKL_INT* n, const MKL_INT* k, const float* a,
              const MKL_INT* lda, const float* tau, float* c,
              const MKL_INT* ldc, float* work, const MKL_INT* lwork,
              MKL_INT* info ) NOTHROW;
void sormrq( const char* side, const char* trans, const MKL_INT* m,
             const MKL_INT* n, const MKL_INT* k, const float* a,
             const MKL_INT* lda, const float* tau, float* c,
             const MKL_INT* ldc, float* work, const MKL_INT* lwork,
             MKL_INT* info ) NOTHROW;
void sormrq_( const char* side, const char* trans, const MKL_INT* m,
              const MKL_INT* n, const MKL_INT* k, const float* a,
              const MKL_INT* lda, const float* tau, float* c,
              const MKL_INT* ldc, float* work, const MKL_INT* lwork,
              MKL_INT* info ) NOTHROW;

void SORMRZ( const char* side, const char* trans, const MKL_INT* m,
             const MKL_INT* n, const MKL_INT* k, const MKL_INT* l,
             const float* a, const MKL_INT* lda, const float* tau, float* c,
             const MKL_INT* ldc, float* work, const MKL_INT* lwork,
             MKL_INT* info ) NOTHROW;
void SORMRZ_( const char* side, const char* trans, const MKL_INT* m,
              const MKL_INT* n, const MKL_INT* k, const MKL_INT* l,
              const float* a, const MKL_INT* lda, const float* tau, float* c,
              const MKL_INT* ldc, float* work, const MKL_INT* lwork,
              MKL_INT* info ) NOTHROW;
void sormrz( const char* side, const char* trans, const MKL_INT* m,
             const MKL_INT* n, const MKL_INT* k, const MKL_INT* l,
             const float* a, const MKL_INT* lda, const float* tau, float* c,
             const MKL_INT* ldc, float* work, const MKL_INT* lwork,
             MKL_INT* info ) NOTHROW;
void sormrz_( const char* side, const char* trans, const MKL_INT* m,
              const MKL_INT* n, const MKL_INT* k, const MKL_INT* l,
              const float* a, const MKL_INT* lda, const float* tau, float* c,
              const MKL_INT* ldc, float* work, const MKL_INT* lwork,
              MKL_INT* info ) NOTHROW;

void SORMTR( const char* side, const char* uplo, const char* trans,
             const MKL_INT* m, const MKL_INT* n, const float* a,
             const MKL_INT* lda, const float* tau, float* c,
             const MKL_INT* ldc, float* work, const MKL_INT* lwork,
             MKL_INT* info ) NOTHROW;
void SORMTR_( const char* side, const char* uplo, const char* trans,
              const MKL_INT* m, const MKL_INT* n, const float* a,
              const MKL_INT* lda, const float* tau, float* c,
              const MKL_INT* ldc, float* work, const MKL_INT* lwork,
              MKL_INT* info ) NOTHROW;
void sormtr( const char* side, const char* uplo, const char* trans,
             const MKL_INT* m, const MKL_INT* n, const float* a,
             const MKL_INT* lda, const float* tau, float* c,
             const MKL_INT* ldc, float* work, const MKL_INT* lwork,
             MKL_INT* info ) NOTHROW;
void sormtr_( const char* side, const char* uplo, const char* trans,
              const MKL_INT* m, const MKL_INT* n, const float* a,
              const MKL_INT* lda, const float* tau, float* c,
              const MKL_INT* ldc, float* work, const MKL_INT* lwork,
              MKL_INT* info ) NOTHROW;

void SPBCON( const char* uplo, const MKL_INT* n, const MKL_INT* kd,
             const float* ab, const MKL_INT* ldab, const float* anorm,
             float* rcond, float* work, MKL_INT* iwork, MKL_INT* info ) NOTHROW;
void SPBCON_( const char* uplo, const MKL_INT* n, const MKL_INT* kd,
              const float* ab, const MKL_INT* ldab, const float* anorm,
              float* rcond, float* work, MKL_INT* iwork, MKL_INT* info ) NOTHROW;
void spbcon( const char* uplo, const MKL_INT* n, const MKL_INT* kd,
             const float* ab, const MKL_INT* ldab, const float* anorm,
             float* rcond, float* work, MKL_INT* iwork, MKL_INT* info ) NOTHROW;
void spbcon_( const char* uplo, const MKL_INT* n, const MKL_INT* kd,
              const float* ab, const MKL_INT* ldab, const float* anorm,
              float* rcond, float* work, MKL_INT* iwork, MKL_INT* info ) NOTHROW;

void SPBEQU( const char* uplo, const MKL_INT* n, const MKL_INT* kd,
             const float* ab, const MKL_INT* ldab, float* s, float* scond,
             float* amax, MKL_INT* info ) NOTHROW;
void SPBEQU_( const char* uplo, const MKL_INT* n, const MKL_INT* kd,
              const float* ab, const MKL_INT* ldab, float* s, float* scond,
              float* amax, MKL_INT* info ) NOTHROW;
void spbequ( const char* uplo, const MKL_INT* n, const MKL_INT* kd,
             const float* ab, const MKL_INT* ldab, float* s, float* scond,
             float* amax, MKL_INT* info ) NOTHROW;
void spbequ_( const char* uplo, const MKL_INT* n, const MKL_INT* kd,
              const float* ab, const MKL_INT* ldab, float* s, float* scond,
              float* amax, MKL_INT* info ) NOTHROW;

void SPBRFS( const char* uplo, const MKL_INT* n, const MKL_INT* kd,
             const MKL_INT* nrhs, const float* ab, const MKL_INT* ldab,
             const float* afb, const MKL_INT* ldafb, const float* b,
             const MKL_INT* ldb, float* x, const MKL_INT* ldx, float* ferr,
             float* berr, float* work, MKL_INT* iwork, MKL_INT* info ) NOTHROW;
void SPBRFS_( const char* uplo, const MKL_INT* n, const MKL_INT* kd,
              const MKL_INT* nrhs, const float* ab, const MKL_INT* ldab,
              const float* afb, const MKL_INT* ldafb, const float* b,
              const MKL_INT* ldb, float* x, const MKL_INT* ldx, float* ferr,
              float* berr, float* work, MKL_INT* iwork, MKL_INT* info ) NOTHROW;
void spbrfs( const char* uplo, const MKL_INT* n, const MKL_INT* kd,
             const MKL_INT* nrhs, const float* ab, const MKL_INT* ldab,
             const float* afb, const MKL_INT* ldafb, const float* b,
             const MKL_INT* ldb, float* x, const MKL_INT* ldx, float* ferr,
             float* berr, float* work, MKL_INT* iwork, MKL_INT* info ) NOTHROW;
void spbrfs_( const char* uplo, const MKL_INT* n, const MKL_INT* kd,
              const MKL_INT* nrhs, const float* ab, const MKL_INT* ldab,
              const float* afb, const MKL_INT* ldafb, const float* b,
              const MKL_INT* ldb, float* x, const MKL_INT* ldx, float* ferr,
              float* berr, float* work, MKL_INT* iwork, MKL_INT* info ) NOTHROW;

void SPBSTF( const char* uplo, const MKL_INT* n, const MKL_INT* kd, float* ab,
             const MKL_INT* ldab, MKL_INT* info ) NOTHROW;
void SPBSTF_( const char* uplo, const MKL_INT* n, const MKL_INT* kd, float* ab,
              const MKL_INT* ldab, MKL_INT* info ) NOTHROW;
void spbstf( const char* uplo, const MKL_INT* n, const MKL_INT* kd, float* ab,
             const MKL_INT* ldab, MKL_INT* info ) NOTHROW;
void spbstf_( const char* uplo, const MKL_INT* n, const MKL_INT* kd, float* ab,
              const MKL_INT* ldab, MKL_INT* info ) NOTHROW;

void SPBSV( const char* uplo, const MKL_INT* n, const MKL_INT* kd,
            const MKL_INT* nrhs, float* ab, const MKL_INT* ldab, float* b,
            const MKL_INT* ldb, MKL_INT* info ) NOTHROW;
void SPBSV_( const char* uplo, const MKL_INT* n, const MKL_INT* kd,
             const MKL_INT* nrhs, float* ab, const MKL_INT* ldab, float* b,
             const MKL_INT* ldb, MKL_INT* info ) NOTHROW;
void spbsv( const char* uplo, const MKL_INT* n, const MKL_INT* kd,
            const MKL_INT* nrhs, float* ab, const MKL_INT* ldab, float* b,
            const MKL_INT* ldb, MKL_INT* info ) NOTHROW;
void spbsv_( const char* uplo, const MKL_INT* n, const MKL_INT* kd,
             const MKL_INT* nrhs, float* ab, const MKL_INT* ldab, float* b,
             const MKL_INT* ldb, MKL_INT* info ) NOTHROW;

void SPBSVX( const char* fact, const char* uplo, const MKL_INT* n,
             const MKL_INT* kd, const MKL_INT* nrhs, float* ab,
             const MKL_INT* ldab, float* afb, const MKL_INT* ldafb,
             char* equed, float* s, float* b, const MKL_INT* ldb, float* x,
             const MKL_INT* ldx, float* rcond, float* ferr, float* berr,
             float* work, MKL_INT* iwork, MKL_INT* info ) NOTHROW;
void SPBSVX_( const char* fact, const char* uplo, const MKL_INT* n,
              const MKL_INT* kd, const MKL_INT* nrhs, float* ab,
              const MKL_INT* ldab, float* afb, const MKL_INT* ldafb,
              char* equed, float* s, float* b, const MKL_INT* ldb, float* x,
              const MKL_INT* ldx, float* rcond, float* ferr, float* berr,
              float* work, MKL_INT* iwork, MKL_INT* info ) NOTHROW;
void spbsvx( const char* fact, const char* uplo, const MKL_INT* n,
             const MKL_INT* kd, const MKL_INT* nrhs, float* ab,
             const MKL_INT* ldab, float* afb, const MKL_INT* ldafb,
             char* equed, float* s, float* b, const MKL_INT* ldb, float* x,
             const MKL_INT* ldx, float* rcond, float* ferr, float* berr,
             float* work, MKL_INT* iwork, MKL_INT* info ) NOTHROW;
void spbsvx_( const char* fact, const char* uplo, const MKL_INT* n,
              const MKL_INT* kd, const MKL_INT* nrhs, float* ab,
              const MKL_INT* ldab, float* afb, const MKL_INT* ldafb,
              char* equed, float* s, float* b, const MKL_INT* ldb, float* x,
              const MKL_INT* ldx, float* rcond, float* ferr, float* berr,
              float* work, MKL_INT* iwork, MKL_INT* info ) NOTHROW;

void SPBTF2( const char* uplo, const MKL_INT* n, const MKL_INT* kd, float* ab,
             const MKL_INT* ldab, MKL_INT* info ) NOTHROW;
void SPBTF2_( const char* uplo, const MKL_INT* n, const MKL_INT* kd, float* ab,
              const MKL_INT* ldab, MKL_INT* info ) NOTHROW;
void spbtf2( const char* uplo, const MKL_INT* n, const MKL_INT* kd, float* ab,
             const MKL_INT* ldab, MKL_INT* info ) NOTHROW;
void spbtf2_( const char* uplo, const MKL_INT* n, const MKL_INT* kd, float* ab,
              const MKL_INT* ldab, MKL_INT* info ) NOTHROW;

void SPBTRF( const char* uplo, const MKL_INT* n, const MKL_INT* kd, float* ab,
             const MKL_INT* ldab, MKL_INT* info ) NOTHROW;
void SPBTRF_( const char* uplo, const MKL_INT* n, const MKL_INT* kd, float* ab,
              const MKL_INT* ldab, MKL_INT* info ) NOTHROW;
void spbtrf( const char* uplo, const MKL_INT* n, const MKL_INT* kd, float* ab,
             const MKL_INT* ldab, MKL_INT* info ) NOTHROW;
void spbtrf_( const char* uplo, const MKL_INT* n, const MKL_INT* kd, float* ab,
              const MKL_INT* ldab, MKL_INT* info ) NOTHROW;

void SPBTRS( const char* uplo, const MKL_INT* n, const MKL_INT* kd,
             const MKL_INT* nrhs, const float* ab, const MKL_INT* ldab,
             float* b, const MKL_INT* ldb, MKL_INT* info ) NOTHROW;
void SPBTRS_( const char* uplo, const MKL_INT* n, const MKL_INT* kd,
              const MKL_INT* nrhs, const float* ab, const MKL_INT* ldab,
              float* b, const MKL_INT* ldb, MKL_INT* info ) NOTHROW;
void spbtrs( const char* uplo, const MKL_INT* n, const MKL_INT* kd,
             const MKL_INT* nrhs, const float* ab, const MKL_INT* ldab,
             float* b, const MKL_INT* ldb, MKL_INT* info ) NOTHROW;
void spbtrs_( const char* uplo, const MKL_INT* n, const MKL_INT* kd,
              const MKL_INT* nrhs, const float* ab, const MKL_INT* ldab,
              float* b, const MKL_INT* ldb, MKL_INT* info ) NOTHROW;

void SPFTRF( const char* transr, const char* uplo, const MKL_INT* n, float* a,
             MKL_INT* info ) NOTHROW;
void SPFTRF_( const char* transr, const char* uplo, const MKL_INT* n, float* a,
              MKL_INT* info ) NOTHROW;
void spftrf( const char* transr, const char* uplo, const MKL_INT* n, float* a,
             MKL_INT* info ) NOTHROW;
void spftrf_( const char* transr, const char* uplo, const MKL_INT* n, float* a,
              MKL_INT* info ) NOTHROW;

void SPFTRI( const char* transr, const char* uplo, const MKL_INT* n, float* a,
             MKL_INT* info ) NOTHROW;
void SPFTRI_( const char* transr, const char* uplo, const MKL_INT* n, float* a,
              MKL_INT* info ) NOTHROW;
void spftri( const char* transr, const char* uplo, const MKL_INT* n, float* a,
             MKL_INT* info ) NOTHROW;
void spftri_( const char* transr, const char* uplo, const MKL_INT* n, float* a,
              MKL_INT* info ) NOTHROW;

void SPFTRS( const char* transr, const char* uplo, const MKL_INT* n,
             const MKL_INT* nrhs, const float* a, float* b, const MKL_INT* ldb,
             MKL_INT* info ) NOTHROW;
void SPFTRS_( const char* transr, const char* uplo, const MKL_INT* n,
              const MKL_INT* nrhs, const float* a, float* b,
              const MKL_INT* ldb, MKL_INT* info ) NOTHROW;
void spftrs( const char* transr, const char* uplo, const MKL_INT* n,
             const MKL_INT* nrhs, const float* a, float* b, const MKL_INT* ldb,
             MKL_INT* info ) NOTHROW;
void spftrs_( const char* transr, const char* uplo, const MKL_INT* n,
              const MKL_INT* nrhs, const float* a, float* b,
              const MKL_INT* ldb, MKL_INT* info ) NOTHROW;

void SPOCON( const char* uplo, const MKL_INT* n, const float* a,
             const MKL_INT* lda, const float* anorm, float* rcond, float* work,
             MKL_INT* iwork, MKL_INT* info ) NOTHROW;
void SPOCON_( const char* uplo, const MKL_INT* n, const float* a,
              const MKL_INT* lda, const float* anorm, float* rcond,
              float* work, MKL_INT* iwork, MKL_INT* info ) NOTHROW;
void spocon( const char* uplo, const MKL_INT* n, const float* a,
             const MKL_INT* lda, const float* anorm, float* rcond, float* work,
             MKL_INT* iwork, MKL_INT* info ) NOTHROW;
void spocon_( const char* uplo, const MKL_INT* n, const float* a,
              const MKL_INT* lda, const float* anorm, float* rcond,
              float* work, MKL_INT* iwork, MKL_INT* info ) NOTHROW;

void SPOEQUB( const MKL_INT* n, const float* a, const MKL_INT* lda, float* s,
              float* scond, float* amax, MKL_INT* info ) NOTHROW;
void SPOEQUB_( const MKL_INT* n, const float* a, const MKL_INT* lda, float* s,
               float* scond, float* amax, MKL_INT* info ) NOTHROW;
void spoequb( const MKL_INT* n, const float* a, const MKL_INT* lda, float* s,
              float* scond, float* amax, MKL_INT* info ) NOTHROW;
void spoequb_( const MKL_INT* n, const float* a, const MKL_INT* lda, float* s,
               float* scond, float* amax, MKL_INT* info ) NOTHROW;

void SPOEQU( const MKL_INT* n, const float* a, const MKL_INT* lda, float* s,
             float* scond, float* amax, MKL_INT* info ) NOTHROW;
void SPOEQU_( const MKL_INT* n, const float* a, const MKL_INT* lda, float* s,
              float* scond, float* amax, MKL_INT* info ) NOTHROW;
void spoequ( const MKL_INT* n, const float* a, const MKL_INT* lda, float* s,
             float* scond, float* amax, MKL_INT* info ) NOTHROW;
void spoequ_( const MKL_INT* n, const float* a, const MKL_INT* lda, float* s,
              float* scond, float* amax, MKL_INT* info ) NOTHROW;

void SPORFS( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs,
             const float* a, const MKL_INT* lda, const float* af,
             const MKL_INT* ldaf, const float* b, const MKL_INT* ldb, float* x,
             const MKL_INT* ldx, float* ferr, float* berr, float* work,
             MKL_INT* iwork, MKL_INT* info ) NOTHROW;
void SPORFS_( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs,
              const float* a, const MKL_INT* lda, const float* af,
              const MKL_INT* ldaf, const float* b, const MKL_INT* ldb,
              float* x, const MKL_INT* ldx, float* ferr, float* berr,
              float* work, MKL_INT* iwork, MKL_INT* info ) NOTHROW;
void sporfs( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs,
             const float* a, const MKL_INT* lda, const float* af,
             const MKL_INT* ldaf, const float* b, const MKL_INT* ldb, float* x,
             const MKL_INT* ldx, float* ferr, float* berr, float* work,
             MKL_INT* iwork, MKL_INT* info ) NOTHROW;
void sporfs_( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs,
              const float* a, const MKL_INT* lda, const float* af,
              const MKL_INT* ldaf, const float* b, const MKL_INT* ldb,
              float* x, const MKL_INT* ldx, float* ferr, float* berr,
              float* work, MKL_INT* iwork, MKL_INT* info ) NOTHROW;

void SPORFSX( const char* uplo, const char* equed, const MKL_INT* n,
              const MKL_INT* nrhs, const float* a, const MKL_INT* lda,
              const float* af, const MKL_INT* ldaf, float* s,
              const float* b, const MKL_INT* ldb, float* x, const MKL_INT* ldx,
              float* rcond, float* berr, const MKL_INT* n_err_bnds,
              float* err_bnds_norm, float* err_bnds_comp,
              const MKL_INT* nparams, float* params, float* work,
              MKL_INT* iwork, MKL_INT* info ) NOTHROW;
void SPORFSX_( const char* uplo, const char* equed, const MKL_INT* n,
               const MKL_INT* nrhs, const float* a, const MKL_INT* lda,
               const float* af, const MKL_INT* ldaf, float* s,
               const float* b, const MKL_INT* ldb, float* x,
               const MKL_INT* ldx, float* rcond, float* berr,
               const MKL_INT* n_err_bnds, float* err_bnds_norm,
               float* err_bnds_comp, const MKL_INT* nparams, float* params,
               float* work, MKL_INT* iwork, MKL_INT* info ) NOTHROW;
void sporfsx( const char* uplo, const char* equed, const MKL_INT* n,
              const MKL_INT* nrhs, const float* a, const MKL_INT* lda,
              const float* af, const MKL_INT* ldaf, float* s,
              const float* b, const MKL_INT* ldb, float* x, const MKL_INT* ldx,
              float* rcond, float* berr, const MKL_INT* n_err_bnds,
              float* err_bnds_norm, float* err_bnds_comp,
              const MKL_INT* nparams, float* params, float* work,
              MKL_INT* iwork, MKL_INT* info ) NOTHROW;
void sporfsx_( const char* uplo, const char* equed, const MKL_INT* n,
               const MKL_INT* nrhs, const float* a, const MKL_INT* lda,
               const float* af, const MKL_INT* ldaf, float* s,
               const float* b, const MKL_INT* ldb, float* x,
               const MKL_INT* ldx, float* rcond, float* berr,
               const MKL_INT* n_err_bnds, float* err_bnds_norm,
               float* err_bnds_comp, const MKL_INT* nparams, float* params,
               float* work, MKL_INT* iwork, MKL_INT* info ) NOTHROW;

void SPOSV( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs, float* a,
            const MKL_INT* lda, float* b, const MKL_INT* ldb, MKL_INT* info ) NOTHROW;
void SPOSV_( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs, float* a,
             const MKL_INT* lda, float* b, const MKL_INT* ldb, MKL_INT* info ) NOTHROW;
void sposv( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs, float* a,
            const MKL_INT* lda, float* b, const MKL_INT* ldb, MKL_INT* info ) NOTHROW;
void sposv_( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs, float* a,
             const MKL_INT* lda, float* b, const MKL_INT* ldb, MKL_INT* info ) NOTHROW;

void SPOSVX( const char* fact, const char* uplo, const MKL_INT* n,
             const MKL_INT* nrhs, float* a, const MKL_INT* lda, float* af,
             const MKL_INT* ldaf, char* equed, float* s, float* b,
             const MKL_INT* ldb, float* x, const MKL_INT* ldx, float* rcond,
             float* ferr, float* berr, float* work, MKL_INT* iwork,
             MKL_INT* info ) NOTHROW;
void SPOSVX_( const char* fact, const char* uplo, const MKL_INT* n,
              const MKL_INT* nrhs, float* a, const MKL_INT* lda, float* af,
              const MKL_INT* ldaf, char* equed, float* s, float* b,
              const MKL_INT* ldb, float* x, const MKL_INT* ldx, float* rcond,
              float* ferr, float* berr, float* work, MKL_INT* iwork,
              MKL_INT* info ) NOTHROW;
void sposvx( const char* fact, const char* uplo, const MKL_INT* n,
             const MKL_INT* nrhs, float* a, const MKL_INT* lda, float* af,
             const MKL_INT* ldaf, char* equed, float* s, float* b,
             const MKL_INT* ldb, float* x, const MKL_INT* ldx, float* rcond,
             float* ferr, float* berr, float* work, MKL_INT* iwork,
             MKL_INT* info ) NOTHROW;
void sposvx_( const char* fact, const char* uplo, const MKL_INT* n,
              const MKL_INT* nrhs, float* a, const MKL_INT* lda, float* af,
              const MKL_INT* ldaf, char* equed, float* s, float* b,
              const MKL_INT* ldb, float* x, const MKL_INT* ldx, float* rcond,
              float* ferr, float* berr, float* work, MKL_INT* iwork,
              MKL_INT* info ) NOTHROW;

void SPOSVXX( const char* fact, const char* uplo, const MKL_INT* n,
              const MKL_INT* nrhs, float* a, const MKL_INT* lda, float* af,
              const MKL_INT* ldaf, char* equed, float* s, float* b,
              const MKL_INT* ldb, float* x, const MKL_INT* ldx, float* rcond,
              float* rpvgrw, float* berr, const MKL_INT* n_err_bnds,
              float* err_bnds_norm, float* err_bnds_comp,
              const MKL_INT* nparams, float* params, float* work,
              MKL_INT* iwork, MKL_INT* info ) NOTHROW;
void SPOSVXX_( const char* fact, const char* uplo, const MKL_INT* n,
               const MKL_INT* nrhs, float* a, const MKL_INT* lda, float* af,
               const MKL_INT* ldaf, char* equed, float* s, float* b,
               const MKL_INT* ldb, float* x, const MKL_INT* ldx, float* rcond,
               float* rpvgrw, float* berr, const MKL_INT* n_err_bnds,
               float* err_bnds_norm, float* err_bnds_comp,
               const MKL_INT* nparams, float* params, float* work,
               MKL_INT* iwork, MKL_INT* info ) NOTHROW;
void sposvxx( const char* fact, const char* uplo, const MKL_INT* n,
              const MKL_INT* nrhs, float* a, const MKL_INT* lda, float* af,
              const MKL_INT* ldaf, char* equed, float* s, float* b,
              const MKL_INT* ldb, float* x, const MKL_INT* ldx, float* rcond,
              float* rpvgrw, float* berr, const MKL_INT* n_err_bnds,
              float* err_bnds_norm, float* err_bnds_comp,
              const MKL_INT* nparams, float* params, float* work,
              MKL_INT* iwork, MKL_INT* info ) NOTHROW;
void sposvxx_( const char* fact, const char* uplo, const MKL_INT* n,
               const MKL_INT* nrhs, float* a, const MKL_INT* lda, float* af,
               const MKL_INT* ldaf, char* equed, float* s, float* b,
               const MKL_INT* ldb, float* x, const MKL_INT* ldx, float* rcond,
               float* rpvgrw, float* berr, const MKL_INT* n_err_bnds,
               float* err_bnds_norm, float* err_bnds_comp,
               const MKL_INT* nparams, float* params, float* work,
               MKL_INT* iwork, MKL_INT* info ) NOTHROW;

void SPOTF2( const char* uplo, const MKL_INT* n, float* a, const MKL_INT* lda,
             MKL_INT* info ) NOTHROW;
void SPOTF2_( const char* uplo, const MKL_INT* n, float* a, const MKL_INT* lda,
              MKL_INT* info ) NOTHROW;
void spotf2( const char* uplo, const MKL_INT* n, float* a, const MKL_INT* lda,
             MKL_INT* info ) NOTHROW;
void spotf2_( const char* uplo, const MKL_INT* n, float* a, const MKL_INT* lda,
              MKL_INT* info ) NOTHROW;

void SPOTRF( const char* uplo, const MKL_INT* n, float* a, const MKL_INT* lda,
             MKL_INT* info ) NOTHROW;
void SPOTRF_( const char* uplo, const MKL_INT* n, float* a, const MKL_INT* lda,
              MKL_INT* info ) NOTHROW;
void spotrf( const char* uplo, const MKL_INT* n, float* a, const MKL_INT* lda,
             MKL_INT* info ) NOTHROW;
void spotrf_( const char* uplo, const MKL_INT* n, float* a, const MKL_INT* lda,
              MKL_INT* info ) NOTHROW;

void SPOTRI( const char* uplo, const MKL_INT* n, float* a, const MKL_INT* lda,
             MKL_INT* info ) NOTHROW;
void SPOTRI_( const char* uplo, const MKL_INT* n, float* a, const MKL_INT* lda,
              MKL_INT* info ) NOTHROW;
void spotri( const char* uplo, const MKL_INT* n, float* a, const MKL_INT* lda,
             MKL_INT* info ) NOTHROW;
void spotri_( const char* uplo, const MKL_INT* n, float* a, const MKL_INT* lda,
              MKL_INT* info ) NOTHROW;

void SPOTRS( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs,
             const float* a, const MKL_INT* lda, float* b, const MKL_INT* ldb,
             MKL_INT* info ) NOTHROW;
void SPOTRS_( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs,
              const float* a, const MKL_INT* lda, float* b, const MKL_INT* ldb,
              MKL_INT* info ) NOTHROW;
void spotrs( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs,
             const float* a, const MKL_INT* lda, float* b, const MKL_INT* ldb,
             MKL_INT* info ) NOTHROW;
void spotrs_( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs,
              const float* a, const MKL_INT* lda, float* b, const MKL_INT* ldb,
              MKL_INT* info ) NOTHROW;

void SPPCON( const char* uplo, const MKL_INT* n, const float* ap,
             const float* anorm, float* rcond, float* work, MKL_INT* iwork,
             MKL_INT* info ) NOTHROW;
void SPPCON_( const char* uplo, const MKL_INT* n, const float* ap,
              const float* anorm, float* rcond, float* work, MKL_INT* iwork,
              MKL_INT* info ) NOTHROW;
void sppcon( const char* uplo, const MKL_INT* n, const float* ap,
             const float* anorm, float* rcond, float* work, MKL_INT* iwork,
             MKL_INT* info ) NOTHROW;
void sppcon_( const char* uplo, const MKL_INT* n, const float* ap,
              const float* anorm, float* rcond, float* work, MKL_INT* iwork,
              MKL_INT* info ) NOTHROW;

void SPPEQU( const char* uplo, const MKL_INT* n, const float* ap, float* s,
             float* scond, float* amax, MKL_INT* info ) NOTHROW;
void SPPEQU_( const char* uplo, const MKL_INT* n, const float* ap, float* s,
              float* scond, float* amax, MKL_INT* info ) NOTHROW;
void sppequ( const char* uplo, const MKL_INT* n, const float* ap, float* s,
             float* scond, float* amax, MKL_INT* info ) NOTHROW;
void sppequ_( const char* uplo, const MKL_INT* n, const float* ap, float* s,
              float* scond, float* amax, MKL_INT* info ) NOTHROW;

void SPPRFS( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs,
             const float* ap, const float* afp, const float* b,
             const MKL_INT* ldb, float* x, const MKL_INT* ldx, float* ferr,
             float* berr, float* work, MKL_INT* iwork, MKL_INT* info ) NOTHROW;
void SPPRFS_( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs,
              const float* ap, const float* afp, const float* b,
              const MKL_INT* ldb, float* x, const MKL_INT* ldx, float* ferr,
              float* berr, float* work, MKL_INT* iwork, MKL_INT* info ) NOTHROW;
void spprfs( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs,
             const float* ap, const float* afp, const float* b,
             const MKL_INT* ldb, float* x, const MKL_INT* ldx, float* ferr,
             float* berr, float* work, MKL_INT* iwork, MKL_INT* info ) NOTHROW;
void spprfs_( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs,
              const float* ap, const float* afp, const float* b,
              const MKL_INT* ldb, float* x, const MKL_INT* ldx, float* ferr,
              float* berr, float* work, MKL_INT* iwork, MKL_INT* info ) NOTHROW;

void SPPSV( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs, float* ap,
            float* b, const MKL_INT* ldb, MKL_INT* info ) NOTHROW;
void SPPSV_( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs,
             float* ap, float* b, const MKL_INT* ldb, MKL_INT* info ) NOTHROW;
void sppsv( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs, float* ap,
            float* b, const MKL_INT* ldb, MKL_INT* info ) NOTHROW;
void sppsv_( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs,
             float* ap, float* b, const MKL_INT* ldb, MKL_INT* info ) NOTHROW;

void SPPSVX( const char* fact, const char* uplo, const MKL_INT* n,
             const MKL_INT* nrhs, float* ap, float* afp, char* equed, float* s,
             float* b, const MKL_INT* ldb, float* x, const MKL_INT* ldx,
             float* rcond, float* ferr, float* berr, float* work,
             MKL_INT* iwork, MKL_INT* info ) NOTHROW;
void SPPSVX_( const char* fact, const char* uplo, const MKL_INT* n,
              const MKL_INT* nrhs, float* ap, float* afp, char* equed,
              float* s, float* b, const MKL_INT* ldb, float* x,
              const MKL_INT* ldx, float* rcond, float* ferr, float* berr,
              float* work, MKL_INT* iwork, MKL_INT* info ) NOTHROW;
void sppsvx( const char* fact, const char* uplo, const MKL_INT* n,
             const MKL_INT* nrhs, float* ap, float* afp, char* equed, float* s,
             float* b, const MKL_INT* ldb, float* x, const MKL_INT* ldx,
             float* rcond, float* ferr, float* berr, float* work,
             MKL_INT* iwork, MKL_INT* info ) NOTHROW;
void sppsvx_( const char* fact, const char* uplo, const MKL_INT* n,
              const MKL_INT* nrhs, float* ap, float* afp, char* equed,
              float* s, float* b, const MKL_INT* ldb, float* x,
              const MKL_INT* ldx, float* rcond, float* ferr, float* berr,
              float* work, MKL_INT* iwork, MKL_INT* info ) NOTHROW;

void SPPTRF( const char* uplo, const MKL_INT* n, float* ap, MKL_INT* info ) NOTHROW;
void SPPTRF_( const char* uplo, const MKL_INT* n, float* ap, MKL_INT* info ) NOTHROW;
void spptrf( const char* uplo, const MKL_INT* n, float* ap, MKL_INT* info ) NOTHROW;
void spptrf_( const char* uplo, const MKL_INT* n, float* ap, MKL_INT* info ) NOTHROW;

void SPPTRI( const char* uplo, const MKL_INT* n, float* ap, MKL_INT* info ) NOTHROW;
void SPPTRI_( const char* uplo, const MKL_INT* n, float* ap, MKL_INT* info ) NOTHROW;
void spptri( const char* uplo, const MKL_INT* n, float* ap, MKL_INT* info ) NOTHROW;
void spptri_( const char* uplo, const MKL_INT* n, float* ap, MKL_INT* info ) NOTHROW;

void SPPTRS( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs,
             const float* ap, float* b, const MKL_INT* ldb, MKL_INT* info ) NOTHROW;
void SPPTRS_( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs,
              const float* ap, float* b, const MKL_INT* ldb, MKL_INT* info ) NOTHROW;
void spptrs( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs,
             const float* ap, float* b, const MKL_INT* ldb, MKL_INT* info ) NOTHROW;
void spptrs_( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs,
              const float* ap, float* b, const MKL_INT* ldb, MKL_INT* info ) NOTHROW;

void SPSTF2( const char* uplo, const MKL_INT* n, float* a, const MKL_INT* lda,
             MKL_INT* piv, MKL_INT* rank, const float* tol, float* work,
             MKL_INT* info ) NOTHROW;
void SPSTF2_( const char* uplo, const MKL_INT* n, float* a, const MKL_INT* lda,
              MKL_INT* piv, MKL_INT* rank, const float* tol, float* work,
              MKL_INT* info ) NOTHROW;
void spstf2( const char* uplo, const MKL_INT* n, float* a, const MKL_INT* lda,
             MKL_INT* piv, MKL_INT* rank, const float* tol, float* work,
             MKL_INT* info ) NOTHROW;
void spstf2_( const char* uplo, const MKL_INT* n, float* a, const MKL_INT* lda,
              MKL_INT* piv, MKL_INT* rank, const float* tol, float* work,
              MKL_INT* info ) NOTHROW;

void SPSTRF( const char* uplo, const MKL_INT* n, float* a, const MKL_INT* lda,
             MKL_INT* piv, MKL_INT* rank, const float* tol, float* work,
             MKL_INT* info ) NOTHROW;
void SPSTRF_( const char* uplo, const MKL_INT* n, float* a, const MKL_INT* lda,
              MKL_INT* piv, MKL_INT* rank, const float* tol, float* work,
              MKL_INT* info ) NOTHROW;
void spstrf( const char* uplo, const MKL_INT* n, float* a, const MKL_INT* lda,
             MKL_INT* piv, MKL_INT* rank, const float* tol, float* work,
             MKL_INT* info ) NOTHROW;
void spstrf_( const char* uplo, const MKL_INT* n, float* a, const MKL_INT* lda,
              MKL_INT* piv, MKL_INT* rank, const float* tol, float* work,
              MKL_INT* info ) NOTHROW;

void SPTCON( const MKL_INT* n, const float* d, const float* e,
             const float* anorm, float* rcond, float* work, MKL_INT* info ) NOTHROW;
void SPTCON_( const MKL_INT* n, const float* d, const float* e,
              const float* anorm, float* rcond, float* work, MKL_INT* info ) NOTHROW;
void sptcon( const MKL_INT* n, const float* d, const float* e,
             const float* anorm, float* rcond, float* work, MKL_INT* info ) NOTHROW;
void sptcon_( const MKL_INT* n, const float* d, const float* e,
              const float* anorm, float* rcond, float* work, MKL_INT* info ) NOTHROW;

void SPTEQR( const char* compz, const MKL_INT* n, float* d, float* e, float* z,
             const MKL_INT* ldz, float* work, MKL_INT* info ) NOTHROW;
void SPTEQR_( const char* compz, const MKL_INT* n, float* d, float* e,
              float* z, const MKL_INT* ldz, float* work, MKL_INT* info ) NOTHROW;
void spteqr( const char* compz, const MKL_INT* n, float* d, float* e, float* z,
             const MKL_INT* ldz, float* work, MKL_INT* info ) NOTHROW;
void spteqr_( const char* compz, const MKL_INT* n, float* d, float* e,
              float* z, const MKL_INT* ldz, float* work, MKL_INT* info ) NOTHROW;

void SPTRFS( const MKL_INT* n, const MKL_INT* nrhs, const float* d,
             const float* e, const float* df, const float* ef, const float* b,
             const MKL_INT* ldb, float* x, const MKL_INT* ldx, float* ferr,
             float* berr, float* work, MKL_INT* info ) NOTHROW;
void SPTRFS_( const MKL_INT* n, const MKL_INT* nrhs, const float* d,
              const float* e, const float* df, const float* ef, const float* b,
              const MKL_INT* ldb, float* x, const MKL_INT* ldx, float* ferr,
              float* berr, float* work, MKL_INT* info ) NOTHROW;
void sptrfs( const MKL_INT* n, const MKL_INT* nrhs, const float* d,
             const float* e, const float* df, const float* ef, const float* b,
             const MKL_INT* ldb, float* x, const MKL_INT* ldx, float* ferr,
             float* berr, float* work, MKL_INT* info ) NOTHROW;
void sptrfs_( const MKL_INT* n, const MKL_INT* nrhs, const float* d,
              const float* e, const float* df, const float* ef, const float* b,
              const MKL_INT* ldb, float* x, const MKL_INT* ldx, float* ferr,
              float* berr, float* work, MKL_INT* info ) NOTHROW;

void SPTSV( const MKL_INT* n, const MKL_INT* nrhs, float* d, float* e,
            float* b, const MKL_INT* ldb, MKL_INT* info ) NOTHROW;
void SPTSV_( const MKL_INT* n, const MKL_INT* nrhs, float* d, float* e,
             float* b, const MKL_INT* ldb, MKL_INT* info ) NOTHROW;
void sptsv( const MKL_INT* n, const MKL_INT* nrhs, float* d, float* e,
            float* b, const MKL_INT* ldb, MKL_INT* info ) NOTHROW;
void sptsv_( const MKL_INT* n, const MKL_INT* nrhs, float* d, float* e,
             float* b, const MKL_INT* ldb, MKL_INT* info ) NOTHROW;

void SPTSVX( const char* fact, const MKL_INT* n, const MKL_INT* nrhs,
             const float* d, const float* e, float* df, float* ef,
             const float* b, const MKL_INT* ldb, float* x, const MKL_INT* ldx,
             float* rcond, float* ferr, float* berr, float* work,
             MKL_INT* info ) NOTHROW;
void SPTSVX_( const char* fact, const MKL_INT* n, const MKL_INT* nrhs,
              const float* d, const float* e, float* df, float* ef,
              const float* b, const MKL_INT* ldb, float* x, const MKL_INT* ldx,
              float* rcond, float* ferr, float* berr, float* work,
              MKL_INT* info ) NOTHROW;
void sptsvx( const char* fact, const MKL_INT* n, const MKL_INT* nrhs,
             const float* d, const float* e, float* df, float* ef,
             const float* b, const MKL_INT* ldb, float* x, const MKL_INT* ldx,
             float* rcond, float* ferr, float* berr, float* work,
             MKL_INT* info ) NOTHROW;
void sptsvx_( const char* fact, const MKL_INT* n, const MKL_INT* nrhs,
              const float* d, const float* e, float* df, float* ef,
              const float* b, const MKL_INT* ldb, float* x, const MKL_INT* ldx,
              float* rcond, float* ferr, float* berr, float* work,
              MKL_INT* info ) NOTHROW;

void SPTTRF( const MKL_INT* n, float* d, float* e, MKL_INT* info ) NOTHROW;
void SPTTRF_( const MKL_INT* n, float* d, float* e, MKL_INT* info ) NOTHROW;
void spttrf( const MKL_INT* n, float* d, float* e, MKL_INT* info ) NOTHROW;
void spttrf_( const MKL_INT* n, float* d, float* e, MKL_INT* info ) NOTHROW;

void SPTTRS( const MKL_INT* n, const MKL_INT* nrhs, const float* d,
             const float* e, float* b, const MKL_INT* ldb, MKL_INT* info ) NOTHROW;
void SPTTRS_( const MKL_INT* n, const MKL_INT* nrhs, const float* d,
              const float* e, float* b, const MKL_INT* ldb, MKL_INT* info ) NOTHROW;
void spttrs( const MKL_INT* n, const MKL_INT* nrhs, const float* d,
             const float* e, float* b, const MKL_INT* ldb, MKL_INT* info ) NOTHROW;
void spttrs_( const MKL_INT* n, const MKL_INT* nrhs, const float* d,
              const float* e, float* b, const MKL_INT* ldb, MKL_INT* info ) NOTHROW;

void SPTTS2( const MKL_INT* n, const MKL_INT* nrhs, const float* d,
             const float* e, float* b, const MKL_INT* ldb ) NOTHROW;
void SPTTS2_( const MKL_INT* n, const MKL_INT* nrhs, const float* d,
              const float* e, float* b, const MKL_INT* ldb ) NOTHROW;
void sptts2( const MKL_INT* n, const MKL_INT* nrhs, const float* d,
             const float* e, float* b, const MKL_INT* ldb ) NOTHROW;
void sptts2_( const MKL_INT* n, const MKL_INT* nrhs, const float* d,
              const float* e, float* b, const MKL_INT* ldb ) NOTHROW;

void SRSCL( const MKL_INT* n, const float* sa, float* sx,
            const MKL_INT* incx ) NOTHROW;
void SRSCL_( const MKL_INT* n, const float* sa, float* sx,
             const MKL_INT* incx ) NOTHROW;
void srscl( const MKL_INT* n, const float* sa, float* sx,
            const MKL_INT* incx ) NOTHROW;
void srscl_( const MKL_INT* n, const float* sa, float* sx,
             const MKL_INT* incx ) NOTHROW;

void SSBEVD( const char* jobz, const char* uplo, const MKL_INT* n,
             const MKL_INT* kd, float* ab, const MKL_INT* ldab, float* w,
             float* z, const MKL_INT* ldz, float* work, const MKL_INT* lwork,
             MKL_INT* iwork, const MKL_INT* liwork, MKL_INT* info ) NOTHROW;
void SSBEVD_( const char* jobz, const char* uplo, const MKL_INT* n,
              const MKL_INT* kd, float* ab, const MKL_INT* ldab, float* w,
              float* z, const MKL_INT* ldz, float* work, const MKL_INT* lwork,
              MKL_INT* iwork, const MKL_INT* liwork, MKL_INT* info ) NOTHROW;
void ssbevd( const char* jobz, const char* uplo, const MKL_INT* n,
             const MKL_INT* kd, float* ab, const MKL_INT* ldab, float* w,
             float* z, const MKL_INT* ldz, float* work, const MKL_INT* lwork,
             MKL_INT* iwork, const MKL_INT* liwork, MKL_INT* info ) NOTHROW;
void ssbevd_( const char* jobz, const char* uplo, const MKL_INT* n,
              const MKL_INT* kd, float* ab, const MKL_INT* ldab, float* w,
              float* z, const MKL_INT* ldz, float* work, const MKL_INT* lwork,
              MKL_INT* iwork, const MKL_INT* liwork, MKL_INT* info ) NOTHROW;

void SSBEV( const char* jobz, const char* uplo, const MKL_INT* n,
            const MKL_INT* kd, float* ab, const MKL_INT* ldab, float* w,
            float* z, const MKL_INT* ldz, float* work, MKL_INT* info ) NOTHROW;
void SSBEV_( const char* jobz, const char* uplo, const MKL_INT* n,
             const MKL_INT* kd, float* ab, const MKL_INT* ldab, float* w,
             float* z, const MKL_INT* ldz, float* work, MKL_INT* info ) NOTHROW;
void ssbev( const char* jobz, const char* uplo, const MKL_INT* n,
            const MKL_INT* kd, float* ab, const MKL_INT* ldab, float* w,
            float* z, const MKL_INT* ldz, float* work, MKL_INT* info ) NOTHROW;
void ssbev_( const char* jobz, const char* uplo, const MKL_INT* n,
             const MKL_INT* kd, float* ab, const MKL_INT* ldab, float* w,
             float* z, const MKL_INT* ldz, float* work, MKL_INT* info ) NOTHROW;

void SSBEVX( const char* jobz, const char* range, const char* uplo,
             const MKL_INT* n, const MKL_INT* kd, float* ab,
             const MKL_INT* ldab, float* q, const MKL_INT* ldq,
             const float* vl, const float* vu, const MKL_INT* il,
             const MKL_INT* iu, const float* abstol, MKL_INT* m, float* w,
             float* z, const MKL_INT* ldz, float* work, MKL_INT* iwork,
             MKL_INT* ifail, MKL_INT* info ) NOTHROW;
void SSBEVX_( const char* jobz, const char* range, const char* uplo,
              const MKL_INT* n, const MKL_INT* kd, float* ab,
              const MKL_INT* ldab, float* q, const MKL_INT* ldq,
              const float* vl, const float* vu, const MKL_INT* il,
              const MKL_INT* iu, const float* abstol, MKL_INT* m, float* w,
              float* z, const MKL_INT* ldz, float* work, MKL_INT* iwork,
              MKL_INT* ifail, MKL_INT* info ) NOTHROW;
void ssbevx( const char* jobz, const char* range, const char* uplo,
             const MKL_INT* n, const MKL_INT* kd, float* ab,
             const MKL_INT* ldab, float* q, const MKL_INT* ldq,
             const float* vl, const float* vu, const MKL_INT* il,
             const MKL_INT* iu, const float* abstol, MKL_INT* m, float* w,
             float* z, const MKL_INT* ldz, float* work, MKL_INT* iwork,
             MKL_INT* ifail, MKL_INT* info ) NOTHROW;
void ssbevx_( const char* jobz, const char* range, const char* uplo,
              const MKL_INT* n, const MKL_INT* kd, float* ab,
              const MKL_INT* ldab, float* q, const MKL_INT* ldq,
              const float* vl, const float* vu, const MKL_INT* il,
              const MKL_INT* iu, const float* abstol, MKL_INT* m, float* w,
              float* z, const MKL_INT* ldz, float* work, MKL_INT* iwork,
              MKL_INT* ifail, MKL_INT* info ) NOTHROW;

void SSBGST( const char* vect, const char* uplo, const MKL_INT* n,
             const MKL_INT* ka, const MKL_INT* kb, float* ab,
             const MKL_INT* ldab, const float* bb, const MKL_INT* ldbb,
             float* x, const MKL_INT* ldx, float* work, MKL_INT* info ) NOTHROW;
void SSBGST_( const char* vect, const char* uplo, const MKL_INT* n,
              const MKL_INT* ka, const MKL_INT* kb, float* ab,
              const MKL_INT* ldab, const float* bb, const MKL_INT* ldbb,
              float* x, const MKL_INT* ldx, float* work, MKL_INT* info ) NOTHROW;
void ssbgst( const char* vect, const char* uplo, const MKL_INT* n,
             const MKL_INT* ka, const MKL_INT* kb, float* ab,
             const MKL_INT* ldab, const float* bb, const MKL_INT* ldbb,
             float* x, const MKL_INT* ldx, float* work, MKL_INT* info ) NOTHROW;
void ssbgst_( const char* vect, const char* uplo, const MKL_INT* n,
              const MKL_INT* ka, const MKL_INT* kb, float* ab,
              const MKL_INT* ldab, const float* bb, const MKL_INT* ldbb,
              float* x, const MKL_INT* ldx, float* work, MKL_INT* info ) NOTHROW;

void SSBGVD( const char* jobz, const char* uplo, const MKL_INT* n,
             const MKL_INT* ka, const MKL_INT* kb, float* ab,
             const MKL_INT* ldab, float* bb, const MKL_INT* ldbb, float* w,
             float* z, const MKL_INT* ldz, float* work, const MKL_INT* lwork,
             MKL_INT* iwork, const MKL_INT* liwork, MKL_INT* info ) NOTHROW;
void SSBGVD_( const char* jobz, const char* uplo, const MKL_INT* n,
              const MKL_INT* ka, const MKL_INT* kb, float* ab,
              const MKL_INT* ldab, float* bb, const MKL_INT* ldbb, float* w,
              float* z, const MKL_INT* ldz, float* work, const MKL_INT* lwork,
              MKL_INT* iwork, const MKL_INT* liwork, MKL_INT* info ) NOTHROW;
void ssbgvd( const char* jobz, const char* uplo, const MKL_INT* n,
             const MKL_INT* ka, const MKL_INT* kb, float* ab,
             const MKL_INT* ldab, float* bb, const MKL_INT* ldbb, float* w,
             float* z, const MKL_INT* ldz, float* work, const MKL_INT* lwork,
             MKL_INT* iwork, const MKL_INT* liwork, MKL_INT* info ) NOTHROW;
void ssbgvd_( const char* jobz, const char* uplo, const MKL_INT* n,
              const MKL_INT* ka, const MKL_INT* kb, float* ab,
              const MKL_INT* ldab, float* bb, const MKL_INT* ldbb, float* w,
              float* z, const MKL_INT* ldz, float* work, const MKL_INT* lwork,
              MKL_INT* iwork, const MKL_INT* liwork, MKL_INT* info ) NOTHROW;

void SSBGV( const char* jobz, const char* uplo, const MKL_INT* n,
            const MKL_INT* ka, const MKL_INT* kb, float* ab,
            const MKL_INT* ldab, float* bb, const MKL_INT* ldbb, float* w,
            float* z, const MKL_INT* ldz, float* work, MKL_INT* info ) NOTHROW;
void SSBGV_( const char* jobz, const char* uplo, const MKL_INT* n,
             const MKL_INT* ka, const MKL_INT* kb, float* ab,
             const MKL_INT* ldab, float* bb, const MKL_INT* ldbb, float* w,
             float* z, const MKL_INT* ldz, float* work, MKL_INT* info ) NOTHROW;
void ssbgv( const char* jobz, const char* uplo, const MKL_INT* n,
            const MKL_INT* ka, const MKL_INT* kb, float* ab,
            const MKL_INT* ldab, float* bb, const MKL_INT* ldbb, float* w,
            float* z, const MKL_INT* ldz, float* work, MKL_INT* info ) NOTHROW;
void ssbgv_( const char* jobz, const char* uplo, const MKL_INT* n,
             const MKL_INT* ka, const MKL_INT* kb, float* ab,
             const MKL_INT* ldab, float* bb, const MKL_INT* ldbb, float* w,
             float* z, const MKL_INT* ldz, float* work, MKL_INT* info ) NOTHROW;

void SSBGVX( const char* jobz, const char* range, const char* uplo,
             const MKL_INT* n, const MKL_INT* ka, const MKL_INT* kb, float* ab,
             const MKL_INT* ldab, float* bb, const MKL_INT* ldbb, float* q,
             const MKL_INT* ldq, const float* vl, const float* vu,
             const MKL_INT* il, const MKL_INT* iu, const float* abstol,
             MKL_INT* m, float* w, float* z, const MKL_INT* ldz, float* work,
             MKL_INT* iwork, MKL_INT* ifail, MKL_INT* info ) NOTHROW;
void SSBGVX_( const char* jobz, const char* range, const char* uplo,
              const MKL_INT* n, const MKL_INT* ka, const MKL_INT* kb,
              float* ab, const MKL_INT* ldab, float* bb, const MKL_INT* ldbb,
              float* q, const MKL_INT* ldq, const float* vl, const float* vu,
              const MKL_INT* il, const MKL_INT* iu, const float* abstol,
              MKL_INT* m, float* w, float* z, const MKL_INT* ldz, float* work,
              MKL_INT* iwork, MKL_INT* ifail, MKL_INT* info ) NOTHROW;
void ssbgvx( const char* jobz, const char* range, const char* uplo,
             const MKL_INT* n, const MKL_INT* ka, const MKL_INT* kb, float* ab,
             const MKL_INT* ldab, float* bb, const MKL_INT* ldbb, float* q,
             const MKL_INT* ldq, const float* vl, const float* vu,
             const MKL_INT* il, const MKL_INT* iu, const float* abstol,
             MKL_INT* m, float* w, float* z, const MKL_INT* ldz, float* work,
             MKL_INT* iwork, MKL_INT* ifail, MKL_INT* info ) NOTHROW;
void ssbgvx_( const char* jobz, const char* range, const char* uplo,
              const MKL_INT* n, const MKL_INT* ka, const MKL_INT* kb,
              float* ab, const MKL_INT* ldab, float* bb, const MKL_INT* ldbb,
              float* q, const MKL_INT* ldq, const float* vl, const float* vu,
              const MKL_INT* il, const MKL_INT* iu, const float* abstol,
              MKL_INT* m, float* w, float* z, const MKL_INT* ldz, float* work,
              MKL_INT* iwork, MKL_INT* ifail, MKL_INT* info ) NOTHROW;

void SSBTRD( const char* vect, const char* uplo, const MKL_INT* n,
             const MKL_INT* kd, float* ab, const MKL_INT* ldab, float* d,
             float* e, float* q, const MKL_INT* ldq, float* work,
             MKL_INT* info ) NOTHROW;
void SSBTRD_( const char* vect, const char* uplo, const MKL_INT* n,
              const MKL_INT* kd, float* ab, const MKL_INT* ldab, float* d,
              float* e, float* q, const MKL_INT* ldq, float* work,
              MKL_INT* info ) NOTHROW;
void ssbtrd( const char* vect, const char* uplo, const MKL_INT* n,
             const MKL_INT* kd, float* ab, const MKL_INT* ldab, float* d,
             float* e, float* q, const MKL_INT* ldq, float* work,
             MKL_INT* info ) NOTHROW;
void ssbtrd_( const char* vect, const char* uplo, const MKL_INT* n,
              const MKL_INT* kd, float* ab, const MKL_INT* ldab, float* d,
              float* e, float* q, const MKL_INT* ldq, float* work,
              MKL_INT* info ) NOTHROW;

void SSFRK( const char* transr, const char* uplo, const char* trans,
            const MKL_INT* n, const MKL_INT* k, const float* alpha,
            const float* a, const MKL_INT* lda, const float* beta, float* c ) NOTHROW;
void SSFRK_( const char* transr, const char* uplo, const char* trans,
             const MKL_INT* n, const MKL_INT* k, const float* alpha,
             const float* a, const MKL_INT* lda, const float* beta, float* c ) NOTHROW;
void ssfrk( const char* transr, const char* uplo, const char* trans,
            const MKL_INT* n, const MKL_INT* k, const float* alpha,
            const float* a, const MKL_INT* lda, const float* beta, float* c ) NOTHROW;
void ssfrk_( const char* transr, const char* uplo, const char* trans,
             const MKL_INT* n, const MKL_INT* k, const float* alpha,
             const float* a, const MKL_INT* lda, const float* beta, float* c ) NOTHROW;

void SSPCON( const char* uplo, const MKL_INT* n, const float* ap,
             const MKL_INT* ipiv, const float* anorm, float* rcond,
             float* work, MKL_INT* iwork, MKL_INT* info ) NOTHROW;
void SSPCON_( const char* uplo, const MKL_INT* n, const float* ap,
              const MKL_INT* ipiv, const float* anorm, float* rcond,
              float* work, MKL_INT* iwork, MKL_INT* info ) NOTHROW;
void sspcon( const char* uplo, const MKL_INT* n, const float* ap,
             const MKL_INT* ipiv, const float* anorm, float* rcond,
             float* work, MKL_INT* iwork, MKL_INT* info ) NOTHROW;
void sspcon_( const char* uplo, const MKL_INT* n, const float* ap,
              const MKL_INT* ipiv, const float* anorm, float* rcond,
              float* work, MKL_INT* iwork, MKL_INT* info ) NOTHROW;

void SSPEVD( const char* jobz, const char* uplo, const MKL_INT* n, float* ap,
             float* w, float* z, const MKL_INT* ldz, float* work,
             const MKL_INT* lwork, MKL_INT* iwork, const MKL_INT* liwork,
             MKL_INT* info ) NOTHROW;
void SSPEVD_( const char* jobz, const char* uplo, const MKL_INT* n, float* ap,
              float* w, float* z, const MKL_INT* ldz, float* work,
              const MKL_INT* lwork, MKL_INT* iwork, const MKL_INT* liwork,
              MKL_INT* info ) NOTHROW;
void sspevd( const char* jobz, const char* uplo, const MKL_INT* n, float* ap,
             float* w, float* z, const MKL_INT* ldz, float* work,
             const MKL_INT* lwork, MKL_INT* iwork, const MKL_INT* liwork,
             MKL_INT* info ) NOTHROW;
void sspevd_( const char* jobz, const char* uplo, const MKL_INT* n, float* ap,
              float* w, float* z, const MKL_INT* ldz, float* work,
              const MKL_INT* lwork, MKL_INT* iwork, const MKL_INT* liwork,
              MKL_INT* info ) NOTHROW;

void SSPEV( const char* jobz, const char* uplo, const MKL_INT* n, float* ap,
            float* w, float* z, const MKL_INT* ldz, float* work,
            MKL_INT* info ) NOTHROW;
void SSPEV_( const char* jobz, const char* uplo, const MKL_INT* n, float* ap,
             float* w, float* z, const MKL_INT* ldz, float* work,
             MKL_INT* info ) NOTHROW;
void sspev( const char* jobz, const char* uplo, const MKL_INT* n, float* ap,
            float* w, float* z, const MKL_INT* ldz, float* work,
            MKL_INT* info ) NOTHROW;
void sspev_( const char* jobz, const char* uplo, const MKL_INT* n, float* ap,
             float* w, float* z, const MKL_INT* ldz, float* work,
             MKL_INT* info ) NOTHROW;

void SSPEVX( const char* jobz, const char* range, const char* uplo,
             const MKL_INT* n, float* ap, const float* vl, const float* vu,
             const MKL_INT* il, const MKL_INT* iu, const float* abstol,
             MKL_INT* m, float* w, float* z, const MKL_INT* ldz, float* work,
             MKL_INT* iwork, MKL_INT* ifail, MKL_INT* info ) NOTHROW;
void SSPEVX_( const char* jobz, const char* range, const char* uplo,
              const MKL_INT* n, float* ap, const float* vl, const float* vu,
              const MKL_INT* il, const MKL_INT* iu, const float* abstol,
              MKL_INT* m, float* w, float* z, const MKL_INT* ldz, float* work,
              MKL_INT* iwork, MKL_INT* ifail, MKL_INT* info ) NOTHROW;
void sspevx( const char* jobz, const char* range, const char* uplo,
             const MKL_INT* n, float* ap, const float* vl, const float* vu,
             const MKL_INT* il, const MKL_INT* iu, const float* abstol,
             MKL_INT* m, float* w, float* z, const MKL_INT* ldz, float* work,
             MKL_INT* iwork, MKL_INT* ifail, MKL_INT* info ) NOTHROW;
void sspevx_( const char* jobz, const char* range, const char* uplo,
              const MKL_INT* n, float* ap, const float* vl, const float* vu,
              const MKL_INT* il, const MKL_INT* iu, const float* abstol,
              MKL_INT* m, float* w, float* z, const MKL_INT* ldz, float* work,
              MKL_INT* iwork, MKL_INT* ifail, MKL_INT* info ) NOTHROW;

void SSPGST( const MKL_INT* itype, const char* uplo, const MKL_INT* n,
             float* ap, const float* bp, MKL_INT* info ) NOTHROW;
void SSPGST_( const MKL_INT* itype, const char* uplo, const MKL_INT* n,
              float* ap, const float* bp, MKL_INT* info ) NOTHROW;
void sspgst( const MKL_INT* itype, const char* uplo, const MKL_INT* n,
             float* ap, const float* bp, MKL_INT* info ) NOTHROW;
void sspgst_( const MKL_INT* itype, const char* uplo, const MKL_INT* n,
              float* ap, const float* bp, MKL_INT* info ) NOTHROW;

void SSPGVD( const MKL_INT* itype, const char* jobz, const char* uplo,
             const MKL_INT* n, float* ap, float* bp, float* w, float* z,
             const MKL_INT* ldz, float* work, const MKL_INT* lwork,
             MKL_INT* iwork, const MKL_INT* liwork, MKL_INT* info ) NOTHROW;
void SSPGVD_( const MKL_INT* itype, const char* jobz, const char* uplo,
              const MKL_INT* n, float* ap, float* bp, float* w, float* z,
              const MKL_INT* ldz, float* work, const MKL_INT* lwork,
              MKL_INT* iwork, const MKL_INT* liwork, MKL_INT* info ) NOTHROW;
void sspgvd( const MKL_INT* itype, const char* jobz, const char* uplo,
             const MKL_INT* n, float* ap, float* bp, float* w, float* z,
             const MKL_INT* ldz, float* work, const MKL_INT* lwork,
             MKL_INT* iwork, const MKL_INT* liwork, MKL_INT* info ) NOTHROW;
void sspgvd_( const MKL_INT* itype, const char* jobz, const char* uplo,
              const MKL_INT* n, float* ap, float* bp, float* w, float* z,
              const MKL_INT* ldz, float* work, const MKL_INT* lwork,
              MKL_INT* iwork, const MKL_INT* liwork, MKL_INT* info ) NOTHROW;

void SSPGV( const MKL_INT* itype, const char* jobz, const char* uplo,
            const MKL_INT* n, float* ap, float* bp, float* w, float* z,
            const MKL_INT* ldz, float* work, MKL_INT* info ) NOTHROW;
void SSPGV_( const MKL_INT* itype, const char* jobz, const char* uplo,
             const MKL_INT* n, float* ap, float* bp, float* w, float* z,
             const MKL_INT* ldz, float* work, MKL_INT* info ) NOTHROW;
void sspgv( const MKL_INT* itype, const char* jobz, const char* uplo,
            const MKL_INT* n, float* ap, float* bp, float* w, float* z,
            const MKL_INT* ldz, float* work, MKL_INT* info ) NOTHROW;
void sspgv_( const MKL_INT* itype, const char* jobz, const char* uplo,
             const MKL_INT* n, float* ap, float* bp, float* w, float* z,
             const MKL_INT* ldz, float* work, MKL_INT* info ) NOTHROW;

void SSPGVX( const MKL_INT* itype, const char* jobz, const char* range,
             const char* uplo, const MKL_INT* n, float* ap, float* bp,
             const float* vl, const float* vu, const MKL_INT* il,
             const MKL_INT* iu, const float* abstol, MKL_INT* m, float* w,
             float* z, const MKL_INT* ldz, float* work, MKL_INT* iwork,
             MKL_INT* ifail, MKL_INT* info ) NOTHROW;
void SSPGVX_( const MKL_INT* itype, const char* jobz, const char* range,
              const char* uplo, const MKL_INT* n, float* ap, float* bp,
              const float* vl, const float* vu, const MKL_INT* il,
              const MKL_INT* iu, const float* abstol, MKL_INT* m, float* w,
              float* z, const MKL_INT* ldz, float* work, MKL_INT* iwork,
              MKL_INT* ifail, MKL_INT* info ) NOTHROW;
void sspgvx( const MKL_INT* itype, const char* jobz, const char* range,
             const char* uplo, const MKL_INT* n, float* ap, float* bp,
             const float* vl, const float* vu, const MKL_INT* il,
             const MKL_INT* iu, const float* abstol, MKL_INT* m, float* w,
             float* z, const MKL_INT* ldz, float* work, MKL_INT* iwork,
             MKL_INT* ifail, MKL_INT* info ) NOTHROW;
void sspgvx_( const MKL_INT* itype, const char* jobz, const char* range,
              const char* uplo, const MKL_INT* n, float* ap, float* bp,
              const float* vl, const float* vu, const MKL_INT* il,
              const MKL_INT* iu, const float* abstol, MKL_INT* m, float* w,
              float* z, const MKL_INT* ldz, float* work, MKL_INT* iwork,
              MKL_INT* ifail, MKL_INT* info ) NOTHROW;

void SSPRFS( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs,
             const float* ap, const float* afp, const MKL_INT* ipiv,
             const float* b, const MKL_INT* ldb, float* x, const MKL_INT* ldx,
             float* ferr, float* berr, float* work, MKL_INT* iwork,
             MKL_INT* info ) NOTHROW;
void SSPRFS_( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs,
              const float* ap, const float* afp, const MKL_INT* ipiv,
              const float* b, const MKL_INT* ldb, float* x, const MKL_INT* ldx,
              float* ferr, float* berr, float* work, MKL_INT* iwork,
              MKL_INT* info ) NOTHROW;
void ssprfs( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs,
             const float* ap, const float* afp, const MKL_INT* ipiv,
             const float* b, const MKL_INT* ldb, float* x, const MKL_INT* ldx,
             float* ferr, float* berr, float* work, MKL_INT* iwork,
             MKL_INT* info ) NOTHROW;
void ssprfs_( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs,
              const float* ap, const float* afp, const MKL_INT* ipiv,
              const float* b, const MKL_INT* ldb, float* x, const MKL_INT* ldx,
              float* ferr, float* berr, float* work, MKL_INT* iwork,
              MKL_INT* info ) NOTHROW;

void SSPSV( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs, float* ap,
            MKL_INT* ipiv, float* b, const MKL_INT* ldb, MKL_INT* info ) NOTHROW;
void SSPSV_( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs,
             float* ap, MKL_INT* ipiv, float* b, const MKL_INT* ldb,
             MKL_INT* info ) NOTHROW;
void sspsv( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs, float* ap,
            MKL_INT* ipiv, float* b, const MKL_INT* ldb, MKL_INT* info ) NOTHROW;
void sspsv_( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs,
             float* ap, MKL_INT* ipiv, float* b, const MKL_INT* ldb,
             MKL_INT* info ) NOTHROW;

void SSPSVX( const char* fact, const char* uplo, const MKL_INT* n,
             const MKL_INT* nrhs, const float* ap, float* afp, MKL_INT* ipiv,
             const float* b, const MKL_INT* ldb, float* x, const MKL_INT* ldx,
             float* rcond, float* ferr, float* berr, float* work,
             MKL_INT* iwork, MKL_INT* info ) NOTHROW;
void SSPSVX_( const char* fact, const char* uplo, const MKL_INT* n,
              const MKL_INT* nrhs, const float* ap, float* afp, MKL_INT* ipiv,
              const float* b, const MKL_INT* ldb, float* x, const MKL_INT* ldx,
              float* rcond, float* ferr, float* berr, float* work,
              MKL_INT* iwork, MKL_INT* info ) NOTHROW;
void sspsvx( const char* fact, const char* uplo, const MKL_INT* n,
             const MKL_INT* nrhs, const float* ap, float* afp, MKL_INT* ipiv,
             const float* b, const MKL_INT* ldb, float* x, const MKL_INT* ldx,
             float* rcond, float* ferr, float* berr, float* work,
             MKL_INT* iwork, MKL_INT* info ) NOTHROW;
void sspsvx_( const char* fact, const char* uplo, const MKL_INT* n,
              const MKL_INT* nrhs, const float* ap, float* afp, MKL_INT* ipiv,
              const float* b, const MKL_INT* ldb, float* x, const MKL_INT* ldx,
              float* rcond, float* ferr, float* berr, float* work,
              MKL_INT* iwork, MKL_INT* info ) NOTHROW;

void SSPTRD( const char* uplo, const MKL_INT* n, float* ap, float* d, float* e,
             float* tau, MKL_INT* info ) NOTHROW;
void SSPTRD_( const char* uplo, const MKL_INT* n, float* ap, float* d,
              float* e, float* tau, MKL_INT* info ) NOTHROW;
void ssptrd( const char* uplo, const MKL_INT* n, float* ap, float* d, float* e,
             float* tau, MKL_INT* info ) NOTHROW;
void ssptrd_( const char* uplo, const MKL_INT* n, float* ap, float* d,
              float* e, float* tau, MKL_INT* info ) NOTHROW;

void SSPTRF( const char* uplo, const MKL_INT* n, float* ap, MKL_INT* ipiv,
             MKL_INT* info ) NOTHROW;
void SSPTRF_( const char* uplo, const MKL_INT* n, float* ap, MKL_INT* ipiv,
              MKL_INT* info ) NOTHROW;
void ssptrf( const char* uplo, const MKL_INT* n, float* ap, MKL_INT* ipiv,
             MKL_INT* info ) NOTHROW;
void ssptrf_( const char* uplo, const MKL_INT* n, float* ap, MKL_INT* ipiv,
              MKL_INT* info ) NOTHROW;

void SSPTRI( const char* uplo, const MKL_INT* n, float* ap,
             const MKL_INT* ipiv, float* work, MKL_INT* info ) NOTHROW;
void SSPTRI_( const char* uplo, const MKL_INT* n, float* ap,
              const MKL_INT* ipiv, float* work, MKL_INT* info ) NOTHROW;
void ssptri( const char* uplo, const MKL_INT* n, float* ap,
             const MKL_INT* ipiv, float* work, MKL_INT* info ) NOTHROW;
void ssptri_( const char* uplo, const MKL_INT* n, float* ap,
              const MKL_INT* ipiv, float* work, MKL_INT* info ) NOTHROW;

void SSPTRS( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs,
             const float* ap, const MKL_INT* ipiv, float* b,
             const MKL_INT* ldb, MKL_INT* info ) NOTHROW;
void SSPTRS_( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs,
              const float* ap, const MKL_INT* ipiv, float* b,
              const MKL_INT* ldb, MKL_INT* info ) NOTHROW;
void ssptrs( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs,
             const float* ap, const MKL_INT* ipiv, float* b,
             const MKL_INT* ldb, MKL_INT* info ) NOTHROW;
void ssptrs_( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs,
              const float* ap, const MKL_INT* ipiv, float* b,
              const MKL_INT* ldb, MKL_INT* info ) NOTHROW;

void SSTEBZ( const char* range, const char* order, const MKL_INT* n,
             const float* vl, const float* vu, const MKL_INT* il,
             const MKL_INT* iu, const float* abstol, const float* d,
             const float* e, MKL_INT* m, MKL_INT* nsplit, float* w,
             MKL_INT* iblock, MKL_INT* isplit, float* work, MKL_INT* iwork,
             MKL_INT* info ) NOTHROW;
void SSTEBZ_( const char* range, const char* order, const MKL_INT* n,
              const float* vl, const float* vu, const MKL_INT* il,
              const MKL_INT* iu, const float* abstol, const float* d,
              const float* e, MKL_INT* m, MKL_INT* nsplit, float* w,
              MKL_INT* iblock, MKL_INT* isplit, float* work, MKL_INT* iwork,
              MKL_INT* info ) NOTHROW;
void sstebz( const char* range, const char* order, const MKL_INT* n,
             const float* vl, const float* vu, const MKL_INT* il,
             const MKL_INT* iu, const float* abstol, const float* d,
             const float* e, MKL_INT* m, MKL_INT* nsplit, float* w,
             MKL_INT* iblock, MKL_INT* isplit, float* work, MKL_INT* iwork,
             MKL_INT* info ) NOTHROW;
void sstebz_( const char* range, const char* order, const MKL_INT* n,
              const float* vl, const float* vu, const MKL_INT* il,
              const MKL_INT* iu, const float* abstol, const float* d,
              const float* e, MKL_INT* m, MKL_INT* nsplit, float* w,
              MKL_INT* iblock, MKL_INT* isplit, float* work, MKL_INT* iwork,
              MKL_INT* info ) NOTHROW;

void SSTEDC( const char* compz, const MKL_INT* n, float* d, float* e, float* z,
             const MKL_INT* ldz, float* work, const MKL_INT* lwork,
             MKL_INT* iwork, const MKL_INT* liwork, MKL_INT* info ) NOTHROW;
void SSTEDC_( const char* compz, const MKL_INT* n, float* d, float* e,
              float* z, const MKL_INT* ldz, float* work, const MKL_INT* lwork,
              MKL_INT* iwork, const MKL_INT* liwork, MKL_INT* info ) NOTHROW;
void sstedc( const char* compz, const MKL_INT* n, float* d, float* e, float* z,
             const MKL_INT* ldz, float* work, const MKL_INT* lwork,
             MKL_INT* iwork, const MKL_INT* liwork, MKL_INT* info ) NOTHROW;
void sstedc_( const char* compz, const MKL_INT* n, float* d, float* e,
              float* z, const MKL_INT* ldz, float* work, const MKL_INT* lwork,
              MKL_INT* iwork, const MKL_INT* liwork, MKL_INT* info ) NOTHROW;

void SSTEGR( const char* jobz, const char* range, const MKL_INT* n, float* d,
             float* e, const float* vl, const float* vu, const MKL_INT* il,
             const MKL_INT* iu, const float* abstol, MKL_INT* m, float* w,
             float* z, const MKL_INT* ldz, MKL_INT* isuppz, float* work,
             const MKL_INT* lwork, MKL_INT* iwork, const MKL_INT* liwork,
             MKL_INT* info ) NOTHROW;
void SSTEGR_( const char* jobz, const char* range, const MKL_INT* n, float* d,
              float* e, const float* vl, const float* vu, const MKL_INT* il,
              const MKL_INT* iu, const float* abstol, MKL_INT* m, float* w,
              float* z, const MKL_INT* ldz, MKL_INT* isuppz, float* work,
              const MKL_INT* lwork, MKL_INT* iwork, const MKL_INT* liwork,
              MKL_INT* info ) NOTHROW;
void sstegr( const char* jobz, const char* range, const MKL_INT* n, float* d,
             float* e, const float* vl, const float* vu, const MKL_INT* il,
             const MKL_INT* iu, const float* abstol, MKL_INT* m, float* w,
             float* z, const MKL_INT* ldz, MKL_INT* isuppz, float* work,
             const MKL_INT* lwork, MKL_INT* iwork, const MKL_INT* liwork,
             MKL_INT* info ) NOTHROW;
void sstegr_( const char* jobz, const char* range, const MKL_INT* n, float* d,
              float* e, const float* vl, const float* vu, const MKL_INT* il,
              const MKL_INT* iu, const float* abstol, MKL_INT* m, float* w,
              float* z, const MKL_INT* ldz, MKL_INT* isuppz, float* work,
              const MKL_INT* lwork, MKL_INT* iwork, const MKL_INT* liwork,
              MKL_INT* info ) NOTHROW;

void SSTEIN( const MKL_INT* n, const float* d, const float* e,
             const MKL_INT* m, const float* w, const MKL_INT* iblock,
             const MKL_INT* isplit, float* z, const MKL_INT* ldz, float* work,
             MKL_INT* iwork, MKL_INT* ifail, MKL_INT* info ) NOTHROW;
void SSTEIN_( const MKL_INT* n, const float* d, const float* e,
              const MKL_INT* m, const float* w, const MKL_INT* iblock,
              const MKL_INT* isplit, float* z, const MKL_INT* ldz, float* work,
              MKL_INT* iwork, MKL_INT* ifail, MKL_INT* info ) NOTHROW;
void sstein( const MKL_INT* n, const float* d, const float* e,
             const MKL_INT* m, const float* w, const MKL_INT* iblock,
             const MKL_INT* isplit, float* z, const MKL_INT* ldz, float* work,
             MKL_INT* iwork, MKL_INT* ifail, MKL_INT* info ) NOTHROW;
void sstein_( const MKL_INT* n, const float* d, const float* e,
              const MKL_INT* m, const float* w, const MKL_INT* iblock,
              const MKL_INT* isplit, float* z, const MKL_INT* ldz, float* work,
              MKL_INT* iwork, MKL_INT* ifail, MKL_INT* info ) NOTHROW;

void SSTEMR( const char* jobz, const char* range, const MKL_INT* n, float* d,
             float* e, const float* vl, const float* vu, const MKL_INT* il,
             const MKL_INT* iu, MKL_INT* m, float* w, float* z,
             const MKL_INT* ldz, const MKL_INT* nzc, MKL_INT* isuppz,
             MKL_INT* tryrac, float* work, const MKL_INT* lwork,
             MKL_INT* iwork, const MKL_INT* liwork, MKL_INT* info ) NOTHROW;
void SSTEMR_( const char* jobz, const char* range, const MKL_INT* n, float* d,
              float* e, const float* vl, const float* vu, const MKL_INT* il,
              const MKL_INT* iu, MKL_INT* m, float* w, float* z,
              const MKL_INT* ldz, const MKL_INT* nzc, MKL_INT* isuppz,
              MKL_INT* tryrac, float* work, const MKL_INT* lwork,
              MKL_INT* iwork, const MKL_INT* liwork, MKL_INT* info ) NOTHROW;
void sstemr( const char* jobz, const char* range, const MKL_INT* n, float* d,
             float* e, const float* vl, const float* vu, const MKL_INT* il,
             const MKL_INT* iu, MKL_INT* m, float* w, float* z,
             const MKL_INT* ldz, const MKL_INT* nzc, MKL_INT* isuppz,
             MKL_INT* tryrac, float* work, const MKL_INT* lwork,
             MKL_INT* iwork, const MKL_INT* liwork, MKL_INT* info ) NOTHROW;
void sstemr_( const char* jobz, const char* range, const MKL_INT* n, float* d,
              float* e, const float* vl, const float* vu, const MKL_INT* il,
              const MKL_INT* iu, MKL_INT* m, float* w, float* z,
              const MKL_INT* ldz, const MKL_INT* nzc, MKL_INT* isuppz,
              MKL_INT* tryrac, float* work, const MKL_INT* lwork,
              MKL_INT* iwork, const MKL_INT* liwork, MKL_INT* info ) NOTHROW;

void SSTEQR( const char* compz, const MKL_INT* n, float* d, float* e, float* z,
             const MKL_INT* ldz, float* work, MKL_INT* info ) NOTHROW;
void SSTEQR_( const char* compz, const MKL_INT* n, float* d, float* e,
              float* z, const MKL_INT* ldz, float* work, MKL_INT* info ) NOTHROW;
void ssteqr( const char* compz, const MKL_INT* n, float* d, float* e, float* z,
             const MKL_INT* ldz, float* work, MKL_INT* info ) NOTHROW;
void ssteqr_( const char* compz, const MKL_INT* n, float* d, float* e,
              float* z, const MKL_INT* ldz, float* work, MKL_INT* info ) NOTHROW;

void SSTERF( const MKL_INT* n, float* d, float* e, MKL_INT* info ) NOTHROW;
void SSTERF_( const MKL_INT* n, float* d, float* e, MKL_INT* info ) NOTHROW;
void ssterf( const MKL_INT* n, float* d, float* e, MKL_INT* info ) NOTHROW;
void ssterf_( const MKL_INT* n, float* d, float* e, MKL_INT* info ) NOTHROW;

void SSTEVD( const char* jobz, const MKL_INT* n, float* d, float* e, float* z,
             const MKL_INT* ldz, float* work, const MKL_INT* lwork,
             MKL_INT* iwork, const MKL_INT* liwork, MKL_INT* info ) NOTHROW;
void SSTEVD_( const char* jobz, const MKL_INT* n, float* d, float* e, float* z,
              const MKL_INT* ldz, float* work, const MKL_INT* lwork,
              MKL_INT* iwork, const MKL_INT* liwork, MKL_INT* info ) NOTHROW;
void sstevd( const char* jobz, const MKL_INT* n, float* d, float* e, float* z,
             const MKL_INT* ldz, float* work, const MKL_INT* lwork,
             MKL_INT* iwork, const MKL_INT* liwork, MKL_INT* info ) NOTHROW;
void sstevd_( const char* jobz, const MKL_INT* n, float* d, float* e, float* z,
              const MKL_INT* ldz, float* work, const MKL_INT* lwork,
              MKL_INT* iwork, const MKL_INT* liwork, MKL_INT* info ) NOTHROW;

void SSTEV( const char* jobz, const MKL_INT* n, float* d, float* e, float* z,
            const MKL_INT* ldz, float* work, MKL_INT* info ) NOTHROW;
void SSTEV_( const char* jobz, const MKL_INT* n, float* d, float* e, float* z,
             const MKL_INT* ldz, float* work, MKL_INT* info ) NOTHROW;
void sstev( const char* jobz, const MKL_INT* n, float* d, float* e, float* z,
            const MKL_INT* ldz, float* work, MKL_INT* info ) NOTHROW;
void sstev_( const char* jobz, const MKL_INT* n, float* d, float* e, float* z,
             const MKL_INT* ldz, float* work, MKL_INT* info ) NOTHROW;

void SSTEVR( const char* jobz, const char* range, const MKL_INT* n, float* d,
             float* e, const float* vl, const float* vu, const MKL_INT* il,
             const MKL_INT* iu, const float* abstol, MKL_INT* m, float* w,
             float* z, const MKL_INT* ldz, MKL_INT* isuppz, float* work,
             const MKL_INT* lwork, MKL_INT* iwork, const MKL_INT* liwork,
             MKL_INT* info ) NOTHROW;
void SSTEVR_( const char* jobz, const char* range, const MKL_INT* n, float* d,
              float* e, const float* vl, const float* vu, const MKL_INT* il,
              const MKL_INT* iu, const float* abstol, MKL_INT* m, float* w,
              float* z, const MKL_INT* ldz, MKL_INT* isuppz, float* work,
              const MKL_INT* lwork, MKL_INT* iwork, const MKL_INT* liwork,
              MKL_INT* info ) NOTHROW;
void sstevr( const char* jobz, const char* range, const MKL_INT* n, float* d,
             float* e, const float* vl, const float* vu, const MKL_INT* il,
             const MKL_INT* iu, const float* abstol, MKL_INT* m, float* w,
             float* z, const MKL_INT* ldz, MKL_INT* isuppz, float* work,
             const MKL_INT* lwork, MKL_INT* iwork, const MKL_INT* liwork,
             MKL_INT* info ) NOTHROW;
void sstevr_( const char* jobz, const char* range, const MKL_INT* n, float* d,
              float* e, const float* vl, const float* vu, const MKL_INT* il,
              const MKL_INT* iu, const float* abstol, MKL_INT* m, float* w,
              float* z, const MKL_INT* ldz, MKL_INT* isuppz, float* work,
              const MKL_INT* lwork, MKL_INT* iwork, const MKL_INT* liwork,
              MKL_INT* info ) NOTHROW;

void SSTEVX( const char* jobz, const char* range, const MKL_INT* n, float* d,
             float* e, const float* vl, const float* vu, const MKL_INT* il,
             const MKL_INT* iu, const float* abstol, MKL_INT* m, float* w,
             float* z, const MKL_INT* ldz, float* work, MKL_INT* iwork,
             MKL_INT* ifail, MKL_INT* info ) NOTHROW;
void SSTEVX_( const char* jobz, const char* range, const MKL_INT* n, float* d,
              float* e, const float* vl, const float* vu, const MKL_INT* il,
              const MKL_INT* iu, const float* abstol, MKL_INT* m, float* w,
              float* z, const MKL_INT* ldz, float* work, MKL_INT* iwork,
              MKL_INT* ifail, MKL_INT* info ) NOTHROW;
void sstevx( const char* jobz, const char* range, const MKL_INT* n, float* d,
             float* e, const float* vl, const float* vu, const MKL_INT* il,
             const MKL_INT* iu, const float* abstol, MKL_INT* m, float* w,
             float* z, const MKL_INT* ldz, float* work, MKL_INT* iwork,
             MKL_INT* ifail, MKL_INT* info ) NOTHROW;
void sstevx_( const char* jobz, const char* range, const MKL_INT* n, float* d,
              float* e, const float* vl, const float* vu, const MKL_INT* il,
              const MKL_INT* iu, const float* abstol, MKL_INT* m, float* w,
              float* z, const MKL_INT* ldz, float* work, MKL_INT* iwork,
              MKL_INT* ifail, MKL_INT* info ) NOTHROW;

void SSYCON( const char* uplo, const MKL_INT* n, const float* a,
             const MKL_INT* lda, const MKL_INT* ipiv, const float* anorm,
             float* rcond, float* work, MKL_INT* iwork, MKL_INT* info ) NOTHROW;
void SSYCON_( const char* uplo, const MKL_INT* n, const float* a,
              const MKL_INT* lda, const MKL_INT* ipiv, const float* anorm,
              float* rcond, float* work, MKL_INT* iwork, MKL_INT* info ) NOTHROW;
void ssycon( const char* uplo, const MKL_INT* n, const float* a,
             const MKL_INT* lda, const MKL_INT* ipiv, const float* anorm,
             float* rcond, float* work, MKL_INT* iwork, MKL_INT* info ) NOTHROW;
void ssycon_( const char* uplo, const MKL_INT* n, const float* a,
              const MKL_INT* lda, const MKL_INT* ipiv, const float* anorm,
              float* rcond, float* work, MKL_INT* iwork, MKL_INT* info ) NOTHROW;

void SSYEQUB( const char* uplo, const MKL_INT* n, const float* a, const MKL_INT* lda,
              float* s, float* scond, float* amax, float* work,
              MKL_INT* info ) NOTHROW;
void SSYEQUB_( const char* uplo, const MKL_INT* n, const float* a,
               const MKL_INT* lda, float* s, float* scond, float* amax,
               float* work, MKL_INT* info ) NOTHROW;
void ssyequb( const char* uplo, const MKL_INT* n, const float* a, const MKL_INT* lda,
              float* s, float* scond, float* amax, float* work,
              MKL_INT* info ) NOTHROW;
void ssyequb_( const char* uplo, const MKL_INT* n, const float* a,
               const MKL_INT* lda, float* s, float* scond, float* amax,
               float* work, MKL_INT* info ) NOTHROW;

void SSYEVD( const char* jobz, const char* uplo, const MKL_INT* n, float* a,
             const MKL_INT* lda, float* w, float* work, const MKL_INT* lwork,
             MKL_INT* iwork, const MKL_INT* liwork, MKL_INT* info ) NOTHROW;
void SSYEVD_( const char* jobz, const char* uplo, const MKL_INT* n, float* a,
              const MKL_INT* lda, float* w, float* work, const MKL_INT* lwork,
              MKL_INT* iwork, const MKL_INT* liwork, MKL_INT* info ) NOTHROW;
void ssyevd( const char* jobz, const char* uplo, const MKL_INT* n, float* a,
             const MKL_INT* lda, float* w, float* work, const MKL_INT* lwork,
             MKL_INT* iwork, const MKL_INT* liwork, MKL_INT* info ) NOTHROW;
void ssyevd_( const char* jobz, const char* uplo, const MKL_INT* n, float* a,
              const MKL_INT* lda, float* w, float* work, const MKL_INT* lwork,
              MKL_INT* iwork, const MKL_INT* liwork, MKL_INT* info ) NOTHROW;

void SSYEV( const char* jobz, const char* uplo, const MKL_INT* n, float* a,
            const MKL_INT* lda, float* w, float* work, const MKL_INT* lwork,
            MKL_INT* info ) NOTHROW;
void SSYEV_( const char* jobz, const char* uplo, const MKL_INT* n, float* a,
             const MKL_INT* lda, float* w, float* work, const MKL_INT* lwork,
             MKL_INT* info ) NOTHROW;
void ssyev( const char* jobz, const char* uplo, const MKL_INT* n, float* a,
            const MKL_INT* lda, float* w, float* work, const MKL_INT* lwork,
            MKL_INT* info ) NOTHROW;
void ssyev_( const char* jobz, const char* uplo, const MKL_INT* n, float* a,
             const MKL_INT* lda, float* w, float* work, const MKL_INT* lwork,
             MKL_INT* info ) NOTHROW;

void SSYEVR( const char* jobz, const char* range, const char* uplo,
             const MKL_INT* n, float* a, const MKL_INT* lda, const float* vl,
             const float* vu, const MKL_INT* il, const MKL_INT* iu,
             const float* abstol, MKL_INT* m, float* w, float* z,
             const MKL_INT* ldz, MKL_INT* isuppz, float* work,
             const MKL_INT* lwork, MKL_INT* iwork, const MKL_INT* liwork,
             MKL_INT* info ) NOTHROW;
void SSYEVR_( const char* jobz, const char* range, const char* uplo,
              const MKL_INT* n, float* a, const MKL_INT* lda, const float* vl,
              const float* vu, const MKL_INT* il, const MKL_INT* iu,
              const float* abstol, MKL_INT* m, float* w, float* z,
              const MKL_INT* ldz, MKL_INT* isuppz, float* work,
              const MKL_INT* lwork, MKL_INT* iwork, const MKL_INT* liwork,
              MKL_INT* info ) NOTHROW;
void ssyevr( const char* jobz, const char* range, const char* uplo,
             const MKL_INT* n, float* a, const MKL_INT* lda, const float* vl,
             const float* vu, const MKL_INT* il, const MKL_INT* iu,
             const float* abstol, MKL_INT* m, float* w, float* z,
             const MKL_INT* ldz, MKL_INT* isuppz, float* work,
             const MKL_INT* lwork, MKL_INT* iwork, const MKL_INT* liwork,
             MKL_INT* info ) NOTHROW;
void ssyevr_( const char* jobz, const char* range, const char* uplo,
              const MKL_INT* n, float* a, const MKL_INT* lda, const float* vl,
              const float* vu, const MKL_INT* il, const MKL_INT* iu,
              const float* abstol, MKL_INT* m, float* w, float* z,
              const MKL_INT* ldz, MKL_INT* isuppz, float* work,
              const MKL_INT* lwork, MKL_INT* iwork, const MKL_INT* liwork,
              MKL_INT* info ) NOTHROW;

void SSYEVX( const char* jobz, const char* range, const char* uplo,
             const MKL_INT* n, float* a, const MKL_INT* lda, const float* vl,
             const float* vu, const MKL_INT* il, const MKL_INT* iu,
             const float* abstol, MKL_INT* m, float* w, float* z,
             const MKL_INT* ldz, float* work, const MKL_INT* lwork,
             MKL_INT* iwork, MKL_INT* ifail, MKL_INT* info ) NOTHROW;
void SSYEVX_( const char* jobz, const char* range, const char* uplo,
              const MKL_INT* n, float* a, const MKL_INT* lda, const float* vl,
              const float* vu, const MKL_INT* il, const MKL_INT* iu,
              const float* abstol, MKL_INT* m, float* w, float* z,
              const MKL_INT* ldz, float* work, const MKL_INT* lwork,
              MKL_INT* iwork, MKL_INT* ifail, MKL_INT* info ) NOTHROW;
void ssyevx( const char* jobz, const char* range, const char* uplo,
             const MKL_INT* n, float* a, const MKL_INT* lda, const float* vl,
             const float* vu, const MKL_INT* il, const MKL_INT* iu,
             const float* abstol, MKL_INT* m, float* w, float* z,
             const MKL_INT* ldz, float* work, const MKL_INT* lwork,
             MKL_INT* iwork, MKL_INT* ifail, MKL_INT* info ) NOTHROW;
void ssyevx_( const char* jobz, const char* range, const char* uplo,
              const MKL_INT* n, float* a, const MKL_INT* lda, const float* vl,
              const float* vu, const MKL_INT* il, const MKL_INT* iu,
              const float* abstol, MKL_INT* m, float* w, float* z,
              const MKL_INT* ldz, float* work, const MKL_INT* lwork,
              MKL_INT* iwork, MKL_INT* ifail, MKL_INT* info ) NOTHROW;

void SSYGS2( const MKL_INT* itype, const char* uplo, const MKL_INT* n,
             float* a, const MKL_INT* lda, const float* b, const MKL_INT* ldb,
             MKL_INT* info ) NOTHROW;
void SSYGS2_( const MKL_INT* itype, const char* uplo, const MKL_INT* n,
              float* a, const MKL_INT* lda, const float* b, const MKL_INT* ldb,
              MKL_INT* info ) NOTHROW;
void ssygs2( const MKL_INT* itype, const char* uplo, const MKL_INT* n,
             float* a, const MKL_INT* lda, const float* b, const MKL_INT* ldb,
             MKL_INT* info ) NOTHROW;
void ssygs2_( const MKL_INT* itype, const char* uplo, const MKL_INT* n,
              float* a, const MKL_INT* lda, const float* b, const MKL_INT* ldb,
              MKL_INT* info ) NOTHROW;

void SSYGST( const MKL_INT* itype, const char* uplo, const MKL_INT* n,
             float* a, const MKL_INT* lda, const float* b, const MKL_INT* ldb,
             MKL_INT* info ) NOTHROW;
void SSYGST_( const MKL_INT* itype, const char* uplo, const MKL_INT* n,
              float* a, const MKL_INT* lda, const float* b, const MKL_INT* ldb,
              MKL_INT* info ) NOTHROW;
void ssygst( const MKL_INT* itype, const char* uplo, const MKL_INT* n,
             float* a, const MKL_INT* lda, const float* b, const MKL_INT* ldb,
             MKL_INT* info ) NOTHROW;
void ssygst_( const MKL_INT* itype, const char* uplo, const MKL_INT* n,
              float* a, const MKL_INT* lda, const float* b, const MKL_INT* ldb,
              MKL_INT* info ) NOTHROW;

void SSYGVD( const MKL_INT* itype, const char* jobz, const char* uplo,
             const MKL_INT* n, float* a, const MKL_INT* lda, float* b,
             const MKL_INT* ldb, float* w, float* work, const MKL_INT* lwork,
             MKL_INT* iwork, const MKL_INT* liwork, MKL_INT* info ) NOTHROW;
void SSYGVD_( const MKL_INT* itype, const char* jobz, const char* uplo,
              const MKL_INT* n, float* a, const MKL_INT* lda, float* b,
              const MKL_INT* ldb, float* w, float* work, const MKL_INT* lwork,
              MKL_INT* iwork, const MKL_INT* liwork, MKL_INT* info ) NOTHROW;
void ssygvd( const MKL_INT* itype, const char* jobz, const char* uplo,
             const MKL_INT* n, float* a, const MKL_INT* lda, float* b,
             const MKL_INT* ldb, float* w, float* work, const MKL_INT* lwork,
             MKL_INT* iwork, const MKL_INT* liwork, MKL_INT* info ) NOTHROW;
void ssygvd_( const MKL_INT* itype, const char* jobz, const char* uplo,
              const MKL_INT* n, float* a, const MKL_INT* lda, float* b,
              const MKL_INT* ldb, float* w, float* work, const MKL_INT* lwork,
              MKL_INT* iwork, const MKL_INT* liwork, MKL_INT* info ) NOTHROW;

void SSYGV( const MKL_INT* itype, const char* jobz, const char* uplo,
            const MKL_INT* n, float* a, const MKL_INT* lda, float* b,
            const MKL_INT* ldb, float* w, float* work, const MKL_INT* lwork,
            MKL_INT* info ) NOTHROW;
void SSYGV_( const MKL_INT* itype, const char* jobz, const char* uplo,
             const MKL_INT* n, float* a, const MKL_INT* lda, float* b,
             const MKL_INT* ldb, float* w, float* work, const MKL_INT* lwork,
             MKL_INT* info ) NOTHROW;
void ssygv( const MKL_INT* itype, const char* jobz, const char* uplo,
            const MKL_INT* n, float* a, const MKL_INT* lda, float* b,
            const MKL_INT* ldb, float* w, float* work, const MKL_INT* lwork,
            MKL_INT* info ) NOTHROW;
void ssygv_( const MKL_INT* itype, const char* jobz, const char* uplo,
             const MKL_INT* n, float* a, const MKL_INT* lda, float* b,
             const MKL_INT* ldb, float* w, float* work, const MKL_INT* lwork,
             MKL_INT* info ) NOTHROW;

void SSYGVX( const MKL_INT* itype, const char* jobz, const char* range,
             const char* uplo, const MKL_INT* n, float* a, const MKL_INT* lda,
             float* b, const MKL_INT* ldb, const float* vl, const float* vu,
             const MKL_INT* il, const MKL_INT* iu, const float* abstol,
             MKL_INT* m, float* w, float* z, const MKL_INT* ldz, float* work,
             const MKL_INT* lwork, MKL_INT* iwork, MKL_INT* ifail,
             MKL_INT* info ) NOTHROW;
void SSYGVX_( const MKL_INT* itype, const char* jobz, const char* range,
              const char* uplo, const MKL_INT* n, float* a, const MKL_INT* lda,
              float* b, const MKL_INT* ldb, const float* vl, const float* vu,
              const MKL_INT* il, const MKL_INT* iu, const float* abstol,
              MKL_INT* m, float* w, float* z, const MKL_INT* ldz, float* work,
              const MKL_INT* lwork, MKL_INT* iwork, MKL_INT* ifail,
              MKL_INT* info ) NOTHROW;
void ssygvx( const MKL_INT* itype, const char* jobz, const char* range,
             const char* uplo, const MKL_INT* n, float* a, const MKL_INT* lda,
             float* b, const MKL_INT* ldb, const float* vl, const float* vu,
             const MKL_INT* il, const MKL_INT* iu, const float* abstol,
             MKL_INT* m, float* w, float* z, const MKL_INT* ldz, float* work,
             const MKL_INT* lwork, MKL_INT* iwork, MKL_INT* ifail,
             MKL_INT* info ) NOTHROW;
void ssygvx_( const MKL_INT* itype, const char* jobz, const char* range,
              const char* uplo, const MKL_INT* n, float* a, const MKL_INT* lda,
              float* b, const MKL_INT* ldb, const float* vl, const float* vu,
              const MKL_INT* il, const MKL_INT* iu, const float* abstol,
              MKL_INT* m, float* w, float* z, const MKL_INT* ldz, float* work,
              const MKL_INT* lwork, MKL_INT* iwork, MKL_INT* ifail,
              MKL_INT* info ) NOTHROW;

void SSYRFS( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs,
             const float* a, const MKL_INT* lda, const float* af,
             const MKL_INT* ldaf, const MKL_INT* ipiv, const float* b,
             const MKL_INT* ldb, float* x, const MKL_INT* ldx, float* ferr,
             float* berr, float* work, MKL_INT* iwork, MKL_INT* info ) NOTHROW;
void SSYRFS_( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs,
              const float* a, const MKL_INT* lda, const float* af,
              const MKL_INT* ldaf, const MKL_INT* ipiv, const float* b,
              const MKL_INT* ldb, float* x, const MKL_INT* ldx, float* ferr,
              float* berr, float* work, MKL_INT* iwork, MKL_INT* info ) NOTHROW;
void ssyrfs( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs,
             const float* a, const MKL_INT* lda, const float* af,
             const MKL_INT* ldaf, const MKL_INT* ipiv, const float* b,
             const MKL_INT* ldb, float* x, const MKL_INT* ldx, float* ferr,
             float* berr, float* work, MKL_INT* iwork, MKL_INT* info ) NOTHROW;
void ssyrfs_( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs,
              const float* a, const MKL_INT* lda, const float* af,
              const MKL_INT* ldaf, const MKL_INT* ipiv, const float* b,
              const MKL_INT* ldb, float* x, const MKL_INT* ldx, float* ferr,
              float* berr, float* work, MKL_INT* iwork, MKL_INT* info ) NOTHROW;

void SSYRFSX( const char* uplo, const char* equed, const MKL_INT* n,
              const MKL_INT* nrhs, const float* a, const MKL_INT* lda,
              const float* af, const MKL_INT* ldaf, const MKL_INT* ipiv,
              float* s, const float* b, const MKL_INT* ldb, float* x,
              const MKL_INT* ldx, float* rcond, float* berr,
              const MKL_INT* n_err_bnds, float* err_bnds_norm,
              float* err_bnds_comp, const MKL_INT* nparams, float* params,
              float* work, MKL_INT* iwork, MKL_INT* info ) NOTHROW;
void SSYRFSX_( const char* uplo, const char* equed, const MKL_INT* n,
               const MKL_INT* nrhs, const float* a, const MKL_INT* lda,
               const float* af, const MKL_INT* ldaf, const MKL_INT* ipiv,
               float* s, const float* b, const MKL_INT* ldb, float* x,
               const MKL_INT* ldx, float* rcond, float* berr,
               const MKL_INT* n_err_bnds, float* err_bnds_norm,
               float* err_bnds_comp, const MKL_INT* nparams, float* params,
               float* work, MKL_INT* iwork, MKL_INT* info ) NOTHROW;
void ssyrfsx( const char* uplo, const char* equed, const MKL_INT* n,
              const MKL_INT* nrhs, const float* a, const MKL_INT* lda,
              const float* af, const MKL_INT* ldaf, const MKL_INT* ipiv,
              float* s, const float* b, const MKL_INT* ldb, float* x,
              const MKL_INT* ldx, float* rcond, float* berr,
              const MKL_INT* n_err_bnds, float* err_bnds_norm,
              float* err_bnds_comp, const MKL_INT* nparams, float* params,
              float* work, MKL_INT* iwork, MKL_INT* info ) NOTHROW;
void ssyrfsx_( const char* uplo, const char* equed, const MKL_INT* n,
               const MKL_INT* nrhs, const float* a, const MKL_INT* lda,
               const float* af, const MKL_INT* ldaf, const MKL_INT* ipiv,
               float* s, const float* b, const MKL_INT* ldb, float* x,
               const MKL_INT* ldx, float* rcond, float* berr,
               const MKL_INT* n_err_bnds, float* err_bnds_norm,
               float* err_bnds_comp, const MKL_INT* nparams, float* params,
               float* work, MKL_INT* iwork, MKL_INT* info ) NOTHROW;

void SSYSV( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs, float* a,
            const MKL_INT* lda, MKL_INT* ipiv, float* b, const MKL_INT* ldb,
            float* work, const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void SSYSV_( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs, float* a,
             const MKL_INT* lda, MKL_INT* ipiv, float* b, const MKL_INT* ldb,
             float* work, const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void ssysv( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs, float* a,
            const MKL_INT* lda, MKL_INT* ipiv, float* b, const MKL_INT* ldb,
            float* work, const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void ssysv_( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs, float* a,
             const MKL_INT* lda, MKL_INT* ipiv, float* b, const MKL_INT* ldb,
             float* work, const MKL_INT* lwork, MKL_INT* info ) NOTHROW;

void SSYSVX( const char* fact, const char* uplo, const MKL_INT* n,
             const MKL_INT* nrhs, const float* a, const MKL_INT* lda,
             float* af, const MKL_INT* ldaf, MKL_INT* ipiv, const float* b,
             const MKL_INT* ldb, float* x, const MKL_INT* ldx, float* rcond,
             float* ferr, float* berr, float* work, const MKL_INT* lwork,
             MKL_INT* iwork, MKL_INT* info ) NOTHROW;
void SSYSVX_( const char* fact, const char* uplo, const MKL_INT* n,
              const MKL_INT* nrhs, const float* a, const MKL_INT* lda,
              float* af, const MKL_INT* ldaf, MKL_INT* ipiv, const float* b,
              const MKL_INT* ldb, float* x, const MKL_INT* ldx, float* rcond,
              float* ferr, float* berr, float* work, const MKL_INT* lwork,
              MKL_INT* iwork, MKL_INT* info ) NOTHROW;
void ssysvx( const char* fact, const char* uplo, const MKL_INT* n,
             const MKL_INT* nrhs, const float* a, const MKL_INT* lda,
             float* af, const MKL_INT* ldaf, MKL_INT* ipiv, const float* b,
             const MKL_INT* ldb, float* x, const MKL_INT* ldx, float* rcond,
             float* ferr, float* berr, float* work, const MKL_INT* lwork,
             MKL_INT* iwork, MKL_INT* info ) NOTHROW;
void ssysvx_( const char* fact, const char* uplo, const MKL_INT* n,
              const MKL_INT* nrhs, const float* a, const MKL_INT* lda,
              float* af, const MKL_INT* ldaf, MKL_INT* ipiv, const float* b,
              const MKL_INT* ldb, float* x, const MKL_INT* ldx, float* rcond,
              float* ferr, float* berr, float* work, const MKL_INT* lwork,
              MKL_INT* iwork, MKL_INT* info ) NOTHROW;

void SSYSVXX( const char* fact, const char* uplo, const MKL_INT* n,
              const MKL_INT* nrhs, float* a, const MKL_INT* lda, float* af,
              const MKL_INT* ldaf, MKL_INT* ipiv, char* equed, float* s,
              float* b, const MKL_INT* ldb, float* x, const MKL_INT* ldx,
              float* rcond, float* rpvgrw, float* berr,
              const MKL_INT* n_err_bnds, float* err_bnds_norm,
              float* err_bnds_comp, const MKL_INT* nparams, float* params,
              float* work, MKL_INT* iwork, MKL_INT* info ) NOTHROW;
void SSYSVXX_( const char* fact, const char* uplo, const MKL_INT* n,
               const MKL_INT* nrhs, float* a, const MKL_INT* lda, float* af,
               const MKL_INT* ldaf, MKL_INT* ipiv, char* equed, float* s,
               float* b, const MKL_INT* ldb, float* x, const MKL_INT* ldx,
               float* rcond, float* rpvgrw, float* berr,
               const MKL_INT* n_err_bnds, float* err_bnds_norm,
               float* err_bnds_comp, const MKL_INT* nparams, float* params,
               float* work, MKL_INT* iwork, MKL_INT* info ) NOTHROW;
void ssysvxx( const char* fact, const char* uplo, const MKL_INT* n,
              const MKL_INT* nrhs, float* a, const MKL_INT* lda, float* af,
              const MKL_INT* ldaf, MKL_INT* ipiv, char* equed, float* s,
              float* b, const MKL_INT* ldb, float* x, const MKL_INT* ldx,
              float* rcond, float* rpvgrw, float* berr,
              const MKL_INT* n_err_bnds, float* err_bnds_norm,
              float* err_bnds_comp, const MKL_INT* nparams, float* params,
              float* work, MKL_INT* iwork, MKL_INT* info ) NOTHROW;
void ssysvxx_( const char* fact, const char* uplo, const MKL_INT* n,
               const MKL_INT* nrhs, float* a, const MKL_INT* lda, float* af,
               const MKL_INT* ldaf, MKL_INT* ipiv, char* equed, float* s,
               float* b, const MKL_INT* ldb, float* x, const MKL_INT* ldx,
               float* rcond, float* rpvgrw, float* berr,
               const MKL_INT* n_err_bnds, float* err_bnds_norm,
               float* err_bnds_comp, const MKL_INT* nparams, float* params,
               float* work, MKL_INT* iwork, MKL_INT* info ) NOTHROW;

void SSYTD2( const char* uplo, const MKL_INT* n, float* a, const MKL_INT* lda,
             float* d, float* e, float* tau, MKL_INT* info ) NOTHROW;
void SSYTD2_( const char* uplo, const MKL_INT* n, float* a, const MKL_INT* lda,
              float* d, float* e, float* tau, MKL_INT* info ) NOTHROW;
void ssytd2( const char* uplo, const MKL_INT* n, float* a, const MKL_INT* lda,
             float* d, float* e, float* tau, MKL_INT* info ) NOTHROW;
void ssytd2_( const char* uplo, const MKL_INT* n, float* a, const MKL_INT* lda,
              float* d, float* e, float* tau, MKL_INT* info ) NOTHROW;

void SSYTF2( const char* uplo, const MKL_INT* n, float* a, const MKL_INT* lda,
             MKL_INT* ipiv, MKL_INT* info ) NOTHROW;
void SSYTF2_( const char* uplo, const MKL_INT* n, float* a, const MKL_INT* lda,
              MKL_INT* ipiv, MKL_INT* info ) NOTHROW;
void ssytf2( const char* uplo, const MKL_INT* n, float* a, const MKL_INT* lda,
             MKL_INT* ipiv, MKL_INT* info ) NOTHROW;
void ssytf2_( const char* uplo, const MKL_INT* n, float* a, const MKL_INT* lda,
              MKL_INT* ipiv, MKL_INT* info ) NOTHROW;

void SSYTRD( const char* uplo, const MKL_INT* n, float* a, const MKL_INT* lda,
             float* d, float* e, float* tau, float* work, const MKL_INT* lwork,
             MKL_INT* info ) NOTHROW;
void SSYTRD_( const char* uplo, const MKL_INT* n, float* a, const MKL_INT* lda,
              float* d, float* e, float* tau, float* work,
              const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void ssytrd( const char* uplo, const MKL_INT* n, float* a, const MKL_INT* lda,
             float* d, float* e, float* tau, float* work, const MKL_INT* lwork,
             MKL_INT* info ) NOTHROW;
void ssytrd_( const char* uplo, const MKL_INT* n, float* a, const MKL_INT* lda,
              float* d, float* e, float* tau, float* work,
              const MKL_INT* lwork, MKL_INT* info ) NOTHROW;

void SSYTRF( const char* uplo, const MKL_INT* n, float* a, const MKL_INT* lda,
             MKL_INT* ipiv, float* work, const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void SSYTRF_( const char* uplo, const MKL_INT* n, float* a, const MKL_INT* lda,
              MKL_INT* ipiv, float* work, const MKL_INT* lwork,
              MKL_INT* info ) NOTHROW;
void ssytrf( const char* uplo, const MKL_INT* n, float* a, const MKL_INT* lda,
             MKL_INT* ipiv, float* work, const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void ssytrf_( const char* uplo, const MKL_INT* n, float* a, const MKL_INT* lda,
              MKL_INT* ipiv, float* work, const MKL_INT* lwork,
              MKL_INT* info ) NOTHROW;

void SSYTRI( const char* uplo, const MKL_INT* n, float* a, const MKL_INT* lda,
             const MKL_INT* ipiv, float* work, MKL_INT* info ) NOTHROW;
void SSYTRI_( const char* uplo, const MKL_INT* n, float* a, const MKL_INT* lda,
              const MKL_INT* ipiv, float* work, MKL_INT* info ) NOTHROW;
void ssytri( const char* uplo, const MKL_INT* n, float* a, const MKL_INT* lda,
             const MKL_INT* ipiv, float* work, MKL_INT* info ) NOTHROW;
void ssytri_( const char* uplo, const MKL_INT* n, float* a, const MKL_INT* lda,
              const MKL_INT* ipiv, float* work, MKL_INT* info ) NOTHROW;

void SSYTRS( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs,
             const float* a, const MKL_INT* lda, const MKL_INT* ipiv, float* b,
             const MKL_INT* ldb, MKL_INT* info ) NOTHROW;
void SSYTRS_( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs,
              const float* a, const MKL_INT* lda, const MKL_INT* ipiv,
              float* b, const MKL_INT* ldb, MKL_INT* info ) NOTHROW;
void ssytrs( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs,
             const float* a, const MKL_INT* lda, const MKL_INT* ipiv, float* b,
             const MKL_INT* ldb, MKL_INT* info ) NOTHROW;
void ssytrs_( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs,
              const float* a, const MKL_INT* lda, const MKL_INT* ipiv,
              float* b, const MKL_INT* ldb, MKL_INT* info ) NOTHROW;

void STBCON( const char* norm, const char* uplo, const char* diag,
             const MKL_INT* n, const MKL_INT* kd, const float* ab,
             const MKL_INT* ldab, float* rcond, float* work, MKL_INT* iwork,
             MKL_INT* info ) NOTHROW;
void STBCON_( const char* norm, const char* uplo, const char* diag,
              const MKL_INT* n, const MKL_INT* kd, const float* ab,
              const MKL_INT* ldab, float* rcond, float* work, MKL_INT* iwork,
              MKL_INT* info ) NOTHROW;
void stbcon( const char* norm, const char* uplo, const char* diag,
             const MKL_INT* n, const MKL_INT* kd, const float* ab,
             const MKL_INT* ldab, float* rcond, float* work, MKL_INT* iwork,
             MKL_INT* info ) NOTHROW;
void stbcon_( const char* norm, const char* uplo, const char* diag,
              const MKL_INT* n, const MKL_INT* kd, const float* ab,
              const MKL_INT* ldab, float* rcond, float* work, MKL_INT* iwork,
              MKL_INT* info ) NOTHROW;

void STBRFS( const char* uplo, const char* trans, const char* diag,
             const MKL_INT* n, const MKL_INT* kd, const MKL_INT* nrhs,
             const float* ab, const MKL_INT* ldab, const float* b,
             const MKL_INT* ldb, const float* x, const MKL_INT* ldx,
             float* ferr, float* berr, float* work, MKL_INT* iwork,
             MKL_INT* info ) NOTHROW;
void STBRFS_( const char* uplo, const char* trans, const char* diag,
              const MKL_INT* n, const MKL_INT* kd, const MKL_INT* nrhs,
              const float* ab, const MKL_INT* ldab, const float* b,
              const MKL_INT* ldb, const float* x, const MKL_INT* ldx,
              float* ferr, float* berr, float* work, MKL_INT* iwork,
              MKL_INT* info ) NOTHROW;
void stbrfs( const char* uplo, const char* trans, const char* diag,
             const MKL_INT* n, const MKL_INT* kd, const MKL_INT* nrhs,
             const float* ab, const MKL_INT* ldab, const float* b,
             const MKL_INT* ldb, const float* x, const MKL_INT* ldx,
             float* ferr, float* berr, float* work, MKL_INT* iwork,
             MKL_INT* info ) NOTHROW;
void stbrfs_( const char* uplo, const char* trans, const char* diag,
              const MKL_INT* n, const MKL_INT* kd, const MKL_INT* nrhs,
              const float* ab, const MKL_INT* ldab, const float* b,
              const MKL_INT* ldb, const float* x, const MKL_INT* ldx,
              float* ferr, float* berr, float* work, MKL_INT* iwork,
              MKL_INT* info ) NOTHROW;

void STBTRS( const char* uplo, const char* trans, const char* diag,
             const MKL_INT* n, const MKL_INT* kd, const MKL_INT* nrhs,
             const float* ab, const MKL_INT* ldab, float* b,
             const MKL_INT* ldb, MKL_INT* info ) NOTHROW;
void STBTRS_( const char* uplo, const char* trans, const char* diag,
              const MKL_INT* n, const MKL_INT* kd, const MKL_INT* nrhs,
              const float* ab, const MKL_INT* ldab, float* b,
              const MKL_INT* ldb, MKL_INT* info ) NOTHROW;
void stbtrs( const char* uplo, const char* trans, const char* diag,
             const MKL_INT* n, const MKL_INT* kd, const MKL_INT* nrhs,
             const float* ab, const MKL_INT* ldab, float* b,
             const MKL_INT* ldb, MKL_INT* info ) NOTHROW;
void stbtrs_( const char* uplo, const char* trans, const char* diag,
              const MKL_INT* n, const MKL_INT* kd, const MKL_INT* nrhs,
              const float* ab, const MKL_INT* ldab, float* b,
              const MKL_INT* ldb, MKL_INT* info ) NOTHROW;

void STFSM( const char* transr, const char* side, const char* uplo,
            const char* trans, const char* diag, const MKL_INT* m,
            const MKL_INT* n, const float* alpha, const float* a, float* b,
            const MKL_INT* ldb ) NOTHROW;
void STFSM_( const char* transr, const char* side, const char* uplo,
             const char* trans, const char* diag, const MKL_INT* m,
             const MKL_INT* n, const float* alpha, const float* a, float* b,
             const MKL_INT* ldb ) NOTHROW;
void stfsm( const char* transr, const char* side, const char* uplo,
            const char* trans, const char* diag, const MKL_INT* m,
            const MKL_INT* n, const float* alpha, const float* a, float* b,
            const MKL_INT* ldb ) NOTHROW;
void stfsm_( const char* transr, const char* side, const char* uplo,
             const char* trans, const char* diag, const MKL_INT* m,
             const MKL_INT* n, const float* alpha, const float* a, float* b,
             const MKL_INT* ldb ) NOTHROW;

void STFTRI( const char* transr, const char* uplo, const char* diag,
             const MKL_INT* n, float* a, MKL_INT* info ) NOTHROW;
void STFTRI_( const char* transr, const char* uplo, const char* diag,
              const MKL_INT* n, float* a, MKL_INT* info ) NOTHROW;
void stftri( const char* transr, const char* uplo, const char* diag,
             const MKL_INT* n, float* a, MKL_INT* info ) NOTHROW;
void stftri_( const char* transr, const char* uplo, const char* diag,
              const MKL_INT* n, float* a, MKL_INT* info ) NOTHROW;

void STFTTP( const char* transr, const char* uplo, const MKL_INT* n,
             const float* arf, float* ap, MKL_INT* info ) NOTHROW;
void STFTTP_( const char* transr, const char* uplo, const MKL_INT* n,
              const float* arf, float* ap, MKL_INT* info ) NOTHROW;
void stfttp( const char* transr, const char* uplo, const MKL_INT* n,
             const float* arf, float* ap, MKL_INT* info ) NOTHROW;
void stfttp_( const char* transr, const char* uplo, const MKL_INT* n,
              const float* arf, float* ap, MKL_INT* info ) NOTHROW;

void STFTTR( const char* transr, const char* uplo, const MKL_INT* n,
             const float* arf, float* a, const MKL_INT* lda, MKL_INT* info ) NOTHROW;
void STFTTR_( const char* transr, const char* uplo, const MKL_INT* n,
              const float* arf, float* a, const MKL_INT* lda, MKL_INT* info ) NOTHROW;
void stfttr( const char* transr, const char* uplo, const MKL_INT* n,
             const float* arf, float* a, const MKL_INT* lda, MKL_INT* info ) NOTHROW;
void stfttr_( const char* transr, const char* uplo, const MKL_INT* n,
              const float* arf, float* a, const MKL_INT* lda, MKL_INT* info ) NOTHROW;

void STGEVC( const char* side, const char* howmny, const MKL_INT* select,
             const MKL_INT* n, const float* s, const MKL_INT* lds,
             const float* p, const MKL_INT* ldp, float* vl,
             const MKL_INT* ldvl, float* vr, const MKL_INT* ldvr,
             const MKL_INT* mm, MKL_INT* m, float* work, MKL_INT* info ) NOTHROW;
void STGEVC_( const char* side, const char* howmny, const MKL_INT* select,
              const MKL_INT* n, const float* s, const MKL_INT* lds,
              const float* p, const MKL_INT* ldp, float* vl,
              const MKL_INT* ldvl, float* vr, const MKL_INT* ldvr,
              const MKL_INT* mm, MKL_INT* m, float* work, MKL_INT* info ) NOTHROW;
void stgevc( const char* side, const char* howmny, const MKL_INT* select,
             const MKL_INT* n, const float* s, const MKL_INT* lds,
             const float* p, const MKL_INT* ldp, float* vl,
             const MKL_INT* ldvl, float* vr, const MKL_INT* ldvr,
             const MKL_INT* mm, MKL_INT* m, float* work, MKL_INT* info ) NOTHROW;
void stgevc_( const char* side, const char* howmny, const MKL_INT* select,
              const MKL_INT* n, const float* s, const MKL_INT* lds,
              const float* p, const MKL_INT* ldp, float* vl,
              const MKL_INT* ldvl, float* vr, const MKL_INT* ldvr,
              const MKL_INT* mm, MKL_INT* m, float* work, MKL_INT* info ) NOTHROW;

void STGEX2( const MKL_INT* wantq, const MKL_INT* wantz, const MKL_INT* n,
             float* a, const MKL_INT* lda, float* b, const MKL_INT* ldb,
             float* q, const MKL_INT* ldq, float* z, const MKL_INT* ldz,
             const MKL_INT* j1, const MKL_INT* n1, const MKL_INT* n2,
             float* work, const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void STGEX2_( const MKL_INT* wantq, const MKL_INT* wantz, const MKL_INT* n,
              float* a, const MKL_INT* lda, float* b, const MKL_INT* ldb,
              float* q, const MKL_INT* ldq, float* z, const MKL_INT* ldz,
              const MKL_INT* j1, const MKL_INT* n1, const MKL_INT* n2,
              float* work, const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void stgex2( const MKL_INT* wantq, const MKL_INT* wantz, const MKL_INT* n,
             float* a, const MKL_INT* lda, float* b, const MKL_INT* ldb,
             float* q, const MKL_INT* ldq, float* z, const MKL_INT* ldz,
             const MKL_INT* j1, const MKL_INT* n1, const MKL_INT* n2,
             float* work, const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void stgex2_( const MKL_INT* wantq, const MKL_INT* wantz, const MKL_INT* n,
              float* a, const MKL_INT* lda, float* b, const MKL_INT* ldb,
              float* q, const MKL_INT* ldq, float* z, const MKL_INT* ldz,
              const MKL_INT* j1, const MKL_INT* n1, const MKL_INT* n2,
              float* work, const MKL_INT* lwork, MKL_INT* info ) NOTHROW;

void STGEXC( const MKL_INT* wantq, const MKL_INT* wantz, const MKL_INT* n,
             float* a, const MKL_INT* lda, float* b, const MKL_INT* ldb,
             float* q, const MKL_INT* ldq, float* z, const MKL_INT* ldz,
             MKL_INT* ifst, MKL_INT* ilst, float* work, const MKL_INT* lwork,
             MKL_INT* info ) NOTHROW;
void STGEXC_( const MKL_INT* wantq, const MKL_INT* wantz, const MKL_INT* n,
              float* a, const MKL_INT* lda, float* b, const MKL_INT* ldb,
              float* q, const MKL_INT* ldq, float* z, const MKL_INT* ldz,
              MKL_INT* ifst, MKL_INT* ilst, float* work, const MKL_INT* lwork,
              MKL_INT* info ) NOTHROW;
void stgexc( const MKL_INT* wantq, const MKL_INT* wantz, const MKL_INT* n,
             float* a, const MKL_INT* lda, float* b, const MKL_INT* ldb,
             float* q, const MKL_INT* ldq, float* z, const MKL_INT* ldz,
             MKL_INT* ifst, MKL_INT* ilst, float* work, const MKL_INT* lwork,
             MKL_INT* info ) NOTHROW;
void stgexc_( const MKL_INT* wantq, const MKL_INT* wantz, const MKL_INT* n,
              float* a, const MKL_INT* lda, float* b, const MKL_INT* ldb,
              float* q, const MKL_INT* ldq, float* z, const MKL_INT* ldz,
              MKL_INT* ifst, MKL_INT* ilst, float* work, const MKL_INT* lwork,
              MKL_INT* info ) NOTHROW;

void STGSEN( const MKL_INT* ijob, const MKL_INT* wantq, const MKL_INT* wantz,
             const MKL_INT* select, const MKL_INT* n, float* a,
             const MKL_INT* lda, float* b, const MKL_INT* ldb, float* alphar,
             float* alphai, float* beta, float* q, const MKL_INT* ldq,
             float* z, const MKL_INT* ldz, MKL_INT* m, float* pl, float* pr,
             float* dif, float* work, const MKL_INT* lwork, MKL_INT* iwork,
             const MKL_INT* liwork, MKL_INT* info ) NOTHROW;
void STGSEN_( const MKL_INT* ijob, const MKL_INT* wantq, const MKL_INT* wantz,
              const MKL_INT* select, const MKL_INT* n, float* a,
              const MKL_INT* lda, float* b, const MKL_INT* ldb, float* alphar,
              float* alphai, float* beta, float* q, const MKL_INT* ldq,
              float* z, const MKL_INT* ldz, MKL_INT* m, float* pl, float* pr,
              float* dif, float* work, const MKL_INT* lwork, MKL_INT* iwork,
              const MKL_INT* liwork, MKL_INT* info ) NOTHROW;
void stgsen( const MKL_INT* ijob, const MKL_INT* wantq, const MKL_INT* wantz,
             const MKL_INT* select, const MKL_INT* n, float* a,
             const MKL_INT* lda, float* b, const MKL_INT* ldb, float* alphar,
             float* alphai, float* beta, float* q, const MKL_INT* ldq,
             float* z, const MKL_INT* ldz, MKL_INT* m, float* pl, float* pr,
             float* dif, float* work, const MKL_INT* lwork, MKL_INT* iwork,
             const MKL_INT* liwork, MKL_INT* info ) NOTHROW;
void stgsen_( const MKL_INT* ijob, const MKL_INT* wantq, const MKL_INT* wantz,
              const MKL_INT* select, const MKL_INT* n, float* a,
              const MKL_INT* lda, float* b, const MKL_INT* ldb, float* alphar,
              float* alphai, float* beta, float* q, const MKL_INT* ldq,
              float* z, const MKL_INT* ldz, MKL_INT* m, float* pl, float* pr,
              float* dif, float* work, const MKL_INT* lwork, MKL_INT* iwork,
              const MKL_INT* liwork, MKL_INT* info ) NOTHROW;

void STGSJA( const char* jobu, const char* jobv, const char* jobq,
             const MKL_INT* m, const MKL_INT* p, const MKL_INT* n,
             const MKL_INT* k, const MKL_INT* l, float* a, const MKL_INT* lda,
             float* b, const MKL_INT* ldb, const float* tola,
             const float* tolb, float* alpha, float* beta, float* u,
             const MKL_INT* ldu, float* v, const MKL_INT* ldv, float* q,
             const MKL_INT* ldq, float* work, MKL_INT* ncycle, MKL_INT* info ) NOTHROW;
void STGSJA_( const char* jobu, const char* jobv, const char* jobq,
              const MKL_INT* m, const MKL_INT* p, const MKL_INT* n,
              const MKL_INT* k, const MKL_INT* l, float* a, const MKL_INT* lda,
              float* b, const MKL_INT* ldb, const float* tola,
              const float* tolb, float* alpha, float* beta, float* u,
              const MKL_INT* ldu, float* v, const MKL_INT* ldv, float* q,
              const MKL_INT* ldq, float* work, MKL_INT* ncycle,
              MKL_INT* info ) NOTHROW;
void stgsja( const char* jobu, const char* jobv, const char* jobq,
             const MKL_INT* m, const MKL_INT* p, const MKL_INT* n,
             const MKL_INT* k, const MKL_INT* l, float* a, const MKL_INT* lda,
             float* b, const MKL_INT* ldb, const float* tola,
             const float* tolb, float* alpha, float* beta, float* u,
             const MKL_INT* ldu, float* v, const MKL_INT* ldv, float* q,
             const MKL_INT* ldq, float* work, MKL_INT* ncycle, MKL_INT* info ) NOTHROW;
void stgsja_( const char* jobu, const char* jobv, const char* jobq,
              const MKL_INT* m, const MKL_INT* p, const MKL_INT* n,
              const MKL_INT* k, const MKL_INT* l, float* a, const MKL_INT* lda,
              float* b, const MKL_INT* ldb, const float* tola,
              const float* tolb, float* alpha, float* beta, float* u,
              const MKL_INT* ldu, float* v, const MKL_INT* ldv, float* q,
              const MKL_INT* ldq, float* work, MKL_INT* ncycle,
              MKL_INT* info ) NOTHROW;

void STGSNA( const char* job, const char* howmny, const MKL_INT* select,
             const MKL_INT* n, const float* a, const MKL_INT* lda,
             const float* b, const MKL_INT* ldb, const float* vl,
             const MKL_INT* ldvl, const float* vr, const MKL_INT* ldvr,
             float* s, float* dif, const MKL_INT* mm, MKL_INT* m, float* work,
             const MKL_INT* lwork, MKL_INT* iwork, MKL_INT* info ) NOTHROW;
void STGSNA_( const char* job, const char* howmny, const MKL_INT* select,
              const MKL_INT* n, const float* a, const MKL_INT* lda,
              const float* b, const MKL_INT* ldb, const float* vl,
              const MKL_INT* ldvl, const float* vr, const MKL_INT* ldvr,
              float* s, float* dif, const MKL_INT* mm, MKL_INT* m, float* work,
              const MKL_INT* lwork, MKL_INT* iwork, MKL_INT* info ) NOTHROW;
void stgsna( const char* job, const char* howmny, const MKL_INT* select,
             const MKL_INT* n, const float* a, const MKL_INT* lda,
             const float* b, const MKL_INT* ldb, const float* vl,
             const MKL_INT* ldvl, const float* vr, const MKL_INT* ldvr,
             float* s, float* dif, const MKL_INT* mm, MKL_INT* m, float* work,
             const MKL_INT* lwork, MKL_INT* iwork, MKL_INT* info ) NOTHROW;
void stgsna_( const char* job, const char* howmny, const MKL_INT* select,
              const MKL_INT* n, const float* a, const MKL_INT* lda,
              const float* b, const MKL_INT* ldb, const float* vl,
              const MKL_INT* ldvl, const float* vr, const MKL_INT* ldvr,
              float* s, float* dif, const MKL_INT* mm, MKL_INT* m, float* work,
              const MKL_INT* lwork, MKL_INT* iwork, MKL_INT* info ) NOTHROW;

void STGSY2( const char* trans, const MKL_INT* ijob, const MKL_INT* m,
             const MKL_INT* n, const float* a, const MKL_INT* lda,
             const float* b, const MKL_INT* ldb, float* c, const MKL_INT* ldc,
             const float* d, const MKL_INT* ldd, const float* e,
             const MKL_INT* lde, float* f, const MKL_INT* ldf, float* scale,
             float* rdsum, float* rdscal, MKL_INT* iwork, MKL_INT* pq,
             MKL_INT* info ) NOTHROW;
void STGSY2_( const char* trans, const MKL_INT* ijob, const MKL_INT* m,
              const MKL_INT* n, const float* a, const MKL_INT* lda,
              const float* b, const MKL_INT* ldb, float* c, const MKL_INT* ldc,
              const float* d, const MKL_INT* ldd, const float* e,
              const MKL_INT* lde, float* f, const MKL_INT* ldf, float* scale,
              float* rdsum, float* rdscal, MKL_INT* iwork, MKL_INT* pq,
              MKL_INT* info ) NOTHROW;
void stgsy2( const char* trans, const MKL_INT* ijob, const MKL_INT* m,
             const MKL_INT* n, const float* a, const MKL_INT* lda,
             const float* b, const MKL_INT* ldb, float* c, const MKL_INT* ldc,
             const float* d, const MKL_INT* ldd, const float* e,
             const MKL_INT* lde, float* f, const MKL_INT* ldf, float* scale,
             float* rdsum, float* rdscal, MKL_INT* iwork, MKL_INT* pq,
             MKL_INT* info ) NOTHROW;
void stgsy2_( const char* trans, const MKL_INT* ijob, const MKL_INT* m,
              const MKL_INT* n, const float* a, const MKL_INT* lda,
              const float* b, const MKL_INT* ldb, float* c, const MKL_INT* ldc,
              const float* d, const MKL_INT* ldd, const float* e,
              const MKL_INT* lde, float* f, const MKL_INT* ldf, float* scale,
              float* rdsum, float* rdscal, MKL_INT* iwork, MKL_INT* pq,
              MKL_INT* info ) NOTHROW;

void STGSYL( const char* trans, const MKL_INT* ijob, const MKL_INT* m,
             const MKL_INT* n, const float* a, const MKL_INT* lda,
             const float* b, const MKL_INT* ldb, float* c, const MKL_INT* ldc,
             const float* d, const MKL_INT* ldd, const float* e,
             const MKL_INT* lde, float* f, const MKL_INT* ldf, float* scale,
             float* dif, float* work, const MKL_INT* lwork, MKL_INT* iwork,
             MKL_INT* info ) NOTHROW;
void STGSYL_( const char* trans, const MKL_INT* ijob, const MKL_INT* m,
              const MKL_INT* n, const float* a, const MKL_INT* lda,
              const float* b, const MKL_INT* ldb, float* c, const MKL_INT* ldc,
              const float* d, const MKL_INT* ldd, const float* e,
              const MKL_INT* lde, float* f, const MKL_INT* ldf, float* scale,
              float* dif, float* work, const MKL_INT* lwork, MKL_INT* iwork,
              MKL_INT* info ) NOTHROW;
void stgsyl( const char* trans, const MKL_INT* ijob, const MKL_INT* m,
             const MKL_INT* n, const float* a, const MKL_INT* lda,
             const float* b, const MKL_INT* ldb, float* c, const MKL_INT* ldc,
             const float* d, const MKL_INT* ldd, const float* e,
             const MKL_INT* lde, float* f, const MKL_INT* ldf, float* scale,
             float* dif, float* work, const MKL_INT* lwork, MKL_INT* iwork,
             MKL_INT* info ) NOTHROW;
void stgsyl_( const char* trans, const MKL_INT* ijob, const MKL_INT* m,
              const MKL_INT* n, const float* a, const MKL_INT* lda,
              const float* b, const MKL_INT* ldb, float* c, const MKL_INT* ldc,
              const float* d, const MKL_INT* ldd, const float* e,
              const MKL_INT* lde, float* f, const MKL_INT* ldf, float* scale,
              float* dif, float* work, const MKL_INT* lwork, MKL_INT* iwork,
              MKL_INT* info ) NOTHROW;

void STPCON( const char* norm, const char* uplo, const char* diag,
             const MKL_INT* n, const float* ap, float* rcond, float* work,
             MKL_INT* iwork, MKL_INT* info ) NOTHROW;
void STPCON_( const char* norm, const char* uplo, const char* diag,
              const MKL_INT* n, const float* ap, float* rcond, float* work,
              MKL_INT* iwork, MKL_INT* info ) NOTHROW;
void stpcon( const char* norm, const char* uplo, const char* diag,
             const MKL_INT* n, const float* ap, float* rcond, float* work,
             MKL_INT* iwork, MKL_INT* info ) NOTHROW;
void stpcon_( const char* norm, const char* uplo, const char* diag,
              const MKL_INT* n, const float* ap, float* rcond, float* work,
              MKL_INT* iwork, MKL_INT* info ) NOTHROW;

void STPRFS( const char* uplo, const char* trans, const char* diag,
             const MKL_INT* n, const MKL_INT* nrhs, const float* ap,
             const float* b, const MKL_INT* ldb, const float* x,
             const MKL_INT* ldx, float* ferr, float* berr, float* work,
             MKL_INT* iwork, MKL_INT* info ) NOTHROW;
void STPRFS_( const char* uplo, const char* trans, const char* diag,
              const MKL_INT* n, const MKL_INT* nrhs, const float* ap,
              const float* b, const MKL_INT* ldb, const float* x,
              const MKL_INT* ldx, float* ferr, float* berr, float* work,
              MKL_INT* iwork, MKL_INT* info ) NOTHROW;
void stprfs( const char* uplo, const char* trans, const char* diag,
             const MKL_INT* n, const MKL_INT* nrhs, const float* ap,
             const float* b, const MKL_INT* ldb, const float* x,
             const MKL_INT* ldx, float* ferr, float* berr, float* work,
             MKL_INT* iwork, MKL_INT* info ) NOTHROW;
void stprfs_( const char* uplo, const char* trans, const char* diag,
              const MKL_INT* n, const MKL_INT* nrhs, const float* ap,
              const float* b, const MKL_INT* ldb, const float* x,
              const MKL_INT* ldx, float* ferr, float* berr, float* work,
              MKL_INT* iwork, MKL_INT* info ) NOTHROW;

void STPTRI( const char* uplo, const char* diag, const MKL_INT* n, float* ap,
             MKL_INT* info ) NOTHROW;
void STPTRI_( const char* uplo, const char* diag, const MKL_INT* n, float* ap,
              MKL_INT* info ) NOTHROW;
void stptri( const char* uplo, const char* diag, const MKL_INT* n, float* ap,
             MKL_INT* info ) NOTHROW;
void stptri_( const char* uplo, const char* diag, const MKL_INT* n, float* ap,
              MKL_INT* info ) NOTHROW;

void STPTRS( const char* uplo, const char* trans, const char* diag,
             const MKL_INT* n, const MKL_INT* nrhs, const float* ap, float* b,
             const MKL_INT* ldb, MKL_INT* info ) NOTHROW;
void STPTRS_( const char* uplo, const char* trans, const char* diag,
              const MKL_INT* n, const MKL_INT* nrhs, const float* ap, float* b,
              const MKL_INT* ldb, MKL_INT* info ) NOTHROW;
void stptrs( const char* uplo, const char* trans, const char* diag,
             const MKL_INT* n, const MKL_INT* nrhs, const float* ap, float* b,
             const MKL_INT* ldb, MKL_INT* info ) NOTHROW;
void stptrs_( const char* uplo, const char* trans, const char* diag,
              const MKL_INT* n, const MKL_INT* nrhs, const float* ap, float* b,
              const MKL_INT* ldb, MKL_INT* info ) NOTHROW;

void STPTTF( const char* transr, const char* uplo, const MKL_INT* n,
             const float* ap, float* arf, MKL_INT* info ) NOTHROW;
void STPTTF_( const char* transr, const char* uplo, const MKL_INT* n,
              const float* ap, float* arf, MKL_INT* info ) NOTHROW;
void stpttf( const char* transr, const char* uplo, const MKL_INT* n,
             const float* ap, float* arf, MKL_INT* info ) NOTHROW;
void stpttf_( const char* transr, const char* uplo, const MKL_INT* n,
              const float* ap, float* arf, MKL_INT* info ) NOTHROW;

void STPTTR( const char* uplo, const MKL_INT* n, const float* ap, float* a,
             const MKL_INT* lda, MKL_INT* info ) NOTHROW;
void STPTTR_( const char* uplo, const MKL_INT* n, const float* ap, float* a,
              const MKL_INT* lda, MKL_INT* info ) NOTHROW;
void stpttr( const char* uplo, const MKL_INT* n, const float* ap, float* a,
             const MKL_INT* lda, MKL_INT* info ) NOTHROW;
void stpttr_( const char* uplo, const MKL_INT* n, const float* ap, float* a,
              const MKL_INT* lda, MKL_INT* info ) NOTHROW;

void STRCON( const char* norm, const char* uplo, const char* diag,
             const MKL_INT* n, const float* a, const MKL_INT* lda,
             float* rcond, float* work, MKL_INT* iwork, MKL_INT* info ) NOTHROW;
void STRCON_( const char* norm, const char* uplo, const char* diag,
              const MKL_INT* n, const float* a, const MKL_INT* lda,
              float* rcond, float* work, MKL_INT* iwork, MKL_INT* info ) NOTHROW;
void strcon( const char* norm, const char* uplo, const char* diag,
             const MKL_INT* n, const float* a, const MKL_INT* lda,
             float* rcond, float* work, MKL_INT* iwork, MKL_INT* info ) NOTHROW;
void strcon_( const char* norm, const char* uplo, const char* diag,
              const MKL_INT* n, const float* a, const MKL_INT* lda,
              float* rcond, float* work, MKL_INT* iwork, MKL_INT* info ) NOTHROW;

void STREVC( const char* side, const char* howmny, MKL_INT* select,
             const MKL_INT* n, const float* t, const MKL_INT* ldt, float* vl,
             const MKL_INT* ldvl, float* vr, const MKL_INT* ldvr,
             const MKL_INT* mm, MKL_INT* m, float* work, MKL_INT* info ) NOTHROW;
void STREVC_( const char* side, const char* howmny, MKL_INT* select,
              const MKL_INT* n, const float* t, const MKL_INT* ldt, float* vl,
              const MKL_INT* ldvl, float* vr, const MKL_INT* ldvr,
              const MKL_INT* mm, MKL_INT* m, float* work, MKL_INT* info ) NOTHROW;
void strevc( const char* side, const char* howmny, MKL_INT* select,
             const MKL_INT* n, const float* t, const MKL_INT* ldt, float* vl,
             const MKL_INT* ldvl, float* vr, const MKL_INT* ldvr,
             const MKL_INT* mm, MKL_INT* m, float* work, MKL_INT* info ) NOTHROW;
void strevc_( const char* side, const char* howmny, MKL_INT* select,
              const MKL_INT* n, const float* t, const MKL_INT* ldt, float* vl,
              const MKL_INT* ldvl, float* vr, const MKL_INT* ldvr,
              const MKL_INT* mm, MKL_INT* m, float* work, MKL_INT* info ) NOTHROW;

void STREXC( const char* compq, const MKL_INT* n, float* t, const MKL_INT* ldt,
             float* q, const MKL_INT* ldq, MKL_INT* ifst, MKL_INT* ilst,
             float* work, MKL_INT* info ) NOTHROW;
void STREXC_( const char* compq, const MKL_INT* n, float* t,
              const MKL_INT* ldt, float* q, const MKL_INT* ldq, MKL_INT* ifst,
              MKL_INT* ilst, float* work, MKL_INT* info ) NOTHROW;
void strexc( const char* compq, const MKL_INT* n, float* t, const MKL_INT* ldt,
             float* q, const MKL_INT* ldq, MKL_INT* ifst, MKL_INT* ilst,
             float* work, MKL_INT* info ) NOTHROW;
void strexc_( const char* compq, const MKL_INT* n, float* t,
              const MKL_INT* ldt, float* q, const MKL_INT* ldq, MKL_INT* ifst,
              MKL_INT* ilst, float* work, MKL_INT* info ) NOTHROW;

void STRRFS( const char* uplo, const char* trans, const char* diag,
             const MKL_INT* n, const MKL_INT* nrhs, const float* a,
             const MKL_INT* lda, const float* b, const MKL_INT* ldb,
             const float* x, const MKL_INT* ldx, float* ferr, float* berr,
             float* work, MKL_INT* iwork, MKL_INT* info ) NOTHROW;
void STRRFS_( const char* uplo, const char* trans, const char* diag,
              const MKL_INT* n, const MKL_INT* nrhs, const float* a,
              const MKL_INT* lda, const float* b, const MKL_INT* ldb,
              const float* x, const MKL_INT* ldx, float* ferr, float* berr,
              float* work, MKL_INT* iwork, MKL_INT* info ) NOTHROW;
void strrfs( const char* uplo, const char* trans, const char* diag,
             const MKL_INT* n, const MKL_INT* nrhs, const float* a,
             const MKL_INT* lda, const float* b, const MKL_INT* ldb,
             const float* x, const MKL_INT* ldx, float* ferr, float* berr,
             float* work, MKL_INT* iwork, MKL_INT* info ) NOTHROW;
void strrfs_( const char* uplo, const char* trans, const char* diag,
              const MKL_INT* n, const MKL_INT* nrhs, const float* a,
              const MKL_INT* lda, const float* b, const MKL_INT* ldb,
              const float* x, const MKL_INT* ldx, float* ferr, float* berr,
              float* work, MKL_INT* iwork, MKL_INT* info ) NOTHROW;

void STRSEN( const char* job, const char* compq, const MKL_INT* select,
             const MKL_INT* n, float* t, const MKL_INT* ldt, float* q,
             const MKL_INT* ldq, float* wr, float* wi, MKL_INT* m, float* s,
             float* sep, float* work, const MKL_INT* lwork, MKL_INT* iwork,
             const MKL_INT* liwork, MKL_INT* info ) NOTHROW;
void STRSEN_( const char* job, const char* compq, const MKL_INT* select,
              const MKL_INT* n, float* t, const MKL_INT* ldt, float* q,
              const MKL_INT* ldq, float* wr, float* wi, MKL_INT* m, float* s,
              float* sep, float* work, const MKL_INT* lwork, MKL_INT* iwork,
              const MKL_INT* liwork, MKL_INT* info ) NOTHROW;
void strsen( const char* job, const char* compq, const MKL_INT* select,
             const MKL_INT* n, float* t, const MKL_INT* ldt, float* q,
             const MKL_INT* ldq, float* wr, float* wi, MKL_INT* m, float* s,
             float* sep, float* work, const MKL_INT* lwork, MKL_INT* iwork,
             const MKL_INT* liwork, MKL_INT* info ) NOTHROW;
void strsen_( const char* job, const char* compq, const MKL_INT* select,
              const MKL_INT* n, float* t, const MKL_INT* ldt, float* q,
              const MKL_INT* ldq, float* wr, float* wi, MKL_INT* m, float* s,
              float* sep, float* work, const MKL_INT* lwork, MKL_INT* iwork,
              const MKL_INT* liwork, MKL_INT* info ) NOTHROW;

void STRSNA( const char* job, const char* howmny, const MKL_INT* select,
             const MKL_INT* n, const float* t, const MKL_INT* ldt,
             const float* vl, const MKL_INT* ldvl, const float* vr,
             const MKL_INT* ldvr, float* s, float* sep, const MKL_INT* mm,
             MKL_INT* m, float* work, const MKL_INT* ldwork, MKL_INT* iwork,
             MKL_INT* info ) NOTHROW;
void STRSNA_( const char* job, const char* howmny, const MKL_INT* select,
              const MKL_INT* n, const float* t, const MKL_INT* ldt,
              const float* vl, const MKL_INT* ldvl, const float* vr,
              const MKL_INT* ldvr, float* s, float* sep, const MKL_INT* mm,
              MKL_INT* m, float* work, const MKL_INT* ldwork, MKL_INT* iwork,
              MKL_INT* info ) NOTHROW;
void strsna( const char* job, const char* howmny, const MKL_INT* select,
             const MKL_INT* n, const float* t, const MKL_INT* ldt,
             const float* vl, const MKL_INT* ldvl, const float* vr,
             const MKL_INT* ldvr, float* s, float* sep, const MKL_INT* mm,
             MKL_INT* m, float* work, const MKL_INT* ldwork, MKL_INT* iwork,
             MKL_INT* info ) NOTHROW;
void strsna_( const char* job, const char* howmny, const MKL_INT* select,
              const MKL_INT* n, const float* t, const MKL_INT* ldt,
              const float* vl, const MKL_INT* ldvl, const float* vr,
              const MKL_INT* ldvr, float* s, float* sep, const MKL_INT* mm,
              MKL_INT* m, float* work, const MKL_INT* ldwork, MKL_INT* iwork,
              MKL_INT* info ) NOTHROW;

void STRSYL( const char* trana, const char* tranb, const MKL_INT* isgn,
             const MKL_INT* m, const MKL_INT* n, const float* a,
             const MKL_INT* lda, const float* b, const MKL_INT* ldb, float* c,
             const MKL_INT* ldc, float* scale, MKL_INT* info ) NOTHROW;
void STRSYL_( const char* trana, const char* tranb, const MKL_INT* isgn,
              const MKL_INT* m, const MKL_INT* n, const float* a,
              const MKL_INT* lda, const float* b, const MKL_INT* ldb, float* c,
              const MKL_INT* ldc, float* scale, MKL_INT* info ) NOTHROW;
void strsyl( const char* trana, const char* tranb, const MKL_INT* isgn,
             const MKL_INT* m, const MKL_INT* n, const float* a,
             const MKL_INT* lda, const float* b, const MKL_INT* ldb, float* c,
             const MKL_INT* ldc, float* scale, MKL_INT* info ) NOTHROW;
void strsyl_( const char* trana, const char* tranb, const MKL_INT* isgn,
              const MKL_INT* m, const MKL_INT* n, const float* a,
              const MKL_INT* lda, const float* b, const MKL_INT* ldb, float* c,
              const MKL_INT* ldc, float* scale, MKL_INT* info ) NOTHROW;

void STRTI2( const char* uplo, const char* diag, const MKL_INT* n, float* a,
             const MKL_INT* lda, MKL_INT* info ) NOTHROW;
void STRTI2_( const char* uplo, const char* diag, const MKL_INT* n, float* a,
              const MKL_INT* lda, MKL_INT* info ) NOTHROW;
void strti2( const char* uplo, const char* diag, const MKL_INT* n, float* a,
             const MKL_INT* lda, MKL_INT* info ) NOTHROW;
void strti2_( const char* uplo, const char* diag, const MKL_INT* n, float* a,
              const MKL_INT* lda, MKL_INT* info ) NOTHROW;

void STRTRI( const char* uplo, const char* diag, const MKL_INT* n, float* a,
             const MKL_INT* lda, MKL_INT* info ) NOTHROW;
void STRTRI_( const char* uplo, const char* diag, const MKL_INT* n, float* a,
              const MKL_INT* lda, MKL_INT* info ) NOTHROW;
void strtri( const char* uplo, const char* diag, const MKL_INT* n, float* a,
             const MKL_INT* lda, MKL_INT* info ) NOTHROW;
void strtri_( const char* uplo, const char* diag, const MKL_INT* n, float* a,
              const MKL_INT* lda, MKL_INT* info ) NOTHROW;

void STRTRS( const char* uplo, const char* trans, const char* diag,
             const MKL_INT* n, const MKL_INT* nrhs, const float* a,
             const MKL_INT* lda, float* b, const MKL_INT* ldb, MKL_INT* info ) NOTHROW;
void STRTRS_( const char* uplo, const char* trans, const char* diag,
              const MKL_INT* n, const MKL_INT* nrhs, const float* a,
              const MKL_INT* lda, float* b, const MKL_INT* ldb,
              MKL_INT* info ) NOTHROW;
void strtrs( const char* uplo, const char* trans, const char* diag,
             const MKL_INT* n, const MKL_INT* nrhs, const float* a,
             const MKL_INT* lda, float* b, const MKL_INT* ldb, MKL_INT* info ) NOTHROW;
void strtrs_( const char* uplo, const char* trans, const char* diag,
              const MKL_INT* n, const MKL_INT* nrhs, const float* a,
              const MKL_INT* lda, float* b, const MKL_INT* ldb,
              MKL_INT* info ) NOTHROW;

void STRTTF( const char* transr, const char* uplo, const MKL_INT* n,
             const float* a, const MKL_INT* lda, float* arf, MKL_INT* info ) NOTHROW;
void STRTTF_( const char* transr, const char* uplo, const MKL_INT* n,
              const float* a, const MKL_INT* lda, float* arf, MKL_INT* info ) NOTHROW;
void strttf( const char* transr, const char* uplo, const MKL_INT* n,
             const float* a, const MKL_INT* lda, float* arf, MKL_INT* info ) NOTHROW;
void strttf_( const char* transr, const char* uplo, const MKL_INT* n,
              const float* a, const MKL_INT* lda, float* arf, MKL_INT* info ) NOTHROW;

void STRTTP( const char* uplo, const MKL_INT* n, const float* a,
             const MKL_INT* lda, float* ap, MKL_INT* info ) NOTHROW;
void STRTTP_( const char* uplo, const MKL_INT* n, const float* a,
              const MKL_INT* lda, float* ap, MKL_INT* info ) NOTHROW;
void strttp( const char* uplo, const MKL_INT* n, const float* a,
             const MKL_INT* lda, float* ap, MKL_INT* info ) NOTHROW;
void strttp_( const char* uplo, const MKL_INT* n, const float* a,
              const MKL_INT* lda, float* ap, MKL_INT* info ) NOTHROW;

void STZRQF( const MKL_INT* m, const MKL_INT* n, float* a, const MKL_INT* lda,
             float* tau, MKL_INT* info ) NOTHROW;
void STZRQF_( const MKL_INT* m, const MKL_INT* n, float* a, const MKL_INT* lda,
              float* tau, MKL_INT* info ) NOTHROW;
void stzrqf( const MKL_INT* m, const MKL_INT* n, float* a, const MKL_INT* lda,
             float* tau, MKL_INT* info ) NOTHROW;
void stzrqf_( const MKL_INT* m, const MKL_INT* n, float* a, const MKL_INT* lda,
              float* tau, MKL_INT* info ) NOTHROW;

void STZRZF( const MKL_INT* m, const MKL_INT* n, float* a, const MKL_INT* lda,
             float* tau, float* work, const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void STZRZF_( const MKL_INT* m, const MKL_INT* n, float* a, const MKL_INT* lda,
              float* tau, float* work, const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void stzrzf( const MKL_INT* m, const MKL_INT* n, float* a, const MKL_INT* lda,
             float* tau, float* work, const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void stzrzf_( const MKL_INT* m, const MKL_INT* n, float* a, const MKL_INT* lda,
              float* tau, float* work, const MKL_INT* lwork, MKL_INT* info ) NOTHROW;

void XERBLA_ARRAY( const char* srname_array, const MKL_INT* srname_len,
                   const MKL_INT* info ) NOTHROW;
void XERBLA_ARRAY_( const char* srname_array, const MKL_INT* srname_len,
                    const MKL_INT* info ) NOTHROW;
void xerbla_array( const char* srname_array, const MKL_INT* srname_len,
                   const MKL_INT* info ) NOTHROW;
void xerbla_array_( const char* srname_array, const MKL_INT* srname_len,
                    const MKL_INT* info ) NOTHROW;

void ZBDSQR( const char* uplo, const MKL_INT* n, const MKL_INT* ncvt,
             const MKL_INT* nru, const MKL_INT* ncc, double* d, double* e,
             MKL_Complex16* vt, const MKL_INT* ldvt, MKL_Complex16* u,
             const MKL_INT* ldu, MKL_Complex16* c, const MKL_INT* ldc,
             double* rwork, MKL_INT* info ) NOTHROW;
void ZBDSQR_( const char* uplo, const MKL_INT* n, const MKL_INT* ncvt,
              const MKL_INT* nru, const MKL_INT* ncc, double* d, double* e,
              MKL_Complex16* vt, const MKL_INT* ldvt, MKL_Complex16* u,
              const MKL_INT* ldu, MKL_Complex16* c, const MKL_INT* ldc,
              double* rwork, MKL_INT* info ) NOTHROW;
void zbdsqr( const char* uplo, const MKL_INT* n, const MKL_INT* ncvt,
             const MKL_INT* nru, const MKL_INT* ncc, double* d, double* e,
             MKL_Complex16* vt, const MKL_INT* ldvt, MKL_Complex16* u,
             const MKL_INT* ldu, MKL_Complex16* c, const MKL_INT* ldc,
             double* rwork, MKL_INT* info ) NOTHROW;
void zbdsqr_( const char* uplo, const MKL_INT* n, const MKL_INT* ncvt,
              const MKL_INT* nru, const MKL_INT* ncc, double* d, double* e,
              MKL_Complex16* vt, const MKL_INT* ldvt, MKL_Complex16* u,
              const MKL_INT* ldu, MKL_Complex16* c, const MKL_INT* ldc,
              double* rwork, MKL_INT* info ) NOTHROW;

void ZCGESV( const MKL_INT* n, const MKL_INT* nrhs, MKL_Complex16* a,
             const MKL_INT* lda, MKL_INT* ipiv, const MKL_Complex16* b,
             const MKL_INT* ldb, MKL_Complex16* x, const MKL_INT* ldx,
             MKL_Complex16* work, MKL_Complex8* swork, double* rwork,
             MKL_INT* iter, MKL_INT* info ) NOTHROW;
void ZCGESV_( const MKL_INT* n, const MKL_INT* nrhs, MKL_Complex16* a,
              const MKL_INT* lda, MKL_INT* ipiv, const MKL_Complex16* b,
              const MKL_INT* ldb, MKL_Complex16* x, const MKL_INT* ldx,
              MKL_Complex16* work, MKL_Complex8* swork, double* rwork,
              MKL_INT* iter, MKL_INT* info ) NOTHROW;
void zcgesv( const MKL_INT* n, const MKL_INT* nrhs, MKL_Complex16* a,
             const MKL_INT* lda, MKL_INT* ipiv, const MKL_Complex16* b,
             const MKL_INT* ldb, MKL_Complex16* x, const MKL_INT* ldx,
             MKL_Complex16* work, MKL_Complex8* swork, double* rwork,
             MKL_INT* iter, MKL_INT* info ) NOTHROW;
void zcgesv_( const MKL_INT* n, const MKL_INT* nrhs, MKL_Complex16* a,
              const MKL_INT* lda, MKL_INT* ipiv, const MKL_Complex16* b,
              const MKL_INT* ldb, MKL_Complex16* x, const MKL_INT* ldx,
              MKL_Complex16* work, MKL_Complex8* swork, double* rwork,
              MKL_INT* iter, MKL_INT* info ) NOTHROW;

void ZCPOSV( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs,
             MKL_Complex16* a, const MKL_INT* lda, const MKL_Complex16* b,
             const MKL_INT* ldb, MKL_Complex16* x, const MKL_INT* ldx,
             MKL_Complex16* work, MKL_Complex8* swork, double* rwork,
             MKL_INT* iter, MKL_INT* info ) NOTHROW;
void ZCPOSV_( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs,
              MKL_Complex16* a, const MKL_INT* lda, const MKL_Complex16* b,
              const MKL_INT* ldb, MKL_Complex16* x, const MKL_INT* ldx,
              MKL_Complex16* work, MKL_Complex8* swork, double* rwork,
              MKL_INT* iter, MKL_INT* info ) NOTHROW;
void zcposv( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs,
             MKL_Complex16* a, const MKL_INT* lda, const MKL_Complex16* b,
             const MKL_INT* ldb, MKL_Complex16* x, const MKL_INT* ldx,
             MKL_Complex16* work, MKL_Complex8* swork, double* rwork,
             MKL_INT* iter, MKL_INT* info ) NOTHROW;
void zcposv_( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs,
              MKL_Complex16* a, const MKL_INT* lda, const MKL_Complex16* b,
              const MKL_INT* ldb, MKL_Complex16* x, const MKL_INT* ldx,
              MKL_Complex16* work, MKL_Complex8* swork, double* rwork,
              MKL_INT* iter, MKL_INT* info ) NOTHROW;

void ZDRSCL( const MKL_INT* n, const double* sa, MKL_Complex16* sx,
             const MKL_INT* incx ) NOTHROW;
void ZDRSCL_( const MKL_INT* n, const double* sa, MKL_Complex16* sx,
              const MKL_INT* incx ) NOTHROW;
void zdrscl( const MKL_INT* n, const double* sa, MKL_Complex16* sx,
             const MKL_INT* incx ) NOTHROW;
void zdrscl_( const MKL_INT* n, const double* sa, MKL_Complex16* sx,
              const MKL_INT* incx ) NOTHROW;

void ZGBBRD( const char* vect, const MKL_INT* m, const MKL_INT* n,
             const MKL_INT* ncc, const MKL_INT* kl, const MKL_INT* ku,
             MKL_Complex16* ab, const MKL_INT* ldab, double* d, double* e,
             MKL_Complex16* q, const MKL_INT* ldq, MKL_Complex16* pt,
             const MKL_INT* ldpt, MKL_Complex16* c, const MKL_INT* ldc,
             MKL_Complex16* work, double* rwork, MKL_INT* info ) NOTHROW;
void ZGBBRD_( const char* vect, const MKL_INT* m, const MKL_INT* n,
              const MKL_INT* ncc, const MKL_INT* kl, const MKL_INT* ku,
              MKL_Complex16* ab, const MKL_INT* ldab, double* d, double* e,
              MKL_Complex16* q, const MKL_INT* ldq, MKL_Complex16* pt,
              const MKL_INT* ldpt, MKL_Complex16* c, const MKL_INT* ldc,
              MKL_Complex16* work, double* rwork, MKL_INT* info ) NOTHROW;
void zgbbrd( const char* vect, const MKL_INT* m, const MKL_INT* n,
             const MKL_INT* ncc, const MKL_INT* kl, const MKL_INT* ku,
             MKL_Complex16* ab, const MKL_INT* ldab, double* d, double* e,
             MKL_Complex16* q, const MKL_INT* ldq, MKL_Complex16* pt,
             const MKL_INT* ldpt, MKL_Complex16* c, const MKL_INT* ldc,
             MKL_Complex16* work, double* rwork, MKL_INT* info ) NOTHROW;
void zgbbrd_( const char* vect, const MKL_INT* m, const MKL_INT* n,
              const MKL_INT* ncc, const MKL_INT* kl, const MKL_INT* ku,
              MKL_Complex16* ab, const MKL_INT* ldab, double* d, double* e,
              MKL_Complex16* q, const MKL_INT* ldq, MKL_Complex16* pt,
              const MKL_INT* ldpt, MKL_Complex16* c, const MKL_INT* ldc,
              MKL_Complex16* work, double* rwork, MKL_INT* info ) NOTHROW;

void ZGBCON( const char* norm, const MKL_INT* n, const MKL_INT* kl,
             const MKL_INT* ku, const MKL_Complex16* ab, const MKL_INT* ldab,
             const MKL_INT* ipiv, const double* anorm, double* rcond,
             MKL_Complex16* work, double* rwork, MKL_INT* info ) NOTHROW;
void ZGBCON_( const char* norm, const MKL_INT* n, const MKL_INT* kl,
              const MKL_INT* ku, const MKL_Complex16* ab, const MKL_INT* ldab,
              const MKL_INT* ipiv, const double* anorm, double* rcond,
              MKL_Complex16* work, double* rwork, MKL_INT* info ) NOTHROW;
void zgbcon( const char* norm, const MKL_INT* n, const MKL_INT* kl,
             const MKL_INT* ku, const MKL_Complex16* ab, const MKL_INT* ldab,
             const MKL_INT* ipiv, const double* anorm, double* rcond,
             MKL_Complex16* work, double* rwork, MKL_INT* info ) NOTHROW;
void zgbcon_( const char* norm, const MKL_INT* n, const MKL_INT* kl,
              const MKL_INT* ku, const MKL_Complex16* ab, const MKL_INT* ldab,
              const MKL_INT* ipiv, const double* anorm, double* rcond,
              MKL_Complex16* work, double* rwork, MKL_INT* info ) NOTHROW;

void ZGBEQUB( const MKL_INT* m, const MKL_INT* n, const MKL_INT* kl,
              const MKL_INT* ku, const MKL_Complex16* ab, const MKL_INT* ldab,
              double* r, double* c, double* rowcnd, double* colcnd,
              double* amax, MKL_INT* info ) NOTHROW;
void ZGBEQUB_( const MKL_INT* m, const MKL_INT* n, const MKL_INT* kl,
               const MKL_INT* ku, const MKL_Complex16* ab, const MKL_INT* ldab,
               double* r, double* c, double* rowcnd, double* colcnd,
               double* amax, MKL_INT* info ) NOTHROW;
void zgbequb( const MKL_INT* m, const MKL_INT* n, const MKL_INT* kl,
              const MKL_INT* ku, const MKL_Complex16* ab, const MKL_INT* ldab,
              double* r, double* c, double* rowcnd, double* colcnd,
              double* amax, MKL_INT* info ) NOTHROW;
void zgbequb_( const MKL_INT* m, const MKL_INT* n, const MKL_INT* kl,
               const MKL_INT* ku, const MKL_Complex16* ab, const MKL_INT* ldab,
               double* r, double* c, double* rowcnd, double* colcnd,
               double* amax, MKL_INT* info ) NOTHROW;

void ZGBEQU( const MKL_INT* m, const MKL_INT* n, const MKL_INT* kl,
             const MKL_INT* ku, const MKL_Complex16* ab, const MKL_INT* ldab,
             double* r, double* c, double* rowcnd, double* colcnd,
             double* amax, MKL_INT* info ) NOTHROW;
void ZGBEQU_( const MKL_INT* m, const MKL_INT* n, const MKL_INT* kl,
              const MKL_INT* ku, const MKL_Complex16* ab, const MKL_INT* ldab,
              double* r, double* c, double* rowcnd, double* colcnd,
              double* amax, MKL_INT* info ) NOTHROW;
void zgbequ( const MKL_INT* m, const MKL_INT* n, const MKL_INT* kl,
             const MKL_INT* ku, const MKL_Complex16* ab, const MKL_INT* ldab,
             double* r, double* c, double* rowcnd, double* colcnd,
             double* amax, MKL_INT* info ) NOTHROW;
void zgbequ_( const MKL_INT* m, const MKL_INT* n, const MKL_INT* kl,
              const MKL_INT* ku, const MKL_Complex16* ab, const MKL_INT* ldab,
              double* r, double* c, double* rowcnd, double* colcnd,
              double* amax, MKL_INT* info ) NOTHROW;

void ZGBRFS( const char* trans, const MKL_INT* n, const MKL_INT* kl,
             const MKL_INT* ku, const MKL_INT* nrhs, const MKL_Complex16* ab,
             const MKL_INT* ldab, const MKL_Complex16* afb,
             const MKL_INT* ldafb, const MKL_INT* ipiv, const MKL_Complex16* b,
             const MKL_INT* ldb, MKL_Complex16* x, const MKL_INT* ldx,
             double* ferr, double* berr, MKL_Complex16* work, double* rwork,
             MKL_INT* info ) NOTHROW;
void ZGBRFS_( const char* trans, const MKL_INT* n, const MKL_INT* kl,
              const MKL_INT* ku, const MKL_INT* nrhs, const MKL_Complex16* ab,
              const MKL_INT* ldab, const MKL_Complex16* afb,
              const MKL_INT* ldafb, const MKL_INT* ipiv,
              const MKL_Complex16* b, const MKL_INT* ldb, MKL_Complex16* x,
              const MKL_INT* ldx, double* ferr, double* berr,
              MKL_Complex16* work, double* rwork, MKL_INT* info ) NOTHROW;
void zgbrfs( const char* trans, const MKL_INT* n, const MKL_INT* kl,
             const MKL_INT* ku, const MKL_INT* nrhs, const MKL_Complex16* ab,
             const MKL_INT* ldab, const MKL_Complex16* afb,
             const MKL_INT* ldafb, const MKL_INT* ipiv, const MKL_Complex16* b,
             const MKL_INT* ldb, MKL_Complex16* x, const MKL_INT* ldx,
             double* ferr, double* berr, MKL_Complex16* work, double* rwork,
             MKL_INT* info ) NOTHROW;
void zgbrfs_( const char* trans, const MKL_INT* n, const MKL_INT* kl,
              const MKL_INT* ku, const MKL_INT* nrhs, const MKL_Complex16* ab,
              const MKL_INT* ldab, const MKL_Complex16* afb,
              const MKL_INT* ldafb, const MKL_INT* ipiv,
              const MKL_Complex16* b, const MKL_INT* ldb, MKL_Complex16* x,
              const MKL_INT* ldx, double* ferr, double* berr,
              MKL_Complex16* work, double* rwork, MKL_INT* info ) NOTHROW;

void ZGBRFSX( const char* trans, const char* equed, const MKL_INT* n,
              const MKL_INT* kl, const MKL_INT* ku, const MKL_INT* nrhs,
              const MKL_Complex16* ab, const MKL_INT* ldab,
              const MKL_Complex16* afb, const MKL_INT* ldafb,
              const MKL_INT* ipiv, double* r, double* c,
              const MKL_Complex16* b, const MKL_INT* ldb, MKL_Complex16* x,
              const MKL_INT* ldx, double* rcond, double* berr,
              const MKL_INT* n_err_bnds, double* err_bnds_norm,
              double* err_bnds_comp, const MKL_INT* nparams, double* params,
              MKL_Complex16* work, double* rwork, MKL_INT* info ) NOTHROW;
void ZGBRFSX_( const char* trans, const char* equed, const MKL_INT* n,
               const MKL_INT* kl, const MKL_INT* ku, const MKL_INT* nrhs,
               const MKL_Complex16* ab, const MKL_INT* ldab,
               const MKL_Complex16* afb, const MKL_INT* ldafb,
               const MKL_INT* ipiv, double* r, double* c,
               const MKL_Complex16* b, const MKL_INT* ldb, MKL_Complex16* x,
               const MKL_INT* ldx, double* rcond, double* berr,
               const MKL_INT* n_err_bnds, double* err_bnds_norm,
               double* err_bnds_comp, const MKL_INT* nparams, double* params,
               MKL_Complex16* work, double* rwork, MKL_INT* info ) NOTHROW;
void zgbrfsx( const char* trans, const char* equed, const MKL_INT* n,
              const MKL_INT* kl, const MKL_INT* ku, const MKL_INT* nrhs,
              const MKL_Complex16* ab, const MKL_INT* ldab,
              const MKL_Complex16* afb, const MKL_INT* ldafb,
              const MKL_INT* ipiv, double* r, double* c,
              const MKL_Complex16* b, const MKL_INT* ldb, MKL_Complex16* x,
              const MKL_INT* ldx, double* rcond, double* berr,
              const MKL_INT* n_err_bnds, double* err_bnds_norm,
              double* err_bnds_comp, const MKL_INT* nparams, double* params,
              MKL_Complex16* work, double* rwork, MKL_INT* info ) NOTHROW;
void zgbrfsx_( const char* trans, const char* equed, const MKL_INT* n,
               const MKL_INT* kl, const MKL_INT* ku, const MKL_INT* nrhs,
               const MKL_Complex16* ab, const MKL_INT* ldab,
               const MKL_Complex16* afb, const MKL_INT* ldafb,
               const MKL_INT* ipiv, double* r, double* c,
               const MKL_Complex16* b, const MKL_INT* ldb, MKL_Complex16* x,
               const MKL_INT* ldx, double* rcond, double* berr,
               const MKL_INT* n_err_bnds, double* err_bnds_norm,
               double* err_bnds_comp, const MKL_INT* nparams, double* params,
               MKL_Complex16* work, double* rwork, MKL_INT* info ) NOTHROW;

void ZGBSV( const MKL_INT* n, const MKL_INT* kl, const MKL_INT* ku,
            const MKL_INT* nrhs, MKL_Complex16* ab, const MKL_INT* ldab,
            MKL_INT* ipiv, MKL_Complex16* b, const MKL_INT* ldb,
            MKL_INT* info ) NOTHROW;
void ZGBSV_( const MKL_INT* n, const MKL_INT* kl, const MKL_INT* ku,
             const MKL_INT* nrhs, MKL_Complex16* ab, const MKL_INT* ldab,
             MKL_INT* ipiv, MKL_Complex16* b, const MKL_INT* ldb,
             MKL_INT* info ) NOTHROW;
void zgbsv( const MKL_INT* n, const MKL_INT* kl, const MKL_INT* ku,
            const MKL_INT* nrhs, MKL_Complex16* ab, const MKL_INT* ldab,
            MKL_INT* ipiv, MKL_Complex16* b, const MKL_INT* ldb,
            MKL_INT* info ) NOTHROW;
void zgbsv_( const MKL_INT* n, const MKL_INT* kl, const MKL_INT* ku,
             const MKL_INT* nrhs, MKL_Complex16* ab, const MKL_INT* ldab,
             MKL_INT* ipiv, MKL_Complex16* b, const MKL_INT* ldb,
             MKL_INT* info ) NOTHROW;

void ZGBSVX( const char* fact, const char* trans, const MKL_INT* n,
             const MKL_INT* kl, const MKL_INT* ku, const MKL_INT* nrhs,
             MKL_Complex16* ab, const MKL_INT* ldab, MKL_Complex16* afb,
             const MKL_INT* ldafb, MKL_INT* ipiv, char* equed, double* r,
             double* c, MKL_Complex16* b, const MKL_INT* ldb, MKL_Complex16* x,
             const MKL_INT* ldx, double* rcond, double* ferr, double* berr,
             MKL_Complex16* work, double* rwork, MKL_INT* info ) NOTHROW;
void ZGBSVX_( const char* fact, const char* trans, const MKL_INT* n,
              const MKL_INT* kl, const MKL_INT* ku, const MKL_INT* nrhs,
              MKL_Complex16* ab, const MKL_INT* ldab, MKL_Complex16* afb,
              const MKL_INT* ldafb, MKL_INT* ipiv, char* equed, double* r,
              double* c, MKL_Complex16* b, const MKL_INT* ldb,
              MKL_Complex16* x, const MKL_INT* ldx, double* rcond,
              double* ferr, double* berr, MKL_Complex16* work, double* rwork,
              MKL_INT* info ) NOTHROW;
void zgbsvx( const char* fact, const char* trans, const MKL_INT* n,
             const MKL_INT* kl, const MKL_INT* ku, const MKL_INT* nrhs,
             MKL_Complex16* ab, const MKL_INT* ldab, MKL_Complex16* afb,
             const MKL_INT* ldafb, MKL_INT* ipiv, char* equed, double* r,
             double* c, MKL_Complex16* b, const MKL_INT* ldb, MKL_Complex16* x,
             const MKL_INT* ldx, double* rcond, double* ferr, double* berr,
             MKL_Complex16* work, double* rwork, MKL_INT* info ) NOTHROW;
void zgbsvx_( const char* fact, const char* trans, const MKL_INT* n,
              const MKL_INT* kl, const MKL_INT* ku, const MKL_INT* nrhs,
              MKL_Complex16* ab, const MKL_INT* ldab, MKL_Complex16* afb,
              const MKL_INT* ldafb, MKL_INT* ipiv, char* equed, double* r,
              double* c, MKL_Complex16* b, const MKL_INT* ldb,
              MKL_Complex16* x, const MKL_INT* ldx, double* rcond,
              double* ferr, double* berr, MKL_Complex16* work, double* rwork,
              MKL_INT* info ) NOTHROW;

void ZGBSVXX( const char* fact, const char* trans, const MKL_INT* n,
              const MKL_INT* kl, const MKL_INT* ku, const MKL_INT* nrhs,
              MKL_Complex16* ab, const MKL_INT* ldab, MKL_Complex16* afb,
              const MKL_INT* ldafb, MKL_INT* ipiv, char* equed, double* r,
              double* c, MKL_Complex16* b, const MKL_INT* ldb,
              MKL_Complex16* x, const MKL_INT* ldx, double* rcond,
              double* rpvgrw, double* berr, const MKL_INT* n_err_bnds,
              double* err_bnds_norm, double* err_bnds_comp,
              const MKL_INT* nparams, double* params, MKL_Complex16* work,
              double* rwork, MKL_INT* info ) NOTHROW;
void ZGBSVXX_( const char* fact, const char* trans, const MKL_INT* n,
               const MKL_INT* kl, const MKL_INT* ku, const MKL_INT* nrhs,
               MKL_Complex16* ab, const MKL_INT* ldab, MKL_Complex16* afb,
               const MKL_INT* ldafb, MKL_INT* ipiv, char* equed, double* r,
               double* c, MKL_Complex16* b, const MKL_INT* ldb,
               MKL_Complex16* x, const MKL_INT* ldx, double* rcond,
               double* rpvgrw, double* berr, const MKL_INT* n_err_bnds,
               double* err_bnds_norm, double* err_bnds_comp,
               const MKL_INT* nparams, double* params, MKL_Complex16* work,
               double* rwork, MKL_INT* info ) NOTHROW;
void zgbsvxx( const char* fact, const char* trans, const MKL_INT* n,
              const MKL_INT* kl, const MKL_INT* ku, const MKL_INT* nrhs,
              MKL_Complex16* ab, const MKL_INT* ldab, MKL_Complex16* afb,
              const MKL_INT* ldafb, MKL_INT* ipiv, char* equed, double* r,
              double* c, MKL_Complex16* b, const MKL_INT* ldb,
              MKL_Complex16* x, const MKL_INT* ldx, double* rcond,
              double* rpvgrw, double* berr, const MKL_INT* n_err_bnds,
              double* err_bnds_norm, double* err_bnds_comp,
              const MKL_INT* nparams, double* params, MKL_Complex16* work,
              double* rwork, MKL_INT* info ) NOTHROW;
void zgbsvxx_( const char* fact, const char* trans, const MKL_INT* n,
               const MKL_INT* kl, const MKL_INT* ku, const MKL_INT* nrhs,
               MKL_Complex16* ab, const MKL_INT* ldab, MKL_Complex16* afb,
               const MKL_INT* ldafb, MKL_INT* ipiv, char* equed, double* r,
               double* c, MKL_Complex16* b, const MKL_INT* ldb,
               MKL_Complex16* x, const MKL_INT* ldx, double* rcond,
               double* rpvgrw, double* berr, const MKL_INT* n_err_bnds,
               double* err_bnds_norm, double* err_bnds_comp,
               const MKL_INT* nparams, double* params, MKL_Complex16* work,
               double* rwork, MKL_INT* info ) NOTHROW;

void ZGBTF2( const MKL_INT* m, const MKL_INT* n, const MKL_INT* kl,
             const MKL_INT* ku, MKL_Complex16* ab, const MKL_INT* ldab,
             MKL_INT* ipiv, MKL_INT* info ) NOTHROW;
void ZGBTF2_( const MKL_INT* m, const MKL_INT* n, const MKL_INT* kl,
              const MKL_INT* ku, MKL_Complex16* ab, const MKL_INT* ldab,
              MKL_INT* ipiv, MKL_INT* info ) NOTHROW;
void zgbtf2( const MKL_INT* m, const MKL_INT* n, const MKL_INT* kl,
             const MKL_INT* ku, MKL_Complex16* ab, const MKL_INT* ldab,
             MKL_INT* ipiv, MKL_INT* info ) NOTHROW;
void zgbtf2_( const MKL_INT* m, const MKL_INT* n, const MKL_INT* kl,
              const MKL_INT* ku, MKL_Complex16* ab, const MKL_INT* ldab,
              MKL_INT* ipiv, MKL_INT* info ) NOTHROW;

void ZGBTRF( const MKL_INT* m, const MKL_INT* n, const MKL_INT* kl,
             const MKL_INT* ku, MKL_Complex16* ab, const MKL_INT* ldab,
             MKL_INT* ipiv, MKL_INT* info ) NOTHROW;
void ZGBTRF_( const MKL_INT* m, const MKL_INT* n, const MKL_INT* kl,
              const MKL_INT* ku, MKL_Complex16* ab, const MKL_INT* ldab,
              MKL_INT* ipiv, MKL_INT* info ) NOTHROW;
void zgbtrf( const MKL_INT* m, const MKL_INT* n, const MKL_INT* kl,
             const MKL_INT* ku, MKL_Complex16* ab, const MKL_INT* ldab,
             MKL_INT* ipiv, MKL_INT* info ) NOTHROW;
void zgbtrf_( const MKL_INT* m, const MKL_INT* n, const MKL_INT* kl,
              const MKL_INT* ku, MKL_Complex16* ab, const MKL_INT* ldab,
              MKL_INT* ipiv, MKL_INT* info ) NOTHROW;

void ZGBTRS( const char* trans, const MKL_INT* n, const MKL_INT* kl,
             const MKL_INT* ku, const MKL_INT* nrhs, const MKL_Complex16* ab,
             const MKL_INT* ldab, const MKL_INT* ipiv, MKL_Complex16* b,
             const MKL_INT* ldb, MKL_INT* info ) NOTHROW;
void ZGBTRS_( const char* trans, const MKL_INT* n, const MKL_INT* kl,
              const MKL_INT* ku, const MKL_INT* nrhs, const MKL_Complex16* ab,
              const MKL_INT* ldab, const MKL_INT* ipiv, MKL_Complex16* b,
              const MKL_INT* ldb, MKL_INT* info ) NOTHROW;
void zgbtrs( const char* trans, const MKL_INT* n, const MKL_INT* kl,
             const MKL_INT* ku, const MKL_INT* nrhs, const MKL_Complex16* ab,
             const MKL_INT* ldab, const MKL_INT* ipiv, MKL_Complex16* b,
             const MKL_INT* ldb, MKL_INT* info ) NOTHROW;
void zgbtrs_( const char* trans, const MKL_INT* n, const MKL_INT* kl,
              const MKL_INT* ku, const MKL_INT* nrhs, const MKL_Complex16* ab,
              const MKL_INT* ldab, const MKL_INT* ipiv, MKL_Complex16* b,
              const MKL_INT* ldb, MKL_INT* info ) NOTHROW;

void ZGEBAK( const char* job, const char* side, const MKL_INT* n,
             const MKL_INT* ilo, const MKL_INT* ihi, const double* scale,
             const MKL_INT* m, MKL_Complex16* v, const MKL_INT* ldv,
             MKL_INT* info ) NOTHROW;
void ZGEBAK_( const char* job, const char* side, const MKL_INT* n,
              const MKL_INT* ilo, const MKL_INT* ihi, const double* scale,
              const MKL_INT* m, MKL_Complex16* v, const MKL_INT* ldv,
              MKL_INT* info ) NOTHROW;
void zgebak( const char* job, const char* side, const MKL_INT* n,
             const MKL_INT* ilo, const MKL_INT* ihi, const double* scale,
             const MKL_INT* m, MKL_Complex16* v, const MKL_INT* ldv,
             MKL_INT* info ) NOTHROW;
void zgebak_( const char* job, const char* side, const MKL_INT* n,
              const MKL_INT* ilo, const MKL_INT* ihi, const double* scale,
              const MKL_INT* m, MKL_Complex16* v, const MKL_INT* ldv,
              MKL_INT* info ) NOTHROW;

void ZGEBAL( const char* job, const MKL_INT* n, MKL_Complex16* a,
             const MKL_INT* lda, MKL_INT* ilo, MKL_INT* ihi, double* scale,
             MKL_INT* info ) NOTHROW;
void ZGEBAL_( const char* job, const MKL_INT* n, MKL_Complex16* a,
              const MKL_INT* lda, MKL_INT* ilo, MKL_INT* ihi, double* scale,
              MKL_INT* info ) NOTHROW;
void zgebal( const char* job, const MKL_INT* n, MKL_Complex16* a,
             const MKL_INT* lda, MKL_INT* ilo, MKL_INT* ihi, double* scale,
             MKL_INT* info ) NOTHROW;
void zgebal_( const char* job, const MKL_INT* n, MKL_Complex16* a,
              const MKL_INT* lda, MKL_INT* ilo, MKL_INT* ihi, double* scale,
              MKL_INT* info ) NOTHROW;

void ZGEBD2( const MKL_INT* m, const MKL_INT* n, MKL_Complex16* a,
             const MKL_INT* lda, double* d, double* e, MKL_Complex16* tauq,
             MKL_Complex16* taup, MKL_Complex16* work, MKL_INT* info ) NOTHROW;
void ZGEBD2_( const MKL_INT* m, const MKL_INT* n, MKL_Complex16* a,
              const MKL_INT* lda, double* d, double* e, MKL_Complex16* tauq,
              MKL_Complex16* taup, MKL_Complex16* work, MKL_INT* info ) NOTHROW;
void zgebd2( const MKL_INT* m, const MKL_INT* n, MKL_Complex16* a,
             const MKL_INT* lda, double* d, double* e, MKL_Complex16* tauq,
             MKL_Complex16* taup, MKL_Complex16* work, MKL_INT* info ) NOTHROW;
void zgebd2_( const MKL_INT* m, const MKL_INT* n, MKL_Complex16* a,
              const MKL_INT* lda, double* d, double* e, MKL_Complex16* tauq,
              MKL_Complex16* taup, MKL_Complex16* work, MKL_INT* info ) NOTHROW;

void ZGEBRD( const MKL_INT* m, const MKL_INT* n, MKL_Complex16* a,
             const MKL_INT* lda, double* d, double* e, MKL_Complex16* tauq,
             MKL_Complex16* taup, MKL_Complex16* work, const MKL_INT* lwork,
             MKL_INT* info ) NOTHROW;
void ZGEBRD_( const MKL_INT* m, const MKL_INT* n, MKL_Complex16* a,
              const MKL_INT* lda, double* d, double* e, MKL_Complex16* tauq,
              MKL_Complex16* taup, MKL_Complex16* work, const MKL_INT* lwork,
              MKL_INT* info ) NOTHROW;
void zgebrd( const MKL_INT* m, const MKL_INT* n, MKL_Complex16* a,
             const MKL_INT* lda, double* d, double* e, MKL_Complex16* tauq,
             MKL_Complex16* taup, MKL_Complex16* work, const MKL_INT* lwork,
             MKL_INT* info ) NOTHROW;
void zgebrd_( const MKL_INT* m, const MKL_INT* n, MKL_Complex16* a,
              const MKL_INT* lda, double* d, double* e, MKL_Complex16* tauq,
              MKL_Complex16* taup, MKL_Complex16* work, const MKL_INT* lwork,
              MKL_INT* info ) NOTHROW;

void ZGECON( const char* norm, const MKL_INT* n, const MKL_Complex16* a,
             const MKL_INT* lda, const double* anorm, double* rcond,
             MKL_Complex16* work, double* rwork, MKL_INT* info ) NOTHROW;
void ZGECON_( const char* norm, const MKL_INT* n, const MKL_Complex16* a,
              const MKL_INT* lda, const double* anorm, double* rcond,
              MKL_Complex16* work, double* rwork, MKL_INT* info ) NOTHROW;
void zgecon( const char* norm, const MKL_INT* n, const MKL_Complex16* a,
             const MKL_INT* lda, const double* anorm, double* rcond,
             MKL_Complex16* work, double* rwork, MKL_INT* info ) NOTHROW;
void zgecon_( const char* norm, const MKL_INT* n, const MKL_Complex16* a,
              const MKL_INT* lda, const double* anorm, double* rcond,
              MKL_Complex16* work, double* rwork, MKL_INT* info ) NOTHROW;

void ZGEEQUB( const MKL_INT* m, const MKL_INT* n, const MKL_Complex16* a,
              const MKL_INT* lda, double* r, double* c, double* rowcnd,
              double* colcnd, double* amax, MKL_INT* info ) NOTHROW;
void ZGEEQUB_( const MKL_INT* m, const MKL_INT* n, const MKL_Complex16* a,
               const MKL_INT* lda, double* r, double* c, double* rowcnd,
               double* colcnd, double* amax, MKL_INT* info ) NOTHROW;
void zgeequb( const MKL_INT* m, const MKL_INT* n, const MKL_Complex16* a,
              const MKL_INT* lda, double* r, double* c, double* rowcnd,
              double* colcnd, double* amax, MKL_INT* info ) NOTHROW;
void zgeequb_( const MKL_INT* m, const MKL_INT* n, const MKL_Complex16* a,
               const MKL_INT* lda, double* r, double* c, double* rowcnd,
               double* colcnd, double* amax, MKL_INT* info ) NOTHROW;

void ZGEEQU( const MKL_INT* m, const MKL_INT* n, const MKL_Complex16* a,
             const MKL_INT* lda, double* r, double* c, double* rowcnd,
             double* colcnd, double* amax, MKL_INT* info ) NOTHROW;
void ZGEEQU_( const MKL_INT* m, const MKL_INT* n, const MKL_Complex16* a,
              const MKL_INT* lda, double* r, double* c, double* rowcnd,
              double* colcnd, double* amax, MKL_INT* info ) NOTHROW;
void zgeequ( const MKL_INT* m, const MKL_INT* n, const MKL_Complex16* a,
             const MKL_INT* lda, double* r, double* c, double* rowcnd,
             double* colcnd, double* amax, MKL_INT* info ) NOTHROW;
void zgeequ_( const MKL_INT* m, const MKL_INT* n, const MKL_Complex16* a,
              const MKL_INT* lda, double* r, double* c, double* rowcnd,
              double* colcnd, double* amax, MKL_INT* info ) NOTHROW;

void ZGEES( const char* jobvs, const char* sort,
            MKL_Z_SELECT_FUNCTION_1 select, const MKL_INT* n, MKL_Complex16* a,
            const MKL_INT* lda, MKL_INT* sdim, MKL_Complex16* w,
            MKL_Complex16* vs, const MKL_INT* ldvs, MKL_Complex16* work,
            const MKL_INT* lwork, double* rwork, MKL_INT* bwork,
            MKL_INT* info ) NOTHROW;
void ZGEES_( const char* jobvs, const char* sort,
             MKL_Z_SELECT_FUNCTION_1 select, const MKL_INT* n,
             MKL_Complex16* a, const MKL_INT* lda, MKL_INT* sdim,
             MKL_Complex16* w, MKL_Complex16* vs, const MKL_INT* ldvs,
             MKL_Complex16* work, const MKL_INT* lwork, double* rwork,
             MKL_INT* bwork, MKL_INT* info ) NOTHROW;
void zgees( const char* jobvs, const char* sort,
            MKL_Z_SELECT_FUNCTION_1 select, const MKL_INT* n, MKL_Complex16* a,
            const MKL_INT* lda, MKL_INT* sdim, MKL_Complex16* w,
            MKL_Complex16* vs, const MKL_INT* ldvs, MKL_Complex16* work,
            const MKL_INT* lwork, double* rwork, MKL_INT* bwork,
            MKL_INT* info ) NOTHROW;
void zgees_( const char* jobvs, const char* sort,
             MKL_Z_SELECT_FUNCTION_1 select, const MKL_INT* n,
             MKL_Complex16* a, const MKL_INT* lda, MKL_INT* sdim,
             MKL_Complex16* w, MKL_Complex16* vs, const MKL_INT* ldvs,
             MKL_Complex16* work, const MKL_INT* lwork, double* rwork,
             MKL_INT* bwork, MKL_INT* info ) NOTHROW;

void ZGEESX( const char* jobvs, const char* sort,
             MKL_Z_SELECT_FUNCTION_1 select, const char* sense,
             const MKL_INT* n, MKL_Complex16* a, const MKL_INT* lda,
             MKL_INT* sdim, MKL_Complex16* w, MKL_Complex16* vs,
             const MKL_INT* ldvs, double* rconde, double* rcondv,
             MKL_Complex16* work, const MKL_INT* lwork, double* rwork,
             MKL_INT* bwork, MKL_INT* info ) NOTHROW;
void ZGEESX_( const char* jobvs, const char* sort,
              MKL_Z_SELECT_FUNCTION_1 select, const char* sense,
              const MKL_INT* n, MKL_Complex16* a, const MKL_INT* lda,
              MKL_INT* sdim, MKL_Complex16* w, MKL_Complex16* vs,
              const MKL_INT* ldvs, double* rconde, double* rcondv,
              MKL_Complex16* work, const MKL_INT* lwork, double* rwork,
              MKL_INT* bwork, MKL_INT* info ) NOTHROW;
void zgeesx( const char* jobvs, const char* sort,
             MKL_Z_SELECT_FUNCTION_1 select, const char* sense,
             const MKL_INT* n, MKL_Complex16* a, const MKL_INT* lda,
             MKL_INT* sdim, MKL_Complex16* w, MKL_Complex16* vs,
             const MKL_INT* ldvs, double* rconde, double* rcondv,
             MKL_Complex16* work, const MKL_INT* lwork, double* rwork,
             MKL_INT* bwork, MKL_INT* info ) NOTHROW;
void zgeesx_( const char* jobvs, const char* sort,
              MKL_Z_SELECT_FUNCTION_1 select, const char* sense,
              const MKL_INT* n, MKL_Complex16* a, const MKL_INT* lda,
              MKL_INT* sdim, MKL_Complex16* w, MKL_Complex16* vs,
              const MKL_INT* ldvs, double* rconde, double* rcondv,
              MKL_Complex16* work, const MKL_INT* lwork, double* rwork,
              MKL_INT* bwork, MKL_INT* info ) NOTHROW;

void ZGEEV( const char* jobvl, const char* jobvr, const MKL_INT* n,
            MKL_Complex16* a, const MKL_INT* lda, MKL_Complex16* w,
            MKL_Complex16* vl, const MKL_INT* ldvl, MKL_Complex16* vr,
            const MKL_INT* ldvr, MKL_Complex16* work, const MKL_INT* lwork,
            double* rwork, MKL_INT* info ) NOTHROW;
void ZGEEV_( const char* jobvl, const char* jobvr, const MKL_INT* n,
             MKL_Complex16* a, const MKL_INT* lda, MKL_Complex16* w,
             MKL_Complex16* vl, const MKL_INT* ldvl, MKL_Complex16* vr,
             const MKL_INT* ldvr, MKL_Complex16* work, const MKL_INT* lwork,
             double* rwork, MKL_INT* info ) NOTHROW;
void zgeev( const char* jobvl, const char* jobvr, const MKL_INT* n,
            MKL_Complex16* a, const MKL_INT* lda, MKL_Complex16* w,
            MKL_Complex16* vl, const MKL_INT* ldvl, MKL_Complex16* vr,
            const MKL_INT* ldvr, MKL_Complex16* work, const MKL_INT* lwork,
            double* rwork, MKL_INT* info ) NOTHROW;
void zgeev_( const char* jobvl, const char* jobvr, const MKL_INT* n,
             MKL_Complex16* a, const MKL_INT* lda, MKL_Complex16* w,
             MKL_Complex16* vl, const MKL_INT* ldvl, MKL_Complex16* vr,
             const MKL_INT* ldvr, MKL_Complex16* work, const MKL_INT* lwork,
             double* rwork, MKL_INT* info ) NOTHROW;

void ZGEEVX( const char* balanc, const char* jobvl, const char* jobvr,
             const char* sense, const MKL_INT* n, MKL_Complex16* a,
             const MKL_INT* lda, MKL_Complex16* w, MKL_Complex16* vl,
             const MKL_INT* ldvl, MKL_Complex16* vr, const MKL_INT* ldvr,
             MKL_INT* ilo, MKL_INT* ihi, double* scale, double* abnrm,
             double* rconde, double* rcondv, MKL_Complex16* work,
             const MKL_INT* lwork, double* rwork, MKL_INT* info ) NOTHROW;
void ZGEEVX_( const char* balanc, const char* jobvl, const char* jobvr,
              const char* sense, const MKL_INT* n, MKL_Complex16* a,
              const MKL_INT* lda, MKL_Complex16* w, MKL_Complex16* vl,
              const MKL_INT* ldvl, MKL_Complex16* vr, const MKL_INT* ldvr,
              MKL_INT* ilo, MKL_INT* ihi, double* scale, double* abnrm,
              double* rconde, double* rcondv, MKL_Complex16* work,
              const MKL_INT* lwork, double* rwork, MKL_INT* info ) NOTHROW;
void zgeevx( const char* balanc, const char* jobvl, const char* jobvr,
             const char* sense, const MKL_INT* n, MKL_Complex16* a,
             const MKL_INT* lda, MKL_Complex16* w, MKL_Complex16* vl,
             const MKL_INT* ldvl, MKL_Complex16* vr, const MKL_INT* ldvr,
             MKL_INT* ilo, MKL_INT* ihi, double* scale, double* abnrm,
             double* rconde, double* rcondv, MKL_Complex16* work,
             const MKL_INT* lwork, double* rwork, MKL_INT* info ) NOTHROW;
void zgeevx_( const char* balanc, const char* jobvl, const char* jobvr,
              const char* sense, const MKL_INT* n, MKL_Complex16* a,
              const MKL_INT* lda, MKL_Complex16* w, MKL_Complex16* vl,
              const MKL_INT* ldvl, MKL_Complex16* vr, const MKL_INT* ldvr,
              MKL_INT* ilo, MKL_INT* ihi, double* scale, double* abnrm,
              double* rconde, double* rcondv, MKL_Complex16* work,
              const MKL_INT* lwork, double* rwork, MKL_INT* info ) NOTHROW;

void ZGEGS( const char* jobvsl, const char* jobvsr, const MKL_INT* n,
            MKL_Complex16* a, const MKL_INT* lda, MKL_Complex16* b,
            const MKL_INT* ldb, MKL_Complex16* alpha, MKL_Complex16* beta,
            MKL_Complex16* vsl, const MKL_INT* ldvsl, MKL_Complex16* vsr,
            const MKL_INT* ldvsr, MKL_Complex16* work, const MKL_INT* lwork,
            double* rwork, MKL_INT* info ) NOTHROW;
void ZGEGS_( const char* jobvsl, const char* jobvsr, const MKL_INT* n,
             MKL_Complex16* a, const MKL_INT* lda, MKL_Complex16* b,
             const MKL_INT* ldb, MKL_Complex16* alpha, MKL_Complex16* beta,
             MKL_Complex16* vsl, const MKL_INT* ldvsl, MKL_Complex16* vsr,
             const MKL_INT* ldvsr, MKL_Complex16* work, const MKL_INT* lwork,
             double* rwork, MKL_INT* info ) NOTHROW;
void zgegs( const char* jobvsl, const char* jobvsr, const MKL_INT* n,
            MKL_Complex16* a, const MKL_INT* lda, MKL_Complex16* b,
            const MKL_INT* ldb, MKL_Complex16* alpha, MKL_Complex16* beta,
            MKL_Complex16* vsl, const MKL_INT* ldvsl, MKL_Complex16* vsr,
            const MKL_INT* ldvsr, MKL_Complex16* work, const MKL_INT* lwork,
            double* rwork, MKL_INT* info ) NOTHROW;
void zgegs_( const char* jobvsl, const char* jobvsr, const MKL_INT* n,
             MKL_Complex16* a, const MKL_INT* lda, MKL_Complex16* b,
             const MKL_INT* ldb, MKL_Complex16* alpha, MKL_Complex16* beta,
             MKL_Complex16* vsl, const MKL_INT* ldvsl, MKL_Complex16* vsr,
             const MKL_INT* ldvsr, MKL_Complex16* work, const MKL_INT* lwork,
             double* rwork, MKL_INT* info ) NOTHROW;

void ZGEGV( const char* jobvl, const char* jobvr, const MKL_INT* n,
            MKL_Complex16* a, const MKL_INT* lda, MKL_Complex16* b,
            const MKL_INT* ldb, MKL_Complex16* alpha, MKL_Complex16* beta,
            MKL_Complex16* vl, const MKL_INT* ldvl, MKL_Complex16* vr,
            const MKL_INT* ldvr, MKL_Complex16* work, const MKL_INT* lwork,
            double* rwork, MKL_INT* info ) NOTHROW;
void ZGEGV_( const char* jobvl, const char* jobvr, const MKL_INT* n,
             MKL_Complex16* a, const MKL_INT* lda, MKL_Complex16* b,
             const MKL_INT* ldb, MKL_Complex16* alpha, MKL_Complex16* beta,
             MKL_Complex16* vl, const MKL_INT* ldvl, MKL_Complex16* vr,
             const MKL_INT* ldvr, MKL_Complex16* work, const MKL_INT* lwork,
             double* rwork, MKL_INT* info ) NOTHROW;
void zgegv( const char* jobvl, const char* jobvr, const MKL_INT* n,
            MKL_Complex16* a, const MKL_INT* lda, MKL_Complex16* b,
            const MKL_INT* ldb, MKL_Complex16* alpha, MKL_Complex16* beta,
            MKL_Complex16* vl, const MKL_INT* ldvl, MKL_Complex16* vr,
            const MKL_INT* ldvr, MKL_Complex16* work, const MKL_INT* lwork,
            double* rwork, MKL_INT* info ) NOTHROW;
void zgegv_( const char* jobvl, const char* jobvr, const MKL_INT* n,
             MKL_Complex16* a, const MKL_INT* lda, MKL_Complex16* b,
             const MKL_INT* ldb, MKL_Complex16* alpha, MKL_Complex16* beta,
             MKL_Complex16* vl, const MKL_INT* ldvl, MKL_Complex16* vr,
             const MKL_INT* ldvr, MKL_Complex16* work, const MKL_INT* lwork,
             double* rwork, MKL_INT* info ) NOTHROW;

void ZGEHD2( const MKL_INT* n, const MKL_INT* ilo, const MKL_INT* ihi,
             MKL_Complex16* a, const MKL_INT* lda, MKL_Complex16* tau,
             MKL_Complex16* work, MKL_INT* info ) NOTHROW;
void ZGEHD2_( const MKL_INT* n, const MKL_INT* ilo, const MKL_INT* ihi,
              MKL_Complex16* a, const MKL_INT* lda, MKL_Complex16* tau,
              MKL_Complex16* work, MKL_INT* info ) NOTHROW;
void zgehd2( const MKL_INT* n, const MKL_INT* ilo, const MKL_INT* ihi,
             MKL_Complex16* a, const MKL_INT* lda, MKL_Complex16* tau,
             MKL_Complex16* work, MKL_INT* info ) NOTHROW;
void zgehd2_( const MKL_INT* n, const MKL_INT* ilo, const MKL_INT* ihi,
              MKL_Complex16* a, const MKL_INT* lda, MKL_Complex16* tau,
              MKL_Complex16* work, MKL_INT* info ) NOTHROW;

void ZGEHRD( const MKL_INT* n, const MKL_INT* ilo, const MKL_INT* ihi,
             MKL_Complex16* a, const MKL_INT* lda, MKL_Complex16* tau,
             MKL_Complex16* work, const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void ZGEHRD_( const MKL_INT* n, const MKL_INT* ilo, const MKL_INT* ihi,
              MKL_Complex16* a, const MKL_INT* lda, MKL_Complex16* tau,
              MKL_Complex16* work, const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void zgehrd( const MKL_INT* n, const MKL_INT* ilo, const MKL_INT* ihi,
             MKL_Complex16* a, const MKL_INT* lda, MKL_Complex16* tau,
             MKL_Complex16* work, const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void zgehrd_( const MKL_INT* n, const MKL_INT* ilo, const MKL_INT* ihi,
              MKL_Complex16* a, const MKL_INT* lda, MKL_Complex16* tau,
              MKL_Complex16* work, const MKL_INT* lwork, MKL_INT* info ) NOTHROW;

void ZGELQ2( const MKL_INT* m, const MKL_INT* n, MKL_Complex16* a,
             const MKL_INT* lda, MKL_Complex16* tau, MKL_Complex16* work,
             MKL_INT* info ) NOTHROW;
void ZGELQ2_( const MKL_INT* m, const MKL_INT* n, MKL_Complex16* a,
              const MKL_INT* lda, MKL_Complex16* tau, MKL_Complex16* work,
              MKL_INT* info ) NOTHROW;
void zgelq2( const MKL_INT* m, const MKL_INT* n, MKL_Complex16* a,
             const MKL_INT* lda, MKL_Complex16* tau, MKL_Complex16* work,
             MKL_INT* info ) NOTHROW;
void zgelq2_( const MKL_INT* m, const MKL_INT* n, MKL_Complex16* a,
              const MKL_INT* lda, MKL_Complex16* tau, MKL_Complex16* work,
              MKL_INT* info ) NOTHROW;

void ZGELQF( const MKL_INT* m, const MKL_INT* n, MKL_Complex16* a,
             const MKL_INT* lda, MKL_Complex16* tau, MKL_Complex16* work,
             const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void ZGELQF_( const MKL_INT* m, const MKL_INT* n, MKL_Complex16* a,
              const MKL_INT* lda, MKL_Complex16* tau, MKL_Complex16* work,
              const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void zgelqf( const MKL_INT* m, const MKL_INT* n, MKL_Complex16* a,
             const MKL_INT* lda, MKL_Complex16* tau, MKL_Complex16* work,
             const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void zgelqf_( const MKL_INT* m, const MKL_INT* n, MKL_Complex16* a,
              const MKL_INT* lda, MKL_Complex16* tau, MKL_Complex16* work,
              const MKL_INT* lwork, MKL_INT* info ) NOTHROW;

void ZGELSD( const MKL_INT* m, const MKL_INT* n, const MKL_INT* nrhs,
             MKL_Complex16* a, const MKL_INT* lda, MKL_Complex16* b,
             const MKL_INT* ldb, double* s, const double* rcond, MKL_INT* rank,
             MKL_Complex16* work, const MKL_INT* lwork, double* rwork,
             MKL_INT* iwork, MKL_INT* info ) NOTHROW;
void ZGELSD_( const MKL_INT* m, const MKL_INT* n, const MKL_INT* nrhs,
              MKL_Complex16* a, const MKL_INT* lda, MKL_Complex16* b,
              const MKL_INT* ldb, double* s, const double* rcond,
              MKL_INT* rank, MKL_Complex16* work, const MKL_INT* lwork,
              double* rwork, MKL_INT* iwork, MKL_INT* info ) NOTHROW;
void zgelsd( const MKL_INT* m, const MKL_INT* n, const MKL_INT* nrhs,
             MKL_Complex16* a, const MKL_INT* lda, MKL_Complex16* b,
             const MKL_INT* ldb, double* s, const double* rcond, MKL_INT* rank,
             MKL_Complex16* work, const MKL_INT* lwork, double* rwork,
             MKL_INT* iwork, MKL_INT* info ) NOTHROW;
void zgelsd_( const MKL_INT* m, const MKL_INT* n, const MKL_INT* nrhs,
              MKL_Complex16* a, const MKL_INT* lda, MKL_Complex16* b,
              const MKL_INT* ldb, double* s, const double* rcond,
              MKL_INT* rank, MKL_Complex16* work, const MKL_INT* lwork,
              double* rwork, MKL_INT* iwork, MKL_INT* info ) NOTHROW;

void ZGELS( const char* trans, const MKL_INT* m, const MKL_INT* n,
            const MKL_INT* nrhs, MKL_Complex16* a, const MKL_INT* lda,
            MKL_Complex16* b, const MKL_INT* ldb, MKL_Complex16* work,
            const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void ZGELS_( const char* trans, const MKL_INT* m, const MKL_INT* n,
             const MKL_INT* nrhs, MKL_Complex16* a, const MKL_INT* lda,
             MKL_Complex16* b, const MKL_INT* ldb, MKL_Complex16* work,
             const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void zgels( const char* trans, const MKL_INT* m, const MKL_INT* n,
            const MKL_INT* nrhs, MKL_Complex16* a, const MKL_INT* lda,
            MKL_Complex16* b, const MKL_INT* ldb, MKL_Complex16* work,
            const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void zgels_( const char* trans, const MKL_INT* m, const MKL_INT* n,
             const MKL_INT* nrhs, MKL_Complex16* a, const MKL_INT* lda,
             MKL_Complex16* b, const MKL_INT* ldb, MKL_Complex16* work,
             const MKL_INT* lwork, MKL_INT* info ) NOTHROW;

void ZGELSS( const MKL_INT* m, const MKL_INT* n, const MKL_INT* nrhs,
             MKL_Complex16* a, const MKL_INT* lda, MKL_Complex16* b,
             const MKL_INT* ldb, double* s, const double* rcond, MKL_INT* rank,
             MKL_Complex16* work, const MKL_INT* lwork, double* rwork,
             MKL_INT* info ) NOTHROW;
void ZGELSS_( const MKL_INT* m, const MKL_INT* n, const MKL_INT* nrhs,
              MKL_Complex16* a, const MKL_INT* lda, MKL_Complex16* b,
              const MKL_INT* ldb, double* s, const double* rcond,
              MKL_INT* rank, MKL_Complex16* work, const MKL_INT* lwork,
              double* rwork, MKL_INT* info ) NOTHROW;
void zgelss( const MKL_INT* m, const MKL_INT* n, const MKL_INT* nrhs,
             MKL_Complex16* a, const MKL_INT* lda, MKL_Complex16* b,
             const MKL_INT* ldb, double* s, const double* rcond, MKL_INT* rank,
             MKL_Complex16* work, const MKL_INT* lwork, double* rwork,
             MKL_INT* info ) NOTHROW;
void zgelss_( const MKL_INT* m, const MKL_INT* n, const MKL_INT* nrhs,
              MKL_Complex16* a, const MKL_INT* lda, MKL_Complex16* b,
              const MKL_INT* ldb, double* s, const double* rcond,
              MKL_INT* rank, MKL_Complex16* work, const MKL_INT* lwork,
              double* rwork, MKL_INT* info ) NOTHROW;

void ZGELSX( const MKL_INT* m, const MKL_INT* n, const MKL_INT* nrhs,
             MKL_Complex16* a, const MKL_INT* lda, MKL_Complex16* b,
             const MKL_INT* ldb, MKL_INT* jpvt, const double* rcond,
             MKL_INT* rank, MKL_Complex16* work, double* rwork,
             MKL_INT* info ) NOTHROW;
void ZGELSX_( const MKL_INT* m, const MKL_INT* n, const MKL_INT* nrhs,
              MKL_Complex16* a, const MKL_INT* lda, MKL_Complex16* b,
              const MKL_INT* ldb, MKL_INT* jpvt, const double* rcond,
              MKL_INT* rank, MKL_Complex16* work, double* rwork,
              MKL_INT* info ) NOTHROW;
void zgelsx( const MKL_INT* m, const MKL_INT* n, const MKL_INT* nrhs,
             MKL_Complex16* a, const MKL_INT* lda, MKL_Complex16* b,
             const MKL_INT* ldb, MKL_INT* jpvt, const double* rcond,
             MKL_INT* rank, MKL_Complex16* work, double* rwork,
             MKL_INT* info ) NOTHROW;
void zgelsx_( const MKL_INT* m, const MKL_INT* n, const MKL_INT* nrhs,
              MKL_Complex16* a, const MKL_INT* lda, MKL_Complex16* b,
              const MKL_INT* ldb, MKL_INT* jpvt, const double* rcond,
              MKL_INT* rank, MKL_Complex16* work, double* rwork,
              MKL_INT* info ) NOTHROW;

void ZGELSY( const MKL_INT* m, const MKL_INT* n, const MKL_INT* nrhs,
             MKL_Complex16* a, const MKL_INT* lda, MKL_Complex16* b,
             const MKL_INT* ldb, MKL_INT* jpvt, const double* rcond,
             MKL_INT* rank, MKL_Complex16* work, const MKL_INT* lwork,
             double* rwork, MKL_INT* info ) NOTHROW;
void ZGELSY_( const MKL_INT* m, const MKL_INT* n, const MKL_INT* nrhs,
              MKL_Complex16* a, const MKL_INT* lda, MKL_Complex16* b,
              const MKL_INT* ldb, MKL_INT* jpvt, const double* rcond,
              MKL_INT* rank, MKL_Complex16* work, const MKL_INT* lwork,
              double* rwork, MKL_INT* info ) NOTHROW;
void zgelsy( const MKL_INT* m, const MKL_INT* n, const MKL_INT* nrhs,
             MKL_Complex16* a, const MKL_INT* lda, MKL_Complex16* b,
             const MKL_INT* ldb, MKL_INT* jpvt, const double* rcond,
             MKL_INT* rank, MKL_Complex16* work, const MKL_INT* lwork,
             double* rwork, MKL_INT* info ) NOTHROW;
void zgelsy_( const MKL_INT* m, const MKL_INT* n, const MKL_INT* nrhs,
              MKL_Complex16* a, const MKL_INT* lda, MKL_Complex16* b,
              const MKL_INT* ldb, MKL_INT* jpvt, const double* rcond,
              MKL_INT* rank, MKL_Complex16* work, const MKL_INT* lwork,
              double* rwork, MKL_INT* info ) NOTHROW;

void ZGEQL2( const MKL_INT* m, const MKL_INT* n, MKL_Complex16* a,
             const MKL_INT* lda, MKL_Complex16* tau, MKL_Complex16* work,
             MKL_INT* info ) NOTHROW;
void ZGEQL2_( const MKL_INT* m, const MKL_INT* n, MKL_Complex16* a,
              const MKL_INT* lda, MKL_Complex16* tau, MKL_Complex16* work,
              MKL_INT* info ) NOTHROW;
void zgeql2( const MKL_INT* m, const MKL_INT* n, MKL_Complex16* a,
             const MKL_INT* lda, MKL_Complex16* tau, MKL_Complex16* work,
             MKL_INT* info ) NOTHROW;
void zgeql2_( const MKL_INT* m, const MKL_INT* n, MKL_Complex16* a,
              const MKL_INT* lda, MKL_Complex16* tau, MKL_Complex16* work,
              MKL_INT* info ) NOTHROW;

void ZGEQLF( const MKL_INT* m, const MKL_INT* n, MKL_Complex16* a,
             const MKL_INT* lda, MKL_Complex16* tau, MKL_Complex16* work,
             const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void ZGEQLF_( const MKL_INT* m, const MKL_INT* n, MKL_Complex16* a,
              const MKL_INT* lda, MKL_Complex16* tau, MKL_Complex16* work,
              const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void zgeqlf( const MKL_INT* m, const MKL_INT* n, MKL_Complex16* a,
             const MKL_INT* lda, MKL_Complex16* tau, MKL_Complex16* work,
             const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void zgeqlf_( const MKL_INT* m, const MKL_INT* n, MKL_Complex16* a,
              const MKL_INT* lda, MKL_Complex16* tau, MKL_Complex16* work,
              const MKL_INT* lwork, MKL_INT* info ) NOTHROW;

void ZGEQP3( const MKL_INT* m, const MKL_INT* n, MKL_Complex16* a,
             const MKL_INT* lda, MKL_INT* jpvt, MKL_Complex16* tau,
             MKL_Complex16* work, const MKL_INT* lwork, double* rwork,
             MKL_INT* info ) NOTHROW;
void ZGEQP3_( const MKL_INT* m, const MKL_INT* n, MKL_Complex16* a,
              const MKL_INT* lda, MKL_INT* jpvt, MKL_Complex16* tau,
              MKL_Complex16* work, const MKL_INT* lwork, double* rwork,
              MKL_INT* info ) NOTHROW;
void zgeqp3( const MKL_INT* m, const MKL_INT* n, MKL_Complex16* a,
             const MKL_INT* lda, MKL_INT* jpvt, MKL_Complex16* tau,
             MKL_Complex16* work, const MKL_INT* lwork, double* rwork,
             MKL_INT* info ) NOTHROW;
void zgeqp3_( const MKL_INT* m, const MKL_INT* n, MKL_Complex16* a,
              const MKL_INT* lda, MKL_INT* jpvt, MKL_Complex16* tau,
              MKL_Complex16* work, const MKL_INT* lwork, double* rwork,
              MKL_INT* info ) NOTHROW;

void ZGEQPF( const MKL_INT* m, const MKL_INT* n, MKL_Complex16* a,
             const MKL_INT* lda, MKL_INT* jpvt, MKL_Complex16* tau,
             MKL_Complex16* work, double* rwork, MKL_INT* info ) NOTHROW;
void ZGEQPF_( const MKL_INT* m, const MKL_INT* n, MKL_Complex16* a,
              const MKL_INT* lda, MKL_INT* jpvt, MKL_Complex16* tau,
              MKL_Complex16* work, double* rwork, MKL_INT* info ) NOTHROW;
void zgeqpf( const MKL_INT* m, const MKL_INT* n, MKL_Complex16* a,
             const MKL_INT* lda, MKL_INT* jpvt, MKL_Complex16* tau,
             MKL_Complex16* work, double* rwork, MKL_INT* info ) NOTHROW;
void zgeqpf_( const MKL_INT* m, const MKL_INT* n, MKL_Complex16* a,
              const MKL_INT* lda, MKL_INT* jpvt, MKL_Complex16* tau,
              MKL_Complex16* work, double* rwork, MKL_INT* info ) NOTHROW;

void ZGEQR2( const MKL_INT* m, const MKL_INT* n, MKL_Complex16* a,
             const MKL_INT* lda, MKL_Complex16* tau, MKL_Complex16* work,
             MKL_INT* info ) NOTHROW;
void ZGEQR2_( const MKL_INT* m, const MKL_INT* n, MKL_Complex16* a,
              const MKL_INT* lda, MKL_Complex16* tau, MKL_Complex16* work,
              MKL_INT* info ) NOTHROW;
void zgeqr2( const MKL_INT* m, const MKL_INT* n, MKL_Complex16* a,
             const MKL_INT* lda, MKL_Complex16* tau, MKL_Complex16* work,
             MKL_INT* info ) NOTHROW;
void zgeqr2_( const MKL_INT* m, const MKL_INT* n, MKL_Complex16* a,
              const MKL_INT* lda, MKL_Complex16* tau, MKL_Complex16* work,
              MKL_INT* info ) NOTHROW;

void ZGEQR2P( const MKL_INT* m, const MKL_INT* n, MKL_Complex16* a,
              const MKL_INT* lda, MKL_Complex16* tau, MKL_Complex16* work,
              MKL_INT* info ) NOTHROW;
void ZGEQR2P_( const MKL_INT* m, const MKL_INT* n, MKL_Complex16* a,
               const MKL_INT* lda, MKL_Complex16* tau, MKL_Complex16* work,
               MKL_INT* info ) NOTHROW;
void zgeqr2p( const MKL_INT* m, const MKL_INT* n, MKL_Complex16* a,
              const MKL_INT* lda, MKL_Complex16* tau, MKL_Complex16* work,
              MKL_INT* info ) NOTHROW;
void zgeqr2p_( const MKL_INT* m, const MKL_INT* n, MKL_Complex16* a,
               const MKL_INT* lda, MKL_Complex16* tau, MKL_Complex16* work,
               MKL_INT* info ) NOTHROW;

void ZGEQRF( const MKL_INT* m, const MKL_INT* n, MKL_Complex16* a,
             const MKL_INT* lda, MKL_Complex16* tau, MKL_Complex16* work,
             const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void ZGEQRF_( const MKL_INT* m, const MKL_INT* n, MKL_Complex16* a,
              const MKL_INT* lda, MKL_Complex16* tau, MKL_Complex16* work,
              const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void zgeqrf( const MKL_INT* m, const MKL_INT* n, MKL_Complex16* a,
             const MKL_INT* lda, MKL_Complex16* tau, MKL_Complex16* work,
             const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void zgeqrf_( const MKL_INT* m, const MKL_INT* n, MKL_Complex16* a,
              const MKL_INT* lda, MKL_Complex16* tau, MKL_Complex16* work,
              const MKL_INT* lwork, MKL_INT* info ) NOTHROW;

void ZGEQRFP( const MKL_INT* m, const MKL_INT* n, MKL_Complex16* a,
              const MKL_INT* lda, MKL_Complex16* tau, MKL_Complex16* work,
              const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void ZGEQRFP_( const MKL_INT* m, const MKL_INT* n, MKL_Complex16* a,
               const MKL_INT* lda, MKL_Complex16* tau, MKL_Complex16* work,
               const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void zgeqrfp( const MKL_INT* m, const MKL_INT* n, MKL_Complex16* a,
              const MKL_INT* lda, MKL_Complex16* tau, MKL_Complex16* work,
              const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void zgeqrfp_( const MKL_INT* m, const MKL_INT* n, MKL_Complex16* a,
               const MKL_INT* lda, MKL_Complex16* tau, MKL_Complex16* work,
               const MKL_INT* lwork, MKL_INT* info ) NOTHROW;

void ZGERFS( const char* trans, const MKL_INT* n, const MKL_INT* nrhs,
             const MKL_Complex16* a, const MKL_INT* lda,
             const MKL_Complex16* af, const MKL_INT* ldaf, const MKL_INT* ipiv,
             const MKL_Complex16* b, const MKL_INT* ldb, MKL_Complex16* x,
             const MKL_INT* ldx, double* ferr, double* berr,
             MKL_Complex16* work, double* rwork, MKL_INT* info ) NOTHROW;
void ZGERFS_( const char* trans, const MKL_INT* n, const MKL_INT* nrhs,
              const MKL_Complex16* a, const MKL_INT* lda,
              const MKL_Complex16* af, const MKL_INT* ldaf,
              const MKL_INT* ipiv, const MKL_Complex16* b, const MKL_INT* ldb,
              MKL_Complex16* x, const MKL_INT* ldx, double* ferr, double* berr,
              MKL_Complex16* work, double* rwork, MKL_INT* info ) NOTHROW;
void zgerfs( const char* trans, const MKL_INT* n, const MKL_INT* nrhs,
             const MKL_Complex16* a, const MKL_INT* lda,
             const MKL_Complex16* af, const MKL_INT* ldaf, const MKL_INT* ipiv,
             const MKL_Complex16* b, const MKL_INT* ldb, MKL_Complex16* x,
             const MKL_INT* ldx, double* ferr, double* berr,
             MKL_Complex16* work, double* rwork, MKL_INT* info ) NOTHROW;
void zgerfs_( const char* trans, const MKL_INT* n, const MKL_INT* nrhs,
              const MKL_Complex16* a, const MKL_INT* lda,
              const MKL_Complex16* af, const MKL_INT* ldaf,
              const MKL_INT* ipiv, const MKL_Complex16* b, const MKL_INT* ldb,
              MKL_Complex16* x, const MKL_INT* ldx, double* ferr, double* berr,
              MKL_Complex16* work, double* rwork, MKL_INT* info ) NOTHROW;

void ZGERFSX( const char* trans, const char* equed, const MKL_INT* n,
              const MKL_INT* nrhs, const MKL_Complex16* a, const MKL_INT* lda,
              const MKL_Complex16* af, const MKL_INT* ldaf,
              const MKL_INT* ipiv, const double* r, const double* c,
              const MKL_Complex16* b, const MKL_INT* ldb, MKL_Complex16* x,
              const MKL_INT* ldx, double* rcond, double* berr,
              const MKL_INT* n_err_bnds, double* err_bnds_norm,
              double* err_bnds_comp, const MKL_INT* nparams, double* params,
              MKL_Complex16* work, double* rwork, MKL_INT* info ) NOTHROW;
void ZGERFSX_( const char* trans, const char* equed, const MKL_INT* n,
               const MKL_INT* nrhs, const MKL_Complex16* a, const MKL_INT* lda,
               const MKL_Complex16* af, const MKL_INT* ldaf,
               const MKL_INT* ipiv, const double* r, const double* c,
               const MKL_Complex16* b, const MKL_INT* ldb, MKL_Complex16* x,
               const MKL_INT* ldx, double* rcond, double* berr,
               const MKL_INT* n_err_bnds, double* err_bnds_norm,
               double* err_bnds_comp, const MKL_INT* nparams, double* params,
               MKL_Complex16* work, double* rwork, MKL_INT* info ) NOTHROW;
void zgerfsx( const char* trans, const char* equed, const MKL_INT* n,
              const MKL_INT* nrhs, const MKL_Complex16* a, const MKL_INT* lda,
              const MKL_Complex16* af, const MKL_INT* ldaf,
              const MKL_INT* ipiv, const double* r, const double* c,
              const MKL_Complex16* b, const MKL_INT* ldb, MKL_Complex16* x,
              const MKL_INT* ldx, double* rcond, double* berr,
              const MKL_INT* n_err_bnds, double* err_bnds_norm,
              double* err_bnds_comp, const MKL_INT* nparams, double* params,
              MKL_Complex16* work, double* rwork, MKL_INT* info ) NOTHROW;
void zgerfsx_( const char* trans, const char* equed, const MKL_INT* n,
               const MKL_INT* nrhs, const MKL_Complex16* a, const MKL_INT* lda,
               const MKL_Complex16* af, const MKL_INT* ldaf,
               const MKL_INT* ipiv, const double* r, const double* c,
               const MKL_Complex16* b, const MKL_INT* ldb, MKL_Complex16* x,
               const MKL_INT* ldx, double* rcond, double* berr,
               const MKL_INT* n_err_bnds, double* err_bnds_norm,
               double* err_bnds_comp, const MKL_INT* nparams, double* params,
               MKL_Complex16* work, double* rwork, MKL_INT* info ) NOTHROW;

void ZGERQ2( const MKL_INT* m, const MKL_INT* n, MKL_Complex16* a,
             const MKL_INT* lda, MKL_Complex16* tau, MKL_Complex16* work,
             MKL_INT* info ) NOTHROW;
void ZGERQ2_( const MKL_INT* m, const MKL_INT* n, MKL_Complex16* a,
              const MKL_INT* lda, MKL_Complex16* tau, MKL_Complex16* work,
              MKL_INT* info ) NOTHROW;
void zgerq2( const MKL_INT* m, const MKL_INT* n, MKL_Complex16* a,
             const MKL_INT* lda, MKL_Complex16* tau, MKL_Complex16* work,
             MKL_INT* info ) NOTHROW;
void zgerq2_( const MKL_INT* m, const MKL_INT* n, MKL_Complex16* a,
              const MKL_INT* lda, MKL_Complex16* tau, MKL_Complex16* work,
              MKL_INT* info ) NOTHROW;

void ZGERQF( const MKL_INT* m, const MKL_INT* n, MKL_Complex16* a,
             const MKL_INT* lda, MKL_Complex16* tau, MKL_Complex16* work,
             const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void ZGERQF_( const MKL_INT* m, const MKL_INT* n, MKL_Complex16* a,
              const MKL_INT* lda, MKL_Complex16* tau, MKL_Complex16* work,
              const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void zgerqf( const MKL_INT* m, const MKL_INT* n, MKL_Complex16* a,
             const MKL_INT* lda, MKL_Complex16* tau, MKL_Complex16* work,
             const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void zgerqf_( const MKL_INT* m, const MKL_INT* n, MKL_Complex16* a,
              const MKL_INT* lda, MKL_Complex16* tau, MKL_Complex16* work,
              const MKL_INT* lwork, MKL_INT* info ) NOTHROW;

void ZGESC2( const MKL_INT* n, const MKL_Complex16* a, const MKL_INT* lda,
             MKL_Complex16* rhs, const MKL_INT* ipiv, const MKL_INT* jpiv,
             double* scale ) NOTHROW;
void ZGESC2_( const MKL_INT* n, const MKL_Complex16* a, const MKL_INT* lda,
              MKL_Complex16* rhs, const MKL_INT* ipiv, const MKL_INT* jpiv,
              double* scale ) NOTHROW;
void zgesc2( const MKL_INT* n, const MKL_Complex16* a, const MKL_INT* lda,
             MKL_Complex16* rhs, const MKL_INT* ipiv, const MKL_INT* jpiv,
             double* scale ) NOTHROW;
void zgesc2_( const MKL_INT* n, const MKL_Complex16* a, const MKL_INT* lda,
              MKL_Complex16* rhs, const MKL_INT* ipiv, const MKL_INT* jpiv,
              double* scale ) NOTHROW;

void ZGESDD( const char* jobz, const MKL_INT* m, const MKL_INT* n,
             MKL_Complex16* a, const MKL_INT* lda, double* s, MKL_Complex16* u,
             const MKL_INT* ldu, MKL_Complex16* vt, const MKL_INT* ldvt,
             MKL_Complex16* work, const MKL_INT* lwork, double* rwork,
             MKL_INT* iwork, MKL_INT* info ) NOTHROW;
void ZGESDD_( const char* jobz, const MKL_INT* m, const MKL_INT* n,
              MKL_Complex16* a, const MKL_INT* lda, double* s,
              MKL_Complex16* u, const MKL_INT* ldu, MKL_Complex16* vt,
              const MKL_INT* ldvt, MKL_Complex16* work, const MKL_INT* lwork,
              double* rwork, MKL_INT* iwork, MKL_INT* info ) NOTHROW;
void zgesdd( const char* jobz, const MKL_INT* m, const MKL_INT* n,
             MKL_Complex16* a, const MKL_INT* lda, double* s, MKL_Complex16* u,
             const MKL_INT* ldu, MKL_Complex16* vt, const MKL_INT* ldvt,
             MKL_Complex16* work, const MKL_INT* lwork, double* rwork,
             MKL_INT* iwork, MKL_INT* info ) NOTHROW;
void zgesdd_( const char* jobz, const MKL_INT* m, const MKL_INT* n,
              MKL_Complex16* a, const MKL_INT* lda, double* s,
              MKL_Complex16* u, const MKL_INT* ldu, MKL_Complex16* vt,
              const MKL_INT* ldvt, MKL_Complex16* work, const MKL_INT* lwork,
              double* rwork, MKL_INT* iwork, MKL_INT* info ) NOTHROW;

void ZGESVD( const char* jobu, const char* jobvt, const MKL_INT* m,
             const MKL_INT* n, MKL_Complex16* a, const MKL_INT* lda, double* s,
             MKL_Complex16* u, const MKL_INT* ldu, MKL_Complex16* vt,
             const MKL_INT* ldvt, MKL_Complex16* work, const MKL_INT* lwork,
             double* rwork, MKL_INT* info ) NOTHROW;
void ZGESVD_( const char* jobu, const char* jobvt, const MKL_INT* m,
              const MKL_INT* n, MKL_Complex16* a, const MKL_INT* lda,
              double* s, MKL_Complex16* u, const MKL_INT* ldu,
              MKL_Complex16* vt, const MKL_INT* ldvt, MKL_Complex16* work,
              const MKL_INT* lwork, double* rwork, MKL_INT* info ) NOTHROW;
void zgesvd( const char* jobu, const char* jobvt, const MKL_INT* m,
             const MKL_INT* n, MKL_Complex16* a, const MKL_INT* lda, double* s,
             MKL_Complex16* u, const MKL_INT* ldu, MKL_Complex16* vt,
             const MKL_INT* ldvt, MKL_Complex16* work, const MKL_INT* lwork,
             double* rwork, MKL_INT* info ) NOTHROW;
void zgesvd_( const char* jobu, const char* jobvt, const MKL_INT* m,
              const MKL_INT* n, MKL_Complex16* a, const MKL_INT* lda,
              double* s, MKL_Complex16* u, const MKL_INT* ldu,
              MKL_Complex16* vt, const MKL_INT* ldvt, MKL_Complex16* work,
              const MKL_INT* lwork, double* rwork, MKL_INT* info ) NOTHROW;

void ZGESV( const MKL_INT* n, const MKL_INT* nrhs, MKL_Complex16* a,
            const MKL_INT* lda, MKL_INT* ipiv, MKL_Complex16* b,
            const MKL_INT* ldb, MKL_INT* info ) NOTHROW;
void ZGESV_( const MKL_INT* n, const MKL_INT* nrhs, MKL_Complex16* a,
             const MKL_INT* lda, MKL_INT* ipiv, MKL_Complex16* b,
             const MKL_INT* ldb, MKL_INT* info ) NOTHROW;
void zgesv( const MKL_INT* n, const MKL_INT* nrhs, MKL_Complex16* a,
            const MKL_INT* lda, MKL_INT* ipiv, MKL_Complex16* b,
            const MKL_INT* ldb, MKL_INT* info ) NOTHROW;
void zgesv_( const MKL_INT* n, const MKL_INT* nrhs, MKL_Complex16* a,
             const MKL_INT* lda, MKL_INT* ipiv, MKL_Complex16* b,
             const MKL_INT* ldb, MKL_INT* info ) NOTHROW;

void ZGESVX( const char* fact, const char* trans, const MKL_INT* n,
             const MKL_INT* nrhs, MKL_Complex16* a, const MKL_INT* lda,
             MKL_Complex16* af, const MKL_INT* ldaf, MKL_INT* ipiv,
             char* equed, double* r, double* c, MKL_Complex16* b,
             const MKL_INT* ldb, MKL_Complex16* x, const MKL_INT* ldx,
             double* rcond, double* ferr, double* berr, MKL_Complex16* work,
             double* rwork, MKL_INT* info ) NOTHROW;
void ZGESVX_( const char* fact, const char* trans, const MKL_INT* n,
              const MKL_INT* nrhs, MKL_Complex16* a, const MKL_INT* lda,
              MKL_Complex16* af, const MKL_INT* ldaf, MKL_INT* ipiv,
              char* equed, double* r, double* c, MKL_Complex16* b,
              const MKL_INT* ldb, MKL_Complex16* x, const MKL_INT* ldx,
              double* rcond, double* ferr, double* berr, MKL_Complex16* work,
              double* rwork, MKL_INT* info ) NOTHROW;
void zgesvx( const char* fact, const char* trans, const MKL_INT* n,
             const MKL_INT* nrhs, MKL_Complex16* a, const MKL_INT* lda,
             MKL_Complex16* af, const MKL_INT* ldaf, MKL_INT* ipiv,
             char* equed, double* r, double* c, MKL_Complex16* b,
             const MKL_INT* ldb, MKL_Complex16* x, const MKL_INT* ldx,
             double* rcond, double* ferr, double* berr, MKL_Complex16* work,
             double* rwork, MKL_INT* info ) NOTHROW;
void zgesvx_( const char* fact, const char* trans, const MKL_INT* n,
              const MKL_INT* nrhs, MKL_Complex16* a, const MKL_INT* lda,
              MKL_Complex16* af, const MKL_INT* ldaf, MKL_INT* ipiv,
              char* equed, double* r, double* c, MKL_Complex16* b,
              const MKL_INT* ldb, MKL_Complex16* x, const MKL_INT* ldx,
              double* rcond, double* ferr, double* berr, MKL_Complex16* work,
              double* rwork, MKL_INT* info ) NOTHROW;

void ZGESVXX( const char* fact, const char* trans, const MKL_INT* n,
              const MKL_INT* nrhs, MKL_Complex16* a, const MKL_INT* lda,
              MKL_Complex16* af, const MKL_INT* ldaf, MKL_INT* ipiv,
              char* equed, double* r, double* c, MKL_Complex16* b,
              const MKL_INT* ldb, MKL_Complex16* x, const MKL_INT* ldx,
              double* rcond, double* rpvgrw, double* berr,
              const MKL_INT* n_err_bnds, double* err_bnds_norm,
              double* err_bnds_comp, const MKL_INT* nparams, double* params,
              MKL_Complex16* work, double* rwork, MKL_INT* info ) NOTHROW;
void ZGESVXX_( const char* fact, const char* trans, const MKL_INT* n,
               const MKL_INT* nrhs, MKL_Complex16* a, const MKL_INT* lda,
               MKL_Complex16* af, const MKL_INT* ldaf, MKL_INT* ipiv,
               char* equed, double* r, double* c, MKL_Complex16* b,
               const MKL_INT* ldb, MKL_Complex16* x, const MKL_INT* ldx,
               double* rcond, double* rpvgrw, double* berr,
               const MKL_INT* n_err_bnds, double* err_bnds_norm,
               double* err_bnds_comp, const MKL_INT* nparams, double* params,
               MKL_Complex16* work, double* rwork, MKL_INT* info ) NOTHROW;
void zgesvxx( const char* fact, const char* trans, const MKL_INT* n,
              const MKL_INT* nrhs, MKL_Complex16* a, const MKL_INT* lda,
              MKL_Complex16* af, const MKL_INT* ldaf, MKL_INT* ipiv,
              char* equed, double* r, double* c, MKL_Complex16* b,
              const MKL_INT* ldb, MKL_Complex16* x, const MKL_INT* ldx,
              double* rcond, double* rpvgrw, double* berr,
              const MKL_INT* n_err_bnds, double* err_bnds_norm,
              double* err_bnds_comp, const MKL_INT* nparams, double* params,
              MKL_Complex16* work, double* rwork, MKL_INT* info ) NOTHROW;
void zgesvxx_( const char* fact, const char* trans, const MKL_INT* n,
               const MKL_INT* nrhs, MKL_Complex16* a, const MKL_INT* lda,
               MKL_Complex16* af, const MKL_INT* ldaf, MKL_INT* ipiv,
               char* equed, double* r, double* c, MKL_Complex16* b,
               const MKL_INT* ldb, MKL_Complex16* x, const MKL_INT* ldx,
               double* rcond, double* rpvgrw, double* berr,
               const MKL_INT* n_err_bnds, double* err_bnds_norm,
               double* err_bnds_comp, const MKL_INT* nparams, double* params,
               MKL_Complex16* work, double* rwork, MKL_INT* info ) NOTHROW;

void ZGETC2( const MKL_INT* n, MKL_Complex16* a, const MKL_INT* lda,
             MKL_INT* ipiv, MKL_INT* jpiv, MKL_INT* info ) NOTHROW;
void ZGETC2_( const MKL_INT* n, MKL_Complex16* a, const MKL_INT* lda,
              MKL_INT* ipiv, MKL_INT* jpiv, MKL_INT* info ) NOTHROW;
void zgetc2( const MKL_INT* n, MKL_Complex16* a, const MKL_INT* lda,
             MKL_INT* ipiv, MKL_INT* jpiv, MKL_INT* info ) NOTHROW;
void zgetc2_( const MKL_INT* n, MKL_Complex16* a, const MKL_INT* lda,
              MKL_INT* ipiv, MKL_INT* jpiv, MKL_INT* info ) NOTHROW;

void ZGETF2( const MKL_INT* m, const MKL_INT* n, MKL_Complex16* a,
             const MKL_INT* lda, MKL_INT* ipiv, MKL_INT* info ) NOTHROW;
void ZGETF2_( const MKL_INT* m, const MKL_INT* n, MKL_Complex16* a,
              const MKL_INT* lda, MKL_INT* ipiv, MKL_INT* info ) NOTHROW;
void zgetf2( const MKL_INT* m, const MKL_INT* n, MKL_Complex16* a,
             const MKL_INT* lda, MKL_INT* ipiv, MKL_INT* info ) NOTHROW;
void zgetf2_( const MKL_INT* m, const MKL_INT* n, MKL_Complex16* a,
              const MKL_INT* lda, MKL_INT* ipiv, MKL_INT* info ) NOTHROW;

void ZGETRF( const MKL_INT* m, const MKL_INT* n, MKL_Complex16* a,
             const MKL_INT* lda, MKL_INT* ipiv, MKL_INT* info ) NOTHROW;
void ZGETRF_( const MKL_INT* m, const MKL_INT* n, MKL_Complex16* a,
              const MKL_INT* lda, MKL_INT* ipiv, MKL_INT* info ) NOTHROW;
void zgetrf( const MKL_INT* m, const MKL_INT* n, MKL_Complex16* a,
             const MKL_INT* lda, MKL_INT* ipiv, MKL_INT* info ) NOTHROW;
void zgetrf_( const MKL_INT* m, const MKL_INT* n, MKL_Complex16* a,
              const MKL_INT* lda, MKL_INT* ipiv, MKL_INT* info ) NOTHROW;

void MKL_ZGETRFNPI( const MKL_INT* m, const MKL_INT* n, const MKL_INT* nfact,
                    MKL_Complex16* a, const MKL_INT* lda, MKL_INT* info ) NOTHROW;
void MKL_ZGETRFNPI_( const MKL_INT* m, const MKL_INT* n, const MKL_INT* nfact,
                     MKL_Complex16* a, const MKL_INT* lda, MKL_INT* info ) NOTHROW;
void mkl_zgetrfnpi( const MKL_INT* m, const MKL_INT* n, const MKL_INT* nfact,
                    MKL_Complex16* a, const MKL_INT* lda, MKL_INT* info ) NOTHROW;
void mkl_zgetrfnpi_( const MKL_INT* m, const MKL_INT* n, const MKL_INT* nfact,
                     MKL_Complex16* a, const MKL_INT* lda, MKL_INT* info ) NOTHROW;

void ZGETRI( const MKL_INT* n, MKL_Complex16* a, const MKL_INT* lda,
             const MKL_INT* ipiv, MKL_Complex16* work, const MKL_INT* lwork,
             MKL_INT* info ) NOTHROW;
void ZGETRI_( const MKL_INT* n, MKL_Complex16* a, const MKL_INT* lda,
              const MKL_INT* ipiv, MKL_Complex16* work, const MKL_INT* lwork,
              MKL_INT* info ) NOTHROW;
void zgetri( const MKL_INT* n, MKL_Complex16* a, const MKL_INT* lda,
             const MKL_INT* ipiv, MKL_Complex16* work, const MKL_INT* lwork,
             MKL_INT* info ) NOTHROW;
void zgetri_( const MKL_INT* n, MKL_Complex16* a, const MKL_INT* lda,
              const MKL_INT* ipiv, MKL_Complex16* work, const MKL_INT* lwork,
              MKL_INT* info ) NOTHROW;

void ZGETRS( const char* trans, const MKL_INT* n, const MKL_INT* nrhs,
             const MKL_Complex16* a, const MKL_INT* lda, const MKL_INT* ipiv,
             MKL_Complex16* b, const MKL_INT* ldb, MKL_INT* info ) NOTHROW;
void ZGETRS_( const char* trans, const MKL_INT* n, const MKL_INT* nrhs,
              const MKL_Complex16* a, const MKL_INT* lda, const MKL_INT* ipiv,
              MKL_Complex16* b, const MKL_INT* ldb, MKL_INT* info ) NOTHROW;
void zgetrs( const char* trans, const MKL_INT* n, const MKL_INT* nrhs,
             const MKL_Complex16* a, const MKL_INT* lda, const MKL_INT* ipiv,
             MKL_Complex16* b, const MKL_INT* ldb, MKL_INT* info ) NOTHROW;
void zgetrs_( const char* trans, const MKL_INT* n, const MKL_INT* nrhs,
              const MKL_Complex16* a, const MKL_INT* lda, const MKL_INT* ipiv,
              MKL_Complex16* b, const MKL_INT* ldb, MKL_INT* info ) NOTHROW;

void ZGGBAK( const char* job, const char* side, const MKL_INT* n,
             const MKL_INT* ilo, const MKL_INT* ihi, const double* lscale,
             const double* rscale, const MKL_INT* m, MKL_Complex16* v,
             const MKL_INT* ldv, MKL_INT* info ) NOTHROW;
void ZGGBAK_( const char* job, const char* side, const MKL_INT* n,
              const MKL_INT* ilo, const MKL_INT* ihi, const double* lscale,
              const double* rscale, const MKL_INT* m, MKL_Complex16* v,
              const MKL_INT* ldv, MKL_INT* info ) NOTHROW;
void zggbak( const char* job, const char* side, const MKL_INT* n,
             const MKL_INT* ilo, const MKL_INT* ihi, const double* lscale,
             const double* rscale, const MKL_INT* m, MKL_Complex16* v,
             const MKL_INT* ldv, MKL_INT* info ) NOTHROW;
void zggbak_( const char* job, const char* side, const MKL_INT* n,
              const MKL_INT* ilo, const MKL_INT* ihi, const double* lscale,
              const double* rscale, const MKL_INT* m, MKL_Complex16* v,
              const MKL_INT* ldv, MKL_INT* info ) NOTHROW;

void ZGGBAL( const char* job, const MKL_INT* n, MKL_Complex16* a,
             const MKL_INT* lda, MKL_Complex16* b, const MKL_INT* ldb,
             MKL_INT* ilo, MKL_INT* ihi, double* lscale, double* rscale,
             double* work, MKL_INT* info ) NOTHROW;
void ZGGBAL_( const char* job, const MKL_INT* n, MKL_Complex16* a,
              const MKL_INT* lda, MKL_Complex16* b, const MKL_INT* ldb,
              MKL_INT* ilo, MKL_INT* ihi, double* lscale, double* rscale,
              double* work, MKL_INT* info ) NOTHROW;
void zggbal( const char* job, const MKL_INT* n, MKL_Complex16* a,
             const MKL_INT* lda, MKL_Complex16* b, const MKL_INT* ldb,
             MKL_INT* ilo, MKL_INT* ihi, double* lscale, double* rscale,
             double* work, MKL_INT* info ) NOTHROW;
void zggbal_( const char* job, const MKL_INT* n, MKL_Complex16* a,
              const MKL_INT* lda, MKL_Complex16* b, const MKL_INT* ldb,
              MKL_INT* ilo, MKL_INT* ihi, double* lscale, double* rscale,
              double* work, MKL_INT* info ) NOTHROW;

void ZGGES( const char* jobvsl, const char* jobvsr, const char* sort,
            MKL_Z_SELECT_FUNCTION_2 selctg, const MKL_INT* n, MKL_Complex16* a,
            const MKL_INT* lda, MKL_Complex16* b, const MKL_INT* ldb,
            MKL_INT* sdim, MKL_Complex16* alpha, MKL_Complex16* beta,
            MKL_Complex16* vsl, const MKL_INT* ldvsl, MKL_Complex16* vsr,
            const MKL_INT* ldvsr, MKL_Complex16* work, const MKL_INT* lwork,
            double* rwork, MKL_INT* bwork, MKL_INT* info ) NOTHROW;
void ZGGES_( const char* jobvsl, const char* jobvsr, const char* sort,
             MKL_Z_SELECT_FUNCTION_2 selctg, const MKL_INT* n,
             MKL_Complex16* a, const MKL_INT* lda, MKL_Complex16* b,
             const MKL_INT* ldb, MKL_INT* sdim, MKL_Complex16* alpha,
             MKL_Complex16* beta, MKL_Complex16* vsl, const MKL_INT* ldvsl,
             MKL_Complex16* vsr, const MKL_INT* ldvsr, MKL_Complex16* work,
             const MKL_INT* lwork, double* rwork, MKL_INT* bwork,
             MKL_INT* info ) NOTHROW;
void zgges( const char* jobvsl, const char* jobvsr, const char* sort,
            MKL_Z_SELECT_FUNCTION_2 selctg, const MKL_INT* n, MKL_Complex16* a,
            const MKL_INT* lda, MKL_Complex16* b, const MKL_INT* ldb,
            MKL_INT* sdim, MKL_Complex16* alpha, MKL_Complex16* beta,
            MKL_Complex16* vsl, const MKL_INT* ldvsl, MKL_Complex16* vsr,
            const MKL_INT* ldvsr, MKL_Complex16* work, const MKL_INT* lwork,
            double* rwork, MKL_INT* bwork, MKL_INT* info ) NOTHROW;
void zgges_( const char* jobvsl, const char* jobvsr, const char* sort,
             MKL_Z_SELECT_FUNCTION_2 selctg, const MKL_INT* n,
             MKL_Complex16* a, const MKL_INT* lda, MKL_Complex16* b,
             const MKL_INT* ldb, MKL_INT* sdim, MKL_Complex16* alpha,
             MKL_Complex16* beta, MKL_Complex16* vsl, const MKL_INT* ldvsl,
             MKL_Complex16* vsr, const MKL_INT* ldvsr, MKL_Complex16* work,
             const MKL_INT* lwork, double* rwork, MKL_INT* bwork,
             MKL_INT* info ) NOTHROW;

void ZGGESX( const char* jobvsl, const char* jobvsr, const char* sort,
             MKL_Z_SELECT_FUNCTION_2 selctg, const char* sense,
             const MKL_INT* n, MKL_Complex16* a, const MKL_INT* lda,
             MKL_Complex16* b, const MKL_INT* ldb, MKL_INT* sdim,
             MKL_Complex16* alpha, MKL_Complex16* beta, MKL_Complex16* vsl,
             const MKL_INT* ldvsl, MKL_Complex16* vsr, const MKL_INT* ldvsr,
             double* rconde, double* rcondv, MKL_Complex16* work,
             const MKL_INT* lwork, double* rwork, MKL_INT* iwork,
             const MKL_INT* liwork, MKL_INT* bwork, MKL_INT* info ) NOTHROW;
void ZGGESX_( const char* jobvsl, const char* jobvsr, const char* sort,
              MKL_Z_SELECT_FUNCTION_2 selctg, const char* sense,
              const MKL_INT* n, MKL_Complex16* a, const MKL_INT* lda,
              MKL_Complex16* b, const MKL_INT* ldb, MKL_INT* sdim,
              MKL_Complex16* alpha, MKL_Complex16* beta, MKL_Complex16* vsl,
              const MKL_INT* ldvsl, MKL_Complex16* vsr, const MKL_INT* ldvsr,
              double* rconde, double* rcondv, MKL_Complex16* work,
              const MKL_INT* lwork, double* rwork, MKL_INT* iwork,
              const MKL_INT* liwork, MKL_INT* bwork, MKL_INT* info ) NOTHROW;
void zggesx( const char* jobvsl, const char* jobvsr, const char* sort,
             MKL_Z_SELECT_FUNCTION_2 selctg, const char* sense,
             const MKL_INT* n, MKL_Complex16* a, const MKL_INT* lda,
             MKL_Complex16* b, const MKL_INT* ldb, MKL_INT* sdim,
             MKL_Complex16* alpha, MKL_Complex16* beta, MKL_Complex16* vsl,
             const MKL_INT* ldvsl, MKL_Complex16* vsr, const MKL_INT* ldvsr,
             double* rconde, double* rcondv, MKL_Complex16* work,
             const MKL_INT* lwork, double* rwork, MKL_INT* iwork,
             const MKL_INT* liwork, MKL_INT* bwork, MKL_INT* info ) NOTHROW;
void zggesx_( const char* jobvsl, const char* jobvsr, const char* sort,
              MKL_Z_SELECT_FUNCTION_2 selctg, const char* sense,
              const MKL_INT* n, MKL_Complex16* a, const MKL_INT* lda,
              MKL_Complex16* b, const MKL_INT* ldb, MKL_INT* sdim,
              MKL_Complex16* alpha, MKL_Complex16* beta, MKL_Complex16* vsl,
              const MKL_INT* ldvsl, MKL_Complex16* vsr, const MKL_INT* ldvsr,
              double* rconde, double* rcondv, MKL_Complex16* work,
              const MKL_INT* lwork, double* rwork, MKL_INT* iwork,
              const MKL_INT* liwork, MKL_INT* bwork, MKL_INT* info ) NOTHROW;

void ZGGEV( const char* jobvl, const char* jobvr, const MKL_INT* n,
            MKL_Complex16* a, const MKL_INT* lda, MKL_Complex16* b,
            const MKL_INT* ldb, MKL_Complex16* alpha, MKL_Complex16* beta,
            MKL_Complex16* vl, const MKL_INT* ldvl, MKL_Complex16* vr,
            const MKL_INT* ldvr, MKL_Complex16* work, const MKL_INT* lwork,
            double* rwork, MKL_INT* info ) NOTHROW;
void ZGGEV_( const char* jobvl, const char* jobvr, const MKL_INT* n,
             MKL_Complex16* a, const MKL_INT* lda, MKL_Complex16* b,
             const MKL_INT* ldb, MKL_Complex16* alpha, MKL_Complex16* beta,
             MKL_Complex16* vl, const MKL_INT* ldvl, MKL_Complex16* vr,
             const MKL_INT* ldvr, MKL_Complex16* work, const MKL_INT* lwork,
             double* rwork, MKL_INT* info ) NOTHROW;
void zggev( const char* jobvl, const char* jobvr, const MKL_INT* n,
            MKL_Complex16* a, const MKL_INT* lda, MKL_Complex16* b,
            const MKL_INT* ldb, MKL_Complex16* alpha, MKL_Complex16* beta,
            MKL_Complex16* vl, const MKL_INT* ldvl, MKL_Complex16* vr,
            const MKL_INT* ldvr, MKL_Complex16* work, const MKL_INT* lwork,
            double* rwork, MKL_INT* info ) NOTHROW;
void zggev_( const char* jobvl, const char* jobvr, const MKL_INT* n,
             MKL_Complex16* a, const MKL_INT* lda, MKL_Complex16* b,
             const MKL_INT* ldb, MKL_Complex16* alpha, MKL_Complex16* beta,
             MKL_Complex16* vl, const MKL_INT* ldvl, MKL_Complex16* vr,
             const MKL_INT* ldvr, MKL_Complex16* work, const MKL_INT* lwork,
             double* rwork, MKL_INT* info ) NOTHROW;

void ZGGEVX( const char* balanc, const char* jobvl, const char* jobvr,
             const char* sense, const MKL_INT* n, MKL_Complex16* a,
             const MKL_INT* lda, MKL_Complex16* b, const MKL_INT* ldb,
             MKL_Complex16* alpha, MKL_Complex16* beta, MKL_Complex16* vl,
             const MKL_INT* ldvl, MKL_Complex16* vr, const MKL_INT* ldvr,
             MKL_INT* ilo, MKL_INT* ihi, double* lscale, double* rscale,
             double* abnrm, double* bbnrm, double* rconde, double* rcondv,
             MKL_Complex16* work, const MKL_INT* lwork, double* rwork,
             MKL_INT* iwork, MKL_INT* bwork, MKL_INT* info ) NOTHROW;
void ZGGEVX_( const char* balanc, const char* jobvl, const char* jobvr,
              const char* sense, const MKL_INT* n, MKL_Complex16* a,
              const MKL_INT* lda, MKL_Complex16* b, const MKL_INT* ldb,
              MKL_Complex16* alpha, MKL_Complex16* beta, MKL_Complex16* vl,
              const MKL_INT* ldvl, MKL_Complex16* vr, const MKL_INT* ldvr,
              MKL_INT* ilo, MKL_INT* ihi, double* lscale, double* rscale,
              double* abnrm, double* bbnrm, double* rconde, double* rcondv,
              MKL_Complex16* work, const MKL_INT* lwork, double* rwork,
              MKL_INT* iwork, MKL_INT* bwork, MKL_INT* info ) NOTHROW;
void zggevx( const char* balanc, const char* jobvl, const char* jobvr,
             const char* sense, const MKL_INT* n, MKL_Complex16* a,
             const MKL_INT* lda, MKL_Complex16* b, const MKL_INT* ldb,
             MKL_Complex16* alpha, MKL_Complex16* beta, MKL_Complex16* vl,
             const MKL_INT* ldvl, MKL_Complex16* vr, const MKL_INT* ldvr,
             MKL_INT* ilo, MKL_INT* ihi, double* lscale, double* rscale,
             double* abnrm, double* bbnrm, double* rconde, double* rcondv,
             MKL_Complex16* work, const MKL_INT* lwork, double* rwork,
             MKL_INT* iwork, MKL_INT* bwork, MKL_INT* info ) NOTHROW;
void zggevx_( const char* balanc, const char* jobvl, const char* jobvr,
              const char* sense, const MKL_INT* n, MKL_Complex16* a,
              const MKL_INT* lda, MKL_Complex16* b, const MKL_INT* ldb,
              MKL_Complex16* alpha, MKL_Complex16* beta, MKL_Complex16* vl,
              const MKL_INT* ldvl, MKL_Complex16* vr, const MKL_INT* ldvr,
              MKL_INT* ilo, MKL_INT* ihi, double* lscale, double* rscale,
              double* abnrm, double* bbnrm, double* rconde, double* rcondv,
              MKL_Complex16* work, const MKL_INT* lwork, double* rwork,
              MKL_INT* iwork, MKL_INT* bwork, MKL_INT* info ) NOTHROW;

void ZGGGLM( const MKL_INT* n, const MKL_INT* m, const MKL_INT* p,
             MKL_Complex16* a, const MKL_INT* lda, MKL_Complex16* b,
             const MKL_INT* ldb, MKL_Complex16* d, MKL_Complex16* x,
             MKL_Complex16* y, MKL_Complex16* work, const MKL_INT* lwork,
             MKL_INT* info ) NOTHROW;
void ZGGGLM_( const MKL_INT* n, const MKL_INT* m, const MKL_INT* p,
              MKL_Complex16* a, const MKL_INT* lda, MKL_Complex16* b,
              const MKL_INT* ldb, MKL_Complex16* d, MKL_Complex16* x,
              MKL_Complex16* y, MKL_Complex16* work, const MKL_INT* lwork,
              MKL_INT* info ) NOTHROW;
void zggglm( const MKL_INT* n, const MKL_INT* m, const MKL_INT* p,
             MKL_Complex16* a, const MKL_INT* lda, MKL_Complex16* b,
             const MKL_INT* ldb, MKL_Complex16* d, MKL_Complex16* x,
             MKL_Complex16* y, MKL_Complex16* work, const MKL_INT* lwork,
             MKL_INT* info ) NOTHROW;
void zggglm_( const MKL_INT* n, const MKL_INT* m, const MKL_INT* p,
              MKL_Complex16* a, const MKL_INT* lda, MKL_Complex16* b,
              const MKL_INT* ldb, MKL_Complex16* d, MKL_Complex16* x,
              MKL_Complex16* y, MKL_Complex16* work, const MKL_INT* lwork,
              MKL_INT* info ) NOTHROW;

void ZGGHRD( const char* compq, const char* compz, const MKL_INT* n,
             const MKL_INT* ilo, const MKL_INT* ihi, MKL_Complex16* a,
             const MKL_INT* lda, MKL_Complex16* b, const MKL_INT* ldb,
             MKL_Complex16* q, const MKL_INT* ldq, MKL_Complex16* z,
             const MKL_INT* ldz, MKL_INT* info ) NOTHROW;
void ZGGHRD_( const char* compq, const char* compz, const MKL_INT* n,
              const MKL_INT* ilo, const MKL_INT* ihi, MKL_Complex16* a,
              const MKL_INT* lda, MKL_Complex16* b, const MKL_INT* ldb,
              MKL_Complex16* q, const MKL_INT* ldq, MKL_Complex16* z,
              const MKL_INT* ldz, MKL_INT* info ) NOTHROW;
void zgghrd( const char* compq, const char* compz, const MKL_INT* n,
             const MKL_INT* ilo, const MKL_INT* ihi, MKL_Complex16* a,
             const MKL_INT* lda, MKL_Complex16* b, const MKL_INT* ldb,
             MKL_Complex16* q, const MKL_INT* ldq, MKL_Complex16* z,
             const MKL_INT* ldz, MKL_INT* info ) NOTHROW;
void zgghrd_( const char* compq, const char* compz, const MKL_INT* n,
              const MKL_INT* ilo, const MKL_INT* ihi, MKL_Complex16* a,
              const MKL_INT* lda, MKL_Complex16* b, const MKL_INT* ldb,
              MKL_Complex16* q, const MKL_INT* ldq, MKL_Complex16* z,
              const MKL_INT* ldz, MKL_INT* info ) NOTHROW;

void ZGGLSE( const MKL_INT* m, const MKL_INT* n, const MKL_INT* p,
             MKL_Complex16* a, const MKL_INT* lda, MKL_Complex16* b,
             const MKL_INT* ldb, MKL_Complex16* c, MKL_Complex16* d,
             MKL_Complex16* x, MKL_Complex16* work, const MKL_INT* lwork,
             MKL_INT* info ) NOTHROW;
void ZGGLSE_( const MKL_INT* m, const MKL_INT* n, const MKL_INT* p,
              MKL_Complex16* a, const MKL_INT* lda, MKL_Complex16* b,
              const MKL_INT* ldb, MKL_Complex16* c, MKL_Complex16* d,
              MKL_Complex16* x, MKL_Complex16* work, const MKL_INT* lwork,
              MKL_INT* info ) NOTHROW;
void zgglse( const MKL_INT* m, const MKL_INT* n, const MKL_INT* p,
             MKL_Complex16* a, const MKL_INT* lda, MKL_Complex16* b,
             const MKL_INT* ldb, MKL_Complex16* c, MKL_Complex16* d,
             MKL_Complex16* x, MKL_Complex16* work, const MKL_INT* lwork,
             MKL_INT* info ) NOTHROW;
void zgglse_( const MKL_INT* m, const MKL_INT* n, const MKL_INT* p,
              MKL_Complex16* a, const MKL_INT* lda, MKL_Complex16* b,
              const MKL_INT* ldb, MKL_Complex16* c, MKL_Complex16* d,
              MKL_Complex16* x, MKL_Complex16* work, const MKL_INT* lwork,
              MKL_INT* info ) NOTHROW;

void ZGGQRF( const MKL_INT* n, const MKL_INT* m, const MKL_INT* p,
             MKL_Complex16* a, const MKL_INT* lda, MKL_Complex16* taua,
             MKL_Complex16* b, const MKL_INT* ldb, MKL_Complex16* taub,
             MKL_Complex16* work, const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void ZGGQRF_( const MKL_INT* n, const MKL_INT* m, const MKL_INT* p,
              MKL_Complex16* a, const MKL_INT* lda, MKL_Complex16* taua,
              MKL_Complex16* b, const MKL_INT* ldb, MKL_Complex16* taub,
              MKL_Complex16* work, const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void zggqrf( const MKL_INT* n, const MKL_INT* m, const MKL_INT* p,
             MKL_Complex16* a, const MKL_INT* lda, MKL_Complex16* taua,
             MKL_Complex16* b, const MKL_INT* ldb, MKL_Complex16* taub,
             MKL_Complex16* work, const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void zggqrf_( const MKL_INT* n, const MKL_INT* m, const MKL_INT* p,
              MKL_Complex16* a, const MKL_INT* lda, MKL_Complex16* taua,
              MKL_Complex16* b, const MKL_INT* ldb, MKL_Complex16* taub,
              MKL_Complex16* work, const MKL_INT* lwork, MKL_INT* info ) NOTHROW;

void ZGGRQF( const MKL_INT* m, const MKL_INT* p, const MKL_INT* n,
             MKL_Complex16* a, const MKL_INT* lda, MKL_Complex16* taua,
             MKL_Complex16* b, const MKL_INT* ldb, MKL_Complex16* taub,
             MKL_Complex16* work, const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void ZGGRQF_( const MKL_INT* m, const MKL_INT* p, const MKL_INT* n,
              MKL_Complex16* a, const MKL_INT* lda, MKL_Complex16* taua,
              MKL_Complex16* b, const MKL_INT* ldb, MKL_Complex16* taub,
              MKL_Complex16* work, const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void zggrqf( const MKL_INT* m, const MKL_INT* p, const MKL_INT* n,
             MKL_Complex16* a, const MKL_INT* lda, MKL_Complex16* taua,
             MKL_Complex16* b, const MKL_INT* ldb, MKL_Complex16* taub,
             MKL_Complex16* work, const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void zggrqf_( const MKL_INT* m, const MKL_INT* p, const MKL_INT* n,
              MKL_Complex16* a, const MKL_INT* lda, MKL_Complex16* taua,
              MKL_Complex16* b, const MKL_INT* ldb, MKL_Complex16* taub,
              MKL_Complex16* work, const MKL_INT* lwork, MKL_INT* info ) NOTHROW;

void ZGGSVD( const char* jobu, const char* jobv, const char* jobq,
             const MKL_INT* m, const MKL_INT* n, const MKL_INT* p, MKL_INT* k,
             MKL_INT* l, MKL_Complex16* a, const MKL_INT* lda,
             MKL_Complex16* b, const MKL_INT* ldb, double* alpha, double* beta,
             MKL_Complex16* u, const MKL_INT* ldu, MKL_Complex16* v,
             const MKL_INT* ldv, MKL_Complex16* q, const MKL_INT* ldq,
             MKL_Complex16* work, double* rwork, MKL_INT* iwork,
             MKL_INT* info ) NOTHROW;
void ZGGSVD_( const char* jobu, const char* jobv, const char* jobq,
              const MKL_INT* m, const MKL_INT* n, const MKL_INT* p, MKL_INT* k,
              MKL_INT* l, MKL_Complex16* a, const MKL_INT* lda,
              MKL_Complex16* b, const MKL_INT* ldb, double* alpha,
              double* beta, MKL_Complex16* u, const MKL_INT* ldu,
              MKL_Complex16* v, const MKL_INT* ldv, MKL_Complex16* q,
              const MKL_INT* ldq, MKL_Complex16* work, double* rwork,
              MKL_INT* iwork, MKL_INT* info ) NOTHROW;
void zggsvd( const char* jobu, const char* jobv, const char* jobq,
             const MKL_INT* m, const MKL_INT* n, const MKL_INT* p, MKL_INT* k,
             MKL_INT* l, MKL_Complex16* a, const MKL_INT* lda,
             MKL_Complex16* b, const MKL_INT* ldb, double* alpha, double* beta,
             MKL_Complex16* u, const MKL_INT* ldu, MKL_Complex16* v,
             const MKL_INT* ldv, MKL_Complex16* q, const MKL_INT* ldq,
             MKL_Complex16* work, double* rwork, MKL_INT* iwork,
             MKL_INT* info ) NOTHROW;
void zggsvd_( const char* jobu, const char* jobv, const char* jobq,
              const MKL_INT* m, const MKL_INT* n, const MKL_INT* p, MKL_INT* k,
              MKL_INT* l, MKL_Complex16* a, const MKL_INT* lda,
              MKL_Complex16* b, const MKL_INT* ldb, double* alpha,
              double* beta, MKL_Complex16* u, const MKL_INT* ldu,
              MKL_Complex16* v, const MKL_INT* ldv, MKL_Complex16* q,
              const MKL_INT* ldq, MKL_Complex16* work, double* rwork,
              MKL_INT* iwork, MKL_INT* info ) NOTHROW;

void ZGGSVP( const char* jobu, const char* jobv, const char* jobq,
             const MKL_INT* m, const MKL_INT* p, const MKL_INT* n,
             MKL_Complex16* a, const MKL_INT* lda, MKL_Complex16* b,
             const MKL_INT* ldb, const double* tola, const double* tolb,
             MKL_INT* k, MKL_INT* l, MKL_Complex16* u, const MKL_INT* ldu,
             MKL_Complex16* v, const MKL_INT* ldv, MKL_Complex16* q,
             const MKL_INT* ldq, MKL_INT* iwork, double* rwork,
             MKL_Complex16* tau, MKL_Complex16* work, MKL_INT* info ) NOTHROW;
void ZGGSVP_( const char* jobu, const char* jobv, const char* jobq,
              const MKL_INT* m, const MKL_INT* p, const MKL_INT* n,
              MKL_Complex16* a, const MKL_INT* lda, MKL_Complex16* b,
              const MKL_INT* ldb, const double* tola, const double* tolb,
              MKL_INT* k, MKL_INT* l, MKL_Complex16* u, const MKL_INT* ldu,
              MKL_Complex16* v, const MKL_INT* ldv, MKL_Complex16* q,
              const MKL_INT* ldq, MKL_INT* iwork, double* rwork,
              MKL_Complex16* tau, MKL_Complex16* work, MKL_INT* info ) NOTHROW;
void zggsvp( const char* jobu, const char* jobv, const char* jobq,
             const MKL_INT* m, const MKL_INT* p, const MKL_INT* n,
             MKL_Complex16* a, const MKL_INT* lda, MKL_Complex16* b,
             const MKL_INT* ldb, const double* tola, const double* tolb,
             MKL_INT* k, MKL_INT* l, MKL_Complex16* u, const MKL_INT* ldu,
             MKL_Complex16* v, const MKL_INT* ldv, MKL_Complex16* q,
             const MKL_INT* ldq, MKL_INT* iwork, double* rwork,
             MKL_Complex16* tau, MKL_Complex16* work, MKL_INT* info ) NOTHROW;
void zggsvp_( const char* jobu, const char* jobv, const char* jobq,
              const MKL_INT* m, const MKL_INT* p, const MKL_INT* n,
              MKL_Complex16* a, const MKL_INT* lda, MKL_Complex16* b,
              const MKL_INT* ldb, const double* tola, const double* tolb,
              MKL_INT* k, MKL_INT* l, MKL_Complex16* u, const MKL_INT* ldu,
              MKL_Complex16* v, const MKL_INT* ldv, MKL_Complex16* q,
              const MKL_INT* ldq, MKL_INT* iwork, double* rwork,
              MKL_Complex16* tau, MKL_Complex16* work, MKL_INT* info ) NOTHROW;

void ZGTCON( const char* norm, const MKL_INT* n, const MKL_Complex16* dl,
             const MKL_Complex16* d, const MKL_Complex16* du,
             const MKL_Complex16* du2, const MKL_INT* ipiv,
             const double* anorm, double* rcond, MKL_Complex16* work,
             MKL_INT* info ) NOTHROW;
void ZGTCON_( const char* norm, const MKL_INT* n, const MKL_Complex16* dl,
              const MKL_Complex16* d, const MKL_Complex16* du,
              const MKL_Complex16* du2, const MKL_INT* ipiv,
              const double* anorm, double* rcond, MKL_Complex16* work,
              MKL_INT* info ) NOTHROW;
void zgtcon( const char* norm, const MKL_INT* n, const MKL_Complex16* dl,
             const MKL_Complex16* d, const MKL_Complex16* du,
             const MKL_Complex16* du2, const MKL_INT* ipiv,
             const double* anorm, double* rcond, MKL_Complex16* work,
             MKL_INT* info ) NOTHROW;
void zgtcon_( const char* norm, const MKL_INT* n, const MKL_Complex16* dl,
              const MKL_Complex16* d, const MKL_Complex16* du,
              const MKL_Complex16* du2, const MKL_INT* ipiv,
              const double* anorm, double* rcond, MKL_Complex16* work,
              MKL_INT* info ) NOTHROW;

void ZGTRFS( const char* trans, const MKL_INT* n, const MKL_INT* nrhs,
             const MKL_Complex16* dl, const MKL_Complex16* d,
             const MKL_Complex16* du, const MKL_Complex16* dlf,
             const MKL_Complex16* df, const MKL_Complex16* duf,
             const MKL_Complex16* du2, const MKL_INT* ipiv,
             const MKL_Complex16* b, const MKL_INT* ldb, MKL_Complex16* x,
             const MKL_INT* ldx, double* ferr, double* berr,
             MKL_Complex16* work, double* rwork, MKL_INT* info ) NOTHROW;
void ZGTRFS_( const char* trans, const MKL_INT* n, const MKL_INT* nrhs,
              const MKL_Complex16* dl, const MKL_Complex16* d,
              const MKL_Complex16* du, const MKL_Complex16* dlf,
              const MKL_Complex16* df, const MKL_Complex16* duf,
              const MKL_Complex16* du2, const MKL_INT* ipiv,
              const MKL_Complex16* b, const MKL_INT* ldb, MKL_Complex16* x,
              const MKL_INT* ldx, double* ferr, double* berr,
              MKL_Complex16* work, double* rwork, MKL_INT* info ) NOTHROW;
void zgtrfs( const char* trans, const MKL_INT* n, const MKL_INT* nrhs,
             const MKL_Complex16* dl, const MKL_Complex16* d,
             const MKL_Complex16* du, const MKL_Complex16* dlf,
             const MKL_Complex16* df, const MKL_Complex16* duf,
             const MKL_Complex16* du2, const MKL_INT* ipiv,
             const MKL_Complex16* b, const MKL_INT* ldb, MKL_Complex16* x,
             const MKL_INT* ldx, double* ferr, double* berr,
             MKL_Complex16* work, double* rwork, MKL_INT* info ) NOTHROW;
void zgtrfs_( const char* trans, const MKL_INT* n, const MKL_INT* nrhs,
              const MKL_Complex16* dl, const MKL_Complex16* d,
              const MKL_Complex16* du, const MKL_Complex16* dlf,
              const MKL_Complex16* df, const MKL_Complex16* duf,
              const MKL_Complex16* du2, const MKL_INT* ipiv,
              const MKL_Complex16* b, const MKL_INT* ldb, MKL_Complex16* x,
              const MKL_INT* ldx, double* ferr, double* berr,
              MKL_Complex16* work, double* rwork, MKL_INT* info ) NOTHROW;

void ZGTSV( const MKL_INT* n, const MKL_INT* nrhs, MKL_Complex16* dl,
            MKL_Complex16* d, MKL_Complex16* du, MKL_Complex16* b,
            const MKL_INT* ldb, MKL_INT* info ) NOTHROW;
void ZGTSV_( const MKL_INT* n, const MKL_INT* nrhs, MKL_Complex16* dl,
             MKL_Complex16* d, MKL_Complex16* du, MKL_Complex16* b,
             const MKL_INT* ldb, MKL_INT* info ) NOTHROW;
void zgtsv( const MKL_INT* n, const MKL_INT* nrhs, MKL_Complex16* dl,
            MKL_Complex16* d, MKL_Complex16* du, MKL_Complex16* b,
            const MKL_INT* ldb, MKL_INT* info ) NOTHROW;
void zgtsv_( const MKL_INT* n, const MKL_INT* nrhs, MKL_Complex16* dl,
             MKL_Complex16* d, MKL_Complex16* du, MKL_Complex16* b,
             const MKL_INT* ldb, MKL_INT* info ) NOTHROW;

void ZGTSVX( const char* fact, const char* trans, const MKL_INT* n,
             const MKL_INT* nrhs, const MKL_Complex16* dl,
             const MKL_Complex16* d, const MKL_Complex16* du,
             MKL_Complex16* dlf, MKL_Complex16* df, MKL_Complex16* duf,
             MKL_Complex16* du2, MKL_INT* ipiv, const MKL_Complex16* b,
             const MKL_INT* ldb, MKL_Complex16* x, const MKL_INT* ldx,
             double* rcond, double* ferr, double* berr, MKL_Complex16* work,
             double* rwork, MKL_INT* info ) NOTHROW;
void ZGTSVX_( const char* fact, const char* trans, const MKL_INT* n,
              const MKL_INT* nrhs, const MKL_Complex16* dl,
              const MKL_Complex16* d, const MKL_Complex16* du,
              MKL_Complex16* dlf, MKL_Complex16* df, MKL_Complex16* duf,
              MKL_Complex16* du2, MKL_INT* ipiv, const MKL_Complex16* b,
              const MKL_INT* ldb, MKL_Complex16* x, const MKL_INT* ldx,
              double* rcond, double* ferr, double* berr, MKL_Complex16* work,
              double* rwork, MKL_INT* info ) NOTHROW;
void zgtsvx( const char* fact, const char* trans, const MKL_INT* n,
             const MKL_INT* nrhs, const MKL_Complex16* dl,
             const MKL_Complex16* d, const MKL_Complex16* du,
             MKL_Complex16* dlf, MKL_Complex16* df, MKL_Complex16* duf,
             MKL_Complex16* du2, MKL_INT* ipiv, const MKL_Complex16* b,
             const MKL_INT* ldb, MKL_Complex16* x, const MKL_INT* ldx,
             double* rcond, double* ferr, double* berr, MKL_Complex16* work,
             double* rwork, MKL_INT* info ) NOTHROW;
void zgtsvx_( const char* fact, const char* trans, const MKL_INT* n,
              const MKL_INT* nrhs, const MKL_Complex16* dl,
              const MKL_Complex16* d, const MKL_Complex16* du,
              MKL_Complex16* dlf, MKL_Complex16* df, MKL_Complex16* duf,
              MKL_Complex16* du2, MKL_INT* ipiv, const MKL_Complex16* b,
              const MKL_INT* ldb, MKL_Complex16* x, const MKL_INT* ldx,
              double* rcond, double* ferr, double* berr, MKL_Complex16* work,
              double* rwork, MKL_INT* info ) NOTHROW;

void ZGTTRF( const MKL_INT* n, MKL_Complex16* dl, MKL_Complex16* d,
             MKL_Complex16* du, MKL_Complex16* du2, MKL_INT* ipiv,
             MKL_INT* info ) NOTHROW;
void ZGTTRF_( const MKL_INT* n, MKL_Complex16* dl, MKL_Complex16* d,
              MKL_Complex16* du, MKL_Complex16* du2, MKL_INT* ipiv,
              MKL_INT* info ) NOTHROW;
void zgttrf( const MKL_INT* n, MKL_Complex16* dl, MKL_Complex16* d,
             MKL_Complex16* du, MKL_Complex16* du2, MKL_INT* ipiv,
             MKL_INT* info ) NOTHROW;
void zgttrf_( const MKL_INT* n, MKL_Complex16* dl, MKL_Complex16* d,
              MKL_Complex16* du, MKL_Complex16* du2, MKL_INT* ipiv,
              MKL_INT* info ) NOTHROW;

void ZGTTRS( const char* trans, const MKL_INT* n, const MKL_INT* nrhs,
             const MKL_Complex16* dl, const MKL_Complex16* d,
             const MKL_Complex16* du, const MKL_Complex16* du2,
             const MKL_INT* ipiv, MKL_Complex16* b, const MKL_INT* ldb,
             MKL_INT* info ) NOTHROW;
void ZGTTRS_( const char* trans, const MKL_INT* n, const MKL_INT* nrhs,
              const MKL_Complex16* dl, const MKL_Complex16* d,
              const MKL_Complex16* du, const MKL_Complex16* du2,
              const MKL_INT* ipiv, MKL_Complex16* b, const MKL_INT* ldb,
              MKL_INT* info ) NOTHROW;
void zgttrs( const char* trans, const MKL_INT* n, const MKL_INT* nrhs,
             const MKL_Complex16* dl, const MKL_Complex16* d,
             const MKL_Complex16* du, const MKL_Complex16* du2,
             const MKL_INT* ipiv, MKL_Complex16* b, const MKL_INT* ldb,
             MKL_INT* info ) NOTHROW;
void zgttrs_( const char* trans, const MKL_INT* n, const MKL_INT* nrhs,
              const MKL_Complex16* dl, const MKL_Complex16* d,
              const MKL_Complex16* du, const MKL_Complex16* du2,
              const MKL_INT* ipiv, MKL_Complex16* b, const MKL_INT* ldb,
              MKL_INT* info ) NOTHROW;

void ZGTTS2( const MKL_INT* itrans, const MKL_INT* n, const MKL_INT* nrhs,
             const MKL_Complex16* dl, const MKL_Complex16* d,
             const MKL_Complex16* du, const MKL_Complex16* du2,
             const MKL_INT* ipiv, MKL_Complex16* b, const MKL_INT* ldb ) NOTHROW;
void ZGTTS2_( const MKL_INT* itrans, const MKL_INT* n, const MKL_INT* nrhs,
              const MKL_Complex16* dl, const MKL_Complex16* d,
              const MKL_Complex16* du, const MKL_Complex16* du2,
              const MKL_INT* ipiv, MKL_Complex16* b, const MKL_INT* ldb ) NOTHROW;
void zgtts2( const MKL_INT* itrans, const MKL_INT* n, const MKL_INT* nrhs,
             const MKL_Complex16* dl, const MKL_Complex16* d,
             const MKL_Complex16* du, const MKL_Complex16* du2,
             const MKL_INT* ipiv, MKL_Complex16* b, const MKL_INT* ldb ) NOTHROW;
void zgtts2_( const MKL_INT* itrans, const MKL_INT* n, const MKL_INT* nrhs,
              const MKL_Complex16* dl, const MKL_Complex16* d,
              const MKL_Complex16* du, const MKL_Complex16* du2,
              const MKL_INT* ipiv, MKL_Complex16* b, const MKL_INT* ldb ) NOTHROW;

void ZHBEVD( const char* jobz, const char* uplo, const MKL_INT* n,
             const MKL_INT* kd, MKL_Complex16* ab, const MKL_INT* ldab,
             double* w, MKL_Complex16* z, const MKL_INT* ldz,
             MKL_Complex16* work, const MKL_INT* lwork, double* rwork,
             const MKL_INT* lrwork, MKL_INT* iwork, const MKL_INT* liwork,
             MKL_INT* info ) NOTHROW;
void ZHBEVD_( const char* jobz, const char* uplo, const MKL_INT* n,
              const MKL_INT* kd, MKL_Complex16* ab, const MKL_INT* ldab,
              double* w, MKL_Complex16* z, const MKL_INT* ldz,
              MKL_Complex16* work, const MKL_INT* lwork, double* rwork,
              const MKL_INT* lrwork, MKL_INT* iwork, const MKL_INT* liwork,
              MKL_INT* info ) NOTHROW;
void zhbevd( const char* jobz, const char* uplo, const MKL_INT* n,
             const MKL_INT* kd, MKL_Complex16* ab, const MKL_INT* ldab,
             double* w, MKL_Complex16* z, const MKL_INT* ldz,
             MKL_Complex16* work, const MKL_INT* lwork, double* rwork,
             const MKL_INT* lrwork, MKL_INT* iwork, const MKL_INT* liwork,
             MKL_INT* info ) NOTHROW;
void zhbevd_( const char* jobz, const char* uplo, const MKL_INT* n,
              const MKL_INT* kd, MKL_Complex16* ab, const MKL_INT* ldab,
              double* w, MKL_Complex16* z, const MKL_INT* ldz,
              MKL_Complex16* work, const MKL_INT* lwork, double* rwork,
              const MKL_INT* lrwork, MKL_INT* iwork, const MKL_INT* liwork,
              MKL_INT* info ) NOTHROW;

void ZHBEV( const char* jobz, const char* uplo, const MKL_INT* n,
            const MKL_INT* kd, MKL_Complex16* ab, const MKL_INT* ldab,
            double* w, MKL_Complex16* z, const MKL_INT* ldz,
            MKL_Complex16* work, double* rwork, MKL_INT* info ) NOTHROW;
void ZHBEV_( const char* jobz, const char* uplo, const MKL_INT* n,
             const MKL_INT* kd, MKL_Complex16* ab, const MKL_INT* ldab,
             double* w, MKL_Complex16* z, const MKL_INT* ldz,
             MKL_Complex16* work, double* rwork, MKL_INT* info ) NOTHROW;
void zhbev( const char* jobz, const char* uplo, const MKL_INT* n,
            const MKL_INT* kd, MKL_Complex16* ab, const MKL_INT* ldab,
            double* w, MKL_Complex16* z, const MKL_INT* ldz,
            MKL_Complex16* work, double* rwork, MKL_INT* info ) NOTHROW;
void zhbev_( const char* jobz, const char* uplo, const MKL_INT* n,
             const MKL_INT* kd, MKL_Complex16* ab, const MKL_INT* ldab,
             double* w, MKL_Complex16* z, const MKL_INT* ldz,
             MKL_Complex16* work, double* rwork, MKL_INT* info ) NOTHROW;

void ZHBEVX( const char* jobz, const char* range, const char* uplo,
             const MKL_INT* n, const MKL_INT* kd, MKL_Complex16* ab,
             const MKL_INT* ldab, MKL_Complex16* q, const MKL_INT* ldq,
             const double* vl, const double* vu, const MKL_INT* il,
             const MKL_INT* iu, const double* abstol, MKL_INT* m, double* w,
             MKL_Complex16* z, const MKL_INT* ldz, MKL_Complex16* work,
             double* rwork, MKL_INT* iwork, MKL_INT* ifail, MKL_INT* info ) NOTHROW;
void ZHBEVX_( const char* jobz, const char* range, const char* uplo,
              const MKL_INT* n, const MKL_INT* kd, MKL_Complex16* ab,
              const MKL_INT* ldab, MKL_Complex16* q, const MKL_INT* ldq,
              const double* vl, const double* vu, const MKL_INT* il,
              const MKL_INT* iu, const double* abstol, MKL_INT* m, double* w,
              MKL_Complex16* z, const MKL_INT* ldz, MKL_Complex16* work,
              double* rwork, MKL_INT* iwork, MKL_INT* ifail, MKL_INT* info ) NOTHROW;
void zhbevx( const char* jobz, const char* range, const char* uplo,
             const MKL_INT* n, const MKL_INT* kd, MKL_Complex16* ab,
             const MKL_INT* ldab, MKL_Complex16* q, const MKL_INT* ldq,
             const double* vl, const double* vu, const MKL_INT* il,
             const MKL_INT* iu, const double* abstol, MKL_INT* m, double* w,
             MKL_Complex16* z, const MKL_INT* ldz, MKL_Complex16* work,
             double* rwork, MKL_INT* iwork, MKL_INT* ifail, MKL_INT* info ) NOTHROW;
void zhbevx_( const char* jobz, const char* range, const char* uplo,
              const MKL_INT* n, const MKL_INT* kd, MKL_Complex16* ab,
              const MKL_INT* ldab, MKL_Complex16* q, const MKL_INT* ldq,
              const double* vl, const double* vu, const MKL_INT* il,
              const MKL_INT* iu, const double* abstol, MKL_INT* m, double* w,
              MKL_Complex16* z, const MKL_INT* ldz, MKL_Complex16* work,
              double* rwork, MKL_INT* iwork, MKL_INT* ifail, MKL_INT* info ) NOTHROW;

void ZHBGST( const char* vect, const char* uplo, const MKL_INT* n,
             const MKL_INT* ka, const MKL_INT* kb, MKL_Complex16* ab,
             const MKL_INT* ldab, const MKL_Complex16* bb, const MKL_INT* ldbb,
             MKL_Complex16* x, const MKL_INT* ldx, MKL_Complex16* work,
             double* rwork, MKL_INT* info ) NOTHROW;
void ZHBGST_( const char* vect, const char* uplo, const MKL_INT* n,
              const MKL_INT* ka, const MKL_INT* kb, MKL_Complex16* ab,
              const MKL_INT* ldab, const MKL_Complex16* bb,
              const MKL_INT* ldbb, MKL_Complex16* x, const MKL_INT* ldx,
              MKL_Complex16* work, double* rwork, MKL_INT* info ) NOTHROW;
void zhbgst( const char* vect, const char* uplo, const MKL_INT* n,
             const MKL_INT* ka, const MKL_INT* kb, MKL_Complex16* ab,
             const MKL_INT* ldab, const MKL_Complex16* bb, const MKL_INT* ldbb,
             MKL_Complex16* x, const MKL_INT* ldx, MKL_Complex16* work,
             double* rwork, MKL_INT* info ) NOTHROW;
void zhbgst_( const char* vect, const char* uplo, const MKL_INT* n,
              const MKL_INT* ka, const MKL_INT* kb, MKL_Complex16* ab,
              const MKL_INT* ldab, const MKL_Complex16* bb,
              const MKL_INT* ldbb, MKL_Complex16* x, const MKL_INT* ldx,
              MKL_Complex16* work, double* rwork, MKL_INT* info ) NOTHROW;

void ZHBGVD( const char* jobz, const char* uplo, const MKL_INT* n,
             const MKL_INT* ka, const MKL_INT* kb, MKL_Complex16* ab,
             const MKL_INT* ldab, MKL_Complex16* bb, const MKL_INT* ldbb,
             double* w, MKL_Complex16* z, const MKL_INT* ldz,
             MKL_Complex16* work, const MKL_INT* lwork, double* rwork,
             const MKL_INT* lrwork, MKL_INT* iwork, const MKL_INT* liwork,
             MKL_INT* info ) NOTHROW;
void ZHBGVD_( const char* jobz, const char* uplo, const MKL_INT* n,
              const MKL_INT* ka, const MKL_INT* kb, MKL_Complex16* ab,
              const MKL_INT* ldab, MKL_Complex16* bb, const MKL_INT* ldbb,
              double* w, MKL_Complex16* z, const MKL_INT* ldz,
              MKL_Complex16* work, const MKL_INT* lwork, double* rwork,
              const MKL_INT* lrwork, MKL_INT* iwork, const MKL_INT* liwork,
              MKL_INT* info ) NOTHROW;
void zhbgvd( const char* jobz, const char* uplo, const MKL_INT* n,
             const MKL_INT* ka, const MKL_INT* kb, MKL_Complex16* ab,
             const MKL_INT* ldab, MKL_Complex16* bb, const MKL_INT* ldbb,
             double* w, MKL_Complex16* z, const MKL_INT* ldz,
             MKL_Complex16* work, const MKL_INT* lwork, double* rwork,
             const MKL_INT* lrwork, MKL_INT* iwork, const MKL_INT* liwork,
             MKL_INT* info ) NOTHROW;
void zhbgvd_( const char* jobz, const char* uplo, const MKL_INT* n,
              const MKL_INT* ka, const MKL_INT* kb, MKL_Complex16* ab,
              const MKL_INT* ldab, MKL_Complex16* bb, const MKL_INT* ldbb,
              double* w, MKL_Complex16* z, const MKL_INT* ldz,
              MKL_Complex16* work, const MKL_INT* lwork, double* rwork,
              const MKL_INT* lrwork, MKL_INT* iwork, const MKL_INT* liwork,
              MKL_INT* info ) NOTHROW;

void ZHBGV( const char* jobz, const char* uplo, const MKL_INT* n,
            const MKL_INT* ka, const MKL_INT* kb, MKL_Complex16* ab,
            const MKL_INT* ldab, MKL_Complex16* bb, const MKL_INT* ldbb,
            double* w, MKL_Complex16* z, const MKL_INT* ldz,
            MKL_Complex16* work, double* rwork, MKL_INT* info ) NOTHROW;
void ZHBGV_( const char* jobz, const char* uplo, const MKL_INT* n,
             const MKL_INT* ka, const MKL_INT* kb, MKL_Complex16* ab,
             const MKL_INT* ldab, MKL_Complex16* bb, const MKL_INT* ldbb,
             double* w, MKL_Complex16* z, const MKL_INT* ldz,
             MKL_Complex16* work, double* rwork, MKL_INT* info ) NOTHROW;
void zhbgv( const char* jobz, const char* uplo, const MKL_INT* n,
            const MKL_INT* ka, const MKL_INT* kb, MKL_Complex16* ab,
            const MKL_INT* ldab, MKL_Complex16* bb, const MKL_INT* ldbb,
            double* w, MKL_Complex16* z, const MKL_INT* ldz,
            MKL_Complex16* work, double* rwork, MKL_INT* info ) NOTHROW;
void zhbgv_( const char* jobz, const char* uplo, const MKL_INT* n,
             const MKL_INT* ka, const MKL_INT* kb, MKL_Complex16* ab,
             const MKL_INT* ldab, MKL_Complex16* bb, const MKL_INT* ldbb,
             double* w, MKL_Complex16* z, const MKL_INT* ldz,
             MKL_Complex16* work, double* rwork, MKL_INT* info ) NOTHROW;

void ZHBGVX( const char* jobz, const char* range, const char* uplo,
             const MKL_INT* n, const MKL_INT* ka, const MKL_INT* kb,
             MKL_Complex16* ab, const MKL_INT* ldab, MKL_Complex16* bb,
             const MKL_INT* ldbb, MKL_Complex16* q, const MKL_INT* ldq,
             const double* vl, const double* vu, const MKL_INT* il,
             const MKL_INT* iu, const double* abstol, MKL_INT* m, double* w,
             MKL_Complex16* z, const MKL_INT* ldz, MKL_Complex16* work,
             double* rwork, MKL_INT* iwork, MKL_INT* ifail, MKL_INT* info ) NOTHROW;
void ZHBGVX_( const char* jobz, const char* range, const char* uplo,
              const MKL_INT* n, const MKL_INT* ka, const MKL_INT* kb,
              MKL_Complex16* ab, const MKL_INT* ldab, MKL_Complex16* bb,
              const MKL_INT* ldbb, MKL_Complex16* q, const MKL_INT* ldq,
              const double* vl, const double* vu, const MKL_INT* il,
              const MKL_INT* iu, const double* abstol, MKL_INT* m, double* w,
              MKL_Complex16* z, const MKL_INT* ldz, MKL_Complex16* work,
              double* rwork, MKL_INT* iwork, MKL_INT* ifail, MKL_INT* info ) NOTHROW;
void zhbgvx( const char* jobz, const char* range, const char* uplo,
             const MKL_INT* n, const MKL_INT* ka, const MKL_INT* kb,
             MKL_Complex16* ab, const MKL_INT* ldab, MKL_Complex16* bb,
             const MKL_INT* ldbb, MKL_Complex16* q, const MKL_INT* ldq,
             const double* vl, const double* vu, const MKL_INT* il,
             const MKL_INT* iu, const double* abstol, MKL_INT* m, double* w,
             MKL_Complex16* z, const MKL_INT* ldz, MKL_Complex16* work,
             double* rwork, MKL_INT* iwork, MKL_INT* ifail, MKL_INT* info ) NOTHROW;
void zhbgvx_( const char* jobz, const char* range, const char* uplo,
              const MKL_INT* n, const MKL_INT* ka, const MKL_INT* kb,
              MKL_Complex16* ab, const MKL_INT* ldab, MKL_Complex16* bb,
              const MKL_INT* ldbb, MKL_Complex16* q, const MKL_INT* ldq,
              const double* vl, const double* vu, const MKL_INT* il,
              const MKL_INT* iu, const double* abstol, MKL_INT* m, double* w,
              MKL_Complex16* z, const MKL_INT* ldz, MKL_Complex16* work,
              double* rwork, MKL_INT* iwork, MKL_INT* ifail, MKL_INT* info ) NOTHROW;

void ZHBTRD( const char* vect, const char* uplo, const MKL_INT* n,
             const MKL_INT* kd, MKL_Complex16* ab, const MKL_INT* ldab,
             double* d, double* e, MKL_Complex16* q, const MKL_INT* ldq,
             MKL_Complex16* work, MKL_INT* info ) NOTHROW;
void ZHBTRD_( const char* vect, const char* uplo, const MKL_INT* n,
              const MKL_INT* kd, MKL_Complex16* ab, const MKL_INT* ldab,
              double* d, double* e, MKL_Complex16* q, const MKL_INT* ldq,
              MKL_Complex16* work, MKL_INT* info ) NOTHROW;
void zhbtrd( const char* vect, const char* uplo, const MKL_INT* n,
             const MKL_INT* kd, MKL_Complex16* ab, const MKL_INT* ldab,
             double* d, double* e, MKL_Complex16* q, const MKL_INT* ldq,
             MKL_Complex16* work, MKL_INT* info ) NOTHROW;
void zhbtrd_( const char* vect, const char* uplo, const MKL_INT* n,
              const MKL_INT* kd, MKL_Complex16* ab, const MKL_INT* ldab,
              double* d, double* e, MKL_Complex16* q, const MKL_INT* ldq,
              MKL_Complex16* work, MKL_INT* info ) NOTHROW;

void ZHECON( const char* uplo, const MKL_INT* n, const MKL_Complex16* a,
             const MKL_INT* lda, const MKL_INT* ipiv, const double* anorm,
             double* rcond, MKL_Complex16* work, MKL_INT* info ) NOTHROW;
void ZHECON_( const char* uplo, const MKL_INT* n, const MKL_Complex16* a,
              const MKL_INT* lda, const MKL_INT* ipiv, const double* anorm,
              double* rcond, MKL_Complex16* work, MKL_INT* info ) NOTHROW;
void zhecon( const char* uplo, const MKL_INT* n, const MKL_Complex16* a,
             const MKL_INT* lda, const MKL_INT* ipiv, const double* anorm,
             double* rcond, MKL_Complex16* work, MKL_INT* info ) NOTHROW;
void zhecon_( const char* uplo, const MKL_INT* n, const MKL_Complex16* a,
              const MKL_INT* lda, const MKL_INT* ipiv, const double* anorm,
              double* rcond, MKL_Complex16* work, MKL_INT* info ) NOTHROW;

void ZHEEQUB( const char* uplo, const MKL_INT* n, const MKL_Complex16* a,
              const MKL_INT* lda, double* s, double* scond, double* amax,
              MKL_Complex16* work, MKL_INT* info ) NOTHROW;
void ZHEEQUB_( const char* uplo, const MKL_INT* n, const MKL_Complex16* a,
               const MKL_INT* lda, double* s, double* scond, double* amax,
               MKL_Complex16* work, MKL_INT* info ) NOTHROW;
void zheequb( const char* uplo, const MKL_INT* n, const MKL_Complex16* a,
              const MKL_INT* lda, double* s, double* scond, double* amax,
              MKL_Complex16* work, MKL_INT* info ) NOTHROW;
void zheequb_( const char* uplo, const MKL_INT* n, const MKL_Complex16* a,
               const MKL_INT* lda, double* s, double* scond, double* amax,
               MKL_Complex16* work, MKL_INT* info ) NOTHROW;

void ZHEEVD( const char* jobz, const char* uplo, const MKL_INT* n,
             MKL_Complex16* a, const MKL_INT* lda, double* w,
             MKL_Complex16* work, const MKL_INT* lwork, double* rwork,
             const MKL_INT* lrwork, MKL_INT* iwork, const MKL_INT* liwork,
             MKL_INT* info ) NOTHROW;
void ZHEEVD_( const char* jobz, const char* uplo, const MKL_INT* n,
              MKL_Complex16* a, const MKL_INT* lda, double* w,
              MKL_Complex16* work, const MKL_INT* lwork, double* rwork,
              const MKL_INT* lrwork, MKL_INT* iwork, const MKL_INT* liwork,
              MKL_INT* info ) NOTHROW;
void zheevd( const char* jobz, const char* uplo, const MKL_INT* n,
             MKL_Complex16* a, const MKL_INT* lda, double* w,
             MKL_Complex16* work, const MKL_INT* lwork, double* rwork,
             const MKL_INT* lrwork, MKL_INT* iwork, const MKL_INT* liwork,
             MKL_INT* info ) NOTHROW;
void zheevd_( const char* jobz, const char* uplo, const MKL_INT* n,
              MKL_Complex16* a, const MKL_INT* lda, double* w,
              MKL_Complex16* work, const MKL_INT* lwork, double* rwork,
              const MKL_INT* lrwork, MKL_INT* iwork, const MKL_INT* liwork,
              MKL_INT* info ) NOTHROW;

void ZHEEV( const char* jobz, const char* uplo, const MKL_INT* n,
            MKL_Complex16* a, const MKL_INT* lda, double* w,
            MKL_Complex16* work, const MKL_INT* lwork, double* rwork,
            MKL_INT* info ) NOTHROW;
void ZHEEV_( const char* jobz, const char* uplo, const MKL_INT* n,
             MKL_Complex16* a, const MKL_INT* lda, double* w,
             MKL_Complex16* work, const MKL_INT* lwork, double* rwork,
             MKL_INT* info ) NOTHROW;
void zheev( const char* jobz, const char* uplo, const MKL_INT* n,
            MKL_Complex16* a, const MKL_INT* lda, double* w,
            MKL_Complex16* work, const MKL_INT* lwork, double* rwork,
            MKL_INT* info ) NOTHROW;
void zheev_( const char* jobz, const char* uplo, const MKL_INT* n,
             MKL_Complex16* a, const MKL_INT* lda, double* w,
             MKL_Complex16* work, const MKL_INT* lwork, double* rwork,
             MKL_INT* info ) NOTHROW;

void ZHEEVR( const char* jobz, const char* range, const char* uplo,
             const MKL_INT* n, MKL_Complex16* a, const MKL_INT* lda,
             const double* vl, const double* vu, const MKL_INT* il,
             const MKL_INT* iu, const double* abstol, MKL_INT* m, double* w,
             MKL_Complex16* z, const MKL_INT* ldz, MKL_INT* isuppz,
             MKL_Complex16* work, const MKL_INT* lwork, double* rwork,
             const MKL_INT* lrwork, MKL_INT* iwork, const MKL_INT* liwork,
             MKL_INT* info ) NOTHROW;
void ZHEEVR_( const char* jobz, const char* range, const char* uplo,
              const MKL_INT* n, MKL_Complex16* a, const MKL_INT* lda,
              const double* vl, const double* vu, const MKL_INT* il,
              const MKL_INT* iu, const double* abstol, MKL_INT* m, double* w,
              MKL_Complex16* z, const MKL_INT* ldz, MKL_INT* isuppz,
              MKL_Complex16* work, const MKL_INT* lwork, double* rwork,
              const MKL_INT* lrwork, MKL_INT* iwork, const MKL_INT* liwork,
              MKL_INT* info ) NOTHROW;
void zheevr( const char* jobz, const char* range, const char* uplo,
             const MKL_INT* n, MKL_Complex16* a, const MKL_INT* lda,
             const double* vl, const double* vu, const MKL_INT* il,
             const MKL_INT* iu, const double* abstol, MKL_INT* m, double* w,
             MKL_Complex16* z, const MKL_INT* ldz, MKL_INT* isuppz,
             MKL_Complex16* work, const MKL_INT* lwork, double* rwork,
             const MKL_INT* lrwork, MKL_INT* iwork, const MKL_INT* liwork,
             MKL_INT* info ) NOTHROW;
void zheevr_( const char* jobz, const char* range, const char* uplo,
              const MKL_INT* n, MKL_Complex16* a, const MKL_INT* lda,
              const double* vl, const double* vu, const MKL_INT* il,
              const MKL_INT* iu, const double* abstol, MKL_INT* m, double* w,
              MKL_Complex16* z, const MKL_INT* ldz, MKL_INT* isuppz,
              MKL_Complex16* work, const MKL_INT* lwork, double* rwork,
              const MKL_INT* lrwork, MKL_INT* iwork, const MKL_INT* liwork,
              MKL_INT* info ) NOTHROW;

void ZHEEVX( const char* jobz, const char* range, const char* uplo,
             const MKL_INT* n, MKL_Complex16* a, const MKL_INT* lda,
             const double* vl, const double* vu, const MKL_INT* il,
             const MKL_INT* iu, const double* abstol, MKL_INT* m, double* w,
             MKL_Complex16* z, const MKL_INT* ldz, MKL_Complex16* work,
             const MKL_INT* lwork, double* rwork, MKL_INT* iwork,
             MKL_INT* ifail, MKL_INT* info ) NOTHROW;
void ZHEEVX_( const char* jobz, const char* range, const char* uplo,
              const MKL_INT* n, MKL_Complex16* a, const MKL_INT* lda,
              const double* vl, const double* vu, const MKL_INT* il,
              const MKL_INT* iu, const double* abstol, MKL_INT* m, double* w,
              MKL_Complex16* z, const MKL_INT* ldz, MKL_Complex16* work,
              const MKL_INT* lwork, double* rwork, MKL_INT* iwork,
              MKL_INT* ifail, MKL_INT* info ) NOTHROW;
void zheevx( const char* jobz, const char* range, const char* uplo,
             const MKL_INT* n, MKL_Complex16* a, const MKL_INT* lda,
             const double* vl, const double* vu, const MKL_INT* il,
             const MKL_INT* iu, const double* abstol, MKL_INT* m, double* w,
             MKL_Complex16* z, const MKL_INT* ldz, MKL_Complex16* work,
             const MKL_INT* lwork, double* rwork, MKL_INT* iwork,
             MKL_INT* ifail, MKL_INT* info ) NOTHROW;
void zheevx_( const char* jobz, const char* range, const char* uplo,
              const MKL_INT* n, MKL_Complex16* a, const MKL_INT* lda,
              const double* vl, const double* vu, const MKL_INT* il,
              const MKL_INT* iu, const double* abstol, MKL_INT* m, double* w,
              MKL_Complex16* z, const MKL_INT* ldz, MKL_Complex16* work,
              const MKL_INT* lwork, double* rwork, MKL_INT* iwork,
              MKL_INT* ifail, MKL_INT* info ) NOTHROW;

void ZHEGS2( const MKL_INT* itype, const char* uplo, const MKL_INT* n,
             MKL_Complex16* a, const MKL_INT* lda, MKL_Complex16* b,
             const MKL_INT* ldb, MKL_INT* info ) NOTHROW;
void ZHEGS2_( const MKL_INT* itype, const char* uplo, const MKL_INT* n,
              MKL_Complex16* a, const MKL_INT* lda, MKL_Complex16* b,
              const MKL_INT* ldb, MKL_INT* info ) NOTHROW;
void zhegs2( const MKL_INT* itype, const char* uplo, const MKL_INT* n,
             MKL_Complex16* a, const MKL_INT* lda, MKL_Complex16* b,
             const MKL_INT* ldb, MKL_INT* info ) NOTHROW;
void zhegs2_( const MKL_INT* itype, const char* uplo, const MKL_INT* n,
              MKL_Complex16* a, const MKL_INT* lda, MKL_Complex16* b,
              const MKL_INT* ldb, MKL_INT* info ) NOTHROW;

void ZHEGST( const MKL_INT* itype, const char* uplo, const MKL_INT* n,
             MKL_Complex16* a, const MKL_INT* lda, MKL_Complex16* b,
             const MKL_INT* ldb, MKL_INT* info ) NOTHROW;
void ZHEGST_( const MKL_INT* itype, const char* uplo, const MKL_INT* n,
              MKL_Complex16* a, const MKL_INT* lda, MKL_Complex16* b,
              const MKL_INT* ldb, MKL_INT* info ) NOTHROW;
void zhegst( const MKL_INT* itype, const char* uplo, const MKL_INT* n,
             MKL_Complex16* a, const MKL_INT* lda, MKL_Complex16* b,
             const MKL_INT* ldb, MKL_INT* info ) NOTHROW;
void zhegst_( const MKL_INT* itype, const char* uplo, const MKL_INT* n,
              MKL_Complex16* a, const MKL_INT* lda, MKL_Complex16* b,
              const MKL_INT* ldb, MKL_INT* info ) NOTHROW;

void ZHEGVD( const MKL_INT* itype, const char* jobz, const char* uplo,
             const MKL_INT* n, MKL_Complex16* a, const MKL_INT* lda,
             MKL_Complex16* b, const MKL_INT* ldb, double* w,
             MKL_Complex16* work, const MKL_INT* lwork, double* rwork,
             const MKL_INT* lrwork, MKL_INT* iwork, const MKL_INT* liwork,
             MKL_INT* info ) NOTHROW;
void ZHEGVD_( const MKL_INT* itype, const char* jobz, const char* uplo,
              const MKL_INT* n, MKL_Complex16* a, const MKL_INT* lda,
              MKL_Complex16* b, const MKL_INT* ldb, double* w,
              MKL_Complex16* work, const MKL_INT* lwork, double* rwork,
              const MKL_INT* lrwork, MKL_INT* iwork, const MKL_INT* liwork,
              MKL_INT* info ) NOTHROW;
void zhegvd( const MKL_INT* itype, const char* jobz, const char* uplo,
             const MKL_INT* n, MKL_Complex16* a, const MKL_INT* lda,
             MKL_Complex16* b, const MKL_INT* ldb, double* w,
             MKL_Complex16* work, const MKL_INT* lwork, double* rwork,
             const MKL_INT* lrwork, MKL_INT* iwork, const MKL_INT* liwork,
             MKL_INT* info ) NOTHROW;
void zhegvd_( const MKL_INT* itype, const char* jobz, const char* uplo,
              const MKL_INT* n, MKL_Complex16* a, const MKL_INT* lda,
              MKL_Complex16* b, const MKL_INT* ldb, double* w,
              MKL_Complex16* work, const MKL_INT* lwork, double* rwork,
              const MKL_INT* lrwork, MKL_INT* iwork, const MKL_INT* liwork,
              MKL_INT* info ) NOTHROW;

void ZHEGV( const MKL_INT* itype, const char* jobz, const char* uplo,
            const MKL_INT* n, MKL_Complex16* a, const MKL_INT* lda,
            MKL_Complex16* b, const MKL_INT* ldb, double* w,
            MKL_Complex16* work, const MKL_INT* lwork, double* rwork,
            MKL_INT* info ) NOTHROW;
void ZHEGV_( const MKL_INT* itype, const char* jobz, const char* uplo,
             const MKL_INT* n, MKL_Complex16* a, const MKL_INT* lda,
             MKL_Complex16* b, const MKL_INT* ldb, double* w,
             MKL_Complex16* work, const MKL_INT* lwork, double* rwork,
             MKL_INT* info ) NOTHROW;
void zhegv( const MKL_INT* itype, const char* jobz, const char* uplo,
            const MKL_INT* n, MKL_Complex16* a, const MKL_INT* lda,
            MKL_Complex16* b, const MKL_INT* ldb, double* w,
            MKL_Complex16* work, const MKL_INT* lwork, double* rwork,
            MKL_INT* info ) NOTHROW;
void zhegv_( const MKL_INT* itype, const char* jobz, const char* uplo,
             const MKL_INT* n, MKL_Complex16* a, const MKL_INT* lda,
             MKL_Complex16* b, const MKL_INT* ldb, double* w,
             MKL_Complex16* work, const MKL_INT* lwork, double* rwork,
             MKL_INT* info ) NOTHROW;

void ZHEGVX( const MKL_INT* itype, const char* jobz, const char* range,
             const char* uplo, const MKL_INT* n, MKL_Complex16* a,
             const MKL_INT* lda, MKL_Complex16* b, const MKL_INT* ldb,
             const double* vl, const double* vu, const MKL_INT* il,
             const MKL_INT* iu, const double* abstol, MKL_INT* m, double* w,
             MKL_Complex16* z, const MKL_INT* ldz, MKL_Complex16* work,
             const MKL_INT* lwork, double* rwork, MKL_INT* iwork,
             MKL_INT* ifail, MKL_INT* info ) NOTHROW;
void ZHEGVX_( const MKL_INT* itype, const char* jobz, const char* range,
              const char* uplo, const MKL_INT* n, MKL_Complex16* a,
              const MKL_INT* lda, MKL_Complex16* b, const MKL_INT* ldb,
              const double* vl, const double* vu, const MKL_INT* il,
              const MKL_INT* iu, const double* abstol, MKL_INT* m, double* w,
              MKL_Complex16* z, const MKL_INT* ldz, MKL_Complex16* work,
              const MKL_INT* lwork, double* rwork, MKL_INT* iwork,
              MKL_INT* ifail, MKL_INT* info ) NOTHROW;
void zhegvx( const MKL_INT* itype, const char* jobz, const char* range,
             const char* uplo, const MKL_INT* n, MKL_Complex16* a,
             const MKL_INT* lda, MKL_Complex16* b, const MKL_INT* ldb,
             const double* vl, const double* vu, const MKL_INT* il,
             const MKL_INT* iu, const double* abstol, MKL_INT* m, double* w,
             MKL_Complex16* z, const MKL_INT* ldz, MKL_Complex16* work,
             const MKL_INT* lwork, double* rwork, MKL_INT* iwork,
             MKL_INT* ifail, MKL_INT* info ) NOTHROW;
void zhegvx_( const MKL_INT* itype, const char* jobz, const char* range,
              const char* uplo, const MKL_INT* n, MKL_Complex16* a,
              const MKL_INT* lda, MKL_Complex16* b, const MKL_INT* ldb,
              const double* vl, const double* vu, const MKL_INT* il,
              const MKL_INT* iu, const double* abstol, MKL_INT* m, double* w,
              MKL_Complex16* z, const MKL_INT* ldz, MKL_Complex16* work,
              const MKL_INT* lwork, double* rwork, MKL_INT* iwork,
              MKL_INT* ifail, MKL_INT* info ) NOTHROW;

void ZHERFS( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs,
             const MKL_Complex16* a, const MKL_INT* lda,
             const MKL_Complex16* af, const MKL_INT* ldaf, const MKL_INT* ipiv,
             const MKL_Complex16* b, const MKL_INT* ldb, MKL_Complex16* x,
             const MKL_INT* ldx, double* ferr, double* berr,
             MKL_Complex16* work, double* rwork, MKL_INT* info ) NOTHROW;
void ZHERFS_( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs,
              const MKL_Complex16* a, const MKL_INT* lda,
              const MKL_Complex16* af, const MKL_INT* ldaf,
              const MKL_INT* ipiv, const MKL_Complex16* b, const MKL_INT* ldb,
              MKL_Complex16* x, const MKL_INT* ldx, double* ferr, double* berr,
              MKL_Complex16* work, double* rwork, MKL_INT* info ) NOTHROW;
void zherfs( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs,
             const MKL_Complex16* a, const MKL_INT* lda,
             const MKL_Complex16* af, const MKL_INT* ldaf, const MKL_INT* ipiv,
             const MKL_Complex16* b, const MKL_INT* ldb, MKL_Complex16* x,
             const MKL_INT* ldx, double* ferr, double* berr,
             MKL_Complex16* work, double* rwork, MKL_INT* info ) NOTHROW;
void zherfs_( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs,
              const MKL_Complex16* a, const MKL_INT* lda,
              const MKL_Complex16* af, const MKL_INT* ldaf,
              const MKL_INT* ipiv, const MKL_Complex16* b, const MKL_INT* ldb,
              MKL_Complex16* x, const MKL_INT* ldx, double* ferr, double* berr,
              MKL_Complex16* work, double* rwork, MKL_INT* info ) NOTHROW;

void ZHERFSX( const char* uplo, const char* equed, const MKL_INT* n,
              const MKL_INT* nrhs, const MKL_Complex16* a, const MKL_INT* lda,
              const MKL_Complex16* af, const MKL_INT* ldaf,
              const MKL_INT* ipiv, double* s, const MKL_Complex16* b,
              const MKL_INT* ldb, MKL_Complex16* x, const MKL_INT* ldx,
              double* rcond, double* berr, const MKL_INT* n_err_bnds,
              double* err_bnds_norm, double* err_bnds_comp,
              const MKL_INT* nparams, double* params, MKL_Complex16* work,
              double* rwork, MKL_INT* info ) NOTHROW;
void ZHERFSX_( const char* uplo, const char* equed, const MKL_INT* n,
               const MKL_INT* nrhs, const MKL_Complex16* a, const MKL_INT* lda,
               const MKL_Complex16* af, const MKL_INT* ldaf,
               const MKL_INT* ipiv, double* s, const MKL_Complex16* b,
               const MKL_INT* ldb, MKL_Complex16* x, const MKL_INT* ldx,
               double* rcond, double* berr, const MKL_INT* n_err_bnds,
               double* err_bnds_norm, double* err_bnds_comp,
               const MKL_INT* nparams, double* params, MKL_Complex16* work,
               double* rwork, MKL_INT* info ) NOTHROW;
void zherfsx( const char* uplo, const char* equed, const MKL_INT* n,
              const MKL_INT* nrhs, const MKL_Complex16* a, const MKL_INT* lda,
              const MKL_Complex16* af, const MKL_INT* ldaf,
              const MKL_INT* ipiv, double* s, const MKL_Complex16* b,
              const MKL_INT* ldb, MKL_Complex16* x, const MKL_INT* ldx,
              double* rcond, double* berr, const MKL_INT* n_err_bnds,
              double* err_bnds_norm, double* err_bnds_comp,
              const MKL_INT* nparams, double* params, MKL_Complex16* work,
              double* rwork, MKL_INT* info ) NOTHROW;
void zherfsx_( const char* uplo, const char* equed, const MKL_INT* n,
               const MKL_INT* nrhs, const MKL_Complex16* a, const MKL_INT* lda,
               const MKL_Complex16* af, const MKL_INT* ldaf,
               const MKL_INT* ipiv, double* s, const MKL_Complex16* b,
               const MKL_INT* ldb, MKL_Complex16* x, const MKL_INT* ldx,
               double* rcond, double* berr, const MKL_INT* n_err_bnds,
               double* err_bnds_norm, double* err_bnds_comp,
               const MKL_INT* nparams, double* params, MKL_Complex16* work,
               double* rwork, MKL_INT* info ) NOTHROW;

void ZHESV( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs,
            MKL_Complex16* a, const MKL_INT* lda, MKL_INT* ipiv,
            MKL_Complex16* b, const MKL_INT* ldb, MKL_Complex16* work,
            const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void ZHESV_( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs,
             MKL_Complex16* a, const MKL_INT* lda, MKL_INT* ipiv,
             MKL_Complex16* b, const MKL_INT* ldb, MKL_Complex16* work,
             const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void zhesv( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs,
            MKL_Complex16* a, const MKL_INT* lda, MKL_INT* ipiv,
            MKL_Complex16* b, const MKL_INT* ldb, MKL_Complex16* work,
            const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void zhesv_( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs,
             MKL_Complex16* a, const MKL_INT* lda, MKL_INT* ipiv,
             MKL_Complex16* b, const MKL_INT* ldb, MKL_Complex16* work,
             const MKL_INT* lwork, MKL_INT* info ) NOTHROW;

void ZHESVX( const char* fact, const char* uplo, const MKL_INT* n,
             const MKL_INT* nrhs, const MKL_Complex16* a, const MKL_INT* lda,
             MKL_Complex16* af, const MKL_INT* ldaf, MKL_INT* ipiv,
             const MKL_Complex16* b, const MKL_INT* ldb, MKL_Complex16* x,
             const MKL_INT* ldx, double* rcond, double* ferr, double* berr,
             MKL_Complex16* work, const MKL_INT* lwork, double* rwork,
             MKL_INT* info ) NOTHROW;
void ZHESVX_( const char* fact, const char* uplo, const MKL_INT* n,
              const MKL_INT* nrhs, const MKL_Complex16* a, const MKL_INT* lda,
              MKL_Complex16* af, const MKL_INT* ldaf, MKL_INT* ipiv,
              const MKL_Complex16* b, const MKL_INT* ldb, MKL_Complex16* x,
              const MKL_INT* ldx, double* rcond, double* ferr, double* berr,
              MKL_Complex16* work, const MKL_INT* lwork, double* rwork,
              MKL_INT* info ) NOTHROW;
void zhesvx( const char* fact, const char* uplo, const MKL_INT* n,
             const MKL_INT* nrhs, const MKL_Complex16* a, const MKL_INT* lda,
             MKL_Complex16* af, const MKL_INT* ldaf, MKL_INT* ipiv,
             const MKL_Complex16* b, const MKL_INT* ldb, MKL_Complex16* x,
             const MKL_INT* ldx, double* rcond, double* ferr, double* berr,
             MKL_Complex16* work, const MKL_INT* lwork, double* rwork,
             MKL_INT* info ) NOTHROW;
void zhesvx_( const char* fact, const char* uplo, const MKL_INT* n,
              const MKL_INT* nrhs, const MKL_Complex16* a, const MKL_INT* lda,
              MKL_Complex16* af, const MKL_INT* ldaf, MKL_INT* ipiv,
              const MKL_Complex16* b, const MKL_INT* ldb, MKL_Complex16* x,
              const MKL_INT* ldx, double* rcond, double* ferr, double* berr,
              MKL_Complex16* work, const MKL_INT* lwork, double* rwork,
              MKL_INT* info ) NOTHROW;

void ZHESVXX( const char* fact, const char* uplo, const MKL_INT* n,
              const MKL_INT* nrhs, MKL_Complex16* a, const MKL_INT* lda,
              MKL_Complex16* af, const MKL_INT* ldaf, MKL_INT* ipiv,
              char* equed, double* s, MKL_Complex16* b, const MKL_INT* ldb,
              MKL_Complex16* x, const MKL_INT* ldx, double* rcond,
              double* rpvgrw, double* berr, const MKL_INT* n_err_bnds,
              double* err_bnds_norm, double* err_bnds_comp,
              const MKL_INT* nparams, double* params, MKL_Complex16* work,
              double* rwork, MKL_INT* info ) NOTHROW;
void ZHESVXX_( const char* fact, const char* uplo, const MKL_INT* n,
               const MKL_INT* nrhs, MKL_Complex16* a, const MKL_INT* lda,
               MKL_Complex16* af, const MKL_INT* ldaf, MKL_INT* ipiv,
               char* equed, double* s, MKL_Complex16* b, const MKL_INT* ldb,
               MKL_Complex16* x, const MKL_INT* ldx, double* rcond,
               double* rpvgrw, double* berr, const MKL_INT* n_err_bnds,
               double* err_bnds_norm, double* err_bnds_comp,
               const MKL_INT* nparams, double* params, MKL_Complex16* work,
               double* rwork, MKL_INT* info ) NOTHROW;
void zhesvxx( const char* fact, const char* uplo, const MKL_INT* n,
              const MKL_INT* nrhs, MKL_Complex16* a, const MKL_INT* lda,
              MKL_Complex16* af, const MKL_INT* ldaf, MKL_INT* ipiv,
              char* equed, double* s, MKL_Complex16* b, const MKL_INT* ldb,
              MKL_Complex16* x, const MKL_INT* ldx, double* rcond,
              double* rpvgrw, double* berr, const MKL_INT* n_err_bnds,
              double* err_bnds_norm, double* err_bnds_comp,
              const MKL_INT* nparams, double* params, MKL_Complex16* work,
              double* rwork, MKL_INT* info ) NOTHROW;
void zhesvxx_( const char* fact, const char* uplo, const MKL_INT* n,
               const MKL_INT* nrhs, MKL_Complex16* a, const MKL_INT* lda,
               MKL_Complex16* af, const MKL_INT* ldaf, MKL_INT* ipiv,
               char* equed, double* s, MKL_Complex16* b, const MKL_INT* ldb,
               MKL_Complex16* x, const MKL_INT* ldx, double* rcond,
               double* rpvgrw, double* berr, const MKL_INT* n_err_bnds,
               double* err_bnds_norm, double* err_bnds_comp,
               const MKL_INT* nparams, double* params, MKL_Complex16* work,
               double* rwork, MKL_INT* info ) NOTHROW;

void ZHETD2( const char* uplo, const MKL_INT* n, MKL_Complex16* a,
             const MKL_INT* lda, double* d, double* e, MKL_Complex16* tau,
             MKL_INT* info ) NOTHROW;
void ZHETD2_( const char* uplo, const MKL_INT* n, MKL_Complex16* a,
              const MKL_INT* lda, double* d, double* e, MKL_Complex16* tau,
              MKL_INT* info ) NOTHROW;
void zhetd2( const char* uplo, const MKL_INT* n, MKL_Complex16* a,
             const MKL_INT* lda, double* d, double* e, MKL_Complex16* tau,
             MKL_INT* info ) NOTHROW;
void zhetd2_( const char* uplo, const MKL_INT* n, MKL_Complex16* a,
              const MKL_INT* lda, double* d, double* e, MKL_Complex16* tau,
              MKL_INT* info ) NOTHROW;

void ZHETF2( const char* uplo, const MKL_INT* n, MKL_Complex16* a,
             const MKL_INT* lda, MKL_INT* ipiv, MKL_INT* info ) NOTHROW;
void ZHETF2_( const char* uplo, const MKL_INT* n, MKL_Complex16* a,
              const MKL_INT* lda, MKL_INT* ipiv, MKL_INT* info ) NOTHROW;
void zhetf2( const char* uplo, const MKL_INT* n, MKL_Complex16* a,
             const MKL_INT* lda, MKL_INT* ipiv, MKL_INT* info ) NOTHROW;
void zhetf2_( const char* uplo, const MKL_INT* n, MKL_Complex16* a,
              const MKL_INT* lda, MKL_INT* ipiv, MKL_INT* info ) NOTHROW;

void ZHETRD( const char* uplo, const MKL_INT* n, MKL_Complex16* a,
             const MKL_INT* lda, double* d, double* e, MKL_Complex16* tau,
             MKL_Complex16* work, const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void ZHETRD_( const char* uplo, const MKL_INT* n, MKL_Complex16* a,
              const MKL_INT* lda, double* d, double* e, MKL_Complex16* tau,
              MKL_Complex16* work, const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void zhetrd( const char* uplo, const MKL_INT* n, MKL_Complex16* a,
             const MKL_INT* lda, double* d, double* e, MKL_Complex16* tau,
             MKL_Complex16* work, const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void zhetrd_( const char* uplo, const MKL_INT* n, MKL_Complex16* a,
              const MKL_INT* lda, double* d, double* e, MKL_Complex16* tau,
              MKL_Complex16* work, const MKL_INT* lwork, MKL_INT* info ) NOTHROW;

void ZHETRF( const char* uplo, const MKL_INT* n, MKL_Complex16* a,
             const MKL_INT* lda, MKL_INT* ipiv, MKL_Complex16* work,
             const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void ZHETRF_( const char* uplo, const MKL_INT* n, MKL_Complex16* a,
              const MKL_INT* lda, MKL_INT* ipiv, MKL_Complex16* work,
              const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void zhetrf( const char* uplo, const MKL_INT* n, MKL_Complex16* a,
             const MKL_INT* lda, MKL_INT* ipiv, MKL_Complex16* work,
             const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void zhetrf_( const char* uplo, const MKL_INT* n, MKL_Complex16* a,
              const MKL_INT* lda, MKL_INT* ipiv, MKL_Complex16* work,
              const MKL_INT* lwork, MKL_INT* info ) NOTHROW;

void ZHETRI( const char* uplo, const MKL_INT* n, MKL_Complex16* a,
             const MKL_INT* lda, const MKL_INT* ipiv, MKL_Complex16* work,
             MKL_INT* info ) NOTHROW;
void ZHETRI_( const char* uplo, const MKL_INT* n, MKL_Complex16* a,
              const MKL_INT* lda, const MKL_INT* ipiv, MKL_Complex16* work,
              MKL_INT* info ) NOTHROW;
void zhetri( const char* uplo, const MKL_INT* n, MKL_Complex16* a,
             const MKL_INT* lda, const MKL_INT* ipiv, MKL_Complex16* work,
             MKL_INT* info ) NOTHROW;
void zhetri_( const char* uplo, const MKL_INT* n, MKL_Complex16* a,
              const MKL_INT* lda, const MKL_INT* ipiv, MKL_Complex16* work,
              MKL_INT* info ) NOTHROW;

void ZHETRS( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs,
             const MKL_Complex16* a, const MKL_INT* lda, const MKL_INT* ipiv,
             MKL_Complex16* b, const MKL_INT* ldb, MKL_INT* info ) NOTHROW;
void ZHETRS_( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs,
              const MKL_Complex16* a, const MKL_INT* lda, const MKL_INT* ipiv,
              MKL_Complex16* b, const MKL_INT* ldb, MKL_INT* info ) NOTHROW;
void zhetrs( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs,
             const MKL_Complex16* a, const MKL_INT* lda, const MKL_INT* ipiv,
             MKL_Complex16* b, const MKL_INT* ldb, MKL_INT* info ) NOTHROW;
void zhetrs_( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs,
              const MKL_Complex16* a, const MKL_INT* lda, const MKL_INT* ipiv,
              MKL_Complex16* b, const MKL_INT* ldb, MKL_INT* info ) NOTHROW;

void ZHFRK( const char* transr, const char* uplo, const char* trans,
            const MKL_INT* n, const MKL_INT* k, const double* alpha,
            const MKL_Complex16* a, const MKL_INT* lda, const double* beta,
            MKL_Complex16* c ) NOTHROW;
void ZHFRK_( const char* transr, const char* uplo, const char* trans,
             const MKL_INT* n, const MKL_INT* k, const double* alpha,
             const MKL_Complex16* a, const MKL_INT* lda, const double* beta,
             MKL_Complex16* c ) NOTHROW;
void zhfrk( const char* transr, const char* uplo, const char* trans,
            const MKL_INT* n, const MKL_INT* k, const double* alpha,
            const MKL_Complex16* a, const MKL_INT* lda, const double* beta,
            MKL_Complex16* c ) NOTHROW;
void zhfrk_( const char* transr, const char* uplo, const char* trans,
             const MKL_INT* n, const MKL_INT* k, const double* alpha,
             const MKL_Complex16* a, const MKL_INT* lda, const double* beta,
             MKL_Complex16* c ) NOTHROW;

void ZHGEQZ( const char* job, const char* compq, const char* compz,
             const MKL_INT* n, const MKL_INT* ilo, const MKL_INT* ihi,
             MKL_Complex16* h, const MKL_INT* ldh, MKL_Complex16* t,
             const MKL_INT* ldt, MKL_Complex16* alpha, MKL_Complex16* beta,
             MKL_Complex16* q, const MKL_INT* ldq, MKL_Complex16* z,
             const MKL_INT* ldz, MKL_Complex16* work, const MKL_INT* lwork,
             double* rwork, MKL_INT* info ) NOTHROW;
void ZHGEQZ_( const char* job, const char* compq, const char* compz,
              const MKL_INT* n, const MKL_INT* ilo, const MKL_INT* ihi,
              MKL_Complex16* h, const MKL_INT* ldh, MKL_Complex16* t,
              const MKL_INT* ldt, MKL_Complex16* alpha, MKL_Complex16* beta,
              MKL_Complex16* q, const MKL_INT* ldq, MKL_Complex16* z,
              const MKL_INT* ldz, MKL_Complex16* work, const MKL_INT* lwork,
              double* rwork, MKL_INT* info ) NOTHROW;
void zhgeqz( const char* job, const char* compq, const char* compz,
             const MKL_INT* n, const MKL_INT* ilo, const MKL_INT* ihi,
             MKL_Complex16* h, const MKL_INT* ldh, MKL_Complex16* t,
             const MKL_INT* ldt, MKL_Complex16* alpha, MKL_Complex16* beta,
             MKL_Complex16* q, const MKL_INT* ldq, MKL_Complex16* z,
             const MKL_INT* ldz, MKL_Complex16* work, const MKL_INT* lwork,
             double* rwork, MKL_INT* info ) NOTHROW;
void zhgeqz_( const char* job, const char* compq, const char* compz,
              const MKL_INT* n, const MKL_INT* ilo, const MKL_INT* ihi,
              MKL_Complex16* h, const MKL_INT* ldh, MKL_Complex16* t,
              const MKL_INT* ldt, MKL_Complex16* alpha, MKL_Complex16* beta,
              MKL_Complex16* q, const MKL_INT* ldq, MKL_Complex16* z,
              const MKL_INT* ldz, MKL_Complex16* work, const MKL_INT* lwork,
              double* rwork, MKL_INT* info ) NOTHROW;

void ZHPCON( const char* uplo, const MKL_INT* n, const MKL_Complex16* ap,
             const MKL_INT* ipiv, const double* anorm, double* rcond,
             MKL_Complex16* work, MKL_INT* info ) NOTHROW;
void ZHPCON_( const char* uplo, const MKL_INT* n, const MKL_Complex16* ap,
              const MKL_INT* ipiv, const double* anorm, double* rcond,
              MKL_Complex16* work, MKL_INT* info ) NOTHROW;
void zhpcon( const char* uplo, const MKL_INT* n, const MKL_Complex16* ap,
             const MKL_INT* ipiv, const double* anorm, double* rcond,
             MKL_Complex16* work, MKL_INT* info ) NOTHROW;
void zhpcon_( const char* uplo, const MKL_INT* n, const MKL_Complex16* ap,
              const MKL_INT* ipiv, const double* anorm, double* rcond,
              MKL_Complex16* work, MKL_INT* info ) NOTHROW;

void ZHPEVD( const char* jobz, const char* uplo, const MKL_INT* n,
             MKL_Complex16* ap, double* w, MKL_Complex16* z,
             const MKL_INT* ldz, MKL_Complex16* work, const MKL_INT* lwork,
             double* rwork, const MKL_INT* lrwork, MKL_INT* iwork,
             const MKL_INT* liwork, MKL_INT* info ) NOTHROW;
void ZHPEVD_( const char* jobz, const char* uplo, const MKL_INT* n,
              MKL_Complex16* ap, double* w, MKL_Complex16* z,
              const MKL_INT* ldz, MKL_Complex16* work, const MKL_INT* lwork,
              double* rwork, const MKL_INT* lrwork, MKL_INT* iwork,
              const MKL_INT* liwork, MKL_INT* info ) NOTHROW;
void zhpevd( const char* jobz, const char* uplo, const MKL_INT* n,
             MKL_Complex16* ap, double* w, MKL_Complex16* z,
             const MKL_INT* ldz, MKL_Complex16* work, const MKL_INT* lwork,
             double* rwork, const MKL_INT* lrwork, MKL_INT* iwork,
             const MKL_INT* liwork, MKL_INT* info ) NOTHROW;
void zhpevd_( const char* jobz, const char* uplo, const MKL_INT* n,
              MKL_Complex16* ap, double* w, MKL_Complex16* z,
              const MKL_INT* ldz, MKL_Complex16* work, const MKL_INT* lwork,
              double* rwork, const MKL_INT* lrwork, MKL_INT* iwork,
              const MKL_INT* liwork, MKL_INT* info ) NOTHROW;

void ZHPEV( const char* jobz, const char* uplo, const MKL_INT* n,
            MKL_Complex16* ap, double* w, MKL_Complex16* z, const MKL_INT* ldz,
            MKL_Complex16* work, double* rwork, MKL_INT* info ) NOTHROW;
void ZHPEV_( const char* jobz, const char* uplo, const MKL_INT* n,
             MKL_Complex16* ap, double* w, MKL_Complex16* z,
             const MKL_INT* ldz, MKL_Complex16* work, double* rwork,
             MKL_INT* info ) NOTHROW;
void zhpev( const char* jobz, const char* uplo, const MKL_INT* n,
            MKL_Complex16* ap, double* w, MKL_Complex16* z, const MKL_INT* ldz,
            MKL_Complex16* work, double* rwork, MKL_INT* info ) NOTHROW;
void zhpev_( const char* jobz, const char* uplo, const MKL_INT* n,
             MKL_Complex16* ap, double* w, MKL_Complex16* z,
             const MKL_INT* ldz, MKL_Complex16* work, double* rwork,
             MKL_INT* info ) NOTHROW;

void ZHPEVX( const char* jobz, const char* range, const char* uplo,
             const MKL_INT* n, MKL_Complex16* ap, const double* vl,
             const double* vu, const MKL_INT* il, const MKL_INT* iu,
             const double* abstol, MKL_INT* m, double* w, MKL_Complex16* z,
             const MKL_INT* ldz, MKL_Complex16* work, double* rwork,
             MKL_INT* iwork, MKL_INT* ifail, MKL_INT* info ) NOTHROW;
void ZHPEVX_( const char* jobz, const char* range, const char* uplo,
              const MKL_INT* n, MKL_Complex16* ap, const double* vl,
              const double* vu, const MKL_INT* il, const MKL_INT* iu,
              const double* abstol, MKL_INT* m, double* w, MKL_Complex16* z,
              const MKL_INT* ldz, MKL_Complex16* work, double* rwork,
              MKL_INT* iwork, MKL_INT* ifail, MKL_INT* info ) NOTHROW;
void zhpevx( const char* jobz, const char* range, const char* uplo,
             const MKL_INT* n, MKL_Complex16* ap, const double* vl,
             const double* vu, const MKL_INT* il, const MKL_INT* iu,
             const double* abstol, MKL_INT* m, double* w, MKL_Complex16* z,
             const MKL_INT* ldz, MKL_Complex16* work, double* rwork,
             MKL_INT* iwork, MKL_INT* ifail, MKL_INT* info ) NOTHROW;
void zhpevx_( const char* jobz, const char* range, const char* uplo,
              const MKL_INT* n, MKL_Complex16* ap, const double* vl,
              const double* vu, const MKL_INT* il, const MKL_INT* iu,
              const double* abstol, MKL_INT* m, double* w, MKL_Complex16* z,
              const MKL_INT* ldz, MKL_Complex16* work, double* rwork,
              MKL_INT* iwork, MKL_INT* ifail, MKL_INT* info ) NOTHROW;

void ZHPGST( const MKL_INT* itype, const char* uplo, const MKL_INT* n,
             MKL_Complex16* ap, const MKL_Complex16* bp, MKL_INT* info ) NOTHROW;
void ZHPGST_( const MKL_INT* itype, const char* uplo, const MKL_INT* n,
              MKL_Complex16* ap, const MKL_Complex16* bp, MKL_INT* info ) NOTHROW;
void zhpgst( const MKL_INT* itype, const char* uplo, const MKL_INT* n,
             MKL_Complex16* ap, const MKL_Complex16* bp, MKL_INT* info ) NOTHROW;
void zhpgst_( const MKL_INT* itype, const char* uplo, const MKL_INT* n,
              MKL_Complex16* ap, const MKL_Complex16* bp, MKL_INT* info ) NOTHROW;

void ZHPGVD( const MKL_INT* itype, const char* jobz, const char* uplo,
             const MKL_INT* n, MKL_Complex16* ap, MKL_Complex16* bp, double* w,
             MKL_Complex16* z, const MKL_INT* ldz, MKL_Complex16* work,
             const MKL_INT* lwork, double* rwork, const MKL_INT* lrwork,
             MKL_INT* iwork, const MKL_INT* liwork, MKL_INT* info ) NOTHROW;
void ZHPGVD_( const MKL_INT* itype, const char* jobz, const char* uplo,
              const MKL_INT* n, MKL_Complex16* ap, MKL_Complex16* bp,
              double* w, MKL_Complex16* z, const MKL_INT* ldz,
              MKL_Complex16* work, const MKL_INT* lwork, double* rwork,
              const MKL_INT* lrwork, MKL_INT* iwork, const MKL_INT* liwork,
              MKL_INT* info ) NOTHROW;
void zhpgvd( const MKL_INT* itype, const char* jobz, const char* uplo,
             const MKL_INT* n, MKL_Complex16* ap, MKL_Complex16* bp, double* w,
             MKL_Complex16* z, const MKL_INT* ldz, MKL_Complex16* work,
             const MKL_INT* lwork, double* rwork, const MKL_INT* lrwork,
             MKL_INT* iwork, const MKL_INT* liwork, MKL_INT* info ) NOTHROW;
void zhpgvd_( const MKL_INT* itype, const char* jobz, const char* uplo,
              const MKL_INT* n, MKL_Complex16* ap, MKL_Complex16* bp,
              double* w, MKL_Complex16* z, const MKL_INT* ldz,
              MKL_Complex16* work, const MKL_INT* lwork, double* rwork,
              const MKL_INT* lrwork, MKL_INT* iwork, const MKL_INT* liwork,
              MKL_INT* info ) NOTHROW;

void ZHPGV( const MKL_INT* itype, const char* jobz, const char* uplo,
            const MKL_INT* n, MKL_Complex16* ap, MKL_Complex16* bp, double* w,
            MKL_Complex16* z, const MKL_INT* ldz, MKL_Complex16* work,
            double* rwork, MKL_INT* info ) NOTHROW;
void ZHPGV_( const MKL_INT* itype, const char* jobz, const char* uplo,
             const MKL_INT* n, MKL_Complex16* ap, MKL_Complex16* bp, double* w,
             MKL_Complex16* z, const MKL_INT* ldz, MKL_Complex16* work,
             double* rwork, MKL_INT* info ) NOTHROW;
void zhpgv( const MKL_INT* itype, const char* jobz, const char* uplo,
            const MKL_INT* n, MKL_Complex16* ap, MKL_Complex16* bp, double* w,
            MKL_Complex16* z, const MKL_INT* ldz, MKL_Complex16* work,
            double* rwork, MKL_INT* info ) NOTHROW;
void zhpgv_( const MKL_INT* itype, const char* jobz, const char* uplo,
             const MKL_INT* n, MKL_Complex16* ap, MKL_Complex16* bp, double* w,
             MKL_Complex16* z, const MKL_INT* ldz, MKL_Complex16* work,
             double* rwork, MKL_INT* info ) NOTHROW;

void ZHPGVX( const MKL_INT* itype, const char* jobz, const char* range,
             const char* uplo, const MKL_INT* n, MKL_Complex16* ap,
             MKL_Complex16* bp, const double* vl, const double* vu,
             const MKL_INT* il, const MKL_INT* iu, const double* abstol,
             MKL_INT* m, double* w, MKL_Complex16* z, const MKL_INT* ldz,
             MKL_Complex16* work, double* rwork, MKL_INT* iwork,
             MKL_INT* ifail, MKL_INT* info ) NOTHROW;
void ZHPGVX_( const MKL_INT* itype, const char* jobz, const char* range,
              const char* uplo, const MKL_INT* n, MKL_Complex16* ap,
              MKL_Complex16* bp, const double* vl, const double* vu,
              const MKL_INT* il, const MKL_INT* iu, const double* abstol,
              MKL_INT* m, double* w, MKL_Complex16* z, const MKL_INT* ldz,
              MKL_Complex16* work, double* rwork, MKL_INT* iwork,
              MKL_INT* ifail, MKL_INT* info ) NOTHROW;
void zhpgvx( const MKL_INT* itype, const char* jobz, const char* range,
             const char* uplo, const MKL_INT* n, MKL_Complex16* ap,
             MKL_Complex16* bp, const double* vl, const double* vu,
             const MKL_INT* il, const MKL_INT* iu, const double* abstol,
             MKL_INT* m, double* w, MKL_Complex16* z, const MKL_INT* ldz,
             MKL_Complex16* work, double* rwork, MKL_INT* iwork,
             MKL_INT* ifail, MKL_INT* info ) NOTHROW;
void zhpgvx_( const MKL_INT* itype, const char* jobz, const char* range,
              const char* uplo, const MKL_INT* n, MKL_Complex16* ap,
              MKL_Complex16* bp, const double* vl, const double* vu,
              const MKL_INT* il, const MKL_INT* iu, const double* abstol,
              MKL_INT* m, double* w, MKL_Complex16* z, const MKL_INT* ldz,
              MKL_Complex16* work, double* rwork, MKL_INT* iwork,
              MKL_INT* ifail, MKL_INT* info ) NOTHROW;

void ZHPRFS( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs,
             const MKL_Complex16* ap, const MKL_Complex16* afp,
             const MKL_INT* ipiv, const MKL_Complex16* b, const MKL_INT* ldb,
             MKL_Complex16* x, const MKL_INT* ldx, double* ferr, double* berr,
             MKL_Complex16* work, double* rwork, MKL_INT* info ) NOTHROW;
void ZHPRFS_( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs,
              const MKL_Complex16* ap, const MKL_Complex16* afp,
              const MKL_INT* ipiv, const MKL_Complex16* b, const MKL_INT* ldb,
              MKL_Complex16* x, const MKL_INT* ldx, double* ferr, double* berr,
              MKL_Complex16* work, double* rwork, MKL_INT* info ) NOTHROW;
void zhprfs( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs,
             const MKL_Complex16* ap, const MKL_Complex16* afp,
             const MKL_INT* ipiv, const MKL_Complex16* b, const MKL_INT* ldb,
             MKL_Complex16* x, const MKL_INT* ldx, double* ferr, double* berr,
             MKL_Complex16* work, double* rwork, MKL_INT* info ) NOTHROW;
void zhprfs_( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs,
              const MKL_Complex16* ap, const MKL_Complex16* afp,
              const MKL_INT* ipiv, const MKL_Complex16* b, const MKL_INT* ldb,
              MKL_Complex16* x, const MKL_INT* ldx, double* ferr, double* berr,
              MKL_Complex16* work, double* rwork, MKL_INT* info ) NOTHROW;

void ZHPSV( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs,
            MKL_Complex16* ap, MKL_INT* ipiv, MKL_Complex16* b,
            const MKL_INT* ldb, MKL_INT* info ) NOTHROW;
void ZHPSV_( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs,
             MKL_Complex16* ap, MKL_INT* ipiv, MKL_Complex16* b,
             const MKL_INT* ldb, MKL_INT* info ) NOTHROW;
void zhpsv( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs,
            MKL_Complex16* ap, MKL_INT* ipiv, MKL_Complex16* b,
            const MKL_INT* ldb, MKL_INT* info ) NOTHROW;
void zhpsv_( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs,
             MKL_Complex16* ap, MKL_INT* ipiv, MKL_Complex16* b,
             const MKL_INT* ldb, MKL_INT* info ) NOTHROW;

void ZHPSVX( const char* fact, const char* uplo, const MKL_INT* n,
             const MKL_INT* nrhs, const MKL_Complex16* ap, MKL_Complex16* afp,
             MKL_INT* ipiv, const MKL_Complex16* b, const MKL_INT* ldb,
             MKL_Complex16* x, const MKL_INT* ldx, double* rcond, double* ferr,
             double* berr, MKL_Complex16* work, double* rwork, MKL_INT* info ) NOTHROW;
void ZHPSVX_( const char* fact, const char* uplo, const MKL_INT* n,
              const MKL_INT* nrhs, const MKL_Complex16* ap, MKL_Complex16* afp,
              MKL_INT* ipiv, const MKL_Complex16* b, const MKL_INT* ldb,
              MKL_Complex16* x, const MKL_INT* ldx, double* rcond,
              double* ferr, double* berr, MKL_Complex16* work, double* rwork,
              MKL_INT* info ) NOTHROW;
void zhpsvx( const char* fact, const char* uplo, const MKL_INT* n,
             const MKL_INT* nrhs, const MKL_Complex16* ap, MKL_Complex16* afp,
             MKL_INT* ipiv, const MKL_Complex16* b, const MKL_INT* ldb,
             MKL_Complex16* x, const MKL_INT* ldx, double* rcond, double* ferr,
             double* berr, MKL_Complex16* work, double* rwork, MKL_INT* info ) NOTHROW;
void zhpsvx_( const char* fact, const char* uplo, const MKL_INT* n,
              const MKL_INT* nrhs, const MKL_Complex16* ap, MKL_Complex16* afp,
              MKL_INT* ipiv, const MKL_Complex16* b, const MKL_INT* ldb,
              MKL_Complex16* x, const MKL_INT* ldx, double* rcond,
              double* ferr, double* berr, MKL_Complex16* work, double* rwork,
              MKL_INT* info ) NOTHROW;

void ZHPTRD( const char* uplo, const MKL_INT* n, MKL_Complex16* ap, double* d,
             double* e, MKL_Complex16* tau, MKL_INT* info ) NOTHROW;
void ZHPTRD_( const char* uplo, const MKL_INT* n, MKL_Complex16* ap, double* d,
              double* e, MKL_Complex16* tau, MKL_INT* info ) NOTHROW;
void zhptrd( const char* uplo, const MKL_INT* n, MKL_Complex16* ap, double* d,
             double* e, MKL_Complex16* tau, MKL_INT* info ) NOTHROW;
void zhptrd_( const char* uplo, const MKL_INT* n, MKL_Complex16* ap, double* d,
              double* e, MKL_Complex16* tau, MKL_INT* info ) NOTHROW;

void ZHPTRF( const char* uplo, const MKL_INT* n, MKL_Complex16* ap,
             MKL_INT* ipiv, MKL_INT* info ) NOTHROW;
void ZHPTRF_( const char* uplo, const MKL_INT* n, MKL_Complex16* ap,
              MKL_INT* ipiv, MKL_INT* info ) NOTHROW;
void zhptrf( const char* uplo, const MKL_INT* n, MKL_Complex16* ap,
             MKL_INT* ipiv, MKL_INT* info ) NOTHROW;
void zhptrf_( const char* uplo, const MKL_INT* n, MKL_Complex16* ap,
              MKL_INT* ipiv, MKL_INT* info ) NOTHROW;

void ZHPTRI( const char* uplo, const MKL_INT* n, MKL_Complex16* ap,
             const MKL_INT* ipiv, MKL_Complex16* work, MKL_INT* info ) NOTHROW;
void ZHPTRI_( const char* uplo, const MKL_INT* n, MKL_Complex16* ap,
              const MKL_INT* ipiv, MKL_Complex16* work, MKL_INT* info ) NOTHROW;
void zhptri( const char* uplo, const MKL_INT* n, MKL_Complex16* ap,
             const MKL_INT* ipiv, MKL_Complex16* work, MKL_INT* info ) NOTHROW;
void zhptri_( const char* uplo, const MKL_INT* n, MKL_Complex16* ap,
              const MKL_INT* ipiv, MKL_Complex16* work, MKL_INT* info ) NOTHROW;

void ZHPTRS( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs,
             const MKL_Complex16* ap, const MKL_INT* ipiv, MKL_Complex16* b,
             const MKL_INT* ldb, MKL_INT* info ) NOTHROW;
void ZHPTRS_( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs,
              const MKL_Complex16* ap, const MKL_INT* ipiv, MKL_Complex16* b,
              const MKL_INT* ldb, MKL_INT* info ) NOTHROW;
void zhptrs( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs,
             const MKL_Complex16* ap, const MKL_INT* ipiv, MKL_Complex16* b,
             const MKL_INT* ldb, MKL_INT* info ) NOTHROW;
void zhptrs_( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs,
              const MKL_Complex16* ap, const MKL_INT* ipiv, MKL_Complex16* b,
              const MKL_INT* ldb, MKL_INT* info ) NOTHROW;

void ZHSEIN( const char* side, const char* eigsrc, const char* initv,
             const MKL_INT* select, const MKL_INT* n, const MKL_Complex16* h,
             const MKL_INT* ldh, MKL_Complex16* w, MKL_Complex16* vl,
             const MKL_INT* ldvl, MKL_Complex16* vr, const MKL_INT* ldvr,
             const MKL_INT* mm, MKL_INT* m, MKL_Complex16* work, double* rwork,
             MKL_INT* ifaill, MKL_INT* ifailr, MKL_INT* info ) NOTHROW;
void ZHSEIN_( const char* side, const char* eigsrc, const char* initv,
              const MKL_INT* select, const MKL_INT* n, const MKL_Complex16* h,
              const MKL_INT* ldh, MKL_Complex16* w, MKL_Complex16* vl,
              const MKL_INT* ldvl, MKL_Complex16* vr, const MKL_INT* ldvr,
              const MKL_INT* mm, MKL_INT* m, MKL_Complex16* work,
              double* rwork, MKL_INT* ifaill, MKL_INT* ifailr, MKL_INT* info ) NOTHROW;
void zhsein( const char* side, const char* eigsrc, const char* initv,
             const MKL_INT* select, const MKL_INT* n, const MKL_Complex16* h,
             const MKL_INT* ldh, MKL_Complex16* w, MKL_Complex16* vl,
             const MKL_INT* ldvl, MKL_Complex16* vr, const MKL_INT* ldvr,
             const MKL_INT* mm, MKL_INT* m, MKL_Complex16* work, double* rwork,
             MKL_INT* ifaill, MKL_INT* ifailr, MKL_INT* info ) NOTHROW;
void zhsein_( const char* side, const char* eigsrc, const char* initv,
              const MKL_INT* select, const MKL_INT* n, const MKL_Complex16* h,
              const MKL_INT* ldh, MKL_Complex16* w, MKL_Complex16* vl,
              const MKL_INT* ldvl, MKL_Complex16* vr, const MKL_INT* ldvr,
              const MKL_INT* mm, MKL_INT* m, MKL_Complex16* work,
              double* rwork, MKL_INT* ifaill, MKL_INT* ifailr, MKL_INT* info ) NOTHROW;

void ZHSEQR( const char* job, const char* compz, const MKL_INT* n,
             const MKL_INT* ilo, const MKL_INT* ihi, MKL_Complex16* h,
             const MKL_INT* ldh, MKL_Complex16* w, MKL_Complex16* z,
             const MKL_INT* ldz, MKL_Complex16* work, const MKL_INT* lwork,
             MKL_INT* info ) NOTHROW;
void ZHSEQR_( const char* job, const char* compz, const MKL_INT* n,
              const MKL_INT* ilo, const MKL_INT* ihi, MKL_Complex16* h,
              const MKL_INT* ldh, MKL_Complex16* w, MKL_Complex16* z,
              const MKL_INT* ldz, MKL_Complex16* work, const MKL_INT* lwork,
              MKL_INT* info ) NOTHROW;
void zhseqr( const char* job, const char* compz, const MKL_INT* n,
             const MKL_INT* ilo, const MKL_INT* ihi, MKL_Complex16* h,
             const MKL_INT* ldh, MKL_Complex16* w, MKL_Complex16* z,
             const MKL_INT* ldz, MKL_Complex16* work, const MKL_INT* lwork,
             MKL_INT* info ) NOTHROW;
void zhseqr_( const char* job, const char* compz, const MKL_INT* n,
              const MKL_INT* ilo, const MKL_INT* ihi, MKL_Complex16* h,
              const MKL_INT* ldh, MKL_Complex16* w, MKL_Complex16* z,
              const MKL_INT* ldz, MKL_Complex16* work, const MKL_INT* lwork,
              MKL_INT* info ) NOTHROW;

void ZLABRD( const MKL_INT* m, const MKL_INT* n, const MKL_INT* nb,
             MKL_Complex16* a, const MKL_INT* lda, double* d, double* e,
             MKL_Complex16* tauq, MKL_Complex16* taup, MKL_Complex16* x,
             const MKL_INT* ldx, MKL_Complex16* y, const MKL_INT* ldy ) NOTHROW;
void ZLABRD_( const MKL_INT* m, const MKL_INT* n, const MKL_INT* nb,
              MKL_Complex16* a, const MKL_INT* lda, double* d, double* e,
              MKL_Complex16* tauq, MKL_Complex16* taup, MKL_Complex16* x,
              const MKL_INT* ldx, MKL_Complex16* y, const MKL_INT* ldy ) NOTHROW;
void zlabrd( const MKL_INT* m, const MKL_INT* n, const MKL_INT* nb,
             MKL_Complex16* a, const MKL_INT* lda, double* d, double* e,
             MKL_Complex16* tauq, MKL_Complex16* taup, MKL_Complex16* x,
             const MKL_INT* ldx, MKL_Complex16* y, const MKL_INT* ldy ) NOTHROW;
void zlabrd_( const MKL_INT* m, const MKL_INT* n, const MKL_INT* nb,
              MKL_Complex16* a, const MKL_INT* lda, double* d, double* e,
              MKL_Complex16* tauq, MKL_Complex16* taup, MKL_Complex16* x,
              const MKL_INT* ldx, MKL_Complex16* y, const MKL_INT* ldy ) NOTHROW;

void ZLACGV( const MKL_INT* n, MKL_Complex16* x, const MKL_INT* incx ) NOTHROW;
void ZLACGV_( const MKL_INT* n, MKL_Complex16* x, const MKL_INT* incx ) NOTHROW;
void zlacgv( const MKL_INT* n, MKL_Complex16* x, const MKL_INT* incx ) NOTHROW;
void zlacgv_( const MKL_INT* n, MKL_Complex16* x, const MKL_INT* incx ) NOTHROW;

void ZLACN2( const MKL_INT* n, MKL_Complex16* v, MKL_Complex16* x, double* est,
             MKL_INT* kase, MKL_INT* isave ) NOTHROW;
void ZLACN2_( const MKL_INT* n, MKL_Complex16* v, MKL_Complex16* x,
              double* est, MKL_INT* kase, MKL_INT* isave ) NOTHROW;
void zlacn2( const MKL_INT* n, MKL_Complex16* v, MKL_Complex16* x, double* est,
             MKL_INT* kase, MKL_INT* isave ) NOTHROW;
void zlacn2_( const MKL_INT* n, MKL_Complex16* v, MKL_Complex16* x,
              double* est, MKL_INT* kase, MKL_INT* isave ) NOTHROW;

void ZLACON( const MKL_INT* n, MKL_Complex16* v, MKL_Complex16* x, double* est,
             MKL_INT* kase ) NOTHROW;
void ZLACON_( const MKL_INT* n, MKL_Complex16* v, MKL_Complex16* x,
              double* est, MKL_INT* kase ) NOTHROW;
void zlacon( const MKL_INT* n, MKL_Complex16* v, MKL_Complex16* x, double* est,
             MKL_INT* kase ) NOTHROW;
void zlacon_( const MKL_INT* n, MKL_Complex16* v, MKL_Complex16* x,
              double* est, MKL_INT* kase ) NOTHROW;

void ZLACP2( const char* uplo, const MKL_INT* m, const MKL_INT* n,
             const double* a, const MKL_INT* lda, MKL_Complex16* b,
             const MKL_INT* ldb ) NOTHROW;
void ZLACP2_( const char* uplo, const MKL_INT* m, const MKL_INT* n,
              const double* a, const MKL_INT* lda, MKL_Complex16* b,
              const MKL_INT* ldb ) NOTHROW;
void zlacp2( const char* uplo, const MKL_INT* m, const MKL_INT* n,
             const double* a, const MKL_INT* lda, MKL_Complex16* b,
             const MKL_INT* ldb ) NOTHROW;
void zlacp2_( const char* uplo, const MKL_INT* m, const MKL_INT* n,
              const double* a, const MKL_INT* lda, MKL_Complex16* b,
              const MKL_INT* ldb ) NOTHROW;

void ZLACPY( const char* uplo, const MKL_INT* m, const MKL_INT* n,
             const MKL_Complex16* a, const MKL_INT* lda, MKL_Complex16* b,
             const MKL_INT* ldb ) NOTHROW;
void ZLACPY_( const char* uplo, const MKL_INT* m, const MKL_INT* n,
              const MKL_Complex16* a, const MKL_INT* lda, MKL_Complex16* b,
              const MKL_INT* ldb ) NOTHROW;
void zlacpy( const char* uplo, const MKL_INT* m, const MKL_INT* n,
             const MKL_Complex16* a, const MKL_INT* lda, MKL_Complex16* b,
             const MKL_INT* ldb ) NOTHROW;
void zlacpy_( const char* uplo, const MKL_INT* m, const MKL_INT* n,
              const MKL_Complex16* a, const MKL_INT* lda, MKL_Complex16* b,
              const MKL_INT* ldb ) NOTHROW;

void ZLACRM( const MKL_INT* m, const MKL_INT* n, const MKL_Complex16* a,
             const MKL_INT* lda, const double* b, const MKL_INT* ldb,
             MKL_Complex16* c, const MKL_INT* ldc, double* rwork ) NOTHROW;
void ZLACRM_( const MKL_INT* m, const MKL_INT* n, const MKL_Complex16* a,
              const MKL_INT* lda, const double* b, const MKL_INT* ldb,
              MKL_Complex16* c, const MKL_INT* ldc, double* rwork ) NOTHROW;
void zlacrm( const MKL_INT* m, const MKL_INT* n, const MKL_Complex16* a,
             const MKL_INT* lda, const double* b, const MKL_INT* ldb,
             MKL_Complex16* c, const MKL_INT* ldc, double* rwork ) NOTHROW;
void zlacrm_( const MKL_INT* m, const MKL_INT* n, const MKL_Complex16* a,
              const MKL_INT* lda, const double* b, const MKL_INT* ldb,
              MKL_Complex16* c, const MKL_INT* ldc, double* rwork ) NOTHROW;

void ZLACRT( const MKL_INT* n, MKL_Complex16* cx, const MKL_INT* incx,
             MKL_Complex16* cy, const MKL_INT* incy, const MKL_Complex16* c,
             const MKL_Complex16* s ) NOTHROW;
void ZLACRT_( const MKL_INT* n, MKL_Complex16* cx, const MKL_INT* incx,
              MKL_Complex16* cy, const MKL_INT* incy, const MKL_Complex16* c,
              const MKL_Complex16* s ) NOTHROW;
void zlacrt( const MKL_INT* n, MKL_Complex16* cx, const MKL_INT* incx,
             MKL_Complex16* cy, const MKL_INT* incy, const MKL_Complex16* c,
             const MKL_Complex16* s ) NOTHROW;
void zlacrt_( const MKL_INT* n, MKL_Complex16* cx, const MKL_INT* incx,
              MKL_Complex16* cy, const MKL_INT* incy, const MKL_Complex16* c,
              const MKL_Complex16* s ) NOTHROW;

void ZLADIV( MKL_Complex16* ret_value, const MKL_Complex16* x,
             const MKL_Complex16* y ) NOTHROW;
void ZLADIV_( MKL_Complex16* ret_value, const MKL_Complex16* x,
              const MKL_Complex16* y ) NOTHROW;
void zladiv( MKL_Complex16* ret_value, const MKL_Complex16* x,
             const MKL_Complex16* y ) NOTHROW;
void zladiv_( MKL_Complex16* ret_value, const MKL_Complex16* x,
              const MKL_Complex16* y ) NOTHROW;

void ZLAED0( const MKL_INT* qsiz, const MKL_INT* n, double* d, double* e,
             MKL_Complex16* q, const MKL_INT* ldq, MKL_Complex16* qstore,
             const MKL_INT* ldqs, double* rwork, MKL_INT* iwork,
             MKL_INT* info ) NOTHROW;
void ZLAED0_( const MKL_INT* qsiz, const MKL_INT* n, double* d, double* e,
              MKL_Complex16* q, const MKL_INT* ldq, MKL_Complex16* qstore,
              const MKL_INT* ldqs, double* rwork, MKL_INT* iwork,
              MKL_INT* info ) NOTHROW;
void zlaed0( const MKL_INT* qsiz, const MKL_INT* n, double* d, double* e,
             MKL_Complex16* q, const MKL_INT* ldq, MKL_Complex16* qstore,
             const MKL_INT* ldqs, double* rwork, MKL_INT* iwork,
             MKL_INT* info ) NOTHROW;
void zlaed0_( const MKL_INT* qsiz, const MKL_INT* n, double* d, double* e,
              MKL_Complex16* q, const MKL_INT* ldq, MKL_Complex16* qstore,
              const MKL_INT* ldqs, double* rwork, MKL_INT* iwork,
              MKL_INT* info ) NOTHROW;

void ZLAED7( const MKL_INT* n, const MKL_INT* cutpnt, const MKL_INT* qsiz,
             const MKL_INT* tlvls, const MKL_INT* curlvl,
             const MKL_INT* curpbm, double* d, MKL_Complex16* q,
             const MKL_INT* ldq, const double* rho, MKL_INT* indxq,
             double* qstore, MKL_INT* qptr, const MKL_INT* prmptr,
             const MKL_INT* perm, const MKL_INT* givptr, const MKL_INT* givcol,
             const double* givnum, MKL_Complex16* work, double* rwork,
             MKL_INT* iwork, MKL_INT* info ) NOTHROW;
void ZLAED7_( const MKL_INT* n, const MKL_INT* cutpnt, const MKL_INT* qsiz,
              const MKL_INT* tlvls, const MKL_INT* curlvl,
              const MKL_INT* curpbm, double* d, MKL_Complex16* q,
              const MKL_INT* ldq, const double* rho, MKL_INT* indxq,
              double* qstore, MKL_INT* qptr, const MKL_INT* prmptr,
              const MKL_INT* perm, const MKL_INT* givptr,
              const MKL_INT* givcol, const double* givnum, MKL_Complex16* work,
              double* rwork, MKL_INT* iwork, MKL_INT* info ) NOTHROW;
void zlaed7( const MKL_INT* n, const MKL_INT* cutpnt, const MKL_INT* qsiz,
             const MKL_INT* tlvls, const MKL_INT* curlvl,
             const MKL_INT* curpbm, double* d, MKL_Complex16* q,
             const MKL_INT* ldq, const double* rho, MKL_INT* indxq,
             double* qstore, MKL_INT* qptr, const MKL_INT* prmptr,
             const MKL_INT* perm, const MKL_INT* givptr, const MKL_INT* givcol,
             const double* givnum, MKL_Complex16* work, double* rwork,
             MKL_INT* iwork, MKL_INT* info ) NOTHROW;
void zlaed7_( const MKL_INT* n, const MKL_INT* cutpnt, const MKL_INT* qsiz,
              const MKL_INT* tlvls, const MKL_INT* curlvl,
              const MKL_INT* curpbm, double* d, MKL_Complex16* q,
              const MKL_INT* ldq, const double* rho, MKL_INT* indxq,
              double* qstore, MKL_INT* qptr, const MKL_INT* prmptr,
              const MKL_INT* perm, const MKL_INT* givptr,
              const MKL_INT* givcol, const double* givnum, MKL_Complex16* work,
              double* rwork, MKL_INT* iwork, MKL_INT* info ) NOTHROW;

void ZLAED8( MKL_INT* k, const MKL_INT* n, const MKL_INT* qsiz,
             MKL_Complex16* q, const MKL_INT* ldq, double* d, double* rho,
             const MKL_INT* cutpnt, const double* z, double* dlamda,
             MKL_Complex16* q2, const MKL_INT* ldq2, double* w, MKL_INT* indxp,
             MKL_INT* indx, const MKL_INT* indxq, MKL_INT* perm,
             MKL_INT* givptr, MKL_INT* givcol, double* givnum, MKL_INT* info ) NOTHROW;
void ZLAED8_( MKL_INT* k, const MKL_INT* n, const MKL_INT* qsiz,
              MKL_Complex16* q, const MKL_INT* ldq, double* d, double* rho,
              const MKL_INT* cutpnt, const double* z, double* dlamda,
              MKL_Complex16* q2, const MKL_INT* ldq2, double* w,
              MKL_INT* indxp, MKL_INT* indx, const MKL_INT* indxq,
              MKL_INT* perm, MKL_INT* givptr, MKL_INT* givcol, double* givnum,
              MKL_INT* info ) NOTHROW;
void zlaed8( MKL_INT* k, const MKL_INT* n, const MKL_INT* qsiz,
             MKL_Complex16* q, const MKL_INT* ldq, double* d, double* rho,
             const MKL_INT* cutpnt, const double* z, double* dlamda,
             MKL_Complex16* q2, const MKL_INT* ldq2, double* w, MKL_INT* indxp,
             MKL_INT* indx, const MKL_INT* indxq, MKL_INT* perm,
             MKL_INT* givptr, MKL_INT* givcol, double* givnum, MKL_INT* info ) NOTHROW;
void zlaed8_( MKL_INT* k, const MKL_INT* n, const MKL_INT* qsiz,
              MKL_Complex16* q, const MKL_INT* ldq, double* d, double* rho,
              const MKL_INT* cutpnt, const double* z, double* dlamda,
              MKL_Complex16* q2, const MKL_INT* ldq2, double* w,
              MKL_INT* indxp, MKL_INT* indx, const MKL_INT* indxq,
              MKL_INT* perm, MKL_INT* givptr, MKL_INT* givcol, double* givnum,
              MKL_INT* info ) NOTHROW;

void ZLAEIN( const MKL_INT* rightv, const MKL_INT* noinit, const MKL_INT* n,
             const MKL_Complex16* h, const MKL_INT* ldh,
             const MKL_Complex16* w, MKL_Complex16* v, MKL_Complex16* b,
             const MKL_INT* ldb, double* rwork, const double* eps3,
             const double* smlnum, MKL_INT* info ) NOTHROW;
void ZLAEIN_( const MKL_INT* rightv, const MKL_INT* noinit, const MKL_INT* n,
              const MKL_Complex16* h, const MKL_INT* ldh,
              const MKL_Complex16* w, MKL_Complex16* v, MKL_Complex16* b,
              const MKL_INT* ldb, double* rwork, const double* eps3,
              const double* smlnum, MKL_INT* info ) NOTHROW;
void zlaein( const MKL_INT* rightv, const MKL_INT* noinit, const MKL_INT* n,
             const MKL_Complex16* h, const MKL_INT* ldh,
             const MKL_Complex16* w, MKL_Complex16* v, MKL_Complex16* b,
             const MKL_INT* ldb, double* rwork, const double* eps3,
             const double* smlnum, MKL_INT* info ) NOTHROW;
void zlaein_( const MKL_INT* rightv, const MKL_INT* noinit, const MKL_INT* n,
              const MKL_Complex16* h, const MKL_INT* ldh,
              const MKL_Complex16* w, MKL_Complex16* v, MKL_Complex16* b,
              const MKL_INT* ldb, double* rwork, const double* eps3,
              const double* smlnum, MKL_INT* info ) NOTHROW;

void ZLAESY( const MKL_Complex16* a, const MKL_Complex16* b,
             const MKL_Complex16* c, MKL_Complex16* rt1, MKL_Complex16* rt2,
             MKL_Complex16* evscal, MKL_Complex16* cs1, MKL_Complex16* sn1 ) NOTHROW;
void ZLAESY_( const MKL_Complex16* a, const MKL_Complex16* b,
              const MKL_Complex16* c, MKL_Complex16* rt1, MKL_Complex16* rt2,
              MKL_Complex16* evscal, MKL_Complex16* cs1, MKL_Complex16* sn1 ) NOTHROW;
void zlaesy( const MKL_Complex16* a, const MKL_Complex16* b,
             const MKL_Complex16* c, MKL_Complex16* rt1, MKL_Complex16* rt2,
             MKL_Complex16* evscal, MKL_Complex16* cs1, MKL_Complex16* sn1 ) NOTHROW;
void zlaesy_( const MKL_Complex16* a, const MKL_Complex16* b,
              const MKL_Complex16* c, MKL_Complex16* rt1, MKL_Complex16* rt2,
              MKL_Complex16* evscal, MKL_Complex16* cs1, MKL_Complex16* sn1 ) NOTHROW;

void ZLAEV2( const MKL_Complex16* a, const MKL_Complex16* b,
             const MKL_Complex16* c, double* rt1, double* rt2, double* cs1,
             MKL_Complex16* sn1 ) NOTHROW;
void ZLAEV2_( const MKL_Complex16* a, const MKL_Complex16* b,
              const MKL_Complex16* c, double* rt1, double* rt2, double* cs1,
              MKL_Complex16* sn1 ) NOTHROW;
void zlaev2( const MKL_Complex16* a, const MKL_Complex16* b,
             const MKL_Complex16* c, double* rt1, double* rt2, double* cs1,
             MKL_Complex16* sn1 ) NOTHROW;
void zlaev2_( const MKL_Complex16* a, const MKL_Complex16* b,
              const MKL_Complex16* c, double* rt1, double* rt2, double* cs1,
              MKL_Complex16* sn1 ) NOTHROW;

void ZLAG2C( const MKL_INT* m, const MKL_INT* n, const MKL_Complex16* a,
             const MKL_INT* lda, MKL_Complex8* sa, const MKL_INT* ldsa,
             MKL_INT* info ) NOTHROW;
void ZLAG2C_( const MKL_INT* m, const MKL_INT* n, const MKL_Complex16* a,
              const MKL_INT* lda, MKL_Complex8* sa, const MKL_INT* ldsa,
              MKL_INT* info ) NOTHROW;
void zlag2c( const MKL_INT* m, const MKL_INT* n, const MKL_Complex16* a,
             const MKL_INT* lda, MKL_Complex8* sa, const MKL_INT* ldsa,
             MKL_INT* info ) NOTHROW;
void zlag2c_( const MKL_INT* m, const MKL_INT* n, const MKL_Complex16* a,
              const MKL_INT* lda, MKL_Complex8* sa, const MKL_INT* ldsa,
              MKL_INT* info ) NOTHROW;

void ZLAGS2( const MKL_INT* upper, const double* a1, const MKL_Complex16* a2,
             const double* a3, const double* b1, const MKL_Complex16* b2,
             const double* b3, double* csu, MKL_Complex16* snu, double* csv,
             MKL_Complex16* snv, double* csq, MKL_Complex16* snq ) NOTHROW;
void ZLAGS2_( const MKL_INT* upper, const double* a1, const MKL_Complex16* a2,
              const double* a3, const double* b1, const MKL_Complex16* b2,
              const double* b3, double* csu, MKL_Complex16* snu, double* csv,
              MKL_Complex16* snv, double* csq, MKL_Complex16* snq ) NOTHROW;
void zlags2( const MKL_INT* upper, const double* a1, const MKL_Complex16* a2,
             const double* a3, const double* b1, const MKL_Complex16* b2,
             const double* b3, double* csu, MKL_Complex16* snu, double* csv,
             MKL_Complex16* snv, double* csq, MKL_Complex16* snq ) NOTHROW;
void zlags2_( const MKL_INT* upper, const double* a1, const MKL_Complex16* a2,
              const double* a3, const double* b1, const MKL_Complex16* b2,
              const double* b3, double* csu, MKL_Complex16* snu, double* csv,
              MKL_Complex16* snv, double* csq, MKL_Complex16* snq ) NOTHROW;

void ZLAGTM( const char* trans, const MKL_INT* n, const MKL_INT* nrhs,
             const double* alpha, const MKL_Complex16* dl,
             const MKL_Complex16* d, const MKL_Complex16* du,
             const MKL_Complex16* x, const MKL_INT* ldx, const double* beta,
             MKL_Complex16* b, const MKL_INT* ldb ) NOTHROW;
void ZLAGTM_( const char* trans, const MKL_INT* n, const MKL_INT* nrhs,
              const double* alpha, const MKL_Complex16* dl,
              const MKL_Complex16* d, const MKL_Complex16* du,
              const MKL_Complex16* x, const MKL_INT* ldx, const double* beta,
              MKL_Complex16* b, const MKL_INT* ldb ) NOTHROW;
void zlagtm( const char* trans, const MKL_INT* n, const MKL_INT* nrhs,
             const double* alpha, const MKL_Complex16* dl,
             const MKL_Complex16* d, const MKL_Complex16* du,
             const MKL_Complex16* x, const MKL_INT* ldx, const double* beta,
             MKL_Complex16* b, const MKL_INT* ldb ) NOTHROW;
void zlagtm_( const char* trans, const MKL_INT* n, const MKL_INT* nrhs,
              const double* alpha, const MKL_Complex16* dl,
              const MKL_Complex16* d, const MKL_Complex16* du,
              const MKL_Complex16* x, const MKL_INT* ldx, const double* beta,
              MKL_Complex16* b, const MKL_INT* ldb ) NOTHROW;

void ZLAHEF( const char* uplo, const MKL_INT* n, const MKL_INT* nb,
             MKL_INT* kb, MKL_Complex16* a, const MKL_INT* lda, MKL_INT* ipiv,
             MKL_Complex16* w, const MKL_INT* ldw, MKL_INT* info ) NOTHROW;
void ZLAHEF_( const char* uplo, const MKL_INT* n, const MKL_INT* nb,
              MKL_INT* kb, MKL_Complex16* a, const MKL_INT* lda, MKL_INT* ipiv,
              MKL_Complex16* w, const MKL_INT* ldw, MKL_INT* info ) NOTHROW;
void zlahef( const char* uplo, const MKL_INT* n, const MKL_INT* nb,
             MKL_INT* kb, MKL_Complex16* a, const MKL_INT* lda, MKL_INT* ipiv,
             MKL_Complex16* w, const MKL_INT* ldw, MKL_INT* info ) NOTHROW;
void zlahef_( const char* uplo, const MKL_INT* n, const MKL_INT* nb,
              MKL_INT* kb, MKL_Complex16* a, const MKL_INT* lda, MKL_INT* ipiv,
              MKL_Complex16* w, const MKL_INT* ldw, MKL_INT* info ) NOTHROW;

void ZLAHQR( const MKL_INT* wantt, const MKL_INT* wantz, const MKL_INT* n,
             const MKL_INT* ilo, const MKL_INT* ihi, MKL_Complex16* h,
             const MKL_INT* ldh, MKL_Complex16* w, const MKL_INT* iloz,
             const MKL_INT* ihiz, MKL_Complex16* z, const MKL_INT* ldz,
             MKL_INT* info ) NOTHROW;
void ZLAHQR_( const MKL_INT* wantt, const MKL_INT* wantz, const MKL_INT* n,
              const MKL_INT* ilo, const MKL_INT* ihi, MKL_Complex16* h,
              const MKL_INT* ldh, MKL_Complex16* w, const MKL_INT* iloz,
              const MKL_INT* ihiz, MKL_Complex16* z, const MKL_INT* ldz,
              MKL_INT* info ) NOTHROW;
void zlahqr( const MKL_INT* wantt, const MKL_INT* wantz, const MKL_INT* n,
             const MKL_INT* ilo, const MKL_INT* ihi, MKL_Complex16* h,
             const MKL_INT* ldh, MKL_Complex16* w, const MKL_INT* iloz,
             const MKL_INT* ihiz, MKL_Complex16* z, const MKL_INT* ldz,
             MKL_INT* info ) NOTHROW;
void zlahqr_( const MKL_INT* wantt, const MKL_INT* wantz, const MKL_INT* n,
              const MKL_INT* ilo, const MKL_INT* ihi, MKL_Complex16* h,
              const MKL_INT* ldh, MKL_Complex16* w, const MKL_INT* iloz,
              const MKL_INT* ihiz, MKL_Complex16* z, const MKL_INT* ldz,
              MKL_INT* info ) NOTHROW;

void ZLAHR2( const MKL_INT* n, const MKL_INT* k, const MKL_INT* nb,
             MKL_Complex16* a, const MKL_INT* lda, MKL_Complex16* tau,
             MKL_Complex16* t, const MKL_INT* ldt, MKL_Complex16* y,
             const MKL_INT* ldy ) NOTHROW;
void ZLAHR2_( const MKL_INT* n, const MKL_INT* k, const MKL_INT* nb,
              MKL_Complex16* a, const MKL_INT* lda, MKL_Complex16* tau,
              MKL_Complex16* t, const MKL_INT* ldt, MKL_Complex16* y,
              const MKL_INT* ldy ) NOTHROW;
void zlahr2( const MKL_INT* n, const MKL_INT* k, const MKL_INT* nb,
             MKL_Complex16* a, const MKL_INT* lda, MKL_Complex16* tau,
             MKL_Complex16* t, const MKL_INT* ldt, MKL_Complex16* y,
             const MKL_INT* ldy ) NOTHROW;
void zlahr2_( const MKL_INT* n, const MKL_INT* k, const MKL_INT* nb,
              MKL_Complex16* a, const MKL_INT* lda, MKL_Complex16* tau,
              MKL_Complex16* t, const MKL_INT* ldt, MKL_Complex16* y,
              const MKL_INT* ldy ) NOTHROW;

void ZLAHRD( const MKL_INT* n, const MKL_INT* k, const MKL_INT* nb,
             MKL_Complex16* a, const MKL_INT* lda, MKL_Complex16* tau,
             MKL_Complex16* t, const MKL_INT* ldt, MKL_Complex16* y,
             const MKL_INT* ldy ) NOTHROW;
void ZLAHRD_( const MKL_INT* n, const MKL_INT* k, const MKL_INT* nb,
              MKL_Complex16* a, const MKL_INT* lda, MKL_Complex16* tau,
              MKL_Complex16* t, const MKL_INT* ldt, MKL_Complex16* y,
              const MKL_INT* ldy ) NOTHROW;
void zlahrd( const MKL_INT* n, const MKL_INT* k, const MKL_INT* nb,
             MKL_Complex16* a, const MKL_INT* lda, MKL_Complex16* tau,
             MKL_Complex16* t, const MKL_INT* ldt, MKL_Complex16* y,
             const MKL_INT* ldy ) NOTHROW;
void zlahrd_( const MKL_INT* n, const MKL_INT* k, const MKL_INT* nb,
              MKL_Complex16* a, const MKL_INT* lda, MKL_Complex16* tau,
              MKL_Complex16* t, const MKL_INT* ldt, MKL_Complex16* y,
              const MKL_INT* ldy ) NOTHROW;

void ZLAIC1( const MKL_INT* job, const MKL_INT* j, const MKL_Complex16* x,
             const double* sest, const MKL_Complex16* w,
             const MKL_Complex16* gamma, double* sestpr, MKL_Complex16* s,
             MKL_Complex16* c ) NOTHROW;
void ZLAIC1_( const MKL_INT* job, const MKL_INT* j, const MKL_Complex16* x,
              const double* sest, const MKL_Complex16* w,
              const MKL_Complex16* gamma, double* sestpr, MKL_Complex16* s,
              MKL_Complex16* c ) NOTHROW;
void zlaic1( const MKL_INT* job, const MKL_INT* j, const MKL_Complex16* x,
             const double* sest, const MKL_Complex16* w,
             const MKL_Complex16* gamma, double* sestpr, MKL_Complex16* s,
             MKL_Complex16* c ) NOTHROW;
void zlaic1_( const MKL_INT* job, const MKL_INT* j, const MKL_Complex16* x,
              const double* sest, const MKL_Complex16* w,
              const MKL_Complex16* gamma, double* sestpr, MKL_Complex16* s,
              MKL_Complex16* c ) NOTHROW;

void ZLALS0( const MKL_INT* icompq, const MKL_INT* nl, const MKL_INT* nr,
             const MKL_INT* sqre, const MKL_INT* nrhs, MKL_Complex16* b,
             const MKL_INT* ldb, MKL_Complex16* bx, const MKL_INT* ldbx,
             const MKL_INT* perm, const MKL_INT* givptr, const MKL_INT* givcol,
             const MKL_INT* ldgcol, const double* givnum,
             const MKL_INT* ldgnum, const double* poles, const double* difl,
             const double* difr, const double* z, const MKL_INT* k,
             const double* c, const double* s, double* rwork, MKL_INT* info ) NOTHROW;
void ZLALS0_( const MKL_INT* icompq, const MKL_INT* nl, const MKL_INT* nr,
              const MKL_INT* sqre, const MKL_INT* nrhs, MKL_Complex16* b,
              const MKL_INT* ldb, MKL_Complex16* bx, const MKL_INT* ldbx,
              const MKL_INT* perm, const MKL_INT* givptr,
              const MKL_INT* givcol, const MKL_INT* ldgcol,
              const double* givnum, const MKL_INT* ldgnum, const double* poles,
              const double* difl, const double* difr, const double* z,
              const MKL_INT* k, const double* c, const double* s,
              double* rwork, MKL_INT* info ) NOTHROW;
void zlals0( const MKL_INT* icompq, const MKL_INT* nl, const MKL_INT* nr,
             const MKL_INT* sqre, const MKL_INT* nrhs, MKL_Complex16* b,
             const MKL_INT* ldb, MKL_Complex16* bx, const MKL_INT* ldbx,
             const MKL_INT* perm, const MKL_INT* givptr, const MKL_INT* givcol,
             const MKL_INT* ldgcol, const double* givnum,
             const MKL_INT* ldgnum, const double* poles, const double* difl,
             const double* difr, const double* z, const MKL_INT* k,
             const double* c, const double* s, double* rwork, MKL_INT* info ) NOTHROW;
void zlals0_( const MKL_INT* icompq, const MKL_INT* nl, const MKL_INT* nr,
              const MKL_INT* sqre, const MKL_INT* nrhs, MKL_Complex16* b,
              const MKL_INT* ldb, MKL_Complex16* bx, const MKL_INT* ldbx,
              const MKL_INT* perm, const MKL_INT* givptr,
              const MKL_INT* givcol, const MKL_INT* ldgcol,
              const double* givnum, const MKL_INT* ldgnum, const double* poles,
              const double* difl, const double* difr, const double* z,
              const MKL_INT* k, const double* c, const double* s,
              double* rwork, MKL_INT* info ) NOTHROW;

void ZLALSA( const MKL_INT* icompq, const MKL_INT* smlsiz, const MKL_INT* n,
             const MKL_INT* nrhs, MKL_Complex16* b, const MKL_INT* ldb,
             MKL_Complex16* bx, const MKL_INT* ldbx, const double* u,
             const MKL_INT* ldu, const double* vt, const MKL_INT* k,
             const double* difl, const double* difr, const double* z,
             const double* poles, const MKL_INT* givptr, const MKL_INT* givcol,
             const MKL_INT* ldgcol, const MKL_INT* perm, const double* givnum,
             const double* c, const double* s, double* rwork, MKL_INT* iwork,
             MKL_INT* info ) NOTHROW;
void ZLALSA_( const MKL_INT* icompq, const MKL_INT* smlsiz, const MKL_INT* n,
              const MKL_INT* nrhs, MKL_Complex16* b, const MKL_INT* ldb,
              MKL_Complex16* bx, const MKL_INT* ldbx, const double* u,
              const MKL_INT* ldu, const double* vt, const MKL_INT* k,
              const double* difl, const double* difr, const double* z,
              const double* poles, const MKL_INT* givptr,
              const MKL_INT* givcol, const MKL_INT* ldgcol,
              const MKL_INT* perm, const double* givnum, const double* c,
              const double* s, double* rwork, MKL_INT* iwork, MKL_INT* info ) NOTHROW;
void zlalsa( const MKL_INT* icompq, const MKL_INT* smlsiz, const MKL_INT* n,
             const MKL_INT* nrhs, MKL_Complex16* b, const MKL_INT* ldb,
             MKL_Complex16* bx, const MKL_INT* ldbx, const double* u,
             const MKL_INT* ldu, const double* vt, const MKL_INT* k,
             const double* difl, const double* difr, const double* z,
             const double* poles, const MKL_INT* givptr, const MKL_INT* givcol,
             const MKL_INT* ldgcol, const MKL_INT* perm, const double* givnum,
             const double* c, const double* s, double* rwork, MKL_INT* iwork,
             MKL_INT* info ) NOTHROW;
void zlalsa_( const MKL_INT* icompq, const MKL_INT* smlsiz, const MKL_INT* n,
              const MKL_INT* nrhs, MKL_Complex16* b, const MKL_INT* ldb,
              MKL_Complex16* bx, const MKL_INT* ldbx, const double* u,
              const MKL_INT* ldu, const double* vt, const MKL_INT* k,
              const double* difl, const double* difr, const double* z,
              const double* poles, const MKL_INT* givptr,
              const MKL_INT* givcol, const MKL_INT* ldgcol,
              const MKL_INT* perm, const double* givnum, const double* c,
              const double* s, double* rwork, MKL_INT* iwork, MKL_INT* info ) NOTHROW;

void ZLALSD( const char* uplo, const MKL_INT* smlsiz, const MKL_INT* n,
             const MKL_INT* nrhs, double* d, double* e, MKL_Complex16* b,
             const MKL_INT* ldb, const double* rcond, MKL_INT* rank,
             MKL_Complex16* work, double* rwork, MKL_INT* iwork,
             MKL_INT* info ) NOTHROW;
void ZLALSD_( const char* uplo, const MKL_INT* smlsiz, const MKL_INT* n,
              const MKL_INT* nrhs, double* d, double* e, MKL_Complex16* b,
              const MKL_INT* ldb, const double* rcond, MKL_INT* rank,
              MKL_Complex16* work, double* rwork, MKL_INT* iwork,
              MKL_INT* info ) NOTHROW;
void zlalsd( const char* uplo, const MKL_INT* smlsiz, const MKL_INT* n,
             const MKL_INT* nrhs, double* d, double* e, MKL_Complex16* b,
             const MKL_INT* ldb, const double* rcond, MKL_INT* rank,
             MKL_Complex16* work, double* rwork, MKL_INT* iwork,
             MKL_INT* info ) NOTHROW;
void zlalsd_( const char* uplo, const MKL_INT* smlsiz, const MKL_INT* n,
              const MKL_INT* nrhs, double* d, double* e, MKL_Complex16* b,
              const MKL_INT* ldb, const double* rcond, MKL_INT* rank,
              MKL_Complex16* work, double* rwork, MKL_INT* iwork,
              MKL_INT* info ) NOTHROW;

double ZLANGB( const char* norm, const MKL_INT* n, const MKL_INT* kl,
               const MKL_INT* ku, const MKL_Complex16* ab, const MKL_INT* ldab,
               double* work ) NOTHROW;
double ZLANGB_( const char* norm, const MKL_INT* n, const MKL_INT* kl,
                const MKL_INT* ku, const MKL_Complex16* ab,
                const MKL_INT* ldab, double* work ) NOTHROW;
double zlangb( const char* norm, const MKL_INT* n, const MKL_INT* kl,
               const MKL_INT* ku, const MKL_Complex16* ab, const MKL_INT* ldab,
               double* work ) NOTHROW;
double zlangb_( const char* norm, const MKL_INT* n, const MKL_INT* kl,
                const MKL_INT* ku, const MKL_Complex16* ab,
                const MKL_INT* ldab, double* work ) NOTHROW;

double ZLANGE( const char* norm, const MKL_INT* m, const MKL_INT* n,
               const MKL_Complex16* a, const MKL_INT* lda, double* work ) NOTHROW;
double ZLANGE_( const char* norm, const MKL_INT* m, const MKL_INT* n,
                const MKL_Complex16* a, const MKL_INT* lda, double* work ) NOTHROW;
double zlange( const char* norm, const MKL_INT* m, const MKL_INT* n,
               const MKL_Complex16* a, const MKL_INT* lda, double* work ) NOTHROW;
double zlange_( const char* norm, const MKL_INT* m, const MKL_INT* n,
                const MKL_Complex16* a, const MKL_INT* lda, double* work ) NOTHROW;

double ZLANGT( const char* norm, const MKL_INT* n, const MKL_Complex16* dl,
               const MKL_Complex16* d, const MKL_Complex16* du ) NOTHROW;
double ZLANGT_( const char* norm, const MKL_INT* n, const MKL_Complex16* dl,
                const MKL_Complex16* d, const MKL_Complex16* du ) NOTHROW;
double zlangt( const char* norm, const MKL_INT* n, const MKL_Complex16* dl,
               const MKL_Complex16* d, const MKL_Complex16* du ) NOTHROW;
double zlangt_( const char* norm, const MKL_INT* n, const MKL_Complex16* dl,
                const MKL_Complex16* d, const MKL_Complex16* du ) NOTHROW;

double ZLANHB( const char* norm, const char* uplo, const MKL_INT* n,
               const MKL_INT* k, const MKL_Complex16* ab, const MKL_INT* ldab,
               double* work ) NOTHROW;
double ZLANHB_( const char* norm, const char* uplo, const MKL_INT* n,
                const MKL_INT* k, const MKL_Complex16* ab, const MKL_INT* ldab,
                double* work ) NOTHROW;
double zlanhb( const char* norm, const char* uplo, const MKL_INT* n,
               const MKL_INT* k, const MKL_Complex16* ab, const MKL_INT* ldab,
               double* work ) NOTHROW;
double zlanhb_( const char* norm, const char* uplo, const MKL_INT* n,
                const MKL_INT* k, const MKL_Complex16* ab, const MKL_INT* ldab,
                double* work ) NOTHROW;

double ZLANHE( const char* norm, const char* uplo, const MKL_INT* n,
               const MKL_Complex16* a, const MKL_INT* lda, double* work ) NOTHROW;
double ZLANHE_( const char* norm, const char* uplo, const MKL_INT* n,
                const MKL_Complex16* a, const MKL_INT* lda, double* work ) NOTHROW;
double zlanhe( const char* norm, const char* uplo, const MKL_INT* n,
               const MKL_Complex16* a, const MKL_INT* lda, double* work ) NOTHROW;
double zlanhe_( const char* norm, const char* uplo, const MKL_INT* n,
                const MKL_Complex16* a, const MKL_INT* lda, double* work ) NOTHROW;

double ZLANHF( const char* norm, const char* transr, const char* uplo,
               const MKL_INT* n, const MKL_Complex16* a, double* work ) NOTHROW;
double ZLANHF_( const char* norm, const char* transr, const char* uplo,
                const MKL_INT* n, const MKL_Complex16* a, double* work ) NOTHROW;
double zlanhf( const char* norm, const char* transr, const char* uplo,
               const MKL_INT* n, const MKL_Complex16* a, double* work ) NOTHROW;
double zlanhf_( const char* norm, const char* transr, const char* uplo,
                const MKL_INT* n, const MKL_Complex16* a, double* work ) NOTHROW;

double ZLANHP( const char* norm, const char* uplo, const MKL_INT* n,
               const MKL_Complex16* ap, double* work ) NOTHROW;
double ZLANHP_( const char* norm, const char* uplo, const MKL_INT* n,
                const MKL_Complex16* ap, double* work ) NOTHROW;
double zlanhp( const char* norm, const char* uplo, const MKL_INT* n,
               const MKL_Complex16* ap, double* work ) NOTHROW;
double zlanhp_( const char* norm, const char* uplo, const MKL_INT* n,
                const MKL_Complex16* ap, double* work ) NOTHROW;

double ZLANHS( const char* norm, const MKL_INT* n, const MKL_Complex16* a,
               const MKL_INT* lda, double* work ) NOTHROW;
double ZLANHS_( const char* norm, const MKL_INT* n, const MKL_Complex16* a,
                const MKL_INT* lda, double* work ) NOTHROW;
double zlanhs( const char* norm, const MKL_INT* n, const MKL_Complex16* a,
               const MKL_INT* lda, double* work ) NOTHROW;
double zlanhs_( const char* norm, const MKL_INT* n, const MKL_Complex16* a,
                const MKL_INT* lda, double* work ) NOTHROW;

double ZLANHT( const char* norm, const MKL_INT* n, const double* d,
               const MKL_Complex16* e ) NOTHROW;
double ZLANHT_( const char* norm, const MKL_INT* n, const double* d,
                const MKL_Complex16* e ) NOTHROW;
double zlanht( const char* norm, const MKL_INT* n, const double* d,
               const MKL_Complex16* e ) NOTHROW;
double zlanht_( const char* norm, const MKL_INT* n, const double* d,
                const MKL_Complex16* e ) NOTHROW;

double ZLANSB( const char* norm, const char* uplo, const MKL_INT* n,
               const MKL_INT* k, const MKL_Complex16* ab, const MKL_INT* ldab,
               double* work ) NOTHROW;
double ZLANSB_( const char* norm, const char* uplo, const MKL_INT* n,
                const MKL_INT* k, const MKL_Complex16* ab, const MKL_INT* ldab,
                double* work ) NOTHROW;
double zlansb( const char* norm, const char* uplo, const MKL_INT* n,
               const MKL_INT* k, const MKL_Complex16* ab, const MKL_INT* ldab,
               double* work ) NOTHROW;
double zlansb_( const char* norm, const char* uplo, const MKL_INT* n,
                const MKL_INT* k, const MKL_Complex16* ab, const MKL_INT* ldab,
                double* work ) NOTHROW;

double ZLANSP( const char* norm, const char* uplo, const MKL_INT* n,
               const MKL_Complex16* ap, double* work ) NOTHROW;
double ZLANSP_( const char* norm, const char* uplo, const MKL_INT* n,
                const MKL_Complex16* ap, double* work ) NOTHROW;
double zlansp( const char* norm, const char* uplo, const MKL_INT* n,
               const MKL_Complex16* ap, double* work ) NOTHROW;
double zlansp_( const char* norm, const char* uplo, const MKL_INT* n,
                const MKL_Complex16* ap, double* work ) NOTHROW;

double ZLANSY( const char* norm, const char* uplo, const MKL_INT* n,
               const MKL_Complex16* a, const MKL_INT* lda, double* work ) NOTHROW;
double ZLANSY_( const char* norm, const char* uplo, const MKL_INT* n,
                const MKL_Complex16* a, const MKL_INT* lda, double* work ) NOTHROW;
double zlansy( const char* norm, const char* uplo, const MKL_INT* n,
               const MKL_Complex16* a, const MKL_INT* lda, double* work ) NOTHROW;
double zlansy_( const char* norm, const char* uplo, const MKL_INT* n,
                const MKL_Complex16* a, const MKL_INT* lda, double* work ) NOTHROW;

double ZLANTB( const char* norm, const char* uplo, const char* diag,
               const MKL_INT* n, const MKL_INT* k, const MKL_Complex16* ab,
               const MKL_INT* ldab, double* work ) NOTHROW;
double ZLANTB_( const char* norm, const char* uplo, const char* diag,
                const MKL_INT* n, const MKL_INT* k, const MKL_Complex16* ab,
                const MKL_INT* ldab, double* work ) NOTHROW;
double zlantb( const char* norm, const char* uplo, const char* diag,
               const MKL_INT* n, const MKL_INT* k, const MKL_Complex16* ab,
               const MKL_INT* ldab, double* work ) NOTHROW;
double zlantb_( const char* norm, const char* uplo, const char* diag,
                const MKL_INT* n, const MKL_INT* k, const MKL_Complex16* ab,
                const MKL_INT* ldab, double* work ) NOTHROW;

double ZLANTP( const char* norm, const char* uplo, const char* diag,
               const MKL_INT* n, const MKL_Complex16* ap, double* work ) NOTHROW;
double ZLANTP_( const char* norm, const char* uplo, const char* diag,
                const MKL_INT* n, const MKL_Complex16* ap, double* work ) NOTHROW;
double zlantp( const char* norm, const char* uplo, const char* diag,
               const MKL_INT* n, const MKL_Complex16* ap, double* work ) NOTHROW;
double zlantp_( const char* norm, const char* uplo, const char* diag,
                const MKL_INT* n, const MKL_Complex16* ap, double* work ) NOTHROW;

double ZLANTR( const char* norm, const char* uplo, const char* diag,
               const MKL_INT* m, const MKL_INT* n, const MKL_Complex16* a,
               const MKL_INT* lda, double* work ) NOTHROW;
double ZLANTR_( const char* norm, const char* uplo, const char* diag,
                const MKL_INT* m, const MKL_INT* n, const MKL_Complex16* a,
                const MKL_INT* lda, double* work ) NOTHROW;
double zlantr( const char* norm, const char* uplo, const char* diag,
               const MKL_INT* m, const MKL_INT* n, const MKL_Complex16* a,
               const MKL_INT* lda, double* work ) NOTHROW;
double zlantr_( const char* norm, const char* uplo, const char* diag,
                const MKL_INT* m, const MKL_INT* n, const MKL_Complex16* a,
                const MKL_INT* lda, double* work ) NOTHROW;

void ZLAPLL( const MKL_INT* n, MKL_Complex16* x, const MKL_INT* incx,
             MKL_Complex16* y, const MKL_INT* incy, double* ssmin ) NOTHROW;
void ZLAPLL_( const MKL_INT* n, MKL_Complex16* x, const MKL_INT* incx,
              MKL_Complex16* y, const MKL_INT* incy, double* ssmin ) NOTHROW;
void zlapll( const MKL_INT* n, MKL_Complex16* x, const MKL_INT* incx,
             MKL_Complex16* y, const MKL_INT* incy, double* ssmin ) NOTHROW;
void zlapll_( const MKL_INT* n, MKL_Complex16* x, const MKL_INT* incx,
              MKL_Complex16* y, const MKL_INT* incy, double* ssmin ) NOTHROW;

void ZLAPMT( const MKL_INT* forwrd, const MKL_INT* m, const MKL_INT* n,
             MKL_Complex16* x, const MKL_INT* ldx, MKL_INT* k ) NOTHROW;
void ZLAPMT_( const MKL_INT* forwrd, const MKL_INT* m, const MKL_INT* n,
              MKL_Complex16* x, const MKL_INT* ldx, MKL_INT* k ) NOTHROW;
void zlapmt( const MKL_INT* forwrd, const MKL_INT* m, const MKL_INT* n,
             MKL_Complex16* x, const MKL_INT* ldx, MKL_INT* k ) NOTHROW;
void zlapmt_( const MKL_INT* forwrd, const MKL_INT* m, const MKL_INT* n,
              MKL_Complex16* x, const MKL_INT* ldx, MKL_INT* k ) NOTHROW;

void ZLAQGB( const MKL_INT* m, const MKL_INT* n, const MKL_INT* kl,
             const MKL_INT* ku, MKL_Complex16* ab, const MKL_INT* ldab,
             const double* r, const double* c, const double* rowcnd,
             const double* colcnd, const double* amax, char* equed ) NOTHROW;
void ZLAQGB_( const MKL_INT* m, const MKL_INT* n, const MKL_INT* kl,
              const MKL_INT* ku, MKL_Complex16* ab, const MKL_INT* ldab,
              const double* r, const double* c, const double* rowcnd,
              const double* colcnd, const double* amax, char* equed ) NOTHROW;
void zlaqgb( const MKL_INT* m, const MKL_INT* n, const MKL_INT* kl,
             const MKL_INT* ku, MKL_Complex16* ab, const MKL_INT* ldab,
             const double* r, const double* c, const double* rowcnd,
             const double* colcnd, const double* amax, char* equed ) NOTHROW;
void zlaqgb_( const MKL_INT* m, const MKL_INT* n, const MKL_INT* kl,
              const MKL_INT* ku, MKL_Complex16* ab, const MKL_INT* ldab,
              const double* r, const double* c, const double* rowcnd,
              const double* colcnd, const double* amax, char* equed ) NOTHROW;

void ZLAQGE( const MKL_INT* m, const MKL_INT* n, MKL_Complex16* a,
             const MKL_INT* lda, const double* r, const double* c,
             const double* rowcnd, const double* colcnd, const double* amax,
             char* equed ) NOTHROW;
void ZLAQGE_( const MKL_INT* m, const MKL_INT* n, MKL_Complex16* a,
              const MKL_INT* lda, const double* r, const double* c,
              const double* rowcnd, const double* colcnd, const double* amax,
              char* equed ) NOTHROW;
void zlaqge( const MKL_INT* m, const MKL_INT* n, MKL_Complex16* a,
             const MKL_INT* lda, const double* r, const double* c,
             const double* rowcnd, const double* colcnd, const double* amax,
             char* equed ) NOTHROW;
void zlaqge_( const MKL_INT* m, const MKL_INT* n, MKL_Complex16* a,
              const MKL_INT* lda, const double* r, const double* c,
              const double* rowcnd, const double* colcnd, const double* amax,
              char* equed ) NOTHROW;

void ZLAQHB( const char* uplo, const MKL_INT* n, const MKL_INT* kd,
             MKL_Complex16* ab, const MKL_INT* ldab, double* s,
             const double* scond, const double* amax, char* equed ) NOTHROW;
void ZLAQHB_( const char* uplo, const MKL_INT* n, const MKL_INT* kd,
              MKL_Complex16* ab, const MKL_INT* ldab, double* s,
              const double* scond, const double* amax, char* equed ) NOTHROW;
void zlaqhb( const char* uplo, const MKL_INT* n, const MKL_INT* kd,
             MKL_Complex16* ab, const MKL_INT* ldab, double* s,
             const double* scond, const double* amax, char* equed ) NOTHROW;
void zlaqhb_( const char* uplo, const MKL_INT* n, const MKL_INT* kd,
              MKL_Complex16* ab, const MKL_INT* ldab, double* s,
              const double* scond, const double* amax, char* equed ) NOTHROW;

void ZLAQHE( const char* uplo, const MKL_INT* n, MKL_Complex16* a,
             const MKL_INT* lda, const double* s, const double* scond,
             const double* amax, char* equed ) NOTHROW;
void ZLAQHE_( const char* uplo, const MKL_INT* n, MKL_Complex16* a,
              const MKL_INT* lda, const double* s, const double* scond,
              const double* amax, char* equed ) NOTHROW;
void zlaqhe( const char* uplo, const MKL_INT* n, MKL_Complex16* a,
             const MKL_INT* lda, const double* s, const double* scond,
             const double* amax, char* equed ) NOTHROW;
void zlaqhe_( const char* uplo, const MKL_INT* n, MKL_Complex16* a,
              const MKL_INT* lda, const double* s, const double* scond,
              const double* amax, char* equed ) NOTHROW;

void ZLAQHP( const char* uplo, const MKL_INT* n, MKL_Complex16* ap,
             const double* s, const double* scond, const double* amax,
             char* equed ) NOTHROW;
void ZLAQHP_( const char* uplo, const MKL_INT* n, MKL_Complex16* ap,
              const double* s, const double* scond, const double* amax,
              char* equed ) NOTHROW;
void zlaqhp( const char* uplo, const MKL_INT* n, MKL_Complex16* ap,
             const double* s, const double* scond, const double* amax,
             char* equed ) NOTHROW;
void zlaqhp_( const char* uplo, const MKL_INT* n, MKL_Complex16* ap,
              const double* s, const double* scond, const double* amax,
              char* equed ) NOTHROW;

void ZLAQP2( const MKL_INT* m, const MKL_INT* n, const MKL_INT* offset,
             MKL_Complex16* a, const MKL_INT* lda, MKL_INT* jpvt,
             MKL_Complex16* tau, double* vn1, double* vn2,
             MKL_Complex16* work ) NOTHROW;
void ZLAQP2_( const MKL_INT* m, const MKL_INT* n, const MKL_INT* offset,
              MKL_Complex16* a, const MKL_INT* lda, MKL_INT* jpvt,
              MKL_Complex16* tau, double* vn1, double* vn2,
              MKL_Complex16* work ) NOTHROW;
void zlaqp2( const MKL_INT* m, const MKL_INT* n, const MKL_INT* offset,
             MKL_Complex16* a, const MKL_INT* lda, MKL_INT* jpvt,
             MKL_Complex16* tau, double* vn1, double* vn2,
             MKL_Complex16* work ) NOTHROW;
void zlaqp2_( const MKL_INT* m, const MKL_INT* n, const MKL_INT* offset,
              MKL_Complex16* a, const MKL_INT* lda, MKL_INT* jpvt,
              MKL_Complex16* tau, double* vn1, double* vn2,
              MKL_Complex16* work ) NOTHROW;

void ZLAQPS( const MKL_INT* m, const MKL_INT* n, const MKL_INT* offset,
             const MKL_INT* nb, MKL_INT* kb, MKL_Complex16* a,
             const MKL_INT* lda, MKL_INT* jpvt, MKL_Complex16* tau,
             double* vn1, double* vn2, MKL_Complex16* auxv, MKL_Complex16* f,
             const MKL_INT* ldf ) NOTHROW;
void ZLAQPS_( const MKL_INT* m, const MKL_INT* n, const MKL_INT* offset,
              const MKL_INT* nb, MKL_INT* kb, MKL_Complex16* a,
              const MKL_INT* lda, MKL_INT* jpvt, MKL_Complex16* tau,
              double* vn1, double* vn2, MKL_Complex16* auxv, MKL_Complex16* f,
              const MKL_INT* ldf ) NOTHROW;
void zlaqps( const MKL_INT* m, const MKL_INT* n, const MKL_INT* offset,
             const MKL_INT* nb, MKL_INT* kb, MKL_Complex16* a,
             const MKL_INT* lda, MKL_INT* jpvt, MKL_Complex16* tau,
             double* vn1, double* vn2, MKL_Complex16* auxv, MKL_Complex16* f,
             const MKL_INT* ldf ) NOTHROW;
void zlaqps_( const MKL_INT* m, const MKL_INT* n, const MKL_INT* offset,
              const MKL_INT* nb, MKL_INT* kb, MKL_Complex16* a,
              const MKL_INT* lda, MKL_INT* jpvt, MKL_Complex16* tau,
              double* vn1, double* vn2, MKL_Complex16* auxv, MKL_Complex16* f,
              const MKL_INT* ldf ) NOTHROW;

void ZLAQR0( const MKL_INT* wantt, const MKL_INT* wantz, const MKL_INT* n,
             const MKL_INT* ilo, const MKL_INT* ihi, MKL_Complex16* h,
             const MKL_INT* ldh, MKL_Complex16* w, MKL_INT* iloz,
             MKL_INT* ihiz, MKL_Complex16* z, const MKL_INT* ldz,
             MKL_Complex16* work, const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void ZLAQR0_( const MKL_INT* wantt, const MKL_INT* wantz, const MKL_INT* n,
              const MKL_INT* ilo, const MKL_INT* ihi, MKL_Complex16* h,
              const MKL_INT* ldh, MKL_Complex16* w, MKL_INT* iloz,
              MKL_INT* ihiz, MKL_Complex16* z, const MKL_INT* ldz,
              MKL_Complex16* work, const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void zlaqr0( const MKL_INT* wantt, const MKL_INT* wantz, const MKL_INT* n,
             const MKL_INT* ilo, const MKL_INT* ihi, MKL_Complex16* h,
             const MKL_INT* ldh, MKL_Complex16* w, MKL_INT* iloz,
             MKL_INT* ihiz, MKL_Complex16* z, const MKL_INT* ldz,
             MKL_Complex16* work, const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void zlaqr0_( const MKL_INT* wantt, const MKL_INT* wantz, const MKL_INT* n,
              const MKL_INT* ilo, const MKL_INT* ihi, MKL_Complex16* h,
              const MKL_INT* ldh, MKL_Complex16* w, MKL_INT* iloz,
              MKL_INT* ihiz, MKL_Complex16* z, const MKL_INT* ldz,
              MKL_Complex16* work, const MKL_INT* lwork, MKL_INT* info ) NOTHROW;

void ZLAQR1( const MKL_INT* n, const MKL_Complex16* h, const MKL_INT* ldh,
             const MKL_Complex16* s1, MKL_Complex16* s2, MKL_Complex16* v ) NOTHROW;
void ZLAQR1_( const MKL_INT* n, const MKL_Complex16* h, const MKL_INT* ldh,
              const MKL_Complex16* s1, MKL_Complex16* s2, MKL_Complex16* v ) NOTHROW;
void zlaqr1( const MKL_INT* n, const MKL_Complex16* h, const MKL_INT* ldh,
             const MKL_Complex16* s1, MKL_Complex16* s2, MKL_Complex16* v ) NOTHROW;
void zlaqr1_( const MKL_INT* n, const MKL_Complex16* h, const MKL_INT* ldh,
              const MKL_Complex16* s1, MKL_Complex16* s2, MKL_Complex16* v ) NOTHROW;

void ZLAQR2( const MKL_INT* wantt, const MKL_INT* wantz, const MKL_INT* n,
             const MKL_INT* ktop, const MKL_INT* kbot, const MKL_INT* nw,
             MKL_Complex16* h, const MKL_INT* ldh, const MKL_INT* iloz,
             const MKL_INT* ihiz, MKL_Complex16* z, const MKL_INT* ldz,
             MKL_INT* ns, MKL_INT* nd, MKL_Complex16* sh, MKL_Complex16* v,
             const MKL_INT* ldv, const MKL_INT* nh, MKL_Complex16* t,
             const MKL_INT* ldt, const MKL_INT* nv, MKL_Complex16* wv,
             const MKL_INT* ldwv, MKL_Complex16* work, const MKL_INT* lwork ) NOTHROW;
void ZLAQR2_( const MKL_INT* wantt, const MKL_INT* wantz, const MKL_INT* n,
              const MKL_INT* ktop, const MKL_INT* kbot, const MKL_INT* nw,
              MKL_Complex16* h, const MKL_INT* ldh, const MKL_INT* iloz,
              const MKL_INT* ihiz, MKL_Complex16* z, const MKL_INT* ldz,
              MKL_INT* ns, MKL_INT* nd, MKL_Complex16* sh, MKL_Complex16* v,
              const MKL_INT* ldv, const MKL_INT* nh, MKL_Complex16* t,
              const MKL_INT* ldt, const MKL_INT* nv, MKL_Complex16* wv,
              const MKL_INT* ldwv, MKL_Complex16* work, const MKL_INT* lwork ) NOTHROW;
void zlaqr2( const MKL_INT* wantt, const MKL_INT* wantz, const MKL_INT* n,
             const MKL_INT* ktop, const MKL_INT* kbot, const MKL_INT* nw,
             MKL_Complex16* h, const MKL_INT* ldh, const MKL_INT* iloz,
             const MKL_INT* ihiz, MKL_Complex16* z, const MKL_INT* ldz,
             MKL_INT* ns, MKL_INT* nd, MKL_Complex16* sh, MKL_Complex16* v,
             const MKL_INT* ldv, const MKL_INT* nh, MKL_Complex16* t,
             const MKL_INT* ldt, const MKL_INT* nv, MKL_Complex16* wv,
             const MKL_INT* ldwv, MKL_Complex16* work, const MKL_INT* lwork ) NOTHROW;
void zlaqr2_( const MKL_INT* wantt, const MKL_INT* wantz, const MKL_INT* n,
              const MKL_INT* ktop, const MKL_INT* kbot, const MKL_INT* nw,
              MKL_Complex16* h, const MKL_INT* ldh, const MKL_INT* iloz,
              const MKL_INT* ihiz, MKL_Complex16* z, const MKL_INT* ldz,
              MKL_INT* ns, MKL_INT* nd, MKL_Complex16* sh, MKL_Complex16* v,
              const MKL_INT* ldv, const MKL_INT* nh, MKL_Complex16* t,
              const MKL_INT* ldt, const MKL_INT* nv, MKL_Complex16* wv,
              const MKL_INT* ldwv, MKL_Complex16* work, const MKL_INT* lwork ) NOTHROW;

void ZLAQR3( const MKL_INT* wantt, const MKL_INT* wantz, const MKL_INT* n,
             const MKL_INT* ktop, const MKL_INT* kbot, const MKL_INT* nw,
             MKL_Complex16* h, const MKL_INT* ldh, const MKL_INT* iloz,
             const MKL_INT* ihiz, MKL_Complex16* z, const MKL_INT* ldz,
             MKL_INT* ns, MKL_INT* nd, MKL_Complex16* sh, MKL_Complex16* v,
             const MKL_INT* ldv, const MKL_INT* nh, MKL_Complex16* t,
             const MKL_INT* ldt, const MKL_INT* nv, MKL_Complex16* wv,
             const MKL_INT* ldwv, MKL_Complex16* work, const MKL_INT* lwork ) NOTHROW;
void ZLAQR3_( const MKL_INT* wantt, const MKL_INT* wantz, const MKL_INT* n,
              const MKL_INT* ktop, const MKL_INT* kbot, const MKL_INT* nw,
              MKL_Complex16* h, const MKL_INT* ldh, const MKL_INT* iloz,
              const MKL_INT* ihiz, MKL_Complex16* z, const MKL_INT* ldz,
              MKL_INT* ns, MKL_INT* nd, MKL_Complex16* sh, MKL_Complex16* v,
              const MKL_INT* ldv, const MKL_INT* nh, MKL_Complex16* t,
              const MKL_INT* ldt, const MKL_INT* nv, MKL_Complex16* wv,
              const MKL_INT* ldwv, MKL_Complex16* work, const MKL_INT* lwork ) NOTHROW;
void zlaqr3( const MKL_INT* wantt, const MKL_INT* wantz, const MKL_INT* n,
             const MKL_INT* ktop, const MKL_INT* kbot, const MKL_INT* nw,
             MKL_Complex16* h, const MKL_INT* ldh, const MKL_INT* iloz,
             const MKL_INT* ihiz, MKL_Complex16* z, const MKL_INT* ldz,
             MKL_INT* ns, MKL_INT* nd, MKL_Complex16* sh, MKL_Complex16* v,
             const MKL_INT* ldv, const MKL_INT* nh, MKL_Complex16* t,
             const MKL_INT* ldt, const MKL_INT* nv, MKL_Complex16* wv,
             const MKL_INT* ldwv, MKL_Complex16* work, const MKL_INT* lwork ) NOTHROW;
void zlaqr3_( const MKL_INT* wantt, const MKL_INT* wantz, const MKL_INT* n,
              const MKL_INT* ktop, const MKL_INT* kbot, const MKL_INT* nw,
              MKL_Complex16* h, const MKL_INT* ldh, const MKL_INT* iloz,
              const MKL_INT* ihiz, MKL_Complex16* z, const MKL_INT* ldz,
              MKL_INT* ns, MKL_INT* nd, MKL_Complex16* sh, MKL_Complex16* v,
              const MKL_INT* ldv, const MKL_INT* nh, MKL_Complex16* t,
              const MKL_INT* ldt, const MKL_INT* nv, MKL_Complex16* wv,
              const MKL_INT* ldwv, MKL_Complex16* work, const MKL_INT* lwork ) NOTHROW;

void ZLAQR4( const MKL_INT* wantt, const MKL_INT* wantz, const MKL_INT* n,
             const MKL_INT* ilo, const MKL_INT* ihi, MKL_Complex16* h,
             const MKL_INT* ldh, MKL_Complex16* w, MKL_INT* iloz,
             MKL_INT* ihiz, MKL_Complex16* z, const MKL_INT* ldz,
             MKL_Complex16* work, const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void ZLAQR4_( const MKL_INT* wantt, const MKL_INT* wantz, const MKL_INT* n,
              const MKL_INT* ilo, const MKL_INT* ihi, MKL_Complex16* h,
              const MKL_INT* ldh, MKL_Complex16* w, MKL_INT* iloz,
              MKL_INT* ihiz, MKL_Complex16* z, const MKL_INT* ldz,
              MKL_Complex16* work, const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void zlaqr4( const MKL_INT* wantt, const MKL_INT* wantz, const MKL_INT* n,
             const MKL_INT* ilo, const MKL_INT* ihi, MKL_Complex16* h,
             const MKL_INT* ldh, MKL_Complex16* w, MKL_INT* iloz,
             MKL_INT* ihiz, MKL_Complex16* z, const MKL_INT* ldz,
             MKL_Complex16* work, const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void zlaqr4_( const MKL_INT* wantt, const MKL_INT* wantz, const MKL_INT* n,
              const MKL_INT* ilo, const MKL_INT* ihi, MKL_Complex16* h,
              const MKL_INT* ldh, MKL_Complex16* w, MKL_INT* iloz,
              MKL_INT* ihiz, MKL_Complex16* z, const MKL_INT* ldz,
              MKL_Complex16* work, const MKL_INT* lwork, MKL_INT* info ) NOTHROW;

void ZLAQR5( const MKL_INT* wantt, const MKL_INT* wantz, const MKL_INT* kacc22,
             const MKL_INT* n, const MKL_INT* ktop, const MKL_INT* kbot,
             const MKL_INT* nshfts, MKL_Complex16* s, MKL_Complex16* h,
             const MKL_INT* ldh, const MKL_INT* iloz, const MKL_INT* ihiz,
             MKL_Complex16* z, const MKL_INT* ldz, MKL_Complex16* v,
             const MKL_INT* ldv, MKL_Complex16* u, const MKL_INT* ldu,
             const MKL_INT* nv, MKL_Complex16* wv, const MKL_INT* ldwv,
             const MKL_INT* nh, MKL_Complex16* wh, const MKL_INT* ldwh ) NOTHROW;
void ZLAQR5_( const MKL_INT* wantt, const MKL_INT* wantz,
              const MKL_INT* kacc22, const MKL_INT* n, const MKL_INT* ktop,
              const MKL_INT* kbot, const MKL_INT* nshfts, MKL_Complex16* s,
              MKL_Complex16* h, const MKL_INT* ldh, const MKL_INT* iloz,
              const MKL_INT* ihiz, MKL_Complex16* z, const MKL_INT* ldz,
              MKL_Complex16* v, const MKL_INT* ldv, MKL_Complex16* u,
              const MKL_INT* ldu, const MKL_INT* nv, MKL_Complex16* wv,
              const MKL_INT* ldwv, const MKL_INT* nh, MKL_Complex16* wh,
              const MKL_INT* ldwh ) NOTHROW;
void zlaqr5( const MKL_INT* wantt, const MKL_INT* wantz, const MKL_INT* kacc22,
             const MKL_INT* n, const MKL_INT* ktop, const MKL_INT* kbot,
             const MKL_INT* nshfts, MKL_Complex16* s, MKL_Complex16* h,
             const MKL_INT* ldh, const MKL_INT* iloz, const MKL_INT* ihiz,
             MKL_Complex16* z, const MKL_INT* ldz, MKL_Complex16* v,
             const MKL_INT* ldv, MKL_Complex16* u, const MKL_INT* ldu,
             const MKL_INT* nv, MKL_Complex16* wv, const MKL_INT* ldwv,
             const MKL_INT* nh, MKL_Complex16* wh, const MKL_INT* ldwh ) NOTHROW;
void zlaqr5_( const MKL_INT* wantt, const MKL_INT* wantz,
              const MKL_INT* kacc22, const MKL_INT* n, const MKL_INT* ktop,
              const MKL_INT* kbot, const MKL_INT* nshfts, MKL_Complex16* s,
              MKL_Complex16* h, const MKL_INT* ldh, const MKL_INT* iloz,
              const MKL_INT* ihiz, MKL_Complex16* z, const MKL_INT* ldz,
              MKL_Complex16* v, const MKL_INT* ldv, MKL_Complex16* u,
              const MKL_INT* ldu, const MKL_INT* nv, MKL_Complex16* wv,
              const MKL_INT* ldwv, const MKL_INT* nh, MKL_Complex16* wh,
              const MKL_INT* ldwh ) NOTHROW;

void ZLAQSB( const char* uplo, const MKL_INT* n, const MKL_INT* kd,
             MKL_Complex16* ab, const MKL_INT* ldab, const double* s,
             const double* scond, const double* amax, char* equed ) NOTHROW;
void ZLAQSB_( const char* uplo, const MKL_INT* n, const MKL_INT* kd,
              MKL_Complex16* ab, const MKL_INT* ldab, const double* s,
              const double* scond, const double* amax, char* equed ) NOTHROW;
void zlaqsb( const char* uplo, const MKL_INT* n, const MKL_INT* kd,
             MKL_Complex16* ab, const MKL_INT* ldab, const double* s,
             const double* scond, const double* amax, char* equed ) NOTHROW;
void zlaqsb_( const char* uplo, const MKL_INT* n, const MKL_INT* kd,
              MKL_Complex16* ab, const MKL_INT* ldab, const double* s,
              const double* scond, const double* amax, char* equed ) NOTHROW;

void ZLAQSP( const char* uplo, const MKL_INT* n, MKL_Complex16* ap,
             const double* s, const double* scond, const double* amax,
             char* equed ) NOTHROW;
void ZLAQSP_( const char* uplo, const MKL_INT* n, MKL_Complex16* ap,
              const double* s, const double* scond, const double* amax,
              char* equed ) NOTHROW;
void zlaqsp( const char* uplo, const MKL_INT* n, MKL_Complex16* ap,
             const double* s, const double* scond, const double* amax,
             char* equed ) NOTHROW;
void zlaqsp_( const char* uplo, const MKL_INT* n, MKL_Complex16* ap,
              const double* s, const double* scond, const double* amax,
              char* equed ) NOTHROW;

void ZLAQSY( const char* uplo, const MKL_INT* n, MKL_Complex16* a,
             const MKL_INT* lda, const double* s, const double* scond,
             const double* amax, char* equed ) NOTHROW;
void ZLAQSY_( const char* uplo, const MKL_INT* n, MKL_Complex16* a,
              const MKL_INT* lda, const double* s, const double* scond,
              const double* amax, char* equed ) NOTHROW;
void zlaqsy( const char* uplo, const MKL_INT* n, MKL_Complex16* a,
             const MKL_INT* lda, const double* s, const double* scond,
             const double* amax, char* equed ) NOTHROW;
void zlaqsy_( const char* uplo, const MKL_INT* n, MKL_Complex16* a,
              const MKL_INT* lda, const double* s, const double* scond,
              const double* amax, char* equed ) NOTHROW;

void ZLAQZ0( const char* wants, const char* wantq, const char* wantz, const MKL_INT* n,
             const MKL_INT* ilo, const MKL_INT* ihi, MKL_Complex16* a, const MKL_INT* lda,
             MKL_Complex16* b, const MKL_INT* ldb, MKL_Complex16* alpha, MKL_Complex16* beta,
             MKL_Complex16* q, const MKL_INT* ldq, MKL_Complex16* z, const MKL_INT* ldz,
             MKL_Complex16* work, const MKL_INT* lwork, float* rwork, const MKL_INT* rec,
             MKL_INT* info) NOTHROW;
void ZLAQZ0_( const char* wants, const char* wantq, const char* wantz, const MKL_INT* n,
             const MKL_INT* ilo, const MKL_INT* ihi, MKL_Complex16* a, const MKL_INT* lda,
             MKL_Complex16* b, const MKL_INT* ldb, MKL_Complex16* alpha, MKL_Complex16* beta,
             MKL_Complex16* q, const MKL_INT* ldq, MKL_Complex16* z, const MKL_INT* ldz,
             MKL_Complex16* work, const MKL_INT* lwork, float* rwork, const MKL_INT* rec,
             MKL_INT* info) NOTHROW;
void zlaqz0( const char* wants, const char* wantq, const char* wantz, const MKL_INT* n,
             const MKL_INT* ilo, const MKL_INT* ihi, MKL_Complex16* a, const MKL_INT* lda,
             MKL_Complex16* b, const MKL_INT* ldb, MKL_Complex16* alpha, MKL_Complex16* beta,
             MKL_Complex16* q, const MKL_INT* ldq, MKL_Complex16* z, const MKL_INT* ldz,
             MKL_Complex16* work, const MKL_INT* lwork, float* rwork, const MKL_INT* rec,
             MKL_INT* info) NOTHROW;
void zlaqz0_( const char* wants, const char* wantq, const char* wantz, const MKL_INT* n,
             const MKL_INT* ilo, const MKL_INT* ihi, MKL_Complex16* a, const MKL_INT* lda,
             MKL_Complex16* b, const MKL_INT* ldb, MKL_Complex16* alpha, MKL_Complex16* beta,
             MKL_Complex16* q, const MKL_INT* ldq, MKL_Complex16* z, const MKL_INT* ldz,
             MKL_Complex16* work, const MKL_INT* lwork, float* rwork, const MKL_INT* rec,
             MKL_INT* info) NOTHROW;

void ZLAQZ1( const MKL_INT* ilq, const MKL_INT* ilz, const MKL_INT* k, const MKL_INT* istartm,
             const MKL_INT* istopm, const MKL_INT* ihi, MKL_Complex16* a, const MKL_INT* lda,
             MKL_Complex16* b, const MKL_INT* ldb,  const MKL_INT* nq,  const MKL_INT* qstart,
             MKL_Complex16* q, const MKL_INT* ldq, const MKL_INT* nz,  const MKL_INT* zstart,
             MKL_Complex16* z, const MKL_INT* ldz) NOTHROW;
void ZLAQZ1_( const MKL_INT* ilq, const MKL_INT* ilz, const MKL_INT* k, const MKL_INT* istartm,
             const MKL_INT* istopm, const MKL_INT* ihi, MKL_Complex16* a, const MKL_INT* lda,
             MKL_Complex16* b, const MKL_INT* ldb, const MKL_INT* nq,  const MKL_INT* qstart,
             MKL_Complex16* q, const MKL_INT* ldq, const MKL_INT* nz,  const MKL_INT* zstart,
             MKL_Complex16* z, const MKL_INT* ldz) NOTHROW;
void zlaqz1( const MKL_INT* ilq, const MKL_INT* ilz, const MKL_INT* k, const MKL_INT* istartm,
             const MKL_INT* istopm, const MKL_INT* ihi, MKL_Complex16* a, const MKL_INT* lda,
             MKL_Complex16* b, const MKL_INT* ldb, const MKL_INT* nq,  const MKL_INT* qstart,
             MKL_Complex16* q, const MKL_INT* ldq, const MKL_INT* nz,  const MKL_INT* zstart,
             MKL_Complex16* z, const MKL_INT* ldz) NOTHROW;
void zlaqz1_( const MKL_INT* ilq, const MKL_INT* ilz, const MKL_INT* k, const MKL_INT* istartm,
             const MKL_INT* istopm, const MKL_INT* ihi, MKL_Complex16* a, const MKL_INT* lda,
             MKL_Complex16* b, const MKL_INT* ldb, const MKL_INT* nq,  const MKL_INT* qstart,
             MKL_Complex16* q, const MKL_INT* ldq, const MKL_INT* nz,  const MKL_INT* zstart,
             MKL_Complex16* z, const MKL_INT* ldz) NOTHROW;

void ZLAQZ2( const MKL_INT* ilschur, const MKL_INT* ilq, const MKL_INT* ilz, const MKL_INT* n,
             const MKL_INT* ilo, const MKL_INT* ihi, const MKL_INT* nw,
             MKL_Complex16* a, const MKL_INT* lda, MKL_Complex16* b, const MKL_INT* ldb,
             MKL_Complex16* q, const MKL_INT* ldq, MKL_Complex16* z, const MKL_INT* ldz,
             MKL_INT* ns, MKL_INT* nd, MKL_Complex16* alpha, MKL_Complex16* beta,
             MKL_Complex16* qc, const MKL_INT* ldqc, MKL_Complex16* zc, const MKL_INT* ldzc,
             MKL_Complex16* work, const MKL_INT* lwork, double* rwork, const MKL_INT* rec,
             MKL_INT* info) NOTHROW;
void ZLAQZ2_( const MKL_INT* ilschur, const MKL_INT* ilq, const MKL_INT* ilz, const MKL_INT* n,
             const MKL_INT* ilo, const MKL_INT* ihi, const MKL_INT* nw,
             MKL_Complex16* a, const MKL_INT* lda, MKL_Complex16* b, const MKL_INT* ldb,
             MKL_Complex16* q, const MKL_INT* ldq, MKL_Complex16* z, const MKL_INT* ldz,
             MKL_INT* ns, MKL_INT* nd, MKL_Complex16* alpha, MKL_Complex16* beta,
             MKL_Complex16* qc, const MKL_INT* ldqc, MKL_Complex16* zc, const MKL_INT* ldzc,
             MKL_Complex16* work, const MKL_INT* lwork, double* rwork, const MKL_INT* rec,
             MKL_INT* info) NOTHROW;
void zlaqz2( const MKL_INT* ilschur, const MKL_INT* ilq, const MKL_INT* ilz, const MKL_INT* n,
             const MKL_INT* ilo, const MKL_INT* ihi, const MKL_INT* nw,
             MKL_Complex16* a, const MKL_INT* lda, MKL_Complex16* b, const MKL_INT* ldb,
             MKL_Complex16* q, const MKL_INT* ldq, MKL_Complex16* z, const MKL_INT* ldz,
             MKL_INT* ns, MKL_INT* nd, MKL_Complex16* alpha, MKL_Complex16* beta,
             MKL_Complex16* qc, const MKL_INT* ldqc, MKL_Complex16* zc, const MKL_INT* ldzc,
             MKL_Complex16* work, const MKL_INT* lwork, double* rwork, const MKL_INT* rec,
             MKL_INT* info) NOTHROW;
void zlaqz2_( const MKL_INT* ilschur, const MKL_INT* ilq, const MKL_INT* ilz, const MKL_INT* n,
             const MKL_INT* ilo, const MKL_INT* ihi, const MKL_INT* nw,
             MKL_Complex16* a, const MKL_INT* lda, MKL_Complex16* b, const MKL_INT* ldb,
             MKL_Complex16* q, const MKL_INT* ldq, MKL_Complex16* z, const MKL_INT* ldz,
             MKL_INT* ns, MKL_INT* nd, MKL_Complex16* alpha, MKL_Complex16* beta,
             MKL_Complex16* qc, const MKL_INT* ldqc, MKL_Complex16* zc, const MKL_INT* ldzc,
             MKL_Complex16* work, const MKL_INT* lwork, double* rwork, const MKL_INT* rec,
             MKL_INT* info) NOTHROW;

void ZLAQZ3( const MKL_INT* ilschur, const MKL_INT* ilq, const MKL_INT* ilz, const MKL_INT* n,
             const MKL_INT* ilo, const MKL_INT* ihi, const MKL_INT* nshifts, const MKL_INT* nb,
             MKL_Complex16* alpha, MKL_Complex16* beta, MKL_Complex16* a, const MKL_INT* lda,
             MKL_Complex16* b, const MKL_INT* ldb, MKL_Complex16* q, const MKL_INT* ldq,
             MKL_Complex16* z, const MKL_INT* ldz, MKL_Complex16* qc, const MKL_INT* ldqc,
             MKL_Complex16* zc, const MKL_INT* ldzc, MKL_Complex16* work, const MKL_INT* lwork,
             MKL_INT* info) NOTHROW;
void ZLAQZ3_( const MKL_INT* ilschur, const MKL_INT* ilq, const MKL_INT* ilz, const MKL_INT* n,
             const MKL_INT* ilo, const MKL_INT* ihi, const MKL_INT* nshifts, const MKL_INT* nb,
             MKL_Complex16* alpha, MKL_Complex16* beta, MKL_Complex16* a, const MKL_INT* lda,
             MKL_Complex16* b, const MKL_INT* ldb, MKL_Complex16* q, const MKL_INT* ldq,
             MKL_Complex16* z, const MKL_INT* ldz, MKL_Complex16* qc, const MKL_INT* ldqc,
             MKL_Complex16* zc, const MKL_INT* ldzc, MKL_Complex16* work, const MKL_INT* lwork,
             MKL_INT* info) NOTHROW;
void zlaqz3( const MKL_INT* ilschur, const MKL_INT* ilq, const MKL_INT* ilz, const MKL_INT* n,
             const MKL_INT* ilo, const MKL_INT* ihi, const MKL_INT* nshifts, const MKL_INT* nb,
             MKL_Complex16* alpha, MKL_Complex16* beta, MKL_Complex16* a, const MKL_INT* lda,
             MKL_Complex16* b, const MKL_INT* ldb, MKL_Complex16* q, const MKL_INT* ldq,
             MKL_Complex16* z, const MKL_INT* ldz, MKL_Complex16* qc, const MKL_INT* ldqc,
             MKL_Complex16* zc, const MKL_INT* ldzc, MKL_Complex16* work, const MKL_INT* lwork,
             MKL_INT* info) NOTHROW;
void zlaqz3_( const MKL_INT* ilschur, const MKL_INT* ilq, const MKL_INT* ilz, const MKL_INT* n,
             const MKL_INT* ilo, const MKL_INT* ihi, const MKL_INT* nshifts, const MKL_INT* nb,
             MKL_Complex16* alpha, MKL_Complex16* beta, MKL_Complex16* a, const MKL_INT* lda,
             MKL_Complex16* b, const MKL_INT* ldb, MKL_Complex16* q, const MKL_INT* ldq,
             MKL_Complex16* z, const MKL_INT* ldz, MKL_Complex16* qc, const MKL_INT* ldqc,
             MKL_Complex16* zc, const MKL_INT* ldzc, MKL_Complex16* work, const MKL_INT* lwork,
             MKL_INT* info) NOTHROW;

void ZLAR1V( const MKL_INT* n, const MKL_INT* b1, const MKL_INT* bn,
             const double* lambda, const double* d, const double* l,
             const double* ld, const double* lld, const double* pivmin,
             const double* gaptol, MKL_Complex16* z, const MKL_INT* wantnc,
             MKL_INT* negcnt, double* ztz, double* mingma, MKL_INT* r,
             MKL_INT* isuppz, double* nrminv, double* resid, double* rqcorr,
             double* work ) NOTHROW;
void ZLAR1V_( const MKL_INT* n, const MKL_INT* b1, const MKL_INT* bn,
              const double* lambda, const double* d, const double* l,
              const double* ld, const double* lld, const double* pivmin,
              const double* gaptol, MKL_Complex16* z, const MKL_INT* wantnc,
              MKL_INT* negcnt, double* ztz, double* mingma, MKL_INT* r,
              MKL_INT* isuppz, double* nrminv, double* resid, double* rqcorr,
              double* work ) NOTHROW;
void zlar1v( const MKL_INT* n, const MKL_INT* b1, const MKL_INT* bn,
             const double* lambda, const double* d, const double* l,
             const double* ld, const double* lld, const double* pivmin,
             const double* gaptol, MKL_Complex16* z, const MKL_INT* wantnc,
             MKL_INT* negcnt, double* ztz, double* mingma, MKL_INT* r,
             MKL_INT* isuppz, double* nrminv, double* resid, double* rqcorr,
             double* work ) NOTHROW;
void zlar1v_( const MKL_INT* n, const MKL_INT* b1, const MKL_INT* bn,
              const double* lambda, const double* d, const double* l,
              const double* ld, const double* lld, const double* pivmin,
              const double* gaptol, MKL_Complex16* z, const MKL_INT* wantnc,
              MKL_INT* negcnt, double* ztz, double* mingma, MKL_INT* r,
              MKL_INT* isuppz, double* nrminv, double* resid, double* rqcorr,
              double* work ) NOTHROW;

void ZLAR2V( const MKL_INT* n, MKL_Complex16* x, MKL_Complex16* y,
             MKL_Complex16* z, const MKL_INT* incx, const double* c,
             const MKL_Complex16* s, const MKL_INT* incc ) NOTHROW;
void ZLAR2V_( const MKL_INT* n, MKL_Complex16* x, MKL_Complex16* y,
              MKL_Complex16* z, const MKL_INT* incx, const double* c,
              const MKL_Complex16* s, const MKL_INT* incc ) NOTHROW;
void zlar2v( const MKL_INT* n, MKL_Complex16* x, MKL_Complex16* y,
             MKL_Complex16* z, const MKL_INT* incx, const double* c,
             const MKL_Complex16* s, const MKL_INT* incc ) NOTHROW;
void zlar2v_( const MKL_INT* n, MKL_Complex16* x, MKL_Complex16* y,
              MKL_Complex16* z, const MKL_INT* incx, const double* c,
              const MKL_Complex16* s, const MKL_INT* incc ) NOTHROW;

void ZLARCM( const MKL_INT* m, const MKL_INT* n, const double* a,
             const MKL_INT* lda, const MKL_Complex16* b, const MKL_INT* ldb,
             MKL_Complex16* c, const MKL_INT* ldc, double* rwork ) NOTHROW;
void ZLARCM_( const MKL_INT* m, const MKL_INT* n, const double* a,
              const MKL_INT* lda, const MKL_Complex16* b, const MKL_INT* ldb,
              MKL_Complex16* c, const MKL_INT* ldc, double* rwork ) NOTHROW;
void zlarcm( const MKL_INT* m, const MKL_INT* n, const double* a,
             const MKL_INT* lda, const MKL_Complex16* b, const MKL_INT* ldb,
             MKL_Complex16* c, const MKL_INT* ldc, double* rwork ) NOTHROW;
void zlarcm_( const MKL_INT* m, const MKL_INT* n, const double* a,
              const MKL_INT* lda, const MKL_Complex16* b, const MKL_INT* ldb,
              MKL_Complex16* c, const MKL_INT* ldc, double* rwork ) NOTHROW;

void ZLARFB( const char* side, const char* trans, const char* direct,
             const char* storev, const MKL_INT* m, const MKL_INT* n,
             const MKL_INT* k, const MKL_Complex16* v, const MKL_INT* ldv,
             const MKL_Complex16* t, const MKL_INT* ldt, MKL_Complex16* c,
             const MKL_INT* ldc, MKL_Complex16* work, const MKL_INT* ldwork ) NOTHROW;
void ZLARFB_( const char* side, const char* trans, const char* direct,
              const char* storev, const MKL_INT* m, const MKL_INT* n,
              const MKL_INT* k, const MKL_Complex16* v, const MKL_INT* ldv,
              const MKL_Complex16* t, const MKL_INT* ldt, MKL_Complex16* c,
              const MKL_INT* ldc, MKL_Complex16* work, const MKL_INT* ldwork ) NOTHROW;
void zlarfb( const char* side, const char* trans, const char* direct,
             const char* storev, const MKL_INT* m, const MKL_INT* n,
             const MKL_INT* k, const MKL_Complex16* v, const MKL_INT* ldv,
             const MKL_Complex16* t, const MKL_INT* ldt, MKL_Complex16* c,
             const MKL_INT* ldc, MKL_Complex16* work, const MKL_INT* ldwork ) NOTHROW;
void zlarfb_( const char* side, const char* trans, const char* direct,
              const char* storev, const MKL_INT* m, const MKL_INT* n,
              const MKL_INT* k, const MKL_Complex16* v, const MKL_INT* ldv,
              const MKL_Complex16* t, const MKL_INT* ldt, MKL_Complex16* c,
              const MKL_INT* ldc, MKL_Complex16* work, const MKL_INT* ldwork ) NOTHROW;

void ZLARF( const char* side, const MKL_INT* m, const MKL_INT* n,
            const MKL_Complex16* v, const MKL_INT* incv,
            const MKL_Complex16* tau, MKL_Complex16* c, const MKL_INT* ldc,
            MKL_Complex16* work ) NOTHROW;
void ZLARF_( const char* side, const MKL_INT* m, const MKL_INT* n,
             const MKL_Complex16* v, const MKL_INT* incv,
             const MKL_Complex16* tau, MKL_Complex16* c, const MKL_INT* ldc,
             MKL_Complex16* work ) NOTHROW;
void zlarf( const char* side, const MKL_INT* m, const MKL_INT* n,
            const MKL_Complex16* v, const MKL_INT* incv,
            const MKL_Complex16* tau, MKL_Complex16* c, const MKL_INT* ldc,
            MKL_Complex16* work ) NOTHROW;
void zlarf_( const char* side, const MKL_INT* m, const MKL_INT* n,
             const MKL_Complex16* v, const MKL_INT* incv,
             const MKL_Complex16* tau, MKL_Complex16* c, const MKL_INT* ldc,
             MKL_Complex16* work ) NOTHROW;

void ZLARFG( const MKL_INT* n, MKL_Complex16* alpha, MKL_Complex16* x,
             const MKL_INT* incx, MKL_Complex16* tau ) NOTHROW;
void ZLARFG_( const MKL_INT* n, MKL_Complex16* alpha, MKL_Complex16* x,
              const MKL_INT* incx, MKL_Complex16* tau ) NOTHROW;
void zlarfg( const MKL_INT* n, MKL_Complex16* alpha, MKL_Complex16* x,
             const MKL_INT* incx, MKL_Complex16* tau ) NOTHROW;
void zlarfg_( const MKL_INT* n, MKL_Complex16* alpha, MKL_Complex16* x,
              const MKL_INT* incx, MKL_Complex16* tau ) NOTHROW;

void ZLARFGP( const MKL_INT* n, MKL_Complex16* alpha, MKL_Complex16* x,
              const MKL_INT* incx, MKL_Complex16* tau ) NOTHROW;
void ZLARFGP_( const MKL_INT* n, MKL_Complex16* alpha, MKL_Complex16* x,
               const MKL_INT* incx, MKL_Complex16* tau ) NOTHROW;
void zlarfgp( const MKL_INT* n, MKL_Complex16* alpha, MKL_Complex16* x,
              const MKL_INT* incx, MKL_Complex16* tau ) NOTHROW;
void zlarfgp_( const MKL_INT* n, MKL_Complex16* alpha, MKL_Complex16* x,
               const MKL_INT* incx, MKL_Complex16* tau ) NOTHROW;

void ZLARFP( const MKL_INT* n, MKL_Complex16* alpha, MKL_Complex16* x,
             const MKL_INT* incx, MKL_Complex16* tau ) NOTHROW;
void ZLARFP_( const MKL_INT* n, MKL_Complex16* alpha, MKL_Complex16* x,
              const MKL_INT* incx, MKL_Complex16* tau ) NOTHROW;
void zlarfp( const MKL_INT* n, MKL_Complex16* alpha, MKL_Complex16* x,
             const MKL_INT* incx, MKL_Complex16* tau ) NOTHROW;
void zlarfp_( const MKL_INT* n, MKL_Complex16* alpha, MKL_Complex16* x,
              const MKL_INT* incx, MKL_Complex16* tau ) NOTHROW;

void ZLARFT( const char* direct, const char* storev, const MKL_INT* n,
             const MKL_INT* k, const MKL_Complex16* v, const MKL_INT* ldv,
             const MKL_Complex16* tau, MKL_Complex16* t, const MKL_INT* ldt ) NOTHROW;
void ZLARFT_( const char* direct, const char* storev, const MKL_INT* n,
              const MKL_INT* k, const MKL_Complex16* v, const MKL_INT* ldv,
              const MKL_Complex16* tau, MKL_Complex16* t, const MKL_INT* ldt ) NOTHROW;
void zlarft( const char* direct, const char* storev, const MKL_INT* n,
             const MKL_INT* k, const MKL_Complex16* v, const MKL_INT* ldv,
             const MKL_Complex16* tau, MKL_Complex16* t, const MKL_INT* ldt ) NOTHROW;
void zlarft_( const char* direct, const char* storev, const MKL_INT* n,
              const MKL_INT* k, const MKL_Complex16* v, const MKL_INT* ldv,
              const MKL_Complex16* tau, MKL_Complex16* t, const MKL_INT* ldt ) NOTHROW;

void ZLARFX( const char* side, const MKL_INT* m, const MKL_INT* n,
             const MKL_Complex16* v, const MKL_Complex16* tau,
             MKL_Complex16* c, const MKL_INT* ldc, MKL_Complex16* work ) NOTHROW;
void ZLARFX_( const char* side, const MKL_INT* m, const MKL_INT* n,
              const MKL_Complex16* v, const MKL_Complex16* tau,
              MKL_Complex16* c, const MKL_INT* ldc, MKL_Complex16* work ) NOTHROW;
void zlarfx( const char* side, const MKL_INT* m, const MKL_INT* n,
             const MKL_Complex16* v, const MKL_Complex16* tau,
             MKL_Complex16* c, const MKL_INT* ldc, MKL_Complex16* work ) NOTHROW;
void zlarfx_( const char* side, const MKL_INT* m, const MKL_INT* n,
              const MKL_Complex16* v, const MKL_Complex16* tau,
              MKL_Complex16* c, const MKL_INT* ldc, MKL_Complex16* work ) NOTHROW;

void ZLARGV( const MKL_INT* n, MKL_Complex16* x, const MKL_INT* incx,
             MKL_Complex16* y, const MKL_INT* incy, double* c,
             const MKL_INT* incc ) NOTHROW;
void ZLARGV_( const MKL_INT* n, MKL_Complex16* x, const MKL_INT* incx,
              MKL_Complex16* y, const MKL_INT* incy, double* c,
              const MKL_INT* incc ) NOTHROW;
void zlargv( const MKL_INT* n, MKL_Complex16* x, const MKL_INT* incx,
             MKL_Complex16* y, const MKL_INT* incy, double* c,
             const MKL_INT* incc ) NOTHROW;
void zlargv_( const MKL_INT* n, MKL_Complex16* x, const MKL_INT* incx,
              MKL_Complex16* y, const MKL_INT* incy, double* c,
              const MKL_INT* incc ) NOTHROW;

void ZLARNV( const MKL_INT* idist, MKL_INT* iseed, const MKL_INT* n,
             MKL_Complex16* x ) NOTHROW;
void ZLARNV_( const MKL_INT* idist, MKL_INT* iseed, const MKL_INT* n,
              MKL_Complex16* x ) NOTHROW;
void zlarnv( const MKL_INT* idist, MKL_INT* iseed, const MKL_INT* n,
             MKL_Complex16* x ) NOTHROW;
void zlarnv_( const MKL_INT* idist, MKL_INT* iseed, const MKL_INT* n,
              MKL_Complex16* x ) NOTHROW;

void ZLARRV( const MKL_INT* n, const double* vl, const double* vu, double* d,
             double* l, double* pivmin, const MKL_INT* isplit,
             const MKL_INT* m, const MKL_INT* dol, const MKL_INT* dou,
             const double* minrgp, const double* rtol1, const double* rtol2,
             double* w, double* werr, double* wgap, const MKL_INT* iblock,
             const MKL_INT* indexw, const double* gers, MKL_Complex16* z,
             const MKL_INT* ldz, MKL_INT* isuppz, double* work, MKL_INT* iwork,
             MKL_INT* info ) NOTHROW;
void ZLARRV_( const MKL_INT* n, const double* vl, const double* vu, double* d,
              double* l, double* pivmin, const MKL_INT* isplit,
              const MKL_INT* m, const MKL_INT* dol, const MKL_INT* dou,
              const double* minrgp, const double* rtol1, const double* rtol2,
              double* w, double* werr, double* wgap, const MKL_INT* iblock,
              const MKL_INT* indexw, const double* gers, MKL_Complex16* z,
              const MKL_INT* ldz, MKL_INT* isuppz, double* work,
              MKL_INT* iwork, MKL_INT* info ) NOTHROW;
void zlarrv( const MKL_INT* n, const double* vl, const double* vu, double* d,
             double* l, double* pivmin, const MKL_INT* isplit,
             const MKL_INT* m, const MKL_INT* dol, const MKL_INT* dou,
             const double* minrgp, const double* rtol1, const double* rtol2,
             double* w, double* werr, double* wgap, const MKL_INT* iblock,
             const MKL_INT* indexw, const double* gers, MKL_Complex16* z,
             const MKL_INT* ldz, MKL_INT* isuppz, double* work, MKL_INT* iwork,
             MKL_INT* info ) NOTHROW;
void zlarrv_( const MKL_INT* n, const double* vl, const double* vu, double* d,
              double* l, double* pivmin, const MKL_INT* isplit,
              const MKL_INT* m, const MKL_INT* dol, const MKL_INT* dou,
              const double* minrgp, const double* rtol1, const double* rtol2,
              double* w, double* werr, double* wgap, const MKL_INT* iblock,
              const MKL_INT* indexw, const double* gers, MKL_Complex16* z,
              const MKL_INT* ldz, MKL_INT* isuppz, double* work,
              MKL_INT* iwork, MKL_INT* info ) NOTHROW;

void ZLARSCL2( const MKL_INT* m, const MKL_INT* n, const double* d, MKL_Complex16* x,
               const MKL_INT* ldx ) NOTHROW;
void ZLARSCL2_( const MKL_INT* m, const MKL_INT* n, const double* d, MKL_Complex16* x,
                const MKL_INT* ldx ) NOTHROW;
void zlarscl2( const MKL_INT* m, const MKL_INT* n, const double* d, MKL_Complex16* x,
               const MKL_INT* ldx ) NOTHROW;
void zlarscl2_( const MKL_INT* m, const MKL_INT* n, const double* d, MKL_Complex16* x,
                const MKL_INT* ldx ) NOTHROW;

void ZLARTG( const MKL_Complex16* f, const MKL_Complex16* g, double* cs,
             MKL_Complex16* sn, MKL_Complex16* r ) NOTHROW;
void ZLARTG_( const MKL_Complex16* f, const MKL_Complex16* g, double* cs,
              MKL_Complex16* sn, MKL_Complex16* r ) NOTHROW;
void zlartg( const MKL_Complex16* f, const MKL_Complex16* g, double* cs,
             MKL_Complex16* sn, MKL_Complex16* r ) NOTHROW;
void zlartg_( const MKL_Complex16* f, const MKL_Complex16* g, double* cs,
              MKL_Complex16* sn, MKL_Complex16* r ) NOTHROW;

void ZLARTV( const MKL_INT* n, MKL_Complex16* x, const MKL_INT* incx,
             MKL_Complex16* y, const MKL_INT* incy, const double* c,
             const MKL_Complex16* s, const MKL_INT* incc ) NOTHROW;
void ZLARTV_( const MKL_INT* n, MKL_Complex16* x, const MKL_INT* incx,
              MKL_Complex16* y, const MKL_INT* incy, const double* c,
              const MKL_Complex16* s, const MKL_INT* incc ) NOTHROW;
void zlartv( const MKL_INT* n, MKL_Complex16* x, const MKL_INT* incx,
             MKL_Complex16* y, const MKL_INT* incy, const double* c,
             const MKL_Complex16* s, const MKL_INT* incc ) NOTHROW;
void zlartv_( const MKL_INT* n, MKL_Complex16* x, const MKL_INT* incx,
              MKL_Complex16* y, const MKL_INT* incy, const double* c,
              const MKL_Complex16* s, const MKL_INT* incc ) NOTHROW;

void ZLARZB( const char* side, const char* trans, const char* direct,
             const char* storev, const MKL_INT* m, const MKL_INT* n,
             const MKL_INT* k, const MKL_INT* l, const MKL_Complex16* v,
             const MKL_INT* ldv, const MKL_Complex16* t, const MKL_INT* ldt,
             MKL_Complex16* c, const MKL_INT* ldc, MKL_Complex16* work,
             const MKL_INT* ldwork ) NOTHROW;
void ZLARZB_( const char* side, const char* trans, const char* direct,
              const char* storev, const MKL_INT* m, const MKL_INT* n,
              const MKL_INT* k, const MKL_INT* l, const MKL_Complex16* v,
              const MKL_INT* ldv, const MKL_Complex16* t, const MKL_INT* ldt,
              MKL_Complex16* c, const MKL_INT* ldc, MKL_Complex16* work,
              const MKL_INT* ldwork ) NOTHROW;
void zlarzb( const char* side, const char* trans, const char* direct,
             const char* storev, const MKL_INT* m, const MKL_INT* n,
             const MKL_INT* k, const MKL_INT* l, const MKL_Complex16* v,
             const MKL_INT* ldv, const MKL_Complex16* t, const MKL_INT* ldt,
             MKL_Complex16* c, const MKL_INT* ldc, MKL_Complex16* work,
             const MKL_INT* ldwork ) NOTHROW;
void zlarzb_( const char* side, const char* trans, const char* direct,
              const char* storev, const MKL_INT* m, const MKL_INT* n,
              const MKL_INT* k, const MKL_INT* l, const MKL_Complex16* v,
              const MKL_INT* ldv, const MKL_Complex16* t, const MKL_INT* ldt,
              MKL_Complex16* c, const MKL_INT* ldc, MKL_Complex16* work,
              const MKL_INT* ldwork ) NOTHROW;

void ZLARZ( const char* side, const MKL_INT* m, const MKL_INT* n,
            const MKL_INT* l, const MKL_Complex16* v, const MKL_INT* incv,
            const MKL_Complex16* tau, MKL_Complex16* c, const MKL_INT* ldc,
            MKL_Complex16* work ) NOTHROW;
void ZLARZ_( const char* side, const MKL_INT* m, const MKL_INT* n,
             const MKL_INT* l, const MKL_Complex16* v, const MKL_INT* incv,
             const MKL_Complex16* tau, MKL_Complex16* c, const MKL_INT* ldc,
             MKL_Complex16* work ) NOTHROW;
void zlarz( const char* side, const MKL_INT* m, const MKL_INT* n,
            const MKL_INT* l, const MKL_Complex16* v, const MKL_INT* incv,
            const MKL_Complex16* tau, MKL_Complex16* c, const MKL_INT* ldc,
            MKL_Complex16* work ) NOTHROW;
void zlarz_( const char* side, const MKL_INT* m, const MKL_INT* n,
             const MKL_INT* l, const MKL_Complex16* v, const MKL_INT* incv,
             const MKL_Complex16* tau, MKL_Complex16* c, const MKL_INT* ldc,
             MKL_Complex16* work ) NOTHROW;

void ZLARZT( const char* direct, const char* storev, const MKL_INT* n,
             const MKL_INT* k, MKL_Complex16* v, const MKL_INT* ldv,
             const MKL_Complex16* tau, MKL_Complex16* t, const MKL_INT* ldt ) NOTHROW;
void ZLARZT_( const char* direct, const char* storev, const MKL_INT* n,
              const MKL_INT* k, MKL_Complex16* v, const MKL_INT* ldv,
              const MKL_Complex16* tau, MKL_Complex16* t, const MKL_INT* ldt ) NOTHROW;
void zlarzt( const char* direct, const char* storev, const MKL_INT* n,
             const MKL_INT* k, MKL_Complex16* v, const MKL_INT* ldv,
             const MKL_Complex16* tau, MKL_Complex16* t, const MKL_INT* ldt ) NOTHROW;
void zlarzt_( const char* direct, const char* storev, const MKL_INT* n,
              const MKL_INT* k, MKL_Complex16* v, const MKL_INT* ldv,
              const MKL_Complex16* tau, MKL_Complex16* t, const MKL_INT* ldt ) NOTHROW;

void ZLASCL( const char* type, const MKL_INT* kl, const MKL_INT* ku,
             const double* cfrom, const double* cto, const MKL_INT* m,
             const MKL_INT* n, MKL_Complex16* a, const MKL_INT* lda,
             MKL_INT* info ) NOTHROW;
void ZLASCL_( const char* type, const MKL_INT* kl, const MKL_INT* ku,
              const double* cfrom, const double* cto, const MKL_INT* m,
              const MKL_INT* n, MKL_Complex16* a, const MKL_INT* lda,
              MKL_INT* info ) NOTHROW;
void zlascl( const char* type, const MKL_INT* kl, const MKL_INT* ku,
             const double* cfrom, const double* cto, const MKL_INT* m,
             const MKL_INT* n, MKL_Complex16* a, const MKL_INT* lda,
             MKL_INT* info ) NOTHROW;
void zlascl_( const char* type, const MKL_INT* kl, const MKL_INT* ku,
              const double* cfrom, const double* cto, const MKL_INT* m,
              const MKL_INT* n, MKL_Complex16* a, const MKL_INT* lda,
              MKL_INT* info ) NOTHROW;

void ZLASCL2( const MKL_INT* m, const MKL_INT* n, const double* d, MKL_Complex16* x,
              const MKL_INT* ldx ) NOTHROW;
void ZLASCL2_( const MKL_INT* m, const MKL_INT* n, const double* d, MKL_Complex16* x,
               const MKL_INT* ldx ) NOTHROW;
void zlascl2( const MKL_INT* m, const MKL_INT* n, const double* d, MKL_Complex16* x,
              const MKL_INT* ldx ) NOTHROW;
void zlascl2_( const MKL_INT* m, const MKL_INT* n, const double* d, MKL_Complex16* x,
               const MKL_INT* ldx ) NOTHROW;

void ZLASET( const char* uplo, const MKL_INT* m, const MKL_INT* n,
             const MKL_Complex16* alpha, const MKL_Complex16* beta,
             MKL_Complex16* a, const MKL_INT* lda ) NOTHROW;
void ZLASET_( const char* uplo, const MKL_INT* m, const MKL_INT* n,
              const MKL_Complex16* alpha, const MKL_Complex16* beta,
              MKL_Complex16* a, const MKL_INT* lda ) NOTHROW;
void zlaset( const char* uplo, const MKL_INT* m, const MKL_INT* n,
             const MKL_Complex16* alpha, const MKL_Complex16* beta,
             MKL_Complex16* a, const MKL_INT* lda ) NOTHROW;
void zlaset_( const char* uplo, const MKL_INT* m, const MKL_INT* n,
              const MKL_Complex16* alpha, const MKL_Complex16* beta,
              MKL_Complex16* a, const MKL_INT* lda ) NOTHROW;

void ZLASR( const char* side, const char* pivot, const char* direct,
            const MKL_INT* m, const MKL_INT* n, const double* c,
            const double* s, MKL_Complex16* a, const MKL_INT* lda ) NOTHROW;
void ZLASR_( const char* side, const char* pivot, const char* direct,
             const MKL_INT* m, const MKL_INT* n, const double* c,
             const double* s, MKL_Complex16* a, const MKL_INT* lda ) NOTHROW;
void zlasr( const char* side, const char* pivot, const char* direct,
            const MKL_INT* m, const MKL_INT* n, const double* c,
            const double* s, MKL_Complex16* a, const MKL_INT* lda ) NOTHROW;
void zlasr_( const char* side, const char* pivot, const char* direct,
             const MKL_INT* m, const MKL_INT* n, const double* c,
             const double* s, MKL_Complex16* a, const MKL_INT* lda ) NOTHROW;

void ZLASSQ( const MKL_INT* n, const MKL_Complex16* x, const MKL_INT* incx,
             double* scale, double* sumsq ) NOTHROW;
void ZLASSQ_( const MKL_INT* n, const MKL_Complex16* x, const MKL_INT* incx,
              double* scale, double* sumsq ) NOTHROW;
void zlassq( const MKL_INT* n, const MKL_Complex16* x, const MKL_INT* incx,
             double* scale, double* sumsq ) NOTHROW;
void zlassq_( const MKL_INT* n, const MKL_Complex16* x, const MKL_INT* incx,
              double* scale, double* sumsq ) NOTHROW;

void ZLASWP( const MKL_INT* n, MKL_Complex16* a, const MKL_INT* lda,
             const MKL_INT* k1, const MKL_INT* k2, const MKL_INT* ipiv,
             const MKL_INT* incx ) NOTHROW;
void ZLASWP_( const MKL_INT* n, MKL_Complex16* a, const MKL_INT* lda,
              const MKL_INT* k1, const MKL_INT* k2, const MKL_INT* ipiv,
              const MKL_INT* incx ) NOTHROW;
void zlaswp( const MKL_INT* n, MKL_Complex16* a, const MKL_INT* lda,
             const MKL_INT* k1, const MKL_INT* k2, const MKL_INT* ipiv,
             const MKL_INT* incx ) NOTHROW;
void zlaswp_( const MKL_INT* n, MKL_Complex16* a, const MKL_INT* lda,
              const MKL_INT* k1, const MKL_INT* k2, const MKL_INT* ipiv,
              const MKL_INT* incx ) NOTHROW;

void ZLASYF( const char* uplo, const MKL_INT* n, const MKL_INT* nb,
             MKL_INT* kb, MKL_Complex16* a, const MKL_INT* lda, MKL_INT* ipiv,
             MKL_Complex16* w, const MKL_INT* ldw, MKL_INT* info ) NOTHROW;
void ZLASYF_( const char* uplo, const MKL_INT* n, const MKL_INT* nb,
              MKL_INT* kb, MKL_Complex16* a, const MKL_INT* lda, MKL_INT* ipiv,
              MKL_Complex16* w, const MKL_INT* ldw, MKL_INT* info ) NOTHROW;
void zlasyf( const char* uplo, const MKL_INT* n, const MKL_INT* nb,
             MKL_INT* kb, MKL_Complex16* a, const MKL_INT* lda, MKL_INT* ipiv,
             MKL_Complex16* w, const MKL_INT* ldw, MKL_INT* info ) NOTHROW;
void zlasyf_( const char* uplo, const MKL_INT* n, const MKL_INT* nb,
              MKL_INT* kb, MKL_Complex16* a, const MKL_INT* lda, MKL_INT* ipiv,
              MKL_Complex16* w, const MKL_INT* ldw, MKL_INT* info ) NOTHROW;

void ZLAT2C( const char* uplo, const MKL_INT* n, const MKL_Complex16* a,
             const MKL_INT* lda, MKL_Complex8* sa, const MKL_INT* ldsa,
             MKL_INT* info ) NOTHROW;
void ZLAT2C_( const char* uplo, const MKL_INT* n, const MKL_Complex16* a,
              const MKL_INT* lda, MKL_Complex8* sa, const MKL_INT* ldsa,
              MKL_INT* info ) NOTHROW;
void zlat2c( const char* uplo, const MKL_INT* n, const MKL_Complex16* a,
             const MKL_INT* lda, MKL_Complex8* sa, const MKL_INT* ldsa,
             MKL_INT* info ) NOTHROW;
void zlat2c_( const char* uplo, const MKL_INT* n, const MKL_Complex16* a,
              const MKL_INT* lda, MKL_Complex8* sa, const MKL_INT* ldsa,
              MKL_INT* info ) NOTHROW;

void ZLATBS( const char* uplo, const char* trans, const char* diag,
             const char* normin, const MKL_INT* n, const MKL_INT* kd,
             const MKL_Complex16* ab, const MKL_INT* ldab, MKL_Complex16* x,
             double* scale, double* cnorm, MKL_INT* info ) NOTHROW;
void ZLATBS_( const char* uplo, const char* trans, const char* diag,
              const char* normin, const MKL_INT* n, const MKL_INT* kd,
              const MKL_Complex16* ab, const MKL_INT* ldab, MKL_Complex16* x,
              double* scale, double* cnorm, MKL_INT* info ) NOTHROW;
void zlatbs( const char* uplo, const char* trans, const char* diag,
             const char* normin, const MKL_INT* n, const MKL_INT* kd,
             const MKL_Complex16* ab, const MKL_INT* ldab, MKL_Complex16* x,
             double* scale, double* cnorm, MKL_INT* info ) NOTHROW;
void zlatbs_( const char* uplo, const char* trans, const char* diag,
              const char* normin, const MKL_INT* n, const MKL_INT* kd,
              const MKL_Complex16* ab, const MKL_INT* ldab, MKL_Complex16* x,
              double* scale, double* cnorm, MKL_INT* info ) NOTHROW;

void ZLATDF( const MKL_INT* ijob, const MKL_INT* n, const MKL_Complex16* z,
             const MKL_INT* ldz, MKL_Complex16* rhs, double* rdsum,
             double* rdscal, const MKL_INT* ipiv, const MKL_INT* jpiv ) NOTHROW;
void ZLATDF_( const MKL_INT* ijob, const MKL_INT* n, const MKL_Complex16* z,
              const MKL_INT* ldz, MKL_Complex16* rhs, double* rdsum,
              double* rdscal, const MKL_INT* ipiv, const MKL_INT* jpiv ) NOTHROW;
void zlatdf( const MKL_INT* ijob, const MKL_INT* n, const MKL_Complex16* z,
             const MKL_INT* ldz, MKL_Complex16* rhs, double* rdsum,
             double* rdscal, const MKL_INT* ipiv, const MKL_INT* jpiv ) NOTHROW;
void zlatdf_( const MKL_INT* ijob, const MKL_INT* n, const MKL_Complex16* z,
              const MKL_INT* ldz, MKL_Complex16* rhs, double* rdsum,
              double* rdscal, const MKL_INT* ipiv, const MKL_INT* jpiv ) NOTHROW;

void ZLATPS( const char* uplo, const char* trans, const char* diag,
             const char* normin, const MKL_INT* n, const MKL_Complex16* ap,
             MKL_Complex16* x, double* scale, double* cnorm, MKL_INT* info ) NOTHROW;
void ZLATPS_( const char* uplo, const char* trans, const char* diag,
              const char* normin, const MKL_INT* n, const MKL_Complex16* ap,
              MKL_Complex16* x, double* scale, double* cnorm, MKL_INT* info ) NOTHROW;
void zlatps( const char* uplo, const char* trans, const char* diag,
             const char* normin, const MKL_INT* n, const MKL_Complex16* ap,
             MKL_Complex16* x, double* scale, double* cnorm, MKL_INT* info ) NOTHROW;
void zlatps_( const char* uplo, const char* trans, const char* diag,
              const char* normin, const MKL_INT* n, const MKL_Complex16* ap,
              MKL_Complex16* x, double* scale, double* cnorm, MKL_INT* info ) NOTHROW;

void ZLATRD( const char* uplo, const MKL_INT* n, const MKL_INT* nb,
             MKL_Complex16* a, const MKL_INT* lda, double* e,
             MKL_Complex16* tau, MKL_Complex16* w, const MKL_INT* ldw ) NOTHROW;
void ZLATRD_( const char* uplo, const MKL_INT* n, const MKL_INT* nb,
              MKL_Complex16* a, const MKL_INT* lda, double* e,
              MKL_Complex16* tau, MKL_Complex16* w, const MKL_INT* ldw ) NOTHROW;
void zlatrd( const char* uplo, const MKL_INT* n, const MKL_INT* nb,
             MKL_Complex16* a, const MKL_INT* lda, double* e,
             MKL_Complex16* tau, MKL_Complex16* w, const MKL_INT* ldw ) NOTHROW;
void zlatrd_( const char* uplo, const MKL_INT* n, const MKL_INT* nb,
              MKL_Complex16* a, const MKL_INT* lda, double* e,
              MKL_Complex16* tau, MKL_Complex16* w, const MKL_INT* ldw ) NOTHROW;

void ZLATRS( const char* uplo, const char* trans, const char* diag,
             const char* normin, const MKL_INT* n, const MKL_Complex16* a,
             const MKL_INT* lda, MKL_Complex16* x, double* scale,
             double* cnorm, MKL_INT* info ) NOTHROW;
void ZLATRS_( const char* uplo, const char* trans, const char* diag,
              const char* normin, const MKL_INT* n, const MKL_Complex16* a,
              const MKL_INT* lda, MKL_Complex16* x, double* scale,
              double* cnorm, MKL_INT* info ) NOTHROW;
void zlatrs( const char* uplo, const char* trans, const char* diag,
             const char* normin, const MKL_INT* n, const MKL_Complex16* a,
             const MKL_INT* lda, MKL_Complex16* x, double* scale,
             double* cnorm, MKL_INT* info ) NOTHROW;
void zlatrs_( const char* uplo, const char* trans, const char* diag,
              const char* normin, const MKL_INT* n, const MKL_Complex16* a,
              const MKL_INT* lda, MKL_Complex16* x, double* scale,
              double* cnorm, MKL_INT* info ) NOTHROW;

void ZLATRZ( const MKL_INT* m, const MKL_INT* n, const MKL_INT* l,
             MKL_Complex16* a, const MKL_INT* lda, MKL_Complex16* tau,
             MKL_Complex16* work ) NOTHROW;
void ZLATRZ_( const MKL_INT* m, const MKL_INT* n, const MKL_INT* l,
              MKL_Complex16* a, const MKL_INT* lda, MKL_Complex16* tau,
              MKL_Complex16* work ) NOTHROW;
void zlatrz( const MKL_INT* m, const MKL_INT* n, const MKL_INT* l,
             MKL_Complex16* a, const MKL_INT* lda, MKL_Complex16* tau,
             MKL_Complex16* work ) NOTHROW;
void zlatrz_( const MKL_INT* m, const MKL_INT* n, const MKL_INT* l,
              MKL_Complex16* a, const MKL_INT* lda, MKL_Complex16* tau,
              MKL_Complex16* work ) NOTHROW;

void ZLATZM( const char* side, const MKL_INT* m, const MKL_INT* n,
             const MKL_Complex16* v, const MKL_INT* incv,
             const MKL_Complex16* tau, MKL_Complex16* c1, MKL_Complex16* c2,
             const MKL_INT* ldc, MKL_Complex16* work ) NOTHROW;
void ZLATZM_( const char* side, const MKL_INT* m, const MKL_INT* n,
              const MKL_Complex16* v, const MKL_INT* incv,
              const MKL_Complex16* tau, MKL_Complex16* c1, MKL_Complex16* c2,
              const MKL_INT* ldc, MKL_Complex16* work ) NOTHROW;
void zlatzm( const char* side, const MKL_INT* m, const MKL_INT* n,
             const MKL_Complex16* v, const MKL_INT* incv,
             const MKL_Complex16* tau, MKL_Complex16* c1, MKL_Complex16* c2,
             const MKL_INT* ldc, MKL_Complex16* work ) NOTHROW;
void zlatzm_( const char* side, const MKL_INT* m, const MKL_INT* n,
              const MKL_Complex16* v, const MKL_INT* incv,
              const MKL_Complex16* tau, MKL_Complex16* c1, MKL_Complex16* c2,
              const MKL_INT* ldc, MKL_Complex16* work ) NOTHROW;

void ZLAUU2( const char* uplo, const MKL_INT* n, MKL_Complex16* a,
             const MKL_INT* lda, MKL_INT* info ) NOTHROW;
void ZLAUU2_( const char* uplo, const MKL_INT* n, MKL_Complex16* a,
              const MKL_INT* lda, MKL_INT* info ) NOTHROW;
void zlauu2( const char* uplo, const MKL_INT* n, MKL_Complex16* a,
             const MKL_INT* lda, MKL_INT* info ) NOTHROW;
void zlauu2_( const char* uplo, const MKL_INT* n, MKL_Complex16* a,
              const MKL_INT* lda, MKL_INT* info ) NOTHROW;

void ZLAUUM( const char* uplo, const MKL_INT* n, MKL_Complex16* a,
             const MKL_INT* lda, MKL_INT* info ) NOTHROW;
void ZLAUUM_( const char* uplo, const MKL_INT* n, MKL_Complex16* a,
              const MKL_INT* lda, MKL_INT* info ) NOTHROW;
void zlauum( const char* uplo, const MKL_INT* n, MKL_Complex16* a,
             const MKL_INT* lda, MKL_INT* info ) NOTHROW;
void zlauum_( const char* uplo, const MKL_INT* n, MKL_Complex16* a,
              const MKL_INT* lda, MKL_INT* info ) NOTHROW;

void ZPBCON( const char* uplo, const MKL_INT* n, const MKL_INT* kd,
             const MKL_Complex16* ab, const MKL_INT* ldab, const double* anorm,
             double* rcond, MKL_Complex16* work, double* rwork,
             MKL_INT* info ) NOTHROW;
void ZPBCON_( const char* uplo, const MKL_INT* n, const MKL_INT* kd,
              const MKL_Complex16* ab, const MKL_INT* ldab,
              const double* anorm, double* rcond, MKL_Complex16* work,
              double* rwork, MKL_INT* info ) NOTHROW;
void zpbcon( const char* uplo, const MKL_INT* n, const MKL_INT* kd,
             const MKL_Complex16* ab, const MKL_INT* ldab, const double* anorm,
             double* rcond, MKL_Complex16* work, double* rwork,
             MKL_INT* info ) NOTHROW;
void zpbcon_( const char* uplo, const MKL_INT* n, const MKL_INT* kd,
              const MKL_Complex16* ab, const MKL_INT* ldab,
              const double* anorm, double* rcond, MKL_Complex16* work,
              double* rwork, MKL_INT* info ) NOTHROW;

void ZPBEQU( const char* uplo, const MKL_INT* n, const MKL_INT* kd,
             const MKL_Complex16* ab, const MKL_INT* ldab, double* s,
             double* scond, double* amax, MKL_INT* info ) NOTHROW;
void ZPBEQU_( const char* uplo, const MKL_INT* n, const MKL_INT* kd,
              const MKL_Complex16* ab, const MKL_INT* ldab, double* s,
              double* scond, double* amax, MKL_INT* info ) NOTHROW;
void zpbequ( const char* uplo, const MKL_INT* n, const MKL_INT* kd,
             const MKL_Complex16* ab, const MKL_INT* ldab, double* s,
             double* scond, double* amax, MKL_INT* info ) NOTHROW;
void zpbequ_( const char* uplo, const MKL_INT* n, const MKL_INT* kd,
              const MKL_Complex16* ab, const MKL_INT* ldab, double* s,
              double* scond, double* amax, MKL_INT* info ) NOTHROW;

void ZPBRFS( const char* uplo, const MKL_INT* n, const MKL_INT* kd,
             const MKL_INT* nrhs, const MKL_Complex16* ab, const MKL_INT* ldab,
             const MKL_Complex16* afb, const MKL_INT* ldafb,
             const MKL_Complex16* b, const MKL_INT* ldb, MKL_Complex16* x,
             const MKL_INT* ldx, double* ferr, double* berr,
             MKL_Complex16* work, double* rwork, MKL_INT* info ) NOTHROW;
void ZPBRFS_( const char* uplo, const MKL_INT* n, const MKL_INT* kd,
              const MKL_INT* nrhs, const MKL_Complex16* ab,
              const MKL_INT* ldab, const MKL_Complex16* afb,
              const MKL_INT* ldafb, const MKL_Complex16* b, const MKL_INT* ldb,
              MKL_Complex16* x, const MKL_INT* ldx, double* ferr, double* berr,
              MKL_Complex16* work, double* rwork, MKL_INT* info ) NOTHROW;
void zpbrfs( const char* uplo, const MKL_INT* n, const MKL_INT* kd,
             const MKL_INT* nrhs, const MKL_Complex16* ab, const MKL_INT* ldab,
             const MKL_Complex16* afb, const MKL_INT* ldafb,
             const MKL_Complex16* b, const MKL_INT* ldb, MKL_Complex16* x,
             const MKL_INT* ldx, double* ferr, double* berr,
             MKL_Complex16* work, double* rwork, MKL_INT* info ) NOTHROW;
void zpbrfs_( const char* uplo, const MKL_INT* n, const MKL_INT* kd,
              const MKL_INT* nrhs, const MKL_Complex16* ab,
              const MKL_INT* ldab, const MKL_Complex16* afb,
              const MKL_INT* ldafb, const MKL_Complex16* b, const MKL_INT* ldb,
              MKL_Complex16* x, const MKL_INT* ldx, double* ferr, double* berr,
              MKL_Complex16* work, double* rwork, MKL_INT* info ) NOTHROW;

void ZPBSTF( const char* uplo, const MKL_INT* n, const MKL_INT* kd,
             MKL_Complex16* ab, const MKL_INT* ldab, MKL_INT* info ) NOTHROW;
void ZPBSTF_( const char* uplo, const MKL_INT* n, const MKL_INT* kd,
              MKL_Complex16* ab, const MKL_INT* ldab, MKL_INT* info ) NOTHROW;
void zpbstf( const char* uplo, const MKL_INT* n, const MKL_INT* kd,
             MKL_Complex16* ab, const MKL_INT* ldab, MKL_INT* info ) NOTHROW;
void zpbstf_( const char* uplo, const MKL_INT* n, const MKL_INT* kd,
              MKL_Complex16* ab, const MKL_INT* ldab, MKL_INT* info ) NOTHROW;

void ZPBSV( const char* uplo, const MKL_INT* n, const MKL_INT* kd,
            const MKL_INT* nrhs, MKL_Complex16* ab, const MKL_INT* ldab,
            MKL_Complex16* b, const MKL_INT* ldb, MKL_INT* info ) NOTHROW;
void ZPBSV_( const char* uplo, const MKL_INT* n, const MKL_INT* kd,
             const MKL_INT* nrhs, MKL_Complex16* ab, const MKL_INT* ldab,
             MKL_Complex16* b, const MKL_INT* ldb, MKL_INT* info ) NOTHROW;
void zpbsv( const char* uplo, const MKL_INT* n, const MKL_INT* kd,
            const MKL_INT* nrhs, MKL_Complex16* ab, const MKL_INT* ldab,
            MKL_Complex16* b, const MKL_INT* ldb, MKL_INT* info ) NOTHROW;
void zpbsv_( const char* uplo, const MKL_INT* n, const MKL_INT* kd,
             const MKL_INT* nrhs, MKL_Complex16* ab, const MKL_INT* ldab,
             MKL_Complex16* b, const MKL_INT* ldb, MKL_INT* info ) NOTHROW;

void ZPBSVX( const char* fact, const char* uplo, const MKL_INT* n,
             const MKL_INT* kd, const MKL_INT* nrhs, MKL_Complex16* ab,
             const MKL_INT* ldab, MKL_Complex16* afb, const MKL_INT* ldafb,
             char* equed, double* s, MKL_Complex16* b, const MKL_INT* ldb,
             MKL_Complex16* x, const MKL_INT* ldx, double* rcond, double* ferr,
             double* berr, MKL_Complex16* work, double* rwork, MKL_INT* info ) NOTHROW;
void ZPBSVX_( const char* fact, const char* uplo, const MKL_INT* n,
              const MKL_INT* kd, const MKL_INT* nrhs, MKL_Complex16* ab,
              const MKL_INT* ldab, MKL_Complex16* afb, const MKL_INT* ldafb,
              char* equed, double* s, MKL_Complex16* b, const MKL_INT* ldb,
              MKL_Complex16* x, const MKL_INT* ldx, double* rcond,
              double* ferr, double* berr, MKL_Complex16* work, double* rwork,
              MKL_INT* info ) NOTHROW;
void zpbsvx( const char* fact, const char* uplo, const MKL_INT* n,
             const MKL_INT* kd, const MKL_INT* nrhs, MKL_Complex16* ab,
             const MKL_INT* ldab, MKL_Complex16* afb, const MKL_INT* ldafb,
             char* equed, double* s, MKL_Complex16* b, const MKL_INT* ldb,
             MKL_Complex16* x, const MKL_INT* ldx, double* rcond, double* ferr,
             double* berr, MKL_Complex16* work, double* rwork, MKL_INT* info ) NOTHROW;
void zpbsvx_( const char* fact, const char* uplo, const MKL_INT* n,
              const MKL_INT* kd, const MKL_INT* nrhs, MKL_Complex16* ab,
              const MKL_INT* ldab, MKL_Complex16* afb, const MKL_INT* ldafb,
              char* equed, double* s, MKL_Complex16* b, const MKL_INT* ldb,
              MKL_Complex16* x, const MKL_INT* ldx, double* rcond,
              double* ferr, double* berr, MKL_Complex16* work, double* rwork,
              MKL_INT* info ) NOTHROW;

void ZPBTF2( const char* uplo, const MKL_INT* n, const MKL_INT* kd,
             MKL_Complex16* ab, const MKL_INT* ldab, MKL_INT* info ) NOTHROW;
void ZPBTF2_( const char* uplo, const MKL_INT* n, const MKL_INT* kd,
              MKL_Complex16* ab, const MKL_INT* ldab, MKL_INT* info ) NOTHROW;
void zpbtf2( const char* uplo, const MKL_INT* n, const MKL_INT* kd,
             MKL_Complex16* ab, const MKL_INT* ldab, MKL_INT* info ) NOTHROW;
void zpbtf2_( const char* uplo, const MKL_INT* n, const MKL_INT* kd,
              MKL_Complex16* ab, const MKL_INT* ldab, MKL_INT* info ) NOTHROW;

void ZPBTRF( const char* uplo, const MKL_INT* n, const MKL_INT* kd,
             MKL_Complex16* ab, const MKL_INT* ldab, MKL_INT* info ) NOTHROW;
void ZPBTRF_( const char* uplo, const MKL_INT* n, const MKL_INT* kd,
              MKL_Complex16* ab, const MKL_INT* ldab, MKL_INT* info ) NOTHROW;
void zpbtrf( const char* uplo, const MKL_INT* n, const MKL_INT* kd,
             MKL_Complex16* ab, const MKL_INT* ldab, MKL_INT* info ) NOTHROW;
void zpbtrf_( const char* uplo, const MKL_INT* n, const MKL_INT* kd,
              MKL_Complex16* ab, const MKL_INT* ldab, MKL_INT* info ) NOTHROW;

void ZPBTRS( const char* uplo, const MKL_INT* n, const MKL_INT* kd,
             const MKL_INT* nrhs, const MKL_Complex16* ab, const MKL_INT* ldab,
             MKL_Complex16* b, const MKL_INT* ldb, MKL_INT* info ) NOTHROW;
void ZPBTRS_( const char* uplo, const MKL_INT* n, const MKL_INT* kd,
              const MKL_INT* nrhs, const MKL_Complex16* ab,
              const MKL_INT* ldab, MKL_Complex16* b, const MKL_INT* ldb,
              MKL_INT* info ) NOTHROW;
void zpbtrs( const char* uplo, const MKL_INT* n, const MKL_INT* kd,
             const MKL_INT* nrhs, const MKL_Complex16* ab, const MKL_INT* ldab,
             MKL_Complex16* b, const MKL_INT* ldb, MKL_INT* info ) NOTHROW;
void zpbtrs_( const char* uplo, const MKL_INT* n, const MKL_INT* kd,
              const MKL_INT* nrhs, const MKL_Complex16* ab,
              const MKL_INT* ldab, MKL_Complex16* b, const MKL_INT* ldb,
              MKL_INT* info ) NOTHROW;

void ZPFTRF( const char* transr, const char* uplo, const MKL_INT* n,
             MKL_Complex16* a, MKL_INT* info ) NOTHROW;
void ZPFTRF_( const char* transr, const char* uplo, const MKL_INT* n,
              MKL_Complex16* a, MKL_INT* info ) NOTHROW;
void zpftrf( const char* transr, const char* uplo, const MKL_INT* n,
             MKL_Complex16* a, MKL_INT* info ) NOTHROW;
void zpftrf_( const char* transr, const char* uplo, const MKL_INT* n,
              MKL_Complex16* a, MKL_INT* info ) NOTHROW;

void ZPFTRI( const char* transr, const char* uplo, const MKL_INT* n,
             MKL_Complex16* a, MKL_INT* info ) NOTHROW;
void ZPFTRI_( const char* transr, const char* uplo, const MKL_INT* n,
              MKL_Complex16* a, MKL_INT* info ) NOTHROW;
void zpftri( const char* transr, const char* uplo, const MKL_INT* n,
             MKL_Complex16* a, MKL_INT* info ) NOTHROW;
void zpftri_( const char* transr, const char* uplo, const MKL_INT* n,
              MKL_Complex16* a, MKL_INT* info ) NOTHROW;

void ZPFTRS( const char* transr, const char* uplo, const MKL_INT* n,
             const MKL_INT* nrhs, const MKL_Complex16* a, MKL_Complex16* b,
             const MKL_INT* ldb, MKL_INT* info ) NOTHROW;
void ZPFTRS_( const char* transr, const char* uplo, const MKL_INT* n,
              const MKL_INT* nrhs, const MKL_Complex16* a, MKL_Complex16* b,
              const MKL_INT* ldb, MKL_INT* info ) NOTHROW;
void zpftrs( const char* transr, const char* uplo, const MKL_INT* n,
             const MKL_INT* nrhs, const MKL_Complex16* a, MKL_Complex16* b,
             const MKL_INT* ldb, MKL_INT* info ) NOTHROW;
void zpftrs_( const char* transr, const char* uplo, const MKL_INT* n,
              const MKL_INT* nrhs, const MKL_Complex16* a, MKL_Complex16* b,
              const MKL_INT* ldb, MKL_INT* info ) NOTHROW;

void ZPOCON( const char* uplo, const MKL_INT* n, const MKL_Complex16* a,
             const MKL_INT* lda, const double* anorm, double* rcond,
             MKL_Complex16* work, double* rwork, MKL_INT* info ) NOTHROW;
void ZPOCON_( const char* uplo, const MKL_INT* n, const MKL_Complex16* a,
              const MKL_INT* lda, const double* anorm, double* rcond,
              MKL_Complex16* work, double* rwork, MKL_INT* info ) NOTHROW;
void zpocon( const char* uplo, const MKL_INT* n, const MKL_Complex16* a,
             const MKL_INT* lda, const double* anorm, double* rcond,
             MKL_Complex16* work, double* rwork, MKL_INT* info ) NOTHROW;
void zpocon_( const char* uplo, const MKL_INT* n, const MKL_Complex16* a,
              const MKL_INT* lda, const double* anorm, double* rcond,
              MKL_Complex16* work, double* rwork, MKL_INT* info ) NOTHROW;

void ZPOEQUB( const MKL_INT* n, const MKL_Complex16* a, const MKL_INT* lda,
              double* s, double* scond, double* amax, MKL_INT* info ) NOTHROW;
void ZPOEQUB_( const MKL_INT* n, const MKL_Complex16* a, const MKL_INT* lda,
               double* s, double* scond, double* amax, MKL_INT* info ) NOTHROW;
void zpoequb( const MKL_INT* n, const MKL_Complex16* a, const MKL_INT* lda,
              double* s, double* scond, double* amax, MKL_INT* info ) NOTHROW;
void zpoequb_( const MKL_INT* n, const MKL_Complex16* a, const MKL_INT* lda,
               double* s, double* scond, double* amax, MKL_INT* info ) NOTHROW;

void ZPOEQU( const MKL_INT* n, const MKL_Complex16* a, const MKL_INT* lda,
             double* s, double* scond, double* amax, MKL_INT* info ) NOTHROW;
void ZPOEQU_( const MKL_INT* n, const MKL_Complex16* a, const MKL_INT* lda,
              double* s, double* scond, double* amax, MKL_INT* info ) NOTHROW;
void zpoequ( const MKL_INT* n, const MKL_Complex16* a, const MKL_INT* lda,
             double* s, double* scond, double* amax, MKL_INT* info ) NOTHROW;
void zpoequ_( const MKL_INT* n, const MKL_Complex16* a, const MKL_INT* lda,
              double* s, double* scond, double* amax, MKL_INT* info ) NOTHROW;

void ZPORFS( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs,
             const MKL_Complex16* a, const MKL_INT* lda,
             const MKL_Complex16* af, const MKL_INT* ldaf,
             const MKL_Complex16* b, const MKL_INT* ldb, MKL_Complex16* x,
             const MKL_INT* ldx, double* ferr, double* berr,
             MKL_Complex16* work, double* rwork, MKL_INT* info ) NOTHROW;
void ZPORFS_( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs,
              const MKL_Complex16* a, const MKL_INT* lda,
              const MKL_Complex16* af, const MKL_INT* ldaf,
              const MKL_Complex16* b, const MKL_INT* ldb, MKL_Complex16* x,
              const MKL_INT* ldx, double* ferr, double* berr,
              MKL_Complex16* work, double* rwork, MKL_INT* info ) NOTHROW;
void zporfs( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs,
             const MKL_Complex16* a, const MKL_INT* lda,
             const MKL_Complex16* af, const MKL_INT* ldaf,
             const MKL_Complex16* b, const MKL_INT* ldb, MKL_Complex16* x,
             const MKL_INT* ldx, double* ferr, double* berr,
             MKL_Complex16* work, double* rwork, MKL_INT* info ) NOTHROW;
void zporfs_( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs,
              const MKL_Complex16* a, const MKL_INT* lda,
              const MKL_Complex16* af, const MKL_INT* ldaf,
              const MKL_Complex16* b, const MKL_INT* ldb, MKL_Complex16* x,
              const MKL_INT* ldx, double* ferr, double* berr,
              MKL_Complex16* work, double* rwork, MKL_INT* info ) NOTHROW;

void ZPORFSX( const char* uplo, const char* equed, const MKL_INT* n,
              const MKL_INT* nrhs, const MKL_Complex16* a, const MKL_INT* lda,
              const MKL_Complex16* af, const MKL_INT* ldaf, double* s,
              const MKL_Complex16* b, const MKL_INT* ldb, MKL_Complex16* x,
              const MKL_INT* ldx, double* rcond, double* berr,
              const MKL_INT* n_err_bnds, double* err_bnds_norm,
              double* err_bnds_comp, const MKL_INT* nparams, double* params,
              MKL_Complex16* work, double* rwork, MKL_INT* info ) NOTHROW;
void ZPORFSX_( const char* uplo, const char* equed, const MKL_INT* n,
               const MKL_INT* nrhs, const MKL_Complex16* a, const MKL_INT* lda,
               const MKL_Complex16* af, const MKL_INT* ldaf, double* s,
               const MKL_Complex16* b, const MKL_INT* ldb, MKL_Complex16* x,
               const MKL_INT* ldx, double* rcond, double* berr,
               const MKL_INT* n_err_bnds, double* err_bnds_norm,
               double* err_bnds_comp, const MKL_INT* nparams, double* params,
               MKL_Complex16* work, double* rwork, MKL_INT* info ) NOTHROW;
void zporfsx( const char* uplo, const char* equed, const MKL_INT* n,
              const MKL_INT* nrhs, const MKL_Complex16* a, const MKL_INT* lda,
              const MKL_Complex16* af, const MKL_INT* ldaf, double* s,
              const MKL_Complex16* b, const MKL_INT* ldb, MKL_Complex16* x,
              const MKL_INT* ldx, double* rcond, double* berr,
              const MKL_INT* n_err_bnds, double* err_bnds_norm,
              double* err_bnds_comp, const MKL_INT* nparams, double* params,
              MKL_Complex16* work, double* rwork, MKL_INT* info ) NOTHROW;
void zporfsx_( const char* uplo, const char* equed, const MKL_INT* n,
               const MKL_INT* nrhs, const MKL_Complex16* a, const MKL_INT* lda,
               const MKL_Complex16* af, const MKL_INT* ldaf, double* s,
               const MKL_Complex16* b, const MKL_INT* ldb, MKL_Complex16* x,
               const MKL_INT* ldx, double* rcond, double* berr,
               const MKL_INT* n_err_bnds, double* err_bnds_norm,
               double* err_bnds_comp, const MKL_INT* nparams, double* params,
               MKL_Complex16* work, double* rwork, MKL_INT* info ) NOTHROW;

void ZPOSV( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs,
            MKL_Complex16* a, const MKL_INT* lda, MKL_Complex16* b,
            const MKL_INT* ldb, MKL_INT* info ) NOTHROW;
void ZPOSV_( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs,
             MKL_Complex16* a, const MKL_INT* lda, MKL_Complex16* b,
             const MKL_INT* ldb, MKL_INT* info ) NOTHROW;
void zposv( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs,
            MKL_Complex16* a, const MKL_INT* lda, MKL_Complex16* b,
            const MKL_INT* ldb, MKL_INT* info ) NOTHROW;
void zposv_( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs,
             MKL_Complex16* a, const MKL_INT* lda, MKL_Complex16* b,
             const MKL_INT* ldb, MKL_INT* info ) NOTHROW;

void ZPOSVX( const char* fact, const char* uplo, const MKL_INT* n,
             const MKL_INT* nrhs, MKL_Complex16* a, const MKL_INT* lda,
             MKL_Complex16* af, const MKL_INT* ldaf, char* equed, double* s,
             MKL_Complex16* b, const MKL_INT* ldb, MKL_Complex16* x,
             const MKL_INT* ldx, double* rcond, double* ferr, double* berr,
             MKL_Complex16* work, double* rwork, MKL_INT* info ) NOTHROW;
void ZPOSVX_( const char* fact, const char* uplo, const MKL_INT* n,
              const MKL_INT* nrhs, MKL_Complex16* a, const MKL_INT* lda,
              MKL_Complex16* af, const MKL_INT* ldaf, char* equed, double* s,
              MKL_Complex16* b, const MKL_INT* ldb, MKL_Complex16* x,
              const MKL_INT* ldx, double* rcond, double* ferr, double* berr,
              MKL_Complex16* work, double* rwork, MKL_INT* info ) NOTHROW;
void zposvx( const char* fact, const char* uplo, const MKL_INT* n,
             const MKL_INT* nrhs, MKL_Complex16* a, const MKL_INT* lda,
             MKL_Complex16* af, const MKL_INT* ldaf, char* equed, double* s,
             MKL_Complex16* b, const MKL_INT* ldb, MKL_Complex16* x,
             const MKL_INT* ldx, double* rcond, double* ferr, double* berr,
             MKL_Complex16* work, double* rwork, MKL_INT* info ) NOTHROW;
void zposvx_( const char* fact, const char* uplo, const MKL_INT* n,
              const MKL_INT* nrhs, MKL_Complex16* a, const MKL_INT* lda,
              MKL_Complex16* af, const MKL_INT* ldaf, char* equed, double* s,
              MKL_Complex16* b, const MKL_INT* ldb, MKL_Complex16* x,
              const MKL_INT* ldx, double* rcond, double* ferr, double* berr,
              MKL_Complex16* work, double* rwork, MKL_INT* info ) NOTHROW;

void ZPOSVXX( const char* fact, const char* uplo, const MKL_INT* n,
              const MKL_INT* nrhs, MKL_Complex16* a, const MKL_INT* lda,
              MKL_Complex16* af, const MKL_INT* ldaf, char* equed, double* s,
              MKL_Complex16* b, const MKL_INT* ldb, MKL_Complex16* x,
              const MKL_INT* ldx, double* rcond, double* rpvgrw, double* berr,
              const MKL_INT* n_err_bnds, double* err_bnds_norm,
              double* err_bnds_comp, const MKL_INT* nparams, double* params,
              MKL_Complex16* work, double* rwork, MKL_INT* info ) NOTHROW;
void ZPOSVXX_( const char* fact, const char* uplo, const MKL_INT* n,
               const MKL_INT* nrhs, MKL_Complex16* a, const MKL_INT* lda,
               MKL_Complex16* af, const MKL_INT* ldaf, char* equed, double* s,
               MKL_Complex16* b, const MKL_INT* ldb, MKL_Complex16* x,
               const MKL_INT* ldx, double* rcond, double* rpvgrw, double* berr,
               const MKL_INT* n_err_bnds, double* err_bnds_norm,
               double* err_bnds_comp, const MKL_INT* nparams, double* params,
               MKL_Complex16* work, double* rwork, MKL_INT* info ) NOTHROW;
void zposvxx( const char* fact, const char* uplo, const MKL_INT* n,
              const MKL_INT* nrhs, MKL_Complex16* a, const MKL_INT* lda,
              MKL_Complex16* af, const MKL_INT* ldaf, char* equed, double* s,
              MKL_Complex16* b, const MKL_INT* ldb, MKL_Complex16* x,
              const MKL_INT* ldx, double* rcond, double* rpvgrw, double* berr,
              const MKL_INT* n_err_bnds, double* err_bnds_norm,
              double* err_bnds_comp, const MKL_INT* nparams, double* params,
              MKL_Complex16* work, double* rwork, MKL_INT* info ) NOTHROW;
void zposvxx_( const char* fact, const char* uplo, const MKL_INT* n,
               const MKL_INT* nrhs, MKL_Complex16* a, const MKL_INT* lda,
               MKL_Complex16* af, const MKL_INT* ldaf, char* equed, double* s,
               MKL_Complex16* b, const MKL_INT* ldb, MKL_Complex16* x,
               const MKL_INT* ldx, double* rcond, double* rpvgrw, double* berr,
               const MKL_INT* n_err_bnds, double* err_bnds_norm,
               double* err_bnds_comp, const MKL_INT* nparams, double* params,
               MKL_Complex16* work, double* rwork, MKL_INT* info ) NOTHROW;

void ZPOTF2( const char* uplo, const MKL_INT* n, MKL_Complex16* a,
             const MKL_INT* lda, MKL_INT* info ) NOTHROW;
void ZPOTF2_( const char* uplo, const MKL_INT* n, MKL_Complex16* a,
              const MKL_INT* lda, MKL_INT* info ) NOTHROW;
void zpotf2( const char* uplo, const MKL_INT* n, MKL_Complex16* a,
             const MKL_INT* lda, MKL_INT* info ) NOTHROW;
void zpotf2_( const char* uplo, const MKL_INT* n, MKL_Complex16* a,
              const MKL_INT* lda, MKL_INT* info ) NOTHROW;

void ZPOTRF( const char* uplo, const MKL_INT* n, MKL_Complex16* a,
             const MKL_INT* lda, MKL_INT* info ) NOTHROW;
void ZPOTRF_( const char* uplo, const MKL_INT* n, MKL_Complex16* a,
              const MKL_INT* lda, MKL_INT* info ) NOTHROW;
void zpotrf( const char* uplo, const MKL_INT* n, MKL_Complex16* a,
             const MKL_INT* lda, MKL_INT* info ) NOTHROW;
void zpotrf_( const char* uplo, const MKL_INT* n, MKL_Complex16* a,
              const MKL_INT* lda, MKL_INT* info ) NOTHROW;

void ZPOTRI( const char* uplo, const MKL_INT* n, MKL_Complex16* a,
             const MKL_INT* lda, MKL_INT* info ) NOTHROW;
void ZPOTRI_( const char* uplo, const MKL_INT* n, MKL_Complex16* a,
              const MKL_INT* lda, MKL_INT* info ) NOTHROW;
void zpotri( const char* uplo, const MKL_INT* n, MKL_Complex16* a,
             const MKL_INT* lda, MKL_INT* info ) NOTHROW;
void zpotri_( const char* uplo, const MKL_INT* n, MKL_Complex16* a,
              const MKL_INT* lda, MKL_INT* info ) NOTHROW;

void ZPOTRS( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs,
             const MKL_Complex16* a, const MKL_INT* lda, MKL_Complex16* b,
             const MKL_INT* ldb, MKL_INT* info ) NOTHROW;
void ZPOTRS_( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs,
              const MKL_Complex16* a, const MKL_INT* lda, MKL_Complex16* b,
              const MKL_INT* ldb, MKL_INT* info ) NOTHROW;
void zpotrs( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs,
             const MKL_Complex16* a, const MKL_INT* lda, MKL_Complex16* b,
             const MKL_INT* ldb, MKL_INT* info ) NOTHROW;
void zpotrs_( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs,
              const MKL_Complex16* a, const MKL_INT* lda, MKL_Complex16* b,
              const MKL_INT* ldb, MKL_INT* info ) NOTHROW;

void ZPPCON( const char* uplo, const MKL_INT* n, const MKL_Complex16* ap,
             const double* anorm, double* rcond, MKL_Complex16* work,
             double* rwork, MKL_INT* info ) NOTHROW;
void ZPPCON_( const char* uplo, const MKL_INT* n, const MKL_Complex16* ap,
              const double* anorm, double* rcond, MKL_Complex16* work,
              double* rwork, MKL_INT* info ) NOTHROW;
void zppcon( const char* uplo, const MKL_INT* n, const MKL_Complex16* ap,
             const double* anorm, double* rcond, MKL_Complex16* work,
             double* rwork, MKL_INT* info ) NOTHROW;
void zppcon_( const char* uplo, const MKL_INT* n, const MKL_Complex16* ap,
              const double* anorm, double* rcond, MKL_Complex16* work,
              double* rwork, MKL_INT* info ) NOTHROW;

void ZPPEQU( const char* uplo, const MKL_INT* n, const MKL_Complex16* ap,
             double* s, double* scond, double* amax, MKL_INT* info ) NOTHROW;
void ZPPEQU_( const char* uplo, const MKL_INT* n, const MKL_Complex16* ap,
              double* s, double* scond, double* amax, MKL_INT* info ) NOTHROW;
void zppequ( const char* uplo, const MKL_INT* n, const MKL_Complex16* ap,
             double* s, double* scond, double* amax, MKL_INT* info ) NOTHROW;
void zppequ_( const char* uplo, const MKL_INT* n, const MKL_Complex16* ap,
              double* s, double* scond, double* amax, MKL_INT* info ) NOTHROW;

void ZPPRFS( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs,
             const MKL_Complex16* ap, const MKL_Complex16* afp,
             const MKL_Complex16* b, const MKL_INT* ldb, MKL_Complex16* x,
             const MKL_INT* ldx, double* ferr, double* berr,
             MKL_Complex16* work, double* rwork, MKL_INT* info ) NOTHROW;
void ZPPRFS_( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs,
              const MKL_Complex16* ap, const MKL_Complex16* afp,
              const MKL_Complex16* b, const MKL_INT* ldb, MKL_Complex16* x,
              const MKL_INT* ldx, double* ferr, double* berr,
              MKL_Complex16* work, double* rwork, MKL_INT* info ) NOTHROW;
void zpprfs( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs,
             const MKL_Complex16* ap, const MKL_Complex16* afp,
             const MKL_Complex16* b, const MKL_INT* ldb, MKL_Complex16* x,
             const MKL_INT* ldx, double* ferr, double* berr,
             MKL_Complex16* work, double* rwork, MKL_INT* info ) NOTHROW;
void zpprfs_( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs,
              const MKL_Complex16* ap, const MKL_Complex16* afp,
              const MKL_Complex16* b, const MKL_INT* ldb, MKL_Complex16* x,
              const MKL_INT* ldx, double* ferr, double* berr,
              MKL_Complex16* work, double* rwork, MKL_INT* info ) NOTHROW;

void ZPPSV( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs,
            MKL_Complex16* ap, MKL_Complex16* b, const MKL_INT* ldb,
            MKL_INT* info ) NOTHROW;
void ZPPSV_( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs,
             MKL_Complex16* ap, MKL_Complex16* b, const MKL_INT* ldb,
             MKL_INT* info ) NOTHROW;
void zppsv( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs,
            MKL_Complex16* ap, MKL_Complex16* b, const MKL_INT* ldb,
            MKL_INT* info ) NOTHROW;
void zppsv_( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs,
             MKL_Complex16* ap, MKL_Complex16* b, const MKL_INT* ldb,
             MKL_INT* info ) NOTHROW;

void ZPPSVX( const char* fact, const char* uplo, const MKL_INT* n,
             const MKL_INT* nrhs, MKL_Complex16* ap, MKL_Complex16* afp,
             char* equed, double* s, MKL_Complex16* b, const MKL_INT* ldb,
             MKL_Complex16* x, const MKL_INT* ldx, double* rcond, double* ferr,
             double* berr, MKL_Complex16* work, double* rwork, MKL_INT* info ) NOTHROW;
void ZPPSVX_( const char* fact, const char* uplo, const MKL_INT* n,
              const MKL_INT* nrhs, MKL_Complex16* ap, MKL_Complex16* afp,
              char* equed, double* s, MKL_Complex16* b, const MKL_INT* ldb,
              MKL_Complex16* x, const MKL_INT* ldx, double* rcond,
              double* ferr, double* berr, MKL_Complex16* work, double* rwork,
              MKL_INT* info ) NOTHROW;
void zppsvx( const char* fact, const char* uplo, const MKL_INT* n,
             const MKL_INT* nrhs, MKL_Complex16* ap, MKL_Complex16* afp,
             char* equed, double* s, MKL_Complex16* b, const MKL_INT* ldb,
             MKL_Complex16* x, const MKL_INT* ldx, double* rcond, double* ferr,
             double* berr, MKL_Complex16* work, double* rwork, MKL_INT* info ) NOTHROW;
void zppsvx_( const char* fact, const char* uplo, const MKL_INT* n,
              const MKL_INT* nrhs, MKL_Complex16* ap, MKL_Complex16* afp,
              char* equed, double* s, MKL_Complex16* b, const MKL_INT* ldb,
              MKL_Complex16* x, const MKL_INT* ldx, double* rcond,
              double* ferr, double* berr, MKL_Complex16* work, double* rwork,
              MKL_INT* info ) NOTHROW;

void ZPPTRF( const char* uplo, const MKL_INT* n, MKL_Complex16* ap,
             MKL_INT* info ) NOTHROW;
void ZPPTRF_( const char* uplo, const MKL_INT* n, MKL_Complex16* ap,
              MKL_INT* info ) NOTHROW;
void zpptrf( const char* uplo, const MKL_INT* n, MKL_Complex16* ap,
             MKL_INT* info ) NOTHROW;
void zpptrf_( const char* uplo, const MKL_INT* n, MKL_Complex16* ap,
              MKL_INT* info ) NOTHROW;

void ZPPTRI( const char* uplo, const MKL_INT* n, MKL_Complex16* ap,
             MKL_INT* info ) NOTHROW;
void ZPPTRI_( const char* uplo, const MKL_INT* n, MKL_Complex16* ap,
              MKL_INT* info ) NOTHROW;
void zpptri( const char* uplo, const MKL_INT* n, MKL_Complex16* ap,
             MKL_INT* info ) NOTHROW;
void zpptri_( const char* uplo, const MKL_INT* n, MKL_Complex16* ap,
              MKL_INT* info ) NOTHROW;

void ZPPTRS( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs,
             const MKL_Complex16* ap, MKL_Complex16* b, const MKL_INT* ldb,
             MKL_INT* info ) NOTHROW;
void ZPPTRS_( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs,
              const MKL_Complex16* ap, MKL_Complex16* b, const MKL_INT* ldb,
              MKL_INT* info ) NOTHROW;
void zpptrs( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs,
             const MKL_Complex16* ap, MKL_Complex16* b, const MKL_INT* ldb,
             MKL_INT* info ) NOTHROW;
void zpptrs_( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs,
              const MKL_Complex16* ap, MKL_Complex16* b, const MKL_INT* ldb,
              MKL_INT* info ) NOTHROW;

void ZPSTF2( const char* uplo, const MKL_INT* n, MKL_Complex16* a,
             const MKL_INT* lda, MKL_INT* piv, MKL_INT* rank,
             const double* tol, double* work, MKL_INT* info ) NOTHROW;
void ZPSTF2_( const char* uplo, const MKL_INT* n, MKL_Complex16* a,
              const MKL_INT* lda, MKL_INT* piv, MKL_INT* rank,
              const double* tol, double* work, MKL_INT* info ) NOTHROW;
void zpstf2( const char* uplo, const MKL_INT* n, MKL_Complex16* a,
             const MKL_INT* lda, MKL_INT* piv, MKL_INT* rank,
             const double* tol, double* work, MKL_INT* info ) NOTHROW;
void zpstf2_( const char* uplo, const MKL_INT* n, MKL_Complex16* a,
              const MKL_INT* lda, MKL_INT* piv, MKL_INT* rank,
              const double* tol, double* work, MKL_INT* info ) NOTHROW;

void ZPSTRF( const char* uplo, const MKL_INT* n, MKL_Complex16* a,
             const MKL_INT* lda, MKL_INT* piv, MKL_INT* rank,
             const double* tol, double* work, MKL_INT* info ) NOTHROW;
void ZPSTRF_( const char* uplo, const MKL_INT* n, MKL_Complex16* a,
              const MKL_INT* lda, MKL_INT* piv, MKL_INT* rank,
              const double* tol, double* work, MKL_INT* info ) NOTHROW;
void zpstrf( const char* uplo, const MKL_INT* n, MKL_Complex16* a,
             const MKL_INT* lda, MKL_INT* piv, MKL_INT* rank,
             const double* tol, double* work, MKL_INT* info ) NOTHROW;
void zpstrf_( const char* uplo, const MKL_INT* n, MKL_Complex16* a,
              const MKL_INT* lda, MKL_INT* piv, MKL_INT* rank,
              const double* tol, double* work, MKL_INT* info ) NOTHROW;

void ZPTCON( const MKL_INT* n, const double* d, const MKL_Complex16* e,
             const double* anorm, double* rcond, double* rwork,
             MKL_INT* info ) NOTHROW;
void ZPTCON_( const MKL_INT* n, const double* d, const MKL_Complex16* e,
              const double* anorm, double* rcond, double* rwork,
              MKL_INT* info ) NOTHROW;
void zptcon( const MKL_INT* n, const double* d, const MKL_Complex16* e,
             const double* anorm, double* rcond, double* rwork,
             MKL_INT* info ) NOTHROW;
void zptcon_( const MKL_INT* n, const double* d, const MKL_Complex16* e,
              const double* anorm, double* rcond, double* rwork,
              MKL_INT* info ) NOTHROW;

void ZPTEQR( const char* compz, const MKL_INT* n, double* d, double* e,
             MKL_Complex16* z, const MKL_INT* ldz, double* work,
             MKL_INT* info ) NOTHROW;
void ZPTEQR_( const char* compz, const MKL_INT* n, double* d, double* e,
              MKL_Complex16* z, const MKL_INT* ldz, double* work,
              MKL_INT* info ) NOTHROW;
void zpteqr( const char* compz, const MKL_INT* n, double* d, double* e,
             MKL_Complex16* z, const MKL_INT* ldz, double* work,
             MKL_INT* info ) NOTHROW;
void zpteqr_( const char* compz, const MKL_INT* n, double* d, double* e,
              MKL_Complex16* z, const MKL_INT* ldz, double* work,
              MKL_INT* info ) NOTHROW;

void ZPTRFS( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs,
             const double* d, const MKL_Complex16* e, const double* df,
             const MKL_Complex16* ef, const MKL_Complex16* b,
             const MKL_INT* ldb, MKL_Complex16* x, const MKL_INT* ldx,
             double* ferr, double* berr, MKL_Complex16* work, double* rwork,
             MKL_INT* info ) NOTHROW;
void ZPTRFS_( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs,
              const double* d, const MKL_Complex16* e, const double* df,
              const MKL_Complex16* ef, const MKL_Complex16* b,
              const MKL_INT* ldb, MKL_Complex16* x, const MKL_INT* ldx,
              double* ferr, double* berr, MKL_Complex16* work, double* rwork,
              MKL_INT* info ) NOTHROW;
void zptrfs( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs,
             const double* d, const MKL_Complex16* e, const double* df,
             const MKL_Complex16* ef, const MKL_Complex16* b,
             const MKL_INT* ldb, MKL_Complex16* x, const MKL_INT* ldx,
             double* ferr, double* berr, MKL_Complex16* work, double* rwork,
             MKL_INT* info ) NOTHROW;
void zptrfs_( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs,
              const double* d, const MKL_Complex16* e, const double* df,
              const MKL_Complex16* ef, const MKL_Complex16* b,
              const MKL_INT* ldb, MKL_Complex16* x, const MKL_INT* ldx,
              double* ferr, double* berr, MKL_Complex16* work, double* rwork,
              MKL_INT* info ) NOTHROW;

void ZPTSV( const MKL_INT* n, const MKL_INT* nrhs, double* d, MKL_Complex16* e,
            MKL_Complex16* b, const MKL_INT* ldb, MKL_INT* info ) NOTHROW;
void ZPTSV_( const MKL_INT* n, const MKL_INT* nrhs, double* d,
             MKL_Complex16* e, MKL_Complex16* b, const MKL_INT* ldb,
             MKL_INT* info ) NOTHROW;
void zptsv( const MKL_INT* n, const MKL_INT* nrhs, double* d, MKL_Complex16* e,
            MKL_Complex16* b, const MKL_INT* ldb, MKL_INT* info ) NOTHROW;
void zptsv_( const MKL_INT* n, const MKL_INT* nrhs, double* d,
             MKL_Complex16* e, MKL_Complex16* b, const MKL_INT* ldb,
             MKL_INT* info ) NOTHROW;

void ZPTSVX( const char* fact, const MKL_INT* n, const MKL_INT* nrhs,
             const double* d, const MKL_Complex16* e, double* df,
             MKL_Complex16* ef, const MKL_Complex16* b, const MKL_INT* ldb,
             MKL_Complex16* x, const MKL_INT* ldx, double* rcond, double* ferr,
             double* berr, MKL_Complex16* work, double* rwork, MKL_INT* info ) NOTHROW;
void ZPTSVX_( const char* fact, const MKL_INT* n, const MKL_INT* nrhs,
              const double* d, const MKL_Complex16* e, double* df,
              MKL_Complex16* ef, const MKL_Complex16* b, const MKL_INT* ldb,
              MKL_Complex16* x, const MKL_INT* ldx, double* rcond,
              double* ferr, double* berr, MKL_Complex16* work, double* rwork,
              MKL_INT* info ) NOTHROW;
void zptsvx( const char* fact, const MKL_INT* n, const MKL_INT* nrhs,
             const double* d, const MKL_Complex16* e, double* df,
             MKL_Complex16* ef, const MKL_Complex16* b, const MKL_INT* ldb,
             MKL_Complex16* x, const MKL_INT* ldx, double* rcond, double* ferr,
             double* berr, MKL_Complex16* work, double* rwork, MKL_INT* info ) NOTHROW;
void zptsvx_( const char* fact, const MKL_INT* n, const MKL_INT* nrhs,
              const double* d, const MKL_Complex16* e, double* df,
              MKL_Complex16* ef, const MKL_Complex16* b, const MKL_INT* ldb,
              MKL_Complex16* x, const MKL_INT* ldx, double* rcond,
              double* ferr, double* berr, MKL_Complex16* work, double* rwork,
              MKL_INT* info ) NOTHROW;

void ZPTTRF( const MKL_INT* n, double* d, MKL_Complex16* e, MKL_INT* info ) NOTHROW;
void ZPTTRF_( const MKL_INT* n, double* d, MKL_Complex16* e, MKL_INT* info ) NOTHROW;
void zpttrf( const MKL_INT* n, double* d, MKL_Complex16* e, MKL_INT* info ) NOTHROW;
void zpttrf_( const MKL_INT* n, double* d, MKL_Complex16* e, MKL_INT* info ) NOTHROW;

void ZPTTRS( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs,
             const double* d, const MKL_Complex16* e, MKL_Complex16* b,
             const MKL_INT* ldb, MKL_INT* info ) NOTHROW;
void ZPTTRS_( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs,
              const double* d, const MKL_Complex16* e, MKL_Complex16* b,
              const MKL_INT* ldb, MKL_INT* info ) NOTHROW;
void zpttrs( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs,
             const double* d, const MKL_Complex16* e, MKL_Complex16* b,
             const MKL_INT* ldb, MKL_INT* info ) NOTHROW;
void zpttrs_( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs,
              const double* d, const MKL_Complex16* e, MKL_Complex16* b,
              const MKL_INT* ldb, MKL_INT* info ) NOTHROW;

void ZPTTS2( const MKL_INT* iuplo, const MKL_INT* n, const MKL_INT* nrhs,
             const double* d, const MKL_Complex16* e, MKL_Complex16* b,
             const MKL_INT* ldb ) NOTHROW;
void ZPTTS2_( const MKL_INT* iuplo, const MKL_INT* n, const MKL_INT* nrhs,
              const double* d, const MKL_Complex16* e, MKL_Complex16* b,
              const MKL_INT* ldb ) NOTHROW;
void zptts2( const MKL_INT* iuplo, const MKL_INT* n, const MKL_INT* nrhs,
             const double* d, const MKL_Complex16* e, MKL_Complex16* b,
             const MKL_INT* ldb ) NOTHROW;
void zptts2_( const MKL_INT* iuplo, const MKL_INT* n, const MKL_INT* nrhs,
              const double* d, const MKL_Complex16* e, MKL_Complex16* b,
              const MKL_INT* ldb ) NOTHROW;

void ZROT( const MKL_INT* n, MKL_Complex16* cx, const MKL_INT* incx,
           MKL_Complex16* cy, const MKL_INT* incy, const double* c,
           const MKL_Complex16* s ) NOTHROW;
void ZROT_( const MKL_INT* n, MKL_Complex16* cx, const MKL_INT* incx,
            MKL_Complex16* cy, const MKL_INT* incy, const double* c,
            const MKL_Complex16* s ) NOTHROW;
void zrot( const MKL_INT* n, MKL_Complex16* cx, const MKL_INT* incx,
           MKL_Complex16* cy, const MKL_INT* incy, const double* c,
           const MKL_Complex16* s ) NOTHROW;
void zrot_( const MKL_INT* n, MKL_Complex16* cx, const MKL_INT* incx,
            MKL_Complex16* cy, const MKL_INT* incy, const double* c,
            const MKL_Complex16* s ) NOTHROW;

void ZSPCON( const char* uplo, const MKL_INT* n, const MKL_Complex16* ap,
             const MKL_INT* ipiv, const double* anorm, double* rcond,
             MKL_Complex16* work, MKL_INT* info ) NOTHROW;
void ZSPCON_( const char* uplo, const MKL_INT* n, const MKL_Complex16* ap,
              const MKL_INT* ipiv, const double* anorm, double* rcond,
              MKL_Complex16* work, MKL_INT* info ) NOTHROW;
void zspcon( const char* uplo, const MKL_INT* n, const MKL_Complex16* ap,
             const MKL_INT* ipiv, const double* anorm, double* rcond,
             MKL_Complex16* work, MKL_INT* info ) NOTHROW;
void zspcon_( const char* uplo, const MKL_INT* n, const MKL_Complex16* ap,
              const MKL_INT* ipiv, const double* anorm, double* rcond,
              MKL_Complex16* work, MKL_INT* info ) NOTHROW;

void ZSPMV( const char* uplo, const MKL_INT* n, const MKL_Complex16* alpha,
            const MKL_Complex16* ap, const MKL_Complex16* x,
            const MKL_INT* incx, const MKL_Complex16* beta, MKL_Complex16* y,
            const MKL_INT* incy ) NOTHROW;
void ZSPMV_( const char* uplo, const MKL_INT* n, const MKL_Complex16* alpha,
             const MKL_Complex16* ap, const MKL_Complex16* x,
             const MKL_INT* incx, const MKL_Complex16* beta, MKL_Complex16* y,
             const MKL_INT* incy ) NOTHROW;
void zspmv( const char* uplo, const MKL_INT* n, const MKL_Complex16* alpha,
            const MKL_Complex16* ap, const MKL_Complex16* x,
            const MKL_INT* incx, const MKL_Complex16* beta, MKL_Complex16* y,
            const MKL_INT* incy ) NOTHROW;
void zspmv_( const char* uplo, const MKL_INT* n, const MKL_Complex16* alpha,
             const MKL_Complex16* ap, const MKL_Complex16* x,
             const MKL_INT* incx, const MKL_Complex16* beta, MKL_Complex16* y,
             const MKL_INT* incy ) NOTHROW;

void ZSPR( const char* uplo, const MKL_INT* n, const MKL_Complex16* alpha,
           const MKL_Complex16* x, const MKL_INT* incx, MKL_Complex16* ap ) NOTHROW;
void ZSPR_( const char* uplo, const MKL_INT* n, const MKL_Complex16* alpha,
            const MKL_Complex16* x, const MKL_INT* incx, MKL_Complex16* ap ) NOTHROW;
void zspr( const char* uplo, const MKL_INT* n, const MKL_Complex16* alpha,
           const MKL_Complex16* x, const MKL_INT* incx, MKL_Complex16* ap ) NOTHROW;
void zspr_( const char* uplo, const MKL_INT* n, const MKL_Complex16* alpha,
            const MKL_Complex16* x, const MKL_INT* incx, MKL_Complex16* ap ) NOTHROW;

void ZSPRFS( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs,
             const MKL_Complex16* ap, const MKL_Complex16* afp,
             const MKL_INT* ipiv, const MKL_Complex16* b, const MKL_INT* ldb,
             MKL_Complex16* x, const MKL_INT* ldx, double* ferr, double* berr,
             MKL_Complex16* work, double* rwork, MKL_INT* info ) NOTHROW;
void ZSPRFS_( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs,
              const MKL_Complex16* ap, const MKL_Complex16* afp,
              const MKL_INT* ipiv, const MKL_Complex16* b, const MKL_INT* ldb,
              MKL_Complex16* x, const MKL_INT* ldx, double* ferr, double* berr,
              MKL_Complex16* work, double* rwork, MKL_INT* info ) NOTHROW;
void zsprfs( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs,
             const MKL_Complex16* ap, const MKL_Complex16* afp,
             const MKL_INT* ipiv, const MKL_Complex16* b, const MKL_INT* ldb,
             MKL_Complex16* x, const MKL_INT* ldx, double* ferr, double* berr,
             MKL_Complex16* work, double* rwork, MKL_INT* info ) NOTHROW;
void zsprfs_( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs,
              const MKL_Complex16* ap, const MKL_Complex16* afp,
              const MKL_INT* ipiv, const MKL_Complex16* b, const MKL_INT* ldb,
              MKL_Complex16* x, const MKL_INT* ldx, double* ferr, double* berr,
              MKL_Complex16* work, double* rwork, MKL_INT* info ) NOTHROW;

void ZSPSV( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs,
            MKL_Complex16* ap, MKL_INT* ipiv, MKL_Complex16* b,
            const MKL_INT* ldb, MKL_INT* info ) NOTHROW;
void ZSPSV_( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs,
             MKL_Complex16* ap, MKL_INT* ipiv, MKL_Complex16* b,
             const MKL_INT* ldb, MKL_INT* info ) NOTHROW;
void zspsv( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs,
            MKL_Complex16* ap, MKL_INT* ipiv, MKL_Complex16* b,
            const MKL_INT* ldb, MKL_INT* info ) NOTHROW;
void zspsv_( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs,
             MKL_Complex16* ap, MKL_INT* ipiv, MKL_Complex16* b,
             const MKL_INT* ldb, MKL_INT* info ) NOTHROW;

void ZSPSVX( const char* fact, const char* uplo, const MKL_INT* n,
             const MKL_INT* nrhs, const MKL_Complex16* ap, MKL_Complex16* afp,
             MKL_INT* ipiv, const MKL_Complex16* b, const MKL_INT* ldb,
             MKL_Complex16* x, const MKL_INT* ldx, double* rcond, double* ferr,
             double* berr, MKL_Complex16* work, double* rwork, MKL_INT* info ) NOTHROW;
void ZSPSVX_( const char* fact, const char* uplo, const MKL_INT* n,
              const MKL_INT* nrhs, const MKL_Complex16* ap, MKL_Complex16* afp,
              MKL_INT* ipiv, const MKL_Complex16* b, const MKL_INT* ldb,
              MKL_Complex16* x, const MKL_INT* ldx, double* rcond,
              double* ferr, double* berr, MKL_Complex16* work, double* rwork,
              MKL_INT* info ) NOTHROW;
void zspsvx( const char* fact, const char* uplo, const MKL_INT* n,
             const MKL_INT* nrhs, const MKL_Complex16* ap, MKL_Complex16* afp,
             MKL_INT* ipiv, const MKL_Complex16* b, const MKL_INT* ldb,
             MKL_Complex16* x, const MKL_INT* ldx, double* rcond, double* ferr,
             double* berr, MKL_Complex16* work, double* rwork, MKL_INT* info ) NOTHROW;
void zspsvx_( const char* fact, const char* uplo, const MKL_INT* n,
              const MKL_INT* nrhs, const MKL_Complex16* ap, MKL_Complex16* afp,
              MKL_INT* ipiv, const MKL_Complex16* b, const MKL_INT* ldb,
              MKL_Complex16* x, const MKL_INT* ldx, double* rcond,
              double* ferr, double* berr, MKL_Complex16* work, double* rwork,
              MKL_INT* info ) NOTHROW;

void ZSPTRF( const char* uplo, const MKL_INT* n, MKL_Complex16* ap,
             MKL_INT* ipiv, MKL_INT* info ) NOTHROW;
void ZSPTRF_( const char* uplo, const MKL_INT* n, MKL_Complex16* ap,
              MKL_INT* ipiv, MKL_INT* info ) NOTHROW;
void zsptrf( const char* uplo, const MKL_INT* n, MKL_Complex16* ap,
             MKL_INT* ipiv, MKL_INT* info ) NOTHROW;
void zsptrf_( const char* uplo, const MKL_INT* n, MKL_Complex16* ap,
              MKL_INT* ipiv, MKL_INT* info ) NOTHROW;

void ZSPTRI( const char* uplo, const MKL_INT* n, MKL_Complex16* ap,
             const MKL_INT* ipiv, MKL_Complex16* work, MKL_INT* info ) NOTHROW;
void ZSPTRI_( const char* uplo, const MKL_INT* n, MKL_Complex16* ap,
              const MKL_INT* ipiv, MKL_Complex16* work, MKL_INT* info ) NOTHROW;
void zsptri( const char* uplo, const MKL_INT* n, MKL_Complex16* ap,
             const MKL_INT* ipiv, MKL_Complex16* work, MKL_INT* info ) NOTHROW;
void zsptri_( const char* uplo, const MKL_INT* n, MKL_Complex16* ap,
              const MKL_INT* ipiv, MKL_Complex16* work, MKL_INT* info ) NOTHROW;

void ZSPTRS( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs,
             const MKL_Complex16* ap, const MKL_INT* ipiv, MKL_Complex16* b,
             const MKL_INT* ldb, MKL_INT* info ) NOTHROW;
void ZSPTRS_( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs,
              const MKL_Complex16* ap, const MKL_INT* ipiv, MKL_Complex16* b,
              const MKL_INT* ldb, MKL_INT* info ) NOTHROW;
void zsptrs( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs,
             const MKL_Complex16* ap, const MKL_INT* ipiv, MKL_Complex16* b,
             const MKL_INT* ldb, MKL_INT* info ) NOTHROW;
void zsptrs_( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs,
              const MKL_Complex16* ap, const MKL_INT* ipiv, MKL_Complex16* b,
              const MKL_INT* ldb, MKL_INT* info ) NOTHROW;

void ZSTEDC( const char* compz, const MKL_INT* n, double* d, double* e,
             MKL_Complex16* z, const MKL_INT* ldz, MKL_Complex16* work,
             const MKL_INT* lwork, double* rwork, const MKL_INT* lrwork,
             MKL_INT* iwork, const MKL_INT* liwork, MKL_INT* info ) NOTHROW;
void ZSTEDC_( const char* compz, const MKL_INT* n, double* d, double* e,
              MKL_Complex16* z, const MKL_INT* ldz, MKL_Complex16* work,
              const MKL_INT* lwork, double* rwork, const MKL_INT* lrwork,
              MKL_INT* iwork, const MKL_INT* liwork, MKL_INT* info ) NOTHROW;
void zstedc( const char* compz, const MKL_INT* n, double* d, double* e,
             MKL_Complex16* z, const MKL_INT* ldz, MKL_Complex16* work,
             const MKL_INT* lwork, double* rwork, const MKL_INT* lrwork,
             MKL_INT* iwork, const MKL_INT* liwork, MKL_INT* info ) NOTHROW;
void zstedc_( const char* compz, const MKL_INT* n, double* d, double* e,
              MKL_Complex16* z, const MKL_INT* ldz, MKL_Complex16* work,
              const MKL_INT* lwork, double* rwork, const MKL_INT* lrwork,
              MKL_INT* iwork, const MKL_INT* liwork, MKL_INT* info ) NOTHROW;

void ZSTEGR( const char* jobz, const char* range, const MKL_INT* n, double* d,
             double* e, const double* vl, const double* vu, const MKL_INT* il,
             const MKL_INT* iu, const double* abstol, MKL_INT* m, double* w,
             MKL_Complex16* z, const MKL_INT* ldz, MKL_INT* isuppz,
             double* work, const MKL_INT* lwork, MKL_INT* iwork,
             const MKL_INT* liwork, MKL_INT* info ) NOTHROW;
void ZSTEGR_( const char* jobz, const char* range, const MKL_INT* n, double* d,
              double* e, const double* vl, const double* vu, const MKL_INT* il,
              const MKL_INT* iu, const double* abstol, MKL_INT* m, double* w,
              MKL_Complex16* z, const MKL_INT* ldz, MKL_INT* isuppz,
              double* work, const MKL_INT* lwork, MKL_INT* iwork,
              const MKL_INT* liwork, MKL_INT* info ) NOTHROW;
void zstegr( const char* jobz, const char* range, const MKL_INT* n, double* d,
             double* e, const double* vl, const double* vu, const MKL_INT* il,
             const MKL_INT* iu, const double* abstol, MKL_INT* m, double* w,
             MKL_Complex16* z, const MKL_INT* ldz, MKL_INT* isuppz,
             double* work, const MKL_INT* lwork, MKL_INT* iwork,
             const MKL_INT* liwork, MKL_INT* info ) NOTHROW;
void zstegr_( const char* jobz, const char* range, const MKL_INT* n, double* d,
              double* e, const double* vl, const double* vu, const MKL_INT* il,
              const MKL_INT* iu, const double* abstol, MKL_INT* m, double* w,
              MKL_Complex16* z, const MKL_INT* ldz, MKL_INT* isuppz,
              double* work, const MKL_INT* lwork, MKL_INT* iwork,
              const MKL_INT* liwork, MKL_INT* info ) NOTHROW;

void ZSTEIN( const MKL_INT* n, const double* d, const double* e,
             const MKL_INT* m, const double* w, const MKL_INT* iblock,
             const MKL_INT* isplit, MKL_Complex16* z, const MKL_INT* ldz,
             double* work, MKL_INT* iwork, MKL_INT* ifail, MKL_INT* info ) NOTHROW;
void ZSTEIN_( const MKL_INT* n, const double* d, const double* e,
              const MKL_INT* m, const double* w, const MKL_INT* iblock,
              const MKL_INT* isplit, MKL_Complex16* z, const MKL_INT* ldz,
              double* work, MKL_INT* iwork, MKL_INT* ifail, MKL_INT* info ) NOTHROW;
void zstein( const MKL_INT* n, const double* d, const double* e,
             const MKL_INT* m, const double* w, const MKL_INT* iblock,
             const MKL_INT* isplit, MKL_Complex16* z, const MKL_INT* ldz,
             double* work, MKL_INT* iwork, MKL_INT* ifail, MKL_INT* info ) NOTHROW;
void zstein_( const MKL_INT* n, const double* d, const double* e,
              const MKL_INT* m, const double* w, const MKL_INT* iblock,
              const MKL_INT* isplit, MKL_Complex16* z, const MKL_INT* ldz,
              double* work, MKL_INT* iwork, MKL_INT* ifail, MKL_INT* info ) NOTHROW;

void ZSTEMR( const char* jobz, const char* range, const MKL_INT* n, double* d,
             double* e, const double* vl, const double* vu, const MKL_INT* il,
             const MKL_INT* iu, MKL_INT* m, double* w, MKL_Complex16* z,
             const MKL_INT* ldz, const MKL_INT* nzc, MKL_INT* isuppz,
             MKL_INT* tryrac, double* work, const MKL_INT* lwork,
             MKL_INT* iwork, const MKL_INT* liwork, MKL_INT* info ) NOTHROW;
void ZSTEMR_( const char* jobz, const char* range, const MKL_INT* n, double* d,
              double* e, const double* vl, const double* vu, const MKL_INT* il,
              const MKL_INT* iu, MKL_INT* m, double* w, MKL_Complex16* z,
              const MKL_INT* ldz, const MKL_INT* nzc, MKL_INT* isuppz,
              MKL_INT* tryrac, double* work, const MKL_INT* lwork,
              MKL_INT* iwork, const MKL_INT* liwork, MKL_INT* info ) NOTHROW;
void zstemr( const char* jobz, const char* range, const MKL_INT* n, double* d,
             double* e, const double* vl, const double* vu, const MKL_INT* il,
             const MKL_INT* iu, MKL_INT* m, double* w, MKL_Complex16* z,
             const MKL_INT* ldz, const MKL_INT* nzc, MKL_INT* isuppz,
             MKL_INT* tryrac, double* work, const MKL_INT* lwork,
             MKL_INT* iwork, const MKL_INT* liwork, MKL_INT* info ) NOTHROW;
void zstemr_( const char* jobz, const char* range, const MKL_INT* n, double* d,
              double* e, const double* vl, const double* vu, const MKL_INT* il,
              const MKL_INT* iu, MKL_INT* m, double* w, MKL_Complex16* z,
              const MKL_INT* ldz, const MKL_INT* nzc, MKL_INT* isuppz,
              MKL_INT* tryrac, double* work, const MKL_INT* lwork,
              MKL_INT* iwork, const MKL_INT* liwork, MKL_INT* info ) NOTHROW;

void ZSTEQR( const char* compz, const MKL_INT* n, double* d, double* e,
             MKL_Complex16* z, const MKL_INT* ldz, double* work,
             MKL_INT* info ) NOTHROW;
void ZSTEQR_( const char* compz, const MKL_INT* n, double* d, double* e,
              MKL_Complex16* z, const MKL_INT* ldz, double* work,
              MKL_INT* info ) NOTHROW;
void zsteqr( const char* compz, const MKL_INT* n, double* d, double* e,
             MKL_Complex16* z, const MKL_INT* ldz, double* work,
             MKL_INT* info ) NOTHROW;
void zsteqr_( const char* compz, const MKL_INT* n, double* d, double* e,
              MKL_Complex16* z, const MKL_INT* ldz, double* work,
              MKL_INT* info ) NOTHROW;

void ZSYCON( const char* uplo, const MKL_INT* n, const MKL_Complex16* a,
             const MKL_INT* lda, const MKL_INT* ipiv, const double* anorm,
             double* rcond, MKL_Complex16* work, MKL_INT* info ) NOTHROW;
void ZSYCON_( const char* uplo, const MKL_INT* n, const MKL_Complex16* a,
              const MKL_INT* lda, const MKL_INT* ipiv, const double* anorm,
              double* rcond, MKL_Complex16* work, MKL_INT* info ) NOTHROW;
void zsycon( const char* uplo, const MKL_INT* n, const MKL_Complex16* a,
             const MKL_INT* lda, const MKL_INT* ipiv, const double* anorm,
             double* rcond, MKL_Complex16* work, MKL_INT* info ) NOTHROW;
void zsycon_( const char* uplo, const MKL_INT* n, const MKL_Complex16* a,
              const MKL_INT* lda, const MKL_INT* ipiv, const double* anorm,
              double* rcond, MKL_Complex16* work, MKL_INT* info ) NOTHROW;

void ZSYEQUB( const char* uplo, const MKL_INT* n, const MKL_Complex16* a,
              const MKL_INT* lda, double* s, double* scond, double* amax,
              MKL_Complex16* work, MKL_INT* info ) NOTHROW;
void ZSYEQUB_( const char* uplo, const MKL_INT* n, const MKL_Complex16* a,
               const MKL_INT* lda, double* s, double* scond, double* amax,
               MKL_Complex16* work, MKL_INT* info ) NOTHROW;
void zsyequb( const char* uplo, const MKL_INT* n, const MKL_Complex16* a,
              const MKL_INT* lda, double* s, double* scond, double* amax,
              MKL_Complex16* work, MKL_INT* info ) NOTHROW;
void zsyequb_( const char* uplo, const MKL_INT* n, const MKL_Complex16* a,
               const MKL_INT* lda, double* s, double* scond, double* amax,
               MKL_Complex16* work, MKL_INT* info ) NOTHROW;

void ZSYMV( const char* uplo, const MKL_INT* n, const MKL_Complex16* alpha,
            const MKL_Complex16* a, const MKL_INT* lda, const MKL_Complex16* x,
            const MKL_INT* incx, const MKL_Complex16* beta, MKL_Complex16* y,
            const MKL_INT* incy ) NOTHROW;
void ZSYMV_( const char* uplo, const MKL_INT* n, const MKL_Complex16* alpha,
             const MKL_Complex16* a, const MKL_INT* lda,
             const MKL_Complex16* x, const MKL_INT* incx,
             const MKL_Complex16* beta, MKL_Complex16* y,
             const MKL_INT* incy ) NOTHROW;
void zsymv( const char* uplo, const MKL_INT* n, const MKL_Complex16* alpha,
            const MKL_Complex16* a, const MKL_INT* lda, const MKL_Complex16* x,
            const MKL_INT* incx, const MKL_Complex16* beta, MKL_Complex16* y,
            const MKL_INT* incy ) NOTHROW;
void zsymv_( const char* uplo, const MKL_INT* n, const MKL_Complex16* alpha,
             const MKL_Complex16* a, const MKL_INT* lda,
             const MKL_Complex16* x, const MKL_INT* incx,
             const MKL_Complex16* beta, MKL_Complex16* y,
             const MKL_INT* incy ) NOTHROW;

void ZSYR( const char* uplo, const MKL_INT* n, const MKL_Complex16* alpha,
           const MKL_Complex16* x, const MKL_INT* incx, MKL_Complex16* a,
           const MKL_INT* lda ) NOTHROW;
void ZSYR_( const char* uplo, const MKL_INT* n, const MKL_Complex16* alpha,
            const MKL_Complex16* x, const MKL_INT* incx, MKL_Complex16* a,
            const MKL_INT* lda ) NOTHROW;
void zsyr( const char* uplo, const MKL_INT* n, const MKL_Complex16* alpha,
           const MKL_Complex16* x, const MKL_INT* incx, MKL_Complex16* a,
           const MKL_INT* lda ) NOTHROW;
void zsyr_( const char* uplo, const MKL_INT* n, const MKL_Complex16* alpha,
            const MKL_Complex16* x, const MKL_INT* incx, MKL_Complex16* a,
            const MKL_INT* lda ) NOTHROW;

void ZSYRFS( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs,
             const MKL_Complex16* a, const MKL_INT* lda,
             const MKL_Complex16* af, const MKL_INT* ldaf, const MKL_INT* ipiv,
             const MKL_Complex16* b, const MKL_INT* ldb, MKL_Complex16* x,
             const MKL_INT* ldx, double* ferr, double* berr,
             MKL_Complex16* work, double* rwork, MKL_INT* info ) NOTHROW;
void ZSYRFS_( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs,
              const MKL_Complex16* a, const MKL_INT* lda,
              const MKL_Complex16* af, const MKL_INT* ldaf,
              const MKL_INT* ipiv, const MKL_Complex16* b, const MKL_INT* ldb,
              MKL_Complex16* x, const MKL_INT* ldx, double* ferr, double* berr,
              MKL_Complex16* work, double* rwork, MKL_INT* info ) NOTHROW;
void zsyrfs( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs,
             const MKL_Complex16* a, const MKL_INT* lda,
             const MKL_Complex16* af, const MKL_INT* ldaf, const MKL_INT* ipiv,
             const MKL_Complex16* b, const MKL_INT* ldb, MKL_Complex16* x,
             const MKL_INT* ldx, double* ferr, double* berr,
             MKL_Complex16* work, double* rwork, MKL_INT* info ) NOTHROW;
void zsyrfs_( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs,
              const MKL_Complex16* a, const MKL_INT* lda,
              const MKL_Complex16* af, const MKL_INT* ldaf,
              const MKL_INT* ipiv, const MKL_Complex16* b, const MKL_INT* ldb,
              MKL_Complex16* x, const MKL_INT* ldx, double* ferr, double* berr,
              MKL_Complex16* work, double* rwork, MKL_INT* info ) NOTHROW;

void ZSYRFSX( const char* uplo, const char* equed, const MKL_INT* n,
              const MKL_INT* nrhs, const MKL_Complex16* a, const MKL_INT* lda,
              const MKL_Complex16* af, const MKL_INT* ldaf,
              const MKL_INT* ipiv, double* s, const MKL_Complex16* b,
              const MKL_INT* ldb, MKL_Complex16* x, const MKL_INT* ldx,
              double* rcond, double* berr, const MKL_INT* n_err_bnds,
              double* err_bnds_norm, double* err_bnds_comp,
              const MKL_INT* nparams, double* params, MKL_Complex16* work,
              double* rwork, MKL_INT* info ) NOTHROW;
void ZSYRFSX_( const char* uplo, const char* equed, const MKL_INT* n,
               const MKL_INT* nrhs, const MKL_Complex16* a, const MKL_INT* lda,
               const MKL_Complex16* af, const MKL_INT* ldaf,
               const MKL_INT* ipiv, double* s, const MKL_Complex16* b,
               const MKL_INT* ldb, MKL_Complex16* x, const MKL_INT* ldx,
               double* rcond, double* berr, const MKL_INT* n_err_bnds,
               double* err_bnds_norm, double* err_bnds_comp,
               const MKL_INT* nparams, double* params, MKL_Complex16* work,
               double* rwork, MKL_INT* info ) NOTHROW;
void zsyrfsx( const char* uplo, const char* equed, const MKL_INT* n,
              const MKL_INT* nrhs, const MKL_Complex16* a, const MKL_INT* lda,
              const MKL_Complex16* af, const MKL_INT* ldaf,
              const MKL_INT* ipiv, double* s, const MKL_Complex16* b,
              const MKL_INT* ldb, MKL_Complex16* x, const MKL_INT* ldx,
              double* rcond, double* berr, const MKL_INT* n_err_bnds,
              double* err_bnds_norm, double* err_bnds_comp,
              const MKL_INT* nparams, double* params, MKL_Complex16* work,
              double* rwork, MKL_INT* info ) NOTHROW;
void zsyrfsx_( const char* uplo, const char* equed, const MKL_INT* n,
               const MKL_INT* nrhs, const MKL_Complex16* a, const MKL_INT* lda,
               const MKL_Complex16* af, const MKL_INT* ldaf,
               const MKL_INT* ipiv, double* s, const MKL_Complex16* b,
               const MKL_INT* ldb, MKL_Complex16* x, const MKL_INT* ldx,
               double* rcond, double* berr, const MKL_INT* n_err_bnds,
               double* err_bnds_norm, double* err_bnds_comp,
               const MKL_INT* nparams, double* params, MKL_Complex16* work,
               double* rwork, MKL_INT* info ) NOTHROW;

void ZSYSV( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs,
            MKL_Complex16* a, const MKL_INT* lda, MKL_INT* ipiv,
            MKL_Complex16* b, const MKL_INT* ldb, MKL_Complex16* work,
            const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void ZSYSV_( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs,
             MKL_Complex16* a, const MKL_INT* lda, MKL_INT* ipiv,
             MKL_Complex16* b, const MKL_INT* ldb, MKL_Complex16* work,
             const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void zsysv( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs,
            MKL_Complex16* a, const MKL_INT* lda, MKL_INT* ipiv,
            MKL_Complex16* b, const MKL_INT* ldb, MKL_Complex16* work,
            const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void zsysv_( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs,
             MKL_Complex16* a, const MKL_INT* lda, MKL_INT* ipiv,
             MKL_Complex16* b, const MKL_INT* ldb, MKL_Complex16* work,
             const MKL_INT* lwork, MKL_INT* info ) NOTHROW;

void ZSYSVX( const char* fact, const char* uplo, const MKL_INT* n,
             const MKL_INT* nrhs, const MKL_Complex16* a, const MKL_INT* lda,
             MKL_Complex16* af, const MKL_INT* ldaf, MKL_INT* ipiv,
             const MKL_Complex16* b, const MKL_INT* ldb, MKL_Complex16* x,
             const MKL_INT* ldx, double* rcond, double* ferr, double* berr,
             MKL_Complex16* work, const MKL_INT* lwork, double* rwork,
             MKL_INT* info ) NOTHROW;
void ZSYSVX_( const char* fact, const char* uplo, const MKL_INT* n,
              const MKL_INT* nrhs, const MKL_Complex16* a, const MKL_INT* lda,
              MKL_Complex16* af, const MKL_INT* ldaf, MKL_INT* ipiv,
              const MKL_Complex16* b, const MKL_INT* ldb, MKL_Complex16* x,
              const MKL_INT* ldx, double* rcond, double* ferr, double* berr,
              MKL_Complex16* work, const MKL_INT* lwork, double* rwork,
              MKL_INT* info ) NOTHROW;
void zsysvx( const char* fact, const char* uplo, const MKL_INT* n,
             const MKL_INT* nrhs, const MKL_Complex16* a, const MKL_INT* lda,
             MKL_Complex16* af, const MKL_INT* ldaf, MKL_INT* ipiv,
             const MKL_Complex16* b, const MKL_INT* ldb, MKL_Complex16* x,
             const MKL_INT* ldx, double* rcond, double* ferr, double* berr,
             MKL_Complex16* work, const MKL_INT* lwork, double* rwork,
             MKL_INT* info ) NOTHROW;
void zsysvx_( const char* fact, const char* uplo, const MKL_INT* n,
              const MKL_INT* nrhs, const MKL_Complex16* a, const MKL_INT* lda,
              MKL_Complex16* af, const MKL_INT* ldaf, MKL_INT* ipiv,
              const MKL_Complex16* b, const MKL_INT* ldb, MKL_Complex16* x,
              const MKL_INT* ldx, double* rcond, double* ferr, double* berr,
              MKL_Complex16* work, const MKL_INT* lwork, double* rwork,
              MKL_INT* info ) NOTHROW;

void ZSYSVXX( const char* fact, const char* uplo, const MKL_INT* n,
              const MKL_INT* nrhs, MKL_Complex16* a, const MKL_INT* lda,
              MKL_Complex16* af, const MKL_INT* ldaf, MKL_INT* ipiv,
              char* equed, double* s, MKL_Complex16* b, const MKL_INT* ldb,
              MKL_Complex16* x, const MKL_INT* ldx, double* rcond,
              double* rpvgrw, double* berr, const MKL_INT* n_err_bnds,
              double* err_bnds_norm, double* err_bnds_comp,
              const MKL_INT* nparams, double* params, MKL_Complex16* work,
              double* rwork, MKL_INT* info ) NOTHROW;
void ZSYSVXX_( const char* fact, const char* uplo, const MKL_INT* n,
               const MKL_INT* nrhs, MKL_Complex16* a, const MKL_INT* lda,
               MKL_Complex16* af, const MKL_INT* ldaf, MKL_INT* ipiv,
               char* equed, double* s, MKL_Complex16* b, const MKL_INT* ldb,
               MKL_Complex16* x, const MKL_INT* ldx, double* rcond,
               double* rpvgrw, double* berr, const MKL_INT* n_err_bnds,
               double* err_bnds_norm, double* err_bnds_comp,
               const MKL_INT* nparams, double* params, MKL_Complex16* work,
               double* rwork, MKL_INT* info ) NOTHROW;
void zsysvxx( const char* fact, const char* uplo, const MKL_INT* n,
              const MKL_INT* nrhs, MKL_Complex16* a, const MKL_INT* lda,
              MKL_Complex16* af, const MKL_INT* ldaf, MKL_INT* ipiv,
              char* equed, double* s, MKL_Complex16* b, const MKL_INT* ldb,
              MKL_Complex16* x, const MKL_INT* ldx, double* rcond,
              double* rpvgrw, double* berr, const MKL_INT* n_err_bnds,
              double* err_bnds_norm, double* err_bnds_comp,
              const MKL_INT* nparams, double* params, MKL_Complex16* work,
              double* rwork, MKL_INT* info ) NOTHROW;
void zsysvxx_( const char* fact, const char* uplo, const MKL_INT* n,
               const MKL_INT* nrhs, MKL_Complex16* a, const MKL_INT* lda,
               MKL_Complex16* af, const MKL_INT* ldaf, MKL_INT* ipiv,
               char* equed, double* s, MKL_Complex16* b, const MKL_INT* ldb,
               MKL_Complex16* x, const MKL_INT* ldx, double* rcond,
               double* rpvgrw, double* berr, const MKL_INT* n_err_bnds,
               double* err_bnds_norm, double* err_bnds_comp,
               const MKL_INT* nparams, double* params, MKL_Complex16* work,
               double* rwork, MKL_INT* info ) NOTHROW;

void ZSYTF2( const char* uplo, const MKL_INT* n, MKL_Complex16* a,
             const MKL_INT* lda, MKL_INT* ipiv, MKL_INT* info ) NOTHROW;
void ZSYTF2_( const char* uplo, const MKL_INT* n, MKL_Complex16* a,
              const MKL_INT* lda, MKL_INT* ipiv, MKL_INT* info ) NOTHROW;
void zsytf2( const char* uplo, const MKL_INT* n, MKL_Complex16* a,
             const MKL_INT* lda, MKL_INT* ipiv, MKL_INT* info ) NOTHROW;
void zsytf2_( const char* uplo, const MKL_INT* n, MKL_Complex16* a,
              const MKL_INT* lda, MKL_INT* ipiv, MKL_INT* info ) NOTHROW;

void ZSYTRF( const char* uplo, const MKL_INT* n, MKL_Complex16* a,
             const MKL_INT* lda, MKL_INT* ipiv, MKL_Complex16* work,
             const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void ZSYTRF_( const char* uplo, const MKL_INT* n, MKL_Complex16* a,
              const MKL_INT* lda, MKL_INT* ipiv, MKL_Complex16* work,
              const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void zsytrf( const char* uplo, const MKL_INT* n, MKL_Complex16* a,
             const MKL_INT* lda, MKL_INT* ipiv, MKL_Complex16* work,
             const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void zsytrf_( const char* uplo, const MKL_INT* n, MKL_Complex16* a,
              const MKL_INT* lda, MKL_INT* ipiv, MKL_Complex16* work,
              const MKL_INT* lwork, MKL_INT* info ) NOTHROW;

void ZSYTRI( const char* uplo, const MKL_INT* n, MKL_Complex16* a,
             const MKL_INT* lda, const MKL_INT* ipiv, MKL_Complex16* work,
             MKL_INT* info ) NOTHROW;
void ZSYTRI_( const char* uplo, const MKL_INT* n, MKL_Complex16* a,
              const MKL_INT* lda, const MKL_INT* ipiv, MKL_Complex16* work,
              MKL_INT* info ) NOTHROW;
void zsytri( const char* uplo, const MKL_INT* n, MKL_Complex16* a,
             const MKL_INT* lda, const MKL_INT* ipiv, MKL_Complex16* work,
             MKL_INT* info ) NOTHROW;
void zsytri_( const char* uplo, const MKL_INT* n, MKL_Complex16* a,
              const MKL_INT* lda, const MKL_INT* ipiv, MKL_Complex16* work,
              MKL_INT* info ) NOTHROW;

void ZSYTRS( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs,
             const MKL_Complex16* a, const MKL_INT* lda, const MKL_INT* ipiv,
             MKL_Complex16* b, const MKL_INT* ldb, MKL_INT* info ) NOTHROW;
void ZSYTRS_( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs,
              const MKL_Complex16* a, const MKL_INT* lda, const MKL_INT* ipiv,
              MKL_Complex16* b, const MKL_INT* ldb, MKL_INT* info ) NOTHROW;
void zsytrs( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs,
             const MKL_Complex16* a, const MKL_INT* lda, const MKL_INT* ipiv,
             MKL_Complex16* b, const MKL_INT* ldb, MKL_INT* info ) NOTHROW;
void zsytrs_( const char* uplo, const MKL_INT* n, const MKL_INT* nrhs,
              const MKL_Complex16* a, const MKL_INT* lda, const MKL_INT* ipiv,
              MKL_Complex16* b, const MKL_INT* ldb, MKL_INT* info ) NOTHROW;

void ZTBCON( const char* norm, const char* uplo, const char* diag,
             const MKL_INT* n, const MKL_INT* kd, const MKL_Complex16* ab,
             const MKL_INT* ldab, double* rcond, MKL_Complex16* work,
             double* rwork, MKL_INT* info ) NOTHROW;
void ZTBCON_( const char* norm, const char* uplo, const char* diag,
              const MKL_INT* n, const MKL_INT* kd, const MKL_Complex16* ab,
              const MKL_INT* ldab, double* rcond, MKL_Complex16* work,
              double* rwork, MKL_INT* info ) NOTHROW;
void ztbcon( const char* norm, const char* uplo, const char* diag,
             const MKL_INT* n, const MKL_INT* kd, const MKL_Complex16* ab,
             const MKL_INT* ldab, double* rcond, MKL_Complex16* work,
             double* rwork, MKL_INT* info ) NOTHROW;
void ztbcon_( const char* norm, const char* uplo, const char* diag,
              const MKL_INT* n, const MKL_INT* kd, const MKL_Complex16* ab,
              const MKL_INT* ldab, double* rcond, MKL_Complex16* work,
              double* rwork, MKL_INT* info ) NOTHROW;

void ZTBRFS( const char* uplo, const char* trans, const char* diag,
             const MKL_INT* n, const MKL_INT* kd, const MKL_INT* nrhs,
             const MKL_Complex16* ab, const MKL_INT* ldab,
             const MKL_Complex16* b, const MKL_INT* ldb,
             const MKL_Complex16* x, const MKL_INT* ldx, double* ferr,
             double* berr, MKL_Complex16* work, double* rwork, MKL_INT* info ) NOTHROW;
void ZTBRFS_( const char* uplo, const char* trans, const char* diag,
              const MKL_INT* n, const MKL_INT* kd, const MKL_INT* nrhs,
              const MKL_Complex16* ab, const MKL_INT* ldab,
              const MKL_Complex16* b, const MKL_INT* ldb,
              const MKL_Complex16* x, const MKL_INT* ldx, double* ferr,
              double* berr, MKL_Complex16* work, double* rwork,
              MKL_INT* info ) NOTHROW;
void ztbrfs( const char* uplo, const char* trans, const char* diag,
             const MKL_INT* n, const MKL_INT* kd, const MKL_INT* nrhs,
             const MKL_Complex16* ab, const MKL_INT* ldab,
             const MKL_Complex16* b, const MKL_INT* ldb,
             const MKL_Complex16* x, const MKL_INT* ldx, double* ferr,
             double* berr, MKL_Complex16* work, double* rwork, MKL_INT* info ) NOTHROW;
void ztbrfs_( const char* uplo, const char* trans, const char* diag,
              const MKL_INT* n, const MKL_INT* kd, const MKL_INT* nrhs,
              const MKL_Complex16* ab, const MKL_INT* ldab,
              const MKL_Complex16* b, const MKL_INT* ldb,
              const MKL_Complex16* x, const MKL_INT* ldx, double* ferr,
              double* berr, MKL_Complex16* work, double* rwork,
              MKL_INT* info ) NOTHROW;

void ZTBTRS( const char* uplo, const char* trans, const char* diag,
             const MKL_INT* n, const MKL_INT* kd, const MKL_INT* nrhs,
             const MKL_Complex16* ab, const MKL_INT* ldab, MKL_Complex16* b,
             const MKL_INT* ldb, MKL_INT* info ) NOTHROW;
void ZTBTRS_( const char* uplo, const char* trans, const char* diag,
              const MKL_INT* n, const MKL_INT* kd, const MKL_INT* nrhs,
              const MKL_Complex16* ab, const MKL_INT* ldab, MKL_Complex16* b,
              const MKL_INT* ldb, MKL_INT* info ) NOTHROW;
void ztbtrs( const char* uplo, const char* trans, const char* diag,
             const MKL_INT* n, const MKL_INT* kd, const MKL_INT* nrhs,
             const MKL_Complex16* ab, const MKL_INT* ldab, MKL_Complex16* b,
             const MKL_INT* ldb, MKL_INT* info ) NOTHROW;
void ztbtrs_( const char* uplo, const char* trans, const char* diag,
              const MKL_INT* n, const MKL_INT* kd, const MKL_INT* nrhs,
              const MKL_Complex16* ab, const MKL_INT* ldab, MKL_Complex16* b,
              const MKL_INT* ldb, MKL_INT* info ) NOTHROW;

void ZTFSM( const char* transr, const char* side, const char* uplo,
            const char* trans, const char* diag, const MKL_INT* m,
            const MKL_INT* n, const MKL_Complex16* alpha,
            const MKL_Complex16* a, MKL_Complex16* b, const MKL_INT* ldb ) NOTHROW;
void ZTFSM_( const char* transr, const char* side, const char* uplo,
             const char* trans, const char* diag, const MKL_INT* m,
             const MKL_INT* n, const MKL_Complex16* alpha,
             const MKL_Complex16* a, MKL_Complex16* b, const MKL_INT* ldb ) NOTHROW;
void ztfsm( const char* transr, const char* side, const char* uplo,
            const char* trans, const char* diag, const MKL_INT* m,
            const MKL_INT* n, const MKL_Complex16* alpha,
            const MKL_Complex16* a, MKL_Complex16* b, const MKL_INT* ldb ) NOTHROW;
void ztfsm_( const char* transr, const char* side, const char* uplo,
             const char* trans, const char* diag, const MKL_INT* m,
             const MKL_INT* n, const MKL_Complex16* alpha,
             const MKL_Complex16* a, MKL_Complex16* b, const MKL_INT* ldb ) NOTHROW;

void ZTFTRI( const char* transr, const char* uplo, const char* diag,
             const MKL_INT* n, MKL_Complex16* a, MKL_INT* info ) NOTHROW;
void ZTFTRI_( const char* transr, const char* uplo, const char* diag,
              const MKL_INT* n, MKL_Complex16* a, MKL_INT* info ) NOTHROW;
void ztftri( const char* transr, const char* uplo, const char* diag,
             const MKL_INT* n, MKL_Complex16* a, MKL_INT* info ) NOTHROW;
void ztftri_( const char* transr, const char* uplo, const char* diag,
              const MKL_INT* n, MKL_Complex16* a, MKL_INT* info ) NOTHROW;

void ZTFTTP( const char* transr, const char* uplo, const MKL_INT* n,
             const MKL_Complex16* arf, MKL_Complex16* ap, MKL_INT* info ) NOTHROW;
void ZTFTTP_( const char* transr, const char* uplo, const MKL_INT* n,
              const MKL_Complex16* arf, MKL_Complex16* ap, MKL_INT* info ) NOTHROW;
void ztfttp( const char* transr, const char* uplo, const MKL_INT* n,
             const MKL_Complex16* arf, MKL_Complex16* ap, MKL_INT* info ) NOTHROW;
void ztfttp_( const char* transr, const char* uplo, const MKL_INT* n,
              const MKL_Complex16* arf, MKL_Complex16* ap, MKL_INT* info ) NOTHROW;

void ZTFTTR( const char* transr, const char* uplo, const MKL_INT* n,
             const MKL_Complex16* arf, MKL_Complex16* a, const MKL_INT* lda,
             MKL_INT* info ) NOTHROW;
void ZTFTTR_( const char* transr, const char* uplo, const MKL_INT* n,
              const MKL_Complex16* arf, MKL_Complex16* a, const MKL_INT* lda,
              MKL_INT* info ) NOTHROW;
void ztfttr( const char* transr, const char* uplo, const MKL_INT* n,
             const MKL_Complex16* arf, MKL_Complex16* a, const MKL_INT* lda,
             MKL_INT* info ) NOTHROW;
void ztfttr_( const char* transr, const char* uplo, const MKL_INT* n,
              const MKL_Complex16* arf, MKL_Complex16* a, const MKL_INT* lda,
              MKL_INT* info ) NOTHROW;

void ZTGEVC( const char* side, const char* howmny, const MKL_INT* select,
             const MKL_INT* n, const MKL_Complex16* s, const MKL_INT* lds,
             const MKL_Complex16* p, const MKL_INT* ldp, MKL_Complex16* vl,
             const MKL_INT* ldvl, MKL_Complex16* vr, const MKL_INT* ldvr,
             const MKL_INT* mm, MKL_INT* m, MKL_Complex16* work, double* rwork,
             MKL_INT* info ) NOTHROW;
void ZTGEVC_( const char* side, const char* howmny, const MKL_INT* select,
              const MKL_INT* n, const MKL_Complex16* s, const MKL_INT* lds,
              const MKL_Complex16* p, const MKL_INT* ldp, MKL_Complex16* vl,
              const MKL_INT* ldvl, MKL_Complex16* vr, const MKL_INT* ldvr,
              const MKL_INT* mm, MKL_INT* m, MKL_Complex16* work,
              double* rwork, MKL_INT* info ) NOTHROW;
void ztgevc( const char* side, const char* howmny, const MKL_INT* select,
             const MKL_INT* n, const MKL_Complex16* s, const MKL_INT* lds,
             const MKL_Complex16* p, const MKL_INT* ldp, MKL_Complex16* vl,
             const MKL_INT* ldvl, MKL_Complex16* vr, const MKL_INT* ldvr,
             const MKL_INT* mm, MKL_INT* m, MKL_Complex16* work, double* rwork,
             MKL_INT* info ) NOTHROW;
void ztgevc_( const char* side, const char* howmny, const MKL_INT* select,
              const MKL_INT* n, const MKL_Complex16* s, const MKL_INT* lds,
              const MKL_Complex16* p, const MKL_INT* ldp, MKL_Complex16* vl,
              const MKL_INT* ldvl, MKL_Complex16* vr, const MKL_INT* ldvr,
              const MKL_INT* mm, MKL_INT* m, MKL_Complex16* work,
              double* rwork, MKL_INT* info ) NOTHROW;

void ZTGEX2( const MKL_INT* wantq, const MKL_INT* wantz, const MKL_INT* n,
             MKL_Complex16* a, const MKL_INT* lda, MKL_Complex16* b,
             const MKL_INT* ldb, MKL_Complex16* q, const MKL_INT* ldq,
             MKL_Complex16* z, const MKL_INT* ldz, const MKL_INT* j1,
             MKL_INT* info ) NOTHROW;
void ZTGEX2_( const MKL_INT* wantq, const MKL_INT* wantz, const MKL_INT* n,
              MKL_Complex16* a, const MKL_INT* lda, MKL_Complex16* b,
              const MKL_INT* ldb, MKL_Complex16* q, const MKL_INT* ldq,
              MKL_Complex16* z, const MKL_INT* ldz, const MKL_INT* j1,
              MKL_INT* info ) NOTHROW;
void ztgex2( const MKL_INT* wantq, const MKL_INT* wantz, const MKL_INT* n,
             MKL_Complex16* a, const MKL_INT* lda, MKL_Complex16* b,
             const MKL_INT* ldb, MKL_Complex16* q, const MKL_INT* ldq,
             MKL_Complex16* z, const MKL_INT* ldz, const MKL_INT* j1,
             MKL_INT* info ) NOTHROW;
void ztgex2_( const MKL_INT* wantq, const MKL_INT* wantz, const MKL_INT* n,
              MKL_Complex16* a, const MKL_INT* lda, MKL_Complex16* b,
              const MKL_INT* ldb, MKL_Complex16* q, const MKL_INT* ldq,
              MKL_Complex16* z, const MKL_INT* ldz, const MKL_INT* j1,
              MKL_INT* info ) NOTHROW;

void ZTGEXC( const MKL_INT* wantq, const MKL_INT* wantz, const MKL_INT* n,
             MKL_Complex16* a, const MKL_INT* lda, MKL_Complex16* b,
             const MKL_INT* ldb, MKL_Complex16* q, const MKL_INT* ldq,
             MKL_Complex16* z, const MKL_INT* ldz, const MKL_INT* ifst,
             MKL_INT* ilst, MKL_INT* info ) NOTHROW;
void ZTGEXC_( const MKL_INT* wantq, const MKL_INT* wantz, const MKL_INT* n,
              MKL_Complex16* a, const MKL_INT* lda, MKL_Complex16* b,
              const MKL_INT* ldb, MKL_Complex16* q, const MKL_INT* ldq,
              MKL_Complex16* z, const MKL_INT* ldz, const MKL_INT* ifst,
              MKL_INT* ilst, MKL_INT* info ) NOTHROW;
void ztgexc( const MKL_INT* wantq, const MKL_INT* wantz, const MKL_INT* n,
             MKL_Complex16* a, const MKL_INT* lda, MKL_Complex16* b,
             const MKL_INT* ldb, MKL_Complex16* q, const MKL_INT* ldq,
             MKL_Complex16* z, const MKL_INT* ldz, const MKL_INT* ifst,
             MKL_INT* ilst, MKL_INT* info ) NOTHROW;
void ztgexc_( const MKL_INT* wantq, const MKL_INT* wantz, const MKL_INT* n,
              MKL_Complex16* a, const MKL_INT* lda, MKL_Complex16* b,
              const MKL_INT* ldb, MKL_Complex16* q, const MKL_INT* ldq,
              MKL_Complex16* z, const MKL_INT* ldz, const MKL_INT* ifst,
              MKL_INT* ilst, MKL_INT* info ) NOTHROW;

void ZTGSEN( const MKL_INT* ijob, const MKL_INT* wantq, const MKL_INT* wantz,
             const MKL_INT* select, const MKL_INT* n, MKL_Complex16* a,
             const MKL_INT* lda, MKL_Complex16* b, const MKL_INT* ldb,
             MKL_Complex16* alpha, MKL_Complex16* beta, MKL_Complex16* q,
             const MKL_INT* ldq, MKL_Complex16* z, const MKL_INT* ldz,
             MKL_INT* m, double* pl, double* pr, double* dif,
             MKL_Complex16* work, const MKL_INT* lwork, MKL_INT* iwork,
             const MKL_INT* liwork, MKL_INT* info ) NOTHROW;
void ZTGSEN_( const MKL_INT* ijob, const MKL_INT* wantq, const MKL_INT* wantz,
              const MKL_INT* select, const MKL_INT* n, MKL_Complex16* a,
              const MKL_INT* lda, MKL_Complex16* b, const MKL_INT* ldb,
              MKL_Complex16* alpha, MKL_Complex16* beta, MKL_Complex16* q,
              const MKL_INT* ldq, MKL_Complex16* z, const MKL_INT* ldz,
              MKL_INT* m, double* pl, double* pr, double* dif,
              MKL_Complex16* work, const MKL_INT* lwork, MKL_INT* iwork,
              const MKL_INT* liwork, MKL_INT* info ) NOTHROW;
void ztgsen( const MKL_INT* ijob, const MKL_INT* wantq, const MKL_INT* wantz,
             const MKL_INT* select, const MKL_INT* n, MKL_Complex16* a,
             const MKL_INT* lda, MKL_Complex16* b, const MKL_INT* ldb,
             MKL_Complex16* alpha, MKL_Complex16* beta, MKL_Complex16* q,
             const MKL_INT* ldq, MKL_Complex16* z, const MKL_INT* ldz,
             MKL_INT* m, double* pl, double* pr, double* dif,
             MKL_Complex16* work, const MKL_INT* lwork, MKL_INT* iwork,
             const MKL_INT* liwork, MKL_INT* info ) NOTHROW;
void ztgsen_( const MKL_INT* ijob, const MKL_INT* wantq, const MKL_INT* wantz,
              const MKL_INT* select, const MKL_INT* n, MKL_Complex16* a,
              const MKL_INT* lda, MKL_Complex16* b, const MKL_INT* ldb,
              MKL_Complex16* alpha, MKL_Complex16* beta, MKL_Complex16* q,
              const MKL_INT* ldq, MKL_Complex16* z, const MKL_INT* ldz,
              MKL_INT* m, double* pl, double* pr, double* dif,
              MKL_Complex16* work, const MKL_INT* lwork, MKL_INT* iwork,
              const MKL_INT* liwork, MKL_INT* info ) NOTHROW;

void ZTGSJA( const char* jobu, const char* jobv, const char* jobq,
             const MKL_INT* m, const MKL_INT* p, const MKL_INT* n,
             const MKL_INT* k, const MKL_INT* l, MKL_Complex16* a,
             const MKL_INT* lda, MKL_Complex16* b, const MKL_INT* ldb,
             const double* tola, const double* tolb, double* alpha,
             double* beta, MKL_Complex16* u, const MKL_INT* ldu,
             MKL_Complex16* v, const MKL_INT* ldv, MKL_Complex16* q,
             const MKL_INT* ldq, MKL_Complex16* work, MKL_INT* ncycle,
             MKL_INT* info ) NOTHROW;
void ZTGSJA_( const char* jobu, const char* jobv, const char* jobq,
              const MKL_INT* m, const MKL_INT* p, const MKL_INT* n,
              const MKL_INT* k, const MKL_INT* l, MKL_Complex16* a,
              const MKL_INT* lda, MKL_Complex16* b, const MKL_INT* ldb,
              const double* tola, const double* tolb, double* alpha,
              double* beta, MKL_Complex16* u, const MKL_INT* ldu,
              MKL_Complex16* v, const MKL_INT* ldv, MKL_Complex16* q,
              const MKL_INT* ldq, MKL_Complex16* work, MKL_INT* ncycle,
              MKL_INT* info ) NOTHROW;
void ztgsja( const char* jobu, const char* jobv, const char* jobq,
             const MKL_INT* m, const MKL_INT* p, const MKL_INT* n,
             const MKL_INT* k, const MKL_INT* l, MKL_Complex16* a,
             const MKL_INT* lda, MKL_Complex16* b, const MKL_INT* ldb,
             const double* tola, const double* tolb, double* alpha,
             double* beta, MKL_Complex16* u, const MKL_INT* ldu,
             MKL_Complex16* v, const MKL_INT* ldv, MKL_Complex16* q,
             const MKL_INT* ldq, MKL_Complex16* work, MKL_INT* ncycle,
             MKL_INT* info ) NOTHROW;
void ztgsja_( const char* jobu, const char* jobv, const char* jobq,
              const MKL_INT* m, const MKL_INT* p, const MKL_INT* n,
              const MKL_INT* k, const MKL_INT* l, MKL_Complex16* a,
              const MKL_INT* lda, MKL_Complex16* b, const MKL_INT* ldb,
              const double* tola, const double* tolb, double* alpha,
              double* beta, MKL_Complex16* u, const MKL_INT* ldu,
              MKL_Complex16* v, const MKL_INT* ldv, MKL_Complex16* q,
              const MKL_INT* ldq, MKL_Complex16* work, MKL_INT* ncycle,
              MKL_INT* info ) NOTHROW;

void ZTGSNA( const char* job, const char* howmny, const MKL_INT* select,
             const MKL_INT* n, const MKL_Complex16* a, const MKL_INT* lda,
             const MKL_Complex16* b, const MKL_INT* ldb,
             const MKL_Complex16* vl, const MKL_INT* ldvl,
             const MKL_Complex16* vr, const MKL_INT* ldvr, double* s,
             double* dif, const MKL_INT* mm, MKL_INT* m, MKL_Complex16* work,
             const MKL_INT* lwork, MKL_INT* iwork, MKL_INT* info ) NOTHROW;
void ZTGSNA_( const char* job, const char* howmny, const MKL_INT* select,
              const MKL_INT* n, const MKL_Complex16* a, const MKL_INT* lda,
              const MKL_Complex16* b, const MKL_INT* ldb,
              const MKL_Complex16* vl, const MKL_INT* ldvl,
              const MKL_Complex16* vr, const MKL_INT* ldvr, double* s,
              double* dif, const MKL_INT* mm, MKL_INT* m, MKL_Complex16* work,
              const MKL_INT* lwork, MKL_INT* iwork, MKL_INT* info ) NOTHROW;
void ztgsna( const char* job, const char* howmny, const MKL_INT* select,
             const MKL_INT* n, const MKL_Complex16* a, const MKL_INT* lda,
             const MKL_Complex16* b, const MKL_INT* ldb,
             const MKL_Complex16* vl, const MKL_INT* ldvl,
             const MKL_Complex16* vr, const MKL_INT* ldvr, double* s,
             double* dif, const MKL_INT* mm, MKL_INT* m, MKL_Complex16* work,
             const MKL_INT* lwork, MKL_INT* iwork, MKL_INT* info ) NOTHROW;
void ztgsna_( const char* job, const char* howmny, const MKL_INT* select,
              const MKL_INT* n, const MKL_Complex16* a, const MKL_INT* lda,
              const MKL_Complex16* b, const MKL_INT* ldb,
              const MKL_Complex16* vl, const MKL_INT* ldvl,
              const MKL_Complex16* vr, const MKL_INT* ldvr, double* s,
              double* dif, const MKL_INT* mm, MKL_INT* m, MKL_Complex16* work,
              const MKL_INT* lwork, MKL_INT* iwork, MKL_INT* info ) NOTHROW;

void ZTGSY2( const char* trans, const MKL_INT* ijob, const MKL_INT* m,
             const MKL_INT* n, const MKL_Complex16* a, const MKL_INT* lda,
             const MKL_Complex16* b, const MKL_INT* ldb, MKL_Complex16* c,
             const MKL_INT* ldc, const MKL_Complex16* d, const MKL_INT* ldd,
             const MKL_Complex16* e, const MKL_INT* lde, MKL_Complex16* f,
             const MKL_INT* ldf, double* scale, double* rdsum, double* rdscal,
             MKL_INT* info ) NOTHROW;
void ZTGSY2_( const char* trans, const MKL_INT* ijob, const MKL_INT* m,
              const MKL_INT* n, const MKL_Complex16* a, const MKL_INT* lda,
              const MKL_Complex16* b, const MKL_INT* ldb, MKL_Complex16* c,
              const MKL_INT* ldc, const MKL_Complex16* d, const MKL_INT* ldd,
              const MKL_Complex16* e, const MKL_INT* lde, MKL_Complex16* f,
              const MKL_INT* ldf, double* scale, double* rdsum, double* rdscal,
              MKL_INT* info ) NOTHROW;
void ztgsy2( const char* trans, const MKL_INT* ijob, const MKL_INT* m,
             const MKL_INT* n, const MKL_Complex16* a, const MKL_INT* lda,
             const MKL_Complex16* b, const MKL_INT* ldb, MKL_Complex16* c,
             const MKL_INT* ldc, const MKL_Complex16* d, const MKL_INT* ldd,
             const MKL_Complex16* e, const MKL_INT* lde, MKL_Complex16* f,
             const MKL_INT* ldf, double* scale, double* rdsum, double* rdscal,
             MKL_INT* info ) NOTHROW;
void ztgsy2_( const char* trans, const MKL_INT* ijob, const MKL_INT* m,
              const MKL_INT* n, const MKL_Complex16* a, const MKL_INT* lda,
              const MKL_Complex16* b, const MKL_INT* ldb, MKL_Complex16* c,
              const MKL_INT* ldc, const MKL_Complex16* d, const MKL_INT* ldd,
              const MKL_Complex16* e, const MKL_INT* lde, MKL_Complex16* f,
              const MKL_INT* ldf, double* scale, double* rdsum, double* rdscal,
              MKL_INT* info ) NOTHROW;

void ZTGSYL( const char* trans, const MKL_INT* ijob, const MKL_INT* m,
             const MKL_INT* n, const MKL_Complex16* a, const MKL_INT* lda,
             const MKL_Complex16* b, const MKL_INT* ldb, MKL_Complex16* c,
             const MKL_INT* ldc, const MKL_Complex16* d, const MKL_INT* ldd,
             const MKL_Complex16* e, const MKL_INT* lde, MKL_Complex16* f,
             const MKL_INT* ldf, double* scale, double* dif,
             MKL_Complex16* work, const MKL_INT* lwork, MKL_INT* iwork,
             MKL_INT* info ) NOTHROW;
void ZTGSYL_( const char* trans, const MKL_INT* ijob, const MKL_INT* m,
              const MKL_INT* n, const MKL_Complex16* a, const MKL_INT* lda,
              const MKL_Complex16* b, const MKL_INT* ldb, MKL_Complex16* c,
              const MKL_INT* ldc, const MKL_Complex16* d, const MKL_INT* ldd,
              const MKL_Complex16* e, const MKL_INT* lde, MKL_Complex16* f,
              const MKL_INT* ldf, double* scale, double* dif,
              MKL_Complex16* work, const MKL_INT* lwork, MKL_INT* iwork,
              MKL_INT* info ) NOTHROW;
void ztgsyl( const char* trans, const MKL_INT* ijob, const MKL_INT* m,
             const MKL_INT* n, const MKL_Complex16* a, const MKL_INT* lda,
             const MKL_Complex16* b, const MKL_INT* ldb, MKL_Complex16* c,
             const MKL_INT* ldc, const MKL_Complex16* d, const MKL_INT* ldd,
             const MKL_Complex16* e, const MKL_INT* lde, MKL_Complex16* f,
             const MKL_INT* ldf, double* scale, double* dif,
             MKL_Complex16* work, const MKL_INT* lwork, MKL_INT* iwork,
             MKL_INT* info ) NOTHROW;
void ztgsyl_( const char* trans, const MKL_INT* ijob, const MKL_INT* m,
              const MKL_INT* n, const MKL_Complex16* a, const MKL_INT* lda,
              const MKL_Complex16* b, const MKL_INT* ldb, MKL_Complex16* c,
              const MKL_INT* ldc, const MKL_Complex16* d, const MKL_INT* ldd,
              const MKL_Complex16* e, const MKL_INT* lde, MKL_Complex16* f,
              const MKL_INT* ldf, double* scale, double* dif,
              MKL_Complex16* work, const MKL_INT* lwork, MKL_INT* iwork,
              MKL_INT* info ) NOTHROW;

void ZTPCON( const char* norm, const char* uplo, const char* diag,
             const MKL_INT* n, const MKL_Complex16* ap, double* rcond,
             MKL_Complex16* work, double* rwork, MKL_INT* info ) NOTHROW;
void ZTPCON_( const char* norm, const char* uplo, const char* diag,
              const MKL_INT* n, const MKL_Complex16* ap, double* rcond,
              MKL_Complex16* work, double* rwork, MKL_INT* info ) NOTHROW;
void ztpcon( const char* norm, const char* uplo, const char* diag,
             const MKL_INT* n, const MKL_Complex16* ap, double* rcond,
             MKL_Complex16* work, double* rwork, MKL_INT* info ) NOTHROW;
void ztpcon_( const char* norm, const char* uplo, const char* diag,
              const MKL_INT* n, const MKL_Complex16* ap, double* rcond,
              MKL_Complex16* work, double* rwork, MKL_INT* info ) NOTHROW;

void ZTPRFS( const char* uplo, const char* trans, const char* diag,
             const MKL_INT* n, const MKL_INT* nrhs, const MKL_Complex16* ap,
             const MKL_Complex16* b, const MKL_INT* ldb,
             const MKL_Complex16* x, const MKL_INT* ldx, double* ferr,
             double* berr, MKL_Complex16* work, double* rwork, MKL_INT* info ) NOTHROW;
void ZTPRFS_( const char* uplo, const char* trans, const char* diag,
              const MKL_INT* n, const MKL_INT* nrhs, const MKL_Complex16* ap,
              const MKL_Complex16* b, const MKL_INT* ldb,
              const MKL_Complex16* x, const MKL_INT* ldx, double* ferr,
              double* berr, MKL_Complex16* work, double* rwork,
              MKL_INT* info ) NOTHROW;
void ztprfs( const char* uplo, const char* trans, const char* diag,
             const MKL_INT* n, const MKL_INT* nrhs, const MKL_Complex16* ap,
             const MKL_Complex16* b, const MKL_INT* ldb,
             const MKL_Complex16* x, const MKL_INT* ldx, double* ferr,
             double* berr, MKL_Complex16* work, double* rwork, MKL_INT* info ) NOTHROW;
void ztprfs_( const char* uplo, const char* trans, const char* diag,
              const MKL_INT* n, const MKL_INT* nrhs, const MKL_Complex16* ap,
              const MKL_Complex16* b, const MKL_INT* ldb,
              const MKL_Complex16* x, const MKL_INT* ldx, double* ferr,
              double* berr, MKL_Complex16* work, double* rwork,
              MKL_INT* info ) NOTHROW;

void ZTPTRI( const char* uplo, const char* diag, const MKL_INT* n,
             MKL_Complex16* ap, MKL_INT* info ) NOTHROW;
void ZTPTRI_( const char* uplo, const char* diag, const MKL_INT* n,
              MKL_Complex16* ap, MKL_INT* info ) NOTHROW;
void ztptri( const char* uplo, const char* diag, const MKL_INT* n,
             MKL_Complex16* ap, MKL_INT* info ) NOTHROW;
void ztptri_( const char* uplo, const char* diag, const MKL_INT* n,
              MKL_Complex16* ap, MKL_INT* info ) NOTHROW;

void ZTPTRS( const char* uplo, const char* trans, const char* diag,
             const MKL_INT* n, const MKL_INT* nrhs, const MKL_Complex16* ap,
             MKL_Complex16* b, const MKL_INT* ldb, MKL_INT* info ) NOTHROW;
void ZTPTRS_( const char* uplo, const char* trans, const char* diag,
              const MKL_INT* n, const MKL_INT* nrhs, const MKL_Complex16* ap,
              MKL_Complex16* b, const MKL_INT* ldb, MKL_INT* info ) NOTHROW;
void ztptrs( const char* uplo, const char* trans, const char* diag,
             const MKL_INT* n, const MKL_INT* nrhs, const MKL_Complex16* ap,
             MKL_Complex16* b, const MKL_INT* ldb, MKL_INT* info ) NOTHROW;
void ztptrs_( const char* uplo, const char* trans, const char* diag,
              const MKL_INT* n, const MKL_INT* nrhs, const MKL_Complex16* ap,
              MKL_Complex16* b, const MKL_INT* ldb, MKL_INT* info ) NOTHROW;

void ZTPTTF( const char* transr, const char* uplo, const MKL_INT* n,
             const MKL_Complex16* ap, MKL_Complex16* arf, MKL_INT* info ) NOTHROW;
void ZTPTTF_( const char* transr, const char* uplo, const MKL_INT* n,
              const MKL_Complex16* ap, MKL_Complex16* arf, MKL_INT* info ) NOTHROW;
void ztpttf( const char* transr, const char* uplo, const MKL_INT* n,
             const MKL_Complex16* ap, MKL_Complex16* arf, MKL_INT* info ) NOTHROW;
void ztpttf_( const char* transr, const char* uplo, const MKL_INT* n,
              const MKL_Complex16* ap, MKL_Complex16* arf, MKL_INT* info ) NOTHROW;

void ZTPTTR( const char* uplo, const MKL_INT* n, const MKL_Complex16* ap,
             MKL_Complex16* a, const MKL_INT* lda, MKL_INT* info ) NOTHROW;
void ZTPTTR_( const char* uplo, const MKL_INT* n, const MKL_Complex16* ap,
              MKL_Complex16* a, const MKL_INT* lda, MKL_INT* info ) NOTHROW;
void ztpttr( const char* uplo, const MKL_INT* n, const MKL_Complex16* ap,
             MKL_Complex16* a, const MKL_INT* lda, MKL_INT* info ) NOTHROW;
void ztpttr_( const char* uplo, const MKL_INT* n, const MKL_Complex16* ap,
              MKL_Complex16* a, const MKL_INT* lda, MKL_INT* info ) NOTHROW;

void ZTRCON( const char* norm, const char* uplo, const char* diag,
             const MKL_INT* n, const MKL_Complex16* a, const MKL_INT* lda,
             double* rcond, MKL_Complex16* work, double* rwork,
             MKL_INT* info ) NOTHROW;
void ZTRCON_( const char* norm, const char* uplo, const char* diag,
              const MKL_INT* n, const MKL_Complex16* a, const MKL_INT* lda,
              double* rcond, MKL_Complex16* work, double* rwork,
              MKL_INT* info ) NOTHROW;
void ztrcon( const char* norm, const char* uplo, const char* diag,
             const MKL_INT* n, const MKL_Complex16* a, const MKL_INT* lda,
             double* rcond, MKL_Complex16* work, double* rwork,
             MKL_INT* info ) NOTHROW;
void ztrcon_( const char* norm, const char* uplo, const char* diag,
              const MKL_INT* n, const MKL_Complex16* a, const MKL_INT* lda,
              double* rcond, MKL_Complex16* work, double* rwork,
              MKL_INT* info ) NOTHROW;

void ZTREVC( const char* side, const char* howmny, const MKL_INT* select,
             const MKL_INT* n, MKL_Complex16* t, const MKL_INT* ldt,
             MKL_Complex16* vl, const MKL_INT* ldvl, MKL_Complex16* vr,
             const MKL_INT* ldvr, const MKL_INT* mm, MKL_INT* m,
             MKL_Complex16* work, double* rwork, MKL_INT* info ) NOTHROW;
void ZTREVC_( const char* side, const char* howmny, const MKL_INT* select,
              const MKL_INT* n, MKL_Complex16* t, const MKL_INT* ldt,
              MKL_Complex16* vl, const MKL_INT* ldvl, MKL_Complex16* vr,
              const MKL_INT* ldvr, const MKL_INT* mm, MKL_INT* m,
              MKL_Complex16* work, double* rwork, MKL_INT* info ) NOTHROW;
void ztrevc( const char* side, const char* howmny, const MKL_INT* select,
             const MKL_INT* n, MKL_Complex16* t, const MKL_INT* ldt,
             MKL_Complex16* vl, const MKL_INT* ldvl, MKL_Complex16* vr,
             const MKL_INT* ldvr, const MKL_INT* mm, MKL_INT* m,
             MKL_Complex16* work, double* rwork, MKL_INT* info ) NOTHROW;
void ztrevc_( const char* side, const char* howmny, const MKL_INT* select,
              const MKL_INT* n, MKL_Complex16* t, const MKL_INT* ldt,
              MKL_Complex16* vl, const MKL_INT* ldvl, MKL_Complex16* vr,
              const MKL_INT* ldvr, const MKL_INT* mm, MKL_INT* m,
              MKL_Complex16* work, double* rwork, MKL_INT* info ) NOTHROW;

void ZTREXC( const char* compq, const MKL_INT* n, MKL_Complex16* t,
             const MKL_INT* ldt, MKL_Complex16* q, const MKL_INT* ldq,
             const MKL_INT* ifst, const MKL_INT* ilst, MKL_INT* info ) NOTHROW;
void ZTREXC_( const char* compq, const MKL_INT* n, MKL_Complex16* t,
              const MKL_INT* ldt, MKL_Complex16* q, const MKL_INT* ldq,
              const MKL_INT* ifst, const MKL_INT* ilst, MKL_INT* info ) NOTHROW;
void ztrexc( const char* compq, const MKL_INT* n, MKL_Complex16* t,
             const MKL_INT* ldt, MKL_Complex16* q, const MKL_INT* ldq,
             const MKL_INT* ifst, const MKL_INT* ilst, MKL_INT* info ) NOTHROW;
void ztrexc_( const char* compq, const MKL_INT* n, MKL_Complex16* t,
              const MKL_INT* ldt, MKL_Complex16* q, const MKL_INT* ldq,
              const MKL_INT* ifst, const MKL_INT* ilst, MKL_INT* info ) NOTHROW;

void ZTRRFS( const char* uplo, const char* trans, const char* diag,
             const MKL_INT* n, const MKL_INT* nrhs, const MKL_Complex16* a,
             const MKL_INT* lda, const MKL_Complex16* b, const MKL_INT* ldb,
             const MKL_Complex16* x, const MKL_INT* ldx, double* ferr,
             double* berr, MKL_Complex16* work, double* rwork, MKL_INT* info ) NOTHROW;
void ZTRRFS_( const char* uplo, const char* trans, const char* diag,
              const MKL_INT* n, const MKL_INT* nrhs, const MKL_Complex16* a,
              const MKL_INT* lda, const MKL_Complex16* b, const MKL_INT* ldb,
              const MKL_Complex16* x, const MKL_INT* ldx, double* ferr,
              double* berr, MKL_Complex16* work, double* rwork,
              MKL_INT* info ) NOTHROW;
void ztrrfs( const char* uplo, const char* trans, const char* diag,
             const MKL_INT* n, const MKL_INT* nrhs, const MKL_Complex16* a,
             const MKL_INT* lda, const MKL_Complex16* b, const MKL_INT* ldb,
             const MKL_Complex16* x, const MKL_INT* ldx, double* ferr,
             double* berr, MKL_Complex16* work, double* rwork, MKL_INT* info ) NOTHROW;
void ztrrfs_( const char* uplo, const char* trans, const char* diag,
              const MKL_INT* n, const MKL_INT* nrhs, const MKL_Complex16* a,
              const MKL_INT* lda, const MKL_Complex16* b, const MKL_INT* ldb,
              const MKL_Complex16* x, const MKL_INT* ldx, double* ferr,
              double* berr, MKL_Complex16* work, double* rwork,
              MKL_INT* info ) NOTHROW;

void ZTRSEN( const char* job, const char* compq, const MKL_INT* select,
             const MKL_INT* n, MKL_Complex16* t, const MKL_INT* ldt,
             MKL_Complex16* q, const MKL_INT* ldq, MKL_Complex16* w,
             MKL_INT* m, double* s, double* sep, MKL_Complex16* work,
             const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void ZTRSEN_( const char* job, const char* compq, const MKL_INT* select,
              const MKL_INT* n, MKL_Complex16* t, const MKL_INT* ldt,
              MKL_Complex16* q, const MKL_INT* ldq, MKL_Complex16* w,
              MKL_INT* m, double* s, double* sep, MKL_Complex16* work,
              const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void ztrsen( const char* job, const char* compq, const MKL_INT* select,
             const MKL_INT* n, MKL_Complex16* t, const MKL_INT* ldt,
             MKL_Complex16* q, const MKL_INT* ldq, MKL_Complex16* w,
             MKL_INT* m, double* s, double* sep, MKL_Complex16* work,
             const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void ztrsen_( const char* job, const char* compq, const MKL_INT* select,
              const MKL_INT* n, MKL_Complex16* t, const MKL_INT* ldt,
              MKL_Complex16* q, const MKL_INT* ldq, MKL_Complex16* w,
              MKL_INT* m, double* s, double* sep, MKL_Complex16* work,
              const MKL_INT* lwork, MKL_INT* info ) NOTHROW;

void ZTRSNA( const char* job, const char* howmny, const MKL_INT* select,
             const MKL_INT* n, const MKL_Complex16* t, const MKL_INT* ldt,
             const MKL_Complex16* vl, const MKL_INT* ldvl,
             const MKL_Complex16* vr, const MKL_INT* ldvr, double* s,
             double* sep, const MKL_INT* mm, MKL_INT* m, MKL_Complex16* work,
             const MKL_INT* ldwork, double* rwork, MKL_INT* info ) NOTHROW;
void ZTRSNA_( const char* job, const char* howmny, const MKL_INT* select,
              const MKL_INT* n, const MKL_Complex16* t, const MKL_INT* ldt,
              const MKL_Complex16* vl, const MKL_INT* ldvl,
              const MKL_Complex16* vr, const MKL_INT* ldvr, double* s,
              double* sep, const MKL_INT* mm, MKL_INT* m, MKL_Complex16* work,
              const MKL_INT* ldwork, double* rwork, MKL_INT* info ) NOTHROW;
void ztrsna( const char* job, const char* howmny, const MKL_INT* select,
             const MKL_INT* n, const MKL_Complex16* t, const MKL_INT* ldt,
             const MKL_Complex16* vl, const MKL_INT* ldvl,
             const MKL_Complex16* vr, const MKL_INT* ldvr, double* s,
             double* sep, const MKL_INT* mm, MKL_INT* m, MKL_Complex16* work,
             const MKL_INT* ldwork, double* rwork, MKL_INT* info ) NOTHROW;
void ztrsna_( const char* job, const char* howmny, const MKL_INT* select,
              const MKL_INT* n, const MKL_Complex16* t, const MKL_INT* ldt,
              const MKL_Complex16* vl, const MKL_INT* ldvl,
              const MKL_Complex16* vr, const MKL_INT* ldvr, double* s,
              double* sep, const MKL_INT* mm, MKL_INT* m, MKL_Complex16* work,
              const MKL_INT* ldwork, double* rwork, MKL_INT* info ) NOTHROW;

void ZTRSYL( const char* trana, const char* tranb, const MKL_INT* isgn,
             const MKL_INT* m, const MKL_INT* n, const MKL_Complex16* a,
             const MKL_INT* lda, const MKL_Complex16* b, const MKL_INT* ldb,
             MKL_Complex16* c, const MKL_INT* ldc, double* scale,
             MKL_INT* info ) NOTHROW;
void ZTRSYL_( const char* trana, const char* tranb, const MKL_INT* isgn,
              const MKL_INT* m, const MKL_INT* n, const MKL_Complex16* a,
              const MKL_INT* lda, const MKL_Complex16* b, const MKL_INT* ldb,
              MKL_Complex16* c, const MKL_INT* ldc, double* scale,
              MKL_INT* info ) NOTHROW;
void ztrsyl( const char* trana, const char* tranb, const MKL_INT* isgn,
             const MKL_INT* m, const MKL_INT* n, const MKL_Complex16* a,
             const MKL_INT* lda, const MKL_Complex16* b, const MKL_INT* ldb,
             MKL_Complex16* c, const MKL_INT* ldc, double* scale,
             MKL_INT* info ) NOTHROW;
void ztrsyl_( const char* trana, const char* tranb, const MKL_INT* isgn,
              const MKL_INT* m, const MKL_INT* n, const MKL_Complex16* a,
              const MKL_INT* lda, const MKL_Complex16* b, const MKL_INT* ldb,
              MKL_Complex16* c, const MKL_INT* ldc, double* scale,
              MKL_INT* info ) NOTHROW;

void ZTRTI2( const char* uplo, const char* diag, const MKL_INT* n,
             MKL_Complex16* a, const MKL_INT* lda, MKL_INT* info ) NOTHROW;
void ZTRTI2_( const char* uplo, const char* diag, const MKL_INT* n,
              MKL_Complex16* a, const MKL_INT* lda, MKL_INT* info ) NOTHROW;
void ztrti2( const char* uplo, const char* diag, const MKL_INT* n,
             MKL_Complex16* a, const MKL_INT* lda, MKL_INT* info ) NOTHROW;
void ztrti2_( const char* uplo, const char* diag, const MKL_INT* n,
              MKL_Complex16* a, const MKL_INT* lda, MKL_INT* info ) NOTHROW;

void ZTRTRI( const char* uplo, const char* diag, const MKL_INT* n,
             MKL_Complex16* a, const MKL_INT* lda, MKL_INT* info ) NOTHROW;
void ZTRTRI_( const char* uplo, const char* diag, const MKL_INT* n,
              MKL_Complex16* a, const MKL_INT* lda, MKL_INT* info ) NOTHROW;
void ztrtri( const char* uplo, const char* diag, const MKL_INT* n,
             MKL_Complex16* a, const MKL_INT* lda, MKL_INT* info ) NOTHROW;
void ztrtri_( const char* uplo, const char* diag, const MKL_INT* n,
              MKL_Complex16* a, const MKL_INT* lda, MKL_INT* info ) NOTHROW;

void ZTRTRS( const char* uplo, const char* trans, const char* diag,
             const MKL_INT* n, const MKL_INT* nrhs, const MKL_Complex16* a,
             const MKL_INT* lda, MKL_Complex16* b, const MKL_INT* ldb,
             MKL_INT* info ) NOTHROW;
void ZTRTRS_( const char* uplo, const char* trans, const char* diag,
              const MKL_INT* n, const MKL_INT* nrhs, const MKL_Complex16* a,
              const MKL_INT* lda, MKL_Complex16* b, const MKL_INT* ldb,
              MKL_INT* info ) NOTHROW;
void ztrtrs( const char* uplo, const char* trans, const char* diag,
             const MKL_INT* n, const MKL_INT* nrhs, const MKL_Complex16* a,
             const MKL_INT* lda, MKL_Complex16* b, const MKL_INT* ldb,
             MKL_INT* info ) NOTHROW;
void ztrtrs_( const char* uplo, const char* trans, const char* diag,
              const MKL_INT* n, const MKL_INT* nrhs, const MKL_Complex16* a,
              const MKL_INT* lda, MKL_Complex16* b, const MKL_INT* ldb,
              MKL_INT* info ) NOTHROW;

void ZTRTTF( const char* transr, const char* uplo, const MKL_INT* n,
             const MKL_Complex16* a, const MKL_INT* lda, MKL_Complex16* arf,
             MKL_INT* info ) NOTHROW;
void ZTRTTF_( const char* transr, const char* uplo, const MKL_INT* n,
              const MKL_Complex16* a, const MKL_INT* lda, MKL_Complex16* arf,
              MKL_INT* info ) NOTHROW;
void ztrttf( const char* transr, const char* uplo, const MKL_INT* n,
             const MKL_Complex16* a, const MKL_INT* lda, MKL_Complex16* arf,
             MKL_INT* info ) NOTHROW;
void ztrttf_( const char* transr, const char* uplo, const MKL_INT* n,
              const MKL_Complex16* a, const MKL_INT* lda, MKL_Complex16* arf,
              MKL_INT* info ) NOTHROW;

void ZTRTTP( const char* uplo, const MKL_INT* n, const MKL_Complex16* a,
             const MKL_INT* lda, MKL_Complex16* ap, MKL_INT* info ) NOTHROW;
void ZTRTTP_( const char* uplo, const MKL_INT* n, const MKL_Complex16* a,
              const MKL_INT* lda, MKL_Complex16* ap, MKL_INT* info ) NOTHROW;
void ztrttp( const char* uplo, const MKL_INT* n, const MKL_Complex16* a,
             const MKL_INT* lda, MKL_Complex16* ap, MKL_INT* info ) NOTHROW;
void ztrttp_( const char* uplo, const MKL_INT* n, const MKL_Complex16* a,
              const MKL_INT* lda, MKL_Complex16* ap, MKL_INT* info ) NOTHROW;

void ZTZRQF( const MKL_INT* m, const MKL_INT* n, MKL_Complex16* a,
             const MKL_INT* lda, MKL_Complex16* tau, MKL_INT* info ) NOTHROW;
void ZTZRQF_( const MKL_INT* m, const MKL_INT* n, MKL_Complex16* a,
              const MKL_INT* lda, MKL_Complex16* tau, MKL_INT* info ) NOTHROW;
void ztzrqf( const MKL_INT* m, const MKL_INT* n, MKL_Complex16* a,
             const MKL_INT* lda, MKL_Complex16* tau, MKL_INT* info ) NOTHROW;
void ztzrqf_( const MKL_INT* m, const MKL_INT* n, MKL_Complex16* a,
              const MKL_INT* lda, MKL_Complex16* tau, MKL_INT* info ) NOTHROW;

void ZTZRZF( const MKL_INT* m, const MKL_INT* n, MKL_Complex16* a,
             const MKL_INT* lda, MKL_Complex16* tau, MKL_Complex16* work,
             const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void ZTZRZF_( const MKL_INT* m, const MKL_INT* n, MKL_Complex16* a,
              const MKL_INT* lda, MKL_Complex16* tau, MKL_Complex16* work,
              const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void ztzrzf( const MKL_INT* m, const MKL_INT* n, MKL_Complex16* a,
             const MKL_INT* lda, MKL_Complex16* tau, MKL_Complex16* work,
             const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void ztzrzf_( const MKL_INT* m, const MKL_INT* n, MKL_Complex16* a,
              const MKL_INT* lda, MKL_Complex16* tau, MKL_Complex16* work,
              const MKL_INT* lwork, MKL_INT* info ) NOTHROW;

void ZUNG2L( const MKL_INT* m, const MKL_INT* n, const MKL_INT* k,
             MKL_Complex16* a, const MKL_INT* lda, const MKL_Complex16* tau,
             MKL_Complex16* work, MKL_INT* info ) NOTHROW;
void ZUNG2L_( const MKL_INT* m, const MKL_INT* n, const MKL_INT* k,
              MKL_Complex16* a, const MKL_INT* lda, const MKL_Complex16* tau,
              MKL_Complex16* work, MKL_INT* info ) NOTHROW;
void zung2l( const MKL_INT* m, const MKL_INT* n, const MKL_INT* k,
             MKL_Complex16* a, const MKL_INT* lda, const MKL_Complex16* tau,
             MKL_Complex16* work, MKL_INT* info ) NOTHROW;
void zung2l_( const MKL_INT* m, const MKL_INT* n, const MKL_INT* k,
              MKL_Complex16* a, const MKL_INT* lda, const MKL_Complex16* tau,
              MKL_Complex16* work, MKL_INT* info ) NOTHROW;

void ZUNG2R( const MKL_INT* m, const MKL_INT* n, const MKL_INT* k,
             MKL_Complex16* a, const MKL_INT* lda, const MKL_Complex16* tau,
             MKL_Complex16* work, MKL_INT* info ) NOTHROW;
void ZUNG2R_( const MKL_INT* m, const MKL_INT* n, const MKL_INT* k,
              MKL_Complex16* a, const MKL_INT* lda, const MKL_Complex16* tau,
              MKL_Complex16* work, MKL_INT* info ) NOTHROW;
void zung2r( const MKL_INT* m, const MKL_INT* n, const MKL_INT* k,
             MKL_Complex16* a, const MKL_INT* lda, const MKL_Complex16* tau,
             MKL_Complex16* work, MKL_INT* info ) NOTHROW;
void zung2r_( const MKL_INT* m, const MKL_INT* n, const MKL_INT* k,
              MKL_Complex16* a, const MKL_INT* lda, const MKL_Complex16* tau,
              MKL_Complex16* work, MKL_INT* info ) NOTHROW;

void ZUNGBR( const char* vect, const MKL_INT* m, const MKL_INT* n,
             const MKL_INT* k, MKL_Complex16* a, const MKL_INT* lda,
             const MKL_Complex16* tau, MKL_Complex16* work,
             const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void ZUNGBR_( const char* vect, const MKL_INT* m, const MKL_INT* n,
              const MKL_INT* k, MKL_Complex16* a, const MKL_INT* lda,
              const MKL_Complex16* tau, MKL_Complex16* work,
              const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void zungbr( const char* vect, const MKL_INT* m, const MKL_INT* n,
             const MKL_INT* k, MKL_Complex16* a, const MKL_INT* lda,
             const MKL_Complex16* tau, MKL_Complex16* work,
             const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void zungbr_( const char* vect, const MKL_INT* m, const MKL_INT* n,
              const MKL_INT* k, MKL_Complex16* a, const MKL_INT* lda,
              const MKL_Complex16* tau, MKL_Complex16* work,
              const MKL_INT* lwork, MKL_INT* info ) NOTHROW;

void ZUNGHR( const MKL_INT* n, const MKL_INT* ilo, const MKL_INT* ihi,
             MKL_Complex16* a, const MKL_INT* lda, const MKL_Complex16* tau,
             MKL_Complex16* work, const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void ZUNGHR_( const MKL_INT* n, const MKL_INT* ilo, const MKL_INT* ihi,
              MKL_Complex16* a, const MKL_INT* lda, const MKL_Complex16* tau,
              MKL_Complex16* work, const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void zunghr( const MKL_INT* n, const MKL_INT* ilo, const MKL_INT* ihi,
             MKL_Complex16* a, const MKL_INT* lda, const MKL_Complex16* tau,
             MKL_Complex16* work, const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void zunghr_( const MKL_INT* n, const MKL_INT* ilo, const MKL_INT* ihi,
              MKL_Complex16* a, const MKL_INT* lda, const MKL_Complex16* tau,
              MKL_Complex16* work, const MKL_INT* lwork, MKL_INT* info ) NOTHROW;

void ZUNGL2( const MKL_INT* m, const MKL_INT* n, const MKL_INT* k,
             MKL_Complex16* a, const MKL_INT* lda, const MKL_Complex16* tau,
             MKL_Complex16* work, MKL_INT* info ) NOTHROW;
void ZUNGL2_( const MKL_INT* m, const MKL_INT* n, const MKL_INT* k,
              MKL_Complex16* a, const MKL_INT* lda, const MKL_Complex16* tau,
              MKL_Complex16* work, MKL_INT* info ) NOTHROW;
void zungl2( const MKL_INT* m, const MKL_INT* n, const MKL_INT* k,
             MKL_Complex16* a, const MKL_INT* lda, const MKL_Complex16* tau,
             MKL_Complex16* work, MKL_INT* info ) NOTHROW;
void zungl2_( const MKL_INT* m, const MKL_INT* n, const MKL_INT* k,
              MKL_Complex16* a, const MKL_INT* lda, const MKL_Complex16* tau,
              MKL_Complex16* work, MKL_INT* info ) NOTHROW;

void ZUNGLQ( const MKL_INT* m, const MKL_INT* n, const MKL_INT* k,
             MKL_Complex16* a, const MKL_INT* lda, const MKL_Complex16* tau,
             MKL_Complex16* work, const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void ZUNGLQ_( const MKL_INT* m, const MKL_INT* n, const MKL_INT* k,
              MKL_Complex16* a, const MKL_INT* lda, const MKL_Complex16* tau,
              MKL_Complex16* work, const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void zunglq( const MKL_INT* m, const MKL_INT* n, const MKL_INT* k,
             MKL_Complex16* a, const MKL_INT* lda, const MKL_Complex16* tau,
             MKL_Complex16* work, const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void zunglq_( const MKL_INT* m, const MKL_INT* n, const MKL_INT* k,
              MKL_Complex16* a, const MKL_INT* lda, const MKL_Complex16* tau,
              MKL_Complex16* work, const MKL_INT* lwork, MKL_INT* info ) NOTHROW;

void ZUNGQL( const MKL_INT* m, const MKL_INT* n, const MKL_INT* k,
             MKL_Complex16* a, const MKL_INT* lda, const MKL_Complex16* tau,
             MKL_Complex16* work, const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void ZUNGQL_( const MKL_INT* m, const MKL_INT* n, const MKL_INT* k,
              MKL_Complex16* a, const MKL_INT* lda, const MKL_Complex16* tau,
              MKL_Complex16* work, const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void zungql( const MKL_INT* m, const MKL_INT* n, const MKL_INT* k,
             MKL_Complex16* a, const MKL_INT* lda, const MKL_Complex16* tau,
             MKL_Complex16* work, const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void zungql_( const MKL_INT* m, const MKL_INT* n, const MKL_INT* k,
              MKL_Complex16* a, const MKL_INT* lda, const MKL_Complex16* tau,
              MKL_Complex16* work, const MKL_INT* lwork, MKL_INT* info ) NOTHROW;

void ZUNGQR( const MKL_INT* m, const MKL_INT* n, const MKL_INT* k,
             MKL_Complex16* a, const MKL_INT* lda, const MKL_Complex16* tau,
             MKL_Complex16* work, const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void ZUNGQR_( const MKL_INT* m, const MKL_INT* n, const MKL_INT* k,
              MKL_Complex16* a, const MKL_INT* lda, const MKL_Complex16* tau,
              MKL_Complex16* work, const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void zungqr( const MKL_INT* m, const MKL_INT* n, const MKL_INT* k,
             MKL_Complex16* a, const MKL_INT* lda, const MKL_Complex16* tau,
             MKL_Complex16* work, const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void zungqr_( const MKL_INT* m, const MKL_INT* n, const MKL_INT* k,
              MKL_Complex16* a, const MKL_INT* lda, const MKL_Complex16* tau,
              MKL_Complex16* work, const MKL_INT* lwork, MKL_INT* info ) NOTHROW;

void ZUNGR2( const MKL_INT* m, const MKL_INT* n, const MKL_INT* k,
             MKL_Complex16* a, const MKL_INT* lda, const MKL_Complex16* tau,
             MKL_Complex16* work, MKL_INT* info ) NOTHROW;
void ZUNGR2_( const MKL_INT* m, const MKL_INT* n, const MKL_INT* k,
              MKL_Complex16* a, const MKL_INT* lda, const MKL_Complex16* tau,
              MKL_Complex16* work, MKL_INT* info ) NOTHROW;
void zungr2( const MKL_INT* m, const MKL_INT* n, const MKL_INT* k,
             MKL_Complex16* a, const MKL_INT* lda, const MKL_Complex16* tau,
             MKL_Complex16* work, MKL_INT* info ) NOTHROW;
void zungr2_( const MKL_INT* m, const MKL_INT* n, const MKL_INT* k,
              MKL_Complex16* a, const MKL_INT* lda, const MKL_Complex16* tau,
              MKL_Complex16* work, MKL_INT* info ) NOTHROW;

void ZUNGRQ( const MKL_INT* m, const MKL_INT* n, const MKL_INT* k,
             MKL_Complex16* a, const MKL_INT* lda, const MKL_Complex16* tau,
             MKL_Complex16* work, const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void ZUNGRQ_( const MKL_INT* m, const MKL_INT* n, const MKL_INT* k,
              MKL_Complex16* a, const MKL_INT* lda, const MKL_Complex16* tau,
              MKL_Complex16* work, const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void zungrq( const MKL_INT* m, const MKL_INT* n, const MKL_INT* k,
             MKL_Complex16* a, const MKL_INT* lda, const MKL_Complex16* tau,
             MKL_Complex16* work, const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void zungrq_( const MKL_INT* m, const MKL_INT* n, const MKL_INT* k,
              MKL_Complex16* a, const MKL_INT* lda, const MKL_Complex16* tau,
              MKL_Complex16* work, const MKL_INT* lwork, MKL_INT* info ) NOTHROW;

void ZUNGTR( const char* uplo, const MKL_INT* n, MKL_Complex16* a,
             const MKL_INT* lda, const MKL_Complex16* tau, MKL_Complex16* work,
             const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void ZUNGTR_( const char* uplo, const MKL_INT* n, MKL_Complex16* a,
              const MKL_INT* lda, const MKL_Complex16* tau,
              MKL_Complex16* work, const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void zungtr( const char* uplo, const MKL_INT* n, MKL_Complex16* a,
             const MKL_INT* lda, const MKL_Complex16* tau, MKL_Complex16* work,
             const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void zungtr_( const char* uplo, const MKL_INT* n, MKL_Complex16* a,
              const MKL_INT* lda, const MKL_Complex16* tau,
              MKL_Complex16* work, const MKL_INT* lwork, MKL_INT* info ) NOTHROW;

void ZUNM2L( const char* side, const char* trans, const MKL_INT* m,
             const MKL_INT* n, const MKL_INT* k, const MKL_Complex16* a,
             const MKL_INT* lda, const MKL_Complex16* tau, MKL_Complex16* c,
             const MKL_INT* ldc, MKL_Complex16* work, MKL_INT* info ) NOTHROW;
void ZUNM2L_( const char* side, const char* trans, const MKL_INT* m,
              const MKL_INT* n, const MKL_INT* k, const MKL_Complex16* a,
              const MKL_INT* lda, const MKL_Complex16* tau, MKL_Complex16* c,
              const MKL_INT* ldc, MKL_Complex16* work, MKL_INT* info ) NOTHROW;
void zunm2l( const char* side, const char* trans, const MKL_INT* m,
             const MKL_INT* n, const MKL_INT* k, const MKL_Complex16* a,
             const MKL_INT* lda, const MKL_Complex16* tau, MKL_Complex16* c,
             const MKL_INT* ldc, MKL_Complex16* work, MKL_INT* info ) NOTHROW;
void zunm2l_( const char* side, const char* trans, const MKL_INT* m,
              const MKL_INT* n, const MKL_INT* k, const MKL_Complex16* a,
              const MKL_INT* lda, const MKL_Complex16* tau, MKL_Complex16* c,
              const MKL_INT* ldc, MKL_Complex16* work, MKL_INT* info ) NOTHROW;

void ZUNM2R( const char* side, const char* trans, const MKL_INT* m,
             const MKL_INT* n, const MKL_INT* k, const MKL_Complex16* a,
             const MKL_INT* lda, const MKL_Complex16* tau, MKL_Complex16* c,
             const MKL_INT* ldc, MKL_Complex16* work, MKL_INT* info ) NOTHROW;
void ZUNM2R_( const char* side, const char* trans, const MKL_INT* m,
              const MKL_INT* n, const MKL_INT* k, const MKL_Complex16* a,
              const MKL_INT* lda, const MKL_Complex16* tau, MKL_Complex16* c,
              const MKL_INT* ldc, MKL_Complex16* work, MKL_INT* info ) NOTHROW;
void zunm2r( const char* side, const char* trans, const MKL_INT* m,
             const MKL_INT* n, const MKL_INT* k, const MKL_Complex16* a,
             const MKL_INT* lda, const MKL_Complex16* tau, MKL_Complex16* c,
             const MKL_INT* ldc, MKL_Complex16* work, MKL_INT* info ) NOTHROW;
void zunm2r_( const char* side, const char* trans, const MKL_INT* m,
              const MKL_INT* n, const MKL_INT* k, const MKL_Complex16* a,
              const MKL_INT* lda, const MKL_Complex16* tau, MKL_Complex16* c,
              const MKL_INT* ldc, MKL_Complex16* work, MKL_INT* info ) NOTHROW;

void ZUNMBR( const char* vect, const char* side, const char* trans,
             const MKL_INT* m, const MKL_INT* n, const MKL_INT* k,
             const MKL_Complex16* a, const MKL_INT* lda,
             const MKL_Complex16* tau, MKL_Complex16* c, const MKL_INT* ldc,
             MKL_Complex16* work, const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void ZUNMBR_( const char* vect, const char* side, const char* trans,
              const MKL_INT* m, const MKL_INT* n, const MKL_INT* k,
              const MKL_Complex16* a, const MKL_INT* lda,
              const MKL_Complex16* tau, MKL_Complex16* c, const MKL_INT* ldc,
              MKL_Complex16* work, const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void zunmbr( const char* vect, const char* side, const char* trans,
             const MKL_INT* m, const MKL_INT* n, const MKL_INT* k,
             const MKL_Complex16* a, const MKL_INT* lda,
             const MKL_Complex16* tau, MKL_Complex16* c, const MKL_INT* ldc,
             MKL_Complex16* work, const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void zunmbr_( const char* vect, const char* side, const char* trans,
              const MKL_INT* m, const MKL_INT* n, const MKL_INT* k,
              const MKL_Complex16* a, const MKL_INT* lda,
              const MKL_Complex16* tau, MKL_Complex16* c, const MKL_INT* ldc,
              MKL_Complex16* work, const MKL_INT* lwork, MKL_INT* info ) NOTHROW;

void ZUNMHR( const char* side, const char* trans, const MKL_INT* m,
             const MKL_INT* n, const MKL_INT* ilo, const MKL_INT* ihi,
             const MKL_Complex16* a, const MKL_INT* lda,
             const MKL_Complex16* tau, MKL_Complex16* c, const MKL_INT* ldc,
             MKL_Complex16* work, const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void ZUNMHR_( const char* side, const char* trans, const MKL_INT* m,
              const MKL_INT* n, const MKL_INT* ilo, const MKL_INT* ihi,
              const MKL_Complex16* a, const MKL_INT* lda,
              const MKL_Complex16* tau, MKL_Complex16* c, const MKL_INT* ldc,
              MKL_Complex16* work, const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void zunmhr( const char* side, const char* trans, const MKL_INT* m,
             const MKL_INT* n, const MKL_INT* ilo, const MKL_INT* ihi,
             const MKL_Complex16* a, const MKL_INT* lda,
             const MKL_Complex16* tau, MKL_Complex16* c, const MKL_INT* ldc,
             MKL_Complex16* work, const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void zunmhr_( const char* side, const char* trans, const MKL_INT* m,
              const MKL_INT* n, const MKL_INT* ilo, const MKL_INT* ihi,
              const MKL_Complex16* a, const MKL_INT* lda,
              const MKL_Complex16* tau, MKL_Complex16* c, const MKL_INT* ldc,
              MKL_Complex16* work, const MKL_INT* lwork, MKL_INT* info ) NOTHROW;

void ZUNML2( const char* side, const char* trans, const MKL_INT* m,
             const MKL_INT* n, const MKL_INT* k, const MKL_Complex16* a,
             const MKL_INT* lda, const MKL_Complex16* tau, MKL_Complex16* c,
             const MKL_INT* ldc, MKL_Complex16* work, MKL_INT* info ) NOTHROW;
void ZUNML2_( const char* side, const char* trans, const MKL_INT* m,
              const MKL_INT* n, const MKL_INT* k, const MKL_Complex16* a,
              const MKL_INT* lda, const MKL_Complex16* tau, MKL_Complex16* c,
              const MKL_INT* ldc, MKL_Complex16* work, MKL_INT* info ) NOTHROW;
void zunml2( const char* side, const char* trans, const MKL_INT* m,
             const MKL_INT* n, const MKL_INT* k, const MKL_Complex16* a,
             const MKL_INT* lda, const MKL_Complex16* tau, MKL_Complex16* c,
             const MKL_INT* ldc, MKL_Complex16* work, MKL_INT* info ) NOTHROW;
void zunml2_( const char* side, const char* trans, const MKL_INT* m,
              const MKL_INT* n, const MKL_INT* k, const MKL_Complex16* a,
              const MKL_INT* lda, const MKL_Complex16* tau, MKL_Complex16* c,
              const MKL_INT* ldc, MKL_Complex16* work, MKL_INT* info ) NOTHROW;

void ZUNMLQ( const char* side, const char* trans, const MKL_INT* m,
             const MKL_INT* n, const MKL_INT* k, const MKL_Complex16* a,
             const MKL_INT* lda, const MKL_Complex16* tau, MKL_Complex16* c,
             const MKL_INT* ldc, MKL_Complex16* work, const MKL_INT* lwork,
             MKL_INT* info ) NOTHROW;
void ZUNMLQ_( const char* side, const char* trans, const MKL_INT* m,
              const MKL_INT* n, const MKL_INT* k, const MKL_Complex16* a,
              const MKL_INT* lda, const MKL_Complex16* tau, MKL_Complex16* c,
              const MKL_INT* ldc, MKL_Complex16* work, const MKL_INT* lwork,
              MKL_INT* info ) NOTHROW;
void zunmlq( const char* side, const char* trans, const MKL_INT* m,
             const MKL_INT* n, const MKL_INT* k, const MKL_Complex16* a,
             const MKL_INT* lda, const MKL_Complex16* tau, MKL_Complex16* c,
             const MKL_INT* ldc, MKL_Complex16* work, const MKL_INT* lwork,
             MKL_INT* info ) NOTHROW;
void zunmlq_( const char* side, const char* trans, const MKL_INT* m,
              const MKL_INT* n, const MKL_INT* k, const MKL_Complex16* a,
              const MKL_INT* lda, const MKL_Complex16* tau, MKL_Complex16* c,
              const MKL_INT* ldc, MKL_Complex16* work, const MKL_INT* lwork,
              MKL_INT* info ) NOTHROW;

void ZUNMQL( const char* side, const char* trans, const MKL_INT* m,
             const MKL_INT* n, const MKL_INT* k, const MKL_Complex16* a,
             const MKL_INT* lda, const MKL_Complex16* tau, MKL_Complex16* c,
             const MKL_INT* ldc, MKL_Complex16* work, const MKL_INT* lwork,
             MKL_INT* info ) NOTHROW;
void ZUNMQL_( const char* side, const char* trans, const MKL_INT* m,
              const MKL_INT* n, const MKL_INT* k, const MKL_Complex16* a,
              const MKL_INT* lda, const MKL_Complex16* tau, MKL_Complex16* c,
              const MKL_INT* ldc, MKL_Complex16* work, const MKL_INT* lwork,
              MKL_INT* info ) NOTHROW;
void zunmql( const char* side, const char* trans, const MKL_INT* m,
             const MKL_INT* n, const MKL_INT* k, const MKL_Complex16* a,
             const MKL_INT* lda, const MKL_Complex16* tau, MKL_Complex16* c,
             const MKL_INT* ldc, MKL_Complex16* work, const MKL_INT* lwork,
             MKL_INT* info ) NOTHROW;
void zunmql_( const char* side, const char* trans, const MKL_INT* m,
              const MKL_INT* n, const MKL_INT* k, const MKL_Complex16* a,
              const MKL_INT* lda, const MKL_Complex16* tau, MKL_Complex16* c,
              const MKL_INT* ldc, MKL_Complex16* work, const MKL_INT* lwork,
              MKL_INT* info ) NOTHROW;

void ZUNMQR( const char* side, const char* trans, const MKL_INT* m,
             const MKL_INT* n, const MKL_INT* k, const MKL_Complex16* a,
             const MKL_INT* lda, const MKL_Complex16* tau, MKL_Complex16* c,
             const MKL_INT* ldc, MKL_Complex16* work, const MKL_INT* lwork,
             MKL_INT* info ) NOTHROW;
void ZUNMQR_( const char* side, const char* trans, const MKL_INT* m,
              const MKL_INT* n, const MKL_INT* k, const MKL_Complex16* a,
              const MKL_INT* lda, const MKL_Complex16* tau, MKL_Complex16* c,
              const MKL_INT* ldc, MKL_Complex16* work, const MKL_INT* lwork,
              MKL_INT* info ) NOTHROW;
void zunmqr( const char* side, const char* trans, const MKL_INT* m,
             const MKL_INT* n, const MKL_INT* k, const MKL_Complex16* a,
             const MKL_INT* lda, const MKL_Complex16* tau, MKL_Complex16* c,
             const MKL_INT* ldc, MKL_Complex16* work, const MKL_INT* lwork,
             MKL_INT* info ) NOTHROW;
void zunmqr_( const char* side, const char* trans, const MKL_INT* m,
              const MKL_INT* n, const MKL_INT* k, const MKL_Complex16* a,
              const MKL_INT* lda, const MKL_Complex16* tau, MKL_Complex16* c,
              const MKL_INT* ldc, MKL_Complex16* work, const MKL_INT* lwork,
              MKL_INT* info ) NOTHROW;

void ZUNMR2( const char* side, const char* trans, const MKL_INT* m,
             const MKL_INT* n, const MKL_INT* k, const MKL_Complex16* a,
             const MKL_INT* lda, const MKL_Complex16* tau, MKL_Complex16* c,
             const MKL_INT* ldc, MKL_Complex16* work, MKL_INT* info ) NOTHROW;
void ZUNMR2_( const char* side, const char* trans, const MKL_INT* m,
              const MKL_INT* n, const MKL_INT* k, const MKL_Complex16* a,
              const MKL_INT* lda, const MKL_Complex16* tau, MKL_Complex16* c,
              const MKL_INT* ldc, MKL_Complex16* work, MKL_INT* info ) NOTHROW;
void zunmr2( const char* side, const char* trans, const MKL_INT* m,
             const MKL_INT* n, const MKL_INT* k, const MKL_Complex16* a,
             const MKL_INT* lda, const MKL_Complex16* tau, MKL_Complex16* c,
             const MKL_INT* ldc, MKL_Complex16* work, MKL_INT* info ) NOTHROW;
void zunmr2_( const char* side, const char* trans, const MKL_INT* m,
              const MKL_INT* n, const MKL_INT* k, const MKL_Complex16* a,
              const MKL_INT* lda, const MKL_Complex16* tau, MKL_Complex16* c,
              const MKL_INT* ldc, MKL_Complex16* work, MKL_INT* info ) NOTHROW;

void ZUNMR3( const char* side, const char* trans, const MKL_INT* m,
             const MKL_INT* n, const MKL_INT* k, const MKL_INT* l,
             const MKL_Complex16* a, const MKL_INT* lda,
             const MKL_Complex16* tau, MKL_Complex16* c, const MKL_INT* ldc,
             MKL_Complex16* work, MKL_INT* info ) NOTHROW;
void ZUNMR3_( const char* side, const char* trans, const MKL_INT* m,
              const MKL_INT* n, const MKL_INT* k, const MKL_INT* l,
              const MKL_Complex16* a, const MKL_INT* lda,
              const MKL_Complex16* tau, MKL_Complex16* c, const MKL_INT* ldc,
              MKL_Complex16* work, MKL_INT* info ) NOTHROW;
void zunmr3( const char* side, const char* trans, const MKL_INT* m,
             const MKL_INT* n, const MKL_INT* k, const MKL_INT* l,
             const MKL_Complex16* a, const MKL_INT* lda,
             const MKL_Complex16* tau, MKL_Complex16* c, const MKL_INT* ldc,
             MKL_Complex16* work, MKL_INT* info ) NOTHROW;
void zunmr3_( const char* side, const char* trans, const MKL_INT* m,
              const MKL_INT* n, const MKL_INT* k, const MKL_INT* l,
              const MKL_Complex16* a, const MKL_INT* lda,
              const MKL_Complex16* tau, MKL_Complex16* c, const MKL_INT* ldc,
              MKL_Complex16* work, MKL_INT* info ) NOTHROW;

void ZUNMRQ( const char* side, const char* trans, const MKL_INT* m,
             const MKL_INT* n, const MKL_INT* k, const MKL_Complex16* a,
             const MKL_INT* lda, const MKL_Complex16* tau, MKL_Complex16* c,
             const MKL_INT* ldc, MKL_Complex16* work, const MKL_INT* lwork,
             MKL_INT* info ) NOTHROW;
void ZUNMRQ_( const char* side, const char* trans, const MKL_INT* m,
              const MKL_INT* n, const MKL_INT* k, const MKL_Complex16* a,
              const MKL_INT* lda, const MKL_Complex16* tau, MKL_Complex16* c,
              const MKL_INT* ldc, MKL_Complex16* work, const MKL_INT* lwork,
              MKL_INT* info ) NOTHROW;
void zunmrq( const char* side, const char* trans, const MKL_INT* m,
             const MKL_INT* n, const MKL_INT* k, const MKL_Complex16* a,
             const MKL_INT* lda, const MKL_Complex16* tau, MKL_Complex16* c,
             const MKL_INT* ldc, MKL_Complex16* work, const MKL_INT* lwork,
             MKL_INT* info ) NOTHROW;
void zunmrq_( const char* side, const char* trans, const MKL_INT* m,
              const MKL_INT* n, const MKL_INT* k, const MKL_Complex16* a,
              const MKL_INT* lda, const MKL_Complex16* tau, MKL_Complex16* c,
              const MKL_INT* ldc, MKL_Complex16* work, const MKL_INT* lwork,
              MKL_INT* info ) NOTHROW;

void ZUNMRZ( const char* side, const char* trans, const MKL_INT* m,
             const MKL_INT* n, const MKL_INT* k, const MKL_INT* l,
             const MKL_Complex16* a, const MKL_INT* lda,
             const MKL_Complex16* tau, MKL_Complex16* c, const MKL_INT* ldc,
             MKL_Complex16* work, const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void ZUNMRZ_( const char* side, const char* trans, const MKL_INT* m,
              const MKL_INT* n, const MKL_INT* k, const MKL_INT* l,
              const MKL_Complex16* a, const MKL_INT* lda,
              const MKL_Complex16* tau, MKL_Complex16* c, const MKL_INT* ldc,
              MKL_Complex16* work, const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void zunmrz( const char* side, const char* trans, const MKL_INT* m,
             const MKL_INT* n, const MKL_INT* k, const MKL_INT* l,
             const MKL_Complex16* a, const MKL_INT* lda,
             const MKL_Complex16* tau, MKL_Complex16* c, const MKL_INT* ldc,
             MKL_Complex16* work, const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void zunmrz_( const char* side, const char* trans, const MKL_INT* m,
              const MKL_INT* n, const MKL_INT* k, const MKL_INT* l,
              const MKL_Complex16* a, const MKL_INT* lda,
              const MKL_Complex16* tau, MKL_Complex16* c, const MKL_INT* ldc,
              MKL_Complex16* work, const MKL_INT* lwork, MKL_INT* info ) NOTHROW;

void ZUNMTR( const char* side, const char* uplo, const char* trans,
             const MKL_INT* m, const MKL_INT* n, const MKL_Complex16* a,
             const MKL_INT* lda, const MKL_Complex16* tau, MKL_Complex16* c,
             const MKL_INT* ldc, MKL_Complex16* work, const MKL_INT* lwork,
             MKL_INT* info ) NOTHROW;
void ZUNMTR_( const char* side, const char* uplo, const char* trans,
              const MKL_INT* m, const MKL_INT* n, const MKL_Complex16* a,
              const MKL_INT* lda, const MKL_Complex16* tau, MKL_Complex16* c,
              const MKL_INT* ldc, MKL_Complex16* work, const MKL_INT* lwork,
              MKL_INT* info ) NOTHROW;
void zunmtr( const char* side, const char* uplo, const char* trans,
             const MKL_INT* m, const MKL_INT* n, const MKL_Complex16* a,
             const MKL_INT* lda, const MKL_Complex16* tau, MKL_Complex16* c,
             const MKL_INT* ldc, MKL_Complex16* work, const MKL_INT* lwork,
             MKL_INT* info ) NOTHROW;
void zunmtr_( const char* side, const char* uplo, const char* trans,
              const MKL_INT* m, const MKL_INT* n, const MKL_Complex16* a,
              const MKL_INT* lda, const MKL_Complex16* tau, MKL_Complex16* c,
              const MKL_INT* ldc, MKL_Complex16* work, const MKL_INT* lwork,
              MKL_INT* info ) NOTHROW;

void ZUPGTR( const char* uplo, const MKL_INT* n, const MKL_Complex16* ap,
             const MKL_Complex16* tau, MKL_Complex16* q, const MKL_INT* ldq,
             MKL_Complex16* work, MKL_INT* info ) NOTHROW;
void ZUPGTR_( const char* uplo, const MKL_INT* n, const MKL_Complex16* ap,
              const MKL_Complex16* tau, MKL_Complex16* q, const MKL_INT* ldq,
              MKL_Complex16* work, MKL_INT* info ) NOTHROW;
void zupgtr( const char* uplo, const MKL_INT* n, const MKL_Complex16* ap,
             const MKL_Complex16* tau, MKL_Complex16* q, const MKL_INT* ldq,
             MKL_Complex16* work, MKL_INT* info ) NOTHROW;
void zupgtr_( const char* uplo, const MKL_INT* n, const MKL_Complex16* ap,
              const MKL_Complex16* tau, MKL_Complex16* q, const MKL_INT* ldq,
              MKL_Complex16* work, MKL_INT* info ) NOTHROW;

void ZUPMTR( const char* side, const char* uplo, const char* trans,
             const MKL_INT* m, const MKL_INT* n, const MKL_Complex16* ap,
             const MKL_Complex16* tau, MKL_Complex16* c, const MKL_INT* ldc,
             MKL_Complex16* work, MKL_INT* info ) NOTHROW;
void ZUPMTR_( const char* side, const char* uplo, const char* trans,
              const MKL_INT* m, const MKL_INT* n, const MKL_Complex16* ap,
              const MKL_Complex16* tau, MKL_Complex16* c, const MKL_INT* ldc,
              MKL_Complex16* work, MKL_INT* info ) NOTHROW;
void zupmtr( const char* side, const char* uplo, const char* trans,
             const MKL_INT* m, const MKL_INT* n, const MKL_Complex16* ap,
             const MKL_Complex16* tau, MKL_Complex16* c, const MKL_INT* ldc,
             MKL_Complex16* work, MKL_INT* info ) NOTHROW;
void zupmtr_( const char* side, const char* uplo, const char* trans,
              const MKL_INT* m, const MKL_INT* n, const MKL_Complex16* ap,
              const MKL_Complex16* tau, MKL_Complex16* c, const MKL_INT* ldc,
              MKL_Complex16* work, MKL_INT* info ) NOTHROW;


/* C-declaration of following routines is added in oneMKL 11.2 */

void CGEQRT2( const MKL_INT* m, const MKL_INT* n, MKL_Complex8* a,
              const MKL_INT* lda, MKL_Complex8* t, const MKL_INT* ldt,
              MKL_INT* info ) NOTHROW;
void CGEQRT2_( const MKL_INT* m, const MKL_INT* n, MKL_Complex8* a,
               const MKL_INT* lda, MKL_Complex8* t, const MKL_INT* ldt,
               MKL_INT* info ) NOTHROW;
void cgeqrt2( const MKL_INT* m, const MKL_INT* n, MKL_Complex8* a,
              const MKL_INT* lda, MKL_Complex8* t, const MKL_INT* ldt,
              MKL_INT* info ) NOTHROW;
void cgeqrt2_( const MKL_INT* m, const MKL_INT* n, MKL_Complex8* a,
               const MKL_INT* lda, MKL_Complex8* t, const MKL_INT* ldt,
               MKL_INT* info ) NOTHROW;

void CHESWAPR( const char* uplo, const MKL_INT* n, MKL_Complex8* a,
               const MKL_INT* lda, const MKL_INT* i1, const MKL_INT* i2 ) NOTHROW;
void CHESWAPR_( const char* uplo, const MKL_INT* n, MKL_Complex8* a,
                const MKL_INT* lda, const MKL_INT* i1, const MKL_INT* i2 ) NOTHROW;
void cheswapr( const char* uplo, const MKL_INT* n, MKL_Complex8* a,
               const MKL_INT* lda, const MKL_INT* i1, const MKL_INT* i2 ) NOTHROW;
void cheswapr_( const char* uplo, const MKL_INT* n, MKL_Complex8* a,
                const MKL_INT* lda, const MKL_INT* i1, const MKL_INT* i2 ) NOTHROW;

void CHETRI2( const char* uplo, const MKL_INT* n, MKL_Complex8* a,
              const MKL_INT* lda, const MKL_INT* ipiv, MKL_Complex8* work,
              const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void CHETRI2_( const char* uplo, const MKL_INT* n, MKL_Complex8* a,
               const MKL_INT* lda, const MKL_INT* ipiv, MKL_Complex8* work,
               const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void chetri2( const char* uplo, const MKL_INT* n, MKL_Complex8* a,
              const MKL_INT* lda, const MKL_INT* ipiv, MKL_Complex8* work,
              const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void chetri2_( const char* uplo, const MKL_INT* n, MKL_Complex8* a,
               const MKL_INT* lda, const MKL_INT* ipiv, MKL_Complex8* work,
               const MKL_INT* lwork, MKL_INT* info ) NOTHROW;

void CHETRI2X( const char* uplo, const MKL_INT* n, MKL_Complex8* a,
               const MKL_INT* lda, const MKL_INT* ipiv, MKL_Complex8* work,
               const MKL_INT* nb, MKL_INT* info ) NOTHROW;
void CHETRI2X_( const char* uplo, const MKL_INT* n, MKL_Complex8* a,
                const MKL_INT* lda, const MKL_INT* ipiv, MKL_Complex8* work,
                const MKL_INT* nb, MKL_INT* info ) NOTHROW;
void chetri2x( const char* uplo, const MKL_INT* n, MKL_Complex8* a,
               const MKL_INT* lda, const MKL_INT* ipiv, MKL_Complex8* work,
               const MKL_INT* nb, MKL_INT* info ) NOTHROW;
void chetri2x_( const char* uplo, const MKL_INT* n, MKL_Complex8* a,
                const MKL_INT* lda, const MKL_INT* ipiv, MKL_Complex8* work,
                const MKL_INT* nb, MKL_INT* info ) NOTHROW;

void CLA_GBAMV( const MKL_INT* trans, const MKL_INT* m, const MKL_INT* n,
                const MKL_INT* kl, const MKL_INT* ku, const float* alpha,
                const MKL_Complex8* ab, const MKL_INT* ldab,
                const MKL_Complex8* x, const MKL_INT* incx, const float* beta,
                float* y, const MKL_INT* incy ) NOTHROW;
void CLA_GBAMV_( const MKL_INT* trans, const MKL_INT* m, const MKL_INT* n,
                 const MKL_INT* kl, const MKL_INT* ku, const float* alpha,
                 const MKL_Complex8* ab, const MKL_INT* ldab,
                 const MKL_Complex8* x, const MKL_INT* incx,
                 const float* beta, float* y, const MKL_INT* incy ) NOTHROW;
void cla_gbamv( const MKL_INT* trans, const MKL_INT* m, const MKL_INT* n,
                const MKL_INT* kl, const MKL_INT* ku, const float* alpha,
                const MKL_Complex8* ab, const MKL_INT* ldab,
                const MKL_Complex8* x, const MKL_INT* incx, const float* beta,
                float* y, const MKL_INT* incy ) NOTHROW;
void cla_gbamv_( const MKL_INT* trans, const MKL_INT* m, const MKL_INT* n,
                 const MKL_INT* kl, const MKL_INT* ku, const float* alpha,
                 const MKL_Complex8* ab, const MKL_INT* ldab,
                 const MKL_Complex8* x, const MKL_INT* incx,
                 const float* beta, float* y, const MKL_INT* incy ) NOTHROW;

float CLA_GBRCOND_C( const char* trans, const MKL_INT* n, const MKL_INT* kl,
                     const MKL_INT* ku, const MKL_Complex8* ab,
                     const MKL_INT* ldab, const MKL_Complex8* afb,
                     const MKL_INT* ldafb, const MKL_INT* ipiv,
                     const float* c, const MKL_INT* capply, MKL_INT* info,
                     MKL_Complex8* work, float* rwork ) NOTHROW;
float CLA_GBRCOND_C_( const char* trans, const MKL_INT* n, const MKL_INT* kl,
                      const MKL_INT* ku, const MKL_Complex8* ab,
                      const MKL_INT* ldab, const MKL_Complex8* afb,
                      const MKL_INT* ldafb, const MKL_INT* ipiv,
                      const float* c, const MKL_INT* capply, MKL_INT* info,
                      MKL_Complex8* work, float* rwork ) NOTHROW;
float cla_gbrcond_c( const char* trans, const MKL_INT* n, const MKL_INT* kl,
                     const MKL_INT* ku, const MKL_Complex8* ab,
                     const MKL_INT* ldab, const MKL_Complex8* afb,
                     const MKL_INT* ldafb, const MKL_INT* ipiv,
                     const float* c, const MKL_INT* capply, MKL_INT* info,
                     MKL_Complex8* work, float* rwork ) NOTHROW;
float cla_gbrcond_c_( const char* trans, const MKL_INT* n, const MKL_INT* kl,
                      const MKL_INT* ku, const MKL_Complex8* ab,
                      const MKL_INT* ldab, const MKL_Complex8* afb,
                      const MKL_INT* ldafb, const MKL_INT* ipiv,
                      const float* c, const MKL_INT* capply, MKL_INT* info,
                      MKL_Complex8* work, float* rwork ) NOTHROW;

float CLA_GBRCOND_X( const char* trans, const MKL_INT* n, const MKL_INT* kl,
                     const MKL_INT* ku, const MKL_Complex8* ab,
                     const MKL_INT* ldab, const MKL_Complex8* afb,
                     const MKL_INT* ldafb, const MKL_INT* ipiv,
                     const MKL_Complex8* x, MKL_INT* info, MKL_Complex8* work,
                     float* rwork ) NOTHROW;
float CLA_GBRCOND_X_( const char* trans, const MKL_INT* n, const MKL_INT* kl,
                      const MKL_INT* ku, const MKL_Complex8* ab,
                      const MKL_INT* ldab, const MKL_Complex8* afb,
                      const MKL_INT* ldafb, const MKL_INT* ipiv,
                      const MKL_Complex8* x, MKL_INT* info,
                      MKL_Complex8* work, float* rwork ) NOTHROW;
float cla_gbrcond_x( const char* trans, const MKL_INT* n, const MKL_INT* kl,
                     const MKL_INT* ku, const MKL_Complex8* ab,
                     const MKL_INT* ldab, const MKL_Complex8* afb,
                     const MKL_INT* ldafb, const MKL_INT* ipiv,
                     const MKL_Complex8* x, MKL_INT* info, MKL_Complex8* work,
                     float* rwork ) NOTHROW;
float cla_gbrcond_x_( const char* trans, const MKL_INT* n, const MKL_INT* kl,
                      const MKL_INT* ku, const MKL_Complex8* ab,
                      const MKL_INT* ldab, const MKL_Complex8* afb,
                      const MKL_INT* ldafb, const MKL_INT* ipiv,
                      const MKL_Complex8* x, MKL_INT* info,
                      MKL_Complex8* work, float* rwork ) NOTHROW;

void CLA_GBRFSX_EXTENDED( const MKL_INT* prec_type,
                          const MKL_INT* trans_type, const MKL_INT* n,
                          const MKL_INT* kl, const MKL_INT* ku,
                          const MKL_INT* nrhs, const MKL_Complex8* ab,
                          const MKL_INT* ldab, const MKL_Complex8* afb,
                          const MKL_INT* ldafb, const MKL_INT* ipiv,
                          const MKL_INT* colequ, const float* c,
                          const MKL_Complex8* b, const MKL_INT* ldb,
                          MKL_Complex8* y, const MKL_INT* ldy,
                          float* berr_out, const MKL_INT* n_norms,
                          float* err_bnds_norm, float* err_bnds_comp,
                          MKL_Complex8* res, float* ayb, MKL_Complex8* dy,
                          MKL_Complex8* y_tail, const float* rcond,
                          const MKL_INT* ithresh, const float* rthresh,
                          const float* dz_ub, const MKL_INT* ignore_cwise,
                          MKL_INT* info ) NOTHROW;
void CLA_GBRFSX_EXTENDED_( const MKL_INT* prec_type,
                           const MKL_INT* trans_type, const MKL_INT* n,
                           const MKL_INT* kl, const MKL_INT* ku,
                           const MKL_INT* nrhs, const MKL_Complex8* ab,
                           const MKL_INT* ldab, const MKL_Complex8* afb,
                           const MKL_INT* ldafb, const MKL_INT* ipiv,
                           const MKL_INT* colequ, const float* c,
                           const MKL_Complex8* b, const MKL_INT* ldb,
                           MKL_Complex8* y, const MKL_INT* ldy,
                           float* berr_out, const MKL_INT* n_norms,
                           float* err_bnds_norm, float* err_bnds_comp,
                           MKL_Complex8* res, float* ayb, MKL_Complex8* dy,
                           MKL_Complex8* y_tail, const float* rcond,
                           const MKL_INT* ithresh, const float* rthresh,
                           const float* dz_ub, const MKL_INT* ignore_cwise,
                           MKL_INT* info ) NOTHROW;
void cla_gbrfsx_extended( const MKL_INT* prec_type,
                          const MKL_INT* trans_type, const MKL_INT* n,
                          const MKL_INT* kl, const MKL_INT* ku,
                          const MKL_INT* nrhs, const MKL_Complex8* ab,
                          const MKL_INT* ldab, const MKL_Complex8* afb,
                          const MKL_INT* ldafb, const MKL_INT* ipiv,
                          const MKL_INT* colequ, const float* c,
                          const MKL_Complex8* b, const MKL_INT* ldb,
                          MKL_Complex8* y, const MKL_INT* ldy,
                          float* berr_out, const MKL_INT* n_norms,
                          float* err_bnds_norm, float* err_bnds_comp,
                          MKL_Complex8* res, float* ayb, MKL_Complex8* dy,
                          MKL_Complex8* y_tail, const float* rcond,
                          const MKL_INT* ithresh, const float* rthresh,
                          const float* dz_ub, const MKL_INT* ignore_cwise,
                          MKL_INT* info ) NOTHROW;
void cla_gbrfsx_extended_( const MKL_INT* prec_type,
                           const MKL_INT* trans_type, const MKL_INT* n,
                           const MKL_INT* kl, const MKL_INT* ku,
                           const MKL_INT* nrhs, const MKL_Complex8* ab,
                           const MKL_INT* ldab, const MKL_Complex8* afb,
                           const MKL_INT* ldafb, const MKL_INT* ipiv,
                           const MKL_INT* colequ, const float* c,
                           const MKL_Complex8* b, const MKL_INT* ldb,
                           MKL_Complex8* y, const MKL_INT* ldy,
                           float* berr_out, const MKL_INT* n_norms,
                           float* err_bnds_norm, float* err_bnds_comp,
                           MKL_Complex8* res, float* ayb, MKL_Complex8* dy,
                           MKL_Complex8* y_tail, const float* rcond,
                           const MKL_INT* ithresh, const float* rthresh,
                           const float* dz_ub, const MKL_INT* ignore_cwise,
                           MKL_INT* info ) NOTHROW;

float CLA_GBRPVGRW( const MKL_INT* n, const MKL_INT* kl, const MKL_INT* ku,
                    const MKL_INT* ncols, const MKL_Complex8* ab,
                    const MKL_INT* ldab, const MKL_Complex8* afb,
                    const MKL_INT* ldafb ) NOTHROW;
float CLA_GBRPVGRW_( const MKL_INT* n, const MKL_INT* kl, const MKL_INT* ku,
                     const MKL_INT* ncols, const MKL_Complex8* ab,
                     const MKL_INT* ldab, const MKL_Complex8* afb,
                     const MKL_INT* ldafb ) NOTHROW;
float cla_gbrpvgrw( const MKL_INT* n, const MKL_INT* kl, const MKL_INT* ku,
                    const MKL_INT* ncols, const MKL_Complex8* ab,
                    const MKL_INT* ldab, const MKL_Complex8* afb,
                    const MKL_INT* ldafb ) NOTHROW;
float cla_gbrpvgrw_( const MKL_INT* n, const MKL_INT* kl, const MKL_INT* ku,
                     const MKL_INT* ncols, const MKL_Complex8* ab,
                     const MKL_INT* ldab, const MKL_Complex8* afb,
                     const MKL_INT* ldafb ) NOTHROW;

void CLA_GEAMV( const MKL_INT* trans, const MKL_INT* m, const MKL_INT* n,
                const float* alpha, const MKL_Complex8* a, const MKL_INT* lda,
                const MKL_Complex8* x, const MKL_INT* incx, const float* beta,
                float* y, const MKL_INT* incy ) NOTHROW;
void CLA_GEAMV_( const MKL_INT* trans, const MKL_INT* m, const MKL_INT* n,
                 const float* alpha, const MKL_Complex8* a,
                 const MKL_INT* lda, const MKL_Complex8* x,
                 const MKL_INT* incx, const float* beta, float* y,
                 const MKL_INT* incy ) NOTHROW;
void cla_geamv( const MKL_INT* trans, const MKL_INT* m, const MKL_INT* n,
                const float* alpha, const MKL_Complex8* a, const MKL_INT* lda,
                const MKL_Complex8* x, const MKL_INT* incx, const float* beta,
                float* y, const MKL_INT* incy ) NOTHROW;
void cla_geamv_( const MKL_INT* trans, const MKL_INT* m, const MKL_INT* n,
                 const float* alpha, const MKL_Complex8* a,
                 const MKL_INT* lda, const MKL_Complex8* x,
                 const MKL_INT* incx, const float* beta, float* y,
                 const MKL_INT* incy ) NOTHROW;

float CLA_GERCOND_C( const char* trans, const MKL_INT* n,
                     const MKL_Complex8* a, const MKL_INT* lda,
                     const MKL_Complex8* af, const MKL_INT* ldaf,
                     const MKL_INT* ipiv, const float* c,
                     const MKL_INT* capply, MKL_INT* info, MKL_Complex8* work,
                     float* rwork ) NOTHROW;
float CLA_GERCOND_C_( const char* trans, const MKL_INT* n,
                      const MKL_Complex8* a, const MKL_INT* lda,
                      const MKL_Complex8* af, const MKL_INT* ldaf,
                      const MKL_INT* ipiv, const float* c,
                      const MKL_INT* capply, MKL_INT* info,
                      MKL_Complex8* work, float* rwork ) NOTHROW;
float cla_gercond_c( const char* trans, const MKL_INT* n,
                     const MKL_Complex8* a, const MKL_INT* lda,
                     const MKL_Complex8* af, const MKL_INT* ldaf,
                     const MKL_INT* ipiv, const float* c,
                     const MKL_INT* capply, MKL_INT* info, MKL_Complex8* work,
                     float* rwork ) NOTHROW;
float cla_gercond_c_( const char* trans, const MKL_INT* n,
                      const MKL_Complex8* a, const MKL_INT* lda,
                      const MKL_Complex8* af, const MKL_INT* ldaf,
                      const MKL_INT* ipiv, const float* c,
                      const MKL_INT* capply, MKL_INT* info,
                      MKL_Complex8* work, float* rwork ) NOTHROW;

float CLA_GERCOND_X( const char* trans, const MKL_INT* n,
                     const MKL_Complex8* a, const MKL_INT* lda,
                     const MKL_Complex8* af, const MKL_INT* ldaf,
                     const MKL_INT* ipiv, const MKL_Complex8* x,
                     MKL_INT* info, MKL_Complex8* work, float* rwork ) NOTHROW;
float CLA_GERCOND_X_( const char* trans, const MKL_INT* n,
                      const MKL_Complex8* a, const MKL_INT* lda,
                      const MKL_Complex8* af, const MKL_INT* ldaf,
                      const MKL_INT* ipiv, const MKL_Complex8* x,
                      MKL_INT* info, MKL_Complex8* work, float* rwork ) NOTHROW;
float cla_gercond_x( const char* trans, const MKL_INT* n,
                     const MKL_Complex8* a, const MKL_INT* lda,
                     const MKL_Complex8* af, const MKL_INT* ldaf,
                     const MKL_INT* ipiv, const MKL_Complex8* x,
                     MKL_INT* info, MKL_Complex8* work, float* rwork ) NOTHROW;
float cla_gercond_x_( const char* trans, const MKL_INT* n,
                      const MKL_Complex8* a, const MKL_INT* lda,
                      const MKL_Complex8* af, const MKL_INT* ldaf,
                      const MKL_INT* ipiv, const MKL_Complex8* x,
                      MKL_INT* info, MKL_Complex8* work, float* rwork ) NOTHROW;

void CLA_GERFSX_EXTENDED( const MKL_INT* prec_type,
                          const MKL_INT* trans_type, const MKL_INT* n,
                          const MKL_INT* nrhs, const MKL_Complex8* a,
                          const MKL_INT* lda, const MKL_Complex8* af,
                          const MKL_INT* ldaf, const MKL_INT* ipiv,
                          const MKL_INT* colequ, const float* c,
                          const MKL_Complex8* b, const MKL_INT* ldb,
                          MKL_Complex8* y, const MKL_INT* ldy,
                          float* berr_out, const MKL_INT* n_norms,
                          float* errs_n, float* errs_c, MKL_Complex8* res,
                          float* ayb, MKL_Complex8* dy, MKL_Complex8* y_tail,
                          const float* rcond, const MKL_INT* ithresh,
                          const float* rthresh, const float* dz_ub,
                          const MKL_INT* ignore_cwise, MKL_INT* info ) NOTHROW;
void CLA_GERFSX_EXTENDED_( const MKL_INT* prec_type,
                           const MKL_INT* trans_type, const MKL_INT* n,
                           const MKL_INT* nrhs, const MKL_Complex8* a,
                           const MKL_INT* lda, const MKL_Complex8* af,
                           const MKL_INT* ldaf, const MKL_INT* ipiv,
                           const MKL_INT* colequ, const float* c,
                           const MKL_Complex8* b, const MKL_INT* ldb,
                           MKL_Complex8* y, const MKL_INT* ldy,
                           float* berr_out, const MKL_INT* n_norms,
                           float* errs_n, float* errs_c, MKL_Complex8* res,
                           float* ayb, MKL_Complex8* dy, MKL_Complex8* y_tail,
                           const float* rcond, const MKL_INT* ithresh,
                           const float* rthresh, const float* dz_ub,
                           const MKL_INT* ignore_cwise, MKL_INT* info ) NOTHROW;
void cla_gerfsx_extended( const MKL_INT* prec_type,
                          const MKL_INT* trans_type, const MKL_INT* n,
                          const MKL_INT* nrhs, const MKL_Complex8* a,
                          const MKL_INT* lda, const MKL_Complex8* af,
                          const MKL_INT* ldaf, const MKL_INT* ipiv,
                          const MKL_INT* colequ, const float* c,
                          const MKL_Complex8* b, const MKL_INT* ldb,
                          MKL_Complex8* y, const MKL_INT* ldy,
                          float* berr_out, const MKL_INT* n_norms,
                          float* errs_n, float* errs_c, MKL_Complex8* res,
                          float* ayb, MKL_Complex8* dy, MKL_Complex8* y_tail,
                          const float* rcond, const MKL_INT* ithresh,
                          const float* rthresh, const float* dz_ub,
                          const MKL_INT* ignore_cwise, MKL_INT* info ) NOTHROW;
void cla_gerfsx_extended_( const MKL_INT* prec_type,
                           const MKL_INT* trans_type, const MKL_INT* n,
                           const MKL_INT* nrhs, const MKL_Complex8* a,
                           const MKL_INT* lda, const MKL_Complex8* af,
                           const MKL_INT* ldaf, const MKL_INT* ipiv,
                           const MKL_INT* colequ, const float* c,
                           const MKL_Complex8* b, const MKL_INT* ldb,
                           MKL_Complex8* y, const MKL_INT* ldy,
                           float* berr_out, const MKL_INT* n_norms,
                           float* errs_n, float* errs_c, MKL_Complex8* res,
                           float* ayb, MKL_Complex8* dy, MKL_Complex8* y_tail,
                           const float* rcond, const MKL_INT* ithresh,
                           const float* rthresh, const float* dz_ub,
                           const MKL_INT* ignore_cwise, MKL_INT* info ) NOTHROW;

float CLA_GERPVGRW( const MKL_INT* n, const MKL_INT* ncols,
                    const MKL_Complex8* a, const MKL_INT* lda,
                    const MKL_Complex8* af, const MKL_INT* ldaf ) NOTHROW;
float CLA_GERPVGRW_( const MKL_INT* n, const MKL_INT* ncols,
                     const MKL_Complex8* a, const MKL_INT* lda,
                     const MKL_Complex8* af, const MKL_INT* ldaf ) NOTHROW;
float cla_gerpvgrw( const MKL_INT* n, const MKL_INT* ncols,
                    const MKL_Complex8* a, const MKL_INT* lda,
                    const MKL_Complex8* af, const MKL_INT* ldaf ) NOTHROW;
float cla_gerpvgrw_( const MKL_INT* n, const MKL_INT* ncols,
                     const MKL_Complex8* a, const MKL_INT* lda,
                     const MKL_Complex8* af, const MKL_INT* ldaf ) NOTHROW;

void CLA_HEAMV( const MKL_INT* uplo, const MKL_INT* n, const float* alpha,
                const MKL_Complex8* a, const MKL_INT* lda,
                const MKL_Complex8* x, const MKL_INT* incx, const float* beta,
                float* y, const MKL_INT* incy ) NOTHROW;
void CLA_HEAMV_( const MKL_INT* uplo, const MKL_INT* n, const float* alpha,
                 const MKL_Complex8* a, const MKL_INT* lda,
                 const MKL_Complex8* x, const MKL_INT* incx,
                 const float* beta, float* y, const MKL_INT* incy ) NOTHROW;
void cla_heamv( const MKL_INT* uplo, const MKL_INT* n, const float* alpha,
                const MKL_Complex8* a, const MKL_INT* lda,
                const MKL_Complex8* x, const MKL_INT* incx, const float* beta,
                float* y, const MKL_INT* incy ) NOTHROW;
void cla_heamv_( const MKL_INT* uplo, const MKL_INT* n, const float* alpha,
                 const MKL_Complex8* a, const MKL_INT* lda,
                 const MKL_Complex8* x, const MKL_INT* incx,
                 const float* beta, float* y, const MKL_INT* incy ) NOTHROW;

float CLA_HERCOND_C( const char* uplo, const MKL_INT* n,
                     const MKL_Complex8* a, const MKL_INT* lda,
                     const MKL_Complex8* af, const MKL_INT* ldaf,
                     const MKL_INT* ipiv, const float* c,
                     const MKL_INT* capply, MKL_INT* info, MKL_Complex8* work,
                     float* rwork ) NOTHROW;
float CLA_HERCOND_C_( const char* uplo, const MKL_INT* n,
                      const MKL_Complex8* a, const MKL_INT* lda,
                      const MKL_Complex8* af, const MKL_INT* ldaf,
                      const MKL_INT* ipiv, const float* c,
                      const MKL_INT* capply, MKL_INT* info,
                      MKL_Complex8* work, float* rwork ) NOTHROW;
float cla_hercond_c( const char* uplo, const MKL_INT* n,
                     const MKL_Complex8* a, const MKL_INT* lda,
                     const MKL_Complex8* af, const MKL_INT* ldaf,
                     const MKL_INT* ipiv, const float* c,
                     const MKL_INT* capply, MKL_INT* info, MKL_Complex8* work,
                     float* rwork ) NOTHROW;
float cla_hercond_c_( const char* uplo, const MKL_INT* n,
                      const MKL_Complex8* a, const MKL_INT* lda,
                      const MKL_Complex8* af, const MKL_INT* ldaf,
                      const MKL_INT* ipiv, const float* c,
                      const MKL_INT* capply, MKL_INT* info,
                      MKL_Complex8* work, float* rwork ) NOTHROW;

float CLA_HERCOND_X( const char* uplo, const MKL_INT* n,
                     const MKL_Complex8* a, const MKL_INT* lda,
                     const MKL_Complex8* af, const MKL_INT* ldaf,
                     const MKL_INT* ipiv, const MKL_Complex8* x,
                     MKL_INT* info, MKL_Complex8* work, float* rwork ) NOTHROW;
float CLA_HERCOND_X_( const char* uplo, const MKL_INT* n,
                      const MKL_Complex8* a, const MKL_INT* lda,
                      const MKL_Complex8* af, const MKL_INT* ldaf,
                      const MKL_INT* ipiv, const MKL_Complex8* x,
                      MKL_INT* info, MKL_Complex8* work, float* rwork ) NOTHROW;
float cla_hercond_x( const char* uplo, const MKL_INT* n,
                     const MKL_Complex8* a, const MKL_INT* lda,
                     const MKL_Complex8* af, const MKL_INT* ldaf,
                     const MKL_INT* ipiv, const MKL_Complex8* x,
                     MKL_INT* info, MKL_Complex8* work, float* rwork ) NOTHROW;
float cla_hercond_x_( const char* uplo, const MKL_INT* n,
                      const MKL_Complex8* a, const MKL_INT* lda,
                      const MKL_Complex8* af, const MKL_INT* ldaf,
                      const MKL_INT* ipiv, const MKL_Complex8* x,
                      MKL_INT* info, MKL_Complex8* work, float* rwork ) NOTHROW;

void CLA_HERFSX_EXTENDED( const MKL_INT* prec_type, const char* uplo,
                          const MKL_INT* n, const MKL_INT* nrhs,
                          const MKL_Complex8* a, const MKL_INT* lda,
                          const MKL_Complex8* af, const MKL_INT* ldaf,
                          const MKL_INT* ipiv, const MKL_INT* colequ,
                          const float* c, const MKL_Complex8* b,
                          const MKL_INT* ldb, MKL_Complex8* y,
                          const MKL_INT* ldy, float* berr_out,
                          const MKL_INT* n_norms, float* err_bnds_norm,
                          float* err_bnds_comp, MKL_Complex8* res, float* ayb,
                          MKL_Complex8* dy, MKL_Complex8* y_tail,
                          const float* rcond, const MKL_INT* ithresh,
                          const float* rthresh, const float* dz_ub,
                          const MKL_INT* ignore_cwise, MKL_INT* info ) NOTHROW;
void CLA_HERFSX_EXTENDED_( const MKL_INT* prec_type, const char* uplo,
                           const MKL_INT* n, const MKL_INT* nrhs,
                           const MKL_Complex8* a, const MKL_INT* lda,
                           const MKL_Complex8* af, const MKL_INT* ldaf,
                           const MKL_INT* ipiv, const MKL_INT* colequ,
                           const float* c, const MKL_Complex8* b,
                           const MKL_INT* ldb, MKL_Complex8* y,
                           const MKL_INT* ldy, float* berr_out,
                           const MKL_INT* n_norms, float* err_bnds_norm,
                           float* err_bnds_comp, MKL_Complex8* res,
                           float* ayb, MKL_Complex8* dy, MKL_Complex8* y_tail,
                           const float* rcond, const MKL_INT* ithresh,
                           const float* rthresh, const float* dz_ub,
                           const MKL_INT* ignore_cwise, MKL_INT* info ) NOTHROW;
void cla_herfsx_extended( const MKL_INT* prec_type, const char* uplo,
                          const MKL_INT* n, const MKL_INT* nrhs,
                          const MKL_Complex8* a, const MKL_INT* lda,
                          const MKL_Complex8* af, const MKL_INT* ldaf,
                          const MKL_INT* ipiv, const MKL_INT* colequ,
                          const float* c, const MKL_Complex8* b,
                          const MKL_INT* ldb, MKL_Complex8* y,
                          const MKL_INT* ldy, float* berr_out,
                          const MKL_INT* n_norms, float* err_bnds_norm,
                          float* err_bnds_comp, MKL_Complex8* res, float* ayb,
                          MKL_Complex8* dy, MKL_Complex8* y_tail,
                          const float* rcond, const MKL_INT* ithresh,
                          const float* rthresh, const float* dz_ub,
                          const MKL_INT* ignore_cwise, MKL_INT* info ) NOTHROW;
void cla_herfsx_extended_( const MKL_INT* prec_type, const char* uplo,
                           const MKL_INT* n, const MKL_INT* nrhs,
                           const MKL_Complex8* a, const MKL_INT* lda,
                           const MKL_Complex8* af, const MKL_INT* ldaf,
                           const MKL_INT* ipiv, const MKL_INT* colequ,
                           const float* c, const MKL_Complex8* b,
                           const MKL_INT* ldb, MKL_Complex8* y,
                           const MKL_INT* ldy, float* berr_out,
                           const MKL_INT* n_norms, float* err_bnds_norm,
                           float* err_bnds_comp, MKL_Complex8* res,
                           float* ayb, MKL_Complex8* dy, MKL_Complex8* y_tail,
                           const float* rcond, const MKL_INT* ithresh,
                           const float* rthresh, const float* dz_ub,
                           const MKL_INT* ignore_cwise, MKL_INT* info ) NOTHROW;

float CLA_HERPVGRW( const char* uplo, const MKL_INT* n, const MKL_INT* info,
                    const MKL_Complex8* a, const MKL_INT* lda,
                    const MKL_Complex8* af, const MKL_INT* ldaf,
                    const MKL_INT* ipiv, float* work ) NOTHROW;
float CLA_HERPVGRW_( const char* uplo, const MKL_INT* n, const MKL_INT* info,
                     const MKL_Complex8* a, const MKL_INT* lda,
                     const MKL_Complex8* af, const MKL_INT* ldaf,
                     const MKL_INT* ipiv, float* work ) NOTHROW;
float cla_herpvgrw( const char* uplo, const MKL_INT* n, const MKL_INT* info,
                    const MKL_Complex8* a, const MKL_INT* lda,
                    const MKL_Complex8* af, const MKL_INT* ldaf,
                    const MKL_INT* ipiv, float* work ) NOTHROW;
float cla_herpvgrw_( const char* uplo, const MKL_INT* n, const MKL_INT* info,
                     const MKL_Complex8* a, const MKL_INT* lda,
                     const MKL_Complex8* af, const MKL_INT* ldaf,
                     const MKL_INT* ipiv, float* work ) NOTHROW;

void CLA_LIN_BERR( const MKL_INT* n, const MKL_INT* nz, const MKL_INT* nrhs,
                   const MKL_Complex8* res, const float* ayb, float* berr ) NOTHROW;
void CLA_LIN_BERR_( const MKL_INT* n, const MKL_INT* nz, const MKL_INT* nrhs,
                    const MKL_Complex8* res, const float* ayb, float* berr ) NOTHROW;
void cla_lin_berr( const MKL_INT* n, const MKL_INT* nz, const MKL_INT* nrhs,
                   const MKL_Complex8* res, const float* ayb, float* berr ) NOTHROW;
void cla_lin_berr_( const MKL_INT* n, const MKL_INT* nz, const MKL_INT* nrhs,
                    const MKL_Complex8* res, const float* ayb, float* berr ) NOTHROW;

float CLA_PORCOND_C( const char* uplo, const MKL_INT* n,
                     const MKL_Complex8* a, const MKL_INT* lda,
                     const MKL_Complex8* af, const MKL_INT* ldaf,
                     const float* c, const MKL_INT* capply, MKL_INT* info,
                     MKL_Complex8* work, float* rwork ) NOTHROW;
float CLA_PORCOND_C_( const char* uplo, const MKL_INT* n,
                      const MKL_Complex8* a, const MKL_INT* lda,
                      const MKL_Complex8* af, const MKL_INT* ldaf,
                      const float* c, const MKL_INT* capply, MKL_INT* info,
                      MKL_Complex8* work, float* rwork ) NOTHROW;
float cla_porcond_c( const char* uplo, const MKL_INT* n,
                     const MKL_Complex8* a, const MKL_INT* lda,
                     const MKL_Complex8* af, const MKL_INT* ldaf,
                     const float* c, const MKL_INT* capply, MKL_INT* info,
                     MKL_Complex8* work, float* rwork ) NOTHROW;
float cla_porcond_c_( const char* uplo, const MKL_INT* n,
                      const MKL_Complex8* a, const MKL_INT* lda,
                      const MKL_Complex8* af, const MKL_INT* ldaf,
                      const float* c, const MKL_INT* capply, MKL_INT* info,
                      MKL_Complex8* work, float* rwork ) NOTHROW;

float CLA_PORCOND_X( const char* uplo, const MKL_INT* n,
                     const MKL_Complex8* a, const MKL_INT* lda,
                     const MKL_Complex8* af, const MKL_INT* ldaf,
                     const MKL_Complex8* x, MKL_INT* info, MKL_Complex8* work,
                     float* rwork ) NOTHROW;
float CLA_PORCOND_X_( const char* uplo, const MKL_INT* n,
                      const MKL_Complex8* a, const MKL_INT* lda,
                      const MKL_Complex8* af, const MKL_INT* ldaf,
                      const MKL_Complex8* x, MKL_INT* info,
                      MKL_Complex8* work, float* rwork ) NOTHROW;
float cla_porcond_x( const char* uplo, const MKL_INT* n,
                     const MKL_Complex8* a, const MKL_INT* lda,
                     const MKL_Complex8* af, const MKL_INT* ldaf,
                     const MKL_Complex8* x, MKL_INT* info, MKL_Complex8* work,
                     float* rwork ) NOTHROW;
float cla_porcond_x_( const char* uplo, const MKL_INT* n,
                      const MKL_Complex8* a, const MKL_INT* lda,
                      const MKL_Complex8* af, const MKL_INT* ldaf,
                      const MKL_Complex8* x, MKL_INT* info,
                      MKL_Complex8* work, float* rwork ) NOTHROW;

void CLA_PORFSX_EXTENDED( const MKL_INT* prec_type, const char* uplo,
                          const MKL_INT* n, const MKL_INT* nrhs,
                          const MKL_Complex8* a, const MKL_INT* lda,
                          const MKL_Complex8* af, const MKL_INT* ldaf,
                          const MKL_INT* colequ, const float* c,
                          const MKL_Complex8* b, const MKL_INT* ldb,
                          MKL_Complex8* y, const MKL_INT* ldy,
                          float* berr_out, const MKL_INT* n_norms,
                          float* err_bnds_norm, float* err_bnds_comp,
                          MKL_Complex8* res, float* ayb, MKL_Complex8* dy,
                          MKL_Complex8* y_tail, const float* rcond,
                          const MKL_INT* ithresh, const float* rthresh,
                          const float* dz_ub, const MKL_INT* ignore_cwise,
                          MKL_INT* info ) NOTHROW;
void CLA_PORFSX_EXTENDED_( const MKL_INT* prec_type, const char* uplo,
                           const MKL_INT* n, const MKL_INT* nrhs,
                           const MKL_Complex8* a, const MKL_INT* lda,
                           const MKL_Complex8* af, const MKL_INT* ldaf,
                           const MKL_INT* colequ, const float* c,
                           const MKL_Complex8* b, const MKL_INT* ldb,
                           MKL_Complex8* y, const MKL_INT* ldy,
                           float* berr_out, const MKL_INT* n_norms,
                           float* err_bnds_norm, float* err_bnds_comp,
                           MKL_Complex8* res, float* ayb, MKL_Complex8* dy,
                           MKL_Complex8* y_tail, const float* rcond,
                           const MKL_INT* ithresh, const float* rthresh,
                           const float* dz_ub, const MKL_INT* ignore_cwise,
                           MKL_INT* info ) NOTHROW;
void cla_porfsx_extended( const MKL_INT* prec_type, const char* uplo,
                          const MKL_INT* n, const MKL_INT* nrhs,
                          const MKL_Complex8* a, const MKL_INT* lda,
                          const MKL_Complex8* af, const MKL_INT* ldaf,
                          const MKL_INT* colequ, const float* c,
                          const MKL_Complex8* b, const MKL_INT* ldb,
                          MKL_Complex8* y, const MKL_INT* ldy,
                          float* berr_out, const MKL_INT* n_norms,
                          float* err_bnds_norm, float* err_bnds_comp,
                          MKL_Complex8* res, float* ayb, MKL_Complex8* dy,
                          MKL_Complex8* y_tail, const float* rcond,
                          const MKL_INT* ithresh, const float* rthresh,
                          const float* dz_ub, const MKL_INT* ignore_cwise,
                          MKL_INT* info ) NOTHROW;
void cla_porfsx_extended_( const MKL_INT* prec_type, const char* uplo,
                           const MKL_INT* n, const MKL_INT* nrhs,
                           const MKL_Complex8* a, const MKL_INT* lda,
                           const MKL_Complex8* af, const MKL_INT* ldaf,
                           const MKL_INT* colequ, const float* c,
                           const MKL_Complex8* b, const MKL_INT* ldb,
                           MKL_Complex8* y, const MKL_INT* ldy,
                           float* berr_out, const MKL_INT* n_norms,
                           float* err_bnds_norm, float* err_bnds_comp,
                           MKL_Complex8* res, float* ayb, MKL_Complex8* dy,
                           MKL_Complex8* y_tail, const float* rcond,
                           const MKL_INT* ithresh, const float* rthresh,
                           const float* dz_ub, const MKL_INT* ignore_cwise,
                           MKL_INT* info ) NOTHROW;

float CLA_PORPVGRW( const char* uplo, const MKL_INT* ncols,
                    const MKL_Complex8* a, const MKL_INT* lda,
                    const MKL_Complex8* af, const MKL_INT* ldaf, float* work ) NOTHROW;
float CLA_PORPVGRW_( const char* uplo, const MKL_INT* ncols,
                     const MKL_Complex8* a, const MKL_INT* lda,
                     const MKL_Complex8* af, const MKL_INT* ldaf, float* work ) NOTHROW;
float cla_porpvgrw( const char* uplo, const MKL_INT* ncols,
                    const MKL_Complex8* a, const MKL_INT* lda,
                    const MKL_Complex8* af, const MKL_INT* ldaf, float* work ) NOTHROW;
float cla_porpvgrw_( const char* uplo, const MKL_INT* ncols,
                     const MKL_Complex8* a, const MKL_INT* lda,
                     const MKL_Complex8* af, const MKL_INT* ldaf, float* work ) NOTHROW;

void CLA_SYAMV( const MKL_INT* uplo, const MKL_INT* n, const float* alpha,
                const MKL_Complex8* a, const MKL_INT* lda,
                const MKL_Complex8* x, const MKL_INT* incx, const float* beta,
                float* y, const MKL_INT* incy ) NOTHROW;
void CLA_SYAMV_( const MKL_INT* uplo, const MKL_INT* n, const float* alpha,
                 const MKL_Complex8* a, const MKL_INT* lda,
                 const MKL_Complex8* x, const MKL_INT* incx,
                 const float* beta, float* y, const MKL_INT* incy ) NOTHROW;
void cla_syamv( const MKL_INT* uplo, const MKL_INT* n, const float* alpha,
                const MKL_Complex8* a, const MKL_INT* lda,
                const MKL_Complex8* x, const MKL_INT* incx, const float* beta,
                float* y, const MKL_INT* incy ) NOTHROW;
void cla_syamv_( const MKL_INT* uplo, const MKL_INT* n, const float* alpha,
                 const MKL_Complex8* a, const MKL_INT* lda,
                 const MKL_Complex8* x, const MKL_INT* incx,
                 const float* beta, float* y, const MKL_INT* incy ) NOTHROW;

float CLA_SYRCOND_C( const char* uplo, const MKL_INT* n,
                     const MKL_Complex8* a, const MKL_INT* lda,
                     const MKL_Complex8* af, const MKL_INT* ldaf,
                     const MKL_INT* ipiv, const float* c,
                     const MKL_INT* capply, MKL_INT* info, MKL_Complex8* work,
                     float* rwork ) NOTHROW;
float CLA_SYRCOND_C_( const char* uplo, const MKL_INT* n,
                      const MKL_Complex8* a, const MKL_INT* lda,
                      const MKL_Complex8* af, const MKL_INT* ldaf,
                      const MKL_INT* ipiv, const float* c,
                      const MKL_INT* capply, MKL_INT* info,
                      MKL_Complex8* work, float* rwork ) NOTHROW;
float cla_syrcond_c( const char* uplo, const MKL_INT* n,
                     const MKL_Complex8* a, const MKL_INT* lda,
                     const MKL_Complex8* af, const MKL_INT* ldaf,
                     const MKL_INT* ipiv, const float* c,
                     const MKL_INT* capply, MKL_INT* info, MKL_Complex8* work,
                     float* rwork ) NOTHROW;
float cla_syrcond_c_( const char* uplo, const MKL_INT* n,
                      const MKL_Complex8* a, const MKL_INT* lda,
                      const MKL_Complex8* af, const MKL_INT* ldaf,
                      const MKL_INT* ipiv, const float* c,
                      const MKL_INT* capply, MKL_INT* info,
                      MKL_Complex8* work, float* rwork ) NOTHROW;

float CLA_SYRCOND_X( const char* uplo, const MKL_INT* n,
                     const MKL_Complex8* a, const MKL_INT* lda,
                     const MKL_Complex8* af, const MKL_INT* ldaf,
                     const MKL_INT* ipiv, const MKL_Complex8* x,
                     MKL_INT* info, MKL_Complex8* work, float* rwork ) NOTHROW;
float CLA_SYRCOND_X_( const char* uplo, const MKL_INT* n,
                      const MKL_Complex8* a, const MKL_INT* lda,
                      const MKL_Complex8* af, const MKL_INT* ldaf,
                      const MKL_INT* ipiv, const MKL_Complex8* x,
                      MKL_INT* info, MKL_Complex8* work, float* rwork ) NOTHROW;
float cla_syrcond_x( const char* uplo, const MKL_INT* n,
                     const MKL_Complex8* a, const MKL_INT* lda,
                     const MKL_Complex8* af, const MKL_INT* ldaf,
                     const MKL_INT* ipiv, const MKL_Complex8* x,
                     MKL_INT* info, MKL_Complex8* work, float* rwork ) NOTHROW;
float cla_syrcond_x_( const char* uplo, const MKL_INT* n,
                      const MKL_Complex8* a, const MKL_INT* lda,
                      const MKL_Complex8* af, const MKL_INT* ldaf,
                      const MKL_INT* ipiv, const MKL_Complex8* x,
                      MKL_INT* info, MKL_Complex8* work, float* rwork ) NOTHROW;

void CLA_SYRFSX_EXTENDED( const MKL_INT* prec_type, const char* uplo,
                          const MKL_INT* n, const MKL_INT* nrhs,
                          const MKL_Complex8* a, const MKL_INT* lda,
                          const MKL_Complex8* af, const MKL_INT* ldaf,
                          const MKL_INT* ipiv, const MKL_INT* colequ,
                          const float* c, const MKL_Complex8* b,
                          const MKL_INT* ldb, MKL_Complex8* y,
                          const MKL_INT* ldy, float* berr_out,
                          const MKL_INT* n_norms, float* err_bnds_norm,
                          float* err_bnds_comp, MKL_Complex8* res, float* ayb,
                          MKL_Complex8* dy, MKL_Complex8* y_tail,
                          const float* rcond, const MKL_INT* ithresh,
                          const float* rthresh, const float* dz_ub,
                          const MKL_INT* ignore_cwise, MKL_INT* info ) NOTHROW;
void CLA_SYRFSX_EXTENDED_( const MKL_INT* prec_type, const char* uplo,
                           const MKL_INT* n, const MKL_INT* nrhs,
                           const MKL_Complex8* a, const MKL_INT* lda,
                           const MKL_Complex8* af, const MKL_INT* ldaf,
                           const MKL_INT* ipiv, const MKL_INT* colequ,
                           const float* c, const MKL_Complex8* b,
                           const MKL_INT* ldb, MKL_Complex8* y,
                           const MKL_INT* ldy, float* berr_out,
                           const MKL_INT* n_norms, float* err_bnds_norm,
                           float* err_bnds_comp, MKL_Complex8* res,
                           float* ayb, MKL_Complex8* dy, MKL_Complex8* y_tail,
                           const float* rcond, const MKL_INT* ithresh,
                           const float* rthresh, const float* dz_ub,
                           const MKL_INT* ignore_cwise, MKL_INT* info ) NOTHROW;
void cla_syrfsx_extended( const MKL_INT* prec_type, const char* uplo,
                          const MKL_INT* n, const MKL_INT* nrhs,
                          const MKL_Complex8* a, const MKL_INT* lda,
                          const MKL_Complex8* af, const MKL_INT* ldaf,
                          const MKL_INT* ipiv, const MKL_INT* colequ,
                          const float* c, const MKL_Complex8* b,
                          const MKL_INT* ldb, MKL_Complex8* y,
                          const MKL_INT* ldy, float* berr_out,
                          const MKL_INT* n_norms, float* err_bnds_norm,
                          float* err_bnds_comp, MKL_Complex8* res, float* ayb,
                          MKL_Complex8* dy, MKL_Complex8* y_tail,
                          const float* rcond, const MKL_INT* ithresh,
                          const float* rthresh, const float* dz_ub,
                          const MKL_INT* ignore_cwise, MKL_INT* info ) NOTHROW;
void cla_syrfsx_extended_( const MKL_INT* prec_type, const char* uplo,
                           const MKL_INT* n, const MKL_INT* nrhs,
                           const MKL_Complex8* a, const MKL_INT* lda,
                           const MKL_Complex8* af, const MKL_INT* ldaf,
                           const MKL_INT* ipiv, const MKL_INT* colequ,
                           const float* c, const MKL_Complex8* b,
                           const MKL_INT* ldb, MKL_Complex8* y,
                           const MKL_INT* ldy, float* berr_out,
                           const MKL_INT* n_norms, float* err_bnds_norm,
                           float* err_bnds_comp, MKL_Complex8* res,
                           float* ayb, MKL_Complex8* dy, MKL_Complex8* y_tail,
                           const float* rcond, const MKL_INT* ithresh,
                           const float* rthresh, const float* dz_ub,
                           const MKL_INT* ignore_cwise, MKL_INT* info ) NOTHROW;

float CLA_SYRPVGRW( const char* uplo, const MKL_INT* n, const MKL_INT* info,
                    const MKL_Complex8* a, const MKL_INT* lda,
                    const MKL_Complex8* af, const MKL_INT* ldaf,
                    const MKL_INT* ipiv, float* work ) NOTHROW;
float CLA_SYRPVGRW_( const char* uplo, const MKL_INT* n, const MKL_INT* info,
                     const MKL_Complex8* a, const MKL_INT* lda,
                     const MKL_Complex8* af, const MKL_INT* ldaf,
                     const MKL_INT* ipiv, float* work ) NOTHROW;
float cla_syrpvgrw( const char* uplo, const MKL_INT* n, const MKL_INT* info,
                    const MKL_Complex8* a, const MKL_INT* lda,
                    const MKL_Complex8* af, const MKL_INT* ldaf,
                    const MKL_INT* ipiv, float* work ) NOTHROW;
float cla_syrpvgrw_( const char* uplo, const MKL_INT* n, const MKL_INT* info,
                     const MKL_Complex8* a, const MKL_INT* lda,
                     const MKL_Complex8* af, const MKL_INT* ldaf,
                     const MKL_INT* ipiv, float* work ) NOTHROW;

void CLA_WWADDW( const MKL_INT* n, MKL_Complex8* x, MKL_Complex8* y,
                 const MKL_Complex8* w ) NOTHROW;
void CLA_WWADDW_( const MKL_INT* n, MKL_Complex8* x, MKL_Complex8* y,
                  const MKL_Complex8* w ) NOTHROW;
void cla_wwaddw( const MKL_INT* n, MKL_Complex8* x, MKL_Complex8* y,
                 const MKL_Complex8* w ) NOTHROW;
void cla_wwaddw_( const MKL_INT* n, MKL_Complex8* x, MKL_Complex8* y,
                  const MKL_Complex8* w ) NOTHROW;

void CTPRFB( const char* side, const char* trans, const char* direct,
             const char* storev, const MKL_INT* m, const MKL_INT* n,
             const MKL_INT* k, const MKL_INT* l, const MKL_Complex8* v,
             const MKL_INT* ldv, const MKL_Complex8* t, const MKL_INT* ldt,
             MKL_Complex8* a, const MKL_INT* lda, MKL_Complex8* b,
             const MKL_INT* ldb, MKL_Complex8* work, const MKL_INT* ldwork ) NOTHROW;
void CTPRFB_( const char* side, const char* trans, const char* direct,
              const char* storev, const MKL_INT* m, const MKL_INT* n,
              const MKL_INT* k, const MKL_INT* l, const MKL_Complex8* v,
              const MKL_INT* ldv, const MKL_Complex8* t, const MKL_INT* ldt,
              MKL_Complex8* a, const MKL_INT* lda, MKL_Complex8* b,
              const MKL_INT* ldb, MKL_Complex8* work, const MKL_INT* ldwork ) NOTHROW;
void ctprfb( const char* side, const char* trans, const char* direct,
             const char* storev, const MKL_INT* m, const MKL_INT* n,
             const MKL_INT* k, const MKL_INT* l, const MKL_Complex8* v,
             const MKL_INT* ldv, const MKL_Complex8* t, const MKL_INT* ldt,
             MKL_Complex8* a, const MKL_INT* lda, MKL_Complex8* b,
             const MKL_INT* ldb, MKL_Complex8* work, const MKL_INT* ldwork ) NOTHROW;
void ctprfb_( const char* side, const char* trans, const char* direct,
              const char* storev, const MKL_INT* m, const MKL_INT* n,
              const MKL_INT* k, const MKL_INT* l, const MKL_Complex8* v,
              const MKL_INT* ldv, const MKL_Complex8* t, const MKL_INT* ldt,
              MKL_Complex8* a, const MKL_INT* lda, MKL_Complex8* b,
              const MKL_INT* ldb, MKL_Complex8* work, const MKL_INT* ldwork ) NOTHROW;

void DGEQRT2( const MKL_INT* m, const MKL_INT* n, double* a,
              const MKL_INT* lda, double* t, const MKL_INT* ldt, MKL_INT* info ) NOTHROW;
void DGEQRT2_( const MKL_INT* m, const MKL_INT* n, double* a,
               const MKL_INT* lda, double* t, const MKL_INT* ldt,
               MKL_INT* info ) NOTHROW;
void dgeqrt2( const MKL_INT* m, const MKL_INT* n, double* a,
              const MKL_INT* lda, double* t, const MKL_INT* ldt, MKL_INT* info ) NOTHROW;
void dgeqrt2_( const MKL_INT* m, const MKL_INT* n, double* a,
               const MKL_INT* lda, double* t, const MKL_INT* ldt,
               MKL_INT* info ) NOTHROW;

void DLA_GBAMV( const MKL_INT* trans, const MKL_INT* m, const MKL_INT* n,
                const MKL_INT* kl, const MKL_INT* ku, const double* alpha,
                const double* ab, const MKL_INT* ldab, const double* x,
                const MKL_INT* incx, const double* beta, double* y,
                const MKL_INT* incy ) NOTHROW;
void DLA_GBAMV_( const MKL_INT* trans, const MKL_INT* m, const MKL_INT* n,
                 const MKL_INT* kl, const MKL_INT* ku, const double* alpha,
                 const double* ab, const MKL_INT* ldab, const double* x,
                 const MKL_INT* incx, const double* beta, double* y,
                 const MKL_INT* incy ) NOTHROW;
void dla_gbamv( const MKL_INT* trans, const MKL_INT* m, const MKL_INT* n,
                const MKL_INT* kl, const MKL_INT* ku, const double* alpha,
                const double* ab, const MKL_INT* ldab, const double* x,
                const MKL_INT* incx, const double* beta, double* y,
                const MKL_INT* incy ) NOTHROW;
void dla_gbamv_( const MKL_INT* trans, const MKL_INT* m, const MKL_INT* n,
                 const MKL_INT* kl, const MKL_INT* ku, const double* alpha,
                 const double* ab, const MKL_INT* ldab, const double* x,
                 const MKL_INT* incx, const double* beta, double* y,
                 const MKL_INT* incy ) NOTHROW;

double DLA_GBRCOND( const char* trans, const MKL_INT* n, const MKL_INT* kl,
                    const MKL_INT* ku, const double* ab, const MKL_INT* ldab,
                    const double* afb, const MKL_INT* ldafb,
                    const MKL_INT* ipiv, const MKL_INT* cmode,
                    const double* c, MKL_INT* info, double* work,
                    MKL_INT* iwork ) NOTHROW;
double DLA_GBRCOND_( const char* trans, const MKL_INT* n, const MKL_INT* kl,
                     const MKL_INT* ku, const double* ab, const MKL_INT* ldab,
                     const double* afb, const MKL_INT* ldafb,
                     const MKL_INT* ipiv, const MKL_INT* cmode,
                     const double* c, MKL_INT* info, double* work,
                     MKL_INT* iwork ) NOTHROW;
double dla_gbrcond( const char* trans, const MKL_INT* n, const MKL_INT* kl,
                    const MKL_INT* ku, const double* ab, const MKL_INT* ldab,
                    const double* afb, const MKL_INT* ldafb,
                    const MKL_INT* ipiv, const MKL_INT* cmode,
                    const double* c, MKL_INT* info, double* work,
                    MKL_INT* iwork ) NOTHROW;
double dla_gbrcond_( const char* trans, const MKL_INT* n, const MKL_INT* kl,
                     const MKL_INT* ku, const double* ab, const MKL_INT* ldab,
                     const double* afb, const MKL_INT* ldafb,
                     const MKL_INT* ipiv, const MKL_INT* cmode,
                     const double* c, MKL_INT* info, double* work,
                     MKL_INT* iwork ) NOTHROW;

void DLA_GBRFSX_EXTENDED( const MKL_INT* prec_type,
                          const MKL_INT* trans_type, const MKL_INT* n,
                          const MKL_INT* kl, const MKL_INT* ku,
                          const MKL_INT* nrhs, const double* ab,
                          const MKL_INT* ldab, const double* afb,
                          const MKL_INT* ldafb, const MKL_INT* ipiv,
                          const MKL_INT* colequ, const double* c,
                          const double* b, const MKL_INT* ldb, double* y,
                          const MKL_INT* ldy, double* berr_out,
                          const MKL_INT* n_norms, double* err_bnds_norm,
                          double* err_bnds_comp, double* res, double* ayb,
                          double* dy, double* y_tail, const double* rcond,
                          const MKL_INT* ithresh, const double* rthresh,
                          const double* dz_ub, const MKL_INT* ignore_cwise,
                          MKL_INT* info ) NOTHROW;
void DLA_GBRFSX_EXTENDED_( const MKL_INT* prec_type,
                           const MKL_INT* trans_type, const MKL_INT* n,
                           const MKL_INT* kl, const MKL_INT* ku,
                           const MKL_INT* nrhs, const double* ab,
                           const MKL_INT* ldab, const double* afb,
                           const MKL_INT* ldafb, const MKL_INT* ipiv,
                           const MKL_INT* colequ, const double* c,
                           const double* b, const MKL_INT* ldb, double* y,
                           const MKL_INT* ldy, double* berr_out,
                           const MKL_INT* n_norms, double* err_bnds_norm,
                           double* err_bnds_comp, double* res, double* ayb,
                           double* dy, double* y_tail, const double* rcond,
                           const MKL_INT* ithresh, const double* rthresh,
                           const double* dz_ub, const MKL_INT* ignore_cwise,
                           MKL_INT* info ) NOTHROW;
void dla_gbrfsx_extended( const MKL_INT* prec_type,
                          const MKL_INT* trans_type, const MKL_INT* n,
                          const MKL_INT* kl, const MKL_INT* ku,
                          const MKL_INT* nrhs, const double* ab,
                          const MKL_INT* ldab, const double* afb,
                          const MKL_INT* ldafb, const MKL_INT* ipiv,
                          const MKL_INT* colequ, const double* c,
                          const double* b, const MKL_INT* ldb, double* y,
                          const MKL_INT* ldy, double* berr_out,
                          const MKL_INT* n_norms, double* err_bnds_norm,
                          double* err_bnds_comp, double* res, double* ayb,
                          double* dy, double* y_tail, const double* rcond,
                          const MKL_INT* ithresh, const double* rthresh,
                          const double* dz_ub, const MKL_INT* ignore_cwise,
                          MKL_INT* info ) NOTHROW;
void dla_gbrfsx_extended_( const MKL_INT* prec_type,
                           const MKL_INT* trans_type, const MKL_INT* n,
                           const MKL_INT* kl, const MKL_INT* ku,
                           const MKL_INT* nrhs, const double* ab,
                           const MKL_INT* ldab, const double* afb,
                           const MKL_INT* ldafb, const MKL_INT* ipiv,
                           const MKL_INT* colequ, const double* c,
                           const double* b, const MKL_INT* ldb, double* y,
                           const MKL_INT* ldy, double* berr_out,
                           const MKL_INT* n_norms, double* err_bnds_norm,
                           double* err_bnds_comp, double* res, double* ayb,
                           double* dy, double* y_tail, const double* rcond,
                           const MKL_INT* ithresh, const double* rthresh,
                           const double* dz_ub, const MKL_INT* ignore_cwise,
                           MKL_INT* info ) NOTHROW;

double DLA_GBRPVGRW( const MKL_INT* n, const MKL_INT* kl, const MKL_INT* ku,
                     const MKL_INT* ncols, const double* ab,
                     const MKL_INT* ldab, const double* afb,
                     const MKL_INT* ldafb ) NOTHROW;
double DLA_GBRPVGRW_( const MKL_INT* n, const MKL_INT* kl, const MKL_INT* ku,
                      const MKL_INT* ncols, const double* ab,
                      const MKL_INT* ldab, const double* afb,
                      const MKL_INT* ldafb ) NOTHROW;
double dla_gbrpvgrw( const MKL_INT* n, const MKL_INT* kl, const MKL_INT* ku,
                     const MKL_INT* ncols, const double* ab,
                     const MKL_INT* ldab, const double* afb,
                     const MKL_INT* ldafb ) NOTHROW;
double dla_gbrpvgrw_( const MKL_INT* n, const MKL_INT* kl, const MKL_INT* ku,
                      const MKL_INT* ncols, const double* ab,
                      const MKL_INT* ldab, const double* afb,
                      const MKL_INT* ldafb ) NOTHROW;

void DLA_GEAMV( const MKL_INT* trans, const MKL_INT* m, const MKL_INT* n,
                const double* alpha, const double* a, const MKL_INT* lda,
                const double* x, const MKL_INT* incx, const double* beta,
                double* y, const MKL_INT* incy ) NOTHROW;
void DLA_GEAMV_( const MKL_INT* trans, const MKL_INT* m, const MKL_INT* n,
                 const double* alpha, const double* a, const MKL_INT* lda,
                 const double* x, const MKL_INT* incx, const double* beta,
                 double* y, const MKL_INT* incy ) NOTHROW;
void dla_geamv( const MKL_INT* trans, const MKL_INT* m, const MKL_INT* n,
                const double* alpha, const double* a, const MKL_INT* lda,
                const double* x, const MKL_INT* incx, const double* beta,
                double* y, const MKL_INT* incy ) NOTHROW;
void dla_geamv_( const MKL_INT* trans, const MKL_INT* m, const MKL_INT* n,
                 const double* alpha, const double* a, const MKL_INT* lda,
                 const double* x, const MKL_INT* incx, const double* beta,
                 double* y, const MKL_INT* incy ) NOTHROW;

double DLA_GERCOND( const char* trans, const MKL_INT* n, const double* a,
                    const MKL_INT* lda, const double* af, const MKL_INT* ldaf,
                    const MKL_INT* ipiv, const MKL_INT* cmode,
                    const double* c, MKL_INT* info, double* work,
                    MKL_INT* iwork ) NOTHROW;
double DLA_GERCOND_( const char* trans, const MKL_INT* n, const double* a,
                     const MKL_INT* lda, const double* af,
                     const MKL_INT* ldaf, const MKL_INT* ipiv,
                     const MKL_INT* cmode, const double* c, MKL_INT* info,
                     double* work, MKL_INT* iwork ) NOTHROW;
double dla_gercond( const char* trans, const MKL_INT* n, const double* a,
                    const MKL_INT* lda, const double* af, const MKL_INT* ldaf,
                    const MKL_INT* ipiv, const MKL_INT* cmode,
                    const double* c, MKL_INT* info, double* work,
                    MKL_INT* iwork ) NOTHROW;
double dla_gercond_( const char* trans, const MKL_INT* n, const double* a,
                     const MKL_INT* lda, const double* af,
                     const MKL_INT* ldaf, const MKL_INT* ipiv,
                     const MKL_INT* cmode, const double* c, MKL_INT* info,
                     double* work, MKL_INT* iwork ) NOTHROW;

void DLA_GERFSX_EXTENDED( const MKL_INT* prec_type,
                          const MKL_INT* trans_type, const MKL_INT* n,
                          const MKL_INT* nrhs, const double* a,
                          const MKL_INT* lda, const double* af,
                          const MKL_INT* ldaf, const MKL_INT* ipiv,
                          const MKL_INT* colequ, const double* c,
                          const double* b, const MKL_INT* ldb, double* y,
                          const MKL_INT* ldy, double* berr_out,
                          const MKL_INT* n_norms, double* errs_n,
                          double* errs_c, double* res, double* ayb, double* dy,
                          double* y_tail, const double* rcond,
                          const MKL_INT* ithresh, const double* rthresh,
                          const double* dz_ub, const MKL_INT* ignore_cwise,
                          MKL_INT* info ) NOTHROW;
void DLA_GERFSX_EXTENDED_( const MKL_INT* prec_type,
                           const MKL_INT* trans_type, const MKL_INT* n,
                           const MKL_INT* nrhs, const double* a,
                           const MKL_INT* lda, const double* af,
                           const MKL_INT* ldaf, const MKL_INT* ipiv,
                           const MKL_INT* colequ, const double* c,
                           const double* b, const MKL_INT* ldb, double* y,
                           const MKL_INT* ldy, double* berr_out,
                           const MKL_INT* n_norms, double* errs_n,
                           double* errs_c, double* res, double* ayb,
                           double* dy, double* y_tail, const double* rcond,
                           const MKL_INT* ithresh, const double* rthresh,
                           const double* dz_ub, const MKL_INT* ignore_cwise,
                           MKL_INT* info ) NOTHROW;
void dla_gerfsx_extended( const MKL_INT* prec_type,
                          const MKL_INT* trans_type, const MKL_INT* n,
                          const MKL_INT* nrhs, const double* a,
                          const MKL_INT* lda, const double* af,
                          const MKL_INT* ldaf, const MKL_INT* ipiv,
                          const MKL_INT* colequ, const double* c,
                          const double* b, const MKL_INT* ldb, double* y,
                          const MKL_INT* ldy, double* berr_out,
                          const MKL_INT* n_norms, double* errs_n,
                          double* errs_c, double* res, double* ayb, double* dy,
                          double* y_tail, const double* rcond,
                          const MKL_INT* ithresh, const double* rthresh,
                          const double* dz_ub, const MKL_INT* ignore_cwise,
                          MKL_INT* info ) NOTHROW;
void dla_gerfsx_extended_( const MKL_INT* prec_type,
                           const MKL_INT* trans_type, const MKL_INT* n,
                           const MKL_INT* nrhs, const double* a,
                           const MKL_INT* lda, const double* af,
                           const MKL_INT* ldaf, const MKL_INT* ipiv,
                           const MKL_INT* colequ, const double* c,
                           const double* b, const MKL_INT* ldb, double* y,
                           const MKL_INT* ldy, double* berr_out,
                           const MKL_INT* n_norms, double* errs_n,
                           double* errs_c, double* res, double* ayb,
                           double* dy, double* y_tail, const double* rcond,
                           const MKL_INT* ithresh, const double* rthresh,
                           const double* dz_ub, const MKL_INT* ignore_cwise,
                           MKL_INT* info ) NOTHROW;

double DLA_GERPVGRW( const MKL_INT* n, const MKL_INT* ncols, const double* a,
                     const MKL_INT* lda, const double* af,
                     const MKL_INT* ldaf ) NOTHROW;
double DLA_GERPVGRW_( const MKL_INT* n, const MKL_INT* ncols, const double* a,
                      const MKL_INT* lda, const double* af,
                      const MKL_INT* ldaf ) NOTHROW;
double dla_gerpvgrw( const MKL_INT* n, const MKL_INT* ncols, const double* a,
                     const MKL_INT* lda, const double* af,
                     const MKL_INT* ldaf ) NOTHROW;
double dla_gerpvgrw_( const MKL_INT* n, const MKL_INT* ncols, const double* a,
                      const MKL_INT* lda, const double* af,
                      const MKL_INT* ldaf ) NOTHROW;

void DLA_LIN_BERR( const MKL_INT* n, const MKL_INT* nz, const MKL_INT* nrhs,
                   const double* res, const double* ayb, double* berr ) NOTHROW;
void DLA_LIN_BERR_( const MKL_INT* n, const MKL_INT* nz, const MKL_INT* nrhs,
                    const double* res, const double* ayb, double* berr ) NOTHROW;
void dla_lin_berr( const MKL_INT* n, const MKL_INT* nz, const MKL_INT* nrhs,
                   const double* res, const double* ayb, double* berr ) NOTHROW;
void dla_lin_berr_( const MKL_INT* n, const MKL_INT* nz, const MKL_INT* nrhs,
                    const double* res, const double* ayb, double* berr ) NOTHROW;

double DLA_PORCOND( const char* uplo, const MKL_INT* n, const double* a,
                    const MKL_INT* lda, const double* af, const MKL_INT* ldaf,
                    const MKL_INT* cmode, const double* c, MKL_INT* info,
                    double* work, MKL_INT* iwork ) NOTHROW;
double DLA_PORCOND_( const char* uplo, const MKL_INT* n, const double* a,
                     const MKL_INT* lda, const double* af,
                     const MKL_INT* ldaf, const MKL_INT* cmode,
                     const double* c, MKL_INT* info, double* work,
                     MKL_INT* iwork ) NOTHROW;
double dla_porcond( const char* uplo, const MKL_INT* n, const double* a,
                    const MKL_INT* lda, const double* af, const MKL_INT* ldaf,
                    const MKL_INT* cmode, const double* c, MKL_INT* info,
                    double* work, MKL_INT* iwork ) NOTHROW;
double dla_porcond_( const char* uplo, const MKL_INT* n, const double* a,
                     const MKL_INT* lda, const double* af,
                     const MKL_INT* ldaf, const MKL_INT* cmode,
                     const double* c, MKL_INT* info, double* work,
                     MKL_INT* iwork ) NOTHROW;

void DLA_PORFSX_EXTENDED( const MKL_INT* prec_type, const char* uplo,
                          const MKL_INT* n, const MKL_INT* nrhs,
                          const double* a, const MKL_INT* lda,
                          const double* af, const MKL_INT* ldaf,
                          const MKL_INT* colequ, const double* c,
                          const double* b, const MKL_INT* ldb, double* y,
                          const MKL_INT* ldy, double* berr_out,
                          const MKL_INT* n_norms, double* err_bnds_norm,
                          double* err_bnds_comp, double* res, double* ayb,
                          double* dy, double* y_tail, const double* rcond,
                          const MKL_INT* ithresh, const double* rthresh,
                          const double* dz_ub, const MKL_INT* ignore_cwise,
                          MKL_INT* info ) NOTHROW;
void DLA_PORFSX_EXTENDED_( const MKL_INT* prec_type, const char* uplo,
                           const MKL_INT* n, const MKL_INT* nrhs,
                           const double* a, const MKL_INT* lda,
                           const double* af, const MKL_INT* ldaf,
                           const MKL_INT* colequ, const double* c,
                           const double* b, const MKL_INT* ldb, double* y,
                           const MKL_INT* ldy, double* berr_out,
                           const MKL_INT* n_norms, double* err_bnds_norm,
                           double* err_bnds_comp, double* res, double* ayb,
                           double* dy, double* y_tail, const double* rcond,
                           const MKL_INT* ithresh, const double* rthresh,
                           const double* dz_ub, const MKL_INT* ignore_cwise,
                           MKL_INT* info ) NOTHROW;
void dla_porfsx_extended( const MKL_INT* prec_type, const char* uplo,
                          const MKL_INT* n, const MKL_INT* nrhs,
                          const double* a, const MKL_INT* lda,
                          const double* af, const MKL_INT* ldaf,
                          const MKL_INT* colequ, const double* c,
                          const double* b, const MKL_INT* ldb, double* y,
                          const MKL_INT* ldy, double* berr_out,
                          const MKL_INT* n_norms, double* err_bnds_norm,
                          double* err_bnds_comp, double* res, double* ayb,
                          double* dy, double* y_tail, const double* rcond,
                          const MKL_INT* ithresh, const double* rthresh,
                          const double* dz_ub, const MKL_INT* ignore_cwise,
                          MKL_INT* info ) NOTHROW;
void dla_porfsx_extended_( const MKL_INT* prec_type, const char* uplo,
                           const MKL_INT* n, const MKL_INT* nrhs,
                           const double* a, const MKL_INT* lda,
                           const double* af, const MKL_INT* ldaf,
                           const MKL_INT* colequ, const double* c,
                           const double* b, const MKL_INT* ldb, double* y,
                           const MKL_INT* ldy, double* berr_out,
                           const MKL_INT* n_norms, double* err_bnds_norm,
                           double* err_bnds_comp, double* res, double* ayb,
                           double* dy, double* y_tail, const double* rcond,
                           const MKL_INT* ithresh, const double* rthresh,
                           const double* dz_ub, const MKL_INT* ignore_cwise,
                           MKL_INT* info ) NOTHROW;

double DLA_PORPVGRW( const char* uplo, const MKL_INT* ncols, const double* a,
                     const MKL_INT* lda, const double* af,
                     const MKL_INT* ldaf, double* work ) NOTHROW;
double DLA_PORPVGRW_( const char* uplo, const MKL_INT* ncols, const double* a,
                      const MKL_INT* lda, const double* af,
                      const MKL_INT* ldaf, double* work ) NOTHROW;
double dla_porpvgrw( const char* uplo, const MKL_INT* ncols, const double* a,
                     const MKL_INT* lda, const double* af,
                     const MKL_INT* ldaf, double* work ) NOTHROW;
double dla_porpvgrw_( const char* uplo, const MKL_INT* ncols, const double* a,
                      const MKL_INT* lda, const double* af,
                      const MKL_INT* ldaf, double* work ) NOTHROW;

void DLA_SYAMV( const MKL_INT* uplo, const MKL_INT* n, const double* alpha,
                const double* a, const MKL_INT* lda, const double* x,
                const MKL_INT* incx, const double* beta, double* y,
                const MKL_INT* incy ) NOTHROW;
void DLA_SYAMV_( const MKL_INT* uplo, const MKL_INT* n, const double* alpha,
                 const double* a, const MKL_INT* lda, const double* x,
                 const MKL_INT* incx, const double* beta, double* y,
                 const MKL_INT* incy ) NOTHROW;
void dla_syamv( const MKL_INT* uplo, const MKL_INT* n, const double* alpha,
                const double* a, const MKL_INT* lda, const double* x,
                const MKL_INT* incx, const double* beta, double* y,
                const MKL_INT* incy ) NOTHROW;
void dla_syamv_( const MKL_INT* uplo, const MKL_INT* n, const double* alpha,
                 const double* a, const MKL_INT* lda, const double* x,
                 const MKL_INT* incx, const double* beta, double* y,
                 const MKL_INT* incy ) NOTHROW;

double DLA_SYRCOND( const char* uplo, const MKL_INT* n, const double* a,
                    const MKL_INT* lda, const double* af, const MKL_INT* ldaf,
                    const MKL_INT* ipiv, const MKL_INT* cmode,
                    const double* c, MKL_INT* info, double* work,
                    MKL_INT* iwork ) NOTHROW;
double DLA_SYRCOND_( const char* uplo, const MKL_INT* n, const double* a,
                     const MKL_INT* lda, const double* af,
                     const MKL_INT* ldaf, const MKL_INT* ipiv,
                     const MKL_INT* cmode, const double* c, MKL_INT* info,
                     double* work, MKL_INT* iwork ) NOTHROW;
double dla_syrcond( const char* uplo, const MKL_INT* n, const double* a,
                    const MKL_INT* lda, const double* af, const MKL_INT* ldaf,
                    const MKL_INT* ipiv, const MKL_INT* cmode,
                    const double* c, MKL_INT* info, double* work,
                    MKL_INT* iwork ) NOTHROW;
double dla_syrcond_( const char* uplo, const MKL_INT* n, const double* a,
                     const MKL_INT* lda, const double* af,
                     const MKL_INT* ldaf, const MKL_INT* ipiv,
                     const MKL_INT* cmode, const double* c, MKL_INT* info,
                     double* work, MKL_INT* iwork ) NOTHROW;

void DLA_SYRFSX_EXTENDED( const MKL_INT* prec_type, const char* uplo,
                          const MKL_INT* n, const MKL_INT* nrhs,
                          const double* a, const MKL_INT* lda,
                          const double* af, const MKL_INT* ldaf,
                          const MKL_INT* ipiv, const MKL_INT* colequ,
                          const double* c, const double* b,
                          const MKL_INT* ldb, double* y, const MKL_INT* ldy,
                          double* berr_out, const MKL_INT* n_norms,
                          double* err_bnds_norm, double* err_bnds_comp,
                          double* res, double* ayb, double* dy, double* y_tail,
                          const double* rcond, const MKL_INT* ithresh,
                          const double* rthresh, const double* dz_ub,
                          const MKL_INT* ignore_cwise, MKL_INT* info ) NOTHROW;
void DLA_SYRFSX_EXTENDED_( const MKL_INT* prec_type, const char* uplo,
                           const MKL_INT* n, const MKL_INT* nrhs,
                           const double* a, const MKL_INT* lda,
                           const double* af, const MKL_INT* ldaf,
                           const MKL_INT* ipiv, const MKL_INT* colequ,
                           const double* c, const double* b,
                           const MKL_INT* ldb, double* y, const MKL_INT* ldy,
                           double* berr_out, const MKL_INT* n_norms,
                           double* err_bnds_norm, double* err_bnds_comp,
                           double* res, double* ayb, double* dy,
                           double* y_tail, const double* rcond,
                           const MKL_INT* ithresh, const double* rthresh,
                           const double* dz_ub, const MKL_INT* ignore_cwise,
                           MKL_INT* info ) NOTHROW;
void dla_syrfsx_extended( const MKL_INT* prec_type, const char* uplo,
                          const MKL_INT* n, const MKL_INT* nrhs,
                          const double* a, const MKL_INT* lda,
                          const double* af, const MKL_INT* ldaf,
                          const MKL_INT* ipiv, const MKL_INT* colequ,
                          const double* c, const double* b,
                          const MKL_INT* ldb, double* y, const MKL_INT* ldy,
                          double* berr_out, const MKL_INT* n_norms,
                          double* err_bnds_norm, double* err_bnds_comp,
                          double* res, double* ayb, double* dy, double* y_tail,
                          const double* rcond, const MKL_INT* ithresh,
                          const double* rthresh, const double* dz_ub,
                          const MKL_INT* ignore_cwise, MKL_INT* info ) NOTHROW;
void dla_syrfsx_extended_( const MKL_INT* prec_type, const char* uplo,
                           const MKL_INT* n, const MKL_INT* nrhs,
                           const double* a, const MKL_INT* lda,
                           const double* af, const MKL_INT* ldaf,
                           const MKL_INT* ipiv, const MKL_INT* colequ,
                           const double* c, const double* b,
                           const MKL_INT* ldb, double* y, const MKL_INT* ldy,
                           double* berr_out, const MKL_INT* n_norms,
                           double* err_bnds_norm, double* err_bnds_comp,
                           double* res, double* ayb, double* dy,
                           double* y_tail, const double* rcond,
                           const MKL_INT* ithresh, const double* rthresh,
                           const double* dz_ub, const MKL_INT* ignore_cwise,
                           MKL_INT* info ) NOTHROW;

double DLA_SYRPVGRW( const char* uplo, const MKL_INT* n, const MKL_INT* info,
                     const double* a, const MKL_INT* lda, const double* af,
                     const MKL_INT* ldaf, const MKL_INT* ipiv, double* work ) NOTHROW;
double DLA_SYRPVGRW_( const char* uplo, const MKL_INT* n, const MKL_INT* info,
                      const double* a, const MKL_INT* lda, const double* af,
                      const MKL_INT* ldaf, const MKL_INT* ipiv, double* work ) NOTHROW;
double dla_syrpvgrw( const char* uplo, const MKL_INT* n, const MKL_INT* info,
                     const double* a, const MKL_INT* lda, const double* af,
                     const MKL_INT* ldaf, const MKL_INT* ipiv, double* work ) NOTHROW;
double dla_syrpvgrw_( const char* uplo, const MKL_INT* n, const MKL_INT* info,
                      const double* a, const MKL_INT* lda, const double* af,
                      const MKL_INT* ldaf, const MKL_INT* ipiv, double* work ) NOTHROW;

void DLA_WWADDW( const MKL_INT* n, double* x, double* y, const double* w ) NOTHROW;
void DLA_WWADDW_( const MKL_INT* n, double* x, double* y, const double* w ) NOTHROW;
void dla_wwaddw( const MKL_INT* n, double* x, double* y, const double* w ) NOTHROW;
void dla_wwaddw_( const MKL_INT* n, double* x, double* y, const double* w ) NOTHROW;

void DTPRFB( const char* side, const char* trans, const char* direct,
             const char* storev, const MKL_INT* m, const MKL_INT* n,
             const MKL_INT* k, const MKL_INT* l, const double* v,
             const MKL_INT* ldv, const double* t, const MKL_INT* ldt,
             double* a, const MKL_INT* lda, double* b, const MKL_INT* ldb,
             double* work, const MKL_INT* ldwork ) NOTHROW;
void DTPRFB_( const char* side, const char* trans, const char* direct,
              const char* storev, const MKL_INT* m, const MKL_INT* n,
              const MKL_INT* k, const MKL_INT* l, const double* v,
              const MKL_INT* ldv, const double* t, const MKL_INT* ldt,
              double* a, const MKL_INT* lda, double* b, const MKL_INT* ldb,
              double* work, const MKL_INT* ldwork ) NOTHROW;
void dtprfb( const char* side, const char* trans, const char* direct,
             const char* storev, const MKL_INT* m, const MKL_INT* n,
             const MKL_INT* k, const MKL_INT* l, const double* v,
             const MKL_INT* ldv, const double* t, const MKL_INT* ldt,
             double* a, const MKL_INT* lda, double* b, const MKL_INT* ldb,
             double* work, const MKL_INT* ldwork ) NOTHROW;
void dtprfb_( const char* side, const char* trans, const char* direct,
              const char* storev, const MKL_INT* m, const MKL_INT* n,
              const MKL_INT* k, const MKL_INT* l, const double* v,
              const MKL_INT* ldv, const double* t, const MKL_INT* ldt,
              double* a, const MKL_INT* lda, double* b, const MKL_INT* ldb,
              double* work, const MKL_INT* ldwork ) NOTHROW;

void SGEQRT2( const MKL_INT* m, const MKL_INT* n, float* a, const MKL_INT* lda,
              float* t, const MKL_INT* ldt, MKL_INT* info ) NOTHROW;
void SGEQRT2_( const MKL_INT* m, const MKL_INT* n, float* a,
               const MKL_INT* lda, float* t, const MKL_INT* ldt, MKL_INT* info ) NOTHROW;
void sgeqrt2( const MKL_INT* m, const MKL_INT* n, float* a, const MKL_INT* lda,
              float* t, const MKL_INT* ldt, MKL_INT* info ) NOTHROW;
void sgeqrt2_( const MKL_INT* m, const MKL_INT* n, float* a,
               const MKL_INT* lda, float* t, const MKL_INT* ldt, MKL_INT* info ) NOTHROW;

void SLA_GBAMV( const MKL_INT* trans, const MKL_INT* m, const MKL_INT* n,
                const MKL_INT* kl, const MKL_INT* ku, const float* alpha,
                const float* ab, const MKL_INT* ldab, const float* x,
                const MKL_INT* incx, const float* beta, float* y,
                const MKL_INT* incy ) NOTHROW;
void SLA_GBAMV_( const MKL_INT* trans, const MKL_INT* m, const MKL_INT* n,
                 const MKL_INT* kl, const MKL_INT* ku, const float* alpha,
                 const float* ab, const MKL_INT* ldab, const float* x,
                 const MKL_INT* incx, const float* beta, float* y,
                 const MKL_INT* incy ) NOTHROW;
void sla_gbamv( const MKL_INT* trans, const MKL_INT* m, const MKL_INT* n,
                const MKL_INT* kl, const MKL_INT* ku, const float* alpha,
                const float* ab, const MKL_INT* ldab, const float* x,
                const MKL_INT* incx, const float* beta, float* y,
                const MKL_INT* incy ) NOTHROW;
void sla_gbamv_( const MKL_INT* trans, const MKL_INT* m, const MKL_INT* n,
                 const MKL_INT* kl, const MKL_INT* ku, const float* alpha,
                 const float* ab, const MKL_INT* ldab, const float* x,
                 const MKL_INT* incx, const float* beta, float* y,
                 const MKL_INT* incy ) NOTHROW;

float SLA_GBRCOND( const char* trans, const MKL_INT* n, const MKL_INT* kl,
                   const MKL_INT* ku, const float* ab, const MKL_INT* ldab,
                   const float* afb, const MKL_INT* ldafb,
                   const MKL_INT* ipiv, const MKL_INT* cmode, const float* c,
                   MKL_INT* info, float* work, MKL_INT* iwork ) NOTHROW;
float SLA_GBRCOND_( const char* trans, const MKL_INT* n, const MKL_INT* kl,
                    const MKL_INT* ku, const float* ab, const MKL_INT* ldab,
                    const float* afb, const MKL_INT* ldafb,
                    const MKL_INT* ipiv, const MKL_INT* cmode, const float* c,
                    MKL_INT* info, float* work, MKL_INT* iwork ) NOTHROW;
float sla_gbrcond( const char* trans, const MKL_INT* n, const MKL_INT* kl,
                   const MKL_INT* ku, const float* ab, const MKL_INT* ldab,
                   const float* afb, const MKL_INT* ldafb,
                   const MKL_INT* ipiv, const MKL_INT* cmode, const float* c,
                   MKL_INT* info, float* work, MKL_INT* iwork ) NOTHROW;
float sla_gbrcond_( const char* trans, const MKL_INT* n, const MKL_INT* kl,
                    const MKL_INT* ku, const float* ab, const MKL_INT* ldab,
                    const float* afb, const MKL_INT* ldafb,
                    const MKL_INT* ipiv, const MKL_INT* cmode, const float* c,
                    MKL_INT* info, float* work, MKL_INT* iwork ) NOTHROW;

void SLA_GBRFSX_EXTENDED( const MKL_INT* prec_type,
                          const MKL_INT* trans_type, const MKL_INT* n,
                          const MKL_INT* kl, const MKL_INT* ku,
                          const MKL_INT* nrhs, const float* ab,
                          const MKL_INT* ldab, const float* afb,
                          const MKL_INT* ldafb, const MKL_INT* ipiv,
                          const MKL_INT* colequ, const float* c,
                          const float* b, const MKL_INT* ldb, float* y,
                          const MKL_INT* ldy, float* berr_out,
                          const MKL_INT* n_norms, float* err_bnds_norm,
                          float* err_bnds_comp, float* res, float* ayb,
                          float* dy, float* y_tail, const float* rcond,
                          const MKL_INT* ithresh, const float* rthresh,
                          const float* dz_ub, const MKL_INT* ignore_cwise,
                          MKL_INT* info ) NOTHROW;
void SLA_GBRFSX_EXTENDED_( const MKL_INT* prec_type,
                           const MKL_INT* trans_type, const MKL_INT* n,
                           const MKL_INT* kl, const MKL_INT* ku,
                           const MKL_INT* nrhs, const float* ab,
                           const MKL_INT* ldab, const float* afb,
                           const MKL_INT* ldafb, const MKL_INT* ipiv,
                           const MKL_INT* colequ, const float* c,
                           const float* b, const MKL_INT* ldb, float* y,
                           const MKL_INT* ldy, float* berr_out,
                           const MKL_INT* n_norms, float* err_bnds_norm,
                           float* err_bnds_comp, float* res, float* ayb,
                           float* dy, float* y_tail, const float* rcond,
                           const MKL_INT* ithresh, const float* rthresh,
                           const float* dz_ub, const MKL_INT* ignore_cwise,
                           MKL_INT* info ) NOTHROW;
void sla_gbrfsx_extended( const MKL_INT* prec_type,
                          const MKL_INT* trans_type, const MKL_INT* n,
                          const MKL_INT* kl, const MKL_INT* ku,
                          const MKL_INT* nrhs, const float* ab,
                          const MKL_INT* ldab, const float* afb,
                          const MKL_INT* ldafb, const MKL_INT* ipiv,
                          const MKL_INT* colequ, const float* c,
                          const float* b, const MKL_INT* ldb, float* y,
                          const MKL_INT* ldy, float* berr_out,
                          const MKL_INT* n_norms, float* err_bnds_norm,
                          float* err_bnds_comp, float* res, float* ayb,
                          float* dy, float* y_tail, const float* rcond,
                          const MKL_INT* ithresh, const float* rthresh,
                          const float* dz_ub, const MKL_INT* ignore_cwise,
                          MKL_INT* info ) NOTHROW;
void sla_gbrfsx_extended_( const MKL_INT* prec_type,
                           const MKL_INT* trans_type, const MKL_INT* n,
                           const MKL_INT* kl, const MKL_INT* ku,
                           const MKL_INT* nrhs, const float* ab,
                           const MKL_INT* ldab, const float* afb,
                           const MKL_INT* ldafb, const MKL_INT* ipiv,
                           const MKL_INT* colequ, const float* c,
                           const float* b, const MKL_INT* ldb, float* y,
                           const MKL_INT* ldy, float* berr_out,
                           const MKL_INT* n_norms, float* err_bnds_norm,
                           float* err_bnds_comp, float* res, float* ayb,
                           float* dy, float* y_tail, const float* rcond,
                           const MKL_INT* ithresh, const float* rthresh,
                           const float* dz_ub, const MKL_INT* ignore_cwise,
                           MKL_INT* info ) NOTHROW;

float SLA_GBRPVGRW( const MKL_INT* n, const MKL_INT* kl, const MKL_INT* ku,
                    const MKL_INT* ncols, const float* ab,
                    const MKL_INT* ldab, const float* afb,
                    const MKL_INT* ldafb ) NOTHROW;
float SLA_GBRPVGRW_( const MKL_INT* n, const MKL_INT* kl, const MKL_INT* ku,
                     const MKL_INT* ncols, const float* ab,
                     const MKL_INT* ldab, const float* afb,
                     const MKL_INT* ldafb ) NOTHROW;
float sla_gbrpvgrw( const MKL_INT* n, const MKL_INT* kl, const MKL_INT* ku,
                    const MKL_INT* ncols, const float* ab,
                    const MKL_INT* ldab, const float* afb,
                    const MKL_INT* ldafb ) NOTHROW;
float sla_gbrpvgrw_( const MKL_INT* n, const MKL_INT* kl, const MKL_INT* ku,
                     const MKL_INT* ncols, const float* ab,
                     const MKL_INT* ldab, const float* afb,
                     const MKL_INT* ldafb ) NOTHROW;

void SLA_GEAMV( const MKL_INT* trans, const MKL_INT* m, const MKL_INT* n,
                const float* alpha, const float* a, const MKL_INT* lda,
                const float* x, const MKL_INT* incx, const float* beta,
                float* y, const MKL_INT* incy ) NOTHROW;
void SLA_GEAMV_( const MKL_INT* trans, const MKL_INT* m, const MKL_INT* n,
                 const float* alpha, const float* a, const MKL_INT* lda,
                 const float* x, const MKL_INT* incx, const float* beta,
                 float* y, const MKL_INT* incy ) NOTHROW;
void sla_geamv( const MKL_INT* trans, const MKL_INT* m, const MKL_INT* n,
                const float* alpha, const float* a, const MKL_INT* lda,
                const float* x, const MKL_INT* incx, const float* beta,
                float* y, const MKL_INT* incy ) NOTHROW;
void sla_geamv_( const MKL_INT* trans, const MKL_INT* m, const MKL_INT* n,
                 const float* alpha, const float* a, const MKL_INT* lda,
                 const float* x, const MKL_INT* incx, const float* beta,
                 float* y, const MKL_INT* incy ) NOTHROW;

float SLA_GERCOND( const char* trans, const MKL_INT* n, const float* a,
                   const MKL_INT* lda, const float* af, const MKL_INT* ldaf,
                   const MKL_INT* ipiv, const MKL_INT* cmode, const float* c,
                   MKL_INT* info, float* work, MKL_INT* iwork ) NOTHROW;
float SLA_GERCOND_( const char* trans, const MKL_INT* n, const float* a,
                    const MKL_INT* lda, const float* af, const MKL_INT* ldaf,
                    const MKL_INT* ipiv, const MKL_INT* cmode, const float* c,
                    MKL_INT* info, float* work, MKL_INT* iwork ) NOTHROW;
float sla_gercond( const char* trans, const MKL_INT* n, const float* a,
                   const MKL_INT* lda, const float* af, const MKL_INT* ldaf,
                   const MKL_INT* ipiv, const MKL_INT* cmode, const float* c,
                   MKL_INT* info, float* work, MKL_INT* iwork ) NOTHROW;
float sla_gercond_( const char* trans, const MKL_INT* n, const float* a,
                    const MKL_INT* lda, const float* af, const MKL_INT* ldaf,
                    const MKL_INT* ipiv, const MKL_INT* cmode, const float* c,
                    MKL_INT* info, float* work, MKL_INT* iwork ) NOTHROW;

void SLA_GERFSX_EXTENDED( const MKL_INT* prec_type,
                          const MKL_INT* trans_type, const MKL_INT* n,
                          const MKL_INT* nrhs, const float* a,
                          const MKL_INT* lda, const float* af,
                          const MKL_INT* ldaf, const MKL_INT* ipiv,
                          const MKL_INT* colequ, const float* c,
                          const float* b, const MKL_INT* ldb, float* y,
                          const MKL_INT* ldy, float* berr_out,
                          const MKL_INT* n_norms, float* errs_n,
                          float* errs_c, float* res, float* ayb, float* dy,
                          float* y_tail, const float* rcond,
                          const MKL_INT* ithresh, const float* rthresh,
                          const float* dz_ub, const MKL_INT* ignore_cwise,
                          MKL_INT* info ) NOTHROW;
void SLA_GERFSX_EXTENDED_( const MKL_INT* prec_type,
                           const MKL_INT* trans_type, const MKL_INT* n,
                           const MKL_INT* nrhs, const float* a,
                           const MKL_INT* lda, const float* af,
                           const MKL_INT* ldaf, const MKL_INT* ipiv,
                           const MKL_INT* colequ, const float* c,
                           const float* b, const MKL_INT* ldb, float* y,
                           const MKL_INT* ldy, float* berr_out,
                           const MKL_INT* n_norms, float* errs_n,
                           float* errs_c, float* res, float* ayb, float* dy,
                           float* y_tail, const float* rcond,
                           const MKL_INT* ithresh, const float* rthresh,
                           const float* dz_ub, const MKL_INT* ignore_cwise,
                           MKL_INT* info ) NOTHROW;
void sla_gerfsx_extended( const MKL_INT* prec_type,
                          const MKL_INT* trans_type, const MKL_INT* n,
                          const MKL_INT* nrhs, const float* a,
                          const MKL_INT* lda, const float* af,
                          const MKL_INT* ldaf, const MKL_INT* ipiv,
                          const MKL_INT* colequ, const float* c,
                          const float* b, const MKL_INT* ldb, float* y,
                          const MKL_INT* ldy, float* berr_out,
                          const MKL_INT* n_norms, float* errs_n,
                          float* errs_c, float* res, float* ayb, float* dy,
                          float* y_tail, const float* rcond,
                          const MKL_INT* ithresh, const float* rthresh,
                          const float* dz_ub, const MKL_INT* ignore_cwise,
                          MKL_INT* info ) NOTHROW;
void sla_gerfsx_extended_( const MKL_INT* prec_type,
                           const MKL_INT* trans_type, const MKL_INT* n,
                           const MKL_INT* nrhs, const float* a,
                           const MKL_INT* lda, const float* af,
                           const MKL_INT* ldaf, const MKL_INT* ipiv,
                           const MKL_INT* colequ, const float* c,
                           const float* b, const MKL_INT* ldb, float* y,
                           const MKL_INT* ldy, float* berr_out,
                           const MKL_INT* n_norms, float* errs_n,
                           float* errs_c, float* res, float* ayb, float* dy,
                           float* y_tail, const float* rcond,
                           const MKL_INT* ithresh, const float* rthresh,
                           const float* dz_ub, const MKL_INT* ignore_cwise,
                           MKL_INT* info ) NOTHROW;

float SLA_GERPVGRW( const MKL_INT* n, const MKL_INT* ncols, const float* a,
                    const MKL_INT* lda, const float* af, const MKL_INT* ldaf ) NOTHROW;
float SLA_GERPVGRW_( const MKL_INT* n, const MKL_INT* ncols, const float* a,
                     const MKL_INT* lda, const float* af, const MKL_INT* ldaf ) NOTHROW;
float sla_gerpvgrw( const MKL_INT* n, const MKL_INT* ncols, const float* a,
                    const MKL_INT* lda, const float* af, const MKL_INT* ldaf ) NOTHROW;
float sla_gerpvgrw_( const MKL_INT* n, const MKL_INT* ncols, const float* a,
                     const MKL_INT* lda, const float* af, const MKL_INT* ldaf ) NOTHROW;

void SLA_LIN_BERR( const MKL_INT* n, const MKL_INT* nz, const MKL_INT* nrhs,
                   const float* res, const float* ayb, float* berr ) NOTHROW;
void SLA_LIN_BERR_( const MKL_INT* n, const MKL_INT* nz, const MKL_INT* nrhs,
                    const float* res, const float* ayb, float* berr ) NOTHROW;
void sla_lin_berr( const MKL_INT* n, const MKL_INT* nz, const MKL_INT* nrhs,
                   const float* res, const float* ayb, float* berr ) NOTHROW;
void sla_lin_berr_( const MKL_INT* n, const MKL_INT* nz, const MKL_INT* nrhs,
                    const float* res, const float* ayb, float* berr ) NOTHROW;

float SLA_PORCOND( const char* uplo, const MKL_INT* n, const float* a,
                   const MKL_INT* lda, const float* af, const MKL_INT* ldaf,
                   const MKL_INT* cmode, const float* c, MKL_INT* info,
                   float* work, MKL_INT* iwork ) NOTHROW;
float SLA_PORCOND_( const char* uplo, const MKL_INT* n, const float* a,
                    const MKL_INT* lda, const float* af, const MKL_INT* ldaf,
                    const MKL_INT* cmode, const float* c, MKL_INT* info,
                    float* work, MKL_INT* iwork ) NOTHROW;
float sla_porcond( const char* uplo, const MKL_INT* n, const float* a,
                   const MKL_INT* lda, const float* af, const MKL_INT* ldaf,
                   const MKL_INT* cmode, const float* c, MKL_INT* info,
                   float* work, MKL_INT* iwork ) NOTHROW;
float sla_porcond_( const char* uplo, const MKL_INT* n, const float* a,
                    const MKL_INT* lda, const float* af, const MKL_INT* ldaf,
                    const MKL_INT* cmode, const float* c, MKL_INT* info,
                    float* work, MKL_INT* iwork ) NOTHROW;

void SLA_PORFSX_EXTENDED( const MKL_INT* prec_type, const char* uplo,
                          const MKL_INT* n, const MKL_INT* nrhs,
                          const float* a, const MKL_INT* lda, const float* af,
                          const MKL_INT* ldaf, const MKL_INT* colequ,
                          const float* c, const float* b, const MKL_INT* ldb,
                          float* y, const MKL_INT* ldy, float* berr_out,
                          const MKL_INT* n_norms, float* err_bnds_norm,
                          float* err_bnds_comp, float* res, float* ayb,
                          float* dy, float* y_tail, const float* rcond,
                          const MKL_INT* ithresh, const float* rthresh,
                          const float* dz_ub, const MKL_INT* ignore_cwise,
                          MKL_INT* info ) NOTHROW;
void SLA_PORFSX_EXTENDED_( const MKL_INT* prec_type, const char* uplo,
                           const MKL_INT* n, const MKL_INT* nrhs,
                           const float* a, const MKL_INT* lda,
                           const float* af, const MKL_INT* ldaf,
                           const MKL_INT* colequ, const float* c,
                           const float* b, const MKL_INT* ldb, float* y,
                           const MKL_INT* ldy, float* berr_out,
                           const MKL_INT* n_norms, float* err_bnds_norm,
                           float* err_bnds_comp, float* res, float* ayb,
                           float* dy, float* y_tail, const float* rcond,
                           const MKL_INT* ithresh, const float* rthresh,
                           const float* dz_ub, const MKL_INT* ignore_cwise,
                           MKL_INT* info ) NOTHROW;
void sla_porfsx_extended( const MKL_INT* prec_type, const char* uplo,
                          const MKL_INT* n, const MKL_INT* nrhs,
                          const float* a, const MKL_INT* lda, const float* af,
                          const MKL_INT* ldaf, const MKL_INT* colequ,
                          const float* c, const float* b, const MKL_INT* ldb,
                          float* y, const MKL_INT* ldy, float* berr_out,
                          const MKL_INT* n_norms, float* err_bnds_norm,
                          float* err_bnds_comp, float* res, float* ayb,
                          float* dy, float* y_tail, const float* rcond,
                          const MKL_INT* ithresh, const float* rthresh,
                          const float* dz_ub, const MKL_INT* ignore_cwise,
                          MKL_INT* info ) NOTHROW;
void sla_porfsx_extended_( const MKL_INT* prec_type, const char* uplo,
                           const MKL_INT* n, const MKL_INT* nrhs,
                           const float* a, const MKL_INT* lda,
                           const float* af, const MKL_INT* ldaf,
                           const MKL_INT* colequ, const float* c,
                           const float* b, const MKL_INT* ldb, float* y,
                           const MKL_INT* ldy, float* berr_out,
                           const MKL_INT* n_norms, float* err_bnds_norm,
                           float* err_bnds_comp, float* res, float* ayb,
                           float* dy, float* y_tail, const float* rcond,
                           const MKL_INT* ithresh, const float* rthresh,
                           const float* dz_ub, const MKL_INT* ignore_cwise,
                           MKL_INT* info ) NOTHROW;

float SLA_PORPVGRW( const char* uplo, const MKL_INT* ncols, const float* a,
                    const MKL_INT* lda, const float* af, const MKL_INT* ldaf,
                    float* work ) NOTHROW;
float SLA_PORPVGRW_( const char* uplo, const MKL_INT* ncols, const float* a,
                     const MKL_INT* lda, const float* af, const MKL_INT* ldaf,
                     float* work ) NOTHROW;
float sla_porpvgrw( const char* uplo, const MKL_INT* ncols, const float* a,
                    const MKL_INT* lda, const float* af, const MKL_INT* ldaf,
                    float* work ) NOTHROW;
float sla_porpvgrw_( const char* uplo, const MKL_INT* ncols, const float* a,
                     const MKL_INT* lda, const float* af, const MKL_INT* ldaf,
                     float* work ) NOTHROW;

void SLA_SYAMV( const MKL_INT* uplo, const MKL_INT* n, const float* alpha,
                const float* a, const MKL_INT* lda, const float* x,
                const MKL_INT* incx, const float* beta, float* y,
                const MKL_INT* incy ) NOTHROW;
void SLA_SYAMV_( const MKL_INT* uplo, const MKL_INT* n, const float* alpha,
                 const float* a, const MKL_INT* lda, const float* x,
                 const MKL_INT* incx, const float* beta, float* y,
                 const MKL_INT* incy ) NOTHROW;
void sla_syamv( const MKL_INT* uplo, const MKL_INT* n, const float* alpha,
                const float* a, const MKL_INT* lda, const float* x,
                const MKL_INT* incx, const float* beta, float* y,
                const MKL_INT* incy ) NOTHROW;
void sla_syamv_( const MKL_INT* uplo, const MKL_INT* n, const float* alpha,
                 const float* a, const MKL_INT* lda, const float* x,
                 const MKL_INT* incx, const float* beta, float* y,
                 const MKL_INT* incy ) NOTHROW;

float SLA_SYRCOND( const char* uplo, const MKL_INT* n, const float* a,
                   const MKL_INT* lda, const float* af, const MKL_INT* ldaf,
                   const MKL_INT* ipiv, const MKL_INT* cmode, const float* c,
                   MKL_INT* info, float* work, MKL_INT* iwork ) NOTHROW;
float SLA_SYRCOND_( const char* uplo, const MKL_INT* n, const float* a,
                    const MKL_INT* lda, const float* af, const MKL_INT* ldaf,
                    const MKL_INT* ipiv, const MKL_INT* cmode, const float* c,
                    MKL_INT* info, float* work, MKL_INT* iwork ) NOTHROW;
float sla_syrcond( const char* uplo, const MKL_INT* n, const float* a,
                   const MKL_INT* lda, const float* af, const MKL_INT* ldaf,
                   const MKL_INT* ipiv, const MKL_INT* cmode, const float* c,
                   MKL_INT* info, float* work, MKL_INT* iwork ) NOTHROW;
float sla_syrcond_( const char* uplo, const MKL_INT* n, const float* a,
                    const MKL_INT* lda, const float* af, const MKL_INT* ldaf,
                    const MKL_INT* ipiv, const MKL_INT* cmode, const float* c,
                    MKL_INT* info, float* work, MKL_INT* iwork ) NOTHROW;

void SLA_SYRFSX_EXTENDED( const MKL_INT* prec_type, const char* uplo,
                          const MKL_INT* n, const MKL_INT* nrhs,
                          const float* a, const MKL_INT* lda, const float* af,
                          const MKL_INT* ldaf, const MKL_INT* ipiv,
                          const MKL_INT* colequ, const float* c,
                          const float* b, const MKL_INT* ldb, float* y,
                          const MKL_INT* ldy, float* berr_out,
                          const MKL_INT* n_norms, float* err_bnds_norm,
                          float* err_bnds_comp, float* res, float* ayb,
                          float* dy, float* y_tail, const float* rcond,
                          const MKL_INT* ithresh, const float* rthresh,
                          const float* dz_ub, const MKL_INT* ignore_cwise,
                          MKL_INT* info ) NOTHROW;
void SLA_SYRFSX_EXTENDED_( const MKL_INT* prec_type, const char* uplo,
                           const MKL_INT* n, const MKL_INT* nrhs,
                           const float* a, const MKL_INT* lda,
                           const float* af, const MKL_INT* ldaf,
                           const MKL_INT* ipiv, const MKL_INT* colequ,
                           const float* c, const float* b, const MKL_INT* ldb,
                           float* y, const MKL_INT* ldy, float* berr_out,
                           const MKL_INT* n_norms, float* err_bnds_norm,
                           float* err_bnds_comp, float* res, float* ayb,
                           float* dy, float* y_tail, const float* rcond,
                           const MKL_INT* ithresh, const float* rthresh,
                           const float* dz_ub, const MKL_INT* ignore_cwise,
                           MKL_INT* info ) NOTHROW;
void sla_syrfsx_extended( const MKL_INT* prec_type, const char* uplo,
                          const MKL_INT* n, const MKL_INT* nrhs,
                          const float* a, const MKL_INT* lda, const float* af,
                          const MKL_INT* ldaf, const MKL_INT* ipiv,
                          const MKL_INT* colequ, const float* c,
                          const float* b, const MKL_INT* ldb, float* y,
                          const MKL_INT* ldy, float* berr_out,
                          const MKL_INT* n_norms, float* err_bnds_norm,
                          float* err_bnds_comp, float* res, float* ayb,
                          float* dy, float* y_tail, const float* rcond,
                          const MKL_INT* ithresh, const float* rthresh,
                          const float* dz_ub, const MKL_INT* ignore_cwise,
                          MKL_INT* info ) NOTHROW;
void sla_syrfsx_extended_( const MKL_INT* prec_type, const char* uplo,
                           const MKL_INT* n, const MKL_INT* nrhs,
                           const float* a, const MKL_INT* lda,
                           const float* af, const MKL_INT* ldaf,
                           const MKL_INT* ipiv, const MKL_INT* colequ,
                           const float* c, const float* b, const MKL_INT* ldb,
                           float* y, const MKL_INT* ldy, float* berr_out,
                           const MKL_INT* n_norms, float* err_bnds_norm,
                           float* err_bnds_comp, float* res, float* ayb,
                           float* dy, float* y_tail, const float* rcond,
                           const MKL_INT* ithresh, const float* rthresh,
                           const float* dz_ub, const MKL_INT* ignore_cwise,
                           MKL_INT* info ) NOTHROW;

float SLA_SYRPVGRW( const char* uplo, const MKL_INT* n, const MKL_INT* info,
                    const float* a, const MKL_INT* lda, const float* af,
                    const MKL_INT* ldaf, const MKL_INT* ipiv, float* work ) NOTHROW;
float SLA_SYRPVGRW_( const char* uplo, const MKL_INT* n, const MKL_INT* info,
                     const float* a, const MKL_INT* lda, const float* af,
                     const MKL_INT* ldaf, const MKL_INT* ipiv, float* work ) NOTHROW;
float sla_syrpvgrw( const char* uplo, const MKL_INT* n, const MKL_INT* info,
                    const float* a, const MKL_INT* lda, const float* af,
                    const MKL_INT* ldaf, const MKL_INT* ipiv, float* work ) NOTHROW;
float sla_syrpvgrw_( const char* uplo, const MKL_INT* n, const MKL_INT* info,
                     const float* a, const MKL_INT* lda, const float* af,
                     const MKL_INT* ldaf, const MKL_INT* ipiv, float* work ) NOTHROW;

void SLA_WWADDW( const MKL_INT* n, float* x, float* y, const float* w ) NOTHROW;
void SLA_WWADDW_( const MKL_INT* n, float* x, float* y, const float* w ) NOTHROW;
void sla_wwaddw( const MKL_INT* n, float* x, float* y, const float* w ) NOTHROW;
void sla_wwaddw_( const MKL_INT* n, float* x, float* y, const float* w ) NOTHROW;

void STPRFB( const char* side, const char* trans, const char* direct,
             const char* storev, const MKL_INT* m, const MKL_INT* n,
             const MKL_INT* k, const MKL_INT* l, const float* v,
             const MKL_INT* ldv, const float* t, const MKL_INT* ldt, float* a,
             const MKL_INT* lda, float* b, const MKL_INT* ldb, float* work,
             const MKL_INT* ldwork ) NOTHROW;
void STPRFB_( const char* side, const char* trans, const char* direct,
              const char* storev, const MKL_INT* m, const MKL_INT* n,
              const MKL_INT* k, const MKL_INT* l, const float* v,
              const MKL_INT* ldv, const float* t, const MKL_INT* ldt, float* a,
              const MKL_INT* lda, float* b, const MKL_INT* ldb, float* work,
              const MKL_INT* ldwork ) NOTHROW;
void stprfb( const char* side, const char* trans, const char* direct,
             const char* storev, const MKL_INT* m, const MKL_INT* n,
             const MKL_INT* k, const MKL_INT* l, const float* v,
             const MKL_INT* ldv, const float* t, const MKL_INT* ldt, float* a,
             const MKL_INT* lda, float* b, const MKL_INT* ldb, float* work,
             const MKL_INT* ldwork ) NOTHROW;
void stprfb_( const char* side, const char* trans, const char* direct,
              const char* storev, const MKL_INT* m, const MKL_INT* n,
              const MKL_INT* k, const MKL_INT* l, const float* v,
              const MKL_INT* ldv, const float* t, const MKL_INT* ldt, float* a,
              const MKL_INT* lda, float* b, const MKL_INT* ldb, float* work,
              const MKL_INT* ldwork ) NOTHROW;

void ZGEQRT2( const MKL_INT* m, const MKL_INT* n, MKL_Complex16* a,
              const MKL_INT* lda, MKL_Complex16* t, const MKL_INT* ldt,
              MKL_INT* info ) NOTHROW;
void ZGEQRT2_( const MKL_INT* m, const MKL_INT* n, MKL_Complex16* a,
               const MKL_INT* lda, MKL_Complex16* t, const MKL_INT* ldt,
               MKL_INT* info ) NOTHROW;
void zgeqrt2( const MKL_INT* m, const MKL_INT* n, MKL_Complex16* a,
              const MKL_INT* lda, MKL_Complex16* t, const MKL_INT* ldt,
              MKL_INT* info ) NOTHROW;
void zgeqrt2_( const MKL_INT* m, const MKL_INT* n, MKL_Complex16* a,
               const MKL_INT* lda, MKL_Complex16* t, const MKL_INT* ldt,
               MKL_INT* info ) NOTHROW;

void ZHESWAPR( const char* uplo, const MKL_INT* n, MKL_Complex16* a,
               const MKL_INT* lda, const MKL_INT* i1, const MKL_INT* i2 ) NOTHROW;
void ZHESWAPR_( const char* uplo, const MKL_INT* n, MKL_Complex16* a,
                const MKL_INT* lda, const MKL_INT* i1, const MKL_INT* i2 ) NOTHROW;
void zheswapr( const char* uplo, const MKL_INT* n, MKL_Complex16* a,
               const MKL_INT* lda, const MKL_INT* i1, const MKL_INT* i2 ) NOTHROW;
void zheswapr_( const char* uplo, const MKL_INT* n, MKL_Complex16* a,
                const MKL_INT* lda, const MKL_INT* i1, const MKL_INT* i2 ) NOTHROW;

void ZHETRI2( const char* uplo, const MKL_INT* n, MKL_Complex16* a,
              const MKL_INT* lda, const MKL_INT* ipiv, MKL_Complex16* work,
              const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void ZHETRI2_( const char* uplo, const MKL_INT* n, MKL_Complex16* a,
               const MKL_INT* lda, const MKL_INT* ipiv, MKL_Complex16* work,
               const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void zhetri2( const char* uplo, const MKL_INT* n, MKL_Complex16* a,
              const MKL_INT* lda, const MKL_INT* ipiv, MKL_Complex16* work,
              const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void zhetri2_( const char* uplo, const MKL_INT* n, MKL_Complex16* a,
               const MKL_INT* lda, const MKL_INT* ipiv, MKL_Complex16* work,
               const MKL_INT* lwork, MKL_INT* info ) NOTHROW;

void ZHETRI2X( const char* uplo, const MKL_INT* n, MKL_Complex16* a,
               const MKL_INT* lda, const MKL_INT* ipiv, MKL_Complex16* work,
               const MKL_INT* nb, MKL_INT* info ) NOTHROW;
void ZHETRI2X_( const char* uplo, const MKL_INT* n, MKL_Complex16* a,
                const MKL_INT* lda, const MKL_INT* ipiv, MKL_Complex16* work,
                const MKL_INT* nb, MKL_INT* info ) NOTHROW;
void zhetri2x( const char* uplo, const MKL_INT* n, MKL_Complex16* a,
               const MKL_INT* lda, const MKL_INT* ipiv, MKL_Complex16* work,
               const MKL_INT* nb, MKL_INT* info ) NOTHROW;
void zhetri2x_( const char* uplo, const MKL_INT* n, MKL_Complex16* a,
                const MKL_INT* lda, const MKL_INT* ipiv, MKL_Complex16* work,
                const MKL_INT* nb, MKL_INT* info ) NOTHROW;

void ZLA_GBAMV( const MKL_INT* trans, const MKL_INT* m, const MKL_INT* n,
                const MKL_INT* kl, const MKL_INT* ku, const double* alpha,
                const MKL_Complex16* ab, const MKL_INT* ldab,
                const MKL_Complex16* x, const MKL_INT* incx,
                const double* beta, double* y, const MKL_INT* incy ) NOTHROW;
void ZLA_GBAMV_( const MKL_INT* trans, const MKL_INT* m, const MKL_INT* n,
                 const MKL_INT* kl, const MKL_INT* ku, const double* alpha,
                 const MKL_Complex16* ab, const MKL_INT* ldab,
                 const MKL_Complex16* x, const MKL_INT* incx,
                 const double* beta, double* y, const MKL_INT* incy ) NOTHROW;
void zla_gbamv( const MKL_INT* trans, const MKL_INT* m, const MKL_INT* n,
                const MKL_INT* kl, const MKL_INT* ku, const double* alpha,
                const MKL_Complex16* ab, const MKL_INT* ldab,
                const MKL_Complex16* x, const MKL_INT* incx,
                const double* beta, double* y, const MKL_INT* incy ) NOTHROW;
void zla_gbamv_( const MKL_INT* trans, const MKL_INT* m, const MKL_INT* n,
                 const MKL_INT* kl, const MKL_INT* ku, const double* alpha,
                 const MKL_Complex16* ab, const MKL_INT* ldab,
                 const MKL_Complex16* x, const MKL_INT* incx,
                 const double* beta, double* y, const MKL_INT* incy ) NOTHROW;

double ZLA_GBRCOND_C( const char* trans, const MKL_INT* n, const MKL_INT* kl,
                      const MKL_INT* ku, const MKL_Complex16* ab,
                      const MKL_INT* ldab, const MKL_Complex16* afb,
                      const MKL_INT* ldafb, const MKL_INT* ipiv,
                      const double* c, const MKL_INT* capply, MKL_INT* info,
                      MKL_Complex16* work, double* rwork ) NOTHROW;
double ZLA_GBRCOND_C_( const char* trans, const MKL_INT* n, const MKL_INT* kl,
                       const MKL_INT* ku, const MKL_Complex16* ab,
                       const MKL_INT* ldab, const MKL_Complex16* afb,
                       const MKL_INT* ldafb, const MKL_INT* ipiv,
                       const double* c, const MKL_INT* capply, MKL_INT* info,
                       MKL_Complex16* work, double* rwork ) NOTHROW;
double zla_gbrcond_c( const char* trans, const MKL_INT* n, const MKL_INT* kl,
                      const MKL_INT* ku, const MKL_Complex16* ab,
                      const MKL_INT* ldab, const MKL_Complex16* afb,
                      const MKL_INT* ldafb, const MKL_INT* ipiv,
                      const double* c, const MKL_INT* capply, MKL_INT* info,
                      MKL_Complex16* work, double* rwork ) NOTHROW;
double zla_gbrcond_c_( const char* trans, const MKL_INT* n, const MKL_INT* kl,
                       const MKL_INT* ku, const MKL_Complex16* ab,
                       const MKL_INT* ldab, const MKL_Complex16* afb,
                       const MKL_INT* ldafb, const MKL_INT* ipiv,
                       const double* c, const MKL_INT* capply, MKL_INT* info,
                       MKL_Complex16* work, double* rwork ) NOTHROW;

double ZLA_GBRCOND_X( const char* trans, const MKL_INT* n, const MKL_INT* kl,
                      const MKL_INT* ku, const MKL_Complex16* ab,
                      const MKL_INT* ldab, const MKL_Complex16* afb,
                      const MKL_INT* ldafb, const MKL_INT* ipiv,
                      const MKL_Complex16* x, MKL_INT* info,
                      MKL_Complex16* work, double* rwork ) NOTHROW;
double ZLA_GBRCOND_X_( const char* trans, const MKL_INT* n, const MKL_INT* kl,
                       const MKL_INT* ku, const MKL_Complex16* ab,
                       const MKL_INT* ldab, const MKL_Complex16* afb,
                       const MKL_INT* ldafb, const MKL_INT* ipiv,
                       const MKL_Complex16* x, MKL_INT* info,
                       MKL_Complex16* work, double* rwork ) NOTHROW;
double zla_gbrcond_x( const char* trans, const MKL_INT* n, const MKL_INT* kl,
                      const MKL_INT* ku, const MKL_Complex16* ab,
                      const MKL_INT* ldab, const MKL_Complex16* afb,
                      const MKL_INT* ldafb, const MKL_INT* ipiv,
                      const MKL_Complex16* x, MKL_INT* info,
                      MKL_Complex16* work, double* rwork ) NOTHROW;
double zla_gbrcond_x_( const char* trans, const MKL_INT* n, const MKL_INT* kl,
                       const MKL_INT* ku, const MKL_Complex16* ab,
                       const MKL_INT* ldab, const MKL_Complex16* afb,
                       const MKL_INT* ldafb, const MKL_INT* ipiv,
                       const MKL_Complex16* x, MKL_INT* info,
                       MKL_Complex16* work, double* rwork ) NOTHROW;

void ZLA_GBRFSX_EXTENDED( const MKL_INT* prec_type,
                          const MKL_INT* trans_type, const MKL_INT* n,
                          const MKL_INT* kl, const MKL_INT* ku,
                          const MKL_INT* nrhs, const MKL_Complex16* ab,
                          const MKL_INT* ldab, const MKL_Complex16* afb,
                          const MKL_INT* ldafb, const MKL_INT* ipiv,
                          const MKL_INT* colequ, const double* c,
                          const MKL_Complex16* b, const MKL_INT* ldb,
                          MKL_Complex16* y, const MKL_INT* ldy,
                          double* berr_out, const MKL_INT* n_norms,
                          double* err_bnds_norm, double* err_bnds_comp,
                          MKL_Complex16* res, double* ayb, MKL_Complex16* dy,
                          MKL_Complex16* y_tail, const double* rcond,
                          const MKL_INT* ithresh, const double* rthresh,
                          const double* dz_ub, const MKL_INT* ignore_cwise,
                          MKL_INT* info ) NOTHROW;
void ZLA_GBRFSX_EXTENDED_( const MKL_INT* prec_type,
                           const MKL_INT* trans_type, const MKL_INT* n,
                           const MKL_INT* kl, const MKL_INT* ku,
                           const MKL_INT* nrhs, const MKL_Complex16* ab,
                           const MKL_INT* ldab, const MKL_Complex16* afb,
                           const MKL_INT* ldafb, const MKL_INT* ipiv,
                           const MKL_INT* colequ, const double* c,
                           const MKL_Complex16* b, const MKL_INT* ldb,
                           MKL_Complex16* y, const MKL_INT* ldy,
                           double* berr_out, const MKL_INT* n_norms,
                           double* err_bnds_norm, double* err_bnds_comp,
                           MKL_Complex16* res, double* ayb, MKL_Complex16* dy,
                           MKL_Complex16* y_tail, const double* rcond,
                           const MKL_INT* ithresh, const double* rthresh,
                           const double* dz_ub, const MKL_INT* ignore_cwise,
                           MKL_INT* info ) NOTHROW;
void zla_gbrfsx_extended( const MKL_INT* prec_type,
                          const MKL_INT* trans_type, const MKL_INT* n,
                          const MKL_INT* kl, const MKL_INT* ku,
                          const MKL_INT* nrhs, const MKL_Complex16* ab,
                          const MKL_INT* ldab, const MKL_Complex16* afb,
                          const MKL_INT* ldafb, const MKL_INT* ipiv,
                          const MKL_INT* colequ, const double* c,
                          const MKL_Complex16* b, const MKL_INT* ldb,
                          MKL_Complex16* y, const MKL_INT* ldy,
                          double* berr_out, const MKL_INT* n_norms,
                          double* err_bnds_norm, double* err_bnds_comp,
                          MKL_Complex16* res, double* ayb, MKL_Complex16* dy,
                          MKL_Complex16* y_tail, const double* rcond,
                          const MKL_INT* ithresh, const double* rthresh,
                          const double* dz_ub, const MKL_INT* ignore_cwise,
                          MKL_INT* info ) NOTHROW;
void zla_gbrfsx_extended_( const MKL_INT* prec_type,
                           const MKL_INT* trans_type, const MKL_INT* n,
                           const MKL_INT* kl, const MKL_INT* ku,
                           const MKL_INT* nrhs, const MKL_Complex16* ab,
                           const MKL_INT* ldab, const MKL_Complex16* afb,
                           const MKL_INT* ldafb, const MKL_INT* ipiv,
                           const MKL_INT* colequ, const double* c,
                           const MKL_Complex16* b, const MKL_INT* ldb,
                           MKL_Complex16* y, const MKL_INT* ldy,
                           double* berr_out, const MKL_INT* n_norms,
                           double* err_bnds_norm, double* err_bnds_comp,
                           MKL_Complex16* res, double* ayb, MKL_Complex16* dy,
                           MKL_Complex16* y_tail, const double* rcond,
                           const MKL_INT* ithresh, const double* rthresh,
                           const double* dz_ub, const MKL_INT* ignore_cwise,
                           MKL_INT* info ) NOTHROW;

double ZLA_GBRPVGRW( const MKL_INT* n, const MKL_INT* kl, const MKL_INT* ku,
                     const MKL_INT* ncols, const MKL_Complex16* ab,
                     const MKL_INT* ldab, const MKL_Complex16* afb,
                     const MKL_INT* ldafb ) NOTHROW;
double ZLA_GBRPVGRW_( const MKL_INT* n, const MKL_INT* kl, const MKL_INT* ku,
                      const MKL_INT* ncols, const MKL_Complex16* ab,
                      const MKL_INT* ldab, const MKL_Complex16* afb,
                      const MKL_INT* ldafb ) NOTHROW;
double zla_gbrpvgrw( const MKL_INT* n, const MKL_INT* kl, const MKL_INT* ku,
                     const MKL_INT* ncols, const MKL_Complex16* ab,
                     const MKL_INT* ldab, const MKL_Complex16* afb,
                     const MKL_INT* ldafb ) NOTHROW;
double zla_gbrpvgrw_( const MKL_INT* n, const MKL_INT* kl, const MKL_INT* ku,
                      const MKL_INT* ncols, const MKL_Complex16* ab,
                      const MKL_INT* ldab, const MKL_Complex16* afb,
                      const MKL_INT* ldafb ) NOTHROW;

void ZLA_GEAMV( const MKL_INT* trans, const MKL_INT* m, const MKL_INT* n,
                const double* alpha, const MKL_Complex16* a,
                const MKL_INT* lda, const MKL_Complex16* x,
                const MKL_INT* incx, const double* beta, double* y,
                const MKL_INT* incy ) NOTHROW;
void ZLA_GEAMV_( const MKL_INT* trans, const MKL_INT* m, const MKL_INT* n,
                 const double* alpha, const MKL_Complex16* a,
                 const MKL_INT* lda, const MKL_Complex16* x,
                 const MKL_INT* incx, const double* beta, double* y,
                 const MKL_INT* incy ) NOTHROW;
void zla_geamv( const MKL_INT* trans, const MKL_INT* m, const MKL_INT* n,
                const double* alpha, const MKL_Complex16* a,
                const MKL_INT* lda, const MKL_Complex16* x,
                const MKL_INT* incx, const double* beta, double* y,
                const MKL_INT* incy ) NOTHROW;
void zla_geamv_( const MKL_INT* trans, const MKL_INT* m, const MKL_INT* n,
                 const double* alpha, const MKL_Complex16* a,
                 const MKL_INT* lda, const MKL_Complex16* x,
                 const MKL_INT* incx, const double* beta, double* y,
                 const MKL_INT* incy ) NOTHROW;

double ZLA_GERCOND_C( const char* trans, const MKL_INT* n,
                      const MKL_Complex16* a, const MKL_INT* lda,
                      const MKL_Complex16* af, const MKL_INT* ldaf,
                      const MKL_INT* ipiv, const double* c,
                      const MKL_INT* capply, MKL_INT* info,
                      MKL_Complex16* work, double* rwork ) NOTHROW;
double ZLA_GERCOND_C_( const char* trans, const MKL_INT* n,
                       const MKL_Complex16* a, const MKL_INT* lda,
                       const MKL_Complex16* af, const MKL_INT* ldaf,
                       const MKL_INT* ipiv, const double* c,
                       const MKL_INT* capply, MKL_INT* info,
                       MKL_Complex16* work, double* rwork ) NOTHROW;
double zla_gercond_c( const char* trans, const MKL_INT* n,
                      const MKL_Complex16* a, const MKL_INT* lda,
                      const MKL_Complex16* af, const MKL_INT* ldaf,
                      const MKL_INT* ipiv, const double* c,
                      const MKL_INT* capply, MKL_INT* info,
                      MKL_Complex16* work, double* rwork ) NOTHROW;
double zla_gercond_c_( const char* trans, const MKL_INT* n,
                       const MKL_Complex16* a, const MKL_INT* lda,
                       const MKL_Complex16* af, const MKL_INT* ldaf,
                       const MKL_INT* ipiv, const double* c,
                       const MKL_INT* capply, MKL_INT* info,
                       MKL_Complex16* work, double* rwork ) NOTHROW;

double ZLA_GERCOND_X( const char* trans, const MKL_INT* n,
                      const MKL_Complex16* a, const MKL_INT* lda,
                      const MKL_Complex16* af, const MKL_INT* ldaf,
                      const MKL_INT* ipiv, const MKL_Complex16* x,
                      MKL_INT* info, MKL_Complex16* work, double* rwork ) NOTHROW;
double ZLA_GERCOND_X_( const char* trans, const MKL_INT* n,
                       const MKL_Complex16* a, const MKL_INT* lda,
                       const MKL_Complex16* af, const MKL_INT* ldaf,
                       const MKL_INT* ipiv, const MKL_Complex16* x,
                       MKL_INT* info, MKL_Complex16* work, double* rwork ) NOTHROW;
double zla_gercond_x( const char* trans, const MKL_INT* n,
                      const MKL_Complex16* a, const MKL_INT* lda,
                      const MKL_Complex16* af, const MKL_INT* ldaf,
                      const MKL_INT* ipiv, const MKL_Complex16* x,
                      MKL_INT* info, MKL_Complex16* work, double* rwork ) NOTHROW;
double zla_gercond_x_( const char* trans, const MKL_INT* n,
                       const MKL_Complex16* a, const MKL_INT* lda,
                       const MKL_Complex16* af, const MKL_INT* ldaf,
                       const MKL_INT* ipiv, const MKL_Complex16* x,
                       MKL_INT* info, MKL_Complex16* work, double* rwork ) NOTHROW;

void ZLA_GERFSX_EXTENDED( const MKL_INT* prec_type,
                          const MKL_INT* trans_type, const MKL_INT* n,
                          const MKL_INT* nrhs, const MKL_Complex16* a,
                          const MKL_INT* lda, const MKL_Complex16* af,
                          const MKL_INT* ldaf, const MKL_INT* ipiv,
                          const MKL_INT* colequ, const double* c,
                          const MKL_Complex16* b, const MKL_INT* ldb,
                          MKL_Complex16* y, const MKL_INT* ldy,
                          double* berr_out, const MKL_INT* n_norms,
                          double* errs_n, double* errs_c, MKL_Complex16* res,
                          double* ayb, MKL_Complex16* dy,
                          MKL_Complex16* y_tail, const double* rcond,
                          const MKL_INT* ithresh, const double* rthresh,
                          const double* dz_ub, const MKL_INT* ignore_cwise,
                          MKL_INT* info ) NOTHROW;
void ZLA_GERFSX_EXTENDED_( const MKL_INT* prec_type,
                           const MKL_INT* trans_type, const MKL_INT* n,
                           const MKL_INT* nrhs, const MKL_Complex16* a,
                           const MKL_INT* lda, const MKL_Complex16* af,
                           const MKL_INT* ldaf, const MKL_INT* ipiv,
                           const MKL_INT* colequ, const double* c,
                           const MKL_Complex16* b, const MKL_INT* ldb,
                           MKL_Complex16* y, const MKL_INT* ldy,
                           double* berr_out, const MKL_INT* n_norms,
                           double* errs_n, double* errs_c, MKL_Complex16* res,
                           double* ayb, MKL_Complex16* dy,
                           MKL_Complex16* y_tail, const double* rcond,
                           const MKL_INT* ithresh, const double* rthresh,
                           const double* dz_ub, const MKL_INT* ignore_cwise,
                           MKL_INT* info ) NOTHROW;
void zla_gerfsx_extended( const MKL_INT* prec_type,
                          const MKL_INT* trans_type, const MKL_INT* n,
                          const MKL_INT* nrhs, const MKL_Complex16* a,
                          const MKL_INT* lda, const MKL_Complex16* af,
                          const MKL_INT* ldaf, const MKL_INT* ipiv,
                          const MKL_INT* colequ, const double* c,
                          const MKL_Complex16* b, const MKL_INT* ldb,
                          MKL_Complex16* y, const MKL_INT* ldy,
                          double* berr_out, const MKL_INT* n_norms,
                          double* errs_n, double* errs_c, MKL_Complex16* res,
                          double* ayb, MKL_Complex16* dy,
                          MKL_Complex16* y_tail, const double* rcond,
                          const MKL_INT* ithresh, const double* rthresh,
                          const double* dz_ub, const MKL_INT* ignore_cwise,
                          MKL_INT* info ) NOTHROW;
void zla_gerfsx_extended_( const MKL_INT* prec_type,
                           const MKL_INT* trans_type, const MKL_INT* n,
                           const MKL_INT* nrhs, const MKL_Complex16* a,
                           const MKL_INT* lda, const MKL_Complex16* af,
                           const MKL_INT* ldaf, const MKL_INT* ipiv,
                           const MKL_INT* colequ, const double* c,
                           const MKL_Complex16* b, const MKL_INT* ldb,
                           MKL_Complex16* y, const MKL_INT* ldy,
                           double* berr_out, const MKL_INT* n_norms,
                           double* errs_n, double* errs_c, MKL_Complex16* res,
                           double* ayb, MKL_Complex16* dy,
                           MKL_Complex16* y_tail, const double* rcond,
                           const MKL_INT* ithresh, const double* rthresh,
                           const double* dz_ub, const MKL_INT* ignore_cwise,
                           MKL_INT* info ) NOTHROW;

double ZLA_GERPVGRW( const MKL_INT* n, const MKL_INT* ncols,
                     const MKL_Complex16* a, const MKL_INT* lda,
                     const MKL_Complex16* af, const MKL_INT* ldaf ) NOTHROW;
double ZLA_GERPVGRW_( const MKL_INT* n, const MKL_INT* ncols,
                      const MKL_Complex16* a, const MKL_INT* lda,
                      const MKL_Complex16* af, const MKL_INT* ldaf ) NOTHROW;
double zla_gerpvgrw( const MKL_INT* n, const MKL_INT* ncols,
                     const MKL_Complex16* a, const MKL_INT* lda,
                     const MKL_Complex16* af, const MKL_INT* ldaf ) NOTHROW;
double zla_gerpvgrw_( const MKL_INT* n, const MKL_INT* ncols,
                      const MKL_Complex16* a, const MKL_INT* lda,
                      const MKL_Complex16* af, const MKL_INT* ldaf ) NOTHROW;

void ZLA_HEAMV( const MKL_INT* uplo, const MKL_INT* n, const double* alpha,
                const MKL_Complex16* a, const MKL_INT* lda,
                const MKL_Complex16* x, const MKL_INT* incx,
                const double* beta, double* y, const MKL_INT* incy ) NOTHROW;
void ZLA_HEAMV_( const MKL_INT* uplo, const MKL_INT* n, const double* alpha,
                 const MKL_Complex16* a, const MKL_INT* lda,
                 const MKL_Complex16* x, const MKL_INT* incx,
                 const double* beta, double* y, const MKL_INT* incy ) NOTHROW;
void zla_heamv( const MKL_INT* uplo, const MKL_INT* n, const double* alpha,
                const MKL_Complex16* a, const MKL_INT* lda,
                const MKL_Complex16* x, const MKL_INT* incx,
                const double* beta, double* y, const MKL_INT* incy ) NOTHROW;
void zla_heamv_( const MKL_INT* uplo, const MKL_INT* n, const double* alpha,
                 const MKL_Complex16* a, const MKL_INT* lda,
                 const MKL_Complex16* x, const MKL_INT* incx,
                 const double* beta, double* y, const MKL_INT* incy ) NOTHROW;

double ZLA_HERCOND_C( const char* uplo, const MKL_INT* n,
                      const MKL_Complex16* a, const MKL_INT* lda,
                      const MKL_Complex16* af, const MKL_INT* ldaf,
                      const MKL_INT* ipiv, const double* c,
                      const MKL_INT* capply, MKL_INT* info,
                      MKL_Complex16* work, double* rwork ) NOTHROW;
double ZLA_HERCOND_C_( const char* uplo, const MKL_INT* n,
                       const MKL_Complex16* a, const MKL_INT* lda,
                       const MKL_Complex16* af, const MKL_INT* ldaf,
                       const MKL_INT* ipiv, const double* c,
                       const MKL_INT* capply, MKL_INT* info,
                       MKL_Complex16* work, double* rwork ) NOTHROW;
double zla_hercond_c( const char* uplo, const MKL_INT* n,
                      const MKL_Complex16* a, const MKL_INT* lda,
                      const MKL_Complex16* af, const MKL_INT* ldaf,
                      const MKL_INT* ipiv, const double* c,
                      const MKL_INT* capply, MKL_INT* info,
                      MKL_Complex16* work, double* rwork ) NOTHROW;
double zla_hercond_c_( const char* uplo, const MKL_INT* n,
                       const MKL_Complex16* a, const MKL_INT* lda,
                       const MKL_Complex16* af, const MKL_INT* ldaf,
                       const MKL_INT* ipiv, const double* c,
                       const MKL_INT* capply, MKL_INT* info,
                       MKL_Complex16* work, double* rwork ) NOTHROW;

double ZLA_HERCOND_X( const char* uplo, const MKL_INT* n,
                      const MKL_Complex16* a, const MKL_INT* lda,
                      const MKL_Complex16* af, const MKL_INT* ldaf,
                      const MKL_INT* ipiv, const MKL_Complex16* x,
                      MKL_INT* info, MKL_Complex16* work, double* rwork ) NOTHROW;
double ZLA_HERCOND_X_( const char* uplo, const MKL_INT* n,
                       const MKL_Complex16* a, const MKL_INT* lda,
                       const MKL_Complex16* af, const MKL_INT* ldaf,
                       const MKL_INT* ipiv, const MKL_Complex16* x,
                       MKL_INT* info, MKL_Complex16* work, double* rwork ) NOTHROW;
double zla_hercond_x( const char* uplo, const MKL_INT* n,
                      const MKL_Complex16* a, const MKL_INT* lda,
                      const MKL_Complex16* af, const MKL_INT* ldaf,
                      const MKL_INT* ipiv, const MKL_Complex16* x,
                      MKL_INT* info, MKL_Complex16* work, double* rwork ) NOTHROW;
double zla_hercond_x_( const char* uplo, const MKL_INT* n,
                       const MKL_Complex16* a, const MKL_INT* lda,
                       const MKL_Complex16* af, const MKL_INT* ldaf,
                       const MKL_INT* ipiv, const MKL_Complex16* x,
                       MKL_INT* info, MKL_Complex16* work, double* rwork ) NOTHROW;

void ZLA_HERFSX_EXTENDED( const MKL_INT* prec_type, const char* uplo,
                          const MKL_INT* n, const MKL_INT* nrhs,
                          const MKL_Complex16* a, const MKL_INT* lda,
                          const MKL_Complex16* af, const MKL_INT* ldaf,
                          const MKL_INT* ipiv, const MKL_INT* colequ,
                          const double* c, const MKL_Complex16* b,
                          const MKL_INT* ldb, MKL_Complex16* y,
                          const MKL_INT* ldy, double* berr_out,
                          const MKL_INT* n_norms, double* err_bnds_norm,
                          double* err_bnds_comp, MKL_Complex16* res,
                          double* ayb, MKL_Complex16* dy,
                          MKL_Complex16* y_tail, const double* rcond,
                          const MKL_INT* ithresh, const double* rthresh,
                          const double* dz_ub, const MKL_INT* ignore_cwise,
                          MKL_INT* info ) NOTHROW;
void ZLA_HERFSX_EXTENDED_( const MKL_INT* prec_type, const char* uplo,
                           const MKL_INT* n, const MKL_INT* nrhs,
                           const MKL_Complex16* a, const MKL_INT* lda,
                           const MKL_Complex16* af, const MKL_INT* ldaf,
                           const MKL_INT* ipiv, const MKL_INT* colequ,
                           const double* c, const MKL_Complex16* b,
                           const MKL_INT* ldb, MKL_Complex16* y,
                           const MKL_INT* ldy, double* berr_out,
                           const MKL_INT* n_norms, double* err_bnds_norm,
                           double* err_bnds_comp, MKL_Complex16* res,
                           double* ayb, MKL_Complex16* dy,
                           MKL_Complex16* y_tail, const double* rcond,
                           const MKL_INT* ithresh, const double* rthresh,
                           const double* dz_ub, const MKL_INT* ignore_cwise,
                           MKL_INT* info ) NOTHROW;
void zla_herfsx_extended( const MKL_INT* prec_type, const char* uplo,
                          const MKL_INT* n, const MKL_INT* nrhs,
                          const MKL_Complex16* a, const MKL_INT* lda,
                          const MKL_Complex16* af, const MKL_INT* ldaf,
                          const MKL_INT* ipiv, const MKL_INT* colequ,
                          const double* c, const MKL_Complex16* b,
                          const MKL_INT* ldb, MKL_Complex16* y,
                          const MKL_INT* ldy, double* berr_out,
                          const MKL_INT* n_norms, double* err_bnds_norm,
                          double* err_bnds_comp, MKL_Complex16* res,
                          double* ayb, MKL_Complex16* dy,
                          MKL_Complex16* y_tail, const double* rcond,
                          const MKL_INT* ithresh, const double* rthresh,
                          const double* dz_ub, const MKL_INT* ignore_cwise,
                          MKL_INT* info ) NOTHROW;
void zla_herfsx_extended_( const MKL_INT* prec_type, const char* uplo,
                           const MKL_INT* n, const MKL_INT* nrhs,
                           const MKL_Complex16* a, const MKL_INT* lda,
                           const MKL_Complex16* af, const MKL_INT* ldaf,
                           const MKL_INT* ipiv, const MKL_INT* colequ,
                           const double* c, const MKL_Complex16* b,
                           const MKL_INT* ldb, MKL_Complex16* y,
                           const MKL_INT* ldy, double* berr_out,
                           const MKL_INT* n_norms, double* err_bnds_norm,
                           double* err_bnds_comp, MKL_Complex16* res,
                           double* ayb, MKL_Complex16* dy,
                           MKL_Complex16* y_tail, const double* rcond,
                           const MKL_INT* ithresh, const double* rthresh,
                           const double* dz_ub, const MKL_INT* ignore_cwise,
                           MKL_INT* info ) NOTHROW;

double ZLA_HERPVGRW( const char* uplo, const MKL_INT* n, const MKL_INT* info,
                     const MKL_Complex16* a, const MKL_INT* lda,
                     const MKL_Complex16* af, const MKL_INT* ldaf,
                     const MKL_INT* ipiv, double* work ) NOTHROW;
double ZLA_HERPVGRW_( const char* uplo, const MKL_INT* n, const MKL_INT* info,
                      const MKL_Complex16* a, const MKL_INT* lda,
                      const MKL_Complex16* af, const MKL_INT* ldaf,
                      const MKL_INT* ipiv, double* work ) NOTHROW;
double zla_herpvgrw( const char* uplo, const MKL_INT* n, const MKL_INT* info,
                     const MKL_Complex16* a, const MKL_INT* lda,
                     const MKL_Complex16* af, const MKL_INT* ldaf,
                     const MKL_INT* ipiv, double* work ) NOTHROW;
double zla_herpvgrw_( const char* uplo, const MKL_INT* n, const MKL_INT* info,
                      const MKL_Complex16* a, const MKL_INT* lda,
                      const MKL_Complex16* af, const MKL_INT* ldaf,
                      const MKL_INT* ipiv, double* work ) NOTHROW;

void ZLA_LIN_BERR( const MKL_INT* n, const MKL_INT* nz, const MKL_INT* nrhs,
                   const MKL_Complex16* res, const double* ayb, double* berr ) NOTHROW;
void ZLA_LIN_BERR_( const MKL_INT* n, const MKL_INT* nz, const MKL_INT* nrhs,
                    const MKL_Complex16* res, const double* ayb, double* berr ) NOTHROW;
void zla_lin_berr( const MKL_INT* n, const MKL_INT* nz, const MKL_INT* nrhs,
                   const MKL_Complex16* res, const double* ayb, double* berr ) NOTHROW;
void zla_lin_berr_( const MKL_INT* n, const MKL_INT* nz, const MKL_INT* nrhs,
                    const MKL_Complex16* res, const double* ayb, double* berr ) NOTHROW;

double ZLA_PORCOND_C( const char* uplo, const MKL_INT* n,
                      const MKL_Complex16* a, const MKL_INT* lda,
                      const MKL_Complex16* af, const MKL_INT* ldaf,
                      const double* c, const MKL_INT* capply, MKL_INT* info,
                      MKL_Complex16* work, double* rwork ) NOTHROW;
double ZLA_PORCOND_C_( const char* uplo, const MKL_INT* n,
                       const MKL_Complex16* a, const MKL_INT* lda,
                       const MKL_Complex16* af, const MKL_INT* ldaf,
                       const double* c, const MKL_INT* capply, MKL_INT* info,
                       MKL_Complex16* work, double* rwork ) NOTHROW;
double zla_porcond_c( const char* uplo, const MKL_INT* n,
                      const MKL_Complex16* a, const MKL_INT* lda,
                      const MKL_Complex16* af, const MKL_INT* ldaf,
                      const double* c, const MKL_INT* capply, MKL_INT* info,
                      MKL_Complex16* work, double* rwork ) NOTHROW;
double zla_porcond_c_( const char* uplo, const MKL_INT* n,
                       const MKL_Complex16* a, const MKL_INT* lda,
                       const MKL_Complex16* af, const MKL_INT* ldaf,
                       const double* c, const MKL_INT* capply, MKL_INT* info,
                       MKL_Complex16* work, double* rwork ) NOTHROW;

double ZLA_PORCOND_X( const char* uplo, const MKL_INT* n,
                      const MKL_Complex16* a, const MKL_INT* lda,
                      const MKL_Complex16* af, const MKL_INT* ldaf,
                      const MKL_Complex16* x, MKL_INT* info,
                      MKL_Complex16* work, double* rwork ) NOTHROW;
double ZLA_PORCOND_X_( const char* uplo, const MKL_INT* n,
                       const MKL_Complex16* a, const MKL_INT* lda,
                       const MKL_Complex16* af, const MKL_INT* ldaf,
                       const MKL_Complex16* x, MKL_INT* info,
                       MKL_Complex16* work, double* rwork ) NOTHROW;
double zla_porcond_x( const char* uplo, const MKL_INT* n,
                      const MKL_Complex16* a, const MKL_INT* lda,
                      const MKL_Complex16* af, const MKL_INT* ldaf,
                      const MKL_Complex16* x, MKL_INT* info,
                      MKL_Complex16* work, double* rwork ) NOTHROW;
double zla_porcond_x_( const char* uplo, const MKL_INT* n,
                       const MKL_Complex16* a, const MKL_INT* lda,
                       const MKL_Complex16* af, const MKL_INT* ldaf,
                       const MKL_Complex16* x, MKL_INT* info,
                       MKL_Complex16* work, double* rwork ) NOTHROW;

void ZLA_PORFSX_EXTENDED( const MKL_INT* prec_type, const char* uplo,
                          const MKL_INT* n, const MKL_INT* nrhs,
                          const MKL_Complex16* a, const MKL_INT* lda,
                          const MKL_Complex16* af, const MKL_INT* ldaf,
                          const MKL_INT* colequ, const double* c,
                          const MKL_Complex16* b, const MKL_INT* ldb,
                          MKL_Complex16* y, const MKL_INT* ldy,
                          double* berr_out, const MKL_INT* n_norms,
                          double* err_bnds_norm, double* err_bnds_comp,
                          MKL_Complex16* res, double* ayb, MKL_Complex16* dy,
                          MKL_Complex16* y_tail, const double* rcond,
                          const MKL_INT* ithresh, const double* rthresh,
                          const double* dz_ub, const MKL_INT* ignore_cwise,
                          MKL_INT* info ) NOTHROW;
void ZLA_PORFSX_EXTENDED_( const MKL_INT* prec_type, const char* uplo,
                           const MKL_INT* n, const MKL_INT* nrhs,
                           const MKL_Complex16* a, const MKL_INT* lda,
                           const MKL_Complex16* af, const MKL_INT* ldaf,
                           const MKL_INT* colequ, const double* c,
                           const MKL_Complex16* b, const MKL_INT* ldb,
                           MKL_Complex16* y, const MKL_INT* ldy,
                           double* berr_out, const MKL_INT* n_norms,
                           double* err_bnds_norm, double* err_bnds_comp,
                           MKL_Complex16* res, double* ayb, MKL_Complex16* dy,
                           MKL_Complex16* y_tail, const double* rcond,
                           const MKL_INT* ithresh, const double* rthresh,
                           const double* dz_ub, const MKL_INT* ignore_cwise,
                           MKL_INT* info ) NOTHROW;
void zla_porfsx_extended( const MKL_INT* prec_type, const char* uplo,
                          const MKL_INT* n, const MKL_INT* nrhs,
                          const MKL_Complex16* a, const MKL_INT* lda,
                          const MKL_Complex16* af, const MKL_INT* ldaf,
                          const MKL_INT* colequ, const double* c,
                          const MKL_Complex16* b, const MKL_INT* ldb,
                          MKL_Complex16* y, const MKL_INT* ldy,
                          double* berr_out, const MKL_INT* n_norms,
                          double* err_bnds_norm, double* err_bnds_comp,
                          MKL_Complex16* res, double* ayb, MKL_Complex16* dy,
                          MKL_Complex16* y_tail, const double* rcond,
                          const MKL_INT* ithresh, const double* rthresh,
                          const double* dz_ub, const MKL_INT* ignore_cwise,
                          MKL_INT* info ) NOTHROW;
void zla_porfsx_extended_( const MKL_INT* prec_type, const char* uplo,
                           const MKL_INT* n, const MKL_INT* nrhs,
                           const MKL_Complex16* a, const MKL_INT* lda,
                           const MKL_Complex16* af, const MKL_INT* ldaf,
                           const MKL_INT* colequ, const double* c,
                           const MKL_Complex16* b, const MKL_INT* ldb,
                           MKL_Complex16* y, const MKL_INT* ldy,
                           double* berr_out, const MKL_INT* n_norms,
                           double* err_bnds_norm, double* err_bnds_comp,
                           MKL_Complex16* res, double* ayb, MKL_Complex16* dy,
                           MKL_Complex16* y_tail, const double* rcond,
                           const MKL_INT* ithresh, const double* rthresh,
                           const double* dz_ub, const MKL_INT* ignore_cwise,
                           MKL_INT* info ) NOTHROW;

double ZLA_PORPVGRW( const char* uplo, const MKL_INT* ncols,
                     const MKL_Complex16* a, const MKL_INT* lda,
                     const MKL_Complex16* af, const MKL_INT* ldaf,
                     double* work ) NOTHROW;
double ZLA_PORPVGRW_( const char* uplo, const MKL_INT* ncols,
                      const MKL_Complex16* a, const MKL_INT* lda,
                      const MKL_Complex16* af, const MKL_INT* ldaf,
                      double* work ) NOTHROW;
double zla_porpvgrw( const char* uplo, const MKL_INT* ncols,
                     const MKL_Complex16* a, const MKL_INT* lda,
                     const MKL_Complex16* af, const MKL_INT* ldaf,
                     double* work ) NOTHROW;
double zla_porpvgrw_( const char* uplo, const MKL_INT* ncols,
                      const MKL_Complex16* a, const MKL_INT* lda,
                      const MKL_Complex16* af, const MKL_INT* ldaf,
                      double* work ) NOTHROW;

void ZLA_SYAMV( const MKL_INT* uplo, const MKL_INT* n, const double* alpha,
                const MKL_Complex16* a, const MKL_INT* lda,
                const MKL_Complex16* x, const MKL_INT* incx,
                const double* beta, double* y, const MKL_INT* incy ) NOTHROW;
void ZLA_SYAMV_( const MKL_INT* uplo, const MKL_INT* n, const double* alpha,
                 const MKL_Complex16* a, const MKL_INT* lda,
                 const MKL_Complex16* x, const MKL_INT* incx,
                 const double* beta, double* y, const MKL_INT* incy ) NOTHROW;
void zla_syamv( const MKL_INT* uplo, const MKL_INT* n, const double* alpha,
                const MKL_Complex16* a, const MKL_INT* lda,
                const MKL_Complex16* x, const MKL_INT* incx,
                const double* beta, double* y, const MKL_INT* incy ) NOTHROW;
void zla_syamv_( const MKL_INT* uplo, const MKL_INT* n, const double* alpha,
                 const MKL_Complex16* a, const MKL_INT* lda,
                 const MKL_Complex16* x, const MKL_INT* incx,
                 const double* beta, double* y, const MKL_INT* incy ) NOTHROW;

double ZLA_SYRCOND_C( const char* uplo, const MKL_INT* n,
                      const MKL_Complex16* a, const MKL_INT* lda,
                      const MKL_Complex16* af, const MKL_INT* ldaf,
                      const MKL_INT* ipiv, const double* c,
                      const MKL_INT* capply, MKL_INT* info,
                      MKL_Complex16* work, double* rwork ) NOTHROW;
double ZLA_SYRCOND_C_( const char* uplo, const MKL_INT* n,
                       const MKL_Complex16* a, const MKL_INT* lda,
                       const MKL_Complex16* af, const MKL_INT* ldaf,
                       const MKL_INT* ipiv, const double* c,
                       const MKL_INT* capply, MKL_INT* info,
                       MKL_Complex16* work, double* rwork ) NOTHROW;
double zla_syrcond_c( const char* uplo, const MKL_INT* n,
                      const MKL_Complex16* a, const MKL_INT* lda,
                      const MKL_Complex16* af, const MKL_INT* ldaf,
                      const MKL_INT* ipiv, const double* c,
                      const MKL_INT* capply, MKL_INT* info,
                      MKL_Complex16* work, double* rwork ) NOTHROW;
double zla_syrcond_c_( const char* uplo, const MKL_INT* n,
                       const MKL_Complex16* a, const MKL_INT* lda,
                       const MKL_Complex16* af, const MKL_INT* ldaf,
                       const MKL_INT* ipiv, const double* c,
                       const MKL_INT* capply, MKL_INT* info,
                       MKL_Complex16* work, double* rwork ) NOTHROW;

double ZLA_SYRCOND_X( const char* uplo, const MKL_INT* n,
                      const MKL_Complex16* a, const MKL_INT* lda,
                      const MKL_Complex16* af, const MKL_INT* ldaf,
                      const MKL_INT* ipiv, const MKL_Complex16* x,
                      MKL_INT* info, MKL_Complex16* work, double* rwork ) NOTHROW;
double ZLA_SYRCOND_X_( const char* uplo, const MKL_INT* n,
                       const MKL_Complex16* a, const MKL_INT* lda,
                       const MKL_Complex16* af, const MKL_INT* ldaf,
                       const MKL_INT* ipiv, const MKL_Complex16* x,
                       MKL_INT* info, MKL_Complex16* work, double* rwork ) NOTHROW;
double zla_syrcond_x( const char* uplo, const MKL_INT* n,
                      const MKL_Complex16* a, const MKL_INT* lda,
                      const MKL_Complex16* af, const MKL_INT* ldaf,
                      const MKL_INT* ipiv, const MKL_Complex16* x,
                      MKL_INT* info, MKL_Complex16* work, double* rwork ) NOTHROW;
double zla_syrcond_x_( const char* uplo, const MKL_INT* n,
                       const MKL_Complex16* a, const MKL_INT* lda,
                       const MKL_Complex16* af, const MKL_INT* ldaf,
                       const MKL_INT* ipiv, const MKL_Complex16* x,
                       MKL_INT* info, MKL_Complex16* work, double* rwork ) NOTHROW;

void ZLA_SYRFSX_EXTENDED( const MKL_INT* prec_type, const char* uplo,
                          const MKL_INT* n, const MKL_INT* nrhs,
                          const MKL_Complex16* a, const MKL_INT* lda,
                          const MKL_Complex16* af, const MKL_INT* ldaf,
                          const MKL_INT* ipiv, const MKL_INT* colequ,
                          const double* c, const MKL_Complex16* b,
                          const MKL_INT* ldb, MKL_Complex16* y,
                          const MKL_INT* ldy, double* berr_out,
                          const MKL_INT* n_norms, double* err_bnds_norm,
                          double* err_bnds_comp, MKL_Complex16* res,
                          double* ayb, MKL_Complex16* dy,
                          MKL_Complex16* y_tail, const double* rcond,
                          const MKL_INT* ithresh, const double* rthresh,
                          const double* dz_ub, const MKL_INT* ignore_cwise,
                          MKL_INT* info ) NOTHROW;
void ZLA_SYRFSX_EXTENDED_( const MKL_INT* prec_type, const char* uplo,
                           const MKL_INT* n, const MKL_INT* nrhs,
                           const MKL_Complex16* a, const MKL_INT* lda,
                           const MKL_Complex16* af, const MKL_INT* ldaf,
                           const MKL_INT* ipiv, const MKL_INT* colequ,
                           const double* c, const MKL_Complex16* b,
                           const MKL_INT* ldb, MKL_Complex16* y,
                           const MKL_INT* ldy, double* berr_out,
                           const MKL_INT* n_norms, double* err_bnds_norm,
                           double* err_bnds_comp, MKL_Complex16* res,
                           double* ayb, MKL_Complex16* dy,
                           MKL_Complex16* y_tail, const double* rcond,
                           const MKL_INT* ithresh, const double* rthresh,
                           const double* dz_ub, const MKL_INT* ignore_cwise,
                           MKL_INT* info ) NOTHROW;
void zla_syrfsx_extended( const MKL_INT* prec_type, const char* uplo,
                          const MKL_INT* n, const MKL_INT* nrhs,
                          const MKL_Complex16* a, const MKL_INT* lda,
                          const MKL_Complex16* af, const MKL_INT* ldaf,
                          const MKL_INT* ipiv, const MKL_INT* colequ,
                          const double* c, const MKL_Complex16* b,
                          const MKL_INT* ldb, MKL_Complex16* y,
                          const MKL_INT* ldy, double* berr_out,
                          const MKL_INT* n_norms, double* err_bnds_norm,
                          double* err_bnds_comp, MKL_Complex16* res,
                          double* ayb, MKL_Complex16* dy,
                          MKL_Complex16* y_tail, const double* rcond,
                          const MKL_INT* ithresh, const double* rthresh,
                          const double* dz_ub, const MKL_INT* ignore_cwise,
                          MKL_INT* info ) NOTHROW;
void zla_syrfsx_extended_( const MKL_INT* prec_type, const char* uplo,
                           const MKL_INT* n, const MKL_INT* nrhs,
                           const MKL_Complex16* a, const MKL_INT* lda,
                           const MKL_Complex16* af, const MKL_INT* ldaf,
                           const MKL_INT* ipiv, const MKL_INT* colequ,
                           const double* c, const MKL_Complex16* b,
                           const MKL_INT* ldb, MKL_Complex16* y,
                           const MKL_INT* ldy, double* berr_out,
                           const MKL_INT* n_norms, double* err_bnds_norm,
                           double* err_bnds_comp, MKL_Complex16* res,
                           double* ayb, MKL_Complex16* dy,
                           MKL_Complex16* y_tail, const double* rcond,
                           const MKL_INT* ithresh, const double* rthresh,
                           const double* dz_ub, const MKL_INT* ignore_cwise,
                           MKL_INT* info ) NOTHROW;

double ZLA_SYRPVGRW( const char* uplo, const MKL_INT* n, const MKL_INT* info,
                     const MKL_Complex16* a, const MKL_INT* lda,
                     const MKL_Complex16* af, const MKL_INT* ldaf,
                     const MKL_INT* ipiv, double* work ) NOTHROW;
double ZLA_SYRPVGRW_( const char* uplo, const MKL_INT* n, const MKL_INT* info,
                      const MKL_Complex16* a, const MKL_INT* lda,
                      const MKL_Complex16* af, const MKL_INT* ldaf,
                      const MKL_INT* ipiv, double* work ) NOTHROW;
double zla_syrpvgrw( const char* uplo, const MKL_INT* n, const MKL_INT* info,
                     const MKL_Complex16* a, const MKL_INT* lda,
                     const MKL_Complex16* af, const MKL_INT* ldaf,
                     const MKL_INT* ipiv, double* work ) NOTHROW;
double zla_syrpvgrw_( const char* uplo, const MKL_INT* n, const MKL_INT* info,
                      const MKL_Complex16* a, const MKL_INT* lda,
                      const MKL_Complex16* af, const MKL_INT* ldaf,
                      const MKL_INT* ipiv, double* work ) NOTHROW;

void ZLA_WWADDW( const MKL_INT* n, MKL_Complex16* x, MKL_Complex16* y,
                 const MKL_Complex16* w ) NOTHROW;
void ZLA_WWADDW_( const MKL_INT* n, MKL_Complex16* x, MKL_Complex16* y,
                  const MKL_Complex16* w ) NOTHROW;
void zla_wwaddw( const MKL_INT* n, MKL_Complex16* x, MKL_Complex16* y,
                 const MKL_Complex16* w ) NOTHROW;
void zla_wwaddw_( const MKL_INT* n, MKL_Complex16* x, MKL_Complex16* y,
                  const MKL_Complex16* w ) NOTHROW;

void ZTPRFB( const char* side, const char* trans, const char* direct,
             const char* storev, const MKL_INT* m, const MKL_INT* n,
             const MKL_INT* k, const MKL_INT* l, const MKL_Complex16* v,
             const MKL_INT* ldv, const MKL_Complex16* t, const MKL_INT* ldt,
             MKL_Complex16* a, const MKL_INT* lda, MKL_Complex16* b,
             const MKL_INT* ldb, MKL_Complex16* work, const MKL_INT* ldwork ) NOTHROW;
void ZTPRFB_( const char* side, const char* trans, const char* direct,
              const char* storev, const MKL_INT* m, const MKL_INT* n,
              const MKL_INT* k, const MKL_INT* l, const MKL_Complex16* v,
              const MKL_INT* ldv, const MKL_Complex16* t, const MKL_INT* ldt,
              MKL_Complex16* a, const MKL_INT* lda, MKL_Complex16* b,
              const MKL_INT* ldb, MKL_Complex16* work, const MKL_INT* ldwork ) NOTHROW;
void ztprfb( const char* side, const char* trans, const char* direct,
             const char* storev, const MKL_INT* m, const MKL_INT* n,
             const MKL_INT* k, const MKL_INT* l, const MKL_Complex16* v,
             const MKL_INT* ldv, const MKL_Complex16* t, const MKL_INT* ldt,
             MKL_Complex16* a, const MKL_INT* lda, MKL_Complex16* b,
             const MKL_INT* ldb, MKL_Complex16* work, const MKL_INT* ldwork ) NOTHROW;
void ztprfb_( const char* side, const char* trans, const char* direct,
              const char* storev, const MKL_INT* m, const MKL_INT* n,
              const MKL_INT* k, const MKL_INT* l, const MKL_Complex16* v,
              const MKL_INT* ldv, const MKL_Complex16* t, const MKL_INT* ldt,
              MKL_Complex16* a, const MKL_INT* lda, MKL_Complex16* b,
              const MKL_INT* ldb, MKL_Complex16* work, const MKL_INT* ldwork ) NOTHROW;

/* oneMKL specific routines */

/* Tridiagonalization using Successive Bandwidth Reduction */

void CHERDB( const char* jobz, const char* uplo, const MKL_INT* n,
             const MKL_INT* kd, MKL_Complex8* a, const MKL_INT* lda, float* d,
             float* e, MKL_Complex8* tau, MKL_Complex8* z, const MKL_INT* ldz,
             MKL_Complex8* work, const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void CHERDB_( const char* jobz, const char* uplo, const MKL_INT* n,
              const MKL_INT* kd, MKL_Complex8* a, const MKL_INT* lda, float* d,
              float* e, MKL_Complex8* tau, MKL_Complex8* z, const MKL_INT* ldz,
              MKL_Complex8* work, const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void cherdb( const char* jobz, const char* uplo, const MKL_INT* n,
             const MKL_INT* kd, MKL_Complex8* a, const MKL_INT* lda, float* d,
             float* e, MKL_Complex8* tau, MKL_Complex8* z, const MKL_INT* ldz,
             MKL_Complex8* work, const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void cherdb_( const char* jobz, const char* uplo, const MKL_INT* n,
              const MKL_INT* kd, MKL_Complex8* a, const MKL_INT* lda, float* d,
              float* e, MKL_Complex8* tau, MKL_Complex8* z, const MKL_INT* ldz,
              MKL_Complex8* work, const MKL_INT* lwork, MKL_INT* info ) NOTHROW;

void DSYRDB( const char* jobz, const char* uplo, const MKL_INT* n,
             const MKL_INT* kd, double* a, const MKL_INT* lda, double* d,
             double* e, double* tau, double* z, const MKL_INT* ldz,
             double* work, const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void DSYRDB_( const char* jobz, const char* uplo, const MKL_INT* n,
              const MKL_INT* kd, double* a, const MKL_INT* lda, double* d,
              double* e, double* tau, double* z, const MKL_INT* ldz,
              double* work, const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void dsyrdb( const char* jobz, const char* uplo, const MKL_INT* n,
             const MKL_INT* kd, double* a, const MKL_INT* lda, double* d,
             double* e, double* tau, double* z, const MKL_INT* ldz,
             double* work, const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void dsyrdb_( const char* jobz, const char* uplo, const MKL_INT* n,
              const MKL_INT* kd, double* a, const MKL_INT* lda, double* d,
              double* e, double* tau, double* z, const MKL_INT* ldz,
              double* work, const MKL_INT* lwork, MKL_INT* info ) NOTHROW;

void SSYRDB( const char* jobz, const char* uplo, const MKL_INT* n,
             const MKL_INT* kd, float* a, const MKL_INT* lda, float* d,
             float* e, float* tau, float* z, const MKL_INT* ldz, float* work,
             const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void SSYRDB_( const char* jobz, const char* uplo, const MKL_INT* n,
              const MKL_INT* kd, float* a, const MKL_INT* lda, float* d,
              float* e, float* tau, float* z, const MKL_INT* ldz, float* work,
              const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void ssyrdb( const char* jobz, const char* uplo, const MKL_INT* n,
             const MKL_INT* kd, float* a, const MKL_INT* lda, float* d,
             float* e, float* tau, float* z, const MKL_INT* ldz, float* work,
             const MKL_INT* lwork, MKL_INT* info ) NOTHROW;
void ssyrdb_( const char* jobz, const char* uplo, const MKL_INT* n,
              const MKL_INT* kd, float* a, const MKL_INT* lda, float* d,
              float* e, float* tau, float* z, const MKL_INT* ldz, float* work,
              const MKL_INT* lwork, MKL_INT* info ) NOTHROW;

void ZHERDB( const char* jobz, const char* uplo, const MKL_INT* n,
             const MKL_INT* kd, MKL_Complex16* a, const MKL_INT* lda,
             double* d, double* e, MKL_Complex16* tau, MKL_Complex16* z,
             const MKL_INT* ldz, MKL_Complex16* work, const MKL_INT* lwork,
             MKL_INT* info ) NOTHROW;
void ZHERDB_( const char* jobz, const char* uplo, const MKL_INT* n,
              const MKL_INT* kd, MKL_Complex16* a, const MKL_INT* lda,
              double* d, double* e, MKL_Complex16* tau, MKL_Complex16* z,
              const MKL_INT* ldz, MKL_Complex16* work, const MKL_INT* lwork,
              MKL_INT* info ) NOTHROW;
void zherdb( const char* jobz, const char* uplo, const MKL_INT* n,
             const MKL_INT* kd, MKL_Complex16* a, const MKL_INT* lda,
             double* d, double* e, MKL_Complex16* tau, MKL_Complex16* z,
             const MKL_INT* ldz, MKL_Complex16* work, const MKL_INT* lwork,
             MKL_INT* info ) NOTHROW;
void zherdb_( const char* jobz, const char* uplo, const MKL_INT* n,
              const MKL_INT* kd, MKL_Complex16* a, const MKL_INT* lda,
              double* d, double* e, MKL_Complex16* tau, MKL_Complex16* z,
              const MKL_INT* ldz, MKL_Complex16* work, const MKL_INT* lwork,
              MKL_INT* info ) NOTHROW;

/* Tridiagonal diagonally-dominant linear equations solver
   using the BABE algorithm (Burning At Both Ends) NOTHROW; */

void CDTSVB( const MKL_INT* n, const MKL_INT* nrhs, MKL_Complex8* dl,
             MKL_Complex8* d, const MKL_Complex8* du, MKL_Complex8* b,
             const MKL_INT* ldb, MKL_INT* info ) NOTHROW;
void CDTSVB_( const MKL_INT* n, const MKL_INT* nrhs, MKL_Complex8* dl,
              MKL_Complex8* d, const MKL_Complex8* du, MKL_Complex8* b,
              const MKL_INT* ldb, MKL_INT* info ) NOTHROW;
void cdtsvb( const MKL_INT* n, const MKL_INT* nrhs, MKL_Complex8* dl,
             MKL_Complex8* d, const MKL_Complex8* du, MKL_Complex8* b,
             const MKL_INT* ldb, MKL_INT* info ) NOTHROW;
void cdtsvb_( const MKL_INT* n, const MKL_INT* nrhs, MKL_Complex8* dl,
              MKL_Complex8* d, const MKL_Complex8* du, MKL_Complex8* b,
              const MKL_INT* ldb, MKL_INT* info ) NOTHROW;

void CDTTRFB( const MKL_INT* n, MKL_Complex8* dl, MKL_Complex8* d,
              const MKL_Complex8* du, MKL_INT* info ) NOTHROW;
void CDTTRFB_( const MKL_INT* n, MKL_Complex8* dl, MKL_Complex8* d,
               const MKL_Complex8* du, MKL_INT* info ) NOTHROW;
void cdttrfb( const MKL_INT* n, MKL_Complex8* dl, MKL_Complex8* d,
              const MKL_Complex8* du, MKL_INT* info ) NOTHROW;
void cdttrfb_( const MKL_INT* n, MKL_Complex8* dl, MKL_Complex8* d,
               const MKL_Complex8* du, MKL_INT* info ) NOTHROW;

void CDTTRSB( const char* trans, const MKL_INT* n, const MKL_INT* nrhs,
              const MKL_Complex8* dl, const MKL_Complex8* d,
              const MKL_Complex8* du, MKL_Complex8* b, const MKL_INT* ldb,
              MKL_INT* info ) NOTHROW;
void CDTTRSB_( const char* trans, const MKL_INT* n, const MKL_INT* nrhs,
               const MKL_Complex8* dl, const MKL_Complex8* d,
               const MKL_Complex8* du, MKL_Complex8* b, const MKL_INT* ldb,
               MKL_INT* info ) NOTHROW;
void cdttrsb( const char* trans, const MKL_INT* n, const MKL_INT* nrhs,
              const MKL_Complex8* dl, const MKL_Complex8* d,
              const MKL_Complex8* du, MKL_Complex8* b, const MKL_INT* ldb,
              MKL_INT* info ) NOTHROW;
void cdttrsb_( const char* trans, const MKL_INT* n, const MKL_INT* nrhs,
               const MKL_Complex8* dl, const MKL_Complex8* d,
               const MKL_Complex8* du, MKL_Complex8* b, const MKL_INT* ldb,
               MKL_INT* info ) NOTHROW;

void DDTSVB( const MKL_INT* n, const MKL_INT* nrhs, double* dl, double* d,
             const double* du, double* b, const MKL_INT* ldb, MKL_INT* info ) NOTHROW;
void DDTSVB_( const MKL_INT* n, const MKL_INT* nrhs, double* dl, double* d,
              const double* du, double* b, const MKL_INT* ldb, MKL_INT* info ) NOTHROW;
void ddtsvb( const MKL_INT* n, const MKL_INT* nrhs, double* dl, double* d,
             const double* du, double* b, const MKL_INT* ldb, MKL_INT* info ) NOTHROW;
void ddtsvb_( const MKL_INT* n, const MKL_INT* nrhs, double* dl, double* d,
              const double* du, double* b, const MKL_INT* ldb, MKL_INT* info ) NOTHROW;

void DDTTRFB( const MKL_INT* n, double* dl, double* d, const double* du,
              MKL_INT* info ) NOTHROW;
void DDTTRFB_( const MKL_INT* n, double* dl, double* d, const double* du,
               MKL_INT* info ) NOTHROW;
void ddttrfb( const MKL_INT* n, double* dl, double* d, const double* du,
              MKL_INT* info ) NOTHROW;
void ddttrfb_( const MKL_INT* n, double* dl, double* d, const double* du,
               MKL_INT* info ) NOTHROW;

void DDTTRSB( const char* trans, const MKL_INT* n, const MKL_INT* nrhs,
              const double* dl, const double* d, const double* du, double* b,
              const MKL_INT* ldb, MKL_INT* info ) NOTHROW;
void DDTTRSB_( const char* trans, const MKL_INT* n, const MKL_INT* nrhs,
               const double* dl, const double* d, const double* du, double* b,
               const MKL_INT* ldb, MKL_INT* info ) NOTHROW;
void ddttrsb( const char* trans, const MKL_INT* n, const MKL_INT* nrhs,
              const double* dl, const double* d, const double* du, double* b,
              const MKL_INT* ldb, MKL_INT* info ) NOTHROW;
void ddttrsb_( const char* trans, const MKL_INT* n, const MKL_INT* nrhs,
               const double* dl, const double* d, const double* du, double* b,
               const MKL_INT* ldb, MKL_INT* info ) NOTHROW;

void SDTSVB( const MKL_INT* n, const MKL_INT* nrhs, float* dl, float* d,
             const float* du, float* b, const MKL_INT* ldb, MKL_INT* info ) NOTHROW;
void SDTSVB_( const MKL_INT* n, const MKL_INT* nrhs, float* dl, float* d,
              const float* du, float* b, const MKL_INT* ldb, MKL_INT* info ) NOTHROW;
void sdtsvb( const MKL_INT* n, const MKL_INT* nrhs, float* dl, float* d,
             const float* du, float* b, const MKL_INT* ldb, MKL_INT* info ) NOTHROW;
void sdtsvb_( const MKL_INT* n, const MKL_INT* nrhs, float* dl, float* d,
              const float* du, float* b, const MKL_INT* ldb, MKL_INT* info ) NOTHROW;

void SDTTRFB( const MKL_INT* n, float* dl, float* d, const float* du,
              MKL_INT* info ) NOTHROW;
void SDTTRFB_( const MKL_INT* n, float* dl, float* d, const float* du,
               MKL_INT* info ) NOTHROW;
void sdttrfb( const MKL_INT* n, float* dl, float* d, const float* du,
              MKL_INT* info ) NOTHROW;
void sdttrfb_( const MKL_INT* n, float* dl, float* d, const float* du,
               MKL_INT* info ) NOTHROW;

void SDTTRSB( const char* trans, const MKL_INT* n, const MKL_INT* nrhs,
              const float* dl, const float* d, const float* du, float* b,
              const MKL_INT* ldb, MKL_INT* info ) NOTHROW;
void SDTTRSB_( const char* trans, const MKL_INT* n, const MKL_INT* nrhs,
               const float* dl, const float* d, const float* du, float* b,
               const MKL_INT* ldb, MKL_INT* info ) NOTHROW;
void sdttrsb( const char* trans, const MKL_INT* n, const MKL_INT* nrhs,
              const float* dl, const float* d, const float* du, float* b,
              const MKL_INT* ldb, MKL_INT* info ) NOTHROW;
void sdttrsb_( const char* trans, const MKL_INT* n, const MKL_INT* nrhs,
               const float* dl, const float* d, const float* du, float* b,
               const MKL_INT* ldb, MKL_INT* info ) NOTHROW;

void ZDTSVB( const MKL_INT* n, const MKL_INT* nrhs, MKL_Complex16* dl,
             MKL_Complex16* d, const MKL_Complex16* du, MKL_Complex16* b,
             const MKL_INT* ldb, MKL_INT* info ) NOTHROW;
void ZDTSVB_( const MKL_INT* n, const MKL_INT* nrhs, MKL_Complex16* dl,
              MKL_Complex16* d, const MKL_Complex16* du, MKL_Complex16* b,
              const MKL_INT* ldb, MKL_INT* info ) NOTHROW;
void zdtsvb( const MKL_INT* n, const MKL_INT* nrhs, MKL_Complex16* dl,
             MKL_Complex16* d, const MKL_Complex16* du, MKL_Complex16* b,
             const MKL_INT* ldb, MKL_INT* info ) NOTHROW;
void zdtsvb_( const MKL_INT* n, const MKL_INT* nrhs, MKL_Complex16* dl,
              MKL_Complex16* d, const MKL_Complex16* du, MKL_Complex16* b,
              const MKL_INT* ldb, MKL_INT* info ) NOTHROW;

void ZDTTRFB( const MKL_INT* n, MKL_Complex16* dl, MKL_Complex16* d,
              const MKL_Complex16* du, MKL_INT* info ) NOTHROW;
void ZDTTRFB_( const MKL_INT* n, MKL_Complex16* dl, MKL_Complex16* d,
               const MKL_Complex16* du, MKL_INT* info ) NOTHROW;
void zdttrfb( const MKL_INT* n, MKL_Complex16* dl, MKL_Complex16* d,
              const MKL_Complex16* du, MKL_INT* info ) NOTHROW;
void zdttrfb_( const MKL_INT* n, MKL_Complex16* dl, MKL_Complex16* d,
               const MKL_Complex16* du, MKL_INT* info ) NOTHROW;

void ZDTTRSB( const char* trans, const MKL_INT* n, const MKL_INT* nrhs,
              const MKL_Complex16* dl, const MKL_Complex16* d,
              const MKL_Complex16* du, MKL_Complex16* b, const MKL_INT* ldb,
              MKL_INT* info ) NOTHROW;
void ZDTTRSB_( const char* trans, const MKL_INT* n, const MKL_INT* nrhs,
               const MKL_Complex16* dl, const MKL_Complex16* d,
               const MKL_Complex16* du, MKL_Complex16* b, const MKL_INT* ldb,
               MKL_INT* info ) NOTHROW;
void zdttrsb( const char* trans, const MKL_INT* n, const MKL_INT* nrhs,
              const MKL_Complex16* dl, const MKL_Complex16* d,
              const MKL_Complex16* du, MKL_Complex16* b, const MKL_INT* ldb,
              MKL_INT* info ) NOTHROW;
void zdttrsb_( const char* trans, const MKL_INT* n, const MKL_INT* nrhs,
               const MKL_Complex16* dl, const MKL_Complex16* d,
               const MKL_Complex16* du, MKL_Complex16* b, const MKL_INT* ldb,
               MKL_INT* info ) NOTHROW;

/* Converters for standard packed format */

void MKL_CTPPACK( const char* uplo, const char* trans, const MKL_INT* n,
                  MKL_Complex8* ap, const MKL_INT* i, const MKL_INT* j,
                  const MKL_INT* rows, const MKL_INT* cols,
                  const MKL_Complex8* a, const MKL_INT* lda, MKL_INT* info ) NOTHROW;
void MKL_CTPPACK_( const char* uplo, const char* trans, const MKL_INT* n,
                   MKL_Complex8* ap, const MKL_INT* i, const MKL_INT* j,
                   const MKL_INT* rows, const MKL_INT* cols,
                   const MKL_Complex8* a, const MKL_INT* lda, MKL_INT* info ) NOTHROW;
void mkl_ctppack( const char* uplo, const char* trans, const MKL_INT* n,
                  MKL_Complex8* ap, const MKL_INT* i, const MKL_INT* j,
                  const MKL_INT* rows, const MKL_INT* cols,
                  const MKL_Complex8* a, const MKL_INT* lda, MKL_INT* info ) NOTHROW;
void mkl_ctppack_( const char* uplo, const char* trans, const MKL_INT* n,
                   MKL_Complex8* ap, const MKL_INT* i, const MKL_INT* j,
                   const MKL_INT* rows, const MKL_INT* cols,
                   const MKL_Complex8* a, const MKL_INT* lda, MKL_INT* info ) NOTHROW;

void MKL_DTPPACK( const char* uplo, const char* trans, const MKL_INT* n,
                  double* ap, const MKL_INT* i, const MKL_INT* j,
                  const MKL_INT* rows, const MKL_INT* cols,
                  const double* a, const MKL_INT* lda, MKL_INT* info ) NOTHROW;
void MKL_DTPPACK_( const char* uplo, const char* trans, const MKL_INT* n,
                   double* ap, const MKL_INT* i, const MKL_INT* j,
                   const MKL_INT* rows, const MKL_INT* cols,
                   const double* a, const MKL_INT* lda, MKL_INT* info ) NOTHROW;
void mkl_dtppack( const char* uplo, const char* trans, const MKL_INT* n,
                  double* ap, const MKL_INT* i, const MKL_INT* j,
                  const MKL_INT* rows, const MKL_INT* cols,
                  const double* a, const MKL_INT* lda, MKL_INT* info ) NOTHROW;
void mkl_dtppack_( const char* uplo, const char* trans, const MKL_INT* n,
                   double* ap, const MKL_INT* i, const MKL_INT* j,
                   const MKL_INT* rows, const MKL_INT* cols,
                   const double* a, const MKL_INT* lda, MKL_INT* info ) NOTHROW;

void MKL_STPPACK( const char* uplo, const char* trans, const MKL_INT* n,
                  float* ap, const MKL_INT* i, const MKL_INT* j,
                  const MKL_INT* rows, const MKL_INT* cols,
                  const float* a, const MKL_INT* lda, MKL_INT* info ) NOTHROW;
void MKL_STPPACK_( const char* uplo, const char* trans, const MKL_INT* n,
                   float* ap, const MKL_INT* i, const MKL_INT* j,
                   const MKL_INT* rows, const MKL_INT* cols,
                   const float* a, const MKL_INT* lda, MKL_INT* info ) NOTHROW;
void mkl_stppack( const char* uplo, const char* trans, const MKL_INT* n,
                  float* ap, const MKL_INT* i, const MKL_INT* j,
                  const MKL_INT* rows, const MKL_INT* cols,
                  const float* a, const MKL_INT* lda, MKL_INT* info ) NOTHROW;
void mkl_stppack_( const char* uplo, const char* trans, const MKL_INT* n,
                   float* ap, const MKL_INT* i, const MKL_INT* j,
                   const MKL_INT* rows, const MKL_INT* cols,
                   const float* a, const MKL_INT* lda, MKL_INT* info ) NOTHROW;

void MKL_ZTPPACK( const char* uplo, const char* trans, const MKL_INT* n,
                  MKL_Complex16* ap, const MKL_INT* i, const MKL_INT* j,
                  const MKL_INT* rows, const MKL_INT* cols,
                  const MKL_Complex16* a, const MKL_INT* lda, MKL_INT* info ) NOTHROW;
void MKL_ZTPPACK_( const char* uplo, const char* trans, const MKL_INT* n,
                   MKL_Complex16* ap, const MKL_INT* i, const MKL_INT* j,
                   const MKL_INT* rows, const MKL_INT* cols,
                   const MKL_Complex16* a, const MKL_INT* lda, MKL_INT* info ) NOTHROW;
void mkl_ztppack( const char* uplo, const char* trans, const MKL_INT* n,
                  MKL_Complex16* ap, const MKL_INT* i, const MKL_INT* j,
                  const MKL_INT* rows, const MKL_INT* cols,
                  const MKL_Complex16* a, const MKL_INT* lda, MKL_INT* info ) NOTHROW;
void mkl_ztppack_( const char* uplo, const char* trans, const MKL_INT* n,
                   MKL_Complex16* ap, const MKL_INT* i, const MKL_INT* j,
                   const MKL_INT* rows, const MKL_INT* cols,
                   const MKL_Complex16* a, const MKL_INT* lda, MKL_INT* info ) NOTHROW;

void MKL_CTPUNPACK( const char* uplo, const char* trans, const MKL_INT* n,
                    const MKL_Complex8* ap, const MKL_INT* i, const MKL_INT* j,
                    const MKL_INT* rows, const MKL_INT* cols,
                    MKL_Complex8* a, const MKL_INT* lda, MKL_INT* info ) NOTHROW;
void MKL_CTPUNPACK_( const char* uplo, const char* trans, const MKL_INT* n,
                     const MKL_Complex8* ap, const MKL_INT* i, const MKL_INT* j,
                     const MKL_INT* rows, const MKL_INT* cols,
                     MKL_Complex8* a, const MKL_INT* lda, MKL_INT* info ) NOTHROW;
void mkl_ctpunpack( const char* uplo, const char* trans, const MKL_INT* n,
                    const MKL_Complex8* ap, const MKL_INT* i, const MKL_INT* j,
                    const MKL_INT* rows, const MKL_INT* cols,
                    MKL_Complex8* a, const MKL_INT* lda, MKL_INT* info ) NOTHROW;
void mkl_ctpunpack_( const char* uplo, const char* trans, const MKL_INT* n,
                     const MKL_Complex8* ap, const MKL_INT* i, const MKL_INT* j,
                     const MKL_INT* rows, const MKL_INT* cols,
                     MKL_Complex8* a, const MKL_INT* lda, MKL_INT* info ) NOTHROW;

void MKL_DTPUNPACK( const char* uplo, const char* trans, const MKL_INT* n,
                    const double* ap, const MKL_INT* i, const MKL_INT* j,
                    const MKL_INT* rows, const MKL_INT* cols,
                    double* a, const MKL_INT* lda, MKL_INT* info ) NOTHROW;
void MKL_DTPUNPACK_( const char* uplo, const char* trans, const MKL_INT* n,
                     const double* ap, const MKL_INT* i, const MKL_INT* j,
                     const MKL_INT* rows, const MKL_INT* cols,
                     double* a, const MKL_INT* lda, MKL_INT* info ) NOTHROW;
void mkl_dtpunpack( const char* uplo, const char* trans, const MKL_INT* n,
                    const double* ap, const MKL_INT* i, const MKL_INT* j,
                    const MKL_INT* rows, const MKL_INT* cols,
                    double* a, const MKL_INT* lda, MKL_INT* info ) NOTHROW;
void mkl_dtpunpack_( const char* uplo, const char* trans, const MKL_INT* n,
                     const double* ap, const MKL_INT* i, const MKL_INT* j,
                     const MKL_INT* rows, const MKL_INT* cols,
                     double* a, const MKL_INT* lda, MKL_INT* info ) NOTHROW;

void MKL_STPUNPACK( const char* uplo, const char* trans, const MKL_INT* n,
                    const float* ap, const MKL_INT* i, const MKL_INT* j,
                    const MKL_INT* rows, const MKL_INT* cols,
                    float* a, const MKL_INT* lda, MKL_INT* info ) NOTHROW;
void MKL_STPUNPACK_( const char* uplo, const char* trans, const MKL_INT* n,
                     const float* ap, const MKL_INT* i, const MKL_INT* j,
                     const MKL_INT* rows, const MKL_INT* cols,
                     float* a, const MKL_INT* lda, MKL_INT* info ) NOTHROW;
void mkl_stpunpack( const char* uplo, const char* trans, const MKL_INT* n,
                    const float* ap, const MKL_INT* i, const MKL_INT* j,
                    const MKL_INT* rows, const MKL_INT* cols,
                    float* a, const MKL_INT* lda, MKL_INT* info ) NOTHROW;
void mkl_stpunpack_( const char* uplo, const char* trans, const MKL_INT* n,
                     const float* ap, const MKL_INT* i, const MKL_INT* j,
                     const MKL_INT* rows, const MKL_INT* cols,
                     float* a, const MKL_INT* lda, MKL_INT* info ) NOTHROW;

void MKL_ZTPUNPACK( const char* uplo, const char* trans, const MKL_INT* n,
                    const MKL_Complex16* ap, const MKL_INT* i, const MKL_INT* j,
                    const MKL_INT* rows, const MKL_INT* cols,
                    MKL_Complex16* a, const MKL_INT* lda, MKL_INT* info ) NOTHROW;
void MKL_ZTPUNPACK_( const char* uplo, const char* trans, const MKL_INT* n,
                     const MKL_Complex16* ap, const MKL_INT* i, const MKL_INT* j,
                     const MKL_INT* rows, const MKL_INT* cols,
                     MKL_Complex16* a, const MKL_INT* lda, MKL_INT* info ) NOTHROW;
void mkl_ztpunpack( const char* uplo, const char* trans, const MKL_INT* n,
                    const MKL_Complex16* ap, const MKL_INT* i, const MKL_INT* j,
                    const MKL_INT* rows, const MKL_INT* cols,
                    MKL_Complex16* a, const MKL_INT* lda, MKL_INT* info ) NOTHROW;
void mkl_ztpunpack_( const char* uplo, const char* trans, const MKL_INT* n,
                     const MKL_Complex16* ap, const MKL_INT* i, const MKL_INT* j,
                     const MKL_INT* rows, const MKL_INT* cols,
                     MKL_Complex16* a, const MKL_INT* lda, MKL_INT* info ) NOTHROW;

/* LAPACK MATGEN routines */
void DLATM1( const MKL_INT* mode, const double* cond, const MKL_INT* irsign,
             const MKL_INT* idist, MKL_INT* iseed, double* d,
             const MKL_INT* n, MKL_INT* info ) NOTHROW;
void DLATM1_( const MKL_INT* mode, const double* cond, const MKL_INT* irsign,
              const MKL_INT* idist, MKL_INT* iseed, double* d,
              const MKL_INT* n, MKL_INT* info ) NOTHROW;
void dlatm1( const MKL_INT* mode, const double* cond, const MKL_INT* irsign,
             const MKL_INT* idist, MKL_INT* iseed, double* d,
             const MKL_INT* n, MKL_INT* info ) NOTHROW;
void dlatm1_( const MKL_INT* mode, const double* cond, const MKL_INT* irsign,
              const MKL_INT* idist, MKL_INT* iseed, double* d,
              const MKL_INT* n, MKL_INT* info ) NOTHROW;

void SLATM1( const MKL_INT* mode, const float* cond, const MKL_INT* irsign,
             const MKL_INT* idist, MKL_INT* iseed, float* d,
             const MKL_INT* n, MKL_INT* info ) NOTHROW;
void SLATM1_( const MKL_INT* mode, const float* cond, const MKL_INT* irsign,
              const MKL_INT* idist, MKL_INT* iseed, float* d,
              const MKL_INT* n, MKL_INT* info ) NOTHROW;
void slatm1( const MKL_INT* mode, const float* cond, const MKL_INT* irsign,
             const MKL_INT* idist, MKL_INT* iseed, float* d,
             const MKL_INT* n, MKL_INT* info ) NOTHROW;
void slatm1_( const MKL_INT* mode, const float* cond, const MKL_INT* irsign,
              const MKL_INT* idist, MKL_INT* iseed, float* d,
              const MKL_INT* n, MKL_INT* info ) NOTHROW;

void CLATM1( const MKL_INT* mode, const float* cond, const MKL_INT* irsign,
             const MKL_INT* idist, MKL_INT* iseed, MKL_Complex8* d,
             const MKL_INT* n, MKL_INT* info ) NOTHROW;
void CLATM1_( const MKL_INT* mode, const float* cond, const MKL_INT* irsign,
              const MKL_INT* idist, MKL_INT* iseed, MKL_Complex8* d,
              const MKL_INT* n, MKL_INT* info ) NOTHROW;
void clatm1( const MKL_INT* mode, const float* cond, const MKL_INT* irsign,
             const MKL_INT* idist, MKL_INT* iseed, MKL_Complex8* d,
             const MKL_INT* n, MKL_INT* info ) NOTHROW;
void clatm1_( const MKL_INT* mode, const float* cond, const MKL_INT* irsign,
              const MKL_INT* idist, MKL_INT* iseed, MKL_Complex8* d,
              const MKL_INT* n, MKL_INT* info ) NOTHROW;

void ZLATM1( const MKL_INT* mode, const double* cond, const MKL_INT* irsign,
             const MKL_INT* idist, MKL_INT* iseed, MKL_Complex16* d,
             const MKL_INT* n, MKL_INT* info ) NOTHROW;
void ZLATM1_( const MKL_INT* mode, const double* cond, const MKL_INT* irsign,
              const MKL_INT* idist, MKL_INT* iseed, MKL_Complex16* d,
              const MKL_INT* n, MKL_INT* info ) NOTHROW;
void zlatm1( const MKL_INT* mode, const double* cond, const MKL_INT* irsign,
             const MKL_INT* idist, MKL_INT* iseed, MKL_Complex16* d,
             const MKL_INT* n, MKL_INT* info ) NOTHROW;
void zlatm1_( const MKL_INT* mode, const double* cond, const MKL_INT* irsign,
              const MKL_INT* idist, MKL_INT* iseed, MKL_Complex16* d,
              const MKL_INT* n, MKL_INT* info ) NOTHROW;

double DLATM2( const MKL_INT* m, const MKL_INT* n, MKL_INT* ii,
               const MKL_INT* j, const MKL_INT* kl, const MKL_INT* ku,
               const MKL_INT* idist, MKL_INT* iseed, const double* d,
               const MKL_INT* igrade, const double* dl, const double* dr,
               const MKL_INT* ipvtng, MKL_INT* iwork, const double* sparse ) NOTHROW;
double DLATM2_( const MKL_INT* m, const MKL_INT* n, MKL_INT* ii,
                const MKL_INT* j, const MKL_INT* kl, const MKL_INT* ku,
                const MKL_INT* idist, MKL_INT* iseed, const double* d,
                const MKL_INT* igrade, const double* dl, const double* dr,
                const MKL_INT* ipvtng, MKL_INT* iwork, const double* sparse ) NOTHROW;
double dlatm2( const MKL_INT* m, const MKL_INT* n, MKL_INT* ii,
               const MKL_INT* j, const MKL_INT* kl, const MKL_INT* ku,
               const MKL_INT* idist, MKL_INT* iseed, const double* d,
               const MKL_INT* igrade, const double* dl, const double* dr,
               const MKL_INT* ipvtng, MKL_INT* iwork, const double* sparse ) NOTHROW;
double dlatm2_( const MKL_INT* m, const MKL_INT* n, MKL_INT* ii,
                const MKL_INT* j, const MKL_INT* kl, const MKL_INT* ku,
                const MKL_INT* idist, MKL_INT* iseed, const double* d,
                const MKL_INT* igrade, const double* dl, const double* dr,
                const MKL_INT* ipvtng, MKL_INT* iwork, const double* sparse ) NOTHROW;

float SLATM2( const MKL_INT* m, const MKL_INT* n, MKL_INT* ii,
              const MKL_INT* j, const MKL_INT* kl, const MKL_INT* ku,
              const MKL_INT* idist, MKL_INT* iseed, const float* d,
              const MKL_INT* igrade, const float* dl, const float* dr,
              const MKL_INT* ipvtng, MKL_INT* iwork, const float* sparse ) NOTHROW;
float SLATM2_( const MKL_INT* m, const MKL_INT* n, MKL_INT* ii,
               const MKL_INT* j, const MKL_INT* kl, const MKL_INT* ku,
               const MKL_INT* idist, MKL_INT* iseed, const float* d,
               const MKL_INT* igrade, const float* dl, const float* dr,
               const MKL_INT* ipvtng, MKL_INT* iwork, const float* sparse ) NOTHROW;
float slatm2( const MKL_INT* m, const MKL_INT* n, MKL_INT* ii,
              const MKL_INT* j, const MKL_INT* kl, const MKL_INT* ku,
              const MKL_INT* idist, MKL_INT* iseed, const float* d,
              const MKL_INT* igrade, const float* dl, const float* dr,
              const MKL_INT* ipvtng, MKL_INT* iwork, const float* sparse ) NOTHROW;
float slatm2_( const MKL_INT* m, const MKL_INT* n, MKL_INT* ii,
               const MKL_INT* j, const MKL_INT* kl, const MKL_INT* ku,
               const MKL_INT* idist, MKL_INT* iseed, const float* d,
               const MKL_INT* igrade, const float* dl, const float* dr,
               const MKL_INT* ipvtng, MKL_INT* iwork, const float* sparse ) NOTHROW;

void CLATM2( MKL_Complex8* retval, const MKL_INT* m, const MKL_INT* n,
             MKL_INT* ii, const MKL_INT* j, const MKL_INT* kl,
             const MKL_INT* ku, const MKL_INT* idist, MKL_INT* iseed,
             const MKL_Complex8* d, const MKL_INT* igrade,
             const MKL_Complex8* dl, const MKL_Complex8* dr,
             const MKL_INT* ipvtng, MKL_INT* iwork, const float* sparse ) NOTHROW;
void CLATM2_( MKL_Complex8* retval, const MKL_INT* m, const MKL_INT* n,
              MKL_INT* ii, const MKL_INT* j, const MKL_INT* kl,
              const MKL_INT* ku, const MKL_INT* idist, MKL_INT* iseed,
              const MKL_Complex8* d, const MKL_INT* igrade,
              const MKL_Complex8* dl, const MKL_Complex8* dr,
              const MKL_INT* ipvtng, MKL_INT* iwork, const float* sparse ) NOTHROW;
void clatm2( MKL_Complex8* retval, const MKL_INT* m, const MKL_INT* n,
             MKL_INT* ii, const MKL_INT* j, const MKL_INT* kl,
             const MKL_INT* ku, const MKL_INT* idist, MKL_INT* iseed,
             const MKL_Complex8* d, const MKL_INT* igrade,
             const MKL_Complex8* dl, const MKL_Complex8* dr,
             const MKL_INT* ipvtng, MKL_INT* iwork, const float* sparse ) NOTHROW;
void clatm2_( MKL_Complex8* retval, const MKL_INT* m, const MKL_INT* n,
              MKL_INT* ii, const MKL_INT* j, const MKL_INT* kl,
              const MKL_INT* ku, const MKL_INT* idist, MKL_INT* iseed,
              const MKL_Complex8* d, const MKL_INT* igrade,
              const MKL_Complex8* dl, const MKL_Complex8* dr,
              const MKL_INT* ipvtng, MKL_INT* iwork, const float* sparse ) NOTHROW;

void ZLATM2( MKL_Complex16* retval, const MKL_INT* m, const MKL_INT* n,
             MKL_INT* ii, const MKL_INT* j, const MKL_INT* kl,
             const MKL_INT* ku, const MKL_INT* idist, MKL_INT* iseed,
             const MKL_Complex16* d, const MKL_INT* igrade,
             const MKL_Complex16* dl, const MKL_Complex16* dr,
             const MKL_INT* ipvtng, MKL_INT* iwork, const double* sparse ) NOTHROW;
void ZLATM2_( MKL_Complex16* retval, const MKL_INT* m, const MKL_INT* n,
              MKL_INT* ii, const MKL_INT* j, const MKL_INT* kl,
              const MKL_INT* ku, const MKL_INT* idist, MKL_INT* iseed,
              const MKL_Complex16* d, const MKL_INT* igrade,
              const MKL_Complex16* dl, const MKL_Complex16* dr,
              const MKL_INT* ipvtng, MKL_INT* iwork, const double* sparse ) NOTHROW;
void zlatm2( MKL_Complex16* retval, const MKL_INT* m, const MKL_INT* n,
             MKL_INT* ii, const MKL_INT* j, const MKL_INT* kl,
             const MKL_INT* ku, const MKL_INT* idist, MKL_INT* iseed,
             const MKL_Complex16* d, const MKL_INT* igrade,
             const MKL_Complex16* dl, const MKL_Complex16* dr,
             const MKL_INT* ipvtng, MKL_INT* iwork, const double* sparse ) NOTHROW;
void zlatm2_( MKL_Complex16* retval, const MKL_INT* m, const MKL_INT* n,
              MKL_INT* ii, const MKL_INT* j, const MKL_INT* kl,
              const MKL_INT* ku, const MKL_INT* idist, MKL_INT* iseed,
              const MKL_Complex16* d, const MKL_INT* igrade,
              const MKL_Complex16* dl, const MKL_Complex16* dr,
              const MKL_INT* ipvtng, MKL_INT* iwork, const double* sparse ) NOTHROW;

double DLATM3( const MKL_INT* m, const MKL_INT* n, MKL_INT* ii,
               const MKL_INT* j, MKL_INT* isub, MKL_INT* jsub,
               const MKL_INT* kl, const MKL_INT* ku, const MKL_INT* idist,
               MKL_INT* iseed, const double* d, const MKL_INT* igrade,
               const double* dl, const double* dr, const MKL_INT* ipvtng,
               const MKL_INT* iwork, const double* sparse ) NOTHROW;
double DLATM3_( const MKL_INT* m, const MKL_INT* n, MKL_INT* ii,
                const MKL_INT* j, MKL_INT* isub, MKL_INT* jsub,
                const MKL_INT* kl, const MKL_INT* ku, const MKL_INT* idist,
                MKL_INT* iseed, const double* d, const MKL_INT* igrade,
                const double* dl, const double* dr, const MKL_INT* ipvtng,
                const MKL_INT* iwork, const double* sparse ) NOTHROW;
double dlatm3( const MKL_INT* m, const MKL_INT* n, MKL_INT* ii,
               const MKL_INT* j, MKL_INT* isub, MKL_INT* jsub,
               const MKL_INT* kl, const MKL_INT* ku, const MKL_INT* idist,
               MKL_INT* iseed, const double* d, const MKL_INT* igrade,
               const double* dl, const double* dr, const MKL_INT* ipvtng,
               const MKL_INT* iwork, const double* sparse ) NOTHROW;
double dlatm3_( const MKL_INT* m, const MKL_INT* n, MKL_INT* ii,
                const MKL_INT* j, MKL_INT* isub, MKL_INT* jsub,
                const MKL_INT* kl, const MKL_INT* ku, const MKL_INT* idist,
                MKL_INT* iseed, const double* d, const MKL_INT* igrade,
                const double* dl, const double* dr, const MKL_INT* ipvtng,
                const MKL_INT* iwork, const double* sparse ) NOTHROW;

float SLATM3( const MKL_INT* m, const MKL_INT* n, MKL_INT* ii,
              const MKL_INT* j, MKL_INT* isub, MKL_INT* jsub,
              const MKL_INT* kl, const MKL_INT* ku, const MKL_INT* idist,
              MKL_INT* iseed, const float* d, const MKL_INT* igrade,
              const float* dl, const float* dr, const MKL_INT* ipvtng,
              const MKL_INT* iwork, const float* sparse ) NOTHROW;
float SLATM3_( const MKL_INT* m, const MKL_INT* n, MKL_INT* ii,
               const MKL_INT* j, MKL_INT* isub, MKL_INT* jsub,
               const MKL_INT* kl, const MKL_INT* ku, const MKL_INT* idist,
               MKL_INT* iseed, const float* d, const MKL_INT* igrade,
               const float* dl, const float* dr, const MKL_INT* ipvtng,
               const MKL_INT* iwork, const float* sparse ) NOTHROW;
float slatm3( const MKL_INT* m, const MKL_INT* n, MKL_INT* ii,
              const MKL_INT* j, MKL_INT* isub, MKL_INT* jsub,
              const MKL_INT* kl, const MKL_INT* ku, const MKL_INT* idist,
              MKL_INT* iseed, const float* d, const MKL_INT* igrade,
              const float* dl, const float* dr, const MKL_INT* ipvtng,
              const MKL_INT* iwork, const float* sparse ) NOTHROW;
float slatm3_( const MKL_INT* m, const MKL_INT* n, MKL_INT* ii,
               const MKL_INT* j, MKL_INT* isub, MKL_INT* jsub,
               const MKL_INT* kl, const MKL_INT* ku, const MKL_INT* idist,
               MKL_INT* iseed, const float* d, const MKL_INT* igrade,
               const float* dl, const float* dr, const MKL_INT* ipvtng,
               const MKL_INT* iwork, const float* sparse ) NOTHROW;

void CLATM3( MKL_Complex8* retval, const MKL_INT* m, const MKL_INT* n,
             MKL_INT* ii, const MKL_INT* j, MKL_INT* isub, MKL_INT* jsub,
             const MKL_INT* kl, const MKL_INT* ku, const MKL_INT* idist,
             MKL_INT* iseed, const MKL_Complex8* d, const MKL_INT* igrade,
             const MKL_Complex8* dl, const MKL_Complex8* dr,
             const MKL_INT* ipvtng, const MKL_INT* iwork,
             const float* sparse ) NOTHROW;
void CLATM3_( MKL_Complex8* retval, const MKL_INT* m, const MKL_INT* n,
              MKL_INT* ii, const MKL_INT* j, MKL_INT* isub, MKL_INT* jsub,
              const MKL_INT* kl, const MKL_INT* ku, const MKL_INT* idist,
              MKL_INT* iseed, const MKL_Complex8* d, const MKL_INT* igrade,
              const MKL_Complex8* dl, const MKL_Complex8* dr,
              const MKL_INT* ipvtng, const MKL_INT* iwork,
              const float* sparse ) NOTHROW;
void clatm3( MKL_Complex8* retval, const MKL_INT* m, const MKL_INT* n,
             MKL_INT* ii, const MKL_INT* j, MKL_INT* isub, MKL_INT* jsub,
             const MKL_INT* kl, const MKL_INT* ku, const MKL_INT* idist,
             MKL_INT* iseed, const MKL_Complex8* d, const MKL_INT* igrade,
             const MKL_Complex8* dl, const MKL_Complex8* dr,
             const MKL_INT* ipvtng, const MKL_INT* iwork,
             const float* sparse ) NOTHROW;
void clatm3_( MKL_Complex8* retval, const MKL_INT* m, const MKL_INT* n,
              MKL_INT* ii, const MKL_INT* j, MKL_INT* isub, MKL_INT* jsub,
              const MKL_INT* kl, const MKL_INT* ku, const MKL_INT* idist,
              MKL_INT* iseed, const MKL_Complex8* d, const MKL_INT* igrade,
              const MKL_Complex8* dl, const MKL_Complex8* dr,
              const MKL_INT* ipvtng, const MKL_INT* iwork,
              const float* sparse ) NOTHROW;

void ZLATM3( MKL_Complex16* retval, const MKL_INT* m, const MKL_INT* n,
             MKL_INT* ii, const MKL_INT* j, MKL_INT* isub, MKL_INT* jsub,
             const MKL_INT* kl, const MKL_INT* ku, const MKL_INT* idist,
             MKL_INT* iseed, const MKL_Complex16* d, const MKL_INT* igrade,
             const MKL_Complex16* dl, const MKL_Complex16* dr,
             const MKL_INT* ipvtng, const MKL_INT* iwork,
             const double* sparse ) NOTHROW;
void ZLATM3_( MKL_Complex16* retval, const MKL_INT* m, const MKL_INT* n,
              MKL_INT* ii, const MKL_INT* j, MKL_INT* isub, MKL_INT* jsub,
              const MKL_INT* kl, const MKL_INT* ku, const MKL_INT* idist,
              MKL_INT* iseed, const MKL_Complex16* d, const MKL_INT* igrade,
              const MKL_Complex16* dl, const MKL_Complex16* dr,
              const MKL_INT* ipvtng, const MKL_INT* iwork,
              const double* sparse ) NOTHROW;
void zlatm3( MKL_Complex16* retval, const MKL_INT* m, const MKL_INT* n,
             MKL_INT* ii, const MKL_INT* j, MKL_INT* isub, MKL_INT* jsub,
             const MKL_INT* kl, const MKL_INT* ku, const MKL_INT* idist,
             MKL_INT* iseed, const MKL_Complex16* d, const MKL_INT* igrade,
             const MKL_Complex16* dl, const MKL_Complex16* dr,
             const MKL_INT* ipvtng, const MKL_INT* iwork,
             const double* sparse ) NOTHROW;
void zlatm3_( MKL_Complex16* retval, const MKL_INT* m, const MKL_INT* n,
              MKL_INT* ii, const MKL_INT* j, MKL_INT* isub, MKL_INT* jsub,
              const MKL_INT* kl, const MKL_INT* ku, const MKL_INT* idist,
              MKL_INT* iseed, const MKL_Complex16* d, const MKL_INT* igrade,
              const MKL_Complex16* dl, const MKL_Complex16* dr,
              const MKL_INT* ipvtng, const MKL_INT* iwork,
              const double* sparse ) NOTHROW;

void DLATM5( const MKL_INT* prtype, const MKL_INT* m, const MKL_INT* n,
             double* a, const MKL_INT* lda, double* b, const MKL_INT* ldb,
             double* c, const MKL_INT* ldc, double* d, const MKL_INT* ldd,
             double* e, const MKL_INT* lde, double* f, const MKL_INT* ldf,
             double* r, const MKL_INT* ldr, double* l, const MKL_INT* ldl,
             const double* alpha, const MKL_INT* qblcka,
             const MKL_INT* qblckb ) NOTHROW;
void DLATM5_( const MKL_INT* prtype, const MKL_INT* m, const MKL_INT* n,
              double* a, const MKL_INT* lda, double* b, const MKL_INT* ldb,
              double* c, const MKL_INT* ldc, double* d, const MKL_INT* ldd,
              double* e, const MKL_INT* lde, double* f, const MKL_INT* ldf,
              double* r, const MKL_INT* ldr, double* l, const MKL_INT* ldl,
              const double* alpha, const MKL_INT* qblcka,
              const MKL_INT* qblckb ) NOTHROW;
void dlatm5( const MKL_INT* prtype, const MKL_INT* m, const MKL_INT* n,
             double* a, const MKL_INT* lda, double* b, const MKL_INT* ldb,
             double* c, const MKL_INT* ldc, double* d, const MKL_INT* ldd,
             double* e, const MKL_INT* lde, double* f, const MKL_INT* ldf,
             double* r, const MKL_INT* ldr, double* l, const MKL_INT* ldl,
             const double* alpha, const MKL_INT* qblcka,
             const MKL_INT* qblckb ) NOTHROW;
void dlatm5_( const MKL_INT* prtype, const MKL_INT* m, const MKL_INT* n,
              double* a, const MKL_INT* lda, double* b, const MKL_INT* ldb,
              double* c, const MKL_INT* ldc, double* d, const MKL_INT* ldd,
              double* e, const MKL_INT* lde, double* f, const MKL_INT* ldf,
              double* r, const MKL_INT* ldr, double* l, const MKL_INT* ldl,
              const double* alpha, const MKL_INT* qblcka,
              const MKL_INT* qblckb ) NOTHROW;

void SLATM5( const MKL_INT* prtype, const MKL_INT* m, const MKL_INT* n,
             float* a, const MKL_INT* lda, float* b, const MKL_INT* ldb,
             float* c, const MKL_INT* ldc, float* d, const MKL_INT* ldd,
             float* e, const MKL_INT* lde, float* f, const MKL_INT* ldf,
             float* r, const MKL_INT* ldr, float* l, const MKL_INT* ldl,
             const float* alpha, const MKL_INT* qblcka,
             const MKL_INT* qblckb ) NOTHROW;
void SLATM5_( const MKL_INT* prtype, const MKL_INT* m, const MKL_INT* n,
              float* a, const MKL_INT* lda, float* b, const MKL_INT* ldb,
              float* c, const MKL_INT* ldc, float* d, const MKL_INT* ldd,
              float* e, const MKL_INT* lde, float* f, const MKL_INT* ldf,
              float* r, const MKL_INT* ldr, float* l, const MKL_INT* ldl,
              const float* alpha, const MKL_INT* qblcka,
              const MKL_INT* qblckb ) NOTHROW;
void slatm5( const MKL_INT* prtype, const MKL_INT* m, const MKL_INT* n,
             float* a, const MKL_INT* lda, float* b, const MKL_INT* ldb,
             float* c, const MKL_INT* ldc, float* d, const MKL_INT* ldd,
             float* e, const MKL_INT* lde, float* f, const MKL_INT* ldf,
             float* r, const MKL_INT* ldr, float* l, const MKL_INT* ldl,
             const float* alpha, const MKL_INT* qblcka,
             const MKL_INT* qblckb ) NOTHROW;
void slatm5_( const MKL_INT* prtype, const MKL_INT* m, const MKL_INT* n,
              float* a, const MKL_INT* lda, float* b, const MKL_INT* ldb,
              float* c, const MKL_INT* ldc, float* d, const MKL_INT* ldd,
              float* e, const MKL_INT* lde, float* f, const MKL_INT* ldf,
              float* r, const MKL_INT* ldr, float* l, const MKL_INT* ldl,
              const float* alpha, const MKL_INT* qblcka,
              const MKL_INT* qblckb ) NOTHROW;

void CLATM5( const MKL_INT* prtype, const MKL_INT* m, const MKL_INT* n,
             MKL_Complex8* a, const MKL_INT* lda, MKL_Complex8* b,
             const MKL_INT* ldb, MKL_Complex8* c, const MKL_INT* ldc,
             MKL_Complex8* d, const MKL_INT* ldd, MKL_Complex8* e,
             const MKL_INT* lde, MKL_Complex8* f, const MKL_INT* ldf,
             MKL_Complex8* r, const MKL_INT* ldr, MKL_Complex8* l,
             const MKL_INT* ldl, const float* alpha, const MKL_INT* qblcka,
             const MKL_INT* qblckb ) NOTHROW;
void CLATM5_( const MKL_INT* prtype, const MKL_INT* m, const MKL_INT* n,
              MKL_Complex8* a, const MKL_INT* lda, MKL_Complex8* b,
              const MKL_INT* ldb, MKL_Complex8* c, const MKL_INT* ldc,
              MKL_Complex8* d, const MKL_INT* ldd, MKL_Complex8* e,
              const MKL_INT* lde, MKL_Complex8* f, const MKL_INT* ldf,
              MKL_Complex8* r, const MKL_INT* ldr, MKL_Complex8* l,
              const MKL_INT* ldl, const float* alpha, const MKL_INT* qblcka,
              const MKL_INT* qblckb ) NOTHROW;
void clatm5( const MKL_INT* prtype, const MKL_INT* m, const MKL_INT* n,
             MKL_Complex8* a, const MKL_INT* lda, MKL_Complex8* b,
             const MKL_INT* ldb, MKL_Complex8* c, const MKL_INT* ldc,
             MKL_Complex8* d, const MKL_INT* ldd, MKL_Complex8* e,
             const MKL_INT* lde, MKL_Complex8* f, const MKL_INT* ldf,
             MKL_Complex8* r, const MKL_INT* ldr, MKL_Complex8* l,
             const MKL_INT* ldl, const float* alpha, const MKL_INT* qblcka,
             const MKL_INT* qblckb ) NOTHROW;
void clatm5_( const MKL_INT* prtype, const MKL_INT* m, const MKL_INT* n,
              MKL_Complex8* a, const MKL_INT* lda, MKL_Complex8* b,
              const MKL_INT* ldb, MKL_Complex8* c, const MKL_INT* ldc,
              MKL_Complex8* d, const MKL_INT* ldd, MKL_Complex8* e,
              const MKL_INT* lde, MKL_Complex8* f, const MKL_INT* ldf,
              MKL_Complex8* r, const MKL_INT* ldr, MKL_Complex8* l,
              const MKL_INT* ldl, const float* alpha, const MKL_INT* qblcka,
              const MKL_INT* qblckb ) NOTHROW;

void ZLATM5( const MKL_INT* prtype, const MKL_INT* m, const MKL_INT* n,
             MKL_Complex16* a, const MKL_INT* lda, MKL_Complex16* b,
             const MKL_INT* ldb, MKL_Complex16* c, const MKL_INT* ldc,
             MKL_Complex16* d, const MKL_INT* ldd, MKL_Complex16* e,
             const MKL_INT* lde, MKL_Complex16* f, const MKL_INT* ldf,
             MKL_Complex16* r, const MKL_INT* ldr, MKL_Complex16* l,
             const MKL_INT* ldl, const double* alpha, const MKL_INT* qblcka,
             const MKL_INT* qblckb ) NOTHROW;
void ZLATM5_( const MKL_INT* prtype, const MKL_INT* m, const MKL_INT* n,
              MKL_Complex16* a, const MKL_INT* lda, MKL_Complex16* b,
              const MKL_INT* ldb, MKL_Complex16* c, const MKL_INT* ldc,
              MKL_Complex16* d, const MKL_INT* ldd, MKL_Complex16* e,
              const MKL_INT* lde, MKL_Complex16* f, const MKL_INT* ldf,
              MKL_Complex16* r, const MKL_INT* ldr, MKL_Complex16* l,
              const MKL_INT* ldl, const double* alpha, const MKL_INT* qblcka,
              const MKL_INT* qblckb ) NOTHROW;
void zlatm5( const MKL_INT* prtype, const MKL_INT* m, const MKL_INT* n,
             MKL_Complex16* a, const MKL_INT* lda, MKL_Complex16* b,
             const MKL_INT* ldb, MKL_Complex16* c, const MKL_INT* ldc,
             MKL_Complex16* d, const MKL_INT* ldd, MKL_Complex16* e,
             const MKL_INT* lde, MKL_Complex16* f, const MKL_INT* ldf,
             MKL_Complex16* r, const MKL_INT* ldr, MKL_Complex16* l,
             const MKL_INT* ldl, const double* alpha, const MKL_INT* qblcka,
             const MKL_INT* qblckb ) NOTHROW;
void zlatm5_( const MKL_INT* prtype, const MKL_INT* m, const MKL_INT* n,
              MKL_Complex16* a, const MKL_INT* lda, MKL_Complex16* b,
              const MKL_INT* ldb, MKL_Complex16* c, const MKL_INT* ldc,
              MKL_Complex16* d, const MKL_INT* ldd, MKL_Complex16* e,
              const MKL_INT* lde, MKL_Complex16* f, const MKL_INT* ldf,
              MKL_Complex16* r, const MKL_INT* ldr, MKL_Complex16* l,
              const MKL_INT* ldl, const double* alpha, const MKL_INT* qblcka,
              const MKL_INT* qblckb ) NOTHROW;

void DLATM6( const MKL_INT* type, const MKL_INT* n, double* a,
             const MKL_INT* lda, double* b, double* x, const MKL_INT* ldx,
             double* y, const MKL_INT* ldy, const double* alpha,
             const double* beta, const double* wx, const double* wy, double* s,
             double* dif ) NOTHROW;
void DLATM6_( const MKL_INT* type, const MKL_INT* n, double* a,
              const MKL_INT* lda, double* b, double* x, const MKL_INT* ldx,
              double* y, const MKL_INT* ldy, const double* alpha,
              const double* beta, const double* wx, const double* wy,
              double* s, double* dif ) NOTHROW;
void dlatm6( const MKL_INT* type, const MKL_INT* n, double* a,
             const MKL_INT* lda, double* b, double* x, const MKL_INT* ldx,
             double* y, const MKL_INT* ldy, const double* alpha,
             const double* beta, const double* wx, const double* wy, double* s,
             double* dif ) NOTHROW;
void dlatm6_( const MKL_INT* type, const MKL_INT* n, double* a,
              const MKL_INT* lda, double* b, double* x, const MKL_INT* ldx,
              double* y, const MKL_INT* ldy, const double* alpha,
              const double* beta, const double* wx, const double* wy,
              double* s, double* dif ) NOTHROW;

void SLATM6( const MKL_INT* type, const MKL_INT* n, float* a,
             const MKL_INT* lda, float* b, float* x, const MKL_INT* ldx,
             float* y, const MKL_INT* ldy, const float* alpha,
             const float* beta, const float* wx, const float* wy, float* s,
             float* dif ) NOTHROW;
void SLATM6_( const MKL_INT* type, const MKL_INT* n, float* a,
              const MKL_INT* lda, float* b, float* x, const MKL_INT* ldx,
              float* y, const MKL_INT* ldy, const float* alpha,
              const float* beta, const float* wx, const float* wy, float* s,
              float* dif ) NOTHROW;
void slatm6( const MKL_INT* type, const MKL_INT* n, float* a,
             const MKL_INT* lda, float* b, float* x, const MKL_INT* ldx,
             float* y, const MKL_INT* ldy, const float* alpha,
             const float* beta, const float* wx, const float* wy, float* s,
             float* dif ) NOTHROW;
void slatm6_( const MKL_INT* type, const MKL_INT* n, float* a,
              const MKL_INT* lda, float* b, float* x, const MKL_INT* ldx,
              float* y, const MKL_INT* ldy, const float* alpha,
              const float* beta, const float* wx, const float* wy, float* s,
              float* dif ) NOTHROW;

void CLATM6( const MKL_INT* type, const MKL_INT* n, MKL_Complex8* a,
             const MKL_INT* lda, MKL_Complex8* b, MKL_Complex8* x,
             const MKL_INT* ldx, MKL_Complex8* y, const MKL_INT* ldy,
             const MKL_Complex8* alpha, const MKL_Complex8* beta,
             const MKL_Complex8* wx, const MKL_Complex8* wy, float* s,
             float* dif ) NOTHROW;
void CLATM6_( const MKL_INT* type, const MKL_INT* n, MKL_Complex8* a,
              const MKL_INT* lda, MKL_Complex8* b, MKL_Complex8* x,
              const MKL_INT* ldx, MKL_Complex8* y, const MKL_INT* ldy,
              const MKL_Complex8* alpha, const MKL_Complex8* beta,
              const MKL_Complex8* wx, const MKL_Complex8* wy, float* s,
              float* dif ) NOTHROW;
void clatm6( const MKL_INT* type, const MKL_INT* n, MKL_Complex8* a,
             const MKL_INT* lda, MKL_Complex8* b, MKL_Complex8* x,
             const MKL_INT* ldx, MKL_Complex8* y, const MKL_INT* ldy,
             const MKL_Complex8* alpha, const MKL_Complex8* beta,
             const MKL_Complex8* wx, const MKL_Complex8* wy, float* s,
             float* dif ) NOTHROW;
void clatm6_( const MKL_INT* type, const MKL_INT* n, MKL_Complex8* a,
              const MKL_INT* lda, MKL_Complex8* b, MKL_Complex8* x,
              const MKL_INT* ldx, MKL_Complex8* y, const MKL_INT* ldy,
              const MKL_Complex8* alpha, const MKL_Complex8* beta,
              const MKL_Complex8* wx, const MKL_Complex8* wy, float* s,
              float* dif ) NOTHROW;

void ZLATM6( const MKL_INT* type, const MKL_INT* n, MKL_Complex16* a,
             const MKL_INT* lda, MKL_Complex16* b, MKL_Complex16* x,
             const MKL_INT* ldx, MKL_Complex16* y, const MKL_INT* ldy,
             const MKL_Complex16* alpha, const MKL_Complex16* beta,
             const MKL_Complex16* wx, const MKL_Complex16* wy, double* s,
             double* dif ) NOTHROW;
void ZLATM6_( const MKL_INT* type, const MKL_INT* n, MKL_Complex16* a,
              const MKL_INT* lda, MKL_Complex16* b, MKL_Complex16* x,
              const MKL_INT* ldx, MKL_Complex16* y, const MKL_INT* ldy,
              const MKL_Complex16* alpha, const MKL_Complex16* beta,
              const MKL_Complex16* wx, const MKL_Complex16* wy, double* s,
              double* dif ) NOTHROW;
void zlatm6( const MKL_INT* type, const MKL_INT* n, MKL_Complex16* a,
             const MKL_INT* lda, MKL_Complex16* b, MKL_Complex16* x,
             const MKL_INT* ldx, MKL_Complex16* y, const MKL_INT* ldy,
             const MKL_Complex16* alpha, const MKL_Complex16* beta,
             const MKL_Complex16* wx, const MKL_Complex16* wy, double* s,
             double* dif ) NOTHROW;
void zlatm6_( const MKL_INT* type, const MKL_INT* n, MKL_Complex16* a,
              const MKL_INT* lda, MKL_Complex16* b, MKL_Complex16* x,
              const MKL_INT* ldx, MKL_Complex16* y, const MKL_INT* ldy,
              const MKL_Complex16* alpha, const MKL_Complex16* beta,
              const MKL_Complex16* wx, const MKL_Complex16* wy, double* s,
              double* dif ) NOTHROW;

void DLATME( const MKL_INT* n, const char* dist, MKL_INT* iseed, double* d,
             const MKL_INT* mode, const double* cond, const double* dmax,
             const char* ei, const char* rsign, const char* upper,
             const char* sim, double* ds, const MKL_INT* modes,
             const double* conds, const MKL_INT* kl, const MKL_INT* ku,
             const double* anorm, double* a, const MKL_INT* lda, double* work,
             MKL_INT* info ) NOTHROW;
void DLATME_( const MKL_INT* n, const char* dist, MKL_INT* iseed, double* d,
              const MKL_INT* mode, const double* cond, const double* dmax,
              const char* ei, const char* rsign, const char* upper,
              const char* sim, double* ds, const MKL_INT* modes,
              const double* conds, const MKL_INT* kl, const MKL_INT* ku,
              const double* anorm, double* a, const MKL_INT* lda,
              double* work, MKL_INT* info ) NOTHROW;
void dlatme( const MKL_INT* n, const char* dist, MKL_INT* iseed, double* d,
             const MKL_INT* mode, const double* cond, const double* dmax,
             const char* ei, const char* rsign, const char* upper,
             const char* sim, double* ds, const MKL_INT* modes,
             const double* conds, const MKL_INT* kl, const MKL_INT* ku,
             const double* anorm, double* a, const MKL_INT* lda, double* work,
             MKL_INT* info ) NOTHROW;
void dlatme_( const MKL_INT* n, const char* dist, MKL_INT* iseed, double* d,
              const MKL_INT* mode, const double* cond, const double* dmax,
              const char* ei, const char* rsign, const char* upper,
              const char* sim, double* ds, const MKL_INT* modes,
              const double* conds, const MKL_INT* kl, const MKL_INT* ku,
              const double* anorm, double* a, const MKL_INT* lda,
              double* work, MKL_INT* info ) NOTHROW;

void SLATME( const MKL_INT* n, const char* dist, MKL_INT* iseed, float* d,
             const MKL_INT* mode, const float* cond, const float* dmax,
             const char* ei, const char* rsign, const char* upper,
             const char* sim, float* ds, const MKL_INT* modes,
             const float* conds, const MKL_INT* kl, const MKL_INT* ku,
             const float* anorm, float* a, const MKL_INT* lda, float* work,
             MKL_INT* info ) NOTHROW;
void SLATME_( const MKL_INT* n, const char* dist, MKL_INT* iseed, float* d,
              const MKL_INT* mode, const float* cond, const float* dmax,
              const char* ei, const char* rsign, const char* upper,
              const char* sim, float* ds, const MKL_INT* modes,
              const float* conds, const MKL_INT* kl, const MKL_INT* ku,
              const float* anorm, float* a, const MKL_INT* lda, float* work,
              MKL_INT* info ) NOTHROW;
void slatme( const MKL_INT* n, const char* dist, MKL_INT* iseed, float* d,
             const MKL_INT* mode, const float* cond, const float* dmax,
             const char* ei, const char* rsign, const char* upper,
             const char* sim, float* ds, const MKL_INT* modes,
             const float* conds, const MKL_INT* kl, const MKL_INT* ku,
             const float* anorm, float* a, const MKL_INT* lda, float* work,
             MKL_INT* info ) NOTHROW;
void slatme_( const MKL_INT* n, const char* dist, MKL_INT* iseed, float* d,
              const MKL_INT* mode, const float* cond, const float* dmax,
              const char* ei, const char* rsign, const char* upper,
              const char* sim, float* ds, const MKL_INT* modes,
              const float* conds, const MKL_INT* kl, const MKL_INT* ku,
              const float* anorm, float* a, const MKL_INT* lda, float* work,
              MKL_INT* info ) NOTHROW;

void CLATME( const MKL_INT* n, const char* dist, MKL_INT* iseed,
             MKL_Complex8* d, const MKL_INT* mode, const float* cond,
             const MKL_Complex8* dmax, const char* rsign, const char* upper,
             const char* sim, float* ds, const MKL_INT* modes,
             const float* conds, const MKL_INT* kl, const MKL_INT* ku,
             const float* anorm, MKL_Complex8* a, const MKL_INT* lda,
             MKL_Complex8* work, MKL_INT* info ) NOTHROW;
void CLATME_( const MKL_INT* n, const char* dist, MKL_INT* iseed,
              MKL_Complex8* d, const MKL_INT* mode, const float* cond,
              const MKL_Complex8* dmax, const char* rsign, const char* upper,
              const char* sim, float* ds, const MKL_INT* modes,
              const float* conds, const MKL_INT* kl, const MKL_INT* ku,
              const float* anorm, MKL_Complex8* a, const MKL_INT* lda,
              MKL_Complex8* work, MKL_INT* info ) NOTHROW;
void clatme( const MKL_INT* n, const char* dist, MKL_INT* iseed,
             MKL_Complex8* d, const MKL_INT* mode, const float* cond,
             const MKL_Complex8* dmax, const char* rsign, const char* upper,
             const char* sim, float* ds, const MKL_INT* modes,
             const float* conds, const MKL_INT* kl, const MKL_INT* ku,
             const float* anorm, MKL_Complex8* a, const MKL_INT* lda,
             MKL_Complex8* work, MKL_INT* info ) NOTHROW;
void clatme_( const MKL_INT* n, const char* dist, MKL_INT* iseed,
              MKL_Complex8* d, const MKL_INT* mode, const float* cond,
              const MKL_Complex8* dmax, const char* rsign, const char* upper,
              const char* sim, float* ds, const MKL_INT* modes,
              const float* conds, const MKL_INT* kl, const MKL_INT* ku,
              const float* anorm, MKL_Complex8* a, const MKL_INT* lda,
              MKL_Complex8* work, MKL_INT* info ) NOTHROW;

void ZLATME( const MKL_INT* n, const char* dist, MKL_INT* iseed,
             MKL_Complex16* d, const MKL_INT* mode, const double* cond,
             const MKL_Complex16* dmax, const char* rsign, const char* upper,
             const char* sim, double* ds, const MKL_INT* modes,
             const double* conds, const MKL_INT* kl, const MKL_INT* ku,
             const double* anorm, MKL_Complex16* a, const MKL_INT* lda,
             MKL_Complex16* work, MKL_INT* info ) NOTHROW;
void ZLATME_( const MKL_INT* n, const char* dist, MKL_INT* iseed,
              MKL_Complex16* d, const MKL_INT* mode, const double* cond,
              const MKL_Complex16* dmax, const char* rsign, const char* upper,
              const char* sim, double* ds, const MKL_INT* modes,
              const double* conds, const MKL_INT* kl, const MKL_INT* ku,
              const double* anorm, MKL_Complex16* a, const MKL_INT* lda,
              MKL_Complex16* work, MKL_INT* info ) NOTHROW;
void zlatme( const MKL_INT* n, const char* dist, MKL_INT* iseed,
             MKL_Complex16* d, const MKL_INT* mode, const double* cond,
             const MKL_Complex16* dmax, const char* rsign, const char* upper,
             const char* sim, double* ds, const MKL_INT* modes,
             const double* conds, const MKL_INT* kl, const MKL_INT* ku,
             const double* anorm, MKL_Complex16* a, const MKL_INT* lda,
             MKL_Complex16* work, MKL_INT* info ) NOTHROW;
void zlatme_( const MKL_INT* n, const char* dist, MKL_INT* iseed,
              MKL_Complex16* d, const MKL_INT* mode, const double* cond,
              const MKL_Complex16* dmax, const char* rsign, const char* upper,
              const char* sim, double* ds, const MKL_INT* modes,
              const double* conds, const MKL_INT* kl, const MKL_INT* ku,
              const double* anorm, MKL_Complex16* a, const MKL_INT* lda,
              MKL_Complex16* work, MKL_INT* info ) NOTHROW;

void DLATMR( const MKL_INT* m, const MKL_INT* n, const char* dist,
             MKL_INT* iseed, const char* sym, double* d, const MKL_INT* mode,
             const double* cond, const double* dmax, const char* rsign,
             const char* grade, double* dl, const MKL_INT* model,
             const double* condl, double* dr, const MKL_INT* moder,
             const double* condr, const char* pivtng, const MKL_INT* ipivot,
             const MKL_INT* kl, const MKL_INT* ku, const double* sparse,
             const double* anorm, const char* pack, double* a,
             const MKL_INT* lda, MKL_INT* iwork, MKL_INT* info ) NOTHROW;
void DLATMR_( const MKL_INT* m, const MKL_INT* n, const char* dist,
              MKL_INT* iseed, const char* sym, double* d,
              const MKL_INT* mode, const double* cond, const double* dmax,
              const char* rsign, const char* grade, double* dl,
              const MKL_INT* model, const double* condl, double* dr,
              const MKL_INT* moder, const double* condr, const char* pivtng,
              const MKL_INT* ipivot, const MKL_INT* kl, const MKL_INT* ku,
              const double* sparse, const double* anorm, const char* pack,
              double* a, const MKL_INT* lda, MKL_INT* iwork, MKL_INT* info ) NOTHROW;
void dlatmr( const MKL_INT* m, const MKL_INT* n, const char* dist,
             MKL_INT* iseed, const char* sym, double* d, const MKL_INT* mode,
             const double* cond, const double* dmax, const char* rsign,
             const char* grade, double* dl, const MKL_INT* model,
             const double* condl, double* dr, const MKL_INT* moder,
             const double* condr, const char* pivtng, const MKL_INT* ipivot,
             const MKL_INT* kl, const MKL_INT* ku, const double* sparse,
             const double* anorm, const char* pack, double* a,
             const MKL_INT* lda, MKL_INT* iwork, MKL_INT* info ) NOTHROW;
void dlatmr_( const MKL_INT* m, const MKL_INT* n, const char* dist,
              MKL_INT* iseed, const char* sym, double* d,
              const MKL_INT* mode, const double* cond, const double* dmax,
              const char* rsign, const char* grade, double* dl,
              const MKL_INT* model, const double* condl, double* dr,
              const MKL_INT* moder, const double* condr, const char* pivtng,
              const MKL_INT* ipivot, const MKL_INT* kl, const MKL_INT* ku,
              const double* sparse, const double* anorm, const char* pack,
              double* a, const MKL_INT* lda, MKL_INT* iwork, MKL_INT* info ) NOTHROW;

void SLATMR( const MKL_INT* m, const MKL_INT* n, const char* dist,
             MKL_INT* iseed, const char* sym, const float* d,
             const MKL_INT* mode, const float* cond, const float* dmax,
             const char* rsign, const char* grade, float* dl,
             const MKL_INT* model, const float* condl, float* dr,
             const MKL_INT* moder, const float* condr, const char* pivtng,
             const MKL_INT* ipivot, const MKL_INT* kl, const MKL_INT* ku,
             const float* sparse, const float* anorm, const char* pack,
             float* a, const MKL_INT* lda, MKL_INT* iwork, MKL_INT* info ) NOTHROW;
void SLATMR_( const MKL_INT* m, const MKL_INT* n, const char* dist,
              MKL_INT* iseed, const char* sym, const float* d,
              const MKL_INT* mode, const float* cond, const float* dmax,
              const char* rsign, const char* grade, float* dl,
              const MKL_INT* model, const float* condl, float* dr,
              const MKL_INT* moder, const float* condr, const char* pivtng,
              const MKL_INT* ipivot, const MKL_INT* kl, const MKL_INT* ku,
              const float* sparse, const float* anorm, const char* pack,
              float* a, const MKL_INT* lda, MKL_INT* iwork, MKL_INT* info ) NOTHROW;
void slatmr( const MKL_INT* m, const MKL_INT* n, const char* dist,
             MKL_INT* iseed, const char* sym, const float* d,
             const MKL_INT* mode, const float* cond, const float* dmax,
             const char* rsign, const char* grade, float* dl,
             const MKL_INT* model, const float* condl, float* dr,
             const MKL_INT* moder, const float* condr, const char* pivtng,
             const MKL_INT* ipivot, const MKL_INT* kl, const MKL_INT* ku,
             const float* sparse, const float* anorm, const char* pack,
             float* a, const MKL_INT* lda, MKL_INT* iwork, MKL_INT* info ) NOTHROW;
void slatmr_( const MKL_INT* m, const MKL_INT* n, const char* dist,
              MKL_INT* iseed, const char* sym, const float* d,
              const MKL_INT* mode, const float* cond, const float* dmax,
              const char* rsign, const char* grade, float* dl,
              const MKL_INT* model, const float* condl, float* dr,
              const MKL_INT* moder, const float* condr, const char* pivtng,
              const MKL_INT* ipivot, const MKL_INT* kl, const MKL_INT* ku,
              const float* sparse, const float* anorm, const char* pack,
              float* a, const MKL_INT* lda, MKL_INT* iwork, MKL_INT* info ) NOTHROW;

void CLATMR( const MKL_INT* m, const MKL_INT* n, const char* dist,
             MKL_INT* iseed, const char* sym, MKL_Complex8* d,
             const MKL_INT* mode, const float* cond,
             const MKL_Complex8* dmax, const char* rsign, const char* grade,
             MKL_Complex8* dl, const MKL_INT* model, const float* condl,
             MKL_Complex8* dr, const MKL_INT* moder, const float* condr,
             const char* pivtng, const MKL_INT* ipivot, const MKL_INT* kl,
             const MKL_INT* ku, const float* sparse, const float* anorm,
             const char* pack, MKL_Complex8* a, const MKL_INT* lda,
             MKL_INT* iwork, MKL_INT* info ) NOTHROW;
void CLATMR_( const MKL_INT* m, const MKL_INT* n, const char* dist,
              MKL_INT* iseed, const char* sym, MKL_Complex8* d,
              const MKL_INT* mode, const float* cond,
              const MKL_Complex8* dmax, const char* rsign, const char* grade,
              MKL_Complex8* dl, const MKL_INT* model, const float* condl,
              MKL_Complex8* dr, const MKL_INT* moder, const float* condr,
              const char* pivtng, const MKL_INT* ipivot, const MKL_INT* kl,
              const MKL_INT* ku, const float* sparse, const float* anorm,
              const char* pack, MKL_Complex8* a, const MKL_INT* lda,
              MKL_INT* iwork, MKL_INT* info ) NOTHROW;
void clatmr( const MKL_INT* m, const MKL_INT* n, const char* dist,
             MKL_INT* iseed, const char* sym, MKL_Complex8* d,
             const MKL_INT* mode, const float* cond,
             const MKL_Complex8* dmax, const char* rsign, const char* grade,
             MKL_Complex8* dl, const MKL_INT* model, const float* condl,
             MKL_Complex8* dr, const MKL_INT* moder, const float* condr,
             const char* pivtng, const MKL_INT* ipivot, const MKL_INT* kl,
             const MKL_INT* ku, const float* sparse, const float* anorm,
             const char* pack, MKL_Complex8* a, const MKL_INT* lda,
             MKL_INT* iwork, MKL_INT* info ) NOTHROW;
void clatmr_( const MKL_INT* m, const MKL_INT* n, const char* dist,
              MKL_INT* iseed, const char* sym, MKL_Complex8* d,
              const MKL_INT* mode, const float* cond,
              const MKL_Complex8* dmax, const char* rsign, const char* grade,
              MKL_Complex8* dl, const MKL_INT* model, const float* condl,
              MKL_Complex8* dr, const MKL_INT* moder, const float* condr,
              const char* pivtng, const MKL_INT* ipivot, const MKL_INT* kl,
              const MKL_INT* ku, const float* sparse, const float* anorm,
              const char* pack, MKL_Complex8* a, const MKL_INT* lda,
              MKL_INT* iwork, MKL_INT* info ) NOTHROW;

void ZLATMR( const MKL_INT* m, const MKL_INT* n, const char* dist,
             MKL_INT* iseed, const char* sym, MKL_Complex16* d,
             const MKL_INT* mode, const double* cond,
             const MKL_Complex16* dmax, const char* rsign, const char* grade,
             MKL_Complex16* dl, const MKL_INT* model, const double* condl,
             MKL_Complex16* dr, const MKL_INT* moder, const double* condr,
             const char* pivtng, const MKL_INT* ipivot, const MKL_INT* kl,
             const MKL_INT* ku, const double* sparse, const double* anorm,
             const char* pack, MKL_Complex16* a, const MKL_INT* lda,
             MKL_INT* iwork, MKL_INT* info ) NOTHROW;
void ZLATMR_( const MKL_INT* m, const MKL_INT* n, const char* dist,
              MKL_INT* iseed, const char* sym, MKL_Complex16* d,
              const MKL_INT* mode, const double* cond,
              const MKL_Complex16* dmax, const char* rsign, const char* grade,
              MKL_Complex16* dl, const MKL_INT* model, const double* condl,
              MKL_Complex16* dr, const MKL_INT* moder, const double* condr,
              const char* pivtng, const MKL_INT* ipivot, const MKL_INT* kl,
              const MKL_INT* ku, const double* sparse, const double* anorm,
              const char* pack, MKL_Complex16* a, const MKL_INT* lda,
              MKL_INT* iwork, MKL_INT* info ) NOTHROW;
void zlatmr( const MKL_INT* m, const MKL_INT* n, const char* dist,
             MKL_INT* iseed, const char* sym, MKL_Complex16* d,
             const MKL_INT* mode, const double* cond,
             const MKL_Complex16* dmax, const char* rsign, const char* grade,
             MKL_Complex16* dl, const MKL_INT* model, const double* condl,
             MKL_Complex16* dr, const MKL_INT* moder, const double* condr,
             const char* pivtng, const MKL_INT* ipivot, const MKL_INT* kl,
             const MKL_INT* ku, const double* sparse, const double* anorm,
             const char* pack, MKL_Complex16* a, const MKL_INT* lda,
             MKL_INT* iwork, MKL_INT* info ) NOTHROW;
void zlatmr_( const MKL_INT* m, const MKL_INT* n, const char* dist,
              MKL_INT* iseed, const char* sym, MKL_Complex16* d,
              const MKL_INT* mode, const double* cond,
              const MKL_Complex16* dmax, const char* rsign, const char* grade,
              MKL_Complex16* dl, const MKL_INT* model, const double* condl,
              MKL_Complex16* dr, const MKL_INT* moder, const double* condr,
              const char* pivtng, const MKL_INT* ipivot, const MKL_INT* kl,
              const MKL_INT* ku, const double* sparse, const double* anorm,
              const char* pack, MKL_Complex16* a, const MKL_INT* lda,
              MKL_INT* iwork, MKL_INT* info ) NOTHROW;

void DLATMS( const MKL_INT* m, const MKL_INT* n, const char* dist,
             MKL_INT* iseed, const char* sym, double* d, const MKL_INT* mode,
             const double* cond, const double* dmax, const MKL_INT* kl,
             const MKL_INT* ku, const char* pack, double* a,
             const MKL_INT* lda, double* work, MKL_INT* info ) NOTHROW;
void DLATMS_( const MKL_INT* m, const MKL_INT* n, const char* dist,
              MKL_INT* iseed, const char* sym, double* d,
              const MKL_INT* mode, const double* cond, const double* dmax,
              const MKL_INT* kl, const MKL_INT* ku, const char* pack,
              double* a, const MKL_INT* lda, double* work, MKL_INT* info ) NOTHROW;
void dlatms( const MKL_INT* m, const MKL_INT* n, const char* dist,
             MKL_INT* iseed, const char* sym, double* d, const MKL_INT* mode,
             const double* cond, const double* dmax, const MKL_INT* kl,
             const MKL_INT* ku, const char* pack, double* a,
             const MKL_INT* lda, double* work, MKL_INT* info ) NOTHROW;
void dlatms_( const MKL_INT* m, const MKL_INT* n, const char* dist,
              MKL_INT* iseed, const char* sym, double* d,
              const MKL_INT* mode, const double* cond, const double* dmax,
              const MKL_INT* kl, const MKL_INT* ku, const char* pack,
              double* a, const MKL_INT* lda, double* work, MKL_INT* info ) NOTHROW;

void SLATMS( const MKL_INT* m, const MKL_INT* n, const char* dist,
             MKL_INT* iseed, const char* sym, float* d, const MKL_INT* mode,
             const float* cond, const float* dmax, const MKL_INT* kl,
             const MKL_INT* ku, const char* pack, float* a,
             const MKL_INT* lda, float* work, MKL_INT* info ) NOTHROW;
void SLATMS_( const MKL_INT* m, const MKL_INT* n, const char* dist,
              MKL_INT* iseed, const char* sym, float* d, const MKL_INT* mode,
              const float* cond, const float* dmax, const MKL_INT* kl,
              const MKL_INT* ku, const char* pack, float* a,
              const MKL_INT* lda, float* work, MKL_INT* info ) NOTHROW;
void slatms( const MKL_INT* m, const MKL_INT* n, const char* dist,
             MKL_INT* iseed, const char* sym, float* d, const MKL_INT* mode,
             const float* cond, const float* dmax, const MKL_INT* kl,
             const MKL_INT* ku, const char* pack, float* a,
             const MKL_INT* lda, float* work, MKL_INT* info ) NOTHROW;
void slatms_( const MKL_INT* m, const MKL_INT* n, const char* dist,
              MKL_INT* iseed, const char* sym, float* d, const MKL_INT* mode,
              const float* cond, const float* dmax, const MKL_INT* kl,
              const MKL_INT* ku, const char* pack, float* a,
              const MKL_INT* lda, float* work, MKL_INT* info ) NOTHROW;

void CLATMS( const MKL_INT* m, const MKL_INT* n, const char* dist,
             MKL_INT* iseed, const char* sym, float* d, const MKL_INT* mode,
             const float* cond, const float* dmax, const MKL_INT* kl,
             const MKL_INT* ku, const char* pack, MKL_Complex8* a,
             const MKL_INT* lda, MKL_Complex8* work, MKL_INT* info ) NOTHROW;
void CLATMS_( const MKL_INT* m, const MKL_INT* n, const char* dist,
              MKL_INT* iseed, const char* sym, float* d, const MKL_INT* mode,
              const float* cond, const float* dmax, const MKL_INT* kl,
              const MKL_INT* ku, const char* pack, MKL_Complex8* a,
              const MKL_INT* lda, MKL_Complex8* work, MKL_INT* info ) NOTHROW;
void clatms( const MKL_INT* m, const MKL_INT* n, const char* dist,
             MKL_INT* iseed, const char* sym, float* d, const MKL_INT* mode,
             const float* cond, const float* dmax, const MKL_INT* kl,
             const MKL_INT* ku, const char* pack, MKL_Complex8* a,
             const MKL_INT* lda, MKL_Complex8* work, MKL_INT* info ) NOTHROW;
void clatms_( const MKL_INT* m, const MKL_INT* n, const char* dist,
              MKL_INT* iseed, const char* sym, float* d, const MKL_INT* mode,
              const float* cond, const float* dmax, const MKL_INT* kl,
              const MKL_INT* ku, const char* pack, MKL_Complex8* a,
              const MKL_INT* lda, MKL_Complex8* work, MKL_INT* info ) NOTHROW;

void ZLATMS( const MKL_INT* m, const MKL_INT* n, const char* dist,
             MKL_INT* iseed, const char* sym, double* d, const MKL_INT* mode,
             const double* cond, const double* dmax, const MKL_INT* kl,
             const MKL_INT* ku, const char* pack, MKL_Complex16* a,
             const MKL_INT* lda, MKL_Complex16* work, MKL_INT* info ) NOTHROW;
void ZLATMS_( const MKL_INT* m, const MKL_INT* n, const char* dist,
              MKL_INT* iseed, const char* sym, double* d,
              const MKL_INT* mode, const double* cond, const double* dmax,
              const MKL_INT* kl, const MKL_INT* ku, const char* pack,
              MKL_Complex16* a, const MKL_INT* lda, MKL_Complex16* work,
              MKL_INT* info ) NOTHROW;
void zlatms( const MKL_INT* m, const MKL_INT* n, const char* dist,
             MKL_INT* iseed, const char* sym, double* d, const MKL_INT* mode,
             const double* cond, const double* dmax, const MKL_INT* kl,
             const MKL_INT* ku, const char* pack, MKL_Complex16* a,
             const MKL_INT* lda, MKL_Complex16* work, MKL_INT* info ) NOTHROW;
void zlatms_( const MKL_INT* m, const MKL_INT* n, const char* dist,
              MKL_INT* iseed, const char* sym, double* d,
              const MKL_INT* mode, const double* cond, const double* dmax,
              const MKL_INT* kl, const MKL_INT* ku, const char* pack,
              MKL_Complex16* a, const MKL_INT* lda, MKL_Complex16* work,
              MKL_INT* info ) NOTHROW;

void DLAKF2( const MKL_INT* m, const MKL_INT* n, const double* a,
             const MKL_INT* lda, const double* b, const double* d,
             const double* e, double* z, const MKL_INT* ldz ) NOTHROW;
void DLAKF2_( const MKL_INT* m, const MKL_INT* n, const double* a,
              const MKL_INT* lda, const double* b, const double* d,
              const double* e, double* z, const MKL_INT* ldz ) NOTHROW;
void dlakf2( const MKL_INT* m, const MKL_INT* n, const double* a,
             const MKL_INT* lda, const double* b, const double* d,
             const double* e, double* z, const MKL_INT* ldz ) NOTHROW;
void dlakf2_( const MKL_INT* m, const MKL_INT* n, const double* a,
              const MKL_INT* lda, const double* b, const double* d,
              const double* e, double* z, const MKL_INT* ldz ) NOTHROW;

void SLAKF2( const MKL_INT* m, const MKL_INT* n, const float* a,
             const MKL_INT* lda, const float* b, const float* d,
             const float* e, float* z, const MKL_INT* ldz ) NOTHROW;
void SLAKF2_( const MKL_INT* m, const MKL_INT* n, const float* a,
              const MKL_INT* lda, const float* b, const float* d,
              const float* e, float* z, const MKL_INT* ldz ) NOTHROW;
void slakf2( const MKL_INT* m, const MKL_INT* n, const float* a,
             const MKL_INT* lda, const float* b, const float* d,
             const float* e, float* z, const MKL_INT* ldz ) NOTHROW;
void slakf2_( const MKL_INT* m, const MKL_INT* n, const float* a,
              const MKL_INT* lda, const float* b, const float* d,
              const float* e, float* z, const MKL_INT* ldz ) NOTHROW;

void CLAKF2( const MKL_INT* m, const MKL_INT* n, const MKL_Complex8* a,
             const MKL_INT* lda, const MKL_Complex8* b,
             const MKL_Complex8* d, const MKL_Complex8* e, MKL_Complex8* z,
             const MKL_INT* ldz ) NOTHROW;
void CLAKF2_( const MKL_INT* m, const MKL_INT* n, const MKL_Complex8* a,
              const MKL_INT* lda, const MKL_Complex8* b,
              const MKL_Complex8* d, const MKL_Complex8* e, MKL_Complex8* z,
              const MKL_INT* ldz ) NOTHROW;
void clakf2( const MKL_INT* m, const MKL_INT* n, const MKL_Complex8* a,
             const MKL_INT* lda, const MKL_Complex8* b,
             const MKL_Complex8* d, const MKL_Complex8* e, MKL_Complex8* z,
             const MKL_INT* ldz ) NOTHROW;
void clakf2_( const MKL_INT* m, const MKL_INT* n, const MKL_Complex8* a,
              const MKL_INT* lda, const MKL_Complex8* b,
              const MKL_Complex8* d, const MKL_Complex8* e, MKL_Complex8* z,
              const MKL_INT* ldz ) NOTHROW;

void ZLAKF2( const MKL_INT* m, const MKL_INT* n, const MKL_Complex16* a,
             const MKL_INT* lda, const MKL_Complex16* b,
             const MKL_Complex16* d, const MKL_Complex16* e,
             MKL_Complex16* z, const MKL_INT* ldz ) NOTHROW;
void ZLAKF2_( const MKL_INT* m, const MKL_INT* n, const MKL_Complex16* a,
              const MKL_INT* lda, const MKL_Complex16* b,
              const MKL_Complex16* d, const MKL_Complex16* e,
              MKL_Complex16* z, const MKL_INT* ldz ) NOTHROW;
void zlakf2( const MKL_INT* m, const MKL_INT* n, const MKL_Complex16* a,
             const MKL_INT* lda, const MKL_Complex16* b,
             const MKL_Complex16* d, const MKL_Complex16* e,
             MKL_Complex16* z, const MKL_INT* ldz ) NOTHROW;
void zlakf2_( const MKL_INT* m, const MKL_INT* n, const MKL_Complex16* a,
              const MKL_INT* lda, const MKL_Complex16* b,
              const MKL_Complex16* d, const MKL_Complex16* e,
              MKL_Complex16* z, const MKL_INT* ldz ) NOTHROW;

void DLARGE( const MKL_INT* n, double* a, const MKL_INT* lda,
             MKL_INT* iseed, double* work, MKL_INT* info ) NOTHROW;
void DLARGE_( const MKL_INT* n, double* a, const MKL_INT* lda,
              MKL_INT* iseed, double* work, MKL_INT* info ) NOTHROW;
void dlarge( const MKL_INT* n, double* a, const MKL_INT* lda,
             MKL_INT* iseed, double* work, MKL_INT* info ) NOTHROW;
void dlarge_( const MKL_INT* n, double* a, const MKL_INT* lda,
              MKL_INT* iseed, double* work, MKL_INT* info ) NOTHROW;

void SLARGE( const MKL_INT* n, float* a, const MKL_INT* lda, MKL_INT* iseed,
             float* work, MKL_INT* info ) NOTHROW;
void SLARGE_( const MKL_INT* n, float* a, const MKL_INT* lda,
              MKL_INT* iseed, float* work, MKL_INT* info ) NOTHROW;
void slarge( const MKL_INT* n, float* a, const MKL_INT* lda, MKL_INT* iseed,
             float* work, MKL_INT* info ) NOTHROW;
void slarge_( const MKL_INT* n, float* a, const MKL_INT* lda,
              MKL_INT* iseed, float* work, MKL_INT* info ) NOTHROW;

void CLARGE( const MKL_INT* n, MKL_Complex8* a, const MKL_INT* lda,
             MKL_INT* iseed, MKL_Complex8* work, MKL_INT* info ) NOTHROW;
void CLARGE_( const MKL_INT* n, MKL_Complex8* a, const MKL_INT* lda,
              MKL_INT* iseed, MKL_Complex8* work, MKL_INT* info ) NOTHROW;
void clarge( const MKL_INT* n, MKL_Complex8* a, const MKL_INT* lda,
             MKL_INT* iseed, MKL_Complex8* work, MKL_INT* info ) NOTHROW;
void clarge_( const MKL_INT* n, MKL_Complex8* a, const MKL_INT* lda,
              MKL_INT* iseed, MKL_Complex8* work, MKL_INT* info ) NOTHROW;

void ZLARGE( const MKL_INT* n, MKL_Complex16* a, const MKL_INT* lda,
             MKL_INT* iseed, MKL_Complex16* work, MKL_INT* info ) NOTHROW;
void ZLARGE_( const MKL_INT* n, MKL_Complex16* a, const MKL_INT* lda,
              MKL_INT* iseed, MKL_Complex16* work, MKL_INT* info ) NOTHROW;
void zlarge( const MKL_INT* n, MKL_Complex16* a, const MKL_INT* lda,
             MKL_INT* iseed, MKL_Complex16* work, MKL_INT* info ) NOTHROW;
void zlarge_( const MKL_INT* n, MKL_Complex16* a, const MKL_INT* lda,
              MKL_INT* iseed, MKL_Complex16* work, MKL_INT* info ) NOTHROW;

double DLARND( const MKL_INT* idist, MKL_INT* iseed ) NOTHROW;
double DLARND_( const MKL_INT* idist, MKL_INT* iseed ) NOTHROW;
double dlarnd( const MKL_INT* idist, MKL_INT* iseed ) NOTHROW;
double dlarnd_( const MKL_INT* idist, MKL_INT* iseed ) NOTHROW;

float SLARND( const MKL_INT* idist, MKL_INT* iseed ) NOTHROW;
float SLARND_( const MKL_INT* idist, MKL_INT* iseed ) NOTHROW;
float slarnd( const MKL_INT* idist, MKL_INT* iseed ) NOTHROW;
float slarnd_( const MKL_INT* idist, MKL_INT* iseed ) NOTHROW;

void CLARND( MKL_Complex8* retval, const MKL_INT* idist, MKL_INT* iseed ) NOTHROW;
void CLARND_( MKL_Complex8* retval, const MKL_INT* idist, MKL_INT* iseed ) NOTHROW;
void clarnd( MKL_Complex8* retval, const MKL_INT* idist, MKL_INT* iseed ) NOTHROW;
void clarnd_( MKL_Complex8* retval, const MKL_INT* idist, MKL_INT* iseed ) NOTHROW;

void ZLARND( MKL_Complex16* retval, const MKL_INT* idist, MKL_INT* iseed ) NOTHROW;
void ZLARND_( MKL_Complex16* retval, const MKL_INT* idist, MKL_INT* iseed ) NOTHROW;
void zlarnd( MKL_Complex16* retval, const MKL_INT* idist, MKL_INT* iseed ) NOTHROW;
void zlarnd_( MKL_Complex16* retval, const MKL_INT* idist, MKL_INT* iseed ) NOTHROW;

void DLAROR( const char* side, const char* init, const MKL_INT* m,
             const MKL_INT* n, double* a, const MKL_INT* lda,
             MKL_INT* iseed, double* x, MKL_INT* info ) NOTHROW;
void DLAROR_( const char* side, const char* init, const MKL_INT* m,
              const MKL_INT* n, double* a, const MKL_INT* lda,
              MKL_INT* iseed, double* x, MKL_INT* info ) NOTHROW;
void dlaror( const char* side, const char* init, const MKL_INT* m,
             const MKL_INT* n, double* a, const MKL_INT* lda,
             MKL_INT* iseed, double* x, MKL_INT* info ) NOTHROW;
void dlaror_( const char* side, const char* init, const MKL_INT* m,
              const MKL_INT* n, double* a, const MKL_INT* lda,
              MKL_INT* iseed, double* x, MKL_INT* info ) NOTHROW;

void SLAROR( const char* side, const char* init, const MKL_INT* m,
             const MKL_INT* n, float* a, const MKL_INT* lda, MKL_INT* iseed,
             float* x, MKL_INT* info ) NOTHROW;
void SLAROR_( const char* side, const char* init, const MKL_INT* m,
              const MKL_INT* n, float* a, const MKL_INT* lda,
              MKL_INT* iseed, float* x, MKL_INT* info ) NOTHROW;
void slaror( const char* side, const char* init, const MKL_INT* m,
             const MKL_INT* n, float* a, const MKL_INT* lda, MKL_INT* iseed,
             float* x, MKL_INT* info ) NOTHROW;
void slaror_( const char* side, const char* init, const MKL_INT* m,
              const MKL_INT* n, float* a, const MKL_INT* lda,
              MKL_INT* iseed, float* x, MKL_INT* info ) NOTHROW;

void CLAROR( const char* side, const char* init, const MKL_INT* m,
             const MKL_INT* n, MKL_Complex8* a, const MKL_INT* lda,
             MKL_INT* iseed, MKL_Complex8* x, MKL_INT* info ) NOTHROW;
void CLAROR_( const char* side, const char* init, const MKL_INT* m,
              const MKL_INT* n, MKL_Complex8* a, const MKL_INT* lda,
              MKL_INT* iseed, MKL_Complex8* x, MKL_INT* info ) NOTHROW;
void claror( const char* side, const char* init, const MKL_INT* m,
             const MKL_INT* n, MKL_Complex8* a, const MKL_INT* lda,
             MKL_INT* iseed, MKL_Complex8* x, MKL_INT* info ) NOTHROW;
void claror_( const char* side, const char* init, const MKL_INT* m,
              const MKL_INT* n, MKL_Complex8* a, const MKL_INT* lda,
              MKL_INT* iseed, MKL_Complex8* x, MKL_INT* info ) NOTHROW;

void ZLAROR( const char* side, const char* init, const MKL_INT* m,
             const MKL_INT* n, MKL_Complex16* a, const MKL_INT* lda,
             MKL_INT* iseed, MKL_Complex16* x, MKL_INT* info ) NOTHROW;
void ZLAROR_( const char* side, const char* init, const MKL_INT* m,
              const MKL_INT* n, MKL_Complex16* a, const MKL_INT* lda,
              MKL_INT* iseed, MKL_Complex16* x, MKL_INT* info ) NOTHROW;
void zlaror( const char* side, const char* init, const MKL_INT* m,
             const MKL_INT* n, MKL_Complex16* a, const MKL_INT* lda,
             MKL_INT* iseed, MKL_Complex16* x, MKL_INT* info ) NOTHROW;
void zlaror_( const char* side, const char* init, const MKL_INT* m,
              const MKL_INT* n, MKL_Complex16* a, const MKL_INT* lda,
              MKL_INT* iseed, MKL_Complex16* x, MKL_INT* info ) NOTHROW;

void DLAROT( const MKL_INT* lrows, const MKL_INT* lleft,
             const MKL_INT* lright, const MKL_INT* nl, const double* c,
             const double* s, double* a, const MKL_INT* lda, double* xleft,
             double* xright ) NOTHROW;
void DLAROT_( const MKL_INT* lrows, const MKL_INT* lleft,
              const MKL_INT* lright, const MKL_INT* nl, const double* c,
              const double* s, double* a, const MKL_INT* lda, double* xleft,
              double* xright ) NOTHROW;
void dlarot( const MKL_INT* lrows, const MKL_INT* lleft,
             const MKL_INT* lright, const MKL_INT* nl, const double* c,
             const double* s, double* a, const MKL_INT* lda, double* xleft,
             double* xright ) NOTHROW;
void dlarot_( const MKL_INT* lrows, const MKL_INT* lleft,
              const MKL_INT* lright, const MKL_INT* nl, const double* c,
              const double* s, double* a, const MKL_INT* lda, double* xleft,
              double* xright ) NOTHROW;

void SLAROT( const MKL_INT* lrows, const MKL_INT* lleft,
             const MKL_INT* lright, const MKL_INT* nl, const float* c,
             const float* s, float* a, const MKL_INT* lda, float* xleft,
             float* xright ) NOTHROW;
void SLAROT_( const MKL_INT* lrows, const MKL_INT* lleft,
              const MKL_INT* lright, const MKL_INT* nl, const float* c,
              const float* s, float* a, const MKL_INT* lda, float* xleft,
              float* xright ) NOTHROW;
void slarot( const MKL_INT* lrows, const MKL_INT* lleft,
             const MKL_INT* lright, const MKL_INT* nl, const float* c,
             const float* s, float* a, const MKL_INT* lda, float* xleft,
             float* xright ) NOTHROW;
void slarot_( const MKL_INT* lrows, const MKL_INT* lleft,
              const MKL_INT* lright, const MKL_INT* nl, const float* c,
              const float* s, float* a, const MKL_INT* lda, float* xleft,
              float* xright ) NOTHROW;

void CLAROT( const MKL_INT* lrows, const MKL_INT* lleft, MKL_INT* lright,
             const MKL_INT* nl, const MKL_Complex8* c,
             const MKL_Complex8* s, MKL_Complex8* a, const MKL_INT* lda,
             MKL_Complex8* xleft, MKL_Complex8* xright ) NOTHROW;
void CLAROT_( const MKL_INT* lrows, const MKL_INT* lleft, MKL_INT* lright,
              const MKL_INT* nl, const MKL_Complex8* c,
              const MKL_Complex8* s, MKL_Complex8* a, const MKL_INT* lda,
              MKL_Complex8* xleft, MKL_Complex8* xright ) NOTHROW;
void clarot( const MKL_INT* lrows, const MKL_INT* lleft, MKL_INT* lright,
             const MKL_INT* nl, const MKL_Complex8* c,
             const MKL_Complex8* s, MKL_Complex8* a, const MKL_INT* lda,
             MKL_Complex8* xleft, MKL_Complex8* xright ) NOTHROW;
void clarot_( const MKL_INT* lrows, const MKL_INT* lleft, MKL_INT* lright,
              const MKL_INT* nl, const MKL_Complex8* c,
              const MKL_Complex8* s, MKL_Complex8* a, const MKL_INT* lda,
              MKL_Complex8* xleft, MKL_Complex8* xright ) NOTHROW;

void ZLAROT( const MKL_INT* lrows, const MKL_INT* lleft,
             const MKL_INT* lright, const MKL_INT* nl,
             const MKL_Complex16* c, const MKL_Complex16* s,
             MKL_Complex16* a, const MKL_INT* lda, MKL_Complex16* xleft,
             MKL_Complex16* xright ) NOTHROW;
void ZLAROT_( const MKL_INT* lrows, const MKL_INT* lleft,
              const MKL_INT* lright, const MKL_INT* nl,
              const MKL_Complex16* c, const MKL_Complex16* s,
              MKL_Complex16* a, const MKL_INT* lda, MKL_Complex16* xleft,
              MKL_Complex16* xright ) NOTHROW;
void zlarot( const MKL_INT* lrows, const MKL_INT* lleft,
             const MKL_INT* lright, const MKL_INT* nl,
             const MKL_Complex16* c, const MKL_Complex16* s,
             MKL_Complex16* a, const MKL_INT* lda, MKL_Complex16* xleft,
             MKL_Complex16* xright ) NOTHROW;
void zlarot_( const MKL_INT* lrows, const MKL_INT* lleft,
              const MKL_INT* lright, const MKL_INT* nl,
              const MKL_Complex16* c, const MKL_Complex16* s,
              MKL_Complex16* a, const MKL_INT* lda, MKL_Complex16* xleft,
              MKL_Complex16* xright ) NOTHROW;

double DLARAN( MKL_INT* iseed ) NOTHROW;
double DLARAN_( MKL_INT* iseed ) NOTHROW;
double dlaran( MKL_INT* iseed ) NOTHROW;
double dlaran_( MKL_INT* iseed ) NOTHROW;

float SLARAN( MKL_INT* iseed ) NOTHROW;
float SLARAN_( MKL_INT* iseed ) NOTHROW;
float slaran( MKL_INT* iseed ) NOTHROW;
float slaran_( MKL_INT* iseed ) NOTHROW;

void DLAGGE( const MKL_INT* m, const MKL_INT* n, const MKL_INT* kl,
             const MKL_INT* ku, const double* d, double* a,
             const MKL_INT* lda, MKL_INT* iseed, double* work,
             MKL_INT* info ) NOTHROW;
void DLAGGE_( const MKL_INT* m, const MKL_INT* n, const MKL_INT* kl,
              const MKL_INT* ku, const double* d, double* a,
              const MKL_INT* lda, MKL_INT* iseed, double* work,
              MKL_INT* info ) NOTHROW;
void dlagge( const MKL_INT* m, const MKL_INT* n, const MKL_INT* kl,
             const MKL_INT* ku, const double* d, double* a,
             const MKL_INT* lda, MKL_INT* iseed, double* work,
             MKL_INT* info ) NOTHROW;
void dlagge_( const MKL_INT* m, const MKL_INT* n, const MKL_INT* kl,
              const MKL_INT* ku, const double* d, double* a,
              const MKL_INT* lda, MKL_INT* iseed, double* work,
              MKL_INT* info ) NOTHROW;

void SLAGGE( const MKL_INT* m, const MKL_INT* n, const MKL_INT* kl,
             const MKL_INT* ku, const float* d, float* a, const MKL_INT* lda,
             MKL_INT* iseed, float* work, MKL_INT* info ) NOTHROW;
void SLAGGE_( const MKL_INT* m, const MKL_INT* n, const MKL_INT* kl,
              const MKL_INT* ku, const float* d, float* a,
              const MKL_INT* lda, MKL_INT* iseed, float* work,
              MKL_INT* info ) NOTHROW;
void slagge( const MKL_INT* m, const MKL_INT* n, const MKL_INT* kl,
             const MKL_INT* ku, const float* d, float* a, const MKL_INT* lda,
             MKL_INT* iseed, float* work, MKL_INT* info ) NOTHROW;
void slagge_( const MKL_INT* m, const MKL_INT* n, const MKL_INT* kl,
              const MKL_INT* ku, const float* d, float* a,
              const MKL_INT* lda, MKL_INT* iseed, float* work,
              MKL_INT* info ) NOTHROW;

void CLAGGE( const MKL_INT* m, const MKL_INT* n, const MKL_INT* kl,
             const MKL_INT* ku, const float* d, MKL_Complex8* a,
             const MKL_INT* lda, MKL_INT* iseed, MKL_Complex8* work,
             MKL_INT* info ) NOTHROW;
void CLAGGE_( const MKL_INT* m, const MKL_INT* n, const MKL_INT* kl,
              const MKL_INT* ku, const float* d, MKL_Complex8* a,
              const MKL_INT* lda, MKL_INT* iseed, MKL_Complex8* work,
              MKL_INT* info ) NOTHROW;
void clagge( const MKL_INT* m, const MKL_INT* n, const MKL_INT* kl,
             const MKL_INT* ku, const float* d, MKL_Complex8* a,
             const MKL_INT* lda, MKL_INT* iseed, MKL_Complex8* work,
             MKL_INT* info ) NOTHROW;
void clagge_( const MKL_INT* m, const MKL_INT* n, const MKL_INT* kl,
              const MKL_INT* ku, const float* d, MKL_Complex8* a,
              const MKL_INT* lda, MKL_INT* iseed, MKL_Complex8* work,
              MKL_INT* info ) NOTHROW;

void ZLAGGE( const MKL_INT* m, const MKL_INT* n, const MKL_INT* kl,
             const MKL_INT* ku, const double* d, MKL_Complex16* a,
             const MKL_INT* lda, MKL_INT* iseed, MKL_Complex16* work,
             MKL_INT* info ) NOTHROW;
void ZLAGGE_( const MKL_INT* m, const MKL_INT* n, const MKL_INT* kl,
              const MKL_INT* ku, const double* d, MKL_Complex16* a,
              const MKL_INT* lda, MKL_INT* iseed, MKL_Complex16* work,
              MKL_INT* info ) NOTHROW;
void zlagge( const MKL_INT* m, const MKL_INT* n, const MKL_INT* kl,
             const MKL_INT* ku, const double* d, MKL_Complex16* a,
             const MKL_INT* lda, MKL_INT* iseed, MKL_Complex16* work,
             MKL_INT* info ) NOTHROW;
void zlagge_( const MKL_INT* m, const MKL_INT* n, const MKL_INT* kl,
              const MKL_INT* ku, const double* d, MKL_Complex16* a,
              const MKL_INT* lda, MKL_INT* iseed, MKL_Complex16* work,
              MKL_INT* info ) NOTHROW;

void CLAGSY( const MKL_INT* n, const MKL_INT* k, const float* d,
             MKL_Complex8* a, const MKL_INT* lda, MKL_INT* iseed,
             MKL_Complex8* work, MKL_INT* info ) NOTHROW;
void CLAGSY_( const MKL_INT* n, const MKL_INT* k, const float* d,
             MKL_Complex8* a, const MKL_INT* lda, MKL_INT* iseed,
             MKL_Complex8* work, MKL_INT* info ) NOTHROW;
void clagsy( const MKL_INT* n, const MKL_INT* k, const float* d,
             MKL_Complex8* a, const MKL_INT* lda, MKL_INT* iseed,
             MKL_Complex8* work, MKL_INT* info ) NOTHROW;
void clagsy_( const MKL_INT* n, const MKL_INT* k, const float* d,
             MKL_Complex8* a, const MKL_INT* lda, MKL_INT* iseed,
             MKL_Complex8* work, MKL_INT* info ) NOTHROW;

void DLAGSY( const MKL_INT* n, const MKL_INT* k, const double* d,
             double* a, const MKL_INT* lda, MKL_INT* iseed, double* work,
             MKL_INT* info ) NOTHROW;
void DLAGSY_( const MKL_INT* n, const MKL_INT* k, const double* d,
              double* a, const MKL_INT* lda, MKL_INT* iseed, double* work,
              MKL_INT* info ) NOTHROW;
void dlagsy( const MKL_INT* n, const MKL_INT* k, const double* d,
             double* a, const MKL_INT* lda, MKL_INT* iseed, double* work,
             MKL_INT* info ) NOTHROW;
void dlagsy_( const MKL_INT* n, const MKL_INT* k, const double* d,
              double* a, const MKL_INT* lda, MKL_INT* iseed, double* work,
              MKL_INT* info ) NOTHROW;

void SLAGSY( const MKL_INT* n, const MKL_INT* k, const float* d,
             float* a, const MKL_INT* lda, MKL_INT* iseed, float* work,
             MKL_INT* info ) NOTHROW;
void SLAGSY_( const MKL_INT* n, const MKL_INT* k, const float* d,
             float* a, const MKL_INT* lda, MKL_INT* iseed, float* work,
             MKL_INT* info ) NOTHROW;
void slagsy( const MKL_INT* n, const MKL_INT* k, const float* d,
             float* a, const MKL_INT* lda, MKL_INT* iseed, float* work,
             MKL_INT* info ) NOTHROW;
void slagsy_( const MKL_INT* n, const MKL_INT* k, const float* d,
             float* a, const MKL_INT* lda, MKL_INT* iseed, float* work,
             MKL_INT* info ) NOTHROW;

void ZLAGSY( const MKL_INT* n, const MKL_INT* k, const double* d,
             MKL_Complex16* a, const MKL_INT* lda, MKL_INT* iseed,
             MKL_Complex16* work, MKL_INT* info ) NOTHROW;
void ZLAGSY_( const MKL_INT* n, const MKL_INT* k, const double* d,
             MKL_Complex16* a, const MKL_INT* lda, MKL_INT* iseed,
             MKL_Complex16* work, MKL_INT* info ) NOTHROW;
void zlagsy( const MKL_INT* n, const MKL_INT* k, const double* d,
             MKL_Complex16* a, const MKL_INT* lda, MKL_INT* iseed,
             MKL_Complex16* work, MKL_INT* info ) NOTHROW;
void zlagsy_( const MKL_INT* n, const MKL_INT* k, const double* d,
             MKL_Complex16* a, const MKL_INT* lda, MKL_INT* iseed,
             MKL_Complex16* work, MKL_INT* info ) NOTHROW;

void CLAGHE( const MKL_INT* n, const MKL_INT* k, const float* d,
             MKL_Complex8* a, const MKL_INT* lda, MKL_INT* iseed,
             MKL_Complex8* work, MKL_INT* info ) NOTHROW;
void CLAGHE_( const MKL_INT* n, const MKL_INT* k, const float* d,
              MKL_Complex8* a, const MKL_INT* lda, MKL_INT* iseed,
              MKL_Complex8* work, MKL_INT* info ) NOTHROW;
void claghe( const MKL_INT* n, const MKL_INT* k, const float* d,
             MKL_Complex8* a, const MKL_INT* lda, MKL_INT* iseed,
             MKL_Complex8* work, MKL_INT* info ) NOTHROW;
void claghe_( const MKL_INT* n, const MKL_INT* k, const float* d,
              MKL_Complex8* a, const MKL_INT* lda, MKL_INT* iseed,
              MKL_Complex8* work, MKL_INT* info ) NOTHROW;

void ZLAGHE( const MKL_INT* n, const MKL_INT* k, const double* d,
             MKL_Complex16* a, const MKL_INT* lda, MKL_INT* iseed,
             MKL_Complex16* work, MKL_INT* info ) NOTHROW;
void ZLAGHE_( const MKL_INT* n, const MKL_INT* k, const double* d,
              MKL_Complex16* a, const MKL_INT* lda, MKL_INT* iseed,
              MKL_Complex16* work, MKL_INT* info ) NOTHROW;
void zlaghe( const MKL_INT* n, const MKL_INT* k, const double* d,
             MKL_Complex16* a, const MKL_INT* lda, MKL_INT* iseed,
             MKL_Complex16* work, MKL_INT* info ) NOTHROW;
void zlaghe_( const MKL_INT* n, const MKL_INT* k, const double* d,
              MKL_Complex16* a, const MKL_INT* lda, MKL_INT* iseed,
              MKL_Complex16* work, MKL_INT* info ) NOTHROW;

/* oneMKL extensions */

void MKL_CSPFFRT2(  MKL_Complex8 *ap, const MKL_INT *n, const MKL_INT *ncolm,
                    MKL_Complex8 *work, MKL_Complex8 *work2 ) NOTHROW;
void mkl_cspffrt2(  MKL_Complex8 *ap, const MKL_INT *n, const MKL_INT *ncolm,
                    MKL_Complex8 *work, MKL_Complex8 *work2 ) NOTHROW;
void mkl_cspffrt2_( MKL_Complex8 *ap, const MKL_INT *n, const MKL_INT *ncolm,
                    MKL_Complex8 *work, MKL_Complex8 *work2 ) NOTHROW;
void MKL_CSPFFRTX(  MKL_Complex8 *ap, const MKL_INT *n, const MKL_INT *ncolm,
                    MKL_Complex8 *work, MKL_Complex8 *work2 ) NOTHROW;
void mkl_cspffrtx(  MKL_Complex8 *ap, const MKL_INT *n, const MKL_INT *ncolm,
                    MKL_Complex8 *work, MKL_Complex8 *work2 ) NOTHROW;
void mkl_cspffrtx_( MKL_Complex8 *ap, const MKL_INT *n, const MKL_INT *ncolm,
                    MKL_Complex8 *work, MKL_Complex8 *work2 ) NOTHROW;
void MKL_DSPFFRT2(  double *ap, const MKL_INT *n, const MKL_INT *ncolm,
                    double *work, double *work2 ) NOTHROW;
void mkl_dspffrt2(  double *ap, const MKL_INT *n, const MKL_INT *ncolm,
                    double *work, double *work2 ) NOTHROW;
void mkl_dspffrt2_( double *ap, const MKL_INT *n, const MKL_INT *ncolm,
                    double *work, double *work2 ) NOTHROW;
void MKL_DSPFFRTX(  double *ap, const MKL_INT *n, const MKL_INT *ncolm,
                    double *work, double *work2 ) NOTHROW;
void mkl_dspffrtx(  double *ap, const MKL_INT *n, const MKL_INT *ncolm,
                    double *work, double *work2 ) NOTHROW;
void mkl_dspffrtx_( double *ap, const MKL_INT *n, const MKL_INT *ncolm,
                    double *work, double *work2 ) NOTHROW;
void MKL_SSPFFRT2(  float *ap, const MKL_INT *n, const MKL_INT *ncolm,
                    float *work, float *work2 ) NOTHROW;
void mkl_sspffrt2(  float *ap, const MKL_INT *n, const MKL_INT *ncolm,
                    float *work, float *work2 ) NOTHROW;
void mkl_sspffrt2_( float *ap, const MKL_INT *n, const MKL_INT *ncolm,
                    float *work, float *work2 ) NOTHROW;
void MKL_SSPFFRTX(  float *ap, const MKL_INT *n, const MKL_INT *ncolm,
                    float *work, float *work2 ) NOTHROW;
void mkl_sspffrtx(  float *ap, const MKL_INT *n, const MKL_INT *ncolm,
                    float *work, float *work2 ) NOTHROW;
void mkl_sspffrtx_( float *ap, const MKL_INT *n, const MKL_INT *ncolm,
                    float *work, float *work2 ) NOTHROW;
void MKL_ZSPFFRT2(  MKL_Complex16 *ap, const MKL_INT *n, const MKL_INT *ncolm,
                    MKL_Complex16 *work, MKL_Complex16 *work2 ) NOTHROW;
void mkl_zspffrt2(  MKL_Complex16 *ap, const MKL_INT *n, const MKL_INT *ncolm,
                    MKL_Complex16 *work, MKL_Complex16 *work2 ) NOTHROW;
void mkl_zspffrt2_( MKL_Complex16 *ap, const MKL_INT *n, const MKL_INT *ncolm,
                    MKL_Complex16 *work, MKL_Complex16 *work2 ) NOTHROW;
void MKL_ZSPFFRTX(  MKL_Complex16 *ap, const MKL_INT *n, const MKL_INT *ncolm,
                    MKL_Complex16 *work, MKL_Complex16 *work2 ) NOTHROW;
void mkl_zspffrtx(  MKL_Complex16 *ap, const MKL_INT *n, const MKL_INT *ncolm,
                    MKL_Complex16 *work, MKL_Complex16 *work2 ) NOTHROW;
void mkl_zspffrtx_( MKL_Complex16 *ap, const MKL_INT *n, const MKL_INT *ncolm,
                    MKL_Complex16 *work, MKL_Complex16 *work2 ) NOTHROW;

/* oneMKL Progress routine */

#ifndef _MKL_PROGRESS_H_
#define _MKL_PROGRESS_H_
int MKL_PROGRESS( int* thread, int* step, char* stage, int lstage );
int MKL_PROGRESS_( int* thread, int* step, char* stage, int lstage );
int mkl_progress( int* thread, int* step, char* stage, int lstage );
int mkl_progress_( int* thread, int* step, char* stage, int lstage );
#endif /* _MKL_PROGRESS_H_ */

/* LAPACK routines with MKL_INT64 input parameters */
/* Note: ILP64 interfaces are not supported on IA-32 architecture */
#if defined(_WIN64) || defined(__MINGW64__) || defined(__x86_64__)
/* LAPACK specific types */

typedef MKL_INT64 (*MKL_C_SELECT_FUNCTION_1_64) ( const MKL_Complex8* );
typedef MKL_INT64 (*MKL_C_SELECT_FUNCTION_2_64) ( const MKL_Complex8*, const MKL_Complex8* );
typedef MKL_INT64 (*MKL_D_SELECT_FUNCTION_2_64) ( const double*, const double* );
typedef MKL_INT64 (*MKL_D_SELECT_FUNCTION_3_64) ( const double*, const double*, const double* );
typedef MKL_INT64 (*MKL_S_SELECT_FUNCTION_2_64) ( const float*, const float* );
typedef MKL_INT64 (*MKL_S_SELECT_FUNCTION_3_64) ( const float*, const float*, const float* );
typedef MKL_INT64 (*MKL_Z_SELECT_FUNCTION_1_64) ( const MKL_Complex16* );
typedef MKL_INT64 (*MKL_Z_SELECT_FUNCTION_2_64) ( const MKL_Complex16*, const MKL_Complex16* );

void CGESVDQ_64( const char* joba, const char* jobp, const char* jobr, const char* jobu, const char* jobv, const MKL_INT64* m, const MKL_INT64* n, MKL_Complex8* a, const MKL_INT64* lda, float* s, MKL_Complex8* u, const MKL_INT64* ldu, MKL_Complex8* v, const MKL_INT64* ldv, MKL_INT64* numrank, MKL_INT64* iwork, const MKL_INT64* liwork, MKL_Complex8* cwork, MKL_INT64* lcwork, float* rwork, const MKL_INT64* lrwork, MKL_INT64* info );
void cgesvdq_64( const char* joba, const char* jobp, const char* jobr, const char* jobu, const char* jobv, const MKL_INT64* m, const MKL_INT64* n, MKL_Complex8* a, const MKL_INT64* lda, float* s, MKL_Complex8* u, const MKL_INT64* ldu, MKL_Complex8* v, const MKL_INT64* ldv, MKL_INT64* numrank, MKL_INT64* iwork, const MKL_INT64* liwork, MKL_Complex8* cwork, MKL_INT64* lcwork, float* rwork, const MKL_INT64* lrwork, MKL_INT64* info );

void DGESVDQ_64( const char* joba, const char* jobp, const char* jobr, const char* jobu, const char* jobv, const MKL_INT64* m, const MKL_INT64* n, double* a, const MKL_INT64* lda, double* s, double* u, const MKL_INT64* ldu, double* v, const MKL_INT64* ldv, MKL_INT64* numrank, MKL_INT64* iwork, const MKL_INT64* liwork, double* work, MKL_INT64* lwork, double* rwork, const MKL_INT64* lrwork, MKL_INT64* info );
void dgesvdq_64( const char* joba, const char* jobp, const char* jobr, const char* jobu, const char* jobv, const MKL_INT64* m, const MKL_INT64* n, double* a, const MKL_INT64* lda, double* s, double* u, const MKL_INT64* ldu, double* v, const MKL_INT64* ldv, MKL_INT64* numrank, MKL_INT64* iwork, const MKL_INT64* liwork, double* work, MKL_INT64* lwork, double* rwork, const MKL_INT64* lrwork, MKL_INT64* info );

void SGESVDQ_64( const char* joba, const char* jobp, const char* jobr, const char* jobu, const char* jobv, const MKL_INT64* m, const MKL_INT64* n, float* a, const MKL_INT64* lda, float* s, float* u, const MKL_INT64* ldu, float* v, const MKL_INT64* ldv, MKL_INT64* numrank, MKL_INT64* iwork, const MKL_INT64* liwork, float* work, MKL_INT64* lwork, float* rwork, const MKL_INT64* lrwork, MKL_INT64* info );
void sgesvdq_64( const char* joba, const char* jobp, const char* jobr, const char* jobu, const char* jobv, const MKL_INT64* m, const MKL_INT64* n, float* a, const MKL_INT64* lda, float* s, float* u, const MKL_INT64* ldu, float* v, const MKL_INT64* ldv, MKL_INT64* numrank, MKL_INT64* iwork, const MKL_INT64* liwork, float* work, MKL_INT64* lwork, float* rwork, const MKL_INT64* lrwork, MKL_INT64* info );

void ZGESVDQ_64( const char* joba, const char* jobp, const char* jobr, const char* jobu, const char* jobv, const MKL_INT64* m, const MKL_INT64* n, MKL_Complex16* a, const MKL_INT64* lda, double* s, MKL_Complex16* u, const MKL_INT64* ldu, MKL_Complex16* v, const MKL_INT64* ldv, MKL_INT64* numrank, MKL_INT64* iwork, const MKL_INT64* liwork, MKL_Complex16* cwork, MKL_INT64* lcwork, double* rwork, const MKL_INT64* lrwork, MKL_INT64* info );
void zgesvdq_64( const char* joba, const char* jobp, const char* jobr, const char* jobu, const char* jobv, const MKL_INT64* m, const MKL_INT64* n, MKL_Complex16* a, const MKL_INT64* lda, double* s, MKL_Complex16* u, const MKL_INT64* ldu, MKL_Complex16* v, const MKL_INT64* ldv, MKL_INT64* numrank, MKL_INT64* iwork, const MKL_INT64* liwork, MKL_Complex16* cwork, MKL_INT64* lcwork, double* rwork, const MKL_INT64* lrwork, MKL_INT64* info );

void CLAUNHR_COL_GETRFNP2_64( const MKL_INT64* m, const MKL_INT64* n, MKL_Complex8* a, const MKL_INT64* lda, MKL_Complex8* d, MKL_INT64* info );
void claunhr_col_getrfnp2_64( const MKL_INT64* m, const MKL_INT64* n, MKL_Complex8* a, const MKL_INT64* lda, MKL_Complex8* d, MKL_INT64* info );

void CLAUNHR_COL_GETRFNP_64( const MKL_INT64* m, const MKL_INT64* n, MKL_Complex8* a, const MKL_INT64* lda, MKL_Complex8* d, MKL_INT64* info );
void claunhr_col_getrfnp_64( const MKL_INT64* m, const MKL_INT64* n, MKL_Complex8* a, const MKL_INT64* lda, MKL_Complex8* d, MKL_INT64* info );

void DLAORHR_COL_GETRFNP2_64( const MKL_INT64* m, const MKL_INT64* n, double* a, const MKL_INT64* lda, double* d, MKL_INT64* info );
void dlaorhr_col_getrfnp2_64( const MKL_INT64* m, const MKL_INT64* n, double* a, const MKL_INT64* lda, double* d, MKL_INT64* info );

void DLAORHR_COL_GETRFNP_64( const MKL_INT64* m, const MKL_INT64* n, double* a, const MKL_INT64* lda, double* d, MKL_INT64* info );
void dlaorhr_col_getrfnp_64( const MKL_INT64* m, const MKL_INT64* n, double* a, const MKL_INT64* lda, double* d, MKL_INT64* info );

void SLAORHR_COL_GETRFNP2_64( const MKL_INT64* m, const MKL_INT64* n, float* a, const MKL_INT64* lda, float* d, MKL_INT64* info );
void slaorhr_col_getrfnp2_64( const MKL_INT64* m, const MKL_INT64* n, float* a, const MKL_INT64* lda, float* d, MKL_INT64* info );

void SLAORHR_COL_GETRFNP_64( const MKL_INT64* m, const MKL_INT64* n, float* a, const MKL_INT64* lda, float* d, MKL_INT64* info );
void slaorhr_col_getrfnp_64( const MKL_INT64* m, const MKL_INT64* n, float* a, const MKL_INT64* lda, float* d, MKL_INT64* info );

void ZLAUNHR_COL_GETRFNP2_64( const MKL_INT64* m, const MKL_INT64* n, MKL_Complex16* a, const MKL_INT64* lda, MKL_Complex16* d, MKL_INT64* info );
void zlaunhr_col_getrfnp2_64( const MKL_INT64* m, const MKL_INT64* n, MKL_Complex16* a, const MKL_INT64* lda, MKL_Complex16* d, MKL_INT64* info );

void ZLAUNHR_COL_GETRFNP_64( const MKL_INT64* m, const MKL_INT64* n, MKL_Complex16* a, const MKL_INT64* lda, MKL_Complex16* d, MKL_INT64* info );
void zlaunhr_col_getrfnp_64( const MKL_INT64* m, const MKL_INT64* n, MKL_Complex16* a, const MKL_INT64* lda, MKL_Complex16* d, MKL_INT64* info );

void CUNGTSQR_64( const MKL_INT64* m, const MKL_INT64* n, const MKL_INT64* mb, const MKL_INT64* nb, MKL_Complex8* a, const MKL_INT64* lda, const MKL_Complex8* t, const MKL_INT64* ldt, MKL_Complex8* work, const MKL_INT64* lwork, MKL_INT64* info );
void cungtsqr_64( const MKL_INT64* m, const MKL_INT64* n, const MKL_INT64* mb, const MKL_INT64* nb, MKL_Complex8* a, const MKL_INT64* lda, const MKL_Complex8* t, const MKL_INT64* ldt, MKL_Complex8* work, const MKL_INT64* lwork, MKL_INT64* info );

void CUNHR_COL_64( const MKL_INT64* m, const MKL_INT64* n, const MKL_INT64* nb, MKL_Complex8* a, const MKL_INT64* lda, MKL_Complex8* t, const MKL_INT64* ldt, MKL_Complex8* d, MKL_INT64* info );
void cunhr_col_64( const MKL_INT64* m, const MKL_INT64* n, const MKL_INT64* nb, MKL_Complex8* a, const MKL_INT64* lda, MKL_Complex8* t, const MKL_INT64* ldt, MKL_Complex8* d, MKL_INT64* info );

void DORGTSQR_64( const MKL_INT64* m, const MKL_INT64* n, const MKL_INT64* mb, const MKL_INT64* nb, double* a, const MKL_INT64* lda, const double* t, const MKL_INT64* ldt, double* work, const MKL_INT64* lwork, MKL_INT64* info );
void dorgtsqr_64( const MKL_INT64* m, const MKL_INT64* n, const MKL_INT64* mb, const MKL_INT64* nb, double* a, const MKL_INT64* lda, const double* t, const MKL_INT64* ldt, double* work, const MKL_INT64* lwork, MKL_INT64* info );

void DORHR_COL_64( const MKL_INT64* m, const MKL_INT64* n, const MKL_INT64* nb, double* a, const MKL_INT64* lda, double* t, const MKL_INT64* ldt, double* d, MKL_INT64* info );
void dorhr_col_64( const MKL_INT64* m, const MKL_INT64* n, const MKL_INT64* nb, double* a, const MKL_INT64* lda, double* t, const MKL_INT64* ldt, double* d, MKL_INT64* info );

void SORGTSQR_64( const MKL_INT64* m, const MKL_INT64* n, const MKL_INT64* mb, const MKL_INT64* nb, float* a, const MKL_INT64* lda, const float* t, const MKL_INT64* ldt, float* work, const MKL_INT64* lwork, MKL_INT64* info );
void sorgtsqr_64( const MKL_INT64* m, const MKL_INT64* n, const MKL_INT64* mb, const MKL_INT64* nb, float* a, const MKL_INT64* lda, const float* t, const MKL_INT64* ldt, float* work, const MKL_INT64* lwork, MKL_INT64* info );

void SORHR_COL_64( const MKL_INT64* m, const MKL_INT64* n, const MKL_INT64* nb, float* a, const MKL_INT64* lda, float* t, const MKL_INT64* ldt, float* d, MKL_INT64* info );
void sorhr_col_64( const MKL_INT64* m, const MKL_INT64* n, const MKL_INT64* nb, float* a, const MKL_INT64* lda, float* t, const MKL_INT64* ldt, float* d, MKL_INT64* info );

void ZUNGTSQR_64( const MKL_INT64* m, const MKL_INT64* n, const MKL_INT64* mb, const MKL_INT64* nb, MKL_Complex16* a, const MKL_INT64* lda, const MKL_Complex16* t, const MKL_INT64* ldt, MKL_Complex16* work, const MKL_INT64* lwork, MKL_INT64* info );
void zungtsqr_64( const MKL_INT64* m, const MKL_INT64* n, const MKL_INT64* mb, const MKL_INT64* nb, MKL_Complex16* a, const MKL_INT64* lda, const MKL_Complex16* t, const MKL_INT64* ldt, MKL_Complex16* work, const MKL_INT64* lwork, MKL_INT64* info );

void ZUNHR_COL_64( const MKL_INT64* m, const MKL_INT64* n, const MKL_INT64* nb, MKL_Complex16* a, const MKL_INT64* lda, MKL_Complex16* t, const MKL_INT64* ldt, MKL_Complex16* d, MKL_INT64* info );
void zunhr_col_64( const MKL_INT64* m, const MKL_INT64* n, const MKL_INT64* nb, MKL_Complex16* a, const MKL_INT64* lda, MKL_Complex16* t, const MKL_INT64* ldt, MKL_Complex16* d, MKL_INT64* info );

void SGETSQRHRT_64(const MKL_INT64* m, const MKL_INT64* n, const MKL_INT64* mb1, const MKL_INT64* nb1, const MKL_INT64* nb2, float* a, const MKL_INT64* lda, float* t, const MKL_INT64* ldt, float* work, const MKL_INT64* lwork, MKL_INT64* info) NOTHROW;
void sgetsqrhrt_64(const MKL_INT64* m, const MKL_INT64* n, const MKL_INT64* mb1, const MKL_INT64* nb1, const MKL_INT64* nb2, float* a, const MKL_INT64* lda, float* t, const MKL_INT64* ldt, float* work, const MKL_INT64* lwork, MKL_INT64* info) NOTHROW;

void DGETSQRHRT_64(const MKL_INT64* m, const MKL_INT64* n, const MKL_INT64* mb1, const MKL_INT64* nb1, const MKL_INT64* nb2, double* a, const MKL_INT64* lda, double* t, const MKL_INT64* ldt, double* work, const MKL_INT64* lwork, MKL_INT64* info) NOTHROW;
void dgetsqrhrt_64(const MKL_INT64* m, const MKL_INT64* n, const MKL_INT64* mb1, const MKL_INT64* nb1, const MKL_INT64* nb2, double* a, const MKL_INT64* lda, double* t, const MKL_INT64* ldt, double* work, const MKL_INT64* lwork, MKL_INT64* info) NOTHROW;

void CGETSQRHRT_64(const MKL_INT64* m, const MKL_INT64* n, const MKL_INT64* mb1, const MKL_INT64* nb1, const MKL_INT64* nb2, MKL_Complex8* a, const MKL_INT64* lda, MKL_Complex8* t, const MKL_INT64* ldt, MKL_Complex8* work, const MKL_INT64* lwork, MKL_INT64* info) NOTHROW;
void cgetsqrhrt_64(const MKL_INT64* m, const MKL_INT64* n, const MKL_INT64* mb1, const MKL_INT64* nb1, const MKL_INT64* nb2, MKL_Complex8* a, const MKL_INT64* lda, MKL_Complex8* t, const MKL_INT64* ldt, MKL_Complex8* work, const MKL_INT64* lwork, MKL_INT64* info) NOTHROW;

void ZGETSQRHRT_64(const MKL_INT64* m, const MKL_INT64* n, const MKL_INT64* mb1, const MKL_INT64* nb1, const MKL_INT64* nb2, MKL_Complex16* a, const MKL_INT64* lda, MKL_Complex16* t, const MKL_INT64* ldt, MKL_Complex16* work, const MKL_INT64* lwork, MKL_INT64* info) NOTHROW;
void zgetsqrhrt_64(const MKL_INT64* m, const MKL_INT64* n, const MKL_INT64* mb1, const MKL_INT64* nb1, const MKL_INT64* nb2, MKL_Complex16* a, const MKL_INT64* lda, MKL_Complex16* t, const MKL_INT64* ldt, MKL_Complex16* work, const MKL_INT64* lwork, MKL_INT64* info) NOTHROW;

void SLARFB_GETT_64(const char* ident, const MKL_INT64* m, const MKL_INT64* n, const MKL_INT64* k, const float* t, const MKL_INT64* ldt, float* a, const MKL_INT64* lda, float* b, const MKL_INT64* ldb, float* work, const MKL_INT64* ldwork) NOTHROW;
void slarfb_gett_64(const char* ident, const MKL_INT64* m, const MKL_INT64* n, const MKL_INT64* k, const float* t, const MKL_INT64* ldt, float* a, const MKL_INT64* lda, float* b, const MKL_INT64* ldb, float* work, const MKL_INT64* ldwork) NOTHROW;

void DLARFB_GETT_64(const char* ident, const MKL_INT64* m, const MKL_INT64* n, const MKL_INT64* k, const double* t, const MKL_INT64* ldt, double* a, const MKL_INT64* lda, double* b, const MKL_INT64* ldb, double* work, const MKL_INT64* ldwork) NOTHROW;
void dlarfb_gett_64(const char* ident, const MKL_INT64* m, const MKL_INT64* n, const MKL_INT64* k, const double* t, const MKL_INT64* ldt, double* a, const MKL_INT64* lda, double* b, const MKL_INT64* ldb, double* work, const MKL_INT64* ldwork) NOTHROW;

void CLARFB_GETT_64(const char* ident, const MKL_INT64* m, const MKL_INT64* n, const MKL_INT64* k, const MKL_Complex8* t, const MKL_INT64* ldt, MKL_Complex8* a, const MKL_INT64* lda, MKL_Complex8* b, const MKL_INT64* ldb, MKL_Complex8* work, const MKL_INT64* ldwork) NOTHROW;
void clarfb_gett_64(const char* ident, const MKL_INT64* m, const MKL_INT64* n, const MKL_INT64* k, const MKL_Complex8* t, const MKL_INT64* ldt, MKL_Complex8* a, const MKL_INT64* lda, MKL_Complex8* b, const MKL_INT64* ldb, MKL_Complex8* work, const MKL_INT64* ldwork) NOTHROW;

void ZLARFB_GETT_64(const char* ident, const MKL_INT64* m, const MKL_INT64* n, const MKL_INT64* k, const MKL_Complex16* t, const MKL_INT64* ldt, MKL_Complex16* a, const MKL_INT64* lda, MKL_Complex16* b, const MKL_INT64* ldb, MKL_Complex16* work, const MKL_INT64* ldwork) NOTHROW;
void zlarfb_gett_64(const char* ident, const MKL_INT64* m, const MKL_INT64* n, const MKL_INT64* k, const MKL_Complex16* t, const MKL_INT64* ldt, MKL_Complex16* a, const MKL_INT64* lda, MKL_Complex16* b, const MKL_INT64* ldb, MKL_Complex16* work, const MKL_INT64* ldwork) NOTHROW;

void SORGTSQR_ROW_64(const MKL_INT64* m, const MKL_INT64* n, const MKL_INT64* mb, const MKL_INT64* nb,  float* a, const MKL_INT64* lda, float* t, const MKL_INT64* ldt, float* work, const MKL_INT64* lwork, MKL_INT64* info) NOTHROW;
void sorgtsqr_row_64(const MKL_INT64* m, const MKL_INT64* n, const MKL_INT64* mb, const MKL_INT64* nb,  float* a, const MKL_INT64* lda, float* t, const MKL_INT64* ldt, float* work, const MKL_INT64* lwork, MKL_INT64* info) NOTHROW;

void DORGTSQR_ROW_64(const MKL_INT64* m,  const MKL_INT64* n, const MKL_INT64* mb, const MKL_INT64* nb,  double* a, const MKL_INT64* lda, double* t, const MKL_INT64* ldt, double* work, const MKL_INT64* lwork, MKL_INT64* info) NOTHROW;
void dorgtsqr_row_64(const MKL_INT64* m,  const MKL_INT64* n, const MKL_INT64* mb, const MKL_INT64* nb,  double* a, const MKL_INT64* lda, double* t, const MKL_INT64* ldt, double* work, const MKL_INT64* lwork, MKL_INT64* info) NOTHROW;

void CUNGTSQR_ROW_64(const MKL_INT64* m,  const MKL_INT64* n, const MKL_INT64* mb, const MKL_INT64* nb,  MKL_Complex8* a, const MKL_INT64* lda, MKL_Complex8* t,  const MKL_INT64* ldt, MKL_Complex8* work, const MKL_INT64* lwork, MKL_INT64* info) NOTHROW;
void cungtsqr_row_64(const MKL_INT64* m,  const MKL_INT64* n, const MKL_INT64* mb, const MKL_INT64* nb,  MKL_Complex8* a, const MKL_INT64* lda, MKL_Complex8* t,  const MKL_INT64* ldt, MKL_Complex8* work, const MKL_INT64* lwork, MKL_INT64* info) NOTHROW;

void ZUNGTSQR_ROW_64(const MKL_INT64* m,  const MKL_INT64* n, const MKL_INT64* mb, const MKL_INT64* nb,  MKL_Complex16* a, const MKL_INT64* lda, MKL_Complex16* t,  const MKL_INT64* ldt, MKL_Complex16* work, const MKL_INT64* lwork, MKL_INT64* info) NOTHROW;
void zungtsqr_row_64(const MKL_INT64* m,  const MKL_INT64* n, const MKL_INT64* mb, const MKL_INT64* nb,  MKL_Complex16* a, const MKL_INT64* lda, MKL_Complex16* t,  const MKL_INT64* ldt, MKL_Complex16* work, const MKL_INT64* lwork, MKL_INT64* info) NOTHROW;

void CGELQ_64( const MKL_INT64* m, const MKL_INT64* n, MKL_Complex8* a,
            const MKL_INT64* lda, MKL_Complex8* t, const MKL_INT64* tsize,
            MKL_Complex8* work, const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;
void cgelq_64( const MKL_INT64* m, const MKL_INT64* n, MKL_Complex8* a,
            const MKL_INT64* lda, MKL_Complex8* t, const MKL_INT64* tsize,
            MKL_Complex8* work, const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;

void CGELQT_64( const MKL_INT64* m, const MKL_INT64* n, const MKL_INT64* mb,
             MKL_Complex8* a, const MKL_INT64* lda, MKL_Complex8* t,
             const MKL_INT64* ldt, MKL_Complex8* work, MKL_INT64* info ) NOTHROW;
void cgelqt_64( const MKL_INT64* m, const MKL_INT64* n, const MKL_INT64* mb,
             MKL_Complex8* a, const MKL_INT64* lda, MKL_Complex8* t,
             const MKL_INT64* ldt, MKL_Complex8* work, MKL_INT64* info ) NOTHROW;

void CGELQT3_64( const MKL_INT64* m, const MKL_INT64* n, MKL_Complex8* a,
              const MKL_INT64* lda, MKL_Complex8* t, const MKL_INT64* ldt,
              MKL_INT64* info ) NOTHROW;
void cgelqt3_64( const MKL_INT64* m, const MKL_INT64* n, MKL_Complex8* a,
              const MKL_INT64* lda, MKL_Complex8* t, const MKL_INT64* ldt,
              MKL_INT64* info ) NOTHROW;

void CGEMLQ_64( const char* side, const char* trans, const MKL_INT64* m,
             const MKL_INT64* n, const MKL_INT64* k, const MKL_Complex8* a,
             const MKL_INT64* lda, const MKL_Complex8* t,
             const MKL_INT64* tsize, MKL_Complex8* c, const MKL_INT64* ldc,
             MKL_Complex8* work, const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;
void cgemlq_64( const char* side, const char* trans, const MKL_INT64* m,
             const MKL_INT64* n, const MKL_INT64* k, const MKL_Complex8* a,
             const MKL_INT64* lda, const MKL_Complex8* t,
             const MKL_INT64* tsize, MKL_Complex8* c, const MKL_INT64* ldc,
             MKL_Complex8* work, const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;

void CGEMLQT_64( const char* side, const char* trans, const MKL_INT64* m,
              const MKL_INT64* n, const MKL_INT64* k, const MKL_INT64* mb,
              const MKL_Complex8* v, const MKL_INT64* ldv, const MKL_Complex8* t,
              const MKL_INT64* ldt, MKL_Complex8* c, const MKL_INT64* ldc,
              MKL_Complex8* work, MKL_INT64* info ) NOTHROW;
void cgemlqt_64( const char* side, const char* trans, const MKL_INT64* m,
              const MKL_INT64* n, const MKL_INT64* k, const MKL_INT64* mb,
              const MKL_Complex8* v, const MKL_INT64* ldv, const MKL_Complex8* t,
              const MKL_INT64* ldt, MKL_Complex8* c, const MKL_INT64* ldc,
              MKL_Complex8* work, MKL_INT64* info ) NOTHROW;

void CGEQR_64( const MKL_INT64* m, const MKL_INT64* n, MKL_Complex8* a,
            const MKL_INT64* lda, MKL_Complex8* t, const MKL_INT64* tsize,
            MKL_Complex8* work, const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;
void cgeqr_64( const MKL_INT64* m, const MKL_INT64* n, MKL_Complex8* a,
            const MKL_INT64* lda, MKL_Complex8* t, const MKL_INT64* tsize,
            MKL_Complex8* work, const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;

void CGETSLS_64( const char* trans, const MKL_INT64* m, const MKL_INT64* n,
              const MKL_INT64* nrhs, MKL_Complex8* a, const MKL_INT64* lda,
              MKL_Complex8* b, const MKL_INT64* ldb, MKL_Complex8* work,
              const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;
void cgetsls_64( const char* trans, const MKL_INT64* m, const MKL_INT64* n,
              const MKL_INT64* nrhs, MKL_Complex8* a, const MKL_INT64* lda,
              MKL_Complex8* b, const MKL_INT64* ldb, MKL_Complex8* work,
              const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;

void CLAMSWLQ_64( const char* side, const char* trans, const MKL_INT64* m,
               const MKL_INT64* n, const MKL_INT64* k, const MKL_INT64* mb,
               const MKL_INT64* nb, MKL_Complex8* a, const MKL_INT64* lda,
               const MKL_Complex8* t, const MKL_INT64* ldt, MKL_Complex8* c,
               const MKL_INT64* ldc, MKL_Complex8* work, const MKL_INT64* lwork,
               MKL_INT64* info ) NOTHROW;
void clamswlq_64( const char* side, const char* trans, const MKL_INT64* m,
               const MKL_INT64* n, const MKL_INT64* k, const MKL_INT64* mb,
               const MKL_INT64* nb, MKL_Complex8* a, const MKL_INT64* lda,
               const MKL_Complex8* t, const MKL_INT64* ldt, MKL_Complex8* c,
               const MKL_INT64* ldc, MKL_Complex8* work, const MKL_INT64* lwork,
               MKL_INT64* info ) NOTHROW;

void CLAMTSQR_64( const char* side, const char* trans, const MKL_INT64* m,
               const MKL_INT64* n, const MKL_INT64* k, const MKL_INT64* mb,
               const MKL_INT64* nb, MKL_Complex8* a, const MKL_INT64* lda,
               const MKL_Complex8* t, const MKL_INT64* ldt, MKL_Complex8* c,
               const MKL_INT64* ldc, MKL_Complex8* work, const MKL_INT64* lwork,
               MKL_INT64* info ) NOTHROW;
void clamtsqr_64( const char* side, const char* trans, const MKL_INT64* m,
               const MKL_INT64* n, const MKL_INT64* k, const MKL_INT64* mb,
               const MKL_INT64* nb, MKL_Complex8* a, const MKL_INT64* lda,
               const MKL_Complex8* t, const MKL_INT64* ldt, MKL_Complex8* c,
               const MKL_INT64* ldc, MKL_Complex8* work, const MKL_INT64* lwork,
               MKL_INT64* info ) NOTHROW;

void CLASWLQ_64( const MKL_INT64* m, const MKL_INT64* n, const MKL_INT64* mb,
              const MKL_INT64* nb, MKL_Complex8* a, const MKL_INT64* lda,
              MKL_Complex8* t, const MKL_INT64* ldt, MKL_Complex8* work,
              const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;
void claswlq_64( const MKL_INT64* m, const MKL_INT64* n, const MKL_INT64* mb,
              const MKL_INT64* nb, MKL_Complex8* a, const MKL_INT64* lda,
              MKL_Complex8* t, const MKL_INT64* ldt, MKL_Complex8* work,
              const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;

void CLATSQR_64( const MKL_INT64* m, const MKL_INT64* n, const MKL_INT64* mb,
              const MKL_INT64* nb, MKL_Complex8* a, const MKL_INT64* lda,
              MKL_Complex8* t, const MKL_INT64* ldt, MKL_Complex8* work,
              const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;
void clatsqr_64( const MKL_INT64* m, const MKL_INT64* n, const MKL_INT64* mb,
              const MKL_INT64* nb, MKL_Complex8* a, const MKL_INT64* lda,
              MKL_Complex8* t, const MKL_INT64* ldt, MKL_Complex8* work,
              const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;

void CTPLQT_64( const MKL_INT64* m, const MKL_INT64* n, const MKL_INT64* l,
             const MKL_INT64* mb, MKL_Complex8* a, const MKL_INT64* lda,
             MKL_Complex8* b, const MKL_INT64* ldb, MKL_Complex8* t,
             const MKL_INT64* ldt, MKL_Complex8* work, MKL_INT64* info ) NOTHROW;
void ctplqt_64( const MKL_INT64* m, const MKL_INT64* n, const MKL_INT64* l,
             const MKL_INT64* mb, MKL_Complex8* a, const MKL_INT64* lda,
             MKL_Complex8* b, const MKL_INT64* ldb, MKL_Complex8* t,
             const MKL_INT64* ldt, MKL_Complex8* work, MKL_INT64* info ) NOTHROW;

void CTPLQT2_64( const MKL_INT64* m, const MKL_INT64* n, const MKL_INT64* l,
              MKL_Complex8* a, const MKL_INT64* lda, MKL_Complex8* b,
              const MKL_INT64* ldb, MKL_Complex8* t, const MKL_INT64* ldt,
              MKL_INT64* info ) NOTHROW;
void ctplqt2_64( const MKL_INT64* m, const MKL_INT64* n, const MKL_INT64* l,
              MKL_Complex8* a, const MKL_INT64* lda, MKL_Complex8* b,
              const MKL_INT64* ldb, MKL_Complex8* t, const MKL_INT64* ldt,
              MKL_INT64* info ) NOTHROW;

void CTPMLQT_64( const char* side, const char* trans, const MKL_INT64* m,
              const MKL_INT64* n, const MKL_INT64* k, const MKL_INT64* l,
              const MKL_INT64* mb, const MKL_Complex8* v, const MKL_INT64* ldv,
              const MKL_Complex8* t, const MKL_INT64* ldt, MKL_Complex8* a,
              const MKL_INT64* lda, MKL_Complex8* b, const MKL_INT64* ldb,
              MKL_Complex8* work, MKL_INT64* info ) NOTHROW;
void ctpmlqt_64( const char* side, const char* trans, const MKL_INT64* m,
              const MKL_INT64* n, const MKL_INT64* k, const MKL_INT64* l,
              const MKL_INT64* mb, const MKL_Complex8* v, const MKL_INT64* ldv,
              const MKL_Complex8* t, const MKL_INT64* ldt, MKL_Complex8* a,
              const MKL_INT64* lda, MKL_Complex8* b, const MKL_INT64* ldb,
              MKL_Complex8* work, MKL_INT64* info ) NOTHROW;

void DGELQ_64( const MKL_INT64* m, const MKL_INT64* n, double* a, const MKL_INT64* lda,
            double* t, const MKL_INT64* tsize, double* work,
            const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;
void dgelq_64( const MKL_INT64* m, const MKL_INT64* n, double* a, const MKL_INT64* lda,
            double* t, const MKL_INT64* tsize, double* work,
            const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;

void DGELQT_64( const MKL_INT64* m, const MKL_INT64* n, const MKL_INT64* mb, double* a,
             const MKL_INT64* lda, double* t, const MKL_INT64* ldt, double* work,
             MKL_INT64* info ) NOTHROW;
void dgelqt_64( const MKL_INT64* m, const MKL_INT64* n, const MKL_INT64* mb, double* a,
             const MKL_INT64* lda, double* t, const MKL_INT64* ldt, double* work,
             MKL_INT64* info ) NOTHROW;

void DGELQT3_64( const MKL_INT64* m, const MKL_INT64* n, double* a,
              const MKL_INT64* lda, double* t, const MKL_INT64* ldt,
              MKL_INT64* info ) NOTHROW;
void dgelqt3_64( const MKL_INT64* m, const MKL_INT64* n, double* a,
              const MKL_INT64* lda, double* t, const MKL_INT64* ldt,
              MKL_INT64* info ) NOTHROW;

void DGEMLQ_64( const char* side, const char* trans, const MKL_INT64* m,
             const MKL_INT64* n, const MKL_INT64* k, const double* a, const MKL_INT64* lda,
             const double* t, const MKL_INT64* tsize, double* c,
             const MKL_INT64* ldc, double* work, const MKL_INT64* lwork,
             MKL_INT64* info ) NOTHROW;
void dgemlq_64( const char* side, const char* trans, const MKL_INT64* m,
             const MKL_INT64* n, const MKL_INT64* k, const double* a, const MKL_INT64* lda,
             const double* t, const MKL_INT64* tsize, double* c,
             const MKL_INT64* ldc, double* work, const MKL_INT64* lwork,
             MKL_INT64* info ) NOTHROW;

void DGEMLQT_64( const char* side, const char* trans, const MKL_INT64* m,
              const MKL_INT64* n, const MKL_INT64* k, const MKL_INT64* mb,
              const double* v, const MKL_INT64* ldv, const double* t,
              const MKL_INT64* ldt, double* c, const MKL_INT64* ldc, double* work,
              MKL_INT64* info ) NOTHROW;
void dgemlqt_64( const char* side, const char* trans, const MKL_INT64* m,
              const MKL_INT64* n, const MKL_INT64* k, const MKL_INT64* mb,
              const double* v, const MKL_INT64* ldv, const double* t,
              const MKL_INT64* ldt, double* c, const MKL_INT64* ldc, double* work,
              MKL_INT64* info ) NOTHROW;

void DGEQR_64( const MKL_INT64* m, const MKL_INT64* n, double* a, const MKL_INT64* lda,
            double* t, const MKL_INT64* tsize, double* work,
            const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;
void dgeqr_64( const MKL_INT64* m, const MKL_INT64* n, double* a, const MKL_INT64* lda,
            double* t, const MKL_INT64* tsize, double* work,
            const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;

void DLAMSWLQ_64( const char* side, const char* trans, const MKL_INT64* m,
               const MKL_INT64* n, const MKL_INT64* k, const MKL_INT64* mb,
               const MKL_INT64* nb, double* a, const MKL_INT64* lda,
               const double* t, const MKL_INT64* ldt, double* c,
               const MKL_INT64* ldc, double* work, const MKL_INT64* lwork,
               MKL_INT64* info ) NOTHROW;
void dlamswlq_64( const char* side, const char* trans, const MKL_INT64* m,
               const MKL_INT64* n, const MKL_INT64* k, const MKL_INT64* mb,
               const MKL_INT64* nb, double* a, const MKL_INT64* lda,
               const double* t, const MKL_INT64* ldt, double* c,
               const MKL_INT64* ldc, double* work, const MKL_INT64* lwork,
               MKL_INT64* info ) NOTHROW;

void DLAMTSQR_64( const char* side, const char* trans, const MKL_INT64* m,
               const MKL_INT64* n, const MKL_INT64* k, const MKL_INT64* mb,
               const MKL_INT64* nb, double* a, const MKL_INT64* lda,
               const double* t, const MKL_INT64* ldt, double* c,
               const MKL_INT64* ldc, double* work, const MKL_INT64* lwork,
               MKL_INT64* info ) NOTHROW;
void dlamtsqr_64( const char* side, const char* trans, const MKL_INT64* m,
               const MKL_INT64* n, const MKL_INT64* k, const MKL_INT64* mb,
               const MKL_INT64* nb, double* a, const MKL_INT64* lda,
               const double* t, const MKL_INT64* ldt, double* c,
               const MKL_INT64* ldc, double* work, const MKL_INT64* lwork,
               MKL_INT64* info ) NOTHROW;

void DLASWLQ_64( const MKL_INT64* m, const MKL_INT64* n, const MKL_INT64* mb,
              const MKL_INT64* nb, double* a, const MKL_INT64* lda, double* t,
              const MKL_INT64* ldt, double* work, const MKL_INT64* lwork,
              MKL_INT64* info ) NOTHROW;
void dlaswlq_64( const MKL_INT64* m, const MKL_INT64* n, const MKL_INT64* mb,
              const MKL_INT64* nb, double* a, const MKL_INT64* lda, double* t,
              const MKL_INT64* ldt, double* work, const MKL_INT64* lwork,
              MKL_INT64* info ) NOTHROW;

void DLATSQR_64( const MKL_INT64* m, const MKL_INT64* n, const MKL_INT64* mb,
              const MKL_INT64* nb, double* a, const MKL_INT64* lda, double* t,
              const MKL_INT64* ldt, double* work, const MKL_INT64* lwork,
              MKL_INT64* info ) NOTHROW;
void dlatsqr_64( const MKL_INT64* m, const MKL_INT64* n, const MKL_INT64* mb,
              const MKL_INT64* nb, double* a, const MKL_INT64* lda, double* t,
              const MKL_INT64* ldt, double* work, const MKL_INT64* lwork,
              MKL_INT64* info ) NOTHROW;

void DTPLQT_64( const MKL_INT64* m, const MKL_INT64* n, const MKL_INT64* l,
             const MKL_INT64* mb, double* a, const MKL_INT64* lda, double* b,
             const MKL_INT64* ldb, double* t, const MKL_INT64* ldt, double* work,
             MKL_INT64* info ) NOTHROW;
void dtplqt_64( const MKL_INT64* m, const MKL_INT64* n, const MKL_INT64* l,
             const MKL_INT64* mb, double* a, const MKL_INT64* lda, double* b,
             const MKL_INT64* ldb, double* t, const MKL_INT64* ldt, double* work,
             MKL_INT64* info ) NOTHROW;

void DTPLQT2_64( const MKL_INT64* m, const MKL_INT64* n, const MKL_INT64* l, double* a,
              const MKL_INT64* lda, double* b, const MKL_INT64* ldb, double* t,
              const MKL_INT64* ldt, MKL_INT64* info ) NOTHROW;
void dtplqt2_64( const MKL_INT64* m, const MKL_INT64* n, const MKL_INT64* l, double* a,
              const MKL_INT64* lda, double* b, const MKL_INT64* ldb, double* t,
              const MKL_INT64* ldt, MKL_INT64* info ) NOTHROW;

void DTPMLQT_64( const char* side, const char* trans, const MKL_INT64* m,
              const MKL_INT64* n, const MKL_INT64* k, const MKL_INT64* l,
              const MKL_INT64* mb, const double* v, const MKL_INT64* ldv,
              const double* t, const MKL_INT64* ldt, double* a,
              const MKL_INT64* lda, double* b, const MKL_INT64* ldb, double* work,
              MKL_INT64* info ) NOTHROW;
void dtpmlqt_64( const char* side, const char* trans, const MKL_INT64* m,
              const MKL_INT64* n, const MKL_INT64* k, const MKL_INT64* l,
              const MKL_INT64* mb, const double* v, const MKL_INT64* ldv,
              const double* t, const MKL_INT64* ldt, double* a,
              const MKL_INT64* lda, double* b, const MKL_INT64* ldb, double* work,
              MKL_INT64* info ) NOTHROW;

void SGELQ_64( const MKL_INT64* m, const MKL_INT64* n, float* a, const MKL_INT64* lda,
            float* t, const MKL_INT64* tsize, float* work,
            const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;
void sgelq_64( const MKL_INT64* m, const MKL_INT64* n, float* a, const MKL_INT64* lda,
            float* t, const MKL_INT64* tsize, float* work,
            const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;

void DGETSLS_64( const char* trans, const MKL_INT64* m, const MKL_INT64* n,
              const MKL_INT64* nrhs, double* a, const MKL_INT64* lda, double* b,
              const MKL_INT64* ldb, double* work, const MKL_INT64* lwork,
              MKL_INT64* info ) NOTHROW;
void dgetsls_64( const char* trans, const MKL_INT64* m, const MKL_INT64* n,
              const MKL_INT64* nrhs, double* a, const MKL_INT64* lda, double* b,
              const MKL_INT64* ldb, double* work, const MKL_INT64* lwork,
              MKL_INT64* info ) NOTHROW;

void SGELQT_64( const MKL_INT64* m, const MKL_INT64* n, const MKL_INT64* mb, float* a,
             const MKL_INT64* lda, float* t, const MKL_INT64* ldt, float* work,
             MKL_INT64* info ) NOTHROW;
void sgelqt_64( const MKL_INT64* m, const MKL_INT64* n, const MKL_INT64* mb, float* a,
             const MKL_INT64* lda, float* t, const MKL_INT64* ldt, float* work,
             MKL_INT64* info ) NOTHROW;

void SGELQT3_64( const MKL_INT64* m, const MKL_INT64* n, float* a, const MKL_INT64* lda,
              float* t, const MKL_INT64* ldt, MKL_INT64* info ) NOTHROW;
void sgelqt3_64( const MKL_INT64* m, const MKL_INT64* n, float* a, const MKL_INT64* lda,
              float* t, const MKL_INT64* ldt, MKL_INT64* info ) NOTHROW;

void SGEMLQT_64( const char* side, const char* trans, const MKL_INT64* m,
              const MKL_INT64* n, const MKL_INT64* k, const MKL_INT64* mb,
              const float* v, const MKL_INT64* ldv, const float* t,
              const MKL_INT64* ldt, float* c, const MKL_INT64* ldc, float* work,
              MKL_INT64* info ) NOTHROW;
void sgemlqt_64( const char* side, const char* trans, const MKL_INT64* m,
              const MKL_INT64* n, const MKL_INT64* k, const MKL_INT64* mb,
              const float* v, const MKL_INT64* ldv, const float* t,
              const MKL_INT64* ldt, float* c, const MKL_INT64* ldc, float* work,
              MKL_INT64* info ) NOTHROW;

void SGEQR_64( const MKL_INT64* m, const MKL_INT64* n, float* a, const MKL_INT64* lda,
            float* t, const MKL_INT64* tsize, float* work,
            const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;
void sgeqr_64( const MKL_INT64* m, const MKL_INT64* n, float* a, const MKL_INT64* lda,
            float* t, const MKL_INT64* tsize, float* work,
            const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;

void SGETSLS_64( const char* trans, const MKL_INT64* m, const MKL_INT64* n,
              const MKL_INT64* nrhs, float* a, const MKL_INT64* lda, float* b,
              const MKL_INT64* ldb, float* work, const MKL_INT64* lwork,
              MKL_INT64* info ) NOTHROW;
void sgetsls_64( const char* trans, const MKL_INT64* m, const MKL_INT64* n,
              const MKL_INT64* nrhs, float* a, const MKL_INT64* lda, float* b,
              const MKL_INT64* ldb, float* work, const MKL_INT64* lwork,
              MKL_INT64* info ) NOTHROW;

void SLAMTSQR_64( const char* side, const char* trans, const MKL_INT64* m,
               const MKL_INT64* n, const MKL_INT64* k, const MKL_INT64* mb,
               const MKL_INT64* nb, float* a, const MKL_INT64* lda, const float* t,
               const MKL_INT64* ldt, float* c, const MKL_INT64* ldc, float* work,
               const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;
void slamtsqr_64( const char* side, const char* trans, const MKL_INT64* m,
               const MKL_INT64* n, const MKL_INT64* k, const MKL_INT64* mb,
               const MKL_INT64* nb, float* a, const MKL_INT64* lda, const float* t,
               const MKL_INT64* ldt, float* c, const MKL_INT64* ldc, float* work,
               const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;

void SLASWLQ_64( const MKL_INT64* m, const MKL_INT64* n, const MKL_INT64* mb,
              const MKL_INT64* nb, float* a, const MKL_INT64* lda, float* t,
              const MKL_INT64* ldt, float* work, const MKL_INT64* lwork,
              MKL_INT64* info ) NOTHROW;
void slaswlq_64( const MKL_INT64* m, const MKL_INT64* n, const MKL_INT64* mb,
              const MKL_INT64* nb, float* a, const MKL_INT64* lda, float* t,
              const MKL_INT64* ldt, float* work, const MKL_INT64* lwork,
              MKL_INT64* info ) NOTHROW;

void STPLQT_64( const MKL_INT64* m, const MKL_INT64* n, const MKL_INT64* l,
             const MKL_INT64* mb, float* a, const MKL_INT64* lda, float* b,
             const MKL_INT64* ldb, float* t, const MKL_INT64* ldt, float* work,
             MKL_INT64* info ) NOTHROW;
void stplqt_64( const MKL_INT64* m, const MKL_INT64* n, const MKL_INT64* l,
             const MKL_INT64* mb, float* a, const MKL_INT64* lda, float* b,
             const MKL_INT64* ldb, float* t, const MKL_INT64* ldt, float* work,
             MKL_INT64* info ) NOTHROW;

void STPMLQT_64( const char* side, const char* trans, const MKL_INT64* m,
              const MKL_INT64* n, const MKL_INT64* k, const MKL_INT64* l,
              const MKL_INT64* mb, const float* v, const MKL_INT64* ldv,
              const float* t, const MKL_INT64* ldt, float* a, const MKL_INT64* lda,
              float* b, const MKL_INT64* ldb, float* work, MKL_INT64* info ) NOTHROW;
void stpmlqt_64( const char* side, const char* trans, const MKL_INT64* m,
              const MKL_INT64* n, const MKL_INT64* k, const MKL_INT64* l,
              const MKL_INT64* mb, const float* v, const MKL_INT64* ldv,
              const float* t, const MKL_INT64* ldt, float* a, const MKL_INT64* lda,
              float* b, const MKL_INT64* ldb, float* work, MKL_INT64* info ) NOTHROW;

void ZGELQ_64( const MKL_INT64* m, const MKL_INT64* n, MKL_Complex16* a,
            const MKL_INT64* lda, MKL_Complex16* t, const MKL_INT64* tsize,
            MKL_Complex16* work, const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;
void zgelq_64( const MKL_INT64* m, const MKL_INT64* n, MKL_Complex16* a,
            const MKL_INT64* lda, MKL_Complex16* t, const MKL_INT64* tsize,
            MKL_Complex16* work, const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;

void SGEMLQ_64( const char* side, const char* trans, const MKL_INT64* m,
             const MKL_INT64* n, const MKL_INT64* k, const float* a, const MKL_INT64* lda,
             const float* t, const MKL_INT64* tsize, float* c,
             const MKL_INT64* ldc, float* work, const MKL_INT64* lwork,
             MKL_INT64* info ) NOTHROW;
void sgemlq_64( const char* side, const char* trans, const MKL_INT64* m,
             const MKL_INT64* n, const MKL_INT64* k, const float* a, const MKL_INT64* lda,
             const float* t, const MKL_INT64* tsize, float* c,
             const MKL_INT64* ldc, float* work, const MKL_INT64* lwork,
             MKL_INT64* info ) NOTHROW;

void SLAMSWLQ_64( const char* side, const char* trans, const MKL_INT64* m,
               const MKL_INT64* n, const MKL_INT64* k, const MKL_INT64* mb,
               const MKL_INT64* nb, float* a, const MKL_INT64* lda, const float* t,
               const MKL_INT64* ldt, float* c, const MKL_INT64* ldc, float* work,
               const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;
void slamswlq_64( const char* side, const char* trans, const MKL_INT64* m,
               const MKL_INT64* n, const MKL_INT64* k, const MKL_INT64* mb,
               const MKL_INT64* nb, float* a, const MKL_INT64* lda, const float* t,
               const MKL_INT64* ldt, float* c, const MKL_INT64* ldc, float* work,
               const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;

void SLATSQR_64( const MKL_INT64* m, const MKL_INT64* n, const MKL_INT64* mb,
              const MKL_INT64* nb, float* a, const MKL_INT64* lda, float* t,
              const MKL_INT64* ldt, float* work, const MKL_INT64* lwork,
              MKL_INT64* info ) NOTHROW;
void slatsqr_64( const MKL_INT64* m, const MKL_INT64* n, const MKL_INT64* mb,
              const MKL_INT64* nb, float* a, const MKL_INT64* lda, float* t,
              const MKL_INT64* ldt, float* work, const MKL_INT64* lwork,
              MKL_INT64* info ) NOTHROW;

void STPLQT2_64( const MKL_INT64* m, const MKL_INT64* n, const MKL_INT64* l, float* a,
              const MKL_INT64* lda, float* b, const MKL_INT64* ldb, float* t,
              const MKL_INT64* ldt, MKL_INT64* info ) NOTHROW;
void stplqt2_64( const MKL_INT64* m, const MKL_INT64* n, const MKL_INT64* l, float* a,
              const MKL_INT64* lda, float* b, const MKL_INT64* ldb, float* t,
              const MKL_INT64* ldt, MKL_INT64* info ) NOTHROW;

void ZGELQT_64( const MKL_INT64* m, const MKL_INT64* n, const MKL_INT64* mb,
             MKL_Complex16* a, const MKL_INT64* lda, MKL_Complex16* t,
             const MKL_INT64* ldt, MKL_Complex16* work, MKL_INT64* info ) NOTHROW;
void zgelqt_64( const MKL_INT64* m, const MKL_INT64* n, const MKL_INT64* mb,
             MKL_Complex16* a, const MKL_INT64* lda, MKL_Complex16* t,
             const MKL_INT64* ldt, MKL_Complex16* work, MKL_INT64* info ) NOTHROW;

void ZGELQT3_64( const MKL_INT64* m, const MKL_INT64* n, MKL_Complex16* a,
              const MKL_INT64* lda, MKL_Complex16* t, const MKL_INT64* ldt,
              MKL_INT64* info ) NOTHROW;
void zgelqt3_64( const MKL_INT64* m, const MKL_INT64* n, MKL_Complex16* a,
              const MKL_INT64* lda, MKL_Complex16* t, const MKL_INT64* ldt,
              MKL_INT64* info ) NOTHROW;

void ZGEMLQ_64( const char* side, const char* trans, const MKL_INT64* m,
             const MKL_INT64* n, const MKL_INT64* k, const MKL_Complex16* a,
             const MKL_INT64* lda, const MKL_Complex16* t,
             const MKL_INT64* tsize, MKL_Complex16* c, const MKL_INT64* ldc,
             MKL_Complex16* work, const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;
void zgemlq_64( const char* side, const char* trans, const MKL_INT64* m,
             const MKL_INT64* n, const MKL_INT64* k, const MKL_Complex16* a,
             const MKL_INT64* lda, const MKL_Complex16* t,
             const MKL_INT64* tsize, MKL_Complex16* c, const MKL_INT64* ldc,
             MKL_Complex16* work, const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;

void ZGEMLQT_64( const char* side, const char* trans, const MKL_INT64* m,
              const MKL_INT64* n, const MKL_INT64* k, const MKL_INT64* mb,
              const MKL_Complex16* v, const MKL_INT64* ldv,
              const MKL_Complex16* t, const MKL_INT64* ldt, MKL_Complex16* c,
              const MKL_INT64* ldc, MKL_Complex16* work, MKL_INT64* info ) NOTHROW;
void zgemlqt_64( const char* side, const char* trans, const MKL_INT64* m,
              const MKL_INT64* n, const MKL_INT64* k, const MKL_INT64* mb,
              const MKL_Complex16* v, const MKL_INT64* ldv,
              const MKL_Complex16* t, const MKL_INT64* ldt, MKL_Complex16* c,
              const MKL_INT64* ldc, MKL_Complex16* work, MKL_INT64* info ) NOTHROW;

void ZGEQR_64( const MKL_INT64* m, const MKL_INT64* n, MKL_Complex16* a,
            const MKL_INT64* lda, MKL_Complex16* t, const MKL_INT64* tsize,
            MKL_Complex16* work, const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;
void zgeqr_64( const MKL_INT64* m, const MKL_INT64* n, MKL_Complex16* a,
            const MKL_INT64* lda, MKL_Complex16* t, const MKL_INT64* tsize,
            MKL_Complex16* work, const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;

void ZGETSLS_64( const char* trans, const MKL_INT64* m, const MKL_INT64* n,
              const MKL_INT64* nrhs, MKL_Complex16* a, const MKL_INT64* lda,
              MKL_Complex16* b, const MKL_INT64* ldb, MKL_Complex16* work,
              const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;
void zgetsls_64( const char* trans, const MKL_INT64* m, const MKL_INT64* n,
              const MKL_INT64* nrhs, MKL_Complex16* a, const MKL_INT64* lda,
              MKL_Complex16* b, const MKL_INT64* ldb, MKL_Complex16* work,
              const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;

void ZLAMSWLQ_64( const char* side, const char* trans, const MKL_INT64* m,
               const MKL_INT64* n, const MKL_INT64* k, const MKL_INT64* mb,
               const MKL_INT64* nb, MKL_Complex16* a, const MKL_INT64* lda,
               const MKL_Complex16* t, const MKL_INT64* ldt, MKL_Complex16* c,
               const MKL_INT64* ldc, MKL_Complex16* work, const MKL_INT64* lwork,
               MKL_INT64* info ) NOTHROW;
void zlamswlq_64( const char* side, const char* trans, const MKL_INT64* m,
               const MKL_INT64* n, const MKL_INT64* k, const MKL_INT64* mb,
               const MKL_INT64* nb, MKL_Complex16* a, const MKL_INT64* lda,
               const MKL_Complex16* t, const MKL_INT64* ldt, MKL_Complex16* c,
               const MKL_INT64* ldc, MKL_Complex16* work, const MKL_INT64* lwork,
               MKL_INT64* info ) NOTHROW;

void ZLAMTSQR_64( const char* side, const char* trans, const MKL_INT64* m,
               const MKL_INT64* n, const MKL_INT64* k, const MKL_INT64* mb,
               const MKL_INT64* nb, MKL_Complex16* a, const MKL_INT64* lda,
               const MKL_Complex16* t, const MKL_INT64* ldt, MKL_Complex16* c,
               const MKL_INT64* ldc, MKL_Complex16* work, const MKL_INT64* lwork,
               MKL_INT64* info ) NOTHROW;
void zlamtsqr_64( const char* side, const char* trans, const MKL_INT64* m,
               const MKL_INT64* n, const MKL_INT64* k, const MKL_INT64* mb,
               const MKL_INT64* nb, MKL_Complex16* a, const MKL_INT64* lda,
               const MKL_Complex16* t, const MKL_INT64* ldt, MKL_Complex16* c,
               const MKL_INT64* ldc, MKL_Complex16* work, const MKL_INT64* lwork,
               MKL_INT64* info ) NOTHROW;

void ZLASWLQ_64( const MKL_INT64* m, const MKL_INT64* n, const MKL_INT64* mb,
              const MKL_INT64* nb, MKL_Complex16* a, const MKL_INT64* lda,
              MKL_Complex16* t, const MKL_INT64* ldt, MKL_Complex16* work,
              const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;
void zlaswlq_64( const MKL_INT64* m, const MKL_INT64* n, const MKL_INT64* mb,
              const MKL_INT64* nb, MKL_Complex16* a, const MKL_INT64* lda,
              MKL_Complex16* t, const MKL_INT64* ldt, MKL_Complex16* work,
              const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;

void ZLATSQR_64( const MKL_INT64* m, const MKL_INT64* n, const MKL_INT64* mb,
              const MKL_INT64* nb, MKL_Complex16* a, const MKL_INT64* lda,
              MKL_Complex16* t, const MKL_INT64* ldt, MKL_Complex16* work,
              const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;
void zlatsqr_64( const MKL_INT64* m, const MKL_INT64* n, const MKL_INT64* mb,
              const MKL_INT64* nb, MKL_Complex16* a, const MKL_INT64* lda,
              MKL_Complex16* t, const MKL_INT64* ldt, MKL_Complex16* work,
              const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;

void ZTPLQT_64( const MKL_INT64* m, const MKL_INT64* n, const MKL_INT64* l,
             const MKL_INT64* mb, MKL_Complex16* a, const MKL_INT64* lda,
             MKL_Complex16* b, const MKL_INT64* ldb, MKL_Complex16* t,
             const MKL_INT64* ldt, MKL_Complex16* work, MKL_INT64* info ) NOTHROW;
void ztplqt_64( const MKL_INT64* m, const MKL_INT64* n, const MKL_INT64* l,
             const MKL_INT64* mb, MKL_Complex16* a, const MKL_INT64* lda,
             MKL_Complex16* b, const MKL_INT64* ldb, MKL_Complex16* t,
             const MKL_INT64* ldt, MKL_Complex16* work, MKL_INT64* info ) NOTHROW;

void ZTPLQT2_64( const MKL_INT64* m, const MKL_INT64* n, const MKL_INT64* l,
              MKL_Complex16* a, const MKL_INT64* lda, MKL_Complex16* b,
              const MKL_INT64* ldb, MKL_Complex16* t, const MKL_INT64* ldt,
              MKL_INT64* info ) NOTHROW;
void ztplqt2_64( const MKL_INT64* m, const MKL_INT64* n, const MKL_INT64* l,
              MKL_Complex16* a, const MKL_INT64* lda, MKL_Complex16* b,
              const MKL_INT64* ldb, MKL_Complex16* t, const MKL_INT64* ldt,
              MKL_INT64* info ) NOTHROW;

void ZTPMLQT_64( const char* side, const char* trans, const MKL_INT64* m,
              const MKL_INT64* n, const MKL_INT64* k, const MKL_INT64* l,
              const MKL_INT64* mb, const MKL_Complex16* v, const MKL_INT64* ldv,
              const MKL_Complex16* t, const MKL_INT64* ldt, MKL_Complex16* a,
              const MKL_INT64* lda, MKL_Complex16* b, const MKL_INT64* ldb,
              MKL_Complex16* work, MKL_INT64* info ) NOTHROW;
void ztpmlqt_64( const char* side, const char* trans, const MKL_INT64* m,
              const MKL_INT64* n, const MKL_INT64* k, const MKL_INT64* l,
              const MKL_INT64* mb, const MKL_Complex16* v, const MKL_INT64* ldv,
              const MKL_Complex16* t, const MKL_INT64* ldt, MKL_Complex16* a,
              const MKL_INT64* lda, MKL_Complex16* b, const MKL_INT64* ldb,
              MKL_Complex16* work, MKL_INT64* info ) NOTHROW;

void CHESV_AA_64( const char* uplo, const MKL_INT64* n, const MKL_INT64* nrhs,
               MKL_Complex8* a, const MKL_INT64* lda, MKL_INT64* ipiv,
               MKL_Complex8* b, const MKL_INT64* ldb, MKL_Complex8* work,
               const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;
void chesv_aa_64( const char* uplo, const MKL_INT64* n, const MKL_INT64* nrhs,
               MKL_Complex8* a, const MKL_INT64* lda, MKL_INT64* ipiv,
               MKL_Complex8* b, const MKL_INT64* ldb, MKL_Complex8* work,
               const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;

void CHETRF_AA_64( const char* uplo, const MKL_INT64* n, MKL_Complex8* a,
                const MKL_INT64* lda, MKL_INT64* ipiv, MKL_Complex8* work,
                const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;
void chetrf_aa_64( const char* uplo, const MKL_INT64* n, MKL_Complex8* a,
                const MKL_INT64* lda, MKL_INT64* ipiv, MKL_Complex8* work,
                const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;

void CHETRS_AA_64( const char* uplo, const MKL_INT64* n, const MKL_INT64* nrhs,
                const MKL_Complex8* a, const MKL_INT64* lda, const MKL_INT64* ipiv,
                MKL_Complex8* b, const MKL_INT64* ldb, MKL_Complex8* work,
                const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;
void chetrs_aa_64( const char* uplo, const MKL_INT64* n, const MKL_INT64* nrhs,
                const MKL_Complex8* a, const MKL_INT64* lda, const MKL_INT64* ipiv,
                MKL_Complex8* b, const MKL_INT64* ldb, MKL_Complex8* work,
                const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;

void CLAHEF_AA_64( const char* uplo, const MKL_INT64* j1, const MKL_INT64* m,
                const MKL_INT64* nb, MKL_Complex8* a, const MKL_INT64* lda,
                MKL_INT64* ipiv, MKL_Complex8* h, const MKL_INT64* ldh,
                MKL_Complex8* work, MKL_INT64* info ) NOTHROW;
void clahef_aa_64( const char* uplo, const MKL_INT64* j1, const MKL_INT64* m,
                const MKL_INT64* nb, MKL_Complex8* a, const MKL_INT64* lda,
                MKL_INT64* ipiv, MKL_Complex8* h, const MKL_INT64* ldh,
                MKL_Complex8* work, MKL_INT64* info ) NOTHROW;

void DLASYF_AA_64( const char* uplo, const MKL_INT64* j1, const MKL_INT64* m,
                const MKL_INT64* nb, double* a, const MKL_INT64* lda,
                MKL_INT64* ipiv, double* h, const MKL_INT64* ldh, double* work,
                MKL_INT64* info ) NOTHROW;
void dlasyf_aa_64( const char* uplo, const MKL_INT64* j1, const MKL_INT64* m,
                const MKL_INT64* nb, double* a, const MKL_INT64* lda,
                MKL_INT64* ipiv, double* h, const MKL_INT64* ldh, double* work,
                MKL_INT64* info ) NOTHROW;

void DSYSV_AA_64( const char* uplo, const MKL_INT64* n, const MKL_INT64* nrhs,
               double* a, const MKL_INT64* lda, MKL_INT64* ipiv, double* b,
               const MKL_INT64* ldb, double* work, const MKL_INT64* lwork,
               MKL_INT64* info ) NOTHROW;
void dsysv_aa_64( const char* uplo, const MKL_INT64* n, const MKL_INT64* nrhs,
               double* a, const MKL_INT64* lda, MKL_INT64* ipiv, double* b,
               const MKL_INT64* ldb, double* work, const MKL_INT64* lwork,
               MKL_INT64* info ) NOTHROW;

void DSYTRF_AA_64( const char* uplo, const MKL_INT64* n, double* a,
                const MKL_INT64* lda, MKL_INT64* ipiv, double* work,
                const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;
void dsytrf_aa_64( const char* uplo, const MKL_INT64* n, double* a,
                const MKL_INT64* lda, MKL_INT64* ipiv, double* work,
                const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;

void DSYTRS_AA_64( const char* uplo, const MKL_INT64* n, const MKL_INT64* nrhs,
                const double* a, const MKL_INT64* lda, const MKL_INT64* ipiv,
                double* b, const MKL_INT64* ldb, double* work,
                const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;
void dsytrs_aa_64( const char* uplo, const MKL_INT64* n, const MKL_INT64* nrhs,
                const double* a, const MKL_INT64* lda, const MKL_INT64* ipiv,
                double* b, const MKL_INT64* ldb, double* work,
                const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;

void SLASYF_AA_64( const char* uplo, const MKL_INT64* j1, const MKL_INT64* m,
                const MKL_INT64* nb, float* a, const MKL_INT64* lda, MKL_INT64* ipiv,
                float* h, const MKL_INT64* ldh, float* work, MKL_INT64* info ) NOTHROW;
void slasyf_aa_64( const char* uplo, const MKL_INT64* j1, const MKL_INT64* m,
                const MKL_INT64* nb, float* a, const MKL_INT64* lda, MKL_INT64* ipiv,
                float* h, const MKL_INT64* ldh, float* work, MKL_INT64* info ) NOTHROW;

void SSYSV_AA_64( const char* uplo, const MKL_INT64* n, const MKL_INT64* nrhs,
               float* a, const MKL_INT64* lda, MKL_INT64* ipiv, float* b,
               const MKL_INT64* ldb, float* work, const MKL_INT64* lwork,
               MKL_INT64* info ) NOTHROW;
void ssysv_aa_64( const char* uplo, const MKL_INT64* n, const MKL_INT64* nrhs,
               float* a, const MKL_INT64* lda, MKL_INT64* ipiv, float* b,
               const MKL_INT64* ldb, float* work, const MKL_INT64* lwork,
               MKL_INT64* info ) NOTHROW;

void SSYTRF_AA_64( const char* uplo, const MKL_INT64* n, float* a,
                const MKL_INT64* lda, MKL_INT64* ipiv, float* work,
                const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;
void ssytrf_aa_64( const char* uplo, const MKL_INT64* n, float* a,
                const MKL_INT64* lda, MKL_INT64* ipiv, float* work,
                const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;

void SSYTRS_AA_64( const char* uplo, const MKL_INT64* n, const MKL_INT64* nrhs,
                const float* a, const MKL_INT64* lda, const MKL_INT64* ipiv,
                float* b, const MKL_INT64* ldb, float* work,
                const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;
void ssytrs_aa_64( const char* uplo, const MKL_INT64* n, const MKL_INT64* nrhs,
                const float* a, const MKL_INT64* lda, const MKL_INT64* ipiv,
                float* b, const MKL_INT64* ldb, float* work,
                const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;

void ZHESV_AA_64( const char* uplo, const MKL_INT64* n, const MKL_INT64* nrhs,
               MKL_Complex16* a, const MKL_INT64* lda, MKL_INT64* ipiv,
               MKL_Complex16* b, const MKL_INT64* ldb, MKL_Complex16* work,
               const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;
void zhesv_aa_64( const char* uplo, const MKL_INT64* n, const MKL_INT64* nrhs,
               MKL_Complex16* a, const MKL_INT64* lda, MKL_INT64* ipiv,
               MKL_Complex16* b, const MKL_INT64* ldb, MKL_Complex16* work,
               const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;

void ZHETRF_AA_64( const char* uplo, const MKL_INT64* n, MKL_Complex16* a,
                const MKL_INT64* lda, MKL_INT64* ipiv, MKL_Complex16* work,
                const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;
void zhetrf_aa_64( const char* uplo, const MKL_INT64* n, MKL_Complex16* a,
                const MKL_INT64* lda, MKL_INT64* ipiv, MKL_Complex16* work,
                const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;

void ZHETRS_AA_64( const char* uplo, const MKL_INT64* n, const MKL_INT64* nrhs,
                const MKL_Complex16* a, const MKL_INT64* lda,
                const MKL_INT64* ipiv, MKL_Complex16* b, const MKL_INT64* ldb,
                MKL_Complex16* work, const MKL_INT64* lwork,
                MKL_INT64* info ) NOTHROW;
void zhetrs_aa_64( const char* uplo, const MKL_INT64* n, const MKL_INT64* nrhs,
                const MKL_Complex16* a, const MKL_INT64* lda,
                const MKL_INT64* ipiv, MKL_Complex16* b, const MKL_INT64* ldb,
                MKL_Complex16* work, const MKL_INT64* lwork,
                MKL_INT64* info ) NOTHROW;

void ZLAHEF_AA_64( const char* uplo, const MKL_INT64* j1, const MKL_INT64* m,
                const MKL_INT64* nb, MKL_Complex16* a, const MKL_INT64* lda,
                MKL_INT64* ipiv, MKL_Complex16* h, const MKL_INT64* ldh,
                MKL_Complex16* work, MKL_INT64* info ) NOTHROW;
void zlahef_aa_64( const char* uplo, const MKL_INT64* j1, const MKL_INT64* m,
                const MKL_INT64* nb, MKL_Complex16* a, const MKL_INT64* lda,
                MKL_INT64* ipiv, MKL_Complex16* h, const MKL_INT64* ldh,
                MKL_Complex16* work, MKL_INT64* info ) NOTHROW;

void CGEMQR_64( const char* side, const char* trans, const MKL_INT64* m,
             const MKL_INT64* n, const MKL_INT64* k, const MKL_Complex8* a,
             const MKL_INT64* lda, const MKL_Complex8* t,
             const MKL_INT64* tsize, MKL_Complex8* c, const MKL_INT64* ldc,
             MKL_Complex8* work, const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;
void cgemqr_64( const char* side, const char* trans, const MKL_INT64* m,
             const MKL_INT64* n, const MKL_INT64* k, const MKL_Complex8* a,
             const MKL_INT64* lda, const MKL_Complex8* t,
             const MKL_INT64* tsize, MKL_Complex8* c, const MKL_INT64* ldc,
             MKL_Complex8* work, const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;

void DGEMQR_64( const char* side, const char* trans, const MKL_INT64* m,
             const MKL_INT64* n, const MKL_INT64* k, const double* a,
             const MKL_INT64* lda, const double* t, const MKL_INT64* tsize,
             double* c, const MKL_INT64* ldc, double* work,
             const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;
void dgemqr_64( const char* side, const char* trans, const MKL_INT64* m,
             const MKL_INT64* n, const MKL_INT64* k, const double* a,
             const MKL_INT64* lda, const double* t, const MKL_INT64* tsize,
             double* c, const MKL_INT64* ldc, double* work,
             const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;

void SGEMQR_64( const char* side, const char* trans, const MKL_INT64* m,
             const MKL_INT64* n, const MKL_INT64* k, const float* a,
             const MKL_INT64* lda, const float* t, const MKL_INT64* tsize,
             float* c, const MKL_INT64* ldc, float* work, const MKL_INT64* lwork,
             MKL_INT64* info ) NOTHROW;
void sgemqr_64( const char* side, const char* trans, const MKL_INT64* m,
             const MKL_INT64* n, const MKL_INT64* k, const float* a,
             const MKL_INT64* lda, const float* t, const MKL_INT64* tsize,
             float* c, const MKL_INT64* ldc, float* work, const MKL_INT64* lwork,
             MKL_INT64* info ) NOTHROW;

void ZGEMQR_64( const char* side, const char* trans, const MKL_INT64* m,
             const MKL_INT64* n, const MKL_INT64* k, const MKL_Complex16* a,
             const MKL_INT64* lda, const MKL_Complex16* t,
             const MKL_INT64* tsize, MKL_Complex16* c, const MKL_INT64* ldc,
             MKL_Complex16* work, const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;
void zgemqr_64( const char* side, const char* trans, const MKL_INT64* m,
             const MKL_INT64* n, const MKL_INT64* k, const MKL_Complex16* a,
             const MKL_INT64* lda, const MKL_Complex16* t,
             const MKL_INT64* tsize, MKL_Complex16* c, const MKL_INT64* ldc,
             MKL_Complex16* work, const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;

void CHECON_3_64( const char* uplo, const MKL_INT64* n, const MKL_Complex8* a,
               const MKL_INT64* lda, const MKL_Complex8* e, const MKL_INT64* ipiv,
               const float* anorm, float* rcond, MKL_Complex8* work,
               MKL_INT64* info ) NOTHROW;
void checon_3_64( const char* uplo, const MKL_INT64* n, const MKL_Complex8* a,
               const MKL_INT64* lda, const MKL_Complex8* e, const MKL_INT64* ipiv,
               const float* anorm, float* rcond, MKL_Complex8* work,
               MKL_INT64* info ) NOTHROW;

void CHESV_RK_64( const char* uplo, const MKL_INT64* n, const MKL_INT64* nrhs,
               MKL_Complex8* a, const MKL_INT64* lda, MKL_Complex8* e,
               MKL_INT64* ipiv, MKL_Complex8* b, const MKL_INT64* ldb,
               MKL_Complex8* work, const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;
void chesv_rk_64( const char* uplo, const MKL_INT64* n, const MKL_INT64* nrhs,
               MKL_Complex8* a, const MKL_INT64* lda, MKL_Complex8* e,
               MKL_INT64* ipiv, MKL_Complex8* b, const MKL_INT64* ldb,
               MKL_Complex8* work, const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;

void CHETF2_RK_64( const char* uplo, const MKL_INT64* n, MKL_Complex8* a,
                const MKL_INT64* lda, MKL_Complex8* e, MKL_INT64* ipiv,
                MKL_INT64* info ) NOTHROW;
void chetf2_rk_64( const char* uplo, const MKL_INT64* n, MKL_Complex8* a,
                const MKL_INT64* lda, MKL_Complex8* e, MKL_INT64* ipiv,
                MKL_INT64* info ) NOTHROW;

void CHETRF_RK_64( const char* uplo, const MKL_INT64* n, MKL_Complex8* a,
                const MKL_INT64* lda, MKL_Complex8* e, MKL_INT64* ipiv,
                MKL_Complex8* work, const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;
void chetrf_rk_64( const char* uplo, const MKL_INT64* n, MKL_Complex8* a,
                const MKL_INT64* lda, MKL_Complex8* e, MKL_INT64* ipiv,
                MKL_Complex8* work, const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;

void CHETRI_3_64( const char* uplo, const MKL_INT64* n, MKL_Complex8* a,
               const MKL_INT64* lda, const MKL_Complex8* e, const MKL_INT64* ipiv,
               MKL_Complex8* work, const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;
void chetri_3_64( const char* uplo, const MKL_INT64* n, MKL_Complex8* a,
               const MKL_INT64* lda, const MKL_Complex8* e, const MKL_INT64* ipiv,
               MKL_Complex8* work, const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;

void CHETRI_3X_64( const char* uplo, const MKL_INT64* n, MKL_Complex8* a,
                const MKL_INT64* lda, const MKL_Complex8* e, const MKL_INT64* ipiv,
                MKL_Complex8* work, const MKL_INT64* nb, MKL_INT64* info ) NOTHROW;
void chetri_3x_64( const char* uplo, const MKL_INT64* n, MKL_Complex8* a,
                const MKL_INT64* lda, const MKL_Complex8* e, const MKL_INT64* ipiv,
                MKL_Complex8* work, const MKL_INT64* nb, MKL_INT64* info ) NOTHROW;

void CHETRS_3_64( const char* uplo, const MKL_INT64* n, const MKL_INT64* nrhs,
               const MKL_Complex8* a, const MKL_INT64* lda,
               const MKL_Complex8* e, const MKL_INT64* ipiv, MKL_Complex8* b,
               const MKL_INT64* ldb, MKL_INT64* info ) NOTHROW;
void chetrs_3_64( const char* uplo, const MKL_INT64* n, const MKL_INT64* nrhs,
               const MKL_Complex8* a, const MKL_INT64* lda,
               const MKL_Complex8* e, const MKL_INT64* ipiv, MKL_Complex8* b,
               const MKL_INT64* ldb, MKL_INT64* info ) NOTHROW;

void CLAHEF_RK_64( const char* uplo, const MKL_INT64* n, const MKL_INT64* nb,
                MKL_INT64* kb, MKL_Complex8* a, const MKL_INT64* lda,
                MKL_Complex8* e, MKL_INT64* ipiv, MKL_Complex8* w,
                const MKL_INT64* ldw, MKL_INT64* info ) NOTHROW;
void clahef_rk_64( const char* uplo, const MKL_INT64* n, const MKL_INT64* nb,
                MKL_INT64* kb, MKL_Complex8* a, const MKL_INT64* lda,
                MKL_Complex8* e, MKL_INT64* ipiv, MKL_Complex8* w,
                const MKL_INT64* ldw, MKL_INT64* info ) NOTHROW;

void CLARFY_64( const char* uplo, const MKL_INT64* n, const MKL_Complex8* v,
             const MKL_INT64* incv, const MKL_Complex8* tau, MKL_Complex8* c,
             const MKL_INT64* ldc, MKL_Complex8* work ) NOTHROW;
void clarfy_64( const char* uplo, const MKL_INT64* n, const MKL_Complex8* v,
             const MKL_INT64* incv, const MKL_Complex8* tau, MKL_Complex8* c,
             const MKL_INT64* ldc, MKL_Complex8* work ) NOTHROW;

void CLASYF_AA_64( const char* uplo, const MKL_INT64* j1, const MKL_INT64* m,
                const MKL_INT64* nb, MKL_Complex8* a, const MKL_INT64* lda,
                MKL_INT64* ipiv, MKL_Complex8* h, const MKL_INT64* ldh,
                MKL_Complex8* work, MKL_INT64* info ) NOTHROW;
void clasyf_aa_64( const char* uplo, const MKL_INT64* j1, const MKL_INT64* m,
                const MKL_INT64* nb, MKL_Complex8* a, const MKL_INT64* lda,
                MKL_INT64* ipiv, MKL_Complex8* h, const MKL_INT64* ldh,
                MKL_Complex8* work, MKL_INT64* info ) NOTHROW;

void CLASYF_RK_64( const char* uplo, const MKL_INT64* n, const MKL_INT64* nb,
                MKL_INT64* kb, MKL_Complex8* a, const MKL_INT64* lda,
                MKL_Complex8* e, MKL_INT64* ipiv, MKL_Complex8* w,
                const MKL_INT64* ldw, MKL_INT64* info ) NOTHROW;
void clasyf_rk_64( const char* uplo, const MKL_INT64* n, const MKL_INT64* nb,
                MKL_INT64* kb, MKL_Complex8* a, const MKL_INT64* lda,
                MKL_Complex8* e, MKL_INT64* ipiv, MKL_Complex8* w,
                const MKL_INT64* ldw, MKL_INT64* info ) NOTHROW;

void CSYCON_3_64( const char* uplo, const MKL_INT64* n, const MKL_Complex8* a,
               const MKL_INT64* lda, const MKL_Complex8* e, const MKL_INT64* ipiv,
               const float* anorm, float* rcond, MKL_Complex8* work,
               MKL_INT64* info ) NOTHROW;
void csycon_3_64( const char* uplo, const MKL_INT64* n, const MKL_Complex8* a,
               const MKL_INT64* lda, const MKL_Complex8* e, const MKL_INT64* ipiv,
               const float* anorm, float* rcond, MKL_Complex8* work,
               MKL_INT64* info ) NOTHROW;

void CSYCONVF_64( const char* uplo, const char* way, const MKL_INT64* n,
               MKL_Complex8* a, const MKL_INT64* lda, MKL_Complex8* e,
               MKL_INT64* ipiv, MKL_INT64* info ) NOTHROW;
void csyconvf_64( const char* uplo, const char* way, const MKL_INT64* n,
               MKL_Complex8* a, const MKL_INT64* lda, MKL_Complex8* e,
               MKL_INT64* ipiv, MKL_INT64* info ) NOTHROW;

void CSYCONVF_ROOK_64( const char* uplo, const char* way, const MKL_INT64* n,
                    MKL_Complex8* a, const MKL_INT64* lda, MKL_Complex8* e,
                    const MKL_INT64* ipiv, MKL_INT64* info ) NOTHROW;
void csyconvf_rook_64( const char* uplo, const char* way, const MKL_INT64* n,
                    MKL_Complex8* a, const MKL_INT64* lda, MKL_Complex8* e,
                    const MKL_INT64* ipiv, MKL_INT64* info ) NOTHROW;

void CSYSV_AA_64( const char* uplo, const MKL_INT64* n, const MKL_INT64* nrhs,
               MKL_Complex8* a, const MKL_INT64* lda, MKL_INT64* ipiv,
               MKL_Complex8* b, const MKL_INT64* ldb, MKL_Complex8* work,
               const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;
void csysv_aa_64( const char* uplo, const MKL_INT64* n, const MKL_INT64* nrhs,
               MKL_Complex8* a, const MKL_INT64* lda, MKL_INT64* ipiv,
               MKL_Complex8* b, const MKL_INT64* ldb, MKL_Complex8* work,
               const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;

void CSYSV_RK_64( const char* uplo, const MKL_INT64* n, const MKL_INT64* nrhs,
               MKL_Complex8* a, const MKL_INT64* lda, MKL_Complex8* e,
               MKL_INT64* ipiv, MKL_Complex8* b, const MKL_INT64* ldb,
               MKL_Complex8* work, const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;
void csysv_rk_64( const char* uplo, const MKL_INT64* n, const MKL_INT64* nrhs,
               MKL_Complex8* a, const MKL_INT64* lda, MKL_Complex8* e,
               MKL_INT64* ipiv, MKL_Complex8* b, const MKL_INT64* ldb,
               MKL_Complex8* work, const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;

void CSYTF2_RK_64( const char* uplo, const MKL_INT64* n, MKL_Complex8* a,
                const MKL_INT64* lda, MKL_Complex8* e, MKL_INT64* ipiv,
                MKL_INT64* info ) NOTHROW;
void csytf2_rk_64( const char* uplo, const MKL_INT64* n, MKL_Complex8* a,
                const MKL_INT64* lda, MKL_Complex8* e, MKL_INT64* ipiv,
                MKL_INT64* info ) NOTHROW;

void CSYTRF_AA_64( const char* uplo, const MKL_INT64* n, MKL_Complex8* a,
                const MKL_INT64* lda, MKL_INT64* ipiv, MKL_Complex8* work,
                const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;
void csytrf_aa_64( const char* uplo, const MKL_INT64* n, MKL_Complex8* a,
                const MKL_INT64* lda, MKL_INT64* ipiv, MKL_Complex8* work,
                const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;

void CSYTRF_RK_64( const char* uplo, const MKL_INT64* n, MKL_Complex8* a,
                const MKL_INT64* lda, MKL_Complex8* e, MKL_INT64* ipiv,
                MKL_Complex8* work, const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;
void csytrf_rk_64( const char* uplo, const MKL_INT64* n, MKL_Complex8* a,
                const MKL_INT64* lda, MKL_Complex8* e, MKL_INT64* ipiv,
                MKL_Complex8* work, const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;

void CSYTRI_3_64( const char* uplo, const MKL_INT64* n, MKL_Complex8* a,
               const MKL_INT64* lda, const MKL_Complex8* e, const MKL_INT64* ipiv,
               MKL_Complex8* work, const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;
void csytri_3_64( const char* uplo, const MKL_INT64* n, MKL_Complex8* a,
               const MKL_INT64* lda, const MKL_Complex8* e, const MKL_INT64* ipiv,
               MKL_Complex8* work, const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;

void CSYTRI_3X_64( const char* uplo, const MKL_INT64* n, MKL_Complex8* a,
                const MKL_INT64* lda, const MKL_Complex8* e, const MKL_INT64* ipiv,
                MKL_Complex8* work, const MKL_INT64* nb, MKL_INT64* info ) NOTHROW;
void csytri_3x_64( const char* uplo, const MKL_INT64* n, MKL_Complex8* a,
                const MKL_INT64* lda, const MKL_Complex8* e, const MKL_INT64* ipiv,
                MKL_Complex8* work, const MKL_INT64* nb, MKL_INT64* info ) NOTHROW;

void CSYTRS_3_64( const char* uplo, const MKL_INT64* n, const MKL_INT64* nrhs,
               const MKL_Complex8* a, const MKL_INT64* lda,
               const MKL_Complex8* e, const MKL_INT64* ipiv, MKL_Complex8* b,
               const MKL_INT64* ldb, MKL_INT64* info ) NOTHROW;
void csytrs_3_64( const char* uplo, const MKL_INT64* n, const MKL_INT64* nrhs,
               const MKL_Complex8* a, const MKL_INT64* lda,
               const MKL_Complex8* e, const MKL_INT64* ipiv, MKL_Complex8* b,
               const MKL_INT64* ldb, MKL_INT64* info ) NOTHROW;

void CSYTRS_AA_64( const char* uplo, const MKL_INT64* n, const MKL_INT64* nrhs,
                const MKL_Complex8* a, const MKL_INT64* lda, const MKL_INT64* ipiv,
                MKL_Complex8* b, const MKL_INT64* ldb, MKL_Complex8* work,
                const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;
void csytrs_aa_64( const char* uplo, const MKL_INT64* n, const MKL_INT64* nrhs,
                const MKL_Complex8* a, const MKL_INT64* lda, const MKL_INT64* ipiv,
                MKL_Complex8* b, const MKL_INT64* ldb, MKL_Complex8* work,
                const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;

void DLARFY_64( const char* uplo, const MKL_INT64* n, const double* v,
             const MKL_INT64* incv, const double* tau, double* c,
             const MKL_INT64* ldc, double* work ) NOTHROW;
void dlarfy_64( const char* uplo, const MKL_INT64* n, const double* v,
             const MKL_INT64* incv, const double* tau, double* c,
             const MKL_INT64* ldc, double* work ) NOTHROW;

void DLASYF_RK_64( const char* uplo, const MKL_INT64* n, const MKL_INT64* nb,
                MKL_INT64* kb, double* a, const MKL_INT64* lda, double* e,
                MKL_INT64* ipiv, double* w, const MKL_INT64* ldw, MKL_INT64* info ) NOTHROW;
void dlasyf_rk_64( const char* uplo, const MKL_INT64* n, const MKL_INT64* nb,
                MKL_INT64* kb, double* a, const MKL_INT64* lda, double* e,
                MKL_INT64* ipiv, double* w, const MKL_INT64* ldw, MKL_INT64* info ) NOTHROW;

void DSYCON_3_64( const char* uplo, const MKL_INT64* n, const double* a,
               const MKL_INT64* lda, const double* e, const MKL_INT64* ipiv,
               const double* anorm, double* rcond, double* work,
               MKL_INT64* iwork, MKL_INT64* info ) NOTHROW;
void dsycon_3_64( const char* uplo, const MKL_INT64* n, const double* a,
               const MKL_INT64* lda, const double* e, const MKL_INT64* ipiv,
               const double* anorm, double* rcond, double* work,
               MKL_INT64* iwork, MKL_INT64* info ) NOTHROW;

void DSYCONVF_64( const char* uplo, const char* way, const MKL_INT64* n, double* a,
               const MKL_INT64* lda, double* e, MKL_INT64* ipiv, MKL_INT64* info ) NOTHROW;
void dsyconvf_64( const char* uplo, const char* way, const MKL_INT64* n, double* a,
               const MKL_INT64* lda, double* e, MKL_INT64* ipiv, MKL_INT64* info ) NOTHROW;

void DSYCONVF_ROOK_64( const char* uplo, const char* way, const MKL_INT64* n,
                    double* a, const MKL_INT64* lda, double* e,
                    const MKL_INT64* ipiv, MKL_INT64* info ) NOTHROW;
void dsyconvf_rook_64( const char* uplo, const char* way, const MKL_INT64* n,
                    double* a, const MKL_INT64* lda, double* e,
                    const MKL_INT64* ipiv, MKL_INT64* info ) NOTHROW;

void DSYSV_RK_64( const char* uplo, const MKL_INT64* n, const MKL_INT64* nrhs,
               double* a, const MKL_INT64* lda, double* e, MKL_INT64* ipiv,
               double* b, const MKL_INT64* ldb, double* work,
               const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;
void dsysv_rk_64( const char* uplo, const MKL_INT64* n, const MKL_INT64* nrhs,
               double* a, const MKL_INT64* lda, double* e, MKL_INT64* ipiv,
               double* b, const MKL_INT64* ldb, double* work,
               const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;

void DSYTF2_RK_64( const char* uplo, const MKL_INT64* n, double* a,
                const MKL_INT64* lda, double* e, MKL_INT64* ipiv, MKL_INT64* info ) NOTHROW;
void dsytf2_rk_64( const char* uplo, const MKL_INT64* n, double* a,
                const MKL_INT64* lda, double* e, MKL_INT64* ipiv, MKL_INT64* info ) NOTHROW;

void DSYTRF_RK_64( const char* uplo, const MKL_INT64* n, double* a,
                const MKL_INT64* lda, double* e, MKL_INT64* ipiv, double* work,
                const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;
void dsytrf_rk_64( const char* uplo, const MKL_INT64* n, double* a,
                const MKL_INT64* lda, double* e, MKL_INT64* ipiv, double* work,
                const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;

void DSYTRI_3_64( const char* uplo, const MKL_INT64* n, double* a,
               const MKL_INT64* lda, const double* e, const MKL_INT64* ipiv,
               double* work, const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;
void dsytri_3_64( const char* uplo, const MKL_INT64* n, double* a,
               const MKL_INT64* lda, const double* e, const MKL_INT64* ipiv,
               double* work, const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;

void DSYTRI_3X_64( const char* uplo, const MKL_INT64* n, double* a,
                const MKL_INT64* lda, const double* e, const MKL_INT64* ipiv,
                double* work, const MKL_INT64* nb, MKL_INT64* info ) NOTHROW;
void dsytri_3x_64( const char* uplo, const MKL_INT64* n, double* a,
                const MKL_INT64* lda, const double* e, const MKL_INT64* ipiv,
                double* work, const MKL_INT64* nb, MKL_INT64* info ) NOTHROW;

void DSYTRS_3_64( const char* uplo, const MKL_INT64* n, const MKL_INT64* nrhs,
               const double* a, const MKL_INT64* lda, const double* e,
               const MKL_INT64* ipiv, double* b, const MKL_INT64* ldb,
               MKL_INT64* info ) NOTHROW;
void dsytrs_3_64( const char* uplo, const MKL_INT64* n, const MKL_INT64* nrhs,
               const double* a, const MKL_INT64* lda, const double* e,
               const MKL_INT64* ipiv, double* b, const MKL_INT64* ldb,
               MKL_INT64* info ) NOTHROW;

void SLARFY_64( const char* uplo, const MKL_INT64* n, const float* v,
             const MKL_INT64* incv, const float* tau, float* c,
             const MKL_INT64* ldc, float* work ) NOTHROW;
void slarfy_64( const char* uplo, const MKL_INT64* n, const float* v,
             const MKL_INT64* incv, const float* tau, float* c,
             const MKL_INT64* ldc, float* work ) NOTHROW;

void SLASYF_RK_64( const char* uplo, const MKL_INT64* n, const MKL_INT64* nb,
                MKL_INT64* kb, float* a, const MKL_INT64* lda, float* e,
                MKL_INT64* ipiv, float* w, const MKL_INT64* ldw, MKL_INT64* info ) NOTHROW;
void slasyf_rk_64( const char* uplo, const MKL_INT64* n, const MKL_INT64* nb,
                MKL_INT64* kb, float* a, const MKL_INT64* lda, float* e,
                MKL_INT64* ipiv, float* w, const MKL_INT64* ldw, MKL_INT64* info ) NOTHROW;

void SSYCON_3_64( const char* uplo, const MKL_INT64* n, const float* a,
               const MKL_INT64* lda, const float* e, const MKL_INT64* ipiv,
               const float* anorm, float* rcond, float* work, MKL_INT64* iwork,
               MKL_INT64* info ) NOTHROW;
void ssycon_3_64( const char* uplo, const MKL_INT64* n, const float* a,
               const MKL_INT64* lda, const float* e, const MKL_INT64* ipiv,
               const float* anorm, float* rcond, float* work, MKL_INT64* iwork,
               MKL_INT64* info ) NOTHROW;

void SSYCONVF_64( const char* uplo, const char* way, const MKL_INT64* n, float* a,
               const MKL_INT64* lda, float* e, MKL_INT64* ipiv, MKL_INT64* info ) NOTHROW;
void ssyconvf_64( const char* uplo, const char* way, const MKL_INT64* n, float* a,
               const MKL_INT64* lda, float* e, MKL_INT64* ipiv, MKL_INT64* info ) NOTHROW;

void SSYCONVF_ROOK_64( const char* uplo, const char* way, const MKL_INT64* n,
                    float* a, const MKL_INT64* lda, float* e,
                    const MKL_INT64* ipiv, MKL_INT64* info ) NOTHROW;
void ssyconvf_rook_64( const char* uplo, const char* way, const MKL_INT64* n,
                    float* a, const MKL_INT64* lda, float* e,
                    const MKL_INT64* ipiv, MKL_INT64* info ) NOTHROW;

void SSYSV_RK_64( const char* uplo, const MKL_INT64* n, const MKL_INT64* nrhs,
               float* a, const MKL_INT64* lda, float* e, MKL_INT64* ipiv, float* b,
               const MKL_INT64* ldb, float* work, const MKL_INT64* lwork,
               MKL_INT64* info ) NOTHROW;
void ssysv_rk_64( const char* uplo, const MKL_INT64* n, const MKL_INT64* nrhs,
               float* a, const MKL_INT64* lda, float* e, MKL_INT64* ipiv, float* b,
               const MKL_INT64* ldb, float* work, const MKL_INT64* lwork,
               MKL_INT64* info ) NOTHROW;

void SSYTF2_RK_64( const char* uplo, const MKL_INT64* n, float* a,
                const MKL_INT64* lda, float* e, MKL_INT64* ipiv, MKL_INT64* info ) NOTHROW;
void ssytf2_rk_64( const char* uplo, const MKL_INT64* n, float* a,
                const MKL_INT64* lda, float* e, MKL_INT64* ipiv, MKL_INT64* info ) NOTHROW;

void SSYTRF_RK_64( const char* uplo, const MKL_INT64* n, float* a,
                const MKL_INT64* lda, float* e, MKL_INT64* ipiv, float* work,
                const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;
void ssytrf_rk_64( const char* uplo, const MKL_INT64* n, float* a,
                const MKL_INT64* lda, float* e, MKL_INT64* ipiv, float* work,
                const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;

void SSYTRI_3_64( const char* uplo, const MKL_INT64* n, float* a,
               const MKL_INT64* lda, const float* e, const MKL_INT64* ipiv,
               float* work, const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;
void ssytri_3_64( const char* uplo, const MKL_INT64* n, float* a,
               const MKL_INT64* lda, const float* e, const MKL_INT64* ipiv,
               float* work, const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;

void SSYTRI_3X_64( const char* uplo, const MKL_INT64* n, float* a,
                const MKL_INT64* lda, const float* e, const MKL_INT64* ipiv,
                float* work, const MKL_INT64* nb, MKL_INT64* info ) NOTHROW;
void ssytri_3x_64( const char* uplo, const MKL_INT64* n, float* a,
                const MKL_INT64* lda, const float* e, const MKL_INT64* ipiv,
                float* work, const MKL_INT64* nb, MKL_INT64* info ) NOTHROW;

void SSYTRS_3_64( const char* uplo, const MKL_INT64* n, const MKL_INT64* nrhs,
               const float* a, const MKL_INT64* lda, const float* e,
               const MKL_INT64* ipiv, float* b, const MKL_INT64* ldb,
               MKL_INT64* info ) NOTHROW;
void ssytrs_3_64( const char* uplo, const MKL_INT64* n, const MKL_INT64* nrhs,
               const float* a, const MKL_INT64* lda, const float* e,
               const MKL_INT64* ipiv, float* b, const MKL_INT64* ldb,
               MKL_INT64* info ) NOTHROW;

void ZHECON_3_64( const char* uplo, const MKL_INT64* n, const MKL_Complex16* a,
               const MKL_INT64* lda, const MKL_Complex16* e, const MKL_INT64* ipiv,
               const double* anorm, double* rcond, MKL_Complex16* work,
               MKL_INT64* info ) NOTHROW;
void zhecon_3_64( const char* uplo, const MKL_INT64* n, const MKL_Complex16* a,
               const MKL_INT64* lda, const MKL_Complex16* e, const MKL_INT64* ipiv,
               const double* anorm, double* rcond, MKL_Complex16* work,
               MKL_INT64* info ) NOTHROW;

void ZHESV_RK_64( const char* uplo, const MKL_INT64* n, const MKL_INT64* nrhs,
               MKL_Complex16* a, const MKL_INT64* lda, MKL_Complex16* e,
               MKL_INT64* ipiv, MKL_Complex16* b, const MKL_INT64* ldb,
               MKL_Complex16* work, const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;
void zhesv_rk_64( const char* uplo, const MKL_INT64* n, const MKL_INT64* nrhs,
               MKL_Complex16* a, const MKL_INT64* lda, MKL_Complex16* e,
               MKL_INT64* ipiv, MKL_Complex16* b, const MKL_INT64* ldb,
               MKL_Complex16* work, const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;

void ZHETF2_RK_64( const char* uplo, const MKL_INT64* n, MKL_Complex16* a,
                const MKL_INT64* lda, MKL_Complex16* e, MKL_INT64* ipiv,
                MKL_INT64* info ) NOTHROW;
void zhetf2_rk_64( const char* uplo, const MKL_INT64* n, MKL_Complex16* a,
                const MKL_INT64* lda, MKL_Complex16* e, MKL_INT64* ipiv,
                MKL_INT64* info ) NOTHROW;

void ZHETRF_RK_64( const char* uplo, const MKL_INT64* n, MKL_Complex16* a,
                const MKL_INT64* lda, MKL_Complex16* e, MKL_INT64* ipiv,
                MKL_Complex16* work, const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;
void zhetrf_rk_64( const char* uplo, const MKL_INT64* n, MKL_Complex16* a,
                const MKL_INT64* lda, MKL_Complex16* e, MKL_INT64* ipiv,
                MKL_Complex16* work, const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;

void ZHETRI_3_64( const char* uplo, const MKL_INT64* n, MKL_Complex16* a,
               const MKL_INT64* lda, const MKL_Complex16* e, const MKL_INT64* ipiv,
               MKL_Complex16* work, const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;
void zhetri_3_64( const char* uplo, const MKL_INT64* n, MKL_Complex16* a,
               const MKL_INT64* lda, const MKL_Complex16* e, const MKL_INT64* ipiv,
               MKL_Complex16* work, const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;

void ZHETRI_3X_64( const char* uplo, const MKL_INT64* n, MKL_Complex16* a,
                const MKL_INT64* lda, const MKL_Complex16* e,
                const MKL_INT64* ipiv, MKL_Complex16* work, const MKL_INT64* nb,
                MKL_INT64* info ) NOTHROW;
void zhetri_3x_64( const char* uplo, const MKL_INT64* n, MKL_Complex16* a,
                const MKL_INT64* lda, const MKL_Complex16* e,
                const MKL_INT64* ipiv, MKL_Complex16* work, const MKL_INT64* nb,
                MKL_INT64* info ) NOTHROW;

void ZHETRS_3_64( const char* uplo, const MKL_INT64* n, const MKL_INT64* nrhs,
               const MKL_Complex16* a, const MKL_INT64* lda,
               const MKL_Complex16* e, const MKL_INT64* ipiv, MKL_Complex16* b,
               const MKL_INT64* ldb, MKL_INT64* info ) NOTHROW;
void zhetrs_3_64( const char* uplo, const MKL_INT64* n, const MKL_INT64* nrhs,
               const MKL_Complex16* a, const MKL_INT64* lda,
               const MKL_Complex16* e, const MKL_INT64* ipiv, MKL_Complex16* b,
               const MKL_INT64* ldb, MKL_INT64* info ) NOTHROW;

void ZLAHEF_RK_64( const char* uplo, const MKL_INT64* n, const MKL_INT64* nb,
                MKL_INT64* kb, MKL_Complex16* a, const MKL_INT64* lda,
                MKL_Complex16* e, MKL_INT64* ipiv, MKL_Complex16* w,
                const MKL_INT64* ldw, MKL_INT64* info ) NOTHROW;
void zlahef_rk_64( const char* uplo, const MKL_INT64* n, const MKL_INT64* nb,
                MKL_INT64* kb, MKL_Complex16* a, const MKL_INT64* lda,
                MKL_Complex16* e, MKL_INT64* ipiv, MKL_Complex16* w,
                const MKL_INT64* ldw, MKL_INT64* info ) NOTHROW;

void ZLARFY_64( const char* uplo, const MKL_INT64* n, const MKL_Complex16* v,
             const MKL_INT64* incv, const MKL_Complex16* tau, MKL_Complex16* c,
             const MKL_INT64* ldc, MKL_Complex16* work ) NOTHROW;
void zlarfy_64( const char* uplo, const MKL_INT64* n, const MKL_Complex16* v,
             const MKL_INT64* incv, const MKL_Complex16* tau, MKL_Complex16* c,
             const MKL_INT64* ldc, MKL_Complex16* work ) NOTHROW;

void ZLASYF_AA_64( const char* uplo, const MKL_INT64* j1, const MKL_INT64* m,
                const MKL_INT64* nb, MKL_Complex16* a, const MKL_INT64* lda,
                MKL_INT64* ipiv, MKL_Complex16* h, const MKL_INT64* ldh,
                MKL_Complex16* work, MKL_INT64* info ) NOTHROW;
void zlasyf_aa_64( const char* uplo, const MKL_INT64* j1, const MKL_INT64* m,
                const MKL_INT64* nb, MKL_Complex16* a, const MKL_INT64* lda,
                MKL_INT64* ipiv, MKL_Complex16* h, const MKL_INT64* ldh,
                MKL_Complex16* work, MKL_INT64* info ) NOTHROW;

void ZLASYF_RK_64( const char* uplo, const MKL_INT64* n, const MKL_INT64* nb,
                MKL_INT64* kb, MKL_Complex16* a, const MKL_INT64* lda,
                MKL_Complex16* e, MKL_INT64* ipiv, MKL_Complex16* w,
                const MKL_INT64* ldw, MKL_INT64* info ) NOTHROW;
void zlasyf_rk_64( const char* uplo, const MKL_INT64* n, const MKL_INT64* nb,
                MKL_INT64* kb, MKL_Complex16* a, const MKL_INT64* lda,
                MKL_Complex16* e, MKL_INT64* ipiv, MKL_Complex16* w,
                const MKL_INT64* ldw, MKL_INT64* info ) NOTHROW;

void ZSYCON_3_64( const char* uplo, const MKL_INT64* n, const MKL_Complex16* a,
               const MKL_INT64* lda, const MKL_Complex16* e, const MKL_INT64* ipiv,
               const double* anorm, double* rcond, MKL_Complex16* work,
               MKL_INT64* info ) NOTHROW;
void zsycon_3_64( const char* uplo, const MKL_INT64* n, const MKL_Complex16* a,
               const MKL_INT64* lda, const MKL_Complex16* e, const MKL_INT64* ipiv,
               const double* anorm, double* rcond, MKL_Complex16* work,
               MKL_INT64* info ) NOTHROW;

void ZSYCONVF_64( const char* uplo, const char* way, const MKL_INT64* n,
               MKL_Complex16* a, const MKL_INT64* lda, MKL_Complex16* e,
               MKL_INT64* ipiv, MKL_INT64* info ) NOTHROW;
void zsyconvf_64( const char* uplo, const char* way, const MKL_INT64* n,
               MKL_Complex16* a, const MKL_INT64* lda, MKL_Complex16* e,
               MKL_INT64* ipiv, MKL_INT64* info ) NOTHROW;

void ZSYCONVF_ROOK_64( const char* uplo, const char* way, const MKL_INT64* n,
                    MKL_Complex16* a, const MKL_INT64* lda, MKL_Complex16* e,
                    const MKL_INT64* ipiv, MKL_INT64* info ) NOTHROW;
void zsyconvf_rook_64( const char* uplo, const char* way, const MKL_INT64* n,
                    MKL_Complex16* a, const MKL_INT64* lda, MKL_Complex16* e,
                    const MKL_INT64* ipiv, MKL_INT64* info ) NOTHROW;

void ZSYSV_AA_64( const char* uplo, const MKL_INT64* n, const MKL_INT64* nrhs,
               MKL_Complex16* a, const MKL_INT64* lda, MKL_INT64* ipiv,
               MKL_Complex16* b, const MKL_INT64* ldb, MKL_Complex16* work,
               const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;
void zsysv_aa_64( const char* uplo, const MKL_INT64* n, const MKL_INT64* nrhs,
               MKL_Complex16* a, const MKL_INT64* lda, MKL_INT64* ipiv,
               MKL_Complex16* b, const MKL_INT64* ldb, MKL_Complex16* work,
               const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;

void ZSYSV_RK_64( const char* uplo, const MKL_INT64* n, const MKL_INT64* nrhs,
               MKL_Complex16* a, const MKL_INT64* lda, MKL_Complex16* e,
               MKL_INT64* ipiv, MKL_Complex16* b, const MKL_INT64* ldb,
               MKL_Complex16* work, const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;
void zsysv_rk_64( const char* uplo, const MKL_INT64* n, const MKL_INT64* nrhs,
               MKL_Complex16* a, const MKL_INT64* lda, MKL_Complex16* e,
               MKL_INT64* ipiv, MKL_Complex16* b, const MKL_INT64* ldb,
               MKL_Complex16* work, const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;

void ZSYTF2_RK_64( const char* uplo, const MKL_INT64* n, MKL_Complex16* a,
                const MKL_INT64* lda, MKL_Complex16* e, MKL_INT64* ipiv,
                MKL_INT64* info ) NOTHROW;
void zsytf2_rk_64( const char* uplo, const MKL_INT64* n, MKL_Complex16* a,
                const MKL_INT64* lda, MKL_Complex16* e, MKL_INT64* ipiv,
                MKL_INT64* info ) NOTHROW;

void ZSYTRF_AA_64( const char* uplo, const MKL_INT64* n, MKL_Complex16* a,
                const MKL_INT64* lda, MKL_INT64* ipiv, MKL_Complex16* work,
                const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;
void zsytrf_aa_64( const char* uplo, const MKL_INT64* n, MKL_Complex16* a,
                const MKL_INT64* lda, MKL_INT64* ipiv, MKL_Complex16* work,
                const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;

void ZSYTRF_RK_64( const char* uplo, const MKL_INT64* n, MKL_Complex16* a,
                const MKL_INT64* lda, MKL_Complex16* e, MKL_INT64* ipiv,
                MKL_Complex16* work, const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;
void zsytrf_rk_64( const char* uplo, const MKL_INT64* n, MKL_Complex16* a,
                const MKL_INT64* lda, MKL_Complex16* e, MKL_INT64* ipiv,
                MKL_Complex16* work, const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;

void ZSYTRI_3_64( const char* uplo, const MKL_INT64* n, MKL_Complex16* a,
               const MKL_INT64* lda, const MKL_Complex16* e, const MKL_INT64* ipiv,
               MKL_Complex16* work, const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;
void zsytri_3_64( const char* uplo, const MKL_INT64* n, MKL_Complex16* a,
               const MKL_INT64* lda, const MKL_Complex16* e, const MKL_INT64* ipiv,
               MKL_Complex16* work, const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;

void ZSYTRI_3X_64( const char* uplo, const MKL_INT64* n, MKL_Complex16* a,
                const MKL_INT64* lda, const MKL_Complex16* e,
                const MKL_INT64* ipiv, MKL_Complex16* work, const MKL_INT64* nb,
                MKL_INT64* info ) NOTHROW;
void zsytri_3x_64( const char* uplo, const MKL_INT64* n, MKL_Complex16* a,
                const MKL_INT64* lda, const MKL_Complex16* e,
                const MKL_INT64* ipiv, MKL_Complex16* work, const MKL_INT64* nb,
                MKL_INT64* info ) NOTHROW;

void ZSYTRS_3_64( const char* uplo, const MKL_INT64* n, const MKL_INT64* nrhs,
               const MKL_Complex16* a, const MKL_INT64* lda,
               const MKL_Complex16* e, const MKL_INT64* ipiv, MKL_Complex16* b,
               const MKL_INT64* ldb, MKL_INT64* info ) NOTHROW;
void zsytrs_3_64( const char* uplo, const MKL_INT64* n, const MKL_INT64* nrhs,
               const MKL_Complex16* a, const MKL_INT64* lda,
               const MKL_Complex16* e, const MKL_INT64* ipiv, MKL_Complex16* b,
               const MKL_INT64* ldb, MKL_INT64* info ) NOTHROW;

void ZSYTRS_AA_64( const char* uplo, const MKL_INT64* n, const MKL_INT64* nrhs,
                const MKL_Complex16* a, const MKL_INT64* lda,
                const MKL_INT64* ipiv, MKL_Complex16* b, const MKL_INT64* ldb,
                MKL_Complex16* work, const MKL_INT64* lwork,
                MKL_INT64* info ) NOTHROW;
void zsytrs_aa_64( const char* uplo, const MKL_INT64* n, const MKL_INT64* nrhs,
                const MKL_Complex16* a, const MKL_INT64* lda,
                const MKL_INT64* ipiv, MKL_Complex16* b, const MKL_INT64* ldb,
                MKL_Complex16* work, const MKL_INT64* lwork,
                MKL_INT64* info ) NOTHROW;

void CHB2ST_KERNELS_64( const char* uplo, const MKL_INT64* wantz,
                     const MKL_INT64* ttype, const MKL_INT64* st,
                     const MKL_INT64* ed, const MKL_INT64* sweep, const MKL_INT64* n,
                     const MKL_INT64* nb, const MKL_INT64* ib, MKL_Complex8* a,
                     const MKL_INT64* lda, MKL_Complex8* v, MKL_Complex8* tau,
                     const MKL_INT64* ldvt, MKL_Complex8* work ) NOTHROW;
void chb2st_kernels_64( const char* uplo, const MKL_INT64* wantz,
                     const MKL_INT64* ttype, const MKL_INT64* st,
                     const MKL_INT64* ed, const MKL_INT64* sweep, const MKL_INT64* n,
                     const MKL_INT64* nb, const MKL_INT64* ib, MKL_Complex8* a,
                     const MKL_INT64* lda, MKL_Complex8* v, MKL_Complex8* tau,
                     const MKL_INT64* ldvt, MKL_Complex8* work ) NOTHROW;

void CHBEV_2STAGE_64( const char* jobz, const char* uplo, const MKL_INT64* n,
                   const MKL_INT64* kd, MKL_Complex8* ab, const MKL_INT64* ldab,
                   float* w, MKL_Complex8* z, const MKL_INT64* ldz,
                   MKL_Complex8* work, const MKL_INT64* lwork, float* rwork,
                   MKL_INT64* info ) NOTHROW;
void chbev_2stage_64( const char* jobz, const char* uplo, const MKL_INT64* n,
                   const MKL_INT64* kd, MKL_Complex8* ab, const MKL_INT64* ldab,
                   float* w, MKL_Complex8* z, const MKL_INT64* ldz,
                   MKL_Complex8* work, const MKL_INT64* lwork, float* rwork,
                   MKL_INT64* info ) NOTHROW;

void CHBEVD_2STAGE_64( const char* jobz, const char* uplo, const MKL_INT64* n,
                    const MKL_INT64* kd, MKL_Complex8* ab, const MKL_INT64* ldab,
                    float* w, MKL_Complex8* z, const MKL_INT64* ldz,
                    MKL_Complex8* work, const MKL_INT64* lwork, float* rwork,
                    const MKL_INT64* lrwork, MKL_INT64* iwork,
                    const MKL_INT64* liwork, MKL_INT64* info ) NOTHROW;
void chbevd_2stage_64( const char* jobz, const char* uplo, const MKL_INT64* n,
                    const MKL_INT64* kd, MKL_Complex8* ab, const MKL_INT64* ldab,
                    float* w, MKL_Complex8* z, const MKL_INT64* ldz,
                    MKL_Complex8* work, const MKL_INT64* lwork, float* rwork,
                    const MKL_INT64* lrwork, MKL_INT64* iwork,
                    const MKL_INT64* liwork, MKL_INT64* info ) NOTHROW;

void CHBEVX_2STAGE_64( const char* jobz, const char* range, const char* uplo,
                    const MKL_INT64* n, const MKL_INT64* kd, MKL_Complex8* ab,
                    const MKL_INT64* ldab, MKL_Complex8* q, const MKL_INT64* ldq,
                    const float* vl, const float* vu, const MKL_INT64* il,
                    const MKL_INT64* iu, const float* abstol, MKL_INT64* m,
                    float* w, MKL_Complex8* z, const MKL_INT64* ldz,
                    MKL_Complex8* work, const MKL_INT64* lwork, float* rwork,
                    MKL_INT64* iwork, MKL_INT64* ifail, MKL_INT64* info ) NOTHROW;
void chbevx_2stage_64( const char* jobz, const char* range, const char* uplo,
                    const MKL_INT64* n, const MKL_INT64* kd, MKL_Complex8* ab,
                    const MKL_INT64* ldab, MKL_Complex8* q, const MKL_INT64* ldq,
                    const float* vl, const float* vu, const MKL_INT64* il,
                    const MKL_INT64* iu, const float* abstol, MKL_INT64* m,
                    float* w, MKL_Complex8* z, const MKL_INT64* ldz,
                    MKL_Complex8* work, const MKL_INT64* lwork, float* rwork,
                    MKL_INT64* iwork, MKL_INT64* ifail, MKL_INT64* info ) NOTHROW;

void CHEEV_2STAGE_64( const char* jobz, const char* uplo, const MKL_INT64* n,
                   MKL_Complex8* a, const MKL_INT64* lda, float* w,
                   MKL_Complex8* work, const MKL_INT64* lwork, float* rwork,
                   MKL_INT64* info ) NOTHROW;
void cheev_2stage_64( const char* jobz, const char* uplo, const MKL_INT64* n,
                   MKL_Complex8* a, const MKL_INT64* lda, float* w,
                   MKL_Complex8* work, const MKL_INT64* lwork, float* rwork,
                   MKL_INT64* info ) NOTHROW;

void CHEEVD_2STAGE_64( const char* jobz, const char* uplo, const MKL_INT64* n,
                    MKL_Complex8* a, const MKL_INT64* lda, float* w,
                    MKL_Complex8* work, const MKL_INT64* lwork, float* rwork,
                    const MKL_INT64* lrwork, MKL_INT64* iwork,
                    const MKL_INT64* liwork, MKL_INT64* info ) NOTHROW;
void cheevd_2stage_64( const char* jobz, const char* uplo, const MKL_INT64* n,
                    MKL_Complex8* a, const MKL_INT64* lda, float* w,
                    MKL_Complex8* work, const MKL_INT64* lwork, float* rwork,
                    const MKL_INT64* lrwork, MKL_INT64* iwork,
                    const MKL_INT64* liwork, MKL_INT64* info ) NOTHROW;

void CHEEVR_2STAGE_64( const char* jobz, const char* range, const char* uplo,
                    const MKL_INT64* n, MKL_Complex8* a, const MKL_INT64* lda,
                    const float* vl, const float* vu, const MKL_INT64* il,
                    const MKL_INT64* iu, const float* abstol, MKL_INT64* m,
                    float* w, MKL_Complex8* z, const MKL_INT64* ldz,
                    MKL_INT64* isuppz, MKL_Complex8* work, const MKL_INT64* lwork,
                    float* rwork, const MKL_INT64* lrwork, MKL_INT64* iwork,
                    const MKL_INT64* liwork, MKL_INT64* info ) NOTHROW;
void cheevr_2stage_64( const char* jobz, const char* range, const char* uplo,
                    const MKL_INT64* n, MKL_Complex8* a, const MKL_INT64* lda,
                    const float* vl, const float* vu, const MKL_INT64* il,
                    const MKL_INT64* iu, const float* abstol, MKL_INT64* m,
                    float* w, MKL_Complex8* z, const MKL_INT64* ldz,
                    MKL_INT64* isuppz, MKL_Complex8* work, const MKL_INT64* lwork,
                    float* rwork, const MKL_INT64* lrwork, MKL_INT64* iwork,
                    const MKL_INT64* liwork, MKL_INT64* info ) NOTHROW;

void CHEEVX_2STAGE_64( const char* jobz, const char* range, const char* uplo,
                    const MKL_INT64* n, MKL_Complex8* a, const MKL_INT64* lda,
                    const float* vl, const float* vu, const MKL_INT64* il,
                    const MKL_INT64* iu, const float* abstol, MKL_INT64* m,
                    float* w, MKL_Complex8* z, const MKL_INT64* ldz,
                    MKL_Complex8* work, const MKL_INT64* lwork, float* rwork,
                    MKL_INT64* iwork, MKL_INT64* ifail, MKL_INT64* info ) NOTHROW;
void cheevx_2stage_64( const char* jobz, const char* range, const char* uplo,
                    const MKL_INT64* n, MKL_Complex8* a, const MKL_INT64* lda,
                    const float* vl, const float* vu, const MKL_INT64* il,
                    const MKL_INT64* iu, const float* abstol, MKL_INT64* m,
                    float* w, MKL_Complex8* z, const MKL_INT64* ldz,
                    MKL_Complex8* work, const MKL_INT64* lwork, float* rwork,
                    MKL_INT64* iwork, MKL_INT64* ifail, MKL_INT64* info ) NOTHROW;

void CHEGV_2STAGE_64( const MKL_INT64* itype, const char* jobz, const char* uplo,
                   const MKL_INT64* n, MKL_Complex8* a, const MKL_INT64* lda,
                   MKL_Complex8* b, const MKL_INT64* ldb, float* w,
                   MKL_Complex8* work, const MKL_INT64* lwork, float* rwork,
                   MKL_INT64* info ) NOTHROW;
void chegv_2stage_64( const MKL_INT64* itype, const char* jobz, const char* uplo,
                   const MKL_INT64* n, MKL_Complex8* a, const MKL_INT64* lda,
                   MKL_Complex8* b, const MKL_INT64* ldb, float* w,
                   MKL_Complex8* work, const MKL_INT64* lwork, float* rwork,
                   MKL_INT64* info ) NOTHROW;

void CHETRD_2STAGE_64( const char* vect, const char* uplo, const MKL_INT64* n,
                    MKL_Complex8* a, const MKL_INT64* lda, float* d, float* e,
                    MKL_Complex8* tau, MKL_Complex8* hous2,
                    const MKL_INT64* lhous2, MKL_Complex8* work,
                    const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;
void chetrd_2stage_64( const char* vect, const char* uplo, const MKL_INT64* n,
                    MKL_Complex8* a, const MKL_INT64* lda, float* d, float* e,
                    MKL_Complex8* tau, MKL_Complex8* hous2,
                    const MKL_INT64* lhous2, MKL_Complex8* work,
                    const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;

void CHETRD_HB2ST_64( const char* stage1, const char* vect, const char* uplo,
                   const MKL_INT64* n, const MKL_INT64* kd, MKL_Complex8* ab,
                   const MKL_INT64* ldab, float* d, float* e, MKL_Complex8* hous,
                   const MKL_INT64* lhous, MKL_Complex8* work,
                   const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;
void chetrd_hb2st_64( const char* stage1, const char* vect, const char* uplo,
                   const MKL_INT64* n, const MKL_INT64* kd, MKL_Complex8* ab,
                   const MKL_INT64* ldab, float* d, float* e, MKL_Complex8* hous,
                   const MKL_INT64* lhous, MKL_Complex8* work,
                   const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;

void CHETRD_HE2HB_64( const char* uplo, const MKL_INT64* n, const MKL_INT64* kd,
                   MKL_Complex8* a, const MKL_INT64* lda, MKL_Complex8* ab,
                   const MKL_INT64* ldab, MKL_Complex8* tau, MKL_Complex8* work,
                   const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;
void chetrd_he2hb_64( const char* uplo, const MKL_INT64* n, const MKL_INT64* kd,
                   MKL_Complex8* a, const MKL_INT64* lda, MKL_Complex8* ab,
                   const MKL_INT64* ldab, MKL_Complex8* tau, MKL_Complex8* work,
                   const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;

void DSB2ST_KERNELS_64( const char* uplo, const MKL_INT64* wantz,
                     const MKL_INT64* ttype, const MKL_INT64* st,
                     const MKL_INT64* ed, const MKL_INT64* sweep, const MKL_INT64* n,
                     const MKL_INT64* nb, const MKL_INT64* ib, double* a,
                     const MKL_INT64* lda, double* v, double* tau,
                     const MKL_INT64* ldvt, double* work ) NOTHROW;
void dsb2st_kernels_64( const char* uplo, const MKL_INT64* wantz,
                     const MKL_INT64* ttype, const MKL_INT64* st,
                     const MKL_INT64* ed, const MKL_INT64* sweep, const MKL_INT64* n,
                     const MKL_INT64* nb, const MKL_INT64* ib, double* a,
                     const MKL_INT64* lda, double* v, double* tau,
                     const MKL_INT64* ldvt, double* work ) NOTHROW;

void DSBEV_2STAGE_64( const char* jobz, const char* uplo, const MKL_INT64* n,
                   const MKL_INT64* kd, double* ab, const MKL_INT64* ldab,
                   double* w, double* z, const MKL_INT64* ldz, double* work,
                   const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;
void dsbev_2stage_64( const char* jobz, const char* uplo, const MKL_INT64* n,
                   const MKL_INT64* kd, double* ab, const MKL_INT64* ldab,
                   double* w, double* z, const MKL_INT64* ldz, double* work,
                   const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;

void DSBEVD_2STAGE_64( const char* jobz, const char* uplo, const MKL_INT64* n,
                    const MKL_INT64* kd, double* ab, const MKL_INT64* ldab,
                    double* w, double* z, const MKL_INT64* ldz, double* work,
                    const MKL_INT64* lwork, MKL_INT64* iwork,
                    const MKL_INT64* liwork, MKL_INT64* info ) NOTHROW;
void dsbevd_2stage_64( const char* jobz, const char* uplo, const MKL_INT64* n,
                    const MKL_INT64* kd, double* ab, const MKL_INT64* ldab,
                    double* w, double* z, const MKL_INT64* ldz, double* work,
                    const MKL_INT64* lwork, MKL_INT64* iwork,
                    const MKL_INT64* liwork, MKL_INT64* info ) NOTHROW;

void DSBEVX_2STAGE_64( const char* jobz, const char* range, const char* uplo,
                    const MKL_INT64* n, const MKL_INT64* kd, double* ab,
                    const MKL_INT64* ldab, double* q, const MKL_INT64* ldq,
                    const double* vl, const double* vu, const MKL_INT64* il,
                    const MKL_INT64* iu, const double* abstol, MKL_INT64* m,
                    double* w, double* z, const MKL_INT64* ldz, double* work,
                    const MKL_INT64* lwork, MKL_INT64* iwork, MKL_INT64* ifail,
                    MKL_INT64* info ) NOTHROW;
void dsbevx_2stage_64( const char* jobz, const char* range, const char* uplo,
                    const MKL_INT64* n, const MKL_INT64* kd, double* ab,
                    const MKL_INT64* ldab, double* q, const MKL_INT64* ldq,
                    const double* vl, const double* vu, const MKL_INT64* il,
                    const MKL_INT64* iu, const double* abstol, MKL_INT64* m,
                    double* w, double* z, const MKL_INT64* ldz, double* work,
                    const MKL_INT64* lwork, MKL_INT64* iwork, MKL_INT64* ifail,
                    MKL_INT64* info ) NOTHROW;

void DSYEV_2STAGE_64( const char* jobz, const char* uplo, const MKL_INT64* n,
                   double* a, const MKL_INT64* lda, double* w, double* work,
                   const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;
void dsyev_2stage_64( const char* jobz, const char* uplo, const MKL_INT64* n,
                   double* a, const MKL_INT64* lda, double* w, double* work,
                   const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;

void DSYEVD_2STAGE_64( const char* jobz, const char* uplo, const MKL_INT64* n,
                    double* a, const MKL_INT64* lda, double* w, double* work,
                    const MKL_INT64* lwork, MKL_INT64* iwork,
                    const MKL_INT64* liwork, MKL_INT64* info ) NOTHROW;
void dsyevd_2stage_64( const char* jobz, const char* uplo, const MKL_INT64* n,
                    double* a, const MKL_INT64* lda, double* w, double* work,
                    const MKL_INT64* lwork, MKL_INT64* iwork,
                    const MKL_INT64* liwork, MKL_INT64* info ) NOTHROW;

void DSYEVR_2STAGE_64( const char* jobz, const char* range, const char* uplo,
                    const MKL_INT64* n, double* a, const MKL_INT64* lda,
                    const double* vl, const double* vu, const MKL_INT64* il,
                    const MKL_INT64* iu, const double* abstol, MKL_INT64* m,
                    double* w, double* z, const MKL_INT64* ldz, MKL_INT64* isuppz,
                    double* work, const MKL_INT64* lwork, MKL_INT64* iwork,
                    const MKL_INT64* liwork, MKL_INT64* info ) NOTHROW;
void dsyevr_2stage_64( const char* jobz, const char* range, const char* uplo,
                    const MKL_INT64* n, double* a, const MKL_INT64* lda,
                    const double* vl, const double* vu, const MKL_INT64* il,
                    const MKL_INT64* iu, const double* abstol, MKL_INT64* m,
                    double* w, double* z, const MKL_INT64* ldz, MKL_INT64* isuppz,
                    double* work, const MKL_INT64* lwork, MKL_INT64* iwork,
                    const MKL_INT64* liwork, MKL_INT64* info ) NOTHROW;

void DSYEVX_2STAGE_64( const char* jobz, const char* range, const char* uplo,
                    const MKL_INT64* n, double* a, const MKL_INT64* lda,
                    const double* vl, const double* vu, const MKL_INT64* il,
                    const MKL_INT64* iu, const double* abstol, MKL_INT64* m,
                    double* w, double* z, const MKL_INT64* ldz, double* work,
                    const MKL_INT64* lwork, MKL_INT64* iwork, MKL_INT64* ifail,
                    MKL_INT64* info ) NOTHROW;
void dsyevx_2stage_64( const char* jobz, const char* range, const char* uplo,
                    const MKL_INT64* n, double* a, const MKL_INT64* lda,
                    const double* vl, const double* vu, const MKL_INT64* il,
                    const MKL_INT64* iu, const double* abstol, MKL_INT64* m,
                    double* w, double* z, const MKL_INT64* ldz, double* work,
                    const MKL_INT64* lwork, MKL_INT64* iwork, MKL_INT64* ifail,
                    MKL_INT64* info ) NOTHROW;

void DSYGV_2STAGE_64( const MKL_INT64* itype, const char* jobz, const char* uplo,
                   const MKL_INT64* n, double* a, const MKL_INT64* lda, double* b,
                   const MKL_INT64* ldb, double* w, double* work,
                   const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;
void dsygv_2stage_64( const MKL_INT64* itype, const char* jobz, const char* uplo,
                   const MKL_INT64* n, double* a, const MKL_INT64* lda, double* b,
                   const MKL_INT64* ldb, double* w, double* work,
                   const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;

void DSYTRD_2STAGE_64( const char* vect, const char* uplo, const MKL_INT64* n,
                    double* a, const MKL_INT64* lda, double* d, double* e,
                    double* tau, double* hous2, const MKL_INT64* lhous2,
                    double* work, const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;
void dsytrd_2stage_64( const char* vect, const char* uplo, const MKL_INT64* n,
                    double* a, const MKL_INT64* lda, double* d, double* e,
                    double* tau, double* hous2, const MKL_INT64* lhous2,
                    double* work, const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;

void DSYTRD_SB2ST_64( const char* stage1, const char* vect, const char* uplo,
                   const MKL_INT64* n, const MKL_INT64* kd, double* ab,
                   const MKL_INT64* ldab, double* d, double* e, double* hous,
                   const MKL_INT64* lhous, double* work, const MKL_INT64* lwork,
                   MKL_INT64* info ) NOTHROW;
void dsytrd_sb2st_64( const char* stage1, const char* vect, const char* uplo,
                   const MKL_INT64* n, const MKL_INT64* kd, double* ab,
                   const MKL_INT64* ldab, double* d, double* e, double* hous,
                   const MKL_INT64* lhous, double* work, const MKL_INT64* lwork,
                   MKL_INT64* info ) NOTHROW;

void DSYTRD_SY2SB_64( const char* uplo, const MKL_INT64* n, const MKL_INT64* kd,
                   double* a, const MKL_INT64* lda, double* ab,
                   const MKL_INT64* ldab, double* tau, double* work,
                   const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;
void dsytrd_sy2sb_64( const char* uplo, const MKL_INT64* n, const MKL_INT64* kd,
                   double* a, const MKL_INT64* lda, double* ab,
                   const MKL_INT64* ldab, double* tau, double* work,
                   const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;

MKL_INT64 IPARAM2STAGE_64( const MKL_INT64* ispec, const char* name, const char* opts,
                      const MKL_INT64* ni, const MKL_INT64* nbi,
                      const MKL_INT64* ibi, const MKL_INT64* nxi ) NOTHROW;
MKL_INT64 iparam2stage_64( const MKL_INT64* ispec, const char* name, const char* opts,
                      const MKL_INT64* ni, const MKL_INT64* nbi,
                      const MKL_INT64* ibi, const MKL_INT64* nxi ) NOTHROW;

void SSB2ST_KERNELS_64( const char* uplo, const MKL_INT64* wantz,
                     const MKL_INT64* ttype, const MKL_INT64* st,
                     const MKL_INT64* ed, const MKL_INT64* sweep, const MKL_INT64* n,
                     const MKL_INT64* nb, const MKL_INT64* ib, float* a,
                     const MKL_INT64* lda, float* v, float* tau,
                     const MKL_INT64* ldvt, float* work ) NOTHROW;
void ssb2st_kernels_64( const char* uplo, const MKL_INT64* wantz,
                     const MKL_INT64* ttype, const MKL_INT64* st,
                     const MKL_INT64* ed, const MKL_INT64* sweep, const MKL_INT64* n,
                     const MKL_INT64* nb, const MKL_INT64* ib, float* a,
                     const MKL_INT64* lda, float* v, float* tau,
                     const MKL_INT64* ldvt, float* work ) NOTHROW;

void SSBEV_2STAGE_64( const char* jobz, const char* uplo, const MKL_INT64* n,
                   const MKL_INT64* kd, float* ab, const MKL_INT64* ldab, float* w,
                   float* z, const MKL_INT64* ldz, float* work,
                   const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;
void ssbev_2stage_64( const char* jobz, const char* uplo, const MKL_INT64* n,
                   const MKL_INT64* kd, float* ab, const MKL_INT64* ldab, float* w,
                   float* z, const MKL_INT64* ldz, float* work,
                   const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;

void SSBEVD_2STAGE_64( const char* jobz, const char* uplo, const MKL_INT64* n,
                    const MKL_INT64* kd, float* ab, const MKL_INT64* ldab,
                    float* w, float* z, const MKL_INT64* ldz, float* work,
                    const MKL_INT64* lwork, MKL_INT64* iwork,
                    const MKL_INT64* liwork, MKL_INT64* info ) NOTHROW;
void ssbevd_2stage_64( const char* jobz, const char* uplo, const MKL_INT64* n,
                    const MKL_INT64* kd, float* ab, const MKL_INT64* ldab,
                    float* w, float* z, const MKL_INT64* ldz, float* work,
                    const MKL_INT64* lwork, MKL_INT64* iwork,
                    const MKL_INT64* liwork, MKL_INT64* info ) NOTHROW;

void SSBEVX_2STAGE_64( const char* jobz, const char* range, const char* uplo,
                    const MKL_INT64* n, const MKL_INT64* kd, float* ab,
                    const MKL_INT64* ldab, float* q, const MKL_INT64* ldq,
                    const float* vl, const float* vu, const MKL_INT64* il,
                    const MKL_INT64* iu, const float* abstol, MKL_INT64* m,
                    float* w, float* z, const MKL_INT64* ldz, float* work,
                    const MKL_INT64* lwork, MKL_INT64* iwork, MKL_INT64* ifail,
                    MKL_INT64* info ) NOTHROW;
void ssbevx_2stage_64( const char* jobz, const char* range, const char* uplo,
                    const MKL_INT64* n, const MKL_INT64* kd, float* ab,
                    const MKL_INT64* ldab, float* q, const MKL_INT64* ldq,
                    const float* vl, const float* vu, const MKL_INT64* il,
                    const MKL_INT64* iu, const float* abstol, MKL_INT64* m,
                    float* w, float* z, const MKL_INT64* ldz, float* work,
                    const MKL_INT64* lwork, MKL_INT64* iwork, MKL_INT64* ifail,
                    MKL_INT64* info ) NOTHROW;

void SSYEV_2STAGE_64( const char* jobz, const char* uplo, const MKL_INT64* n,
                   float* a, const MKL_INT64* lda, float* w, float* work,
                   const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;
void ssyev_2stage_64( const char* jobz, const char* uplo, const MKL_INT64* n,
                   float* a, const MKL_INT64* lda, float* w, float* work,
                   const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;

void SSYEVD_2STAGE_64( const char* jobz, const char* uplo, const MKL_INT64* n,
                    float* a, const MKL_INT64* lda, float* w, float* work,
                    const MKL_INT64* lwork, MKL_INT64* iwork,
                    const MKL_INT64* liwork, MKL_INT64* info ) NOTHROW;
void ssyevd_2stage_64( const char* jobz, const char* uplo, const MKL_INT64* n,
                    float* a, const MKL_INT64* lda, float* w, float* work,
                    const MKL_INT64* lwork, MKL_INT64* iwork,
                    const MKL_INT64* liwork, MKL_INT64* info ) NOTHROW;

void SSYEVR_2STAGE_64( const char* jobz, const char* range, const char* uplo,
                    const MKL_INT64* n, float* a, const MKL_INT64* lda,
                    const float* vl, const float* vu, const MKL_INT64* il,
                    const MKL_INT64* iu, const float* abstol, MKL_INT64* m,
                    float* w, float* z, const MKL_INT64* ldz, MKL_INT64* isuppz,
                    float* work, const MKL_INT64* lwork, MKL_INT64* iwork,
                    const MKL_INT64* liwork, MKL_INT64* info ) NOTHROW;
void ssyevr_2stage_64( const char* jobz, const char* range, const char* uplo,
                    const MKL_INT64* n, float* a, const MKL_INT64* lda,
                    const float* vl, const float* vu, const MKL_INT64* il,
                    const MKL_INT64* iu, const float* abstol, MKL_INT64* m,
                    float* w, float* z, const MKL_INT64* ldz, MKL_INT64* isuppz,
                    float* work, const MKL_INT64* lwork, MKL_INT64* iwork,
                    const MKL_INT64* liwork, MKL_INT64* info ) NOTHROW;

void SSYEVX_2STAGE_64( const char* jobz, const char* range, const char* uplo,
                    const MKL_INT64* n, float* a, const MKL_INT64* lda,
                    const float* vl, const float* vu, const MKL_INT64* il,
                    const MKL_INT64* iu, const float* abstol, MKL_INT64* m,
                    float* w, float* z, const MKL_INT64* ldz, float* work,
                    const MKL_INT64* lwork, MKL_INT64* iwork, MKL_INT64* ifail,
                    MKL_INT64* info ) NOTHROW;
void ssyevx_2stage_64( const char* jobz, const char* range, const char* uplo,
                    const MKL_INT64* n, float* a, const MKL_INT64* lda,
                    const float* vl, const float* vu, const MKL_INT64* il,
                    const MKL_INT64* iu, const float* abstol, MKL_INT64* m,
                    float* w, float* z, const MKL_INT64* ldz, float* work,
                    const MKL_INT64* lwork, MKL_INT64* iwork, MKL_INT64* ifail,
                    MKL_INT64* info ) NOTHROW;

void SSYGV_2STAGE_64( const MKL_INT64* itype, const char* jobz, const char* uplo,
                   const MKL_INT64* n, float* a, const MKL_INT64* lda, float* b,
                   const MKL_INT64* ldb, float* w, float* work,
                   const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;
void ssygv_2stage_64( const MKL_INT64* itype, const char* jobz, const char* uplo,
                   const MKL_INT64* n, float* a, const MKL_INT64* lda, float* b,
                   const MKL_INT64* ldb, float* w, float* work,
                   const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;

void SSYTRD_2STAGE_64( const char* vect, const char* uplo, const MKL_INT64* n,
                    float* a, const MKL_INT64* lda, float* d, float* e,
                    float* tau, float* hous2, const MKL_INT64* lhous2,
                    float* work, const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;
void ssytrd_2stage_64( const char* vect, const char* uplo, const MKL_INT64* n,
                    float* a, const MKL_INT64* lda, float* d, float* e,
                    float* tau, float* hous2, const MKL_INT64* lhous2,
                    float* work, const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;

void SSYTRD_SB2ST_64( const char* stage1, const char* vect, const char* uplo,
                   const MKL_INT64* n, const MKL_INT64* kd, float* ab,
                   const MKL_INT64* ldab, float* d, float* e, float* hous,
                   const MKL_INT64* lhous, float* work, const MKL_INT64* lwork,
                   MKL_INT64* info ) NOTHROW;
void ssytrd_sb2st_64( const char* stage1, const char* vect, const char* uplo,
                   const MKL_INT64* n, const MKL_INT64* kd, float* ab,
                   const MKL_INT64* ldab, float* d, float* e, float* hous,
                   const MKL_INT64* lhous, float* work, const MKL_INT64* lwork,
                   MKL_INT64* info ) NOTHROW;

void SSYTRD_SY2SB_64( const char* uplo, const MKL_INT64* n, const MKL_INT64* kd,
                   float* a, const MKL_INT64* lda, float* ab,
                   const MKL_INT64* ldab, float* tau, float* work,
                   const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;
void ssytrd_sy2sb_64( const char* uplo, const MKL_INT64* n, const MKL_INT64* kd,
                   float* a, const MKL_INT64* lda, float* ab,
                   const MKL_INT64* ldab, float* tau, float* work,
                   const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;

void ZHB2ST_KERNELS_64( const char* uplo, const MKL_INT64* wantz,
                     const MKL_INT64* ttype, const MKL_INT64* st,
                     const MKL_INT64* ed, const MKL_INT64* sweep, const MKL_INT64* n,
                     const MKL_INT64* nb, const MKL_INT64* ib, MKL_Complex16* a,
                     const MKL_INT64* lda, MKL_Complex16* v, MKL_Complex16* tau,
                     const MKL_INT64* ldvt, MKL_Complex16* work ) NOTHROW;
void zhb2st_kernels_64( const char* uplo, const MKL_INT64* wantz,
                     const MKL_INT64* ttype, const MKL_INT64* st,
                     const MKL_INT64* ed, const MKL_INT64* sweep, const MKL_INT64* n,
                     const MKL_INT64* nb, const MKL_INT64* ib, MKL_Complex16* a,
                     const MKL_INT64* lda, MKL_Complex16* v, MKL_Complex16* tau,
                     const MKL_INT64* ldvt, MKL_Complex16* work ) NOTHROW;

void ZHBEV_2STAGE_64( const char* jobz, const char* uplo, const MKL_INT64* n,
                   const MKL_INT64* kd, MKL_Complex16* ab, const MKL_INT64* ldab,
                   double* w, MKL_Complex16* z, const MKL_INT64* ldz,
                   MKL_Complex16* work, const MKL_INT64* lwork, double* rwork,
                   MKL_INT64* info ) NOTHROW;
void zhbev_2stage_64( const char* jobz, const char* uplo, const MKL_INT64* n,
                   const MKL_INT64* kd, MKL_Complex16* ab, const MKL_INT64* ldab,
                   double* w, MKL_Complex16* z, const MKL_INT64* ldz,
                   MKL_Complex16* work, const MKL_INT64* lwork, double* rwork,
                   MKL_INT64* info ) NOTHROW;

void ZHBEVD_2STAGE_64( const char* jobz, const char* uplo, const MKL_INT64* n,
                    const MKL_INT64* kd, MKL_Complex16* ab, const MKL_INT64* ldab,
                    double* w, MKL_Complex16* z, const MKL_INT64* ldz,
                    MKL_Complex16* work, const MKL_INT64* lwork, double* rwork,
                    const MKL_INT64* lrwork, MKL_INT64* iwork,
                    const MKL_INT64* liwork, MKL_INT64* info ) NOTHROW;
void zhbevd_2stage_64( const char* jobz, const char* uplo, const MKL_INT64* n,
                    const MKL_INT64* kd, MKL_Complex16* ab, const MKL_INT64* ldab,
                    double* w, MKL_Complex16* z, const MKL_INT64* ldz,
                    MKL_Complex16* work, const MKL_INT64* lwork, double* rwork,
                    const MKL_INT64* lrwork, MKL_INT64* iwork,
                    const MKL_INT64* liwork, MKL_INT64* info ) NOTHROW;

void ZHBEVX_2STAGE_64( const char* jobz, const char* range, const char* uplo,
                    const MKL_INT64* n, const MKL_INT64* kd, MKL_Complex16* ab,
                    const MKL_INT64* ldab, MKL_Complex16* q, const MKL_INT64* ldq,
                    const double* vl, const double* vu, const MKL_INT64* il,
                    const MKL_INT64* iu, const double* abstol, MKL_INT64* m,
                    double* w, MKL_Complex16* z, const MKL_INT64* ldz,
                    MKL_Complex16* work, const MKL_INT64* lwork, double* rwork,
                    MKL_INT64* iwork, MKL_INT64* ifail, MKL_INT64* info ) NOTHROW;
void zhbevx_2stage_64( const char* jobz, const char* range, const char* uplo,
                    const MKL_INT64* n, const MKL_INT64* kd, MKL_Complex16* ab,
                    const MKL_INT64* ldab, MKL_Complex16* q, const MKL_INT64* ldq,
                    const double* vl, const double* vu, const MKL_INT64* il,
                    const MKL_INT64* iu, const double* abstol, MKL_INT64* m,
                    double* w, MKL_Complex16* z, const MKL_INT64* ldz,
                    MKL_Complex16* work, const MKL_INT64* lwork, double* rwork,
                    MKL_INT64* iwork, MKL_INT64* ifail, MKL_INT64* info ) NOTHROW;

void ZHEEV_2STAGE_64( const char* jobz, const char* uplo, const MKL_INT64* n,
                   MKL_Complex16* a, const MKL_INT64* lda, double* w,
                   MKL_Complex16* work, const MKL_INT64* lwork, double* rwork,
                   MKL_INT64* info ) NOTHROW;
void zheev_2stage_64( const char* jobz, const char* uplo, const MKL_INT64* n,
                   MKL_Complex16* a, const MKL_INT64* lda, double* w,
                   MKL_Complex16* work, const MKL_INT64* lwork, double* rwork,
                   MKL_INT64* info ) NOTHROW;

void ZHEEVD_2STAGE_64( const char* jobz, const char* uplo, const MKL_INT64* n,
                    MKL_Complex16* a, const MKL_INT64* lda, double* w,
                    MKL_Complex16* work, const MKL_INT64* lwork, double* rwork,
                    const MKL_INT64* lrwork, MKL_INT64* iwork,
                    const MKL_INT64* liwork, MKL_INT64* info ) NOTHROW;
void zheevd_2stage_64( const char* jobz, const char* uplo, const MKL_INT64* n,
                    MKL_Complex16* a, const MKL_INT64* lda, double* w,
                    MKL_Complex16* work, const MKL_INT64* lwork, double* rwork,
                    const MKL_INT64* lrwork, MKL_INT64* iwork,
                    const MKL_INT64* liwork, MKL_INT64* info ) NOTHROW;

void ZHEEVR_2STAGE_64( const char* jobz, const char* range, const char* uplo,
                    const MKL_INT64* n, MKL_Complex16* a, const MKL_INT64* lda,
                    const double* vl, const double* vu, const MKL_INT64* il,
                    const MKL_INT64* iu, const double* abstol, MKL_INT64* m,
                    double* w, MKL_Complex16* z, const MKL_INT64* ldz,
                    MKL_INT64* isuppz, MKL_Complex16* work, const MKL_INT64* lwork,
                    double* rwork, const MKL_INT64* lrwork, MKL_INT64* iwork,
                    const MKL_INT64* liwork, MKL_INT64* info ) NOTHROW;
void zheevr_2stage_64( const char* jobz, const char* range, const char* uplo,
                    const MKL_INT64* n, MKL_Complex16* a, const MKL_INT64* lda,
                    const double* vl, const double* vu, const MKL_INT64* il,
                    const MKL_INT64* iu, const double* abstol, MKL_INT64* m,
                    double* w, MKL_Complex16* z, const MKL_INT64* ldz,
                    MKL_INT64* isuppz, MKL_Complex16* work, const MKL_INT64* lwork,
                    double* rwork, const MKL_INT64* lrwork, MKL_INT64* iwork,
                    const MKL_INT64* liwork, MKL_INT64* info ) NOTHROW;

void ZHEEVX_2STAGE_64( const char* jobz, const char* range, const char* uplo,
                    const MKL_INT64* n, MKL_Complex16* a, const MKL_INT64* lda,
                    const double* vl, const double* vu, const MKL_INT64* il,
                    const MKL_INT64* iu, const double* abstol, MKL_INT64* m,
                    double* w, MKL_Complex16* z, const MKL_INT64* ldz,
                    MKL_Complex16* work, const MKL_INT64* lwork, double* rwork,
                    MKL_INT64* iwork, MKL_INT64* ifail, MKL_INT64* info ) NOTHROW;
void zheevx_2stage_64( const char* jobz, const char* range, const char* uplo,
                    const MKL_INT64* n, MKL_Complex16* a, const MKL_INT64* lda,
                    const double* vl, const double* vu, const MKL_INT64* il,
                    const MKL_INT64* iu, const double* abstol, MKL_INT64* m,
                    double* w, MKL_Complex16* z, const MKL_INT64* ldz,
                    MKL_Complex16* work, const MKL_INT64* lwork, double* rwork,
                    MKL_INT64* iwork, MKL_INT64* ifail, MKL_INT64* info ) NOTHROW;

void ZHEGV_2STAGE_64( const MKL_INT64* itype, const char* jobz, const char* uplo,
                   const MKL_INT64* n, MKL_Complex16* a, const MKL_INT64* lda,
                   MKL_Complex16* b, const MKL_INT64* ldb, double* w,
                   MKL_Complex16* work, const MKL_INT64* lwork, double* rwork,
                   MKL_INT64* info ) NOTHROW;
void zhegv_2stage_64( const MKL_INT64* itype, const char* jobz, const char* uplo,
                   const MKL_INT64* n, MKL_Complex16* a, const MKL_INT64* lda,
                   MKL_Complex16* b, const MKL_INT64* ldb, double* w,
                   MKL_Complex16* work, const MKL_INT64* lwork, double* rwork,
                   MKL_INT64* info ) NOTHROW;

void ZHETRD_2STAGE_64( const char* vect, const char* uplo, const MKL_INT64* n,
                    MKL_Complex16* a, const MKL_INT64* lda, double* d, double* e,
                    MKL_Complex16* tau, MKL_Complex16* hous2,
                    const MKL_INT64* lhous2, MKL_Complex16* work,
                    const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;
void zhetrd_2stage_64( const char* vect, const char* uplo, const MKL_INT64* n,
                    MKL_Complex16* a, const MKL_INT64* lda, double* d, double* e,
                    MKL_Complex16* tau, MKL_Complex16* hous2,
                    const MKL_INT64* lhous2, MKL_Complex16* work,
                    const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;

void ZHETRD_HB2ST_64( const char* stage1, const char* vect, const char* uplo,
                   const MKL_INT64* n, const MKL_INT64* kd, MKL_Complex16* ab,
                   const MKL_INT64* ldab, double* d, double* e,
                   MKL_Complex16* hous, const MKL_INT64* lhous,
                   MKL_Complex16* work, const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;
void zhetrd_hb2st_64( const char* stage1, const char* vect, const char* uplo,
                   const MKL_INT64* n, const MKL_INT64* kd, MKL_Complex16* ab,
                   const MKL_INT64* ldab, double* d, double* e,
                   MKL_Complex16* hous, const MKL_INT64* lhous,
                   MKL_Complex16* work, const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;

void ZHETRD_HE2HB_64( const char* uplo, const MKL_INT64* n, const MKL_INT64* kd,
                   MKL_Complex16* a, const MKL_INT64* lda, MKL_Complex16* ab,
                   const MKL_INT64* ldab, MKL_Complex16* tau,
                   MKL_Complex16* work, const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;
void zhetrd_he2hb_64( const char* uplo, const MKL_INT64* n, const MKL_INT64* kd,
                   MKL_Complex16* a, const MKL_INT64* lda, MKL_Complex16* ab,
                   const MKL_INT64* ldab, MKL_Complex16* tau,
                   MKL_Complex16* work, const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;

void MKL_CGETRFNP_64( const MKL_INT64* m, const MKL_INT64* n, MKL_Complex8* a,
                   const MKL_INT64* lda, MKL_INT64* info ) NOTHROW;
void MKL_CGETRFNP_64_( const MKL_INT64* m, const MKL_INT64* n, MKL_Complex8* a,
                    const MKL_INT64* lda, MKL_INT64* info ) NOTHROW;
void mkl_cgetrfnp_64( const MKL_INT64* m, const MKL_INT64* n, MKL_Complex8* a,
                   const MKL_INT64* lda, MKL_INT64* info ) NOTHROW;
void mkl_cgetrfnp_64_( const MKL_INT64* m, const MKL_INT64* n, MKL_Complex8* a,
                    const MKL_INT64* lda, MKL_INT64* info ) NOTHROW;

void MKL_DGETRFNP_64( const MKL_INT64* m, const MKL_INT64* n, double* a,
                   const MKL_INT64* lda, MKL_INT64* info ) NOTHROW;
void MKL_DGETRFNP_64_( const MKL_INT64* m, const MKL_INT64* n, double* a,
                    const MKL_INT64* lda, MKL_INT64* info ) NOTHROW;
void mkl_dgetrfnp_64( const MKL_INT64* m, const MKL_INT64* n, double* a,
                   const MKL_INT64* lda, MKL_INT64* info ) NOTHROW;
void mkl_dgetrfnp_64_( const MKL_INT64* m, const MKL_INT64* n, double* a,
                    const MKL_INT64* lda, MKL_INT64* info ) NOTHROW;

void MKL_SGETRFNP_64( const MKL_INT64* m, const MKL_INT64* n, float* a,
                   const MKL_INT64* lda, MKL_INT64* info ) NOTHROW;
void MKL_SGETRFNP_64_( const MKL_INT64* m, const MKL_INT64* n, float* a,
                    const MKL_INT64* lda, MKL_INT64* info ) NOTHROW;
void mkl_sgetrfnp_64( const MKL_INT64* m, const MKL_INT64* n, float* a,
                   const MKL_INT64* lda, MKL_INT64* info ) NOTHROW;
void mkl_sgetrfnp_64_( const MKL_INT64* m, const MKL_INT64* n, float* a,
                    const MKL_INT64* lda, MKL_INT64* info ) NOTHROW;

void MKL_ZGETRFNP_64( const MKL_INT64* m, const MKL_INT64* n, MKL_Complex16* a,
                   const MKL_INT64* lda, MKL_INT64* info ) NOTHROW;
void MKL_ZGETRFNP_64_( const MKL_INT64* m, const MKL_INT64* n, MKL_Complex16* a,
                    const MKL_INT64* lda, MKL_INT64* info ) NOTHROW;
void mkl_zgetrfnp_64( const MKL_INT64* m, const MKL_INT64* n, MKL_Complex16* a,
                   const MKL_INT64* lda, MKL_INT64* info ) NOTHROW;
void mkl_zgetrfnp_64_( const MKL_INT64* m, const MKL_INT64* n, MKL_Complex16* a,
                    const MKL_INT64* lda, MKL_INT64* info ) NOTHROW;

void MKL_CGETRINP_64( const MKL_INT64* n, MKL_Complex8* a, const MKL_INT64* lda,
                   MKL_Complex8* work, const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;
void MKL_CGETRINP_64_( const MKL_INT64* n, MKL_Complex8* a, const MKL_INT64* lda,
                    MKL_Complex8* work, const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;
void mkl_cgetrinp_64( const MKL_INT64* n, MKL_Complex8* a, const MKL_INT64* lda,
                   MKL_Complex8* work, const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;
void mkl_cgetrinp_64_( const MKL_INT64* n, MKL_Complex8* a, const MKL_INT64* lda,
                    MKL_Complex8* work, const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;

void MKL_DGETRINP_64( const MKL_INT64* n, double* a, const MKL_INT64* lda,
                   double* work, const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;
void MKL_DGETRINP_64_( const MKL_INT64* n, double* a, const MKL_INT64* lda,
                    double* work, const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;
void mkl_dgetrinp_64( const MKL_INT64* n, double* a, const MKL_INT64* lda,
                   double* work, const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;
void mkl_dgetrinp_64_( const MKL_INT64* n, double* a, const MKL_INT64* lda,
                    double* work, const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;

void MKL_SGETRINP_64( const MKL_INT64* n, float* a, const MKL_INT64* lda, float* work,
                   const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;
void MKL_SGETRINP_64_( const MKL_INT64* n, float* a, const MKL_INT64* lda,
                    float* work, const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;
void mkl_sgetrinp_64( const MKL_INT64* n, float* a, const MKL_INT64* lda, float* work,
                   const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;
void mkl_sgetrinp_64_( const MKL_INT64* n, float* a, const MKL_INT64* lda,
                    float* work, const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;

void MKL_ZGETRINP_64( const MKL_INT64* n, MKL_Complex16* a, const MKL_INT64* lda,
                   MKL_Complex16* work, const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;
void MKL_ZGETRINP_64_( const MKL_INT64* n, MKL_Complex16* a, const MKL_INT64* lda,
                    MKL_Complex16* work, const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;
void mkl_zgetrinp_64( const MKL_INT64* n, MKL_Complex16* a, const MKL_INT64* lda,
                   MKL_Complex16* work, const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;
void mkl_zgetrinp_64_( const MKL_INT64* n, MKL_Complex16* a, const MKL_INT64* lda,
                    MKL_Complex16* work, const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;

void DSYTRF_AA_2STAGE_64( const char* uplo, const MKL_INT64* n, double* a,
                       const MKL_INT64* lda, double* tb, const MKL_INT64* ltb,
                       MKL_INT64* ipiv, MKL_INT64* ipiv2, double* work,
                       const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;
void dsytrf_aa_2stage_64( const char* uplo, const MKL_INT64* n, double* a,
                       const MKL_INT64* lda, double* tb, const MKL_INT64* ltb,
                       MKL_INT64* ipiv, MKL_INT64* ipiv2, double* work,
                       const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;

void CHESV_AA_2STAGE_64( const char* uplo, const MKL_INT64* n, const MKL_INT64* nrhs,
                      MKL_Complex8* a, const MKL_INT64* lda, MKL_Complex8* tb,
                      const MKL_INT64* ltb, MKL_INT64* ipiv, MKL_INT64* ipiv2,
                      MKL_Complex8* b, const MKL_INT64* ldb, MKL_Complex8* work,
                      const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;
void chesv_aa_2stage_64( const char* uplo, const MKL_INT64* n, const MKL_INT64* nrhs,
                      MKL_Complex8* a, const MKL_INT64* lda, MKL_Complex8* tb,
                      const MKL_INT64* ltb, MKL_INT64* ipiv, MKL_INT64* ipiv2,
                      MKL_Complex8* b, const MKL_INT64* ldb, MKL_Complex8* work,
                      const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;

void CHETRF_AA_2STAGE_64( const char* uplo, const MKL_INT64* n, MKL_Complex8* a,
                       const MKL_INT64* lda, MKL_Complex8* tb,
                       const MKL_INT64* ltb, MKL_INT64* ipiv, MKL_INT64* ipiv2,
                       MKL_Complex8* work, const MKL_INT64* lwork,
                       MKL_INT64* info ) NOTHROW;
void chetrf_aa_2stage_64( const char* uplo, const MKL_INT64* n, MKL_Complex8* a,
                       const MKL_INT64* lda, MKL_Complex8* tb,
                       const MKL_INT64* ltb, MKL_INT64* ipiv, MKL_INT64* ipiv2,
                       MKL_Complex8* work, const MKL_INT64* lwork,
                       MKL_INT64* info ) NOTHROW;

void CHETRS_AA_2STAGE_64( const char* uplo, const MKL_INT64* n, const MKL_INT64* nrhs,
                       const MKL_Complex8* a, const MKL_INT64* lda,
                       MKL_Complex8* tb, const MKL_INT64* ltb,
                       const MKL_INT64* ipiv, const MKL_INT64* ipiv2,
                       MKL_Complex8* b, const MKL_INT64* ldb, MKL_INT64* info ) NOTHROW;
void chetrs_aa_2stage_64( const char* uplo, const MKL_INT64* n, const MKL_INT64* nrhs,
                       const MKL_Complex8* a, const MKL_INT64* lda,
                       MKL_Complex8* tb, const MKL_INT64* ltb,
                       const MKL_INT64* ipiv, const MKL_INT64* ipiv2,
                       MKL_Complex8* b, const MKL_INT64* ldb, MKL_INT64* info ) NOTHROW;

void CSYSV_AA_2STAGE_64( const char* uplo, const MKL_INT64* n, const MKL_INT64* nrhs,
                      MKL_Complex8* a, const MKL_INT64* lda, MKL_Complex8* tb,
                      const MKL_INT64* ltb, MKL_INT64* ipiv, MKL_INT64* ipiv2,
                      MKL_Complex8* b, const MKL_INT64* ldb, MKL_Complex8* work,
                      const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;
void csysv_aa_2stage_64( const char* uplo, const MKL_INT64* n, const MKL_INT64* nrhs,
                      MKL_Complex8* a, const MKL_INT64* lda, MKL_Complex8* tb,
                      const MKL_INT64* ltb, MKL_INT64* ipiv, MKL_INT64* ipiv2,
                      MKL_Complex8* b, const MKL_INT64* ldb, MKL_Complex8* work,
                      const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;

void CSYTRF_AA_2STAGE_64( const char* uplo, const MKL_INT64* n, MKL_Complex8* a,
                       const MKL_INT64* lda, MKL_Complex8* tb,
                       const MKL_INT64* ltb, MKL_INT64* ipiv, MKL_INT64* ipiv2,
                       MKL_Complex8* work, const MKL_INT64* lwork,
                       MKL_INT64* info ) NOTHROW;
void csytrf_aa_2stage_64( const char* uplo, const MKL_INT64* n, MKL_Complex8* a,
                       const MKL_INT64* lda, MKL_Complex8* tb,
                       const MKL_INT64* ltb, MKL_INT64* ipiv, MKL_INT64* ipiv2,
                       MKL_Complex8* work, const MKL_INT64* lwork,
                       MKL_INT64* info ) NOTHROW;

void CSYTRS_AA_2STAGE_64( const char* uplo, const MKL_INT64* n, const MKL_INT64* nrhs,
                       const MKL_Complex8* a, const MKL_INT64* lda,
                       MKL_Complex8* tb, const MKL_INT64* ltb,
                       const MKL_INT64* ipiv, const MKL_INT64* ipiv2,
                       MKL_Complex8* b, const MKL_INT64* ldb, MKL_INT64* info ) NOTHROW;
void csytrs_aa_2stage_64( const char* uplo, const MKL_INT64* n, const MKL_INT64* nrhs,
                       const MKL_Complex8* a, const MKL_INT64* lda,
                       MKL_Complex8* tb, const MKL_INT64* ltb,
                       const MKL_INT64* ipiv, const MKL_INT64* ipiv2,
                       MKL_Complex8* b, const MKL_INT64* ldb, MKL_INT64* info ) NOTHROW;

void ZHESV_AA_2STAGE_64( const char* uplo, const MKL_INT64* n, const MKL_INT64* nrhs,
                      MKL_Complex16* a, const MKL_INT64* lda, MKL_Complex16* tb,
                      const MKL_INT64* ltb, MKL_INT64* ipiv, MKL_INT64* ipiv2,
                      MKL_Complex16* b, const MKL_INT64* ldb,
                      MKL_Complex16* work, const MKL_INT64* lwork,
                      MKL_INT64* info ) NOTHROW;
void zhesv_aa_2stage_64( const char* uplo, const MKL_INT64* n, const MKL_INT64* nrhs,
                      MKL_Complex16* a, const MKL_INT64* lda, MKL_Complex16* tb,
                      const MKL_INT64* ltb, MKL_INT64* ipiv, MKL_INT64* ipiv2,
                      MKL_Complex16* b, const MKL_INT64* ldb,
                      MKL_Complex16* work, const MKL_INT64* lwork,
                      MKL_INT64* info ) NOTHROW;

void ZHETRF_AA_2STAGE_64( const char* uplo, const MKL_INT64* n, MKL_Complex16* a,
                       const MKL_INT64* lda, MKL_Complex16* tb,
                       const MKL_INT64* ltb, MKL_INT64* ipiv, MKL_INT64* ipiv2,
                       MKL_Complex16* work, const MKL_INT64* lwork,
                       MKL_INT64* info ) NOTHROW;
void zhetrf_aa_2stage_64( const char* uplo, const MKL_INT64* n, MKL_Complex16* a,
                       const MKL_INT64* lda, MKL_Complex16* tb,
                       const MKL_INT64* ltb, MKL_INT64* ipiv, MKL_INT64* ipiv2,
                       MKL_Complex16* work, const MKL_INT64* lwork,
                       MKL_INT64* info ) NOTHROW;

void ZHETRS_AA_2STAGE_64( const char* uplo, const MKL_INT64* n, const MKL_INT64* nrhs,
                       const MKL_Complex16* a, const MKL_INT64* lda,
                       MKL_Complex16* tb, const MKL_INT64* ltb,
                       const MKL_INT64* ipiv, const MKL_INT64* ipiv2,
                       MKL_Complex16* b, const MKL_INT64* ldb, MKL_INT64* info ) NOTHROW;
void zhetrs_aa_2stage_64( const char* uplo, const MKL_INT64* n, const MKL_INT64* nrhs,
                       const MKL_Complex16* a, const MKL_INT64* lda,
                       MKL_Complex16* tb, const MKL_INT64* ltb,
                       const MKL_INT64* ipiv, const MKL_INT64* ipiv2,
                       MKL_Complex16* b, const MKL_INT64* ldb, MKL_INT64* info ) NOTHROW;

void ZSYSV_AA_2STAGE_64( const char* uplo, const MKL_INT64* n, const MKL_INT64* nrhs,
                      MKL_Complex16* a, const MKL_INT64* lda, MKL_Complex16* tb,
                      const MKL_INT64* ltb, MKL_INT64* ipiv, MKL_INT64* ipiv2,
                      MKL_Complex16* b, const MKL_INT64* ldb,
                      MKL_Complex16* work, const MKL_INT64* lwork,
                      MKL_INT64* info ) NOTHROW;
void zsysv_aa_2stage_64( const char* uplo, const MKL_INT64* n, const MKL_INT64* nrhs,
                      MKL_Complex16* a, const MKL_INT64* lda, MKL_Complex16* tb,
                      const MKL_INT64* ltb, MKL_INT64* ipiv, MKL_INT64* ipiv2,
                      MKL_Complex16* b, const MKL_INT64* ldb,
                      MKL_Complex16* work, const MKL_INT64* lwork,
                      MKL_INT64* info ) NOTHROW;

void ZSYTRF_AA_2STAGE_64( const char* uplo, const MKL_INT64* n, MKL_Complex16* a,
                       const MKL_INT64* lda, MKL_Complex16* tb,
                       const MKL_INT64* ltb, MKL_INT64* ipiv, MKL_INT64* ipiv2,
                       MKL_Complex16* work, const MKL_INT64* lwork,
                       MKL_INT64* info ) NOTHROW;
void zsytrf_aa_2stage_64( const char* uplo, const MKL_INT64* n, MKL_Complex16* a,
                       const MKL_INT64* lda, MKL_Complex16* tb,
                       const MKL_INT64* ltb, MKL_INT64* ipiv, MKL_INT64* ipiv2,
                       MKL_Complex16* work, const MKL_INT64* lwork,
                       MKL_INT64* info ) NOTHROW;

void ZSYTRS_AA_2STAGE_64( const char* uplo, const MKL_INT64* n, const MKL_INT64* nrhs,
                       const MKL_Complex16* a, const MKL_INT64* lda,
                       MKL_Complex16* tb, const MKL_INT64* ltb,
                       const MKL_INT64* ipiv, const MKL_INT64* ipiv2,
                       MKL_Complex16* b, const MKL_INT64* ldb, MKL_INT64* info ) NOTHROW;
void zsytrs_aa_2stage_64( const char* uplo, const MKL_INT64* n, const MKL_INT64* nrhs,
                       const MKL_Complex16* a, const MKL_INT64* lda,
                       MKL_Complex16* tb, const MKL_INT64* ltb,
                       const MKL_INT64* ipiv, const MKL_INT64* ipiv2,
                       MKL_Complex16* b, const MKL_INT64* ldb, MKL_INT64* info ) NOTHROW;

void DSYTRS_AA_2STAGE_64( const char* uplo, const MKL_INT64* n, const MKL_INT64* nrhs,
                       const double* a, const MKL_INT64* lda, double* tb,
                       const MKL_INT64* ltb, const MKL_INT64* ipiv,
                       const MKL_INT64* ipiv2, double* b, const MKL_INT64* ldb,
                       MKL_INT64* info ) NOTHROW;
void dsytrs_aa_2stage_64( const char* uplo, const MKL_INT64* n, const MKL_INT64* nrhs,
                       const double* a, const MKL_INT64* lda, double* tb,
                       const MKL_INT64* ltb, const MKL_INT64* ipiv,
                       const MKL_INT64* ipiv2, double* b, const MKL_INT64* ldb,
                       MKL_INT64* info ) NOTHROW;

void DSYSV_AA_2STAGE_64( const char* uplo, const MKL_INT64* n, const MKL_INT64* nrhs,
                      double* a, const MKL_INT64* lda, double* tb,
                      const MKL_INT64* ltb, MKL_INT64* ipiv, MKL_INT64* ipiv2,
                      double* b, const MKL_INT64* ldb, double* work,
                      const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;
void dsysv_aa_2stage_64( const char* uplo, const MKL_INT64* n, const MKL_INT64* nrhs,
                      double* a, const MKL_INT64* lda, double* tb,
                      const MKL_INT64* ltb, MKL_INT64* ipiv, MKL_INT64* ipiv2,
                      double* b, const MKL_INT64* ldb, double* work,
                      const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;

void SSYSV_AA_2STAGE_64( const char* uplo, const MKL_INT64* n, const MKL_INT64* nrhs,
                      float* a, const MKL_INT64* lda, float* tb,
                      const MKL_INT64* ltb, MKL_INT64* ipiv, MKL_INT64* ipiv2,
                      float* b, const MKL_INT64* ldb, float* work,
                      const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;
void ssysv_aa_2stage_64( const char* uplo, const MKL_INT64* n, const MKL_INT64* nrhs,
                      float* a, const MKL_INT64* lda, float* tb,
                      const MKL_INT64* ltb, MKL_INT64* ipiv, MKL_INT64* ipiv2,
                      float* b, const MKL_INT64* ldb, float* work,
                      const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;

void SSYTRS_AA_2STAGE_64( const char* uplo, const MKL_INT64* n, const MKL_INT64* nrhs,
                       const float* a, const MKL_INT64* lda, float* tb,
                       const MKL_INT64* ltb, const MKL_INT64* ipiv,
                       const MKL_INT64* ipiv2, float* b, const MKL_INT64* ldb,
                       MKL_INT64* info ) NOTHROW;
void ssytrs_aa_2stage_64( const char* uplo, const MKL_INT64* n, const MKL_INT64* nrhs,
                       const float* a, const MKL_INT64* lda, float* tb,
                       const MKL_INT64* ltb, const MKL_INT64* ipiv,
                       const MKL_INT64* ipiv2, float* b, const MKL_INT64* ldb,
                       MKL_INT64* info ) NOTHROW;

void SSYTRF_AA_2STAGE_64( const char* uplo, const MKL_INT64* n, float* a,
                       const MKL_INT64* lda, float* tb, const MKL_INT64* ltb,
                       MKL_INT64* ipiv, MKL_INT64* ipiv2, float* work,
                       const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;
void ssytrf_aa_2stage_64( const char* uplo, const MKL_INT64* n, float* a,
                       const MKL_INT64* lda, float* tb, const MKL_INT64* ltb,
                       MKL_INT64* ipiv, MKL_INT64* ipiv2, float* work,
                       const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;

void DTREVC3_64( const char* side, const char* howmny, MKL_INT64* select,
              const MKL_INT64* n, const double* t, const MKL_INT64* ldt,
              double* vl, const MKL_INT64* ldvl, double* vr, const MKL_INT64* ldvr,
              const MKL_INT64* mm, MKL_INT64* m, double* work,
              const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;
void dtrevc3_64( const char* side, const char* howmny, MKL_INT64* select,
              const MKL_INT64* n, const double* t, const MKL_INT64* ldt,
              double* vl, const MKL_INT64* ldvl, double* vr, const MKL_INT64* ldvr,
              const MKL_INT64* mm, MKL_INT64* m, double* work,
              const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;

void STREVC3_64( const char* side, const char* howmny, MKL_INT64* select,
              const MKL_INT64* n, const float* t, const MKL_INT64* ldt, float* vl,
              const MKL_INT64* ldvl, float* vr, const MKL_INT64* ldvr,
              const MKL_INT64* mm, MKL_INT64* m, float* work, const MKL_INT64* lwork,
              MKL_INT64* info ) NOTHROW;
void strevc3_64( const char* side, const char* howmny, MKL_INT64* select,
              const MKL_INT64* n, const float* t, const MKL_INT64* ldt, float* vl,
              const MKL_INT64* ldvl, float* vr, const MKL_INT64* ldvr,
              const MKL_INT64* mm, MKL_INT64* m, float* work, const MKL_INT64* lwork,
              MKL_INT64* info ) NOTHROW;

void CTREVC3_64( const char* side, const char* howmny, const MKL_INT64* select,
              const MKL_INT64* n, MKL_Complex8* t, const MKL_INT64* ldt,
              MKL_Complex8* vl, const MKL_INT64* ldvl, MKL_Complex8* vr,
              const MKL_INT64* ldvr, const MKL_INT64* mm, MKL_INT64* m,
              MKL_Complex8* work, const MKL_INT64* lwork, float* rwork,
              const MKL_INT64* lrwork, MKL_INT64* info ) NOTHROW;
void ctrevc3_64( const char* side, const char* howmny, const MKL_INT64* select,
              const MKL_INT64* n, MKL_Complex8* t, const MKL_INT64* ldt,
              MKL_Complex8* vl, const MKL_INT64* ldvl, MKL_Complex8* vr,
              const MKL_INT64* ldvr, const MKL_INT64* mm, MKL_INT64* m,
              MKL_Complex8* work, const MKL_INT64* lwork, float* rwork,
              const MKL_INT64* lrwork, MKL_INT64* info ) NOTHROW;

void ZTREVC3_64( const char* side, const char* howmny, const MKL_INT64* select,
              const MKL_INT64* n, MKL_Complex16* t, const MKL_INT64* ldt,
              MKL_Complex16* vl, const MKL_INT64* ldvl, MKL_Complex16* vr,
              const MKL_INT64* ldvr, const MKL_INT64* mm, MKL_INT64* m,
              MKL_Complex16* work, const MKL_INT64* lwork, double* rwork,
              const MKL_INT64* lrwork, MKL_INT64* info ) NOTHROW;
void ztrevc3_64( const char* side, const char* howmny, const MKL_INT64* select,
              const MKL_INT64* n, MKL_Complex16* t, const MKL_INT64* ldt,
              MKL_Complex16* vl, const MKL_INT64* ldvl, MKL_Complex16* vr,
              const MKL_INT64* ldvr, const MKL_INT64* mm, MKL_INT64* m,
              MKL_Complex16* work, const MKL_INT64* lwork, double* rwork,
              const MKL_INT64* lrwork, MKL_INT64* info ) NOTHROW;

void SGETRF_BATCH_STRIDED_64( const MKL_INT64* m, const MKL_INT64* n, float* a,
                           const MKL_INT64* lda, const MKL_INT64* stride_a,
                           MKL_INT64* ipiv, const MKL_INT64* stride_ipiv,
                           const MKL_INT64* batch_size, MKL_INT64* info ) NOTHROW;
void sgetrf_batch_strided_64( const MKL_INT64* m, const MKL_INT64* n, float* a,
                           const MKL_INT64* lda, const MKL_INT64* stride_a,
                           MKL_INT64* ipiv, const MKL_INT64* stride_ipiv,
                           const MKL_INT64* batch_size, MKL_INT64* info ) NOTHROW;

void DGETRF_BATCH_STRIDED_64( const MKL_INT64* m, const MKL_INT64* n, double* a,
                           const MKL_INT64* lda, const MKL_INT64* stride_a,
                           MKL_INT64* ipiv, const MKL_INT64* stride_ipiv,
                           const MKL_INT64* batch_size, MKL_INT64* info ) NOTHROW;
void dgetrf_batch_strided_64( const MKL_INT64* m, const MKL_INT64* n, double* a,
                           const MKL_INT64* lda, const MKL_INT64* stride_a,
                           MKL_INT64* ipiv, const MKL_INT64* stride_ipiv,
                           const MKL_INT64* batch_size, MKL_INT64* info ) NOTHROW;

void CGETRF_BATCH_STRIDED_64( const MKL_INT64* m, const MKL_INT64* n, MKL_Complex8* a,
                           const MKL_INT64* lda, const MKL_INT64* stride_a,
                           MKL_INT64* ipiv, const MKL_INT64* stride_ipiv,
                           const MKL_INT64* batch_size, MKL_INT64* info ) NOTHROW;
void cgetrf_batch_strided_64( const MKL_INT64* m, const MKL_INT64* n, MKL_Complex8* a,
                           const MKL_INT64* lda, const MKL_INT64* stride_a,
                           MKL_INT64* ipiv, const MKL_INT64* stride_ipiv,
                           const MKL_INT64* batch_size, MKL_INT64* info ) NOTHROW;

void ZGETRF_BATCH_STRIDED_64( const MKL_INT64* m, const MKL_INT64* n,
                           MKL_Complex16* a, const MKL_INT64* lda,
                           const MKL_INT64* stride_a, MKL_INT64* ipiv,
                           const MKL_INT64* stride_ipiv,
                           const MKL_INT64* batch_size, MKL_INT64* info ) NOTHROW;
void zgetrf_batch_strided_64( const MKL_INT64* m, const MKL_INT64* n,
                           MKL_Complex16* a, const MKL_INT64* lda,
                           const MKL_INT64* stride_a, MKL_INT64* ipiv,
                           const MKL_INT64* stride_ipiv,
                           const MKL_INT64* batch_size, MKL_INT64* info ) NOTHROW;

void SGETRS_BATCH_STRIDED_64( const char* trans, const MKL_INT64* n,
                           const MKL_INT64* nrhs, const float* a, const MKL_INT64* lda,
                           const MKL_INT64* stride_a, const MKL_INT64* ipiv,
                           const MKL_INT64* stride_ipiv, float* b,
                           const MKL_INT64* ldb, const MKL_INT64* stride_b,
                           const MKL_INT64* batch_size, MKL_INT64* info ) NOTHROW;
void sgetrs_batch_strided_64( const char* trans, const MKL_INT64* n,
                           const MKL_INT64* nrhs, const float* a, const MKL_INT64* lda,
                           const MKL_INT64* stride_a, const MKL_INT64* ipiv,
                           const MKL_INT64* stride_ipiv, float* b,
                           const MKL_INT64* ldb, const MKL_INT64* stride_b,
                           const MKL_INT64* batch_size, MKL_INT64* info ) NOTHROW;

void DGETRS_BATCH_STRIDED_64( const char* trans, const MKL_INT64* n,
                           const MKL_INT64* nrhs, const double* a, const MKL_INT64* lda,
                           const MKL_INT64* stride_a, const MKL_INT64* ipiv,
                           const MKL_INT64* stride_ipiv, double* b,
                           const MKL_INT64* ldb, const MKL_INT64* stride_b,
                           const MKL_INT64* batch_size, MKL_INT64* info ) NOTHROW;
void dgetrs_batch_strided_64( const char* trans, const MKL_INT64* n,
                           const MKL_INT64* nrhs, const double* a, const MKL_INT64* lda,
                           const MKL_INT64* stride_a, const MKL_INT64* ipiv,
                           const MKL_INT64* stride_ipiv, double* b,
                           const MKL_INT64* ldb, const MKL_INT64* stride_b,
                           const MKL_INT64* batch_size, MKL_INT64* info ) NOTHROW;

void CGETRS_BATCH_STRIDED_64( const char* trans, const MKL_INT64* n,
                           const MKL_INT64* nrhs, const MKL_Complex8* a,
                           const MKL_INT64* lda, const MKL_INT64* stride_a,
                           const MKL_INT64* ipiv, const MKL_INT64* stride_ipiv,
                           MKL_Complex8* b, const MKL_INT64* ldb,
                           const MKL_INT64* stride_b, const MKL_INT64* batch_size,
                           MKL_INT64* info ) NOTHROW;
void cgetrs_batch_strided_64( const char* trans, const MKL_INT64* n,
                           const MKL_INT64* nrhs, const MKL_Complex8* a,
                           const MKL_INT64* lda, const MKL_INT64* stride_a,
                           const MKL_INT64* ipiv, const MKL_INT64* stride_ipiv,
                           MKL_Complex8* b, const MKL_INT64* ldb,
                           const MKL_INT64* stride_b, const MKL_INT64* batch_size,
                           MKL_INT64* info ) NOTHROW;

void ZGETRS_BATCH_STRIDED_64( const char* trans, const MKL_INT64* n,
                           const MKL_INT64* nrhs, const MKL_Complex16* a,
                           const MKL_INT64* lda, const MKL_INT64* stride_a,
                           const MKL_INT64* ipiv, const MKL_INT64* stride_ipiv,
                           MKL_Complex16* b, const MKL_INT64* ldb,
                           const MKL_INT64* stride_b, const MKL_INT64* batch_size,
                           MKL_INT64* info ) NOTHROW;
void zgetrs_batch_strided_64( const char* trans, const MKL_INT64* n,
                           const MKL_INT64* nrhs, const MKL_Complex16* a,
                           const MKL_INT64* lda, const MKL_INT64* stride_a,
                           const MKL_INT64* ipiv, const MKL_INT64* stride_ipiv,
                           MKL_Complex16* b, const MKL_INT64* ldb,
                           const MKL_INT64* stride_b, const MKL_INT64* batch_size,
                           MKL_INT64* info ) NOTHROW;

void SGETRFNP_BATCH_STRIDED_64( const MKL_INT64* m, const MKL_INT64* n, float* a,
                             const MKL_INT64* lda, const MKL_INT64* stride_a,
                             const MKL_INT64* batch_size, MKL_INT64* info ) NOTHROW;
void sgetrfnp_batch_strided_64( const MKL_INT64* m, const MKL_INT64* n, float* a,
                             const MKL_INT64* lda, const MKL_INT64* stride_a,
                             const MKL_INT64* batch_size, MKL_INT64* info ) NOTHROW;

void DGETRFNP_BATCH_STRIDED_64( const MKL_INT64* m, const MKL_INT64* n, double* a,
                             const MKL_INT64* lda, const MKL_INT64* stride_a,
                             const MKL_INT64* batch_size, MKL_INT64* info ) NOTHROW;
void dgetrfnp_batch_strided_64( const MKL_INT64* m, const MKL_INT64* n, double* a,
                             const MKL_INT64* lda, const MKL_INT64* stride_a,
                             const MKL_INT64* batch_size, MKL_INT64* info ) NOTHROW;

void CGETRFNP_BATCH_STRIDED_64( const MKL_INT64* m, const MKL_INT64* n, MKL_Complex8* a,
                             const MKL_INT64* lda, const MKL_INT64* stride_a,
                             const MKL_INT64* batch_size, MKL_INT64* info ) NOTHROW;
void cgetrfnp_batch_strided_64( const MKL_INT64* m, const MKL_INT64* n, MKL_Complex8* a,
                             const MKL_INT64* lda, const MKL_INT64* stride_a,
                             const MKL_INT64* batch_size, MKL_INT64* info ) NOTHROW;

void ZGETRFNP_BATCH_STRIDED_64( const MKL_INT64* m, const MKL_INT64* n,
                             MKL_Complex16* a, const MKL_INT64* lda,
                             const MKL_INT64* stride_a,
                             const MKL_INT64* batch_size, MKL_INT64* info ) NOTHROW;
void zgetrfnp_batch_strided_64( const MKL_INT64* m, const MKL_INT64* n,
                             MKL_Complex16* a, const MKL_INT64* lda,
                             const MKL_INT64* stride_a,
                             const MKL_INT64* batch_size, MKL_INT64* info ) NOTHROW;

void SGETRSNP_BATCH_STRIDED_64( const char* trans, const MKL_INT64* n,
                             const MKL_INT64* nrhs, const float* a, const MKL_INT64* lda,
                             const MKL_INT64* stride_a, float* b,
                             const MKL_INT64* ldb, const MKL_INT64* stride_b,
                             const MKL_INT64* batch_size, MKL_INT64* info ) NOTHROW;
void sgetrsnp_batch_strided_64( const char* trans, const MKL_INT64* n,
                             const MKL_INT64* nrhs, const float* a, const MKL_INT64* lda,
                             const MKL_INT64* stride_a, float* b,
                             const MKL_INT64* ldb, const MKL_INT64* stride_b,
                             const MKL_INT64* batch_size, MKL_INT64* info ) NOTHROW;

void DGETRSNP_BATCH_STRIDED_64( const char* trans, const MKL_INT64* n,
                             const MKL_INT64* nrhs, const double* a, const MKL_INT64* lda,
                             const MKL_INT64* stride_a, double* b,
                             const MKL_INT64* ldb, const MKL_INT64* stride_b,
                             const MKL_INT64* batch_size, MKL_INT64* info ) NOTHROW;
void dgetrsnp_batch_strided_64( const char* trans, const MKL_INT64* n,
                             const MKL_INT64* nrhs, const double* a, const MKL_INT64* lda,
                             const MKL_INT64* stride_a, double* b,
                             const MKL_INT64* ldb, const MKL_INT64* stride_b,
                             const MKL_INT64* batch_size, MKL_INT64* info ) NOTHROW;

void CGETRSNP_BATCH_STRIDED_64( const char* trans, const MKL_INT64* n,
                             const MKL_INT64* nrhs, const MKL_Complex8* a,
                             const MKL_INT64* lda, const MKL_INT64* stride_a,
                             MKL_Complex8* b, const MKL_INT64* ldb,
                             const MKL_INT64* stride_b, const MKL_INT64* batch_size,
                             MKL_INT64* info ) NOTHROW;
void cgetrsnp_batch_strided_64( const char* trans, const MKL_INT64* n,
                             const MKL_INT64* nrhs, const MKL_Complex8* a,
                             const MKL_INT64* lda, const MKL_INT64* stride_a,
                             MKL_Complex8* b, const MKL_INT64* ldb,
                             const MKL_INT64* stride_b, const MKL_INT64* batch_size,
                             MKL_INT64* info ) NOTHROW;

void ZGETRSNP_BATCH_STRIDED_64( const char* trans, const MKL_INT64* n,
                             const MKL_INT64* nrhs, const MKL_Complex16* a,
                             const MKL_INT64* lda, const MKL_INT64* stride_a,
                             MKL_Complex16* b, const MKL_INT64* ldb,
                             const MKL_INT64* stride_b, const MKL_INT64* batch_size,
                             MKL_INT64* info ) NOTHROW;
void zgetrsnp_batch_strided_64( const char* trans, const MKL_INT64* n,
                             const MKL_INT64* nrhs, const MKL_Complex16* a,
                             const MKL_INT64* lda, const MKL_INT64* stride_a,
                             MKL_Complex16* b, const MKL_INT64* ldb,
                             const MKL_INT64* stride_b, const MKL_INT64* batch_size,
                             MKL_INT64* info ) NOTHROW;

void DGETRF_BATCH_64( const MKL_INT64* m, const MKL_INT64* n, double** a,
                   const MKL_INT64* lda, MKL_INT64** ipiv,
                   const MKL_INT64* group_count, const MKL_INT64* group_size,
                   MKL_INT64* info ) NOTHROW;
void dgetrf_batch_64( const MKL_INT64* m, const MKL_INT64* n, double** a,
                   const MKL_INT64* lda, MKL_INT64** ipiv,
                   const MKL_INT64* group_count, const MKL_INT64* group_size,
                   MKL_INT64* info ) NOTHROW;

void SGETRF_BATCH_64( const MKL_INT64* m, const MKL_INT64* n, float** a,
                   const MKL_INT64* lda, MKL_INT64** ipiv,
                   const MKL_INT64* group_count, const MKL_INT64* group_size,
                   MKL_INT64* info ) NOTHROW;
void sgetrf_batch_64( const MKL_INT64* m, const MKL_INT64* n, float** a,
                   const MKL_INT64* lda, MKL_INT64** ipiv,
                   const MKL_INT64* group_count, const MKL_INT64* group_size,
                   MKL_INT64* info ) NOTHROW;

void CGETRF_BATCH_64( const MKL_INT64* m, const MKL_INT64* n, MKL_Complex8** a,
                   const MKL_INT64* lda, MKL_INT64** ipiv,
                   const MKL_INT64* group_count, const MKL_INT64* group_size,
                   MKL_INT64* info ) NOTHROW;
void cgetrf_batch_64( const MKL_INT64* m, const MKL_INT64* n, MKL_Complex8** a,
                   const MKL_INT64* lda, MKL_INT64** ipiv,
                   const MKL_INT64* group_count, const MKL_INT64* group_size,
                   MKL_INT64* info ) NOTHROW;

void ZGETRF_BATCH_64( const MKL_INT64* m, const MKL_INT64* n, MKL_Complex16** a,
                   const MKL_INT64* lda, MKL_INT64** ipiv,
                   const MKL_INT64* group_count, const MKL_INT64* group_size,
                   MKL_INT64* info ) NOTHROW;
void zgetrf_batch_64( const MKL_INT64* m, const MKL_INT64* n, MKL_Complex16** a,
                   const MKL_INT64* lda, MKL_INT64** ipiv,
                   const MKL_INT64* group_count, const MKL_INT64* group_size,
                   MKL_INT64* info ) NOTHROW;

void SGETRI_OOP_BATCH_STRIDED_64( const MKL_INT64* n, const float* a, const MKL_INT64* lda,
                               const MKL_INT64* stridea, const MKL_INT64* ipiv,
                               const MKL_INT64* stride_ipiv, float* ainv, const MKL_INT64* ldainv,
                               const MKL_INT64* stride_ainv, const MKL_INT64* batch_size,
                               MKL_INT64* info ) NOTHROW;
void sgetri_oop_batch_strided_64( const MKL_INT64* n, const float* a, const MKL_INT64* lda,
                               const MKL_INT64* stridea, const MKL_INT64* ipiv,
                               const MKL_INT64* stride_ipiv, float* ainv, const MKL_INT64* ldainv,
                               const MKL_INT64* stride_ainv, const MKL_INT64* batch_size,
                               MKL_INT64* info ) NOTHROW;

void DGETRI_OOP_BATCH_STRIDED_64( const MKL_INT64* n, const double* a, const MKL_INT64* lda,
                               const MKL_INT64* stridea, const MKL_INT64* ipiv,
                               const MKL_INT64* stride_ipiv, double* ainv, const MKL_INT64* ldainv,
                               const MKL_INT64* stride_ainv, const MKL_INT64* batch_size,
                               MKL_INT64* info ) NOTHROW;
void dgetri_oop_batch_strided_64( const MKL_INT64* n, const double* a, const MKL_INT64* lda,
                               const MKL_INT64* stridea, const MKL_INT64* ipiv,
                               const MKL_INT64* stride_ipiv, double* ainv, const MKL_INT64* ldainv,
                               const MKL_INT64* stride_ainv, const MKL_INT64* batch_size,
                               MKL_INT64* info ) NOTHROW;

void CGETRI_OOP_BATCH_STRIDED_64( const MKL_INT64* n, const MKL_Complex8* a, const MKL_INT64* lda,
                               const MKL_INT64* stridea, const MKL_INT64* ipiv,
                               const MKL_INT64* stride_ipiv, MKL_Complex8* ainv,
                               const MKL_INT64* ldainv, const MKL_INT64* stride_ainv,
                               const MKL_INT64* batch_size, MKL_INT64* info ) NOTHROW;
void cgetri_oop_batch_strided_64( const MKL_INT64* n, const MKL_Complex8* a, const MKL_INT64* lda,
                               const MKL_INT64* stridea, const MKL_INT64* ipiv,
                               const MKL_INT64* stride_ipiv, MKL_Complex8* ainv,
                               const MKL_INT64* ldainv, const MKL_INT64* stride_ainv,
                               const MKL_INT64* batch_size, MKL_INT64* info ) NOTHROW;

void ZGETRI_OOP_BATCH_STRIDED_64( const MKL_INT64* n, const MKL_Complex16* a, const MKL_INT64* lda,
                               const MKL_INT64* stridea, const MKL_INT64* ipiv,
                               const MKL_INT64* stride_ipiv, MKL_Complex16* ainv,
                               const MKL_INT64* ldainv, const MKL_INT64* stride_ainv,
                               const MKL_INT64* batch_size, MKL_INT64* info ) NOTHROW;
void zgetri_oop_batch_strided_64( const MKL_INT64* n, const MKL_Complex16* a, const MKL_INT64* lda,
                               const MKL_INT64* stridea, const MKL_INT64* ipiv,
                               const MKL_INT64* stride_ipiv, MKL_Complex16* ainv,
                               const MKL_INT64* ldainv, const MKL_INT64* stride_ainv,
                               const MKL_INT64* batch_size, MKL_INT64* info ) NOTHROW;

void SGETRI_OOP_BATCH_64( const MKL_INT64* n, const float** a, const MKL_INT64* lda,
                       const MKL_INT64** ipiv, float** ainv, const MKL_INT64* ldainv,
                       const MKL_INT64* group_count, const MKL_INT64* group_size,
                       MKL_INT64* info ) NOTHROW;
void sgetri_oop_batch_64( const MKL_INT64* n, const float** a, const MKL_INT64* lda,
                       const MKL_INT64** ipiv, float** ainv, const MKL_INT64* ldainv,
                       const MKL_INT64* group_count, const MKL_INT64* group_size,
                       MKL_INT64* info ) NOTHROW;

void DGETRI_OOP_BATCH_64( const MKL_INT64* n, const double** a, const MKL_INT64* lda,
                       const MKL_INT64** ipiv, double** ainv, const MKL_INT64* ldainv,
                       const MKL_INT64* group_count, const MKL_INT64* group_size,
                       MKL_INT64* info ) NOTHROW;
void dgetri_oop_batch_64( const MKL_INT64* n, const double** a, const MKL_INT64* lda,
                       const MKL_INT64** ipiv, double** ainv, const MKL_INT64* ldainv,
                       const MKL_INT64* group_count, const MKL_INT64* group_size,
                       MKL_INT64* info ) NOTHROW;

void CGETRI_OOP_BATCH_64( const MKL_INT64* n, const MKL_Complex8** a, const MKL_INT64* lda,
                       const MKL_INT64** ipiv, MKL_Complex8** ainv, const MKL_INT64* ldainv,
                       const MKL_INT64* group_count, const MKL_INT64* group_size,
                       MKL_INT64* info ) NOTHROW;
void cgetri_oop_batch_64( const MKL_INT64* n, const MKL_Complex8** a, const MKL_INT64* lda,
                       const MKL_INT64** ipiv, MKL_Complex8** ainv, const MKL_INT64* ldainv,
                       const MKL_INT64* group_count, const MKL_INT64* group_size,
                       MKL_INT64* info ) NOTHROW;

void ZGETRI_OOP_BATCH_64( const MKL_INT64* n, const MKL_Complex16** a, const MKL_INT64* lda,
                       const MKL_INT64** ipiv, MKL_Complex16** ainv, const MKL_INT64* ldainv,
                       const MKL_INT64* group_count, const MKL_INT64* group_size,
                       MKL_INT64* info ) NOTHROW;
void zgetri_oop_batch_64( const MKL_INT64* n, const MKL_Complex16** a, const MKL_INT64* lda,
                       const MKL_INT64** ipiv, MKL_Complex16** ainv, const MKL_INT64* ldainv,
                       const MKL_INT64* group_count, const MKL_INT64* group_size,
                       MKL_INT64* info ) NOTHROW;

/* LAPACK 3.6.0 routines */

void CGEJSV_64( const char* joba, const char* jobu, const char* jobv, const char* jobr,
             const char* jobt, const char* jobp, const MKL_INT64* m, const MKL_INT64* n,
             MKL_Complex8* a, const MKL_INT64* lda, float* sva, MKL_Complex8* u, const MKL_INT64* ldu,
             MKL_Complex8* v, const MKL_INT64* ldv, MKL_Complex8* cwork, const MKL_INT64* lwork,
             float* rwork, const MKL_INT64* lrwork, MKL_INT64* iwork, MKL_INT64* info ) NOTHROW;
void cgejsv_64( const char* joba, const char* jobu, const char* jobv, const char* jobr,
             const char* jobt, const char* jobp, const MKL_INT64* m, const MKL_INT64* n,
             MKL_Complex8* a, const MKL_INT64* lda, float* sva, MKL_Complex8* u, const MKL_INT64* ldu,
             MKL_Complex8* v, const MKL_INT64* ldv, MKL_Complex8* cwork, const MKL_INT64* lwork,
             float* rwork, const MKL_INT64* lrwork, MKL_INT64* iwork, MKL_INT64* info ) NOTHROW;

void ZGEJSV_64( const char* joba, const char* jobu, const char* jobv, const char* jobr,
             const char* jobt, const char* jobp, const MKL_INT64* m, const MKL_INT64* n,
             MKL_Complex16* a, const MKL_INT64* lda, double* sva, MKL_Complex16* u,
             const MKL_INT64* ldu, MKL_Complex16* v, const MKL_INT64* ldv, MKL_Complex16* cwork,
             const MKL_INT64* lwork, double* rwork, const MKL_INT64* lrwork, MKL_INT64* iwork,
             MKL_INT64* info ) NOTHROW;
void zgejsv_64( const char* joba, const char* jobu, const char* jobv, const char* jobr,
             const char* jobt, const char* jobp, const MKL_INT64* m, const MKL_INT64* n,
             MKL_Complex16* a, const MKL_INT64* lda, double* sva, MKL_Complex16* u,
             const MKL_INT64* ldu, MKL_Complex16* v, const MKL_INT64* ldv, MKL_Complex16* cwork,
             const MKL_INT64* lwork, double* rwork, const MKL_INT64* lrwork, MKL_INT64* iwork,
             MKL_INT64* info ) NOTHROW;

void DGESVDX_64( const char* jobu, const char* jobvt, const char* range, const MKL_INT64* m,
              const MKL_INT64* n, double* a, const MKL_INT64* lda, const double* vl,
              const double* vu, const MKL_INT64* il, const MKL_INT64* iu, MKL_INT64* ns,
              double* s, double* u, const MKL_INT64* ldu, double* vt, const MKL_INT64* ldvt,
              double* work, const MKL_INT64* lwork, MKL_INT64* iwork, MKL_INT64* info ) NOTHROW;
void dgesvdx_64( const char* jobu, const char* jobvt, const char* range, const MKL_INT64* m,
              const MKL_INT64* n, double* a, const MKL_INT64* lda, const double* vl,
              const double* vu, const MKL_INT64* il, const MKL_INT64* iu, MKL_INT64* ns,
              double* s, double* u, const MKL_INT64* ldu, double* vt, const MKL_INT64* ldvt,
              double* work, const MKL_INT64* lwork, MKL_INT64* iwork, MKL_INT64* info ) NOTHROW;

void SGESVDX_64( const char* jobu, const char* jobvt, const char* range, const MKL_INT64* m,
              const MKL_INT64* n, float* a, const MKL_INT64* lda, const float* vl, const float* vu,
              const MKL_INT64* il, const MKL_INT64* iu, MKL_INT64* ns, float* s,
              float* u, const MKL_INT64* ldu, float* vt, const MKL_INT64* ldvt, float* work,
              const MKL_INT64* lwork, MKL_INT64* iwork, MKL_INT64* info ) NOTHROW;
void sgesvdx_64( const char* jobu, const char* jobvt, const char* range, const MKL_INT64* m,
              const MKL_INT64* n, float* a, const MKL_INT64* lda, const float* vl, const float* vu,
              const MKL_INT64* il, const MKL_INT64* iu, MKL_INT64* ns, float* s,
              float* u, const MKL_INT64* ldu, float* vt, const MKL_INT64* ldvt, float* work,
              const MKL_INT64* lwork, MKL_INT64* iwork, MKL_INT64* info ) NOTHROW;

void CGESVDX_64( const char* jobu, const char* jobvt, const char* range, const MKL_INT64* m,
              const MKL_INT64* n, MKL_Complex8* a, const MKL_INT64* lda, const float* vl,
              const float* vu, const MKL_INT64* il, const MKL_INT64* iu, MKL_INT64* ns,
              float* s, MKL_Complex8* u, const MKL_INT64* ldu, MKL_Complex8* vt, const MKL_INT64* ldvt,
              MKL_Complex8* work,const MKL_INT64* lwork, float* rwork, MKL_INT64* iwork,
              MKL_INT64* info ) NOTHROW;
void cgesvdx_64( const char* jobu, const char* jobvt, const char* range, const MKL_INT64* m,
              const MKL_INT64* n, MKL_Complex8* a, const MKL_INT64* lda, const float* vl,
              const float* vu, const MKL_INT64* il, const MKL_INT64* iu, MKL_INT64* ns,
              float* s, MKL_Complex8* u, const MKL_INT64* ldu, MKL_Complex8* vt, const MKL_INT64* ldvt,
              MKL_Complex8* work,const MKL_INT64* lwork, float* rwork, MKL_INT64* iwork,
              MKL_INT64* info ) NOTHROW;

void ZGESVDX_64( const char* jobu, const char* jobvt, const char* range, const MKL_INT64* m,
              const MKL_INT64* n, MKL_Complex16* a, const MKL_INT64* lda, const double* vl,
              const double* vu, const MKL_INT64* il, const MKL_INT64* iu, MKL_INT64* ns,
              double* s, MKL_Complex16* u, const MKL_INT64* ldu, MKL_Complex16* vt,
              const MKL_INT64* ldvt, MKL_Complex16* work,const MKL_INT64* lwork, double* rwork,
              MKL_INT64* iwork, MKL_INT64* info ) NOTHROW;
void zgesvdx_64( const char* jobu, const char* jobvt, const char* range, const MKL_INT64* m,
              const MKL_INT64* n, MKL_Complex16* a, const MKL_INT64* lda, const double* vl,
              const double* vu, const MKL_INT64* il, const MKL_INT64* iu, MKL_INT64* ns,
              double* s, MKL_Complex16* u, const MKL_INT64* ldu, MKL_Complex16* vt,
              const MKL_INT64* ldvt, MKL_Complex16* work,const MKL_INT64* lwork, double* rwork,
              MKL_INT64* iwork, MKL_INT64* info ) NOTHROW;

void CGESVJ_64( const char* joba, const char* jobu, const char* jobv, const MKL_INT64* m,
             const MKL_INT64* n, MKL_Complex8* a, const MKL_INT64* lda, float* sva,
             const MKL_INT64* mv, MKL_Complex8* v, const MKL_INT64* ldv, MKL_Complex8* cwork,
             const MKL_INT64* lwork, float* rwork, const MKL_INT64* lrwork, MKL_INT64* info ) NOTHROW;
void cgesvj_64( const char* joba, const char* jobu, const char* jobv, const MKL_INT64* m,
             const MKL_INT64* n, MKL_Complex8* a, const MKL_INT64* lda, float* sva,
             const MKL_INT64* mv, MKL_Complex8* v, const MKL_INT64* ldv, MKL_Complex8* cwork,
             const MKL_INT64* lwork, float* rwork, const MKL_INT64* lrwork, MKL_INT64* info ) NOTHROW;

void ZGESVJ_64( const char* joba, const char* jobu, const char* jobv, const MKL_INT64* m,
             const MKL_INT64* n, MKL_Complex16* a, const MKL_INT64* lda, double* sva,
             const MKL_INT64* mv, MKL_Complex16* v, const MKL_INT64* ldv, MKL_Complex16* cwork,
             const MKL_INT64* lwork, double* rwork, const MKL_INT64* lrwork, MKL_INT64* info ) NOTHROW;
void zgesvj_64( const char* joba, const char* jobu, const char* jobv, const MKL_INT64* m,
             const MKL_INT64* n, MKL_Complex16* a, const MKL_INT64* lda, double* sva,
             const MKL_INT64* mv, MKL_Complex16* v, const MKL_INT64* ldv, MKL_Complex16* cwork,
             const MKL_INT64* lwork, double* rwork, const MKL_INT64* lrwork, MKL_INT64* info ) NOTHROW;

void DGGSVD3_64( const char* jobu, const char* jobv, const char* jobq, const MKL_INT64* m,
              const MKL_INT64* n, const MKL_INT64* p, MKL_INT64* k, MKL_INT64* l, double* a,
              const MKL_INT64* lda, double* b, const MKL_INT64* ldb, double* alpha,
              double* beta, double* u, const MKL_INT64* ldu, double* v, const MKL_INT64* ldv,
              double* q, const MKL_INT64* ldq, double* work, const MKL_INT64* lwork,
              MKL_INT64* iwork, MKL_INT64* info ) NOTHROW;
void dggsvd3_64( const char* jobu, const char* jobv, const char* jobq, const MKL_INT64* m,
              const MKL_INT64* n, const MKL_INT64* p, MKL_INT64* k, MKL_INT64* l, double* a,
              const MKL_INT64* lda, double* b, const MKL_INT64* ldb, double* alpha,
              double* beta, double* u, const MKL_INT64* ldu, double* v, const MKL_INT64* ldv,
              double* q, const MKL_INT64* ldq, double* work, const MKL_INT64* lwork,
              MKL_INT64* iwork, MKL_INT64* info ) NOTHROW;

void SGGSVD3_64( const char* jobu, const char* jobv, const char* jobq, const MKL_INT64* m,
              const MKL_INT64* n, const MKL_INT64* p, MKL_INT64* k, MKL_INT64* l, float* a,
              const MKL_INT64* lda, float* b, const MKL_INT64* ldb, float* alpha, float* beta,
              float* u, const MKL_INT64* ldu, float* v, const MKL_INT64* ldv, float* q,
              const MKL_INT64* ldq, float* work, const MKL_INT64* lwork, MKL_INT64* iwork,
              MKL_INT64* info ) NOTHROW;
void sggsvd3_64( const char* jobu, const char* jobv, const char* jobq, const MKL_INT64* m,
              const MKL_INT64* n, const MKL_INT64* p, MKL_INT64* k, MKL_INT64* l, float* a,
              const MKL_INT64* lda, float* b, const MKL_INT64* ldb, float* alpha, float* beta,
              float* u, const MKL_INT64* ldu, float* v, const MKL_INT64* ldv, float* q,
              const MKL_INT64* ldq, float* work, const MKL_INT64* lwork, MKL_INT64* iwork,
              MKL_INT64* info ) NOTHROW;

void CGGSVD3_64( const char* jobu, const char* jobv, const char* jobq, const MKL_INT64* m,
              const MKL_INT64* n, const MKL_INT64* p, MKL_INT64* k, MKL_INT64* l, MKL_Complex8* a,
              const MKL_INT64* lda, MKL_Complex8* b, const MKL_INT64* ldb, float* alpha,
              float* beta, MKL_Complex8* u, const MKL_INT64* ldu, MKL_Complex8* v,
              const MKL_INT64* ldv, MKL_Complex8* q, const MKL_INT64* ldq, MKL_Complex8* work,
              const MKL_INT64* lwork, float* rwork, MKL_INT64* iwork, MKL_INT64* info ) NOTHROW;
void cggsvd3_64( const char* jobu, const char* jobv, const char* jobq, const MKL_INT64* m,
              const MKL_INT64* n, const MKL_INT64* p, MKL_INT64* k, MKL_INT64* l, MKL_Complex8* a,
              const MKL_INT64* lda, MKL_Complex8* b, const MKL_INT64* ldb, float* alpha,
              float* beta, MKL_Complex8* u, const MKL_INT64* ldu, MKL_Complex8* v,
              const MKL_INT64* ldv, MKL_Complex8* q, const MKL_INT64* ldq, MKL_Complex8* work,
              const MKL_INT64* lwork, float* rwork, MKL_INT64* iwork, MKL_INT64* info ) NOTHROW;

void ZGGSVD3_64( const char* jobu, const char* jobv, const char* jobq, const MKL_INT64* m,
              const MKL_INT64* n, const MKL_INT64* p, MKL_INT64* k, MKL_INT64* l, MKL_Complex16* a,
              const MKL_INT64* lda, MKL_Complex16* b, const MKL_INT64* ldb, double* alpha,
              double* beta, MKL_Complex16* u, const MKL_INT64* ldu, MKL_Complex16* v,
              const MKL_INT64* ldv, MKL_Complex16* q, const MKL_INT64* ldq, MKL_Complex16* work,
              const MKL_INT64* lwork, double* rwork, MKL_INT64* iwork, MKL_INT64* info ) NOTHROW;
void zggsvd3_64( const char* jobu, const char* jobv, const char* jobq, const MKL_INT64* m,
              const MKL_INT64* n, const MKL_INT64* p, MKL_INT64* k, MKL_INT64* l, MKL_Complex16* a,
              const MKL_INT64* lda, MKL_Complex16* b, const MKL_INT64* ldb, double* alpha,
              double* beta, MKL_Complex16* u, const MKL_INT64* ldu, MKL_Complex16* v,
              const MKL_INT64* ldv, MKL_Complex16* q, const MKL_INT64* ldq, MKL_Complex16* work,
              const MKL_INT64* lwork, double* rwork, MKL_INT64* iwork, MKL_INT64* info ) NOTHROW;

void DGGSVP3_64( const char* jobu, const char* jobv, const char* jobq, const MKL_INT64* m,
              const MKL_INT64* p, const MKL_INT64* n, double* a, const MKL_INT64* lda,
              double* b, const MKL_INT64* ldb, const double* tola, const double* tolb,
              MKL_INT64* k, MKL_INT64* l, double* u, const MKL_INT64* ldu, double* v,
              const MKL_INT64* ldv, double* q, const MKL_INT64* ldq, MKL_INT64* iwork,
              double* tau, double* work, const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;
void dggsvp3_64( const char* jobu, const char* jobv, const char* jobq, const MKL_INT64* m,
              const MKL_INT64* p, const MKL_INT64* n, double* a, const MKL_INT64* lda,
              double* b, const MKL_INT64* ldb, const double* tola, const double* tolb,
              MKL_INT64* k, MKL_INT64* l, double* u, const MKL_INT64* ldu, double* v,
              const MKL_INT64* ldv, double* q, const MKL_INT64* ldq, MKL_INT64* iwork,
              double* tau, double* work, const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;

void SGGSVP3_64( const char* jobu, const char* jobv, const char* jobq, const MKL_INT64* m,
              const MKL_INT64* p, const MKL_INT64* n, float* a, const MKL_INT64* lda,
              float* b, const MKL_INT64* ldb, const float* tola, const float* tolb,
              MKL_INT64* k, MKL_INT64* l, float* u, const MKL_INT64* ldu, float* v, const MKL_INT64* ldv,
              float* q, const MKL_INT64* ldq, MKL_INT64* iwork, float* tau, float* work,
              const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;
void sggsvp3_64( const char* jobu, const char* jobv, const char* jobq, const MKL_INT64* m,
              const MKL_INT64* p, const MKL_INT64* n, float* a, const MKL_INT64* lda,
              float* b, const MKL_INT64* ldb, const float* tola, const float* tolb,
              MKL_INT64* k, MKL_INT64* l, float* u, const MKL_INT64* ldu, float* v, const MKL_INT64* ldv,
              float* q, const MKL_INT64* ldq, MKL_INT64* iwork, float* tau, float* work,
              const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;

void CGGSVP3_64( const char* jobu, const char* jobv, const char* jobq, const MKL_INT64* m,
              const MKL_INT64* p, const MKL_INT64* n, MKL_Complex8* a, const MKL_INT64* lda,
              MKL_Complex8* b, const MKL_INT64* ldb, const float* tola, const float* tolb,
              MKL_INT64* k, MKL_INT64* l, MKL_Complex8* u, const MKL_INT64* ldu, MKL_Complex8* v,
              const MKL_INT64* ldv, MKL_Complex8* q, const MKL_INT64* ldq, MKL_INT64* iwork,
              float* rwork, MKL_Complex8* tau, MKL_Complex8* work, const MKL_INT64* lwork,
              MKL_INT64* info ) NOTHROW;
void cggsvp3_64( const char* jobu, const char* jobv, const char* jobq, const MKL_INT64* m,
              const MKL_INT64* p, const MKL_INT64* n, MKL_Complex8* a, const MKL_INT64* lda,
              MKL_Complex8* b, const MKL_INT64* ldb, const float* tola, const float* tolb,
              MKL_INT64* k, MKL_INT64* l, MKL_Complex8* u, const MKL_INT64* ldu, MKL_Complex8* v,
              const MKL_INT64* ldv, MKL_Complex8* q, const MKL_INT64* ldq, MKL_INT64* iwork,
              float* rwork, MKL_Complex8* tau, MKL_Complex8* work, const MKL_INT64* lwork,
              MKL_INT64* info ) NOTHROW;

void ZGGSVP3_64( const char* jobu, const char* jobv, const char* jobq, const MKL_INT64* m,
              const MKL_INT64* p, const MKL_INT64* n, MKL_Complex16* a, const MKL_INT64* lda,
              MKL_Complex16* b, const MKL_INT64* ldb, const double* tola, const double* tolb,
              MKL_INT64* k, MKL_INT64* l, MKL_Complex16* u, const MKL_INT64* ldu, MKL_Complex16* v,
              const MKL_INT64* ldv, MKL_Complex16* q, const MKL_INT64* ldq, MKL_INT64* iwork,
              double* rwork, MKL_Complex16* tau, MKL_Complex16* work, const MKL_INT64* lwork,
              MKL_INT64* info ) NOTHROW;
void zggsvp3_64( const char* jobu, const char* jobv, const char* jobq, const MKL_INT64* m,
              const MKL_INT64* p, const MKL_INT64* n, MKL_Complex16* a, const MKL_INT64* lda,
              MKL_Complex16* b, const MKL_INT64* ldb, const double* tola, const double* tolb,
              MKL_INT64* k, MKL_INT64* l, MKL_Complex16* u, const MKL_INT64* ldu, MKL_Complex16* v,
              const MKL_INT64* ldv, MKL_Complex16* q, const MKL_INT64* ldq, MKL_INT64* iwork,
              double* rwork, MKL_Complex16* tau, MKL_Complex16* work, const MKL_INT64* lwork,
              MKL_INT64* info ) NOTHROW;

void CGSVJ0_64( const char* jobv, const MKL_INT64* m, const MKL_INT64* n, MKL_Complex8* a,
             const MKL_INT64* lda, MKL_Complex8* d, float* sva, const MKL_INT64* mv,
             MKL_Complex8* v, const MKL_INT64* ldv, const float* eps, const float* sfmin,
             const float* tol, const MKL_INT64* nsweep, MKL_Complex8* work, const MKL_INT64* lwork,
             MKL_INT64* info ) NOTHROW;
void cgsvj0_64( const char* jobv, const MKL_INT64* m, const MKL_INT64* n, MKL_Complex8* a,
             const MKL_INT64* lda, MKL_Complex8* d, float* sva, const MKL_INT64* mv,
             MKL_Complex8* v, const MKL_INT64* ldv, const float* eps, const float* sfmin,
             const float* tol, const MKL_INT64* nsweep, MKL_Complex8* work, const MKL_INT64* lwork,
             MKL_INT64* info ) NOTHROW;

void ZGSVJ0_64( const char* jobv, const MKL_INT64* m, const MKL_INT64* n, MKL_Complex16* a,
             const MKL_INT64* lda, MKL_Complex16* d, double* sva, const MKL_INT64* mv,
             MKL_Complex16* v, const MKL_INT64* ldv, const double* eps, const double* sfmin,
             const double* tol, const MKL_INT64* nsweep, MKL_Complex16* work, const MKL_INT64* lwork,
             MKL_INT64* info ) NOTHROW;
void zgsvj0_64( const char* jobv, const MKL_INT64* m, const MKL_INT64* n, MKL_Complex16* a,
             const MKL_INT64* lda, MKL_Complex16* d, double* sva, const MKL_INT64* mv,
             MKL_Complex16* v, const MKL_INT64* ldv, const double* eps, const double* sfmin,
             const double* tol, const MKL_INT64* nsweep, MKL_Complex16* work, const MKL_INT64* lwork,
             MKL_INT64* info ) NOTHROW;

void CGSVJ1_64( const char* jobv, const MKL_INT64* m, const MKL_INT64* n, const MKL_INT64* n1,
             MKL_Complex8* a, const MKL_INT64* lda, MKL_Complex8* d, float* sva, const MKL_INT64* mv,
             MKL_Complex8* v, const MKL_INT64* ldv, const float* eps, const float* sfmin,
             const float* tol, const MKL_INT64* nsweep, MKL_Complex8* work, const MKL_INT64* lwork,
             MKL_INT64* info ) NOTHROW;
void cgsvj1_64( const char* jobv, const MKL_INT64* m, const MKL_INT64* n, const MKL_INT64* n1,
             MKL_Complex8* a, const MKL_INT64* lda, MKL_Complex8* d, float* sva, const MKL_INT64* mv,
             MKL_Complex8* v, const MKL_INT64* ldv, const float* eps, const float* sfmin,
             const float* tol, const MKL_INT64* nsweep, MKL_Complex8* work, const MKL_INT64* lwork,
             MKL_INT64* info ) NOTHROW;

void ZGSVJ1_64( const char* jobv, const MKL_INT64* m, const MKL_INT64* n, const MKL_INT64* n1,
             MKL_Complex16* a, const MKL_INT64* lda, MKL_Complex16* d, double* sva,
             const MKL_INT64* mv, MKL_Complex16* v, const MKL_INT64* ldv, const double* eps,
             const double* sfmin, const double* tol, const MKL_INT64* nsweep, MKL_Complex16* work,
             const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;
void zgsvj1_64( const char* jobv, const MKL_INT64* m, const MKL_INT64* n, const MKL_INT64* n1,
             MKL_Complex16* a, const MKL_INT64* lda, MKL_Complex16* d, double* sva,
             const MKL_INT64* mv, MKL_Complex16* v, const MKL_INT64* ldv, const double* eps,
             const double* sfmin, const double* tol, const MKL_INT64* nsweep, MKL_Complex16* work,
             const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;

void CPOTRF2_64( const char* uplo, const MKL_INT64* n, MKL_Complex8* a, const MKL_INT64* lda,
              MKL_INT64* info ) NOTHROW;
void cpotrf2_64( const char* uplo, const MKL_INT64* n, MKL_Complex8* a, const MKL_INT64* lda,
              MKL_INT64* info ) NOTHROW;

void DPOTRF2_64( const char* uplo, const MKL_INT64* n, double* a, const MKL_INT64* lda,
              MKL_INT64* info ) NOTHROW;
void dpotrf2_64( const char* uplo, const MKL_INT64* n, double* a, const MKL_INT64* lda,
              MKL_INT64* info ) NOTHROW;

void SPOTRF2_64( const char* uplo, const MKL_INT64* n, float* a, const MKL_INT64* lda, MKL_INT64* info ) NOTHROW;
void spotrf2_64( const char* uplo, const MKL_INT64* n, float* a, const MKL_INT64* lda, MKL_INT64* info ) NOTHROW;

void ZPOTRF2_64( const char* uplo, const MKL_INT64* n, MKL_Complex16* a, const MKL_INT64* lda,
              MKL_INT64* info ) NOTHROW;
void zpotrf2_64( const char* uplo, const MKL_INT64* n, MKL_Complex16* a, const MKL_INT64* lda,
              MKL_INT64* info ) NOTHROW;

void DBDSVDX_64( const char* uplo, const char* jobz, const char* range, const MKL_INT64* n,
              const double* d, const double* e, const double* vl, const double* vu,
              const MKL_INT64* il, const MKL_INT64* iu, MKL_INT64* ns, double* s, double* z,
              const MKL_INT64* ldz, double* work, MKL_INT64* iwork, MKL_INT64* info ) NOTHROW;
void dbdsvdx_64( const char* uplo, const char* jobz, const char* range, const MKL_INT64* n,
              const double* d, const double* e, const double* vl, const double* vu,
              const MKL_INT64* il, const MKL_INT64* iu, MKL_INT64* ns, double* s, double* z,
              const MKL_INT64* ldz, double* work, MKL_INT64* iwork, MKL_INT64* info ) NOTHROW;

void SBDSVDX_64( const char* uplo, const char* jobz, const char* range, const MKL_INT64* n,
              const float* d, const float* e, const float* vl, const float* vu,
              const MKL_INT64* il, const MKL_INT64* iu, MKL_INT64* ns, float* s, float* z,
              const MKL_INT64* ldz, float* work, MKL_INT64* iwork, MKL_INT64* info ) NOTHROW;
void sbdsvdx_64( const char* uplo, const char* jobz, const char* range, const MKL_INT64* n,
              const float* d, const float* e, const float* vl, const float* vu,
              const MKL_INT64* il, const MKL_INT64* iu, MKL_INT64* ns, float* s, float* z,
              const MKL_INT64* ldz, float* work, MKL_INT64* iwork, MKL_INT64* info ) NOTHROW;

void CGETRF2_64( const MKL_INT64* m, const MKL_INT64* n, MKL_Complex8* a, const MKL_INT64* lda,
              MKL_INT64* ipiv, MKL_INT64* info ) NOTHROW;
void cgetrf2_64( const MKL_INT64* m, const MKL_INT64* n, MKL_Complex8* a, const MKL_INT64* lda,
              MKL_INT64* ipiv, MKL_INT64* info ) NOTHROW;

void DGETRF2_64( const MKL_INT64* m, const MKL_INT64* n, double* a, const MKL_INT64* lda,
              MKL_INT64* ipiv, MKL_INT64* info ) NOTHROW;
void dgetrf2_64( const MKL_INT64* m, const MKL_INT64* n, double* a, const MKL_INT64* lda,
              MKL_INT64* ipiv, MKL_INT64* info ) NOTHROW;

void SGETRF2_64( const MKL_INT64* m, const MKL_INT64* n, float* a, const MKL_INT64* lda, MKL_INT64* ipiv,
              MKL_INT64* info ) NOTHROW;
void sgetrf2_64( const MKL_INT64* m, const MKL_INT64* n, float* a, const MKL_INT64* lda, MKL_INT64* ipiv,
              MKL_INT64* info ) NOTHROW;

void ZGETRF2_64( const MKL_INT64* m, const MKL_INT64* n, MKL_Complex16* a, const MKL_INT64* lda,
              MKL_INT64* ipiv, MKL_INT64* info ) NOTHROW;
void zgetrf2_64( const MKL_INT64* m, const MKL_INT64* n, MKL_Complex16* a, const MKL_INT64* lda,
              MKL_INT64* ipiv, MKL_INT64* info ) NOTHROW;

void CGGEV3_64( const char* jobvl, const char* jobvr, const MKL_INT64* n, MKL_Complex8* a,
             const MKL_INT64* lda, MKL_Complex8* b, const MKL_INT64* ldb, MKL_Complex8* alpha,
             MKL_Complex8* beta, MKL_Complex8* vl, const MKL_INT64* ldvl, MKL_Complex8* vr,
             const MKL_INT64* ldvr, MKL_Complex8* work, const MKL_INT64* lwork, float* rwork,
             MKL_INT64* info ) NOTHROW;
void cggev3_64( const char* jobvl, const char* jobvr, const MKL_INT64* n, MKL_Complex8* a,
             const MKL_INT64* lda, MKL_Complex8* b, const MKL_INT64* ldb, MKL_Complex8* alpha,
             MKL_Complex8* beta, MKL_Complex8* vl, const MKL_INT64* ldvl, MKL_Complex8* vr,
             const MKL_INT64* ldvr, MKL_Complex8* work, const MKL_INT64* lwork, float* rwork,
             MKL_INT64* info ) NOTHROW;

void ZGGEV3_64( const char* jobvl, const char* jobvr, const MKL_INT64* n, MKL_Complex16* a,
             const MKL_INT64* lda, MKL_Complex16* b, const MKL_INT64* ldb, MKL_Complex16* alpha,
             MKL_Complex16* beta, MKL_Complex16* vl, const MKL_INT64* ldvl, MKL_Complex16* vr,
             const MKL_INT64* ldvr, MKL_Complex16* work, const MKL_INT64* lwork, double* rwork,
             MKL_INT64* info ) NOTHROW;
void zggev3_64( const char* jobvl, const char* jobvr, const MKL_INT64* n, MKL_Complex16* a,
             const MKL_INT64* lda, MKL_Complex16* b, const MKL_INT64* ldb, MKL_Complex16* alpha,
             MKL_Complex16* beta, MKL_Complex16* vl, const MKL_INT64* ldvl, MKL_Complex16* vr,
             const MKL_INT64* ldvr, MKL_Complex16* work, const MKL_INT64* lwork, double* rwork,
             MKL_INT64* info ) NOTHROW;

void DGGEV3_64( const char* jobvl, const char* jobvr, const MKL_INT64* n, double* a, const MKL_INT64* lda,
             double* b, const MKL_INT64* ldb, double* alphar, double* alphai, double* beta,
             double* vl, const MKL_INT64* ldvl, double* vr, const MKL_INT64* ldvr, double* work,
             const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;
void dggev3_64( const char* jobvl, const char* jobvr, const MKL_INT64* n, double* a, const MKL_INT64* lda,
             double* b, const MKL_INT64* ldb, double* alphar, double* alphai, double* beta,
             double* vl, const MKL_INT64* ldvl, double* vr, const MKL_INT64* ldvr, double* work,
             const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;

void SGGEV3_64( const char* jobvl, const char* jobvr, const MKL_INT64* n, float* a, const MKL_INT64* lda,
             float* b, const MKL_INT64* ldb, float* alphar, float* alphai, float* beta,
             float* vl, const MKL_INT64* ldvl, float* vr, const MKL_INT64* ldvr, float* work,
             const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;
void sggev3_64( const char* jobvl, const char* jobvr, const MKL_INT64* n, float* a, const MKL_INT64* lda,
             float* b, const MKL_INT64* ldb, float* alphar, float* alphai, float* beta,
             float* vl, const MKL_INT64* ldvl, float* vr, const MKL_INT64* ldvr, float* work,
             const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;

void CUNM22_64( const char* side, const char* trans, const MKL_INT64* m, const MKL_INT64* n,
             const MKL_INT64* n1, const MKL_INT64* n2, const MKL_Complex8* q, const MKL_INT64* ldq,
             MKL_Complex8* c, const MKL_INT64* ldc, MKL_Complex8* work, const MKL_INT64* lwork,
             MKL_INT64* info ) NOTHROW;
void cunm22_64( const char* side, const char* trans, const MKL_INT64* m, const MKL_INT64* n,
             const MKL_INT64* n1, const MKL_INT64* n2, const MKL_Complex8* q, const MKL_INT64* ldq,
             MKL_Complex8* c, const MKL_INT64* ldc, MKL_Complex8* work, const MKL_INT64* lwork,
             MKL_INT64* info ) NOTHROW;

void ZUNM22_64( const char* side, const char* trans, const MKL_INT64* m, const MKL_INT64* n,
             const MKL_INT64* n1, const MKL_INT64* n2, const MKL_Complex16* q, const MKL_INT64* ldq,
             MKL_Complex16* c, const MKL_INT64* ldc, MKL_Complex16* work, const MKL_INT64* lwork,
             MKL_INT64* info ) NOTHROW;
void zunm22_64( const char* side, const char* trans, const MKL_INT64* m, const MKL_INT64* n,
             const MKL_INT64* n1, const MKL_INT64* n2, const MKL_Complex16* q, const MKL_INT64* ldq,
             MKL_Complex16* c, const MKL_INT64* ldc, MKL_Complex16* work, const MKL_INT64* lwork,
             MKL_INT64* info ) NOTHROW;

void CGGHD3_64( const char* compq, const char* compz, const MKL_INT64* n, const MKL_INT64* ilo,
             const MKL_INT64* ihi, MKL_Complex8* a, const MKL_INT64* lda, MKL_Complex8* b,
             const MKL_INT64* ldb, MKL_Complex8* q, const MKL_INT64* ldq, MKL_Complex8* z,
             const MKL_INT64* ldz, MKL_Complex8* work, const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;
void cgghd3_64( const char* compq, const char* compz, const MKL_INT64* n, const MKL_INT64* ilo,
             const MKL_INT64* ihi, MKL_Complex8* a, const MKL_INT64* lda, MKL_Complex8* b,
             const MKL_INT64* ldb, MKL_Complex8* q, const MKL_INT64* ldq, MKL_Complex8* z,
             const MKL_INT64* ldz, MKL_Complex8* work, const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;

void DGGHD3_64( const char* compq, const char* compz, const MKL_INT64* n, const MKL_INT64* ilo,
             const MKL_INT64* ihi, double* a, const MKL_INT64* lda, double* b, const MKL_INT64* ldb,
             double* q, const MKL_INT64* ldq, double* z, const MKL_INT64* ldz, double* work,
             const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;
void dgghd3_64( const char* compq, const char* compz, const MKL_INT64* n, const MKL_INT64* ilo,
             const MKL_INT64* ihi, double* a, const MKL_INT64* lda, double* b, const MKL_INT64* ldb,
             double* q, const MKL_INT64* ldq, double* z, const MKL_INT64* ldz, double* work,
             const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;

void SGGHD3_64( const char* compq, const char* compz, const MKL_INT64* n, const MKL_INT64* ilo,
             const MKL_INT64* ihi, float* a, const MKL_INT64* lda, float* b, const MKL_INT64* ldb,
             float* q, const MKL_INT64* ldq, float* z, const MKL_INT64* ldz, float* work,
             const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;
void sgghd3_64( const char* compq, const char* compz, const MKL_INT64* n, const MKL_INT64* ilo,
             const MKL_INT64* ihi, float* a, const MKL_INT64* lda, float* b, const MKL_INT64* ldb,
             float* q, const MKL_INT64* ldq, float* z, const MKL_INT64* ldz, float* work,
             const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;

void ZGGHD3_64( const char* compq, const char* compz, const MKL_INT64* n, const MKL_INT64* ilo,
             const MKL_INT64* ihi, MKL_Complex16* a, const MKL_INT64* lda, MKL_Complex16* b,
             const MKL_INT64* ldb, MKL_Complex16* q, const MKL_INT64* ldq, MKL_Complex16* z,
             const MKL_INT64* ldz, MKL_Complex16* work, const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;
void zgghd3_64( const char* compq, const char* compz, const MKL_INT64* n, const MKL_INT64* ilo,
             const MKL_INT64* ihi, MKL_Complex16* a, const MKL_INT64* lda, MKL_Complex16* b,
             const MKL_INT64* ldb, MKL_Complex16* q, const MKL_INT64* ldq, MKL_Complex16* z,
             const MKL_INT64* ldz, MKL_Complex16* work, const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;

void CGGES3_64( const char* jobvsl, const char* jobvsr, const char* sort, MKL_C_SELECT_FUNCTION_2_64 selctg,
             const MKL_INT64* n, MKL_Complex8* a, const MKL_INT64* lda, MKL_Complex8* b,
             const MKL_INT64* ldb, MKL_INT64* sdim, MKL_Complex8* alpha, MKL_Complex8* beta,
             MKL_Complex8* vsl, const MKL_INT64* ldvsl, MKL_Complex8* vsr, const MKL_INT64* ldvsr,
             MKL_Complex8* work, const MKL_INT64* lwork, float* rwork, MKL_INT64* bwork,
             MKL_INT64* info ) NOTHROW;
void cgges3_64( const char* jobvsl, const char* jobvsr, const char* sort, MKL_C_SELECT_FUNCTION_2_64 selctg,
             const MKL_INT64* n, MKL_Complex8* a, const MKL_INT64* lda, MKL_Complex8* b,
             const MKL_INT64* ldb, MKL_INT64* sdim, MKL_Complex8* alpha, MKL_Complex8* beta,
             MKL_Complex8* vsl, const MKL_INT64* ldvsl, MKL_Complex8* vsr, const MKL_INT64* ldvsr,
             MKL_Complex8* work, const MKL_INT64* lwork, float* rwork, MKL_INT64* bwork,
             MKL_INT64* info ) NOTHROW;

void ZGGES3_64( const char* jobvsl, const char* jobvsr, const char* sort, MKL_Z_SELECT_FUNCTION_2_64 selctg,
             const MKL_INT64* n, MKL_Complex16* a, const MKL_INT64* lda, MKL_Complex16* b,
             const MKL_INT64* ldb, MKL_INT64* sdim, MKL_Complex16* alpha, MKL_Complex16* beta,
             MKL_Complex16* vsl, const MKL_INT64* ldvsl, MKL_Complex16* vsr, const MKL_INT64* ldvsr,
             MKL_Complex16* work, const MKL_INT64* lwork, double* rwork, MKL_INT64* bwork,
             MKL_INT64* info ) NOTHROW;
void zgges3_64( const char* jobvsl, const char* jobvsr, const char* sort, MKL_Z_SELECT_FUNCTION_2_64 selctg,
             const MKL_INT64* n, MKL_Complex16* a, const MKL_INT64* lda, MKL_Complex16* b,
             const MKL_INT64* ldb, MKL_INT64* sdim, MKL_Complex16* alpha, MKL_Complex16* beta,
             MKL_Complex16* vsl, const MKL_INT64* ldvsl, MKL_Complex16* vsr, const MKL_INT64* ldvsr,
             MKL_Complex16* work, const MKL_INT64* lwork, double* rwork, MKL_INT64* bwork,
             MKL_INT64* info ) NOTHROW;

void DGGES3_64( const char* jobvsl, const char* jobvsr, const char* sort, MKL_D_SELECT_FUNCTION_3_64 selctg,
             const MKL_INT64* n, double* a, const MKL_INT64* lda, double* b, const MKL_INT64* ldb,
             MKL_INT64* sdim, double* alphar, double* alphai, double* beta, double* vsl,
             const MKL_INT64* ldvsl, double* vsr, const MKL_INT64* ldvsr, double* work,
             const MKL_INT64* lwork, MKL_INT64* bwork, MKL_INT64* info ) NOTHROW;
void dgges3_64( const char* jobvsl, const char* jobvsr, const char* sort, MKL_D_SELECT_FUNCTION_3_64 selctg,
             const MKL_INT64* n, double* a, const MKL_INT64* lda, double* b, const MKL_INT64* ldb,
             MKL_INT64* sdim, double* alphar, double* alphai, double* beta, double* vsl,
             const MKL_INT64* ldvsl, double* vsr, const MKL_INT64* ldvsr, double* work,
             const MKL_INT64* lwork, MKL_INT64* bwork, MKL_INT64* info ) NOTHROW;

void SGGES3_64( const char* jobvsl, const char* jobvsr, const char* sort, MKL_S_SELECT_FUNCTION_3_64 selctg,
             const MKL_INT64* n, float* a, const MKL_INT64* lda, float* b, const MKL_INT64* ldb,
             MKL_INT64* sdim, float* alphar, float* alphai, float* beta, float* vsl,
             const MKL_INT64* ldvsl, float* vsr, const MKL_INT64* ldvsr, float* work,
             const MKL_INT64* lwork, MKL_INT64* bwork, MKL_INT64* info ) NOTHROW;
void sgges3_64( const char* jobvsl, const char* jobvsr, const char* sort, MKL_S_SELECT_FUNCTION_3_64 selctg,
             const MKL_INT64* n, float* a, const MKL_INT64* lda, float* b, const MKL_INT64* ldb,
             MKL_INT64* sdim, float* alphar, float* alphai, float* beta, float* vsl,
             const MKL_INT64* ldvsl, float* vsr, const MKL_INT64* ldvsr, float* work,
             const MKL_INT64* lwork, MKL_INT64* bwork, MKL_INT64* info ) NOTHROW;

void DORM22_64( const char* side, const char* trans, const MKL_INT64* m, const MKL_INT64* n,
             const MKL_INT64* n1, const MKL_INT64* n2, const double* q, const MKL_INT64* ldq,
             double* c, const MKL_INT64* ldc, double* work, const MKL_INT64* lwork,
             MKL_INT64* info ) NOTHROW;
void dorm22_64( const char* side, const char* trans, const MKL_INT64* m, const MKL_INT64* n,
             const MKL_INT64* n1, const MKL_INT64* n2, const double* q, const MKL_INT64* ldq,
             double* c, const MKL_INT64* ldc, double* work, const MKL_INT64* lwork,
             MKL_INT64* info ) NOTHROW;

void SORM22_64( const char* side, const char* trans, const MKL_INT64* m, const MKL_INT64* n,
             const MKL_INT64* n1, const MKL_INT64* n2, const float* q, const MKL_INT64* ldq,
             float* c, const MKL_INT64* ldc, float* work, const MKL_INT64* lwork,
             MKL_INT64* info ) NOTHROW;
void sorm22_64( const char* side, const char* trans, const MKL_INT64* m, const MKL_INT64* n,
             const MKL_INT64* n1, const MKL_INT64* n2, const float* q, const MKL_INT64* ldq,
             float* c, const MKL_INT64* ldc, float* work, const MKL_INT64* lwork,
             MKL_INT64* info ) NOTHROW;


/* LAPACK 3.5.0 routines */

void CHECON_ROOK_64( const char* uplo, const MKL_INT64* n, const MKL_Complex8* a,
                  const MKL_INT64* lda, const MKL_INT64* ipiv, const float* anorm,
                  float* rcond, MKL_Complex8* work, MKL_INT64* info ) NOTHROW;
void checon_rook_64( const char* uplo, const MKL_INT64* n, const MKL_Complex8* a,
                  const MKL_INT64* lda, const MKL_INT64* ipiv, const float* anorm,
                  float* rcond, MKL_Complex8* work, MKL_INT64* info ) NOTHROW;

void CHESV_ROOK_64( const char* uplo, const MKL_INT64* n, const MKL_INT64* nrhs,
                 MKL_Complex8* a, const MKL_INT64* lda, MKL_INT64* ipiv,
                 MKL_Complex8* b, const MKL_INT64* ldb, MKL_Complex8* work,
                 const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;
void chesv_rook_64( const char* uplo, const MKL_INT64* n, const MKL_INT64* nrhs,
                 MKL_Complex8* a, const MKL_INT64* lda, MKL_INT64* ipiv,
                 MKL_Complex8* b, const MKL_INT64* ldb, MKL_Complex8* work,
                 const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;

void CHETF2_ROOK_64( const char* uplo, const MKL_INT64* n, MKL_Complex8* a,
                  const MKL_INT64* lda, MKL_INT64* ipiv, MKL_INT64* info ) NOTHROW;
void chetf2_rook_64( const char* uplo, const MKL_INT64* n, MKL_Complex8* a,
                  const MKL_INT64* lda, MKL_INT64* ipiv, MKL_INT64* info ) NOTHROW;

void CHETRF_ROOK_64( const char* uplo, const MKL_INT64* n, MKL_Complex8* a,
                  const MKL_INT64* lda, MKL_INT64* ipiv, MKL_Complex8* work,
                  const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;
void chetrf_rook_64( const char* uplo, const MKL_INT64* n, MKL_Complex8* a,
                  const MKL_INT64* lda, MKL_INT64* ipiv, MKL_Complex8* work,
                  const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;

void CHETRI_ROOK_64( const char* uplo, const MKL_INT64* n, MKL_Complex8* a,
                  const MKL_INT64* lda, const MKL_INT64* ipiv, MKL_Complex8* work,
                  MKL_INT64* info ) NOTHROW;
void chetri_rook_64( const char* uplo, const MKL_INT64* n, MKL_Complex8* a,
                  const MKL_INT64* lda, const MKL_INT64* ipiv, MKL_Complex8* work,
                  MKL_INT64* info ) NOTHROW;

void CHETRS_ROOK_64( const char* uplo, const MKL_INT64* n, const MKL_INT64* nrhs,
                  const MKL_Complex8* a, const MKL_INT64* lda, const MKL_INT64* ipiv,
                  MKL_Complex8* b, const MKL_INT64* ldb, MKL_INT64* info ) NOTHROW;
void chetrs_rook_64( const char* uplo, const MKL_INT64* n, const MKL_INT64* nrhs,
                    const MKL_Complex8* a, const MKL_INT64* lda, const MKL_INT64* ipiv,
                    MKL_Complex8* b, const MKL_INT64* ldb, MKL_INT64* info ) NOTHROW;

void CLAHEF_ROOK_64( const char* uplo, const MKL_INT64* n, const MKL_INT64* nb,
                  MKL_INT64* kb, MKL_Complex8* a, const MKL_INT64* lda, MKL_INT64* ipiv,
                  MKL_Complex8* w, const MKL_INT64* ldw, MKL_INT64* info ) NOTHROW;
void clahef_rook_64( const char* uplo, const MKL_INT64* n, const MKL_INT64* nb,
                  MKL_INT64* kb, MKL_Complex8* a, const MKL_INT64* lda, MKL_INT64* ipiv,
                  MKL_Complex8* w, const MKL_INT64* ldw, MKL_INT64* info ) NOTHROW;

void CLASYF_ROOK_64( const char* uplo, const MKL_INT64* n, const MKL_INT64* nb,
                  MKL_INT64* kb, MKL_Complex8* a, const MKL_INT64* lda, MKL_INT64* ipiv,
                  MKL_Complex8* w, const MKL_INT64* ldw, MKL_INT64* info ) NOTHROW;
void clasyf_rook_64( const char* uplo, const MKL_INT64* n, const MKL_INT64* nb,
                  MKL_INT64* kb, MKL_Complex8* a, const MKL_INT64* lda, MKL_INT64* ipiv,
                  MKL_Complex8* w, const MKL_INT64* ldw, MKL_INT64* info ) NOTHROW;

void CSYCON_ROOK_64( const char* uplo, const MKL_INT64* n, const MKL_Complex8* a,
                  const MKL_INT64* lda, const MKL_INT64* ipiv, const float* anorm,
                  float* rcond, MKL_Complex8* work, MKL_INT64* info ) NOTHROW;
void csycon_rook_64( const char* uplo, const MKL_INT64* n, const MKL_Complex8* a,
                  const MKL_INT64* lda, const MKL_INT64* ipiv, const float* anorm,
                  float* rcond, MKL_Complex8* work, MKL_INT64* info ) NOTHROW;

void CSYSV_ROOK_64( const char* uplo, const MKL_INT64* n, const MKL_INT64* nrhs,
                 MKL_Complex8* a, const MKL_INT64* lda, MKL_INT64* ipiv,
                 MKL_Complex8* b, const MKL_INT64* ldb, MKL_Complex8* work,
                 const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;
void csysv_rook_64( const char* uplo, const MKL_INT64* n, const MKL_INT64* nrhs,
                 MKL_Complex8* a, const MKL_INT64* lda, MKL_INT64* ipiv,
                 MKL_Complex8* b, const MKL_INT64* ldb, MKL_Complex8* work,
                 const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;

void CSYTF2_ROOK_64( const char* uplo, const MKL_INT64* n, MKL_Complex8* a,
                  const MKL_INT64* lda, MKL_INT64* ipiv, MKL_INT64* info ) NOTHROW;
void csytf2_rook_64( const char* uplo, const MKL_INT64* n, MKL_Complex8* a,
                  const MKL_INT64* lda, MKL_INT64* ipiv, MKL_INT64* info ) NOTHROW;

void CSYTRF_ROOK_64( const char* uplo, const MKL_INT64* n, MKL_Complex8* a,
                  const MKL_INT64* lda, MKL_INT64* ipiv, MKL_Complex8* work,
                  const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;
void csytrf_rook_64( const char* uplo, const MKL_INT64* n, MKL_Complex8* a,
                  const MKL_INT64* lda, MKL_INT64* ipiv, MKL_Complex8* work,
                  const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;

void CSYTRI_ROOK_64( const char* uplo, const MKL_INT64* n, MKL_Complex8* a,
                  const MKL_INT64* lda, const MKL_INT64* ipiv, MKL_Complex8* work,
                  MKL_INT64* info ) NOTHROW;
void csytri_rook_64( const char* uplo, const MKL_INT64* n, MKL_Complex8* a,
                  const MKL_INT64* lda, const MKL_INT64* ipiv, MKL_Complex8* work,
                  MKL_INT64* info ) NOTHROW;

void CSYTRS_ROOK_64( const char* uplo, const MKL_INT64* n, const MKL_INT64* nrhs,
                  const MKL_Complex8* a, const MKL_INT64* lda, const MKL_INT64* ipiv,
                  MKL_Complex8* b, const MKL_INT64* ldb, MKL_INT64* info ) NOTHROW;
void csytrs_rook_64( const char* uplo, const MKL_INT64* n, const MKL_INT64* nrhs,
                  const MKL_Complex8* a, const MKL_INT64* lda, const MKL_INT64* ipiv,
                  MKL_Complex8* b, const MKL_INT64* ldb, MKL_INT64* info ) NOTHROW;

void DLASYF_ROOK_64( const char* uplo, const MKL_INT64* n, const MKL_INT64* nb,
                  MKL_INT64* kb, double* a, const MKL_INT64* lda, MKL_INT64* ipiv,
                  double* w, const MKL_INT64* ldw, MKL_INT64* info ) NOTHROW;
void dlasyf_rook_64( const char* uplo, const MKL_INT64* n, const MKL_INT64* nb,
                  MKL_INT64* kb, double* a, const MKL_INT64* lda, MKL_INT64* ipiv,
                  double* w, const MKL_INT64* ldw, MKL_INT64* info ) NOTHROW;

void DSYCON_ROOK_64( const char* uplo, const MKL_INT64* n, const double* a,
                  const MKL_INT64* lda, const MKL_INT64* ipiv, const double* anorm,
                  double* rcond, double* work, MKL_INT64* iwork, MKL_INT64* info ) NOTHROW;
void dsycon_rook_64( const char* uplo, const MKL_INT64* n, const double* a,
                  const MKL_INT64* lda, const MKL_INT64* ipiv, const double* anorm,
                  double* rcond, double* work, MKL_INT64* iwork, MKL_INT64* info ) NOTHROW;

void DSYSV_ROOK_64( const char* uplo, const MKL_INT64* n, const MKL_INT64* nrhs, double* a,
                 const MKL_INT64* lda, MKL_INT64* ipiv, double* b, const MKL_INT64* ldb,
                 double* work, const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;
void dsysv_rook_64( const char* uplo, const MKL_INT64* n, const MKL_INT64* nrhs, double* a,
                 const MKL_INT64* lda, MKL_INT64* ipiv, double* b, const MKL_INT64* ldb,
                 double* work, const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;

void DSYTF2_ROOK_64( const char* uplo, const MKL_INT64* n, double* a, const MKL_INT64* lda,
                  MKL_INT64* ipiv, MKL_INT64* info ) NOTHROW;
void dsytf2_rook_64( const char* uplo, const MKL_INT64* n, double* a, const MKL_INT64* lda,
                  MKL_INT64* ipiv, MKL_INT64* info ) NOTHROW;

void DSYTRF_ROOK_64( const char* uplo, const MKL_INT64* n, double* a, const MKL_INT64* lda,
                  MKL_INT64* ipiv, double* work, const MKL_INT64* lwork,
                  MKL_INT64* info ) NOTHROW;
void dsytrf_rook_64( const char* uplo, const MKL_INT64* n, double* a, const MKL_INT64* lda,
                  MKL_INT64* ipiv, double* work, const MKL_INT64* lwork,
                  MKL_INT64* info ) NOTHROW;

void DSYTRI_ROOK_64( const char* uplo, const MKL_INT64* n, double* a, const MKL_INT64* lda,
                  const MKL_INT64* ipiv, double* work, MKL_INT64* info ) NOTHROW;
void dsytri_rook_64( const char* uplo, const MKL_INT64* n, double* a, const MKL_INT64* lda,
                  const MKL_INT64* ipiv, double* work, MKL_INT64* info ) NOTHROW;

void DSYTRS_ROOK_64( const char* uplo, const MKL_INT64* n, const MKL_INT64* nrhs,
                  const double* a, const MKL_INT64* lda, const MKL_INT64* ipiv,
                  double* b, const MKL_INT64* ldb, MKL_INT64* info ) NOTHROW;
void dsytrs_rook_64( const char* uplo, const MKL_INT64* n, const MKL_INT64* nrhs,
                  const double* a, const MKL_INT64* lda, const MKL_INT64* ipiv,
                  double* b, const MKL_INT64* ldb, MKL_INT64* info ) NOTHROW;

void SLASYF_ROOK_64( const char* uplo, const MKL_INT64* n, const MKL_INT64* nb,
                  MKL_INT64* kb, float* a, const MKL_INT64* lda, MKL_INT64* ipiv,
                  float* w, const MKL_INT64* ldw, MKL_INT64* info ) NOTHROW;
void slasyf_rook_64( const char* uplo, const MKL_INT64* n, const MKL_INT64* nb,
                  MKL_INT64* kb, float* a, const MKL_INT64* lda, MKL_INT64* ipiv,
                  float* w, const MKL_INT64* ldw, MKL_INT64* info ) NOTHROW;

void SSYCON_ROOK_64( const char* uplo, const MKL_INT64* n, const float* a,
                  const MKL_INT64* lda, const MKL_INT64* ipiv, const float* anorm,
                  float* rcond, float* work, MKL_INT64* iwork, MKL_INT64* info ) NOTHROW;
void ssycon_rook_64( const char* uplo, const MKL_INT64* n, const float* a,
                  const MKL_INT64* lda, const MKL_INT64* ipiv, const float* anorm,
                  float* rcond, float* work, MKL_INT64* iwork, MKL_INT64* info ) NOTHROW;

void SSYSV_ROOK_64( const char* uplo, const MKL_INT64* n, const MKL_INT64* nrhs, float* a,
                 const MKL_INT64* lda, MKL_INT64* ipiv, float* b, const MKL_INT64* ldb,
                 float* work, const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;
void ssysv_rook_64( const char* uplo, const MKL_INT64* n, const MKL_INT64* nrhs, float* a,
                 const MKL_INT64* lda, MKL_INT64* ipiv, float* b, const MKL_INT64* ldb,
                 float* work, const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;

void SSYTF2_ROOK_64( const char* uplo, const MKL_INT64* n, float* a, const MKL_INT64* lda,
                  MKL_INT64* ipiv, MKL_INT64* info ) NOTHROW;
void ssytf2_rook_64( const char* uplo, const MKL_INT64* n, float* a, const MKL_INT64* lda,
                  MKL_INT64* ipiv, MKL_INT64* info ) NOTHROW;

void SSYTRF_ROOK_64( const char* uplo, const MKL_INT64* n, float* a, const MKL_INT64* lda,
                 MKL_INT64* ipiv, float* work, const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;
void ssytrf_rook_64( const char* uplo, const MKL_INT64* n, float* a, const MKL_INT64* lda,
                  MKL_INT64* ipiv, float* work, const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;

void SSYTRI_ROOK_64( const char* uplo, const MKL_INT64* n, float* a, const MKL_INT64* lda,
                  const MKL_INT64* ipiv, float* work, MKL_INT64* info ) NOTHROW;
void ssytri_rook_64( const char* uplo, const MKL_INT64* n, float* a, const MKL_INT64* lda,
                  const MKL_INT64* ipiv, float* work, MKL_INT64* info ) NOTHROW;

void SSYTRS_ROOK_64( const char* uplo, const MKL_INT64* n, const MKL_INT64* nrhs,
                  const float* a, const MKL_INT64* lda, const MKL_INT64* ipiv, float* b,
                  const MKL_INT64* ldb, MKL_INT64* info ) NOTHROW;
void ssytrs_rook_64( const char* uplo, const MKL_INT64* n, const MKL_INT64* nrhs,
                  const float* a, const MKL_INT64* lda, const MKL_INT64* ipiv, float* b,
                  const MKL_INT64* ldb, MKL_INT64* info ) NOTHROW;

void ZHECON_ROOK_64( const char* uplo, const MKL_INT64* n, const MKL_Complex16* a,
                  const MKL_INT64* lda, const MKL_INT64* ipiv, const double* anorm,
                  double* rcond, MKL_Complex16* work, MKL_INT64* info ) NOTHROW;
void zhecon_rook_64( const char* uplo, const MKL_INT64* n, const MKL_Complex16* a,
                  const MKL_INT64* lda, const MKL_INT64* ipiv, const double* anorm,
                  double* rcond, MKL_Complex16* work, MKL_INT64* info ) NOTHROW;

void ZHESV_ROOK_64( const char* uplo, const MKL_INT64* n, const MKL_INT64* nrhs,
                 MKL_Complex16* a, const MKL_INT64* lda, MKL_INT64* ipiv,
                 MKL_Complex16* b, const MKL_INT64* ldb, MKL_Complex16* work,
                 const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;
void zhesv_rook_64( const char* uplo, const MKL_INT64* n, const MKL_INT64* nrhs,
                 MKL_Complex16* a, const MKL_INT64* lda, MKL_INT64* ipiv,
                 MKL_Complex16* b, const MKL_INT64* ldb, MKL_Complex16* work,
                 const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;

void ZHETF2_ROOK_64( const char* uplo, const MKL_INT64* n, MKL_Complex16* a,
                  const MKL_INT64* lda, MKL_INT64* ipiv, MKL_INT64* info ) NOTHROW;
void zhetf2_rook_64( const char* uplo, const MKL_INT64* n, MKL_Complex16* a,
                  const MKL_INT64* lda, MKL_INT64* ipiv, MKL_INT64* info ) NOTHROW;

void ZHETRF_ROOK_64( const char* uplo, const MKL_INT64* n, MKL_Complex16* a,
                  const MKL_INT64* lda, MKL_INT64* ipiv, MKL_Complex16* work,
                  const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;
void zhetrf_rook_64( const char* uplo, const MKL_INT64* n, MKL_Complex16* a,
                  const MKL_INT64* lda, MKL_INT64* ipiv, MKL_Complex16* work,
                  const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;

void ZHETRI_ROOK_64( const char* uplo, const MKL_INT64* n, MKL_Complex16* a,
                  const MKL_INT64* lda, const MKL_INT64* ipiv, MKL_Complex16* work,
                  MKL_INT64* info ) NOTHROW;
void zhetri_rook_64( const char* uplo, const MKL_INT64* n, MKL_Complex16* a,
                  const MKL_INT64* lda, const MKL_INT64* ipiv, MKL_Complex16* work,
                  MKL_INT64* info ) NOTHROW;

void ZHETRS_ROOK_64( const char* uplo, const MKL_INT64* n, const MKL_INT64* nrhs,
                  const MKL_Complex16* a, const MKL_INT64* lda, const MKL_INT64* ipiv,
                  MKL_Complex16* b, const MKL_INT64* ldb, MKL_INT64* info ) NOTHROW;
void zhetrs_rook_64( const char* uplo, const MKL_INT64* n, const MKL_INT64* nrhs,
                  const MKL_Complex16* a, const MKL_INT64* lda, const MKL_INT64* ipiv,
                  MKL_Complex16* b, const MKL_INT64* ldb, MKL_INT64* info ) NOTHROW;

void ZLAHEF_ROOK_64( const char* uplo, const MKL_INT64* n, const MKL_INT64* nb,
                  MKL_INT64* kb, MKL_Complex16* a, const MKL_INT64* lda, MKL_INT64* ipiv,
                  MKL_Complex16* w, const MKL_INT64* ldw, MKL_INT64* info ) NOTHROW;
void zlahef_rook_64( const char* uplo, const MKL_INT64* n, const MKL_INT64* nb,
                  MKL_INT64* kb, MKL_Complex16* a, const MKL_INT64* lda, MKL_INT64* ipiv,
                  MKL_Complex16* w, const MKL_INT64* ldw, MKL_INT64* info ) NOTHROW;

void ZLASYF_ROOK_64( const char* uplo, const MKL_INT64* n, const MKL_INT64* nb,
                  MKL_INT64* kb, MKL_Complex16* a, const MKL_INT64* lda, MKL_INT64* ipiv,
                  MKL_Complex16* w, const MKL_INT64* ldw, MKL_INT64* info ) NOTHROW;
void zlasyf_rook_64( const char* uplo, const MKL_INT64* n, const MKL_INT64* nb,
                  MKL_INT64* kb, MKL_Complex16* a, const MKL_INT64* lda, MKL_INT64* ipiv,
                  MKL_Complex16* w, const MKL_INT64* ldw, MKL_INT64* info ) NOTHROW;

void ZSYCON_ROOK_64( const char* uplo, const MKL_INT64* n, const MKL_Complex16* a,
                  const MKL_INT64* lda, const MKL_INT64* ipiv, const double* anorm,
                  double* rcond, MKL_Complex16* work, MKL_INT64* info ) NOTHROW;
void zsycon_rook_64( const char* uplo, const MKL_INT64* n, const MKL_Complex16* a,
                  const MKL_INT64* lda, const MKL_INT64* ipiv, const double* anorm,
                  double* rcond, MKL_Complex16* work, MKL_INT64* info ) NOTHROW;

void ZSYSV_ROOK_64( const char* uplo, const MKL_INT64* n, const MKL_INT64* nrhs,
                 MKL_Complex16* a, const MKL_INT64* lda, MKL_INT64* ipiv,
                 MKL_Complex16* b, const MKL_INT64* ldb, MKL_Complex16* work,
                 const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;
void zsysv_rook_64( const char* uplo, const MKL_INT64* n, const MKL_INT64* nrhs,
                 MKL_Complex16* a, const MKL_INT64* lda, MKL_INT64* ipiv,
                 MKL_Complex16* b, const MKL_INT64* ldb, MKL_Complex16* work,
                 const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;

void ZSYTF2_ROOK_64( const char* uplo, const MKL_INT64* n, MKL_Complex16* a,
                  const MKL_INT64* lda, MKL_INT64* ipiv, MKL_INT64* info ) NOTHROW;
void zsytf2_rook_64( const char* uplo, const MKL_INT64* n, MKL_Complex16* a,
                  const MKL_INT64* lda, MKL_INT64* ipiv, MKL_INT64* info ) NOTHROW;

void ZSYTRF_ROOK_64( const char* uplo, const MKL_INT64* n, MKL_Complex16* a,
                  const MKL_INT64* lda, MKL_INT64* ipiv, MKL_Complex16* work,
                  const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;
void zsytrf_rook_64( const char* uplo, const MKL_INT64* n, MKL_Complex16* a,
                  const MKL_INT64* lda, MKL_INT64* ipiv, MKL_Complex16* work,
                  const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;

void ZSYTRI_ROOK_64( const char* uplo, const MKL_INT64* n, MKL_Complex16* a,
                  const MKL_INT64* lda, const MKL_INT64* ipiv, MKL_Complex16* work,
                  MKL_INT64* info ) NOTHROW;
void zsytri_rook_64( const char* uplo, const MKL_INT64* n, MKL_Complex16* a,
                  const MKL_INT64* lda, const MKL_INT64* ipiv, MKL_Complex16* work,
                  MKL_INT64* info ) NOTHROW;

void ZSYTRS_ROOK_64( const char* uplo, const MKL_INT64* n, const MKL_INT64* nrhs,
                  const MKL_Complex16* a, const MKL_INT64* lda, const MKL_INT64* ipiv,
                  MKL_Complex16* b, const MKL_INT64* ldb, MKL_INT64* info ) NOTHROW;
void zsytrs_rook_64( const char* uplo, const MKL_INT64* n, const MKL_INT64* nrhs,
                  const MKL_Complex16* a, const MKL_INT64* lda, const MKL_INT64* ipiv,
                  MKL_Complex16* b, const MKL_INT64* ldb, MKL_INT64* info ) NOTHROW;

void CUNBDB1_64( const MKL_INT64* m, const MKL_INT64* p, const MKL_INT64* q,
              MKL_Complex8* x11, const MKL_INT64* ldx11, MKL_Complex8* x21,
              const MKL_INT64* ldx21, float* theta, float* phi,
              MKL_Complex8* taup1, MKL_Complex8* taup2, MKL_Complex8* tauq1,
              MKL_Complex8* work, const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;
void cunbdb1_64( const MKL_INT64* m, const MKL_INT64* p, const MKL_INT64* q,
              MKL_Complex8* x11, const MKL_INT64* ldx11, MKL_Complex8* x21,
              const MKL_INT64* ldx21, float* theta, float* phi,
              MKL_Complex8* taup1, MKL_Complex8* taup2, MKL_Complex8* tauq1,
              MKL_Complex8* work, const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;

void CUNBDB2_64( const MKL_INT64* m, const MKL_INT64* p, const MKL_INT64* q,
              MKL_Complex8* x11, const MKL_INT64* ldx11, MKL_Complex8* x21,
              const MKL_INT64* ldx21, float* theta, float* phi,
              MKL_Complex8* taup1, MKL_Complex8* taup2, MKL_Complex8* tauq1,
              MKL_Complex8* work, const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;
void cunbdb2_64( const MKL_INT64* m, const MKL_INT64* p, const MKL_INT64* q,
              MKL_Complex8* x11, const MKL_INT64* ldx11, MKL_Complex8* x21,
              const MKL_INT64* ldx21, float* theta, float* phi,
              MKL_Complex8* taup1, MKL_Complex8* taup2, MKL_Complex8* tauq1,
              MKL_Complex8* work, const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;

void CUNBDB3_64( const MKL_INT64* m, const MKL_INT64* p, const MKL_INT64* q,
              MKL_Complex8* x11, const MKL_INT64* ldx11, MKL_Complex8* x21,
              const MKL_INT64* ldx21, float* theta, float* phi,
              MKL_Complex8* taup1, MKL_Complex8* taup2, MKL_Complex8* tauq1,
              MKL_Complex8* work, const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;
void cunbdb3_64( const MKL_INT64* m, const MKL_INT64* p, const MKL_INT64* q,
              MKL_Complex8* x11, const MKL_INT64* ldx11, MKL_Complex8* x21,
              const MKL_INT64* ldx21, float* theta, float* phi,
              MKL_Complex8* taup1, MKL_Complex8* taup2, MKL_Complex8* tauq1,
              MKL_Complex8* work, const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;

void CUNBDB4_64( const MKL_INT64* m, const MKL_INT64* p, const MKL_INT64* q,
              MKL_Complex8* x11, const MKL_INT64* ldx11, MKL_Complex8* x21,
              const MKL_INT64* ldx21, float* theta, float* phi,
              MKL_Complex8* taup1, MKL_Complex8* taup2, MKL_Complex8* tauq1,
              MKL_Complex8* phantom, MKL_Complex8* work, const MKL_INT64* lwork,
              MKL_INT64* info ) NOTHROW;
void cunbdb4_64( const MKL_INT64* m, const MKL_INT64* p, const MKL_INT64* q,
              MKL_Complex8* x11, const MKL_INT64* ldx11, MKL_Complex8* x21,
              const MKL_INT64* ldx21, float* theta, float* phi,
              MKL_Complex8* taup1, MKL_Complex8* taup2, MKL_Complex8* tauq1,
              MKL_Complex8* phantom, MKL_Complex8* work, const MKL_INT64* lwork,
              MKL_INT64* info ) NOTHROW;

void CUNBDB5_64( const MKL_INT64* m1, const MKL_INT64* m2, const MKL_INT64* n,
              MKL_Complex8* x1, const MKL_INT64* incx1, MKL_Complex8* x2,
              const MKL_INT64* incx2, MKL_Complex8* q1, const MKL_INT64* ldq1,
              MKL_Complex8* q2, const MKL_INT64* ldq2, MKL_Complex8* work,
              const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;
void cunbdb5_64( const MKL_INT64* m1, const MKL_INT64* m2, const MKL_INT64* n,
              MKL_Complex8* x1, const MKL_INT64* incx1, MKL_Complex8* x2,
              const MKL_INT64* incx2, MKL_Complex8* q1, const MKL_INT64* ldq1,
              MKL_Complex8* q2, const MKL_INT64* ldq2, MKL_Complex8* work,
              const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;

void CUNBDB6_64( const MKL_INT64* m1, const MKL_INT64* m2, const MKL_INT64* n,
              MKL_Complex8* x1, const MKL_INT64* incx1, MKL_Complex8* x2,
              const MKL_INT64* incx2, MKL_Complex8* q1, const MKL_INT64* ldq1,
              MKL_Complex8* q2, const MKL_INT64* ldq2, MKL_Complex8* work,
              const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;
void cunbdb6_64( const MKL_INT64* m1, const MKL_INT64* m2, const MKL_INT64* n,
              MKL_Complex8* x1, const MKL_INT64* incx1, MKL_Complex8* x2,
              const MKL_INT64* incx2, MKL_Complex8* q1, const MKL_INT64* ldq1,
              MKL_Complex8* q2, const MKL_INT64* ldq2, MKL_Complex8* work,
              const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;

void CUNCSD2BY1_64( const char* jobu1, const char* jobu2, const char* jobv1t,
                 const MKL_INT64* m, const MKL_INT64* p, const MKL_INT64* q,
                 MKL_Complex8* x11, const MKL_INT64* ldx11, MKL_Complex8* x21,
                 const MKL_INT64* ldx21, float* theta, MKL_Complex8* u1,
                 const MKL_INT64* ldu1, MKL_Complex8* u2, const MKL_INT64* ldu2,
                 MKL_Complex8* v1t, const MKL_INT64* ldv1t, MKL_Complex8* work,
                 const MKL_INT64* lwork, float* rwork, const MKL_INT64* lrwork,
                 MKL_INT64* iwork, MKL_INT64* info ) NOTHROW;
void cuncsd2by1_64( const char* jobu1, const char* jobu2, const char* jobv1t,
                 const MKL_INT64* m, const MKL_INT64* p, const MKL_INT64* q,
                 MKL_Complex8* x11, const MKL_INT64* ldx11, MKL_Complex8* x21,
                 const MKL_INT64* ldx21, float* theta, MKL_Complex8* u1,
                 const MKL_INT64* ldu1, MKL_Complex8* u2, const MKL_INT64* ldu2,
                 MKL_Complex8* v1t, const MKL_INT64* ldv1t, MKL_Complex8* work,
                 const MKL_INT64* lwork, float* rwork, const MKL_INT64* lrwork,
                 MKL_INT64* iwork, MKL_INT64* info ) NOTHROW;

void DORBDB1_64( const MKL_INT64* m, const MKL_INT64* p, const MKL_INT64* q,
              double* x11, const MKL_INT64* ldx11, double* x21,
              const MKL_INT64* ldx21, double* theta, double* phi,
              double* taup1, double* taup2, double* tauq1,
              double* work, const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;
void dorbdb1_64( const MKL_INT64* m, const MKL_INT64* p, const MKL_INT64* q,
              double* x11, const MKL_INT64* ldx11, double* x21,
              const MKL_INT64* ldx21, double* theta, double* phi,
              double* taup1, double* taup2, double* tauq1,
              double* work, const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;

void DORBDB2_64( const MKL_INT64* m, const MKL_INT64* p, const MKL_INT64* q,
              double* x11, const MKL_INT64* ldx11, double* x21,
              const MKL_INT64* ldx21, double* theta, double* phi,
              double* taup1, double* taup2, double* tauq1,
              double* work, const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;
void dorbdb2_64( const MKL_INT64* m, const MKL_INT64* p, const MKL_INT64* q,
              double* x11, const MKL_INT64* ldx11, double* x21,
              const MKL_INT64* ldx21, double* theta, double* phi,
              double* taup1, double* taup2, double* tauq1,
              double* work, const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;

void DORBDB3_64( const MKL_INT64* m, const MKL_INT64* p, const MKL_INT64* q,
              double* x11, const MKL_INT64* ldx11, double* x21,
              const MKL_INT64* ldx21, double* theta, double* phi,
              double* taup1, double* taup2, double* tauq1,
              double* work, const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;
void dorbdb3_64( const MKL_INT64* m, const MKL_INT64* p, const MKL_INT64* q,
              double* x11, const MKL_INT64* ldx11, double* x21,
              const MKL_INT64* ldx21, double* theta, double* phi,
              double* taup1, double* taup2, double* tauq1,
              double* work, const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;

void DORBDB4_64( const MKL_INT64* m, const MKL_INT64* p, const MKL_INT64* q,
              double* x11, const MKL_INT64* ldx11, double* x21,
              const MKL_INT64* ldx21, double* theta, double* phi,
              double* taup1, double* taup2, double* tauq1,
              double* phantom, double* work, const MKL_INT64* lwork,
              MKL_INT64* info ) NOTHROW;
void dorbdb4_64( const MKL_INT64* m, const MKL_INT64* p, const MKL_INT64* q,
              double* x11, const MKL_INT64* ldx11, double* x21,
              const MKL_INT64* ldx21, double* theta, double* phi,
              double* taup1, double* taup2, double* tauq1,
              double* phantom, double* work, const MKL_INT64* lwork,
              MKL_INT64* info ) NOTHROW;

void DORBDB5_64( const MKL_INT64* m1, const MKL_INT64* m2, const MKL_INT64* n,
              double* x1, const MKL_INT64* incx1, double* x2,
              const MKL_INT64* incx2, double* q1, const MKL_INT64* ldq1,
              double* q2, const MKL_INT64* ldq2, double* work,
              const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;
void dorbdb5_64( const MKL_INT64* m1, const MKL_INT64* m2, const MKL_INT64* n,
              double* x1, const MKL_INT64* incx1, double* x2,
              const MKL_INT64* incx2, double* q1, const MKL_INT64* ldq1,
              double* q2, const MKL_INT64* ldq2, double* work,
              const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;

void DORBDB6_64( const MKL_INT64* m1, const MKL_INT64* m2, const MKL_INT64* n,
              double* x1, const MKL_INT64* incx1, double* x2,
              const MKL_INT64* incx2, double* q1, const MKL_INT64* ldq1,
              double* q2, const MKL_INT64* ldq2, double* work,
              const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;
void dorbdb6_64( const MKL_INT64* m1, const MKL_INT64* m2, const MKL_INT64* n,
              double* x1, const MKL_INT64* incx1, double* x2,
              const MKL_INT64* incx2, double* q1, const MKL_INT64* ldq1,
              double* q2, const MKL_INT64* ldq2, double* work,
              const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;

void DORCSD2BY1_64( const char* jobu1, const char* jobu2, const char* jobv1t,
                 const MKL_INT64* m, const MKL_INT64* p, const MKL_INT64* q,
                 double* x11, const MKL_INT64* ldx11, double* x21,
                 const MKL_INT64* ldx21, double* theta, double* u1,
                 const MKL_INT64* ldu1, double* u2, const MKL_INT64* ldu2,
                 double* v1t, const MKL_INT64* ldv1t, double* work,
                 const MKL_INT64* lwork, MKL_INT64* iwork, MKL_INT64* info ) NOTHROW;
void dorcsd2by1_64( const char* jobu1, const char* jobu2, const char* jobv1t,
                 const MKL_INT64* m, const MKL_INT64* p, const MKL_INT64* q,
                 double* x11, const MKL_INT64* ldx11, double* x21,
                 const MKL_INT64* ldx21, double* theta, double* u1,
                 const MKL_INT64* ldu1, double* u2, const MKL_INT64* ldu2,
                 double* v1t, const MKL_INT64* ldv1t, double* work,
                 const MKL_INT64* lwork, MKL_INT64* iwork, MKL_INT64* info ) NOTHROW;

void SORBDB1_64( const MKL_INT64* m, const MKL_INT64* p, const MKL_INT64* q,
              float* x11, const MKL_INT64* ldx11, float* x21,
              const MKL_INT64* ldx21, float* theta, float* phi,
              float* taup1, float* taup2, float* tauq1,
              float* work, const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;
void sorbdb1_64( const MKL_INT64* m, const MKL_INT64* p, const MKL_INT64* q,
              float* x11, const MKL_INT64* ldx11, float* x21,
              const MKL_INT64* ldx21, float* theta, float* phi,
              float* taup1, float* taup2, float* tauq1,
              float* work, const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;

void SORBDB2_64( const MKL_INT64* m, const MKL_INT64* p, const MKL_INT64* q,
              float* x11, const MKL_INT64* ldx11, float* x21,
              const MKL_INT64* ldx21, float* theta, float* phi,
              float* taup1, float* taup2, float* tauq1,
              float* work, const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;
void sorbdb2_64( const MKL_INT64* m, const MKL_INT64* p, const MKL_INT64* q,
              float* x11, const MKL_INT64* ldx11, float* x21,
              const MKL_INT64* ldx21, float* theta, float* phi,
              float* taup1, float* taup2, float* tauq1,
              float* work, const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;

void SORBDB3_64( const MKL_INT64* m, const MKL_INT64* p, const MKL_INT64* q,
              float* x11, const MKL_INT64* ldx11, float* x21,
              const MKL_INT64* ldx21, float* theta, float* phi,
              float* taup1, float* taup2, float* tauq1,
              float* work, const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;
void sorbdb3_64( const MKL_INT64* m, const MKL_INT64* p, const MKL_INT64* q,
              float* x11, const MKL_INT64* ldx11, float* x21,
              const MKL_INT64* ldx21, float* theta, float* phi,
              float* taup1, float* taup2, float* tauq1,
              float* work, const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;

void SORBDB4_64( const MKL_INT64* m, const MKL_INT64* p, const MKL_INT64* q,
              float* x11, const MKL_INT64* ldx11, float* x21,
              const MKL_INT64* ldx21, float* theta, float* phi,
              float* taup1, float* taup2, float* tauq1,
              float* phantom, float* work, const MKL_INT64* lwork,
              MKL_INT64* info ) NOTHROW;
void sorbdb4_64( const MKL_INT64* m, const MKL_INT64* p, const MKL_INT64* q,
              float* x11, const MKL_INT64* ldx11, float* x21,
              const MKL_INT64* ldx21, float* theta, float* phi,
              float* taup1, float* taup2, float* tauq1,
              float* phantom, float* work, const MKL_INT64* lwork,
              MKL_INT64* info ) NOTHROW;

void SORBDB5_64( const MKL_INT64* m1, const MKL_INT64* m2, const MKL_INT64* n,
              float* x1, const MKL_INT64* incx1, float* x2,
              const MKL_INT64* incx2, float* q1, const MKL_INT64* ldq1,
              float* q2, const MKL_INT64* ldq2, float* work,
              const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;
void sorbdb5_64( const MKL_INT64* m1, const MKL_INT64* m2, const MKL_INT64* n,
              float* x1, const MKL_INT64* incx1, float* x2,
              const MKL_INT64* incx2, float* q1, const MKL_INT64* ldq1,
              float* q2, const MKL_INT64* ldq2, float* work,
              const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;

void SORBDB6_64( const MKL_INT64* m1, const MKL_INT64* m2, const MKL_INT64* n,
              float* x1, const MKL_INT64* incx1, float* x2,
              const MKL_INT64* incx2, float* q1, const MKL_INT64* ldq1,
              float* q2, const MKL_INT64* ldq2, float* work,
              const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;
void sorbdb6_64( const MKL_INT64* m1, const MKL_INT64* m2, const MKL_INT64* n,
              float* x1, const MKL_INT64* incx1, float* x2,
              const MKL_INT64* incx2, float* q1, const MKL_INT64* ldq1,
              float* q2, const MKL_INT64* ldq2, float* work,
              const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;

void SORCSD2BY1_64( const char* jobu1, const char* jobu2, const char* jobv1t,
                 const MKL_INT64* m, const MKL_INT64* p, const MKL_INT64* q,
                 float* x11, const MKL_INT64* ldx11, float* x21,
                 const MKL_INT64* ldx21, float* theta, float* u1,
                 const MKL_INT64* ldu1, float* u2, const MKL_INT64* ldu2,
                 float* v1t, const MKL_INT64* ldv1t, float* work,
                 const MKL_INT64* lwork, MKL_INT64* iwork, MKL_INT64* info ) NOTHROW;
void sorcsd2by1_64( const char* jobu1, const char* jobu2, const char* jobv1t,
                 const MKL_INT64* m, const MKL_INT64* p, const MKL_INT64* q,
                 float* x11, const MKL_INT64* ldx11, float* x21,
                 const MKL_INT64* ldx21, float* theta, float* u1,
                 const MKL_INT64* ldu1, float* u2, const MKL_INT64* ldu2,
                 float* v1t, const MKL_INT64* ldv1t, float* work,
                 const MKL_INT64* lwork, MKL_INT64* iwork, MKL_INT64* info ) NOTHROW;

void ZUNBDB1_64( const MKL_INT64* m, const MKL_INT64* p, const MKL_INT64* q,
              MKL_Complex16* x11, const MKL_INT64* ldx11, MKL_Complex16* x21,
              const MKL_INT64* ldx21, double* theta, double* phi,
              MKL_Complex16* taup1, MKL_Complex16* taup2, MKL_Complex16* tauq1,
              MKL_Complex16* work, const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;
void zunbdb1_64( const MKL_INT64* m, const MKL_INT64* p, const MKL_INT64* q,
              MKL_Complex16* x11, const MKL_INT64* ldx11, MKL_Complex16* x21,
              const MKL_INT64* ldx21, double* theta, double* phi,
              MKL_Complex16* taup1, MKL_Complex16* taup2, MKL_Complex16* tauq1,
              MKL_Complex16* work, const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;

void ZUNBDB2_64( const MKL_INT64* m, const MKL_INT64* p, const MKL_INT64* q,
              MKL_Complex16* x11, const MKL_INT64* ldx11, MKL_Complex16* x21,
              const MKL_INT64* ldx21, double* theta, double* phi,
              MKL_Complex16* taup1, MKL_Complex16* taup2, MKL_Complex16* tauq1,
              MKL_Complex16* work, const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;
void zunbdb2_64( const MKL_INT64* m, const MKL_INT64* p, const MKL_INT64* q,
              MKL_Complex16* x11, const MKL_INT64* ldx11, MKL_Complex16* x21,
              const MKL_INT64* ldx21, double* theta, double* phi,
              MKL_Complex16* taup1, MKL_Complex16* taup2, MKL_Complex16* tauq1,
              MKL_Complex16* work, const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;

void ZUNBDB3_64( const MKL_INT64* m, const MKL_INT64* p, const MKL_INT64* q,
              MKL_Complex16* x11, const MKL_INT64* ldx11, MKL_Complex16* x21,
              const MKL_INT64* ldx21, double* theta, double* phi,
              MKL_Complex16* taup1, MKL_Complex16* taup2, MKL_Complex16* tauq1,
              MKL_Complex16* work, const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;
void zunbdb3_64( const MKL_INT64* m, const MKL_INT64* p, const MKL_INT64* q,
              MKL_Complex16* x11, const MKL_INT64* ldx11, MKL_Complex16* x21,
              const MKL_INT64* ldx21, double* theta, double* phi,
              MKL_Complex16* taup1, MKL_Complex16* taup2, MKL_Complex16* tauq1,
              MKL_Complex16* work, const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;

void ZUNBDB4_64( const MKL_INT64* m, const MKL_INT64* p, const MKL_INT64* q,
              MKL_Complex16* x11, const MKL_INT64* ldx11, MKL_Complex16* x21,
              const MKL_INT64* ldx21, double* theta, double* phi,
              MKL_Complex16* taup1, MKL_Complex16* taup2, MKL_Complex16* tauq1,
              MKL_Complex16* phantom, MKL_Complex16* work, const MKL_INT64* lwork,
              MKL_INT64* info ) NOTHROW;
void zunbdb4_64( const MKL_INT64* m, const MKL_INT64* p, const MKL_INT64* q,
              MKL_Complex16* x11, const MKL_INT64* ldx11, MKL_Complex16* x21,
              const MKL_INT64* ldx21, double* theta, double* phi,
              MKL_Complex16* taup1, MKL_Complex16* taup2, MKL_Complex16* tauq1,
              MKL_Complex16* phantom, MKL_Complex16* work, const MKL_INT64* lwork,
              MKL_INT64* info ) NOTHROW;

void ZUNBDB5_64( const MKL_INT64* m1, const MKL_INT64* m2, const MKL_INT64* n,
              MKL_Complex16* x1, const MKL_INT64* incx1, MKL_Complex16* x2,
              const MKL_INT64* incx2, MKL_Complex16* q1, const MKL_INT64* ldq1,
              MKL_Complex16* q2, const MKL_INT64* ldq2, MKL_Complex16* work,
              const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;
void zunbdb5_64( const MKL_INT64* m1, const MKL_INT64* m2, const MKL_INT64* n,
              MKL_Complex16* x1, const MKL_INT64* incx1, MKL_Complex16* x2,
              const MKL_INT64* incx2, MKL_Complex16* q1, const MKL_INT64* ldq1,
              MKL_Complex16* q2, const MKL_INT64* ldq2, MKL_Complex16* work,
              const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;

void ZUNBDB6_64( const MKL_INT64* m1, const MKL_INT64* m2, const MKL_INT64* n,
              MKL_Complex16* x1, const MKL_INT64* incx1, MKL_Complex16* x2,
              const MKL_INT64* incx2, MKL_Complex16* q1, const MKL_INT64* ldq1,
              MKL_Complex16* q2, const MKL_INT64* ldq2, MKL_Complex16* work,
              const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;
void zunbdb6_64( const MKL_INT64* m1, const MKL_INT64* m2, const MKL_INT64* n,
              MKL_Complex16* x1, const MKL_INT64* incx1, MKL_Complex16* x2,
              const MKL_INT64* incx2, MKL_Complex16* q1, const MKL_INT64* ldq1,
              MKL_Complex16* q2, const MKL_INT64* ldq2, MKL_Complex16* work,
              const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;

void ZUNCSD2BY1_64( const char* jobu1, const char* jobu2, const char* jobv1t,
                 const MKL_INT64* m, const MKL_INT64* p, const MKL_INT64* q,
                 MKL_Complex16* x11, const MKL_INT64* ldx11, MKL_Complex16* x21,
                 const MKL_INT64* ldx21, double* theta, MKL_Complex16* u1,
                 const MKL_INT64* ldu1, MKL_Complex16* u2, const MKL_INT64* ldu2,
                 MKL_Complex16* v1t, const MKL_INT64* ldv1t, MKL_Complex16* work,
                 const MKL_INT64* lwork, double* rwork, const MKL_INT64* lrwork,
                 MKL_INT64* iwork, MKL_INT64* info ) NOTHROW;
void zuncsd2by1_64( const char* jobu1, const char* jobu2, const char* jobv1t,
                 const MKL_INT64* m, const MKL_INT64* p, const MKL_INT64* q,
                 MKL_Complex16* x11, const MKL_INT64* ldx11, MKL_Complex16* x21,
                 const MKL_INT64* ldx21, double* theta, MKL_Complex16* u1,
                 const MKL_INT64* ldu1, MKL_Complex16* u2, const MKL_INT64* ldu2,
                 MKL_Complex16* v1t, const MKL_INT64* ldv1t, MKL_Complex16* work,
                 const MKL_INT64* lwork, double* rwork, const MKL_INT64* lrwork,
                 MKL_INT64* iwork, MKL_INT64* info ) NOTHROW;

/* LAPACK 3.4.0 routines */

void CGEMQRT_64( const char* side, const char* trans, const MKL_INT64* m,
              const MKL_INT64* n, const MKL_INT64* k, const MKL_INT64* nb,
              const MKL_Complex8* v, const MKL_INT64* ldv,
              const MKL_Complex8* t, const MKL_INT64* ldt,
              MKL_Complex8* c, const MKL_INT64* ldc,
              MKL_Complex8* work, MKL_INT64* info ) NOTHROW;
void cgemqrt_64( const char* side, const char* trans, const MKL_INT64* m,
              const MKL_INT64* n, const MKL_INT64* k, const MKL_INT64* nb,
              const MKL_Complex8* v, const MKL_INT64* ldv,
              const MKL_Complex8* t, const MKL_INT64* ldt,
              MKL_Complex8* c, const MKL_INT64* ldc,
              MKL_Complex8* work, MKL_INT64* info ) NOTHROW;

void DGEMQRT_64( const char* side, const char* trans, const MKL_INT64* m,
              const MKL_INT64* n, const MKL_INT64* k, const MKL_INT64* nb,
              const double* v, const MKL_INT64* ldv,
              const double* t, const MKL_INT64* ldt,
              double* c, const MKL_INT64* ldc, double* work, MKL_INT64* info ) NOTHROW;
void dgemqrt_64( const char* side, const char* trans, const MKL_INT64* m,
              const MKL_INT64* n, const MKL_INT64* k, const MKL_INT64* nb,
              const double* v, const MKL_INT64* ldv,
              const double* t, const MKL_INT64* ldt,
              double* c, const MKL_INT64* ldc, double* work, MKL_INT64* info ) NOTHROW;

void SGEMQRT_64( const char* side, const char* trans, const MKL_INT64* m,
              const MKL_INT64* n, const MKL_INT64* k, const MKL_INT64* nb,
              const float* v, const MKL_INT64* ldv, const float* t,
              const MKL_INT64* ldt, float* c, const MKL_INT64* ldc, float* work,
              MKL_INT64* info ) NOTHROW;
void sgemqrt_64( const char* side, const char* trans, const MKL_INT64* m,
              const MKL_INT64* n, const MKL_INT64* k, const MKL_INT64* nb,
              const float* v, const MKL_INT64* ldv, const float* t,
              const MKL_INT64* ldt, float* c, const MKL_INT64* ldc, float* work,
              MKL_INT64* info ) NOTHROW;

void ZGEMQRT_64( const char* side, const char* trans, const MKL_INT64* m,
              const MKL_INT64* n, const MKL_INT64* k, const MKL_INT64* nb,
              const MKL_Complex16* v, const MKL_INT64* ldv,
              const MKL_Complex16* t, const MKL_INT64* ldt,
              MKL_Complex16* c, const MKL_INT64* ldc,
              MKL_Complex16* work, MKL_INT64* info ) NOTHROW;
void zgemqrt_64( const char* side, const char* trans, const MKL_INT64* m,
              const MKL_INT64* n, const MKL_INT64* k, const MKL_INT64* nb,
              const MKL_Complex16* v, const MKL_INT64* ldv,
              const MKL_Complex16* t, const MKL_INT64* ldt,
              MKL_Complex16* c, const MKL_INT64* ldc,
              MKL_Complex16* work, MKL_INT64* info ) NOTHROW;

void CGEQRT_64( const MKL_INT64* m, const MKL_INT64* n, const MKL_INT64* nb,
             MKL_Complex8* a, const MKL_INT64* lda,
             MKL_Complex8* t, const MKL_INT64* ldt,
             MKL_Complex8* work, MKL_INT64* info ) NOTHROW;


void cgeqrt_64( const MKL_INT64* m, const MKL_INT64* n, const MKL_INT64* nb,
             MKL_Complex8* a, const MKL_INT64* lda,
             MKL_Complex8* t, const MKL_INT64* ldt,
             MKL_Complex8* work, MKL_INT64* info ) NOTHROW;


void DGEQRT_64( const MKL_INT64* m, const MKL_INT64* n, const MKL_INT64* nb,
             double* a, const MKL_INT64* lda,
             double* t, const MKL_INT64* ldt,
             double* work, MKL_INT64* info ) NOTHROW;


void dgeqrt_64( const MKL_INT64* m, const MKL_INT64* n, const MKL_INT64* nb,
             double* a, const MKL_INT64* lda,
             double* t, const MKL_INT64* ldt,
             double* work, MKL_INT64* info ) NOTHROW;


void SGEQRT_64( const MKL_INT64* m, const MKL_INT64* n, const MKL_INT64* nb,
             float* a, const MKL_INT64* lda,
             float* t, const MKL_INT64* ldt,
             float* work, MKL_INT64* info ) NOTHROW;


void sgeqrt_64( const MKL_INT64* m, const MKL_INT64* n, const MKL_INT64* nb,
             float* a, const MKL_INT64* lda,
             float* t, const MKL_INT64* ldt,
             float* work, MKL_INT64* info ) NOTHROW;


void ZGEQRT_64( const MKL_INT64* m, const MKL_INT64* n, const MKL_INT64* nb,
             MKL_Complex16* a, const MKL_INT64* lda,
             MKL_Complex16* t, const MKL_INT64* ldt,
             MKL_Complex16* work, MKL_INT64* info ) NOTHROW;


void zgeqrt_64( const MKL_INT64* m, const MKL_INT64* n, const MKL_INT64* nb,
             MKL_Complex16* a, const MKL_INT64* lda,
             MKL_Complex16* t, const MKL_INT64* ldt,
             MKL_Complex16* work, MKL_INT64* info ) NOTHROW;


void CGEQRT3_64( const MKL_INT64* m, const MKL_INT64* n,
              MKL_Complex8* a, const MKL_INT64* lda,
              MKL_Complex8* t, const MKL_INT64* ldt, MKL_INT64* info ) NOTHROW;


void cgeqrt3_64( const MKL_INT64* m, const MKL_INT64* n,
              MKL_Complex8* a, const MKL_INT64* lda,
              MKL_Complex8* t, const MKL_INT64* ldt, MKL_INT64* info ) NOTHROW;


void DGEQRT3_64( const MKL_INT64* m, const MKL_INT64* n,
              double* a, const MKL_INT64* lda,
              double* t, const MKL_INT64* ldt, MKL_INT64* info ) NOTHROW;


void dgeqrt3_64( const MKL_INT64* m, const MKL_INT64* n,
              double* a, const MKL_INT64* lda,
              double* t, const MKL_INT64* ldt, MKL_INT64* info ) NOTHROW;


void SGEQRT3_64( const MKL_INT64* m, const MKL_INT64* n,
              float* a, const MKL_INT64* lda,
              float* t, const MKL_INT64* ldt, MKL_INT64* info ) NOTHROW;


void sgeqrt3_64( const MKL_INT64* m, const MKL_INT64* n,
              float* a, const MKL_INT64* lda,
              float* t, const MKL_INT64* ldt, MKL_INT64* info ) NOTHROW;


void ZGEQRT3_64( const MKL_INT64* m, const MKL_INT64* n,
              MKL_Complex16* a, const MKL_INT64* lda,
              MKL_Complex16* t, const MKL_INT64* ldt, MKL_INT64* info ) NOTHROW;


void zgeqrt3_64( const MKL_INT64* m, const MKL_INT64* n,
              MKL_Complex16* a, const MKL_INT64* lda,
              MKL_Complex16* t, const MKL_INT64* ldt, MKL_INT64* info ) NOTHROW;


void CTPMQRT_64( const char* side, const char* trans, const MKL_INT64* m,
              const MKL_INT64* n, const MKL_INT64* k, const MKL_INT64* l, const MKL_INT64* nb,
              const MKL_Complex8* v, const MKL_INT64* ldv,
              const MKL_Complex8* t, const MKL_INT64* ldt,
              MKL_Complex8* a, const MKL_INT64* lda,
              MKL_Complex8* b, const MKL_INT64* ldb,
              MKL_Complex8* work, MKL_INT64* info ) NOTHROW;


void ctpmqrt_64( const char* side, const char* trans, const MKL_INT64* m,
              const MKL_INT64* n, const MKL_INT64* k, const MKL_INT64* l, const MKL_INT64* nb,
              const MKL_Complex8* v, const MKL_INT64* ldv,
              const MKL_Complex8* t, const MKL_INT64* ldt,
              MKL_Complex8* a, const MKL_INT64* lda,
              MKL_Complex8* b, const MKL_INT64* ldb,
              MKL_Complex8* work, MKL_INT64* info ) NOTHROW;


void DTPMQRT_64( const char* side, const char* trans, const MKL_INT64* m,
              const MKL_INT64* n, const MKL_INT64* k, const MKL_INT64* l, const MKL_INT64* nb,
              const double* v, const MKL_INT64* ldv,
              const double* t, const MKL_INT64* ldt,
              double* a, const MKL_INT64* lda,
              double* b, const MKL_INT64* ldb,
              double* work, MKL_INT64* info ) NOTHROW;


void dtpmqrt_64( const char* side, const char* trans, const MKL_INT64* m,
              const MKL_INT64* n, const MKL_INT64* k, const MKL_INT64* l, const MKL_INT64* nb,
              const double* v, const MKL_INT64* ldv,
              const double* t, const MKL_INT64* ldt,
              double* a, const MKL_INT64* lda,
              double* b, const MKL_INT64* ldb,
              double* work, MKL_INT64* info ) NOTHROW;


void STPMQRT_64( const char* side, const char* trans, const MKL_INT64* m,
              const MKL_INT64* n, const MKL_INT64* k, const MKL_INT64* l, const MKL_INT64* nb,
              const float* v, const MKL_INT64* ldv,
              const float* t, const MKL_INT64* ldt,
              float* a, const MKL_INT64* lda,
              float* b, const MKL_INT64* ldb,
              float* work, MKL_INT64* info ) NOTHROW;


void stpmqrt_64( const char* side, const char* trans, const MKL_INT64* m,
              const MKL_INT64* n, const MKL_INT64* k, const MKL_INT64* l, const MKL_INT64* nb,
              const float* v, const MKL_INT64* ldv,
              const float* t, const MKL_INT64* ldt,
              float* a, const MKL_INT64* lda,
              float* b, const MKL_INT64* ldb,
              float* work, MKL_INT64* info ) NOTHROW;


void ZTPMQRT_64( const char* side, const char* trans, const MKL_INT64* m,
              const MKL_INT64* n, const MKL_INT64* k, const MKL_INT64* l, const MKL_INT64* nb,
              const MKL_Complex16* v, const MKL_INT64* ldv,
              const MKL_Complex16* t, const MKL_INT64* ldt,
              MKL_Complex16* a, const MKL_INT64* lda,
              MKL_Complex16* b, const MKL_INT64* ldb,
              MKL_Complex16* work, MKL_INT64* info ) NOTHROW;


void ztpmqrt_64( const char* side, const char* trans, const MKL_INT64* m,
              const MKL_INT64* n, const MKL_INT64* k, const MKL_INT64* l, const MKL_INT64* nb,
              const MKL_Complex16* v, const MKL_INT64* ldv,
              const MKL_Complex16* t, const MKL_INT64* ldt,
              MKL_Complex16* a, const MKL_INT64* lda,
              MKL_Complex16* b, const MKL_INT64* ldb,
              MKL_Complex16* work, MKL_INT64* info ) NOTHROW;


void CTPQRT_64( const MKL_INT64* m, const MKL_INT64* n, const MKL_INT64* l, const MKL_INT64* nb,
             MKL_Complex8* a, const MKL_INT64* lda,
             MKL_Complex8* b, const MKL_INT64* ldb,
             MKL_Complex8* t, const MKL_INT64* ldt,
             MKL_Complex8* work, MKL_INT64* info ) NOTHROW;


void ctpqrt_64( const MKL_INT64* m, const MKL_INT64* n, const MKL_INT64* l, const MKL_INT64* nb,
             MKL_Complex8* a, const MKL_INT64* lda,
             MKL_Complex8* b, const MKL_INT64* ldb,
             MKL_Complex8* t, const MKL_INT64* ldt,
             MKL_Complex8* work, MKL_INT64* info ) NOTHROW;


void DTPQRT_64( const MKL_INT64* m, const MKL_INT64* n, const MKL_INT64* l, const MKL_INT64* nb,
             double* a, const MKL_INT64* lda,
             double* b, const MKL_INT64* ldb,
             double* t, const MKL_INT64* ldt,
             double* work, MKL_INT64* info ) NOTHROW;


void dtpqrt_64( const MKL_INT64* m, const MKL_INT64* n, const MKL_INT64* l, const MKL_INT64* nb,
             double* a, const MKL_INT64* lda,
             double* b, const MKL_INT64* ldb,
             double* t, const MKL_INT64* ldt,
             double* work, MKL_INT64* info ) NOTHROW;


void STPQRT_64( const MKL_INT64* m, const MKL_INT64* n, const MKL_INT64* l, const MKL_INT64* nb,
             float* a, const MKL_INT64* lda,
             float* b, const MKL_INT64* ldb,
             float* t, const MKL_INT64* ldt,
             float* work, MKL_INT64* info ) NOTHROW;


void stpqrt_64( const MKL_INT64* m, const MKL_INT64* n, const MKL_INT64* l, const MKL_INT64* nb,
             float* a, const MKL_INT64* lda,
             float* b, const MKL_INT64* ldb,
             float* t, const MKL_INT64* ldt,
             float* work, MKL_INT64* info ) NOTHROW;


void ZTPQRT_64( const MKL_INT64* m, const MKL_INT64* n, const MKL_INT64* l, const MKL_INT64* nb,
             MKL_Complex16* a, const MKL_INT64* lda,
             MKL_Complex16* b, const MKL_INT64* ldb,
             MKL_Complex16* t, const MKL_INT64* ldt,
             MKL_Complex16* work, MKL_INT64* info ) NOTHROW;


void ztpqrt_64( const MKL_INT64* m, const MKL_INT64* n, const MKL_INT64* l, const MKL_INT64* nb,
             MKL_Complex16* a, const MKL_INT64* lda,
             MKL_Complex16* b, const MKL_INT64* ldb,
             MKL_Complex16* t, const MKL_INT64* ldt,
             MKL_Complex16* work, MKL_INT64* info ) NOTHROW;


void CTPQRT2_64( const MKL_INT64* m, const MKL_INT64* n, const MKL_INT64* l,
              MKL_Complex8* a, const MKL_INT64* lda,
              MKL_Complex8* b, const MKL_INT64* ldb,
              MKL_Complex8* t, const MKL_INT64* ldt, MKL_INT64* info ) NOTHROW;


void ctpqrt2_64( const MKL_INT64* m, const MKL_INT64* n, const MKL_INT64* l,
              MKL_Complex8* a, const MKL_INT64* lda,
              MKL_Complex8* b, const MKL_INT64* ldb,
              MKL_Complex8* t, const MKL_INT64* ldt, MKL_INT64* info ) NOTHROW;


void DTPQRT2_64( const MKL_INT64* m, const MKL_INT64* n, const MKL_INT64* l,
              double* a, const MKL_INT64* lda,
              double* b, const MKL_INT64* ldb,
              double* t, const MKL_INT64* ldt, MKL_INT64* info ) NOTHROW;


void dtpqrt2_64( const MKL_INT64* m, const MKL_INT64* n, const MKL_INT64* l,
              double* a, const MKL_INT64* lda,
              double* b, const MKL_INT64* ldb,
              double* t, const MKL_INT64* ldt, MKL_INT64* info ) NOTHROW;


void STPQRT2_64( const MKL_INT64* m, const MKL_INT64* n, const MKL_INT64* l,
              float* a, const MKL_INT64* lda,
              float* b, const MKL_INT64* ldb,
              float* t, const MKL_INT64* ldt, MKL_INT64* info ) NOTHROW;


void stpqrt2_64( const MKL_INT64* m, const MKL_INT64* n, const MKL_INT64* l,
              float* a, const MKL_INT64* lda,
              float* b, const MKL_INT64* ldb,
              float* t, const MKL_INT64* ldt, MKL_INT64* info ) NOTHROW;


void ZTPQRT2_64( const MKL_INT64* m, const MKL_INT64* n, const MKL_INT64* l,
              MKL_Complex16* a, const MKL_INT64* lda,
              MKL_Complex16* b, const MKL_INT64* ldb,
              MKL_Complex16* t, const MKL_INT64* ldt, MKL_INT64* info ) NOTHROW;


void ztpqrt2_64( const MKL_INT64* m, const MKL_INT64* n, const MKL_INT64* l,
              MKL_Complex16* a, const MKL_INT64* lda,
              MKL_Complex16* b, const MKL_INT64* ldb,
              MKL_Complex16* t, const MKL_INT64* ldt, MKL_INT64* info ) NOTHROW;


/* LAPACK 3.3.0 routines */

void CBBCSD_64( const char* jobu1, const char* jobu2, const char* jobv1t,
             const char* jobv2t, const char* trans, const MKL_INT64* M,
             const MKL_INT64* P, const MKL_INT64* Q, float* theta, float* phi,
             MKL_Complex8* u1, const MKL_INT64* ldu1, MKL_Complex8* u2,
             const MKL_INT64* ldu2, MKL_Complex8* v1t, const MKL_INT64* ldv1t,
             MKL_Complex8* v2t, const MKL_INT64* ldv2t, float* b11d, float* b11e,
             float* b12d, float* b12e, float* b21d, float* b21e, float* b22d,
             float* b22e, float* rwork, const MKL_INT64* lrwork, MKL_INT64* info ) NOTHROW;


void cbbcsd_64( const char* jobu1, const char* jobu2, const char* jobv1t,
             const char* jobv2t, const char* trans, const MKL_INT64* M,
             const MKL_INT64* P, const MKL_INT64* Q, float* theta, float* phi,
             MKL_Complex8* u1, const MKL_INT64* ldu1, MKL_Complex8* u2,
             const MKL_INT64* ldu2, MKL_Complex8* v1t, const MKL_INT64* ldv1t,
             MKL_Complex8* v2t, const MKL_INT64* ldv2t, float* b11d, float* b11e,
             float* b12d, float* b12e, float* b21d, float* b21e, float* b22d,
             float* b22e, float* rwork, const MKL_INT64* lrwork, MKL_INT64* info ) NOTHROW;


void ZBBCSD_64( const char* jobu1, const char* jobu2, const char* jobv1t,
             const char* jobv2t, const char* trans, const MKL_INT64* M,
             const MKL_INT64* P, const MKL_INT64* Q, double* theta, double* phi,
             MKL_Complex16* u1, const MKL_INT64* ldu1, MKL_Complex16* u2,
             const MKL_INT64* ldu2, MKL_Complex16* v1t, const MKL_INT64* ldv1t,
             MKL_Complex16* v2t, const MKL_INT64* ldv2t, double* b11d, double* b11e,
             double* b12d, double* b12e, double* b21d, double* b21e, double* b22d,
             double* b22e, double* rwork, const MKL_INT64* lrwork, MKL_INT64* info ) NOTHROW;


void zbbcsd_64( const char* jobu1, const char* jobu2, const char* jobv1t,
             const char* jobv2t, const char* trans, const MKL_INT64* M,
             const MKL_INT64* P, const MKL_INT64* Q, double* theta, double* phi,
             MKL_Complex16* u1, const MKL_INT64* ldu1, MKL_Complex16* u2,
             const MKL_INT64* ldu2, MKL_Complex16* v1t, const MKL_INT64* ldv1t,
             MKL_Complex16* v2t, const MKL_INT64* ldv2t, double* b11d, double* b11e,
             double* b12d, double* b12e, double* b21d, double* b21e, double* b22d,
             double* b22e, double* rwork, const MKL_INT64* lrwork, MKL_INT64* info ) NOTHROW;


void SBBCSD_64( const char* jobu1, const char* jobu2, const char* jobv1t,
             const char* jobv2t, const char* trans, const MKL_INT64* M,
             const MKL_INT64* P, const MKL_INT64* Q, float* theta, float* phi,
             float* u1, const MKL_INT64* ldu1, float* u2,
             const MKL_INT64* ldu2, float* v1t, const MKL_INT64* ldv1t,
             float* v2t, const MKL_INT64* ldv2t, float* b11d, float* b11e,
             float* b12d, float* b12e, float* b21d, float* b21e, float* b22d,
             float* b22e, float* rwork, const MKL_INT64* lrwork, MKL_INT64* info ) NOTHROW;


void sbbcsd_64( const char* jobu1, const char* jobu2, const char* jobv1t,
             const char* jobv2t, const char* trans, const MKL_INT64* M,
             const MKL_INT64* P, const MKL_INT64* Q, float* theta, float* phi,
             float* u1, const MKL_INT64* ldu1, float* u2,
             const MKL_INT64* ldu2, float* v1t, const MKL_INT64* ldv1t,
             float* v2t, const MKL_INT64* ldv2t, float* b11d, float* b11e,
             float* b12d, float* b12e, float* b21d, float* b21e, float* b22d,
             float* b22e, float* rwork, const MKL_INT64* lrwork, MKL_INT64* info ) NOTHROW;


void DBBCSD_64( const char* jobu1, const char* jobu2, const char* jobv1t,
             const char* jobv2t, const char* trans, const MKL_INT64* M,
             const MKL_INT64* P, const MKL_INT64* Q, double* theta, double* phi,
             double* u1, const MKL_INT64* ldu1, double* u2,
             const MKL_INT64* ldu2, double* v1t, const MKL_INT64* ldv1t,
             double* v2t, const MKL_INT64* ldv2t, double* b11d, double* b11e,
             double* b12d, double* b12e, double* b21d, double* b21e, double* b22d,
             double* b22e, double* rwork, const MKL_INT64* lrwork, MKL_INT64* info ) NOTHROW;


void dbbcsd_64( const char* jobu1, const char* jobu2, const char* jobv1t,
             const char* jobv2t, const char* trans, const MKL_INT64* M,
             const MKL_INT64* P, const MKL_INT64* Q, double* theta, double* phi,
             double* u1, const MKL_INT64* ldu1, double* u2,
             const MKL_INT64* ldu2, double* v1t, const MKL_INT64* ldv1t,
             double* v2t, const MKL_INT64* ldv2t, double* b11d, double* b11e,
             double* b12d, double* b12e, double* b21d, double* b21e, double* b22d,
             double* b22e, double* rwork, const MKL_INT64* lrwork, MKL_INT64* info ) NOTHROW;


void CUNBDB_64( const char* trans, const char* signs, const MKL_INT64* M,
             const MKL_INT64* P, const MKL_INT64* Q, MKL_Complex8* x11,
             const MKL_INT64* ldx11, MKL_Complex8* x12, const MKL_INT64* ldx12,
             MKL_Complex8* x21, const MKL_INT64* ldx21, MKL_Complex8* x22,
             const MKL_INT64* ldx22, float* theta, float* phi, MKL_Complex8* taup1,
             MKL_Complex8* taup2, MKL_Complex8* tauq1, MKL_Complex8* tauq2,
             MKL_Complex8* work, const MKL_INT64* lwork, MKL_INT64* info) NOTHROW;


void cunbdb_64( const char* trans, const char* signs, const MKL_INT64* M,
             const MKL_INT64* P, const MKL_INT64* Q, MKL_Complex8* x11,
             const MKL_INT64* ldx11, MKL_Complex8* x12, const MKL_INT64* ldx12,
             MKL_Complex8* x21, const MKL_INT64* ldx21, MKL_Complex8* x22,
             const MKL_INT64* ldx22, float* theta, float* phi, MKL_Complex8* taup1,
             MKL_Complex8* taup2, MKL_Complex8* tauq1, MKL_Complex8* tauq2,
             MKL_Complex8* work, const MKL_INT64* lwork, MKL_INT64* info) NOTHROW;


void ZUNBDB_64( const char* trans, const char* signs, const MKL_INT64* M,
             const MKL_INT64* P, const MKL_INT64* Q, MKL_Complex16* x11,
             const MKL_INT64* ldx11, MKL_Complex16* x12, const MKL_INT64* ldx12,
             MKL_Complex16* x21, const MKL_INT64* ldx21, MKL_Complex16* x22,
             const MKL_INT64* ldx22, double* theta, double* phi, MKL_Complex16* taup1,
             MKL_Complex16* taup2, MKL_Complex16* tauq1, MKL_Complex16* tauq2,
             MKL_Complex16* work, const MKL_INT64* lwork, MKL_INT64* info) NOTHROW;


void zunbdb_64( const char* trans, const char* signs, const MKL_INT64* M,
             const MKL_INT64* P, const MKL_INT64* Q, MKL_Complex16* x11,
             const MKL_INT64* ldx11, MKL_Complex16* x12, const MKL_INT64* ldx12,
             MKL_Complex16* x21, const MKL_INT64* ldx21, MKL_Complex16* x22,
             const MKL_INT64* ldx22, double* theta, double* phi, MKL_Complex16* taup1,
             MKL_Complex16* taup2, MKL_Complex16* tauq1, MKL_Complex16* tauq2,
             MKL_Complex16* work, const MKL_INT64* lwork, MKL_INT64* info) NOTHROW;


void SORBDB_64( const char* trans, const char* signs, const MKL_INT64* M,
             const MKL_INT64* P, const MKL_INT64* Q, float* x11,
             const MKL_INT64* ldx11, float* x12, const MKL_INT64* ldx12,
             float* x21, const MKL_INT64* ldx21, float* x22,
             const MKL_INT64* ldx22, float* theta, float* phi, float* taup1,
             float* taup2, float* tauq1, float* tauq2,
             float* work, const MKL_INT64* lwork, MKL_INT64* info) NOTHROW;


void sorbdb_64( const char* trans, const char* signs, const MKL_INT64* M,
             const MKL_INT64* P, const MKL_INT64* Q, float* x11,
             const MKL_INT64* ldx11, float* x12, const MKL_INT64* ldx12,
             float* x21, const MKL_INT64* ldx21, float* x22,
             const MKL_INT64* ldx22, float* theta, float* phi, float* taup1,
             float* taup2, float* tauq1, float* tauq2,
             float* work, const MKL_INT64* lwork, MKL_INT64* info) NOTHROW;


void DORBDB_64( const char* trans, const char* signs, const MKL_INT64* M,
             const MKL_INT64* P, const MKL_INT64* Q, double* x11,
             const MKL_INT64* ldx11, double* x12, const MKL_INT64* ldx12,
             double* x21, const MKL_INT64* ldx21, double* x22,
             const MKL_INT64* ldx22, double* theta, double* phi, double* taup1,
             double* taup2, double* tauq1, double* tauq2,
             double* work, const MKL_INT64* lwork, MKL_INT64* info) NOTHROW;


void dorbdb_64( const char* trans, const char* signs, const MKL_INT64* M,
             const MKL_INT64* P, const MKL_INT64* Q, double* x11,
             const MKL_INT64* ldx11, double* x12, const MKL_INT64* ldx12,
             double* x21, const MKL_INT64* ldx21, double* x22,
             const MKL_INT64* ldx22, double* theta, double* phi, double* taup1,
             double* taup2, double* tauq1, double* tauq2,
             double* work, const MKL_INT64* lwork, MKL_INT64* info) NOTHROW;


void CUNCSD_64( const char* jobu1, const char* jobu2, const char* jobv1t,
             const char* jobv2t, const char* trans, const char* signs,
             const MKL_INT64* M, const MKL_INT64* P, const MKL_INT64* Q,
             MKL_Complex8* x11, const MKL_INT64* ldx11, MKL_Complex8* x12,
             const MKL_INT64* ldx12, MKL_Complex8* x21, const MKL_INT64* ldx21,
             MKL_Complex8* x22, const MKL_INT64* ldx22, float* theta,
             MKL_Complex8* u1, const MKL_INT64* ldu1, MKL_Complex8* u2,
             const MKL_INT64* ldu2, MKL_Complex8* v1t, const MKL_INT64* ldv1t,
             MKL_Complex8* v2t, const MKL_INT64* ldv2t, MKL_Complex8* work,
             const MKL_INT64* lwork, float* rwork, const MKL_INT64* lrwork,
             MKL_INT64* iwork, MKL_INT64* info) NOTHROW;


void cuncsd_64( const char* jobu1, const char* jobu2, const char* jobv1t,
             const char* jobv2t, const char* trans, const char* signs,
             const MKL_INT64* M, const MKL_INT64* P, const MKL_INT64* Q,
             MKL_Complex8* x11, const MKL_INT64* ldx11, MKL_Complex8* x12,
             const MKL_INT64* ldx12, MKL_Complex8* x21, const MKL_INT64* ldx21,
             MKL_Complex8* x22, const MKL_INT64* ldx22, float* theta,
             MKL_Complex8* u1, const MKL_INT64* ldu1, MKL_Complex8* u2,
             const MKL_INT64* ldu2, MKL_Complex8* v1t, const MKL_INT64* ldv1t,
             MKL_Complex8* v2t, const MKL_INT64* ldv2t, MKL_Complex8* work,
             const MKL_INT64* lwork, float* rwork, const MKL_INT64* lrwork,
             MKL_INT64* iwork, MKL_INT64* info) NOTHROW;


void ZUNCSD_64( const char* jobu1, const char* jobu2, const char* jobv1t,
             const char* jobv2t, const char* trans, const char* signs,
             const MKL_INT64* M, const MKL_INT64* P, const MKL_INT64* Q,
             MKL_Complex16* x11, const MKL_INT64* ldx11, MKL_Complex16* x12,
             const MKL_INT64* ldx12, MKL_Complex16* x21, const MKL_INT64* ldx21,
             MKL_Complex16* x22, const MKL_INT64* ldx22, double* theta,
             MKL_Complex16* u1, const MKL_INT64* ldu1, MKL_Complex16* u2,
             const MKL_INT64* ldu2, MKL_Complex16* v1t, const MKL_INT64* ldv1t,
             MKL_Complex16* v2t, const MKL_INT64* ldv2t, MKL_Complex16* work,
             const MKL_INT64* lwork, double* rwork, const MKL_INT64* lrwork,
             MKL_INT64* iwork, MKL_INT64* info) NOTHROW;


void zuncsd_64( const char* jobu1, const char* jobu2, const char* jobv1t,
             const char* jobv2t, const char* trans, const char* signs,
             const MKL_INT64* M, const MKL_INT64* P, const MKL_INT64* Q,
             MKL_Complex16* x11, const MKL_INT64* ldx11, MKL_Complex16* x12,
             const MKL_INT64* ldx12, MKL_Complex16* x21, const MKL_INT64* ldx21,
             MKL_Complex16* x22, const MKL_INT64* ldx22, double* theta,
             MKL_Complex16* u1, const MKL_INT64* ldu1, MKL_Complex16* u2,
             const MKL_INT64* ldu2, MKL_Complex16* v1t, const MKL_INT64* ldv1t,
             MKL_Complex16* v2t, const MKL_INT64* ldv2t, MKL_Complex16* work,
             const MKL_INT64* lwork, double* rwork, const MKL_INT64* lrwork,
             MKL_INT64* iwork, MKL_INT64* info) NOTHROW;


void SORCSD_64( const char* jobu1, const char* jobu2, const char* jobv1t,
             const char* jobv2t, const char* trans, const char* signs,
             const MKL_INT64* M, const MKL_INT64* P, const MKL_INT64* Q,
             float* x11, const MKL_INT64* ldx11, float* x12,
             const MKL_INT64* ldx12, float* x21, const MKL_INT64* ldx21,
             float* x22, const MKL_INT64* ldx22, float* theta,
             float* u1, const MKL_INT64* ldu1, float* u2,
             const MKL_INT64* ldu2, float* v1t, const MKL_INT64* ldv1t,
             float* v2t, const MKL_INT64* ldv2t, float* work,
             const MKL_INT64* lwork, MKL_INT64* iwork, MKL_INT64* info) NOTHROW;


void sorcsd_64( const char* jobu1, const char* jobu2, const char* jobv1t,
             const char* jobv2t, const char* trans, const char* signs,
             const MKL_INT64* M, const MKL_INT64* P, const MKL_INT64* Q,
             float* x11, const MKL_INT64* ldx11, float* x12,
             const MKL_INT64* ldx12, float* x21, const MKL_INT64* ldx21,
             float* x22, const MKL_INT64* ldx22, float* theta,
             float* u1, const MKL_INT64* ldu1, float* u2,
             const MKL_INT64* ldu2, float* v1t, const MKL_INT64* ldv1t,
             float* v2t, const MKL_INT64* ldv2t, float* work,
             const MKL_INT64* lwork, MKL_INT64* iwork, MKL_INT64* info) NOTHROW;


void DORCSD_64( const char* jobu1, const char* jobu2, const char* jobv1t,
             const char* jobv2t, const char* trans, const char* signs,
             const MKL_INT64* M, const MKL_INT64* P, const MKL_INT64* Q,
             double* x11, const MKL_INT64* ldx11, double* x12,
             const MKL_INT64* ldx12, double* x21, const MKL_INT64* ldx21,
             double* x22, const MKL_INT64* ldx22, double* theta,
             double* u1, const MKL_INT64* ldu1, double* u2,
             const MKL_INT64* ldu2, double* v1t, const MKL_INT64* ldv1t,
             double* v2t, const MKL_INT64* ldv2t, double* work,
             const MKL_INT64* lwork, MKL_INT64* iwork, MKL_INT64* info) NOTHROW;


void dorcsd_64( const char* jobu1, const char* jobu2, const char* jobv1t,
             const char* jobv2t, const char* trans, const char* signs,
             const MKL_INT64* M, const MKL_INT64* P, const MKL_INT64* Q,
             double* x11, const MKL_INT64* ldx11, double* x12,
             const MKL_INT64* ldx12, double* x21, const MKL_INT64* ldx21,
             double* x22, const MKL_INT64* ldx22, double* theta,
             double* u1, const MKL_INT64* ldu1, double* u2,
             const MKL_INT64* ldu2, double* v1t, const MKL_INT64* ldv1t,
             double* v2t, const MKL_INT64* ldv2t, double* work,
             const MKL_INT64* lwork, MKL_INT64* iwork, MKL_INT64* info) NOTHROW;



void CLAPMR_64( const MKL_INT64* forwrd, const MKL_INT64* m, const MKL_INT64* n,
             MKL_Complex8* x, const MKL_INT64* ldx, MKL_INT64* k ) NOTHROW;
void clapmr_64( const MKL_INT64* forwrd, const MKL_INT64* m, const MKL_INT64* n,
             MKL_Complex8* x, const MKL_INT64* ldx, MKL_INT64* k ) NOTHROW;

void DLAPMR_64( const MKL_INT64* forwrd, const MKL_INT64* m, const MKL_INT64* n,
             double* x, const MKL_INT64* ldx, MKL_INT64* k ) NOTHROW;
void dlapmr_64( const MKL_INT64* forwrd, const MKL_INT64* m, const MKL_INT64* n,
             double* x, const MKL_INT64* ldx, MKL_INT64* k ) NOTHROW;

void ZLAPMR_64( const MKL_INT64* forwrd, const MKL_INT64* m, const MKL_INT64* n,
             MKL_Complex16* x, const MKL_INT64* ldx, MKL_INT64* k ) NOTHROW;
void zlapmr_64( const MKL_INT64* forwrd, const MKL_INT64* m, const MKL_INT64* n,
             MKL_Complex16* x, const MKL_INT64* ldx, MKL_INT64* k ) NOTHROW;

void SLAPMR_64( const MKL_INT64* forwrd, const MKL_INT64* m, const MKL_INT64* n,
             float* x, const MKL_INT64* ldx, MKL_INT64* k ) NOTHROW;
void slapmr_64( const MKL_INT64* forwrd, const MKL_INT64* m, const MKL_INT64* n,
             float* x, const MKL_INT64* ldx, MKL_INT64* k ) NOTHROW;

void CSYCONV_64( const char* uplo, const char* way, const MKL_INT64* n,
             MKL_Complex8* a, const MKL_INT64* lda, const MKL_INT64* ipiv,
             MKL_Complex8* e, MKL_INT64* info ) NOTHROW;
void csyconv_64( const char* uplo, const char* way, const MKL_INT64* n,
             MKL_Complex8* a, const MKL_INT64* lda, const MKL_INT64* ipiv,
             MKL_Complex8* e, MKL_INT64* info ) NOTHROW;

void ZSYCONV_64( const char* uplo, const char* way, const MKL_INT64* n,
             MKL_Complex16* a, const MKL_INT64* lda, const MKL_INT64* ipiv,
             MKL_Complex16* e, MKL_INT64* info ) NOTHROW;
void zsyconv_64( const char* uplo, const char* way, const MKL_INT64* n,
             MKL_Complex16* a, const MKL_INT64* lda, const MKL_INT64* ipiv,
             MKL_Complex16* e, MKL_INT64* info ) NOTHROW;

void SSYCONV_64( const char* uplo, const char* way, const MKL_INT64* n,
             float* a, const MKL_INT64* lda, const MKL_INT64* ipiv,
             float* e, MKL_INT64* info ) NOTHROW;
void ssyconv_64( const char* uplo, const char* way, const MKL_INT64* n,
             float* a, const MKL_INT64* lda, const MKL_INT64* ipiv,
             float* e, MKL_INT64* info ) NOTHROW;

void DSYCONV_64( const char* uplo, const char* way, const MKL_INT64* n,
             double* a, const MKL_INT64* lda, const MKL_INT64* ipiv,
             double* e, MKL_INT64* info ) NOTHROW;
void dsyconv_64( const char* uplo, const char* way, const MKL_INT64* n,
             double* a, const MKL_INT64* lda, const MKL_INT64* ipiv,
             double* e, MKL_INT64* info ) NOTHROW;

void CSYSWAPR_64( const char* uplo, const MKL_INT64* n, MKL_Complex8* a,
               const MKL_INT64* lda, const MKL_INT64* i1, const MKL_INT64* i2 ) NOTHROW;
void csyswapr_64( const char* uplo, const MKL_INT64* n, MKL_Complex8* a,
               const MKL_INT64* lda, const MKL_INT64* i1, const MKL_INT64* i2 ) NOTHROW;

void ZSYSWAPR_64( const char* uplo, const MKL_INT64* n, MKL_Complex16* a,
               const MKL_INT64* lda, const MKL_INT64* i1, const MKL_INT64* i2 ) NOTHROW;
void zsyswapr_64( const char* uplo, const MKL_INT64* n, MKL_Complex16* a,
               const MKL_INT64* lda, const MKL_INT64* i1, const MKL_INT64* i2 ) NOTHROW;

void SSYSWAPR_64( const char* uplo, const MKL_INT64* n, float* a,
               const MKL_INT64* lda, const MKL_INT64* i1, const MKL_INT64* i2 ) NOTHROW;
void ssyswapr_64( const char* uplo, const MKL_INT64* n, float* a,
               const MKL_INT64* lda, const MKL_INT64* i1, const MKL_INT64* i2 ) NOTHROW;

void DSYSWAPR_64( const char* uplo, const MKL_INT64* n, double* a,
               const MKL_INT64* lda, const MKL_INT64* i1, const MKL_INT64* i2 ) NOTHROW;
void dsyswapr_64( const char* uplo, const MKL_INT64* n, double* a,
               const MKL_INT64* lda, const MKL_INT64* i1, const MKL_INT64* i2 ) NOTHROW;

void CSYTRI2_64( const char* uplo, const MKL_INT64* n, MKL_Complex8* a,
              const MKL_INT64* lda, const MKL_INT64* ipiv, MKL_Complex8* work,
              const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;
void csytri2_64( const char* uplo, const MKL_INT64* n, MKL_Complex8* a,
              const MKL_INT64* lda, const MKL_INT64* ipiv, MKL_Complex8* work,
              const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;

void ZSYTRI2_64( const char* uplo, const MKL_INT64* n, MKL_Complex16* a,
              const MKL_INT64* lda, const MKL_INT64* ipiv, MKL_Complex16* work,
              const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;
void zsytri2_64( const char* uplo, const MKL_INT64* n, MKL_Complex16* a,
              const MKL_INT64* lda, const MKL_INT64* ipiv, MKL_Complex16* work,
              const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;

void SSYTRI2_64( const char* uplo, const MKL_INT64* n, float* a,
              const MKL_INT64* lda, const MKL_INT64* ipiv, float* work,
              const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;
void ssytri2_64( const char* uplo, const MKL_INT64* n, float* a,
              const MKL_INT64* lda, const MKL_INT64* ipiv, float* work,
              const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;

void DSYTRI2_64( const char* uplo, const MKL_INT64* n, double* a,
              const MKL_INT64* lda, const MKL_INT64* ipiv, double* work,
              const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;
void dsytri2_64( const char* uplo, const MKL_INT64* n, double* a,
              const MKL_INT64* lda, const MKL_INT64* ipiv, double* work,
              const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;

void CSYTRI2X_64( const char* uplo, const MKL_INT64* n, MKL_Complex8* a,
              const MKL_INT64* lda, const MKL_INT64* ipiv, MKL_Complex8* work,
              const MKL_INT64* nb, MKL_INT64* info ) NOTHROW;
void csytri2x_64( const char* uplo, const MKL_INT64* n, MKL_Complex8* a,
              const MKL_INT64* lda, const MKL_INT64* ipiv, MKL_Complex8* work,
              const MKL_INT64* nb, MKL_INT64* info ) NOTHROW;

void ZSYTRI2X_64( const char* uplo, const MKL_INT64* n, MKL_Complex16* a,
              const MKL_INT64* lda, const MKL_INT64* ipiv, MKL_Complex16* work,
              const MKL_INT64* nb, MKL_INT64* info ) NOTHROW;
void zsytri2x_64( const char* uplo, const MKL_INT64* n, MKL_Complex16* a,
              const MKL_INT64* lda, const MKL_INT64* ipiv, MKL_Complex16* work,
              const MKL_INT64* nb, MKL_INT64* info ) NOTHROW;

void SSYTRI2X_64( const char* uplo, const MKL_INT64* n, float* a,
              const MKL_INT64* lda, const MKL_INT64* ipiv, float* work,
              const MKL_INT64* nb, MKL_INT64* info ) NOTHROW;
void ssytri2x_64( const char* uplo, const MKL_INT64* n, float* a,
              const MKL_INT64* lda, const MKL_INT64* ipiv, float* work,
              const MKL_INT64* nb, MKL_INT64* info ) NOTHROW;

void DSYTRI2X_64( const char* uplo, const MKL_INT64* n, double* a,
              const MKL_INT64* lda, const MKL_INT64* ipiv, double* work,
              const MKL_INT64* nb, MKL_INT64* info ) NOTHROW;
void dsytri2x_64( const char* uplo, const MKL_INT64* n, double* a,
              const MKL_INT64* lda, const MKL_INT64* ipiv, double* work,
              const MKL_INT64* nb, MKL_INT64* info ) NOTHROW;

void CSYTRS2_64( const char* uplo, const MKL_INT64* n, const MKL_INT64* nrhs,
              MKL_Complex8* a, const MKL_INT64* lda, const MKL_INT64* ipiv,
             MKL_Complex8* b, const MKL_INT64* ldb, MKL_Complex8* work, MKL_INT64* info ) NOTHROW;
void csytrs2_64( const char* uplo, const MKL_INT64* n, const MKL_INT64* nrhs,
               MKL_Complex8* a, const MKL_INT64* lda, const MKL_INT64* ipiv,
             MKL_Complex8* b, const MKL_INT64* ldb, MKL_Complex8* work, MKL_INT64* info ) NOTHROW;

void ZSYTRS2_64( const char* uplo, const MKL_INT64* n, const MKL_INT64* nrhs,
              MKL_Complex16* a, const MKL_INT64* lda, const MKL_INT64* ipiv,
             MKL_Complex16* b, const MKL_INT64* ldb, MKL_Complex16* work, MKL_INT64* info ) NOTHROW;
void zsytrs2_64( const char* uplo, const MKL_INT64* n, const MKL_INT64* nrhs,
               MKL_Complex16* a, const MKL_INT64* lda, const MKL_INT64* ipiv,
             MKL_Complex16* b, const MKL_INT64* ldb, MKL_Complex16* work, MKL_INT64* info ) NOTHROW;

void SSYTRS2_64( const char* uplo, const MKL_INT64* n, const MKL_INT64* nrhs,
              float* a, const MKL_INT64* lda, const MKL_INT64* ipiv,
             float* b, const MKL_INT64* ldb, float* work, MKL_INT64* info ) NOTHROW;
void ssytrs2_64( const char* uplo, const MKL_INT64* n, const MKL_INT64* nrhs,
               float* a, const MKL_INT64* lda, const MKL_INT64* ipiv,
             float* b, const MKL_INT64* ldb, float* work, MKL_INT64* info ) NOTHROW;

void DSYTRS2_64( const char* uplo, const MKL_INT64* n, const MKL_INT64* nrhs,
              double* a, const MKL_INT64* lda, const MKL_INT64* ipiv,
             double* b, const MKL_INT64* ldb, double* work, MKL_INT64* info ) NOTHROW;
void dsytrs2_64( const char* uplo, const MKL_INT64* n, const MKL_INT64* nrhs,
               double* a, const MKL_INT64* lda, const MKL_INT64* ipiv,
             double* b, const MKL_INT64* ldb, double* work, MKL_INT64* info ) NOTHROW;

void CHETRS2_64( const char* uplo, const MKL_INT64* n, const MKL_INT64* nrhs,
              MKL_Complex8* a, const MKL_INT64* lda, const MKL_INT64* ipiv,
              MKL_Complex8* b, const MKL_INT64* ldb, MKL_Complex8* work,
              MKL_INT64* info ) NOTHROW;
void chetrs2_64( const char* uplo, const MKL_INT64* n, const MKL_INT64* nrhs,
               MKL_Complex8* a, const MKL_INT64* lda, const MKL_INT64* ipiv,
               MKL_Complex8* b, const MKL_INT64* ldb, MKL_Complex8* work,
               MKL_INT64* info ) NOTHROW;

void ZHETRS2_64( const char* uplo, const MKL_INT64* n, const MKL_INT64* nrhs,
             MKL_Complex16* a, const MKL_INT64* lda, const MKL_INT64* ipiv,
             MKL_Complex16* b, const MKL_INT64* ldb, MKL_Complex16* work, MKL_INT64* info ) NOTHROW;
void zhetrs2_64( const char* uplo, const MKL_INT64* n, const MKL_INT64* nrhs,
             MKL_Complex16* a, const MKL_INT64* lda, const MKL_INT64* ipiv,
             MKL_Complex16* b, const MKL_INT64* ldb, MKL_Complex16* work, MKL_INT64* info ) NOTHROW;

/* LAPACK 3.2 routines */

void CBDSQR_64( const char* uplo, const MKL_INT64* n, const MKL_INT64* ncvt,
             const MKL_INT64* nru, const MKL_INT64* ncc, float* d, float* e,
             MKL_Complex8* vt, const MKL_INT64* ldvt, MKL_Complex8* u,
             const MKL_INT64* ldu, MKL_Complex8* c, const MKL_INT64* ldc,
             float* rwork, MKL_INT64* info ) NOTHROW;
void cbdsqr_64( const char* uplo, const MKL_INT64* n, const MKL_INT64* ncvt,
             const MKL_INT64* nru, const MKL_INT64* ncc, float* d, float* e,
             MKL_Complex8* vt, const MKL_INT64* ldvt, MKL_Complex8* u,
             const MKL_INT64* ldu, MKL_Complex8* c, const MKL_INT64* ldc,
             float* rwork, MKL_INT64* info ) NOTHROW;

void CGBBRD_64( const char* vect, const MKL_INT64* m, const MKL_INT64* n,
             const MKL_INT64* ncc, const MKL_INT64* kl, const MKL_INT64* ku,
             MKL_Complex8* ab, const MKL_INT64* ldab, float* d, float* e,
             MKL_Complex8* q, const MKL_INT64* ldq, MKL_Complex8* pt,
             const MKL_INT64* ldpt, MKL_Complex8* c, const MKL_INT64* ldc,
             MKL_Complex8* work, float* rwork, MKL_INT64* info ) NOTHROW;
void cgbbrd_64( const char* vect, const MKL_INT64* m, const MKL_INT64* n,
             const MKL_INT64* ncc, const MKL_INT64* kl, const MKL_INT64* ku,
             MKL_Complex8* ab, const MKL_INT64* ldab, float* d, float* e,
             MKL_Complex8* q, const MKL_INT64* ldq, MKL_Complex8* pt,
             const MKL_INT64* ldpt, MKL_Complex8* c, const MKL_INT64* ldc,
             MKL_Complex8* work, float* rwork, MKL_INT64* info ) NOTHROW;

void CGBCON_64( const char* norm, const MKL_INT64* n, const MKL_INT64* kl,
             const MKL_INT64* ku, const MKL_Complex8* ab, const MKL_INT64* ldab,
             const MKL_INT64* ipiv, const float* anorm, float* rcond,
             MKL_Complex8* work, float* rwork, MKL_INT64* info ) NOTHROW;
void cgbcon_64( const char* norm, const MKL_INT64* n, const MKL_INT64* kl,
             const MKL_INT64* ku, const MKL_Complex8* ab, const MKL_INT64* ldab,
             const MKL_INT64* ipiv, const float* anorm, float* rcond,
             MKL_Complex8* work, float* rwork, MKL_INT64* info ) NOTHROW;

void CGBEQUB_64( const MKL_INT64* m, const MKL_INT64* n, const MKL_INT64* kl,
              const MKL_INT64* ku, const MKL_Complex8* ab, const MKL_INT64* ldab,
              float* r, float* c, float* rowcnd, float* colcnd, float* amax,
              MKL_INT64* info ) NOTHROW;
void cgbequb_64( const MKL_INT64* m, const MKL_INT64* n, const MKL_INT64* kl,
              const MKL_INT64* ku, const MKL_Complex8* ab, const MKL_INT64* ldab,
              float* r, float* c, float* rowcnd, float* colcnd, float* amax,
              MKL_INT64* info ) NOTHROW;

void CGBEQU_64( const MKL_INT64* m, const MKL_INT64* n, const MKL_INT64* kl,
             const MKL_INT64* ku, const MKL_Complex8* ab, const MKL_INT64* ldab,
             float* r, float* c, float* rowcnd, float* colcnd, float* amax,
             MKL_INT64* info ) NOTHROW;
void cgbequ_64( const MKL_INT64* m, const MKL_INT64* n, const MKL_INT64* kl,
             const MKL_INT64* ku, const MKL_Complex8* ab, const MKL_INT64* ldab,
             float* r, float* c, float* rowcnd, float* colcnd, float* amax,
             MKL_INT64* info ) NOTHROW;

void CGBRFS_64( const char* trans, const MKL_INT64* n, const MKL_INT64* kl,
             const MKL_INT64* ku, const MKL_INT64* nrhs, const MKL_Complex8* ab,
             const MKL_INT64* ldab, const MKL_Complex8* afb,
             const MKL_INT64* ldafb, const MKL_INT64* ipiv, const MKL_Complex8* b,
             const MKL_INT64* ldb, MKL_Complex8* x, const MKL_INT64* ldx,
             float* ferr, float* berr, MKL_Complex8* work, float* rwork,
             MKL_INT64* info ) NOTHROW;
void cgbrfs_64( const char* trans, const MKL_INT64* n, const MKL_INT64* kl,
             const MKL_INT64* ku, const MKL_INT64* nrhs, const MKL_Complex8* ab,
             const MKL_INT64* ldab, const MKL_Complex8* afb,
             const MKL_INT64* ldafb, const MKL_INT64* ipiv, const MKL_Complex8* b,
             const MKL_INT64* ldb, MKL_Complex8* x, const MKL_INT64* ldx,
             float* ferr, float* berr, MKL_Complex8* work, float* rwork,
             MKL_INT64* info ) NOTHROW;

void CGBRFSX_64( const char* trans, const char* equed, const MKL_INT64* n,
              const MKL_INT64* kl, const MKL_INT64* ku, const MKL_INT64* nrhs,
              const MKL_Complex8* ab, const MKL_INT64* ldab,
              const MKL_Complex8* afb, const MKL_INT64* ldafb,
              const MKL_INT64* ipiv, float* r, float* c,
              const MKL_Complex8* b, const MKL_INT64* ldb, MKL_Complex8* x,
              const MKL_INT64* ldx, float* rcond, float* berr,
              const MKL_INT64* n_err_bnds, float* err_bnds_norm,
              float* err_bnds_comp, const MKL_INT64* nparams, float* params,
              MKL_Complex8* work, float* rwork, MKL_INT64* info ) NOTHROW;
void cgbrfsx_64( const char* trans, const char* equed, const MKL_INT64* n,
              const MKL_INT64* kl, const MKL_INT64* ku, const MKL_INT64* nrhs,
              const MKL_Complex8* ab, const MKL_INT64* ldab,
              const MKL_Complex8* afb, const MKL_INT64* ldafb,
              const MKL_INT64* ipiv, float* r, float* c,
              const MKL_Complex8* b, const MKL_INT64* ldb, MKL_Complex8* x,
              const MKL_INT64* ldx, float* rcond, float* berr,
              const MKL_INT64* n_err_bnds, float* err_bnds_norm,
              float* err_bnds_comp, const MKL_INT64* nparams, float* params,
              MKL_Complex8* work, float* rwork, MKL_INT64* info ) NOTHROW;

void CGBSV_64( const MKL_INT64* n, const MKL_INT64* kl, const MKL_INT64* ku,
            const MKL_INT64* nrhs, MKL_Complex8* ab, const MKL_INT64* ldab,
            MKL_INT64* ipiv, MKL_Complex8* b, const MKL_INT64* ldb,
            MKL_INT64* info ) NOTHROW;
void cgbsv_64( const MKL_INT64* n, const MKL_INT64* kl, const MKL_INT64* ku,
            const MKL_INT64* nrhs, MKL_Complex8* ab, const MKL_INT64* ldab,
            MKL_INT64* ipiv, MKL_Complex8* b, const MKL_INT64* ldb,
            MKL_INT64* info ) NOTHROW;

void CGBSVX_64( const char* fact, const char* trans, const MKL_INT64* n,
             const MKL_INT64* kl, const MKL_INT64* ku, const MKL_INT64* nrhs,
             MKL_Complex8* ab, const MKL_INT64* ldab, MKL_Complex8* afb,
             const MKL_INT64* ldafb, MKL_INT64* ipiv, char* equed, float* r,
             float* c, MKL_Complex8* b, const MKL_INT64* ldb, MKL_Complex8* x,
             const MKL_INT64* ldx, float* rcond, float* ferr, float* berr,
             MKL_Complex8* work, float* rwork, MKL_INT64* info ) NOTHROW;
void cgbsvx_64( const char* fact, const char* trans, const MKL_INT64* n,
             const MKL_INT64* kl, const MKL_INT64* ku, const MKL_INT64* nrhs,
             MKL_Complex8* ab, const MKL_INT64* ldab, MKL_Complex8* afb,
             const MKL_INT64* ldafb, MKL_INT64* ipiv, char* equed, float* r,
             float* c, MKL_Complex8* b, const MKL_INT64* ldb, MKL_Complex8* x,
             const MKL_INT64* ldx, float* rcond, float* ferr, float* berr,
             MKL_Complex8* work, float* rwork, MKL_INT64* info ) NOTHROW;

void CGBSVXX_64( const char* fact, const char* trans, const MKL_INT64* n,
              const MKL_INT64* kl, const MKL_INT64* ku, const MKL_INT64* nrhs,
              MKL_Complex8* ab, const MKL_INT64* ldab, MKL_Complex8* afb,
              const MKL_INT64* ldafb, MKL_INT64* ipiv, char* equed, float* r,
              float* c, MKL_Complex8* b, const MKL_INT64* ldb, MKL_Complex8* x,
              const MKL_INT64* ldx, float* rcond, float* rpvgrw, float* berr,
              const MKL_INT64* n_err_bnds, float* err_bnds_norm,
              float* err_bnds_comp, const MKL_INT64* nparams, float* params,
              MKL_Complex8* work, float* rwork, MKL_INT64* info ) NOTHROW;
void cgbsvxx_64( const char* fact, const char* trans, const MKL_INT64* n,
              const MKL_INT64* kl, const MKL_INT64* ku, const MKL_INT64* nrhs,
              MKL_Complex8* ab, const MKL_INT64* ldab, MKL_Complex8* afb,
              const MKL_INT64* ldafb, MKL_INT64* ipiv, char* equed, float* r,
              float* c, MKL_Complex8* b, const MKL_INT64* ldb, MKL_Complex8* x,
              const MKL_INT64* ldx, float* rcond, float* rpvgrw, float* berr,
              const MKL_INT64* n_err_bnds, float* err_bnds_norm,
              float* err_bnds_comp, const MKL_INT64* nparams, float* params,
              MKL_Complex8* work, float* rwork, MKL_INT64* info ) NOTHROW;

void CGBTF2_64( const MKL_INT64* m, const MKL_INT64* n, const MKL_INT64* kl,
             const MKL_INT64* ku, MKL_Complex8* ab, const MKL_INT64* ldab,
             MKL_INT64* ipiv, MKL_INT64* info ) NOTHROW;
void cgbtf2_64( const MKL_INT64* m, const MKL_INT64* n, const MKL_INT64* kl,
             const MKL_INT64* ku, MKL_Complex8* ab, const MKL_INT64* ldab,
             MKL_INT64* ipiv, MKL_INT64* info ) NOTHROW;

void CGBTRF_64( const MKL_INT64* m, const MKL_INT64* n, const MKL_INT64* kl,
             const MKL_INT64* ku, MKL_Complex8* ab, const MKL_INT64* ldab,
             MKL_INT64* ipiv, MKL_INT64* info ) NOTHROW;
void cgbtrf_64( const MKL_INT64* m, const MKL_INT64* n, const MKL_INT64* kl,
             const MKL_INT64* ku, MKL_Complex8* ab, const MKL_INT64* ldab,
             MKL_INT64* ipiv, MKL_INT64* info ) NOTHROW;

void CGBTRS_64( const char* trans, const MKL_INT64* n, const MKL_INT64* kl,
             const MKL_INT64* ku, const MKL_INT64* nrhs, const MKL_Complex8* ab,
             const MKL_INT64* ldab, const MKL_INT64* ipiv, MKL_Complex8* b,
             const MKL_INT64* ldb, MKL_INT64* info ) NOTHROW;
void cgbtrs_64( const char* trans, const MKL_INT64* n, const MKL_INT64* kl,
             const MKL_INT64* ku, const MKL_INT64* nrhs, const MKL_Complex8* ab,
             const MKL_INT64* ldab, const MKL_INT64* ipiv, MKL_Complex8* b,
             const MKL_INT64* ldb, MKL_INT64* info ) NOTHROW;

void CGEBAK_64( const char* job, const char* side, const MKL_INT64* n,
             const MKL_INT64* ilo, const MKL_INT64* ihi, const float* scale,
             const MKL_INT64* m, MKL_Complex8* v, const MKL_INT64* ldv,
             MKL_INT64* info ) NOTHROW;
void cgebak_64( const char* job, const char* side, const MKL_INT64* n,
             const MKL_INT64* ilo, const MKL_INT64* ihi, const float* scale,
             const MKL_INT64* m, MKL_Complex8* v, const MKL_INT64* ldv,
             MKL_INT64* info ) NOTHROW;

void CGEBAL_64( const char* job, const MKL_INT64* n, MKL_Complex8* a,
             const MKL_INT64* lda, MKL_INT64* ilo, MKL_INT64* ihi, float* scale,
             MKL_INT64* info ) NOTHROW;
void cgebal_64( const char* job, const MKL_INT64* n, MKL_Complex8* a,
             const MKL_INT64* lda, MKL_INT64* ilo, MKL_INT64* ihi, float* scale,
             MKL_INT64* info ) NOTHROW;

void CGEBD2_64( const MKL_INT64* m, const MKL_INT64* n, MKL_Complex8* a,
             const MKL_INT64* lda, float* d, float* e, MKL_Complex8* tauq,
             MKL_Complex8* taup, MKL_Complex8* work, MKL_INT64* info ) NOTHROW;
void cgebd2_64( const MKL_INT64* m, const MKL_INT64* n, MKL_Complex8* a,
             const MKL_INT64* lda, float* d, float* e, MKL_Complex8* tauq,
             MKL_Complex8* taup, MKL_Complex8* work, MKL_INT64* info ) NOTHROW;

void CGEBRD_64( const MKL_INT64* m, const MKL_INT64* n, MKL_Complex8* a,
             const MKL_INT64* lda, float* d, float* e, MKL_Complex8* tauq,
             MKL_Complex8* taup, MKL_Complex8* work, const MKL_INT64* lwork,
             MKL_INT64* info ) NOTHROW;
void cgebrd_64( const MKL_INT64* m, const MKL_INT64* n, MKL_Complex8* a,
             const MKL_INT64* lda, float* d, float* e, MKL_Complex8* tauq,
             MKL_Complex8* taup, MKL_Complex8* work, const MKL_INT64* lwork,
             MKL_INT64* info ) NOTHROW;

void CGECON_64( const char* norm, const MKL_INT64* n, const MKL_Complex8* a,
             const MKL_INT64* lda, const float* anorm, float* rcond,
             MKL_Complex8* work, float* rwork, MKL_INT64* info ) NOTHROW;
void cgecon_64( const char* norm, const MKL_INT64* n, const MKL_Complex8* a,
             const MKL_INT64* lda, const float* anorm, float* rcond,
             MKL_Complex8* work, float* rwork, MKL_INT64* info ) NOTHROW;

void CGEEQUB_64( const MKL_INT64* m, const MKL_INT64* n, const MKL_Complex8* a,
              const MKL_INT64* lda, float* r, float* c, float* rowcnd,
              float* colcnd, float* amax, MKL_INT64* info ) NOTHROW;
void cgeequb_64( const MKL_INT64* m, const MKL_INT64* n, const MKL_Complex8* a,
              const MKL_INT64* lda, float* r, float* c, float* rowcnd,
              float* colcnd, float* amax, MKL_INT64* info ) NOTHROW;

void CGEEQU_64( const MKL_INT64* m, const MKL_INT64* n, const MKL_Complex8* a,
             const MKL_INT64* lda, float* r, float* c, float* rowcnd,
             float* colcnd, float* amax, MKL_INT64* info ) NOTHROW;
void cgeequ_64( const MKL_INT64* m, const MKL_INT64* n, const MKL_Complex8* a,
             const MKL_INT64* lda, float* r, float* c, float* rowcnd,
             float* colcnd, float* amax, MKL_INT64* info ) NOTHROW;

void CGEES_64( const char* jobvs, const char* sort,
            MKL_C_SELECT_FUNCTION_1_64 select, const MKL_INT64* n, MKL_Complex8* a,
            const MKL_INT64* lda, MKL_INT64* sdim, MKL_Complex8* w,
            MKL_Complex8* vs, const MKL_INT64* ldvs, MKL_Complex8* work,
            const MKL_INT64* lwork, float* rwork, MKL_INT64* bwork,
            MKL_INT64* info ) NOTHROW;
void cgees_64( const char* jobvs, const char* sort,
            MKL_C_SELECT_FUNCTION_1_64 select, const MKL_INT64* n, MKL_Complex8* a,
            const MKL_INT64* lda, MKL_INT64* sdim, MKL_Complex8* w,
            MKL_Complex8* vs, const MKL_INT64* ldvs, MKL_Complex8* work,
            const MKL_INT64* lwork, float* rwork, MKL_INT64* bwork,
            MKL_INT64* info ) NOTHROW;

void CGEESX_64( const char* jobvs, const char* sort,
             MKL_C_SELECT_FUNCTION_1_64 select, const char* sense,
             const MKL_INT64* n, MKL_Complex8* a, const MKL_INT64* lda,
             MKL_INT64* sdim, MKL_Complex8* w, MKL_Complex8* vs,
             const MKL_INT64* ldvs, float* rconde, float* rcondv,
             MKL_Complex8* work, const MKL_INT64* lwork, float* rwork,
             MKL_INT64* bwork, MKL_INT64* info ) NOTHROW;
void cgeesx_64( const char* jobvs, const char* sort,
             MKL_C_SELECT_FUNCTION_1_64 select, const char* sense,
             const MKL_INT64* n, MKL_Complex8* a, const MKL_INT64* lda,
             MKL_INT64* sdim, MKL_Complex8* w, MKL_Complex8* vs,
             const MKL_INT64* ldvs, float* rconde, float* rcondv,
             MKL_Complex8* work, const MKL_INT64* lwork, float* rwork,
             MKL_INT64* bwork, MKL_INT64* info ) NOTHROW;

void CGEEV_64( const char* jobvl, const char* jobvr, const MKL_INT64* n,
            MKL_Complex8* a, const MKL_INT64* lda, MKL_Complex8* w,
            MKL_Complex8* vl, const MKL_INT64* ldvl, MKL_Complex8* vr,
            const MKL_INT64* ldvr, MKL_Complex8* work, const MKL_INT64* lwork,
            float* rwork, MKL_INT64* info ) NOTHROW;
void cgeev_64( const char* jobvl, const char* jobvr, const MKL_INT64* n,
            MKL_Complex8* a, const MKL_INT64* lda, MKL_Complex8* w,
            MKL_Complex8* vl, const MKL_INT64* ldvl, MKL_Complex8* vr,
            const MKL_INT64* ldvr, MKL_Complex8* work, const MKL_INT64* lwork,
            float* rwork, MKL_INT64* info ) NOTHROW;

void CGEEVX_64( const char* balanc, const char* jobvl, const char* jobvr,
             const char* sense, const MKL_INT64* n, MKL_Complex8* a,
             const MKL_INT64* lda, MKL_Complex8* w, MKL_Complex8* vl,
             const MKL_INT64* ldvl, MKL_Complex8* vr, const MKL_INT64* ldvr,
             MKL_INT64* ilo, MKL_INT64* ihi, float* scale, float* abnrm,
             float* rconde, float* rcondv, MKL_Complex8* work,
             const MKL_INT64* lwork, float* rwork, MKL_INT64* info ) NOTHROW;
void cgeevx_64( const char* balanc, const char* jobvl, const char* jobvr,
             const char* sense, const MKL_INT64* n, MKL_Complex8* a,
             const MKL_INT64* lda, MKL_Complex8* w, MKL_Complex8* vl,
             const MKL_INT64* ldvl, MKL_Complex8* vr, const MKL_INT64* ldvr,
             MKL_INT64* ilo, MKL_INT64* ihi, float* scale, float* abnrm,
             float* rconde, float* rcondv, MKL_Complex8* work,
             const MKL_INT64* lwork, float* rwork, MKL_INT64* info ) NOTHROW;

void CGEGS_64( const char* jobvsl, const char* jobvsr, const MKL_INT64* n,
            MKL_Complex8* a, const MKL_INT64* lda, MKL_Complex8* b,
            const MKL_INT64* ldb, MKL_Complex8* alpha, MKL_Complex8* beta,
            MKL_Complex8* vsl, const MKL_INT64* ldvsl, MKL_Complex8* vsr,
            const MKL_INT64* ldvsr, MKL_Complex8* work, const MKL_INT64* lwork,
            float* rwork, MKL_INT64* info ) NOTHROW;
void cgegs_64( const char* jobvsl, const char* jobvsr, const MKL_INT64* n,
            MKL_Complex8* a, const MKL_INT64* lda, MKL_Complex8* b,
            const MKL_INT64* ldb, MKL_Complex8* alpha, MKL_Complex8* beta,
            MKL_Complex8* vsl, const MKL_INT64* ldvsl, MKL_Complex8* vsr,
            const MKL_INT64* ldvsr, MKL_Complex8* work, const MKL_INT64* lwork,
            float* rwork, MKL_INT64* info ) NOTHROW;

void CGEGV_64( const char* jobvl, const char* jobvr, const MKL_INT64* n,
            MKL_Complex8* a, const MKL_INT64* lda, MKL_Complex8* b,
            const MKL_INT64* ldb, MKL_Complex8* alpha, MKL_Complex8* beta,
            MKL_Complex8* vl, const MKL_INT64* ldvl, MKL_Complex8* vr,
            const MKL_INT64* ldvr, MKL_Complex8* work, const MKL_INT64* lwork,
            float* rwork, MKL_INT64* info ) NOTHROW;
void cgegv_64( const char* jobvl, const char* jobvr, const MKL_INT64* n,
            MKL_Complex8* a, const MKL_INT64* lda, MKL_Complex8* b,
            const MKL_INT64* ldb, MKL_Complex8* alpha, MKL_Complex8* beta,
            MKL_Complex8* vl, const MKL_INT64* ldvl, MKL_Complex8* vr,
            const MKL_INT64* ldvr, MKL_Complex8* work, const MKL_INT64* lwork,
            float* rwork, MKL_INT64* info ) NOTHROW;

void CGEHD2_64( const MKL_INT64* n, const MKL_INT64* ilo, const MKL_INT64* ihi,
             MKL_Complex8* a, const MKL_INT64* lda, MKL_Complex8* tau,
             MKL_Complex8* work, MKL_INT64* info ) NOTHROW;
void cgehd2_64( const MKL_INT64* n, const MKL_INT64* ilo, const MKL_INT64* ihi,
             MKL_Complex8* a, const MKL_INT64* lda, MKL_Complex8* tau,
             MKL_Complex8* work, MKL_INT64* info ) NOTHROW;

void CGEHRD_64( const MKL_INT64* n, const MKL_INT64* ilo, const MKL_INT64* ihi,
             MKL_Complex8* a, const MKL_INT64* lda, MKL_Complex8* tau,
             MKL_Complex8* work, const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;
void cgehrd_64( const MKL_INT64* n, const MKL_INT64* ilo, const MKL_INT64* ihi,
             MKL_Complex8* a, const MKL_INT64* lda, MKL_Complex8* tau,
             MKL_Complex8* work, const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;

void CGELQ2_64( const MKL_INT64* m, const MKL_INT64* n, MKL_Complex8* a,
             const MKL_INT64* lda, MKL_Complex8* tau, MKL_Complex8* work,
             MKL_INT64* info ) NOTHROW;
void cgelq2_64( const MKL_INT64* m, const MKL_INT64* n, MKL_Complex8* a,
             const MKL_INT64* lda, MKL_Complex8* tau, MKL_Complex8* work,
             MKL_INT64* info ) NOTHROW;

void CGELQF_64( const MKL_INT64* m, const MKL_INT64* n, MKL_Complex8* a,
             const MKL_INT64* lda, MKL_Complex8* tau, MKL_Complex8* work,
             const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;
void cgelqf_64( const MKL_INT64* m, const MKL_INT64* n, MKL_Complex8* a,
             const MKL_INT64* lda, MKL_Complex8* tau, MKL_Complex8* work,
             const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;

void CGELSD_64( const MKL_INT64* m, const MKL_INT64* n, const MKL_INT64* nrhs,
             MKL_Complex8* a, const MKL_INT64* lda, MKL_Complex8* b,
             const MKL_INT64* ldb, float* s, const float* rcond, MKL_INT64* rank,
             MKL_Complex8* work, const MKL_INT64* lwork, float* rwork,
             MKL_INT64* iwork, MKL_INT64* info ) NOTHROW;
void cgelsd_64( const MKL_INT64* m, const MKL_INT64* n, const MKL_INT64* nrhs,
             MKL_Complex8* a, const MKL_INT64* lda, MKL_Complex8* b,
             const MKL_INT64* ldb, float* s, const float* rcond, MKL_INT64* rank,
             MKL_Complex8* work, const MKL_INT64* lwork, float* rwork,
             MKL_INT64* iwork, MKL_INT64* info ) NOTHROW;

void CGELS_64( const char* trans, const MKL_INT64* m, const MKL_INT64* n,
            const MKL_INT64* nrhs, MKL_Complex8* a, const MKL_INT64* lda,
            MKL_Complex8* b, const MKL_INT64* ldb, MKL_Complex8* work,
            const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;
void cgels_64( const char* trans, const MKL_INT64* m, const MKL_INT64* n,
            const MKL_INT64* nrhs, MKL_Complex8* a, const MKL_INT64* lda,
            MKL_Complex8* b, const MKL_INT64* ldb, MKL_Complex8* work,
            const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;

void CGELSS_64( const MKL_INT64* m, const MKL_INT64* n, const MKL_INT64* nrhs,
             MKL_Complex8* a, const MKL_INT64* lda, MKL_Complex8* b,
             const MKL_INT64* ldb, float* s, const float* rcond, MKL_INT64* rank,
             MKL_Complex8* work, const MKL_INT64* lwork, float* rwork,
             MKL_INT64* info ) NOTHROW;
void cgelss_64( const MKL_INT64* m, const MKL_INT64* n, const MKL_INT64* nrhs,
             MKL_Complex8* a, const MKL_INT64* lda, MKL_Complex8* b,
             const MKL_INT64* ldb, float* s, const float* rcond, MKL_INT64* rank,
             MKL_Complex8* work, const MKL_INT64* lwork, float* rwork,
             MKL_INT64* info ) NOTHROW;

void CGELSX_64( const MKL_INT64* m, const MKL_INT64* n, const MKL_INT64* nrhs,
             MKL_Complex8* a, const MKL_INT64* lda, MKL_Complex8* b,
             const MKL_INT64* ldb, MKL_INT64* jpvt, const float* rcond,
             MKL_INT64* rank, MKL_Complex8* work, float* rwork, MKL_INT64* info ) NOTHROW;
void cgelsx_64( const MKL_INT64* m, const MKL_INT64* n, const MKL_INT64* nrhs,
             MKL_Complex8* a, const MKL_INT64* lda, MKL_Complex8* b,
             const MKL_INT64* ldb, MKL_INT64* jpvt, const float* rcond,
             MKL_INT64* rank, MKL_Complex8* work, float* rwork, MKL_INT64* info ) NOTHROW;

void CGELSY_64( const MKL_INT64* m, const MKL_INT64* n, const MKL_INT64* nrhs,
             MKL_Complex8* a, const MKL_INT64* lda, MKL_Complex8* b,
             const MKL_INT64* ldb, MKL_INT64* jpvt, const float* rcond,
             MKL_INT64* rank, MKL_Complex8* work, const MKL_INT64* lwork,
             float* rwork, MKL_INT64* info ) NOTHROW;
void cgelsy_64( const MKL_INT64* m, const MKL_INT64* n, const MKL_INT64* nrhs,
             MKL_Complex8* a, const MKL_INT64* lda, MKL_Complex8* b,
             const MKL_INT64* ldb, MKL_INT64* jpvt, const float* rcond,
             MKL_INT64* rank, MKL_Complex8* work, const MKL_INT64* lwork,
             float* rwork, MKL_INT64* info ) NOTHROW;

void CGEQL2_64( const MKL_INT64* m, const MKL_INT64* n, MKL_Complex8* a,
             const MKL_INT64* lda, MKL_Complex8* tau, MKL_Complex8* work,
             MKL_INT64* info ) NOTHROW;
void cgeql2_64( const MKL_INT64* m, const MKL_INT64* n, MKL_Complex8* a,
             const MKL_INT64* lda, MKL_Complex8* tau, MKL_Complex8* work,
             MKL_INT64* info ) NOTHROW;

void CGEQLF_64( const MKL_INT64* m, const MKL_INT64* n, MKL_Complex8* a,
             const MKL_INT64* lda, MKL_Complex8* tau, MKL_Complex8* work,
             const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;
void cgeqlf_64( const MKL_INT64* m, const MKL_INT64* n, MKL_Complex8* a,
             const MKL_INT64* lda, MKL_Complex8* tau, MKL_Complex8* work,
             const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;

void CGEQP3_64( const MKL_INT64* m, const MKL_INT64* n, MKL_Complex8* a,
             const MKL_INT64* lda, MKL_INT64* jpvt, MKL_Complex8* tau,
             MKL_Complex8* work, const MKL_INT64* lwork, float* rwork,
             MKL_INT64* info ) NOTHROW;
void cgeqp3_64( const MKL_INT64* m, const MKL_INT64* n, MKL_Complex8* a,
             const MKL_INT64* lda, MKL_INT64* jpvt, MKL_Complex8* tau,
             MKL_Complex8* work, const MKL_INT64* lwork, float* rwork,
             MKL_INT64* info ) NOTHROW;

void CGEQPF_64( const MKL_INT64* m, const MKL_INT64* n, MKL_Complex8* a,
             const MKL_INT64* lda, MKL_INT64* jpvt, MKL_Complex8* tau,
             MKL_Complex8* work, float* rwork, MKL_INT64* info ) NOTHROW;
void cgeqpf_64( const MKL_INT64* m, const MKL_INT64* n, MKL_Complex8* a,
             const MKL_INT64* lda, MKL_INT64* jpvt, MKL_Complex8* tau,
             MKL_Complex8* work, float* rwork, MKL_INT64* info ) NOTHROW;

void CGEQR2_64( const MKL_INT64* m, const MKL_INT64* n, MKL_Complex8* a,
             const MKL_INT64* lda, MKL_Complex8* tau, MKL_Complex8* work,
             MKL_INT64* info ) NOTHROW;
void cgeqr2_64( const MKL_INT64* m, const MKL_INT64* n, MKL_Complex8* a,
             const MKL_INT64* lda, MKL_Complex8* tau, MKL_Complex8* work,
             MKL_INT64* info ) NOTHROW;

void CGEQR2P_64( const MKL_INT64* m, const MKL_INT64* n, MKL_Complex8* a,
              const MKL_INT64* lda, MKL_Complex8* tau, MKL_Complex8* work,
              MKL_INT64* info ) NOTHROW;
void cgeqr2p_64( const MKL_INT64* m, const MKL_INT64* n, MKL_Complex8* a,
              const MKL_INT64* lda, MKL_Complex8* tau, MKL_Complex8* work,
              MKL_INT64* info ) NOTHROW;

void CGEQRF_64( const MKL_INT64* m, const MKL_INT64* n, MKL_Complex8* a,
             const MKL_INT64* lda, MKL_Complex8* tau, MKL_Complex8* work,
             const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;
void cgeqrf_64( const MKL_INT64* m, const MKL_INT64* n, MKL_Complex8* a,
             const MKL_INT64* lda, MKL_Complex8* tau, MKL_Complex8* work,
             const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;

void CGEQRFP_64( const MKL_INT64* m, const MKL_INT64* n, MKL_Complex8* a,
              const MKL_INT64* lda, MKL_Complex8* tau, MKL_Complex8* work,
              const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;
void cgeqrfp_64( const MKL_INT64* m, const MKL_INT64* n, MKL_Complex8* a,
              const MKL_INT64* lda, MKL_Complex8* tau, MKL_Complex8* work,
              const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;

void CGERFS_64( const char* trans, const MKL_INT64* n, const MKL_INT64* nrhs,
             const MKL_Complex8* a, const MKL_INT64* lda, const MKL_Complex8* af,
             const MKL_INT64* ldaf, const MKL_INT64* ipiv, const MKL_Complex8* b,
             const MKL_INT64* ldb, MKL_Complex8* x, const MKL_INT64* ldx,
             float* ferr, float* berr, MKL_Complex8* work, float* rwork,
             MKL_INT64* info ) NOTHROW;
void cgerfs_64( const char* trans, const MKL_INT64* n, const MKL_INT64* nrhs,
             const MKL_Complex8* a, const MKL_INT64* lda, const MKL_Complex8* af,
             const MKL_INT64* ldaf, const MKL_INT64* ipiv, const MKL_Complex8* b,
             const MKL_INT64* ldb, MKL_Complex8* x, const MKL_INT64* ldx,
             float* ferr, float* berr, MKL_Complex8* work, float* rwork,
             MKL_INT64* info ) NOTHROW;

void CGERFSX_64( const char* trans, const char* equed, const MKL_INT64* n,
              const MKL_INT64* nrhs, const MKL_Complex8* a, const MKL_INT64* lda,
              const MKL_Complex8* af, const MKL_INT64* ldaf, const MKL_INT64* ipiv,
              const float* r, const float* c, const MKL_Complex8* b,
              const MKL_INT64* ldb, MKL_Complex8* x, const MKL_INT64* ldx,
              float* rcond, float* berr, const MKL_INT64* n_err_bnds,
              float* err_bnds_norm, float* err_bnds_comp,
              const MKL_INT64* nparams, float* params, MKL_Complex8* work,
              float* rwork, MKL_INT64* info ) NOTHROW;
void cgerfsx_64( const char* trans, const char* equed, const MKL_INT64* n,
              const MKL_INT64* nrhs, const MKL_Complex8* a, const MKL_INT64* lda,
              const MKL_Complex8* af, const MKL_INT64* ldaf, const MKL_INT64* ipiv,
              const float* r, const float* c, const MKL_Complex8* b,
              const MKL_INT64* ldb, MKL_Complex8* x, const MKL_INT64* ldx,
              float* rcond, float* berr, const MKL_INT64* n_err_bnds,
              float* err_bnds_norm, float* err_bnds_comp,
              const MKL_INT64* nparams, float* params, MKL_Complex8* work,
              float* rwork, MKL_INT64* info ) NOTHROW;

void CGERQ2_64( const MKL_INT64* m, const MKL_INT64* n, MKL_Complex8* a,
             const MKL_INT64* lda, MKL_Complex8* tau, MKL_Complex8* work,
             MKL_INT64* info ) NOTHROW;
void cgerq2_64( const MKL_INT64* m, const MKL_INT64* n, MKL_Complex8* a,
             const MKL_INT64* lda, MKL_Complex8* tau, MKL_Complex8* work,
             MKL_INT64* info ) NOTHROW;

void CGERQF_64( const MKL_INT64* m, const MKL_INT64* n, MKL_Complex8* a,
             const MKL_INT64* lda, MKL_Complex8* tau, MKL_Complex8* work,
             const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;
void cgerqf_64( const MKL_INT64* m, const MKL_INT64* n, MKL_Complex8* a,
             const MKL_INT64* lda, MKL_Complex8* tau, MKL_Complex8* work,
             const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;

void CGESC2_64( const MKL_INT64* n, const MKL_Complex8* a, const MKL_INT64* lda,
             MKL_Complex8* rhs, const MKL_INT64* ipiv, const MKL_INT64* jpiv,
             float* scale ) NOTHROW;
void cgesc2_64( const MKL_INT64* n, const MKL_Complex8* a, const MKL_INT64* lda,
             MKL_Complex8* rhs, const MKL_INT64* ipiv, const MKL_INT64* jpiv,
             float* scale ) NOTHROW;

void CGESDD_64( const char* jobz, const MKL_INT64* m, const MKL_INT64* n,
             MKL_Complex8* a, const MKL_INT64* lda, float* s, MKL_Complex8* u,
             const MKL_INT64* ldu, MKL_Complex8* vt, const MKL_INT64* ldvt,
             MKL_Complex8* work, const MKL_INT64* lwork, float* rwork,
             MKL_INT64* iwork, MKL_INT64* info ) NOTHROW;
void cgesdd_64( const char* jobz, const MKL_INT64* m, const MKL_INT64* n,
             MKL_Complex8* a, const MKL_INT64* lda, float* s, MKL_Complex8* u,
             const MKL_INT64* ldu, MKL_Complex8* vt, const MKL_INT64* ldvt,
             MKL_Complex8* work, const MKL_INT64* lwork, float* rwork,
             MKL_INT64* iwork, MKL_INT64* info ) NOTHROW;

void CGESVD_64( const char* jobu, const char* jobvt, const MKL_INT64* m,
             const MKL_INT64* n, MKL_Complex8* a, const MKL_INT64* lda, float* s,
             MKL_Complex8* u, const MKL_INT64* ldu, MKL_Complex8* vt,
             const MKL_INT64* ldvt, MKL_Complex8* work, const MKL_INT64* lwork,
             float* rwork, MKL_INT64* info ) NOTHROW;
void cgesvd_64( const char* jobu, const char* jobvt, const MKL_INT64* m,
             const MKL_INT64* n, MKL_Complex8* a, const MKL_INT64* lda, float* s,
             MKL_Complex8* u, const MKL_INT64* ldu, MKL_Complex8* vt,
             const MKL_INT64* ldvt, MKL_Complex8* work, const MKL_INT64* lwork,
             float* rwork, MKL_INT64* info ) NOTHROW;

void CGESV_64( const MKL_INT64* n, const MKL_INT64* nrhs, MKL_Complex8* a,
            const MKL_INT64* lda, MKL_INT64* ipiv, MKL_Complex8* b,
            const MKL_INT64* ldb, MKL_INT64* info ) NOTHROW;
void cgesv_64( const MKL_INT64* n, const MKL_INT64* nrhs, MKL_Complex8* a,
            const MKL_INT64* lda, MKL_INT64* ipiv, MKL_Complex8* b,
            const MKL_INT64* ldb, MKL_INT64* info ) NOTHROW;

void CGESVX_64( const char* fact, const char* trans, const MKL_INT64* n,
             const MKL_INT64* nrhs, MKL_Complex8* a, const MKL_INT64* lda,
             MKL_Complex8* af, const MKL_INT64* ldaf, MKL_INT64* ipiv, char* equed,
             float* r, float* c, MKL_Complex8* b, const MKL_INT64* ldb,
             MKL_Complex8* x, const MKL_INT64* ldx, float* rcond, float* ferr,
             float* berr, MKL_Complex8* work, float* rwork, MKL_INT64* info ) NOTHROW;
void cgesvx_64( const char* fact, const char* trans, const MKL_INT64* n,
             const MKL_INT64* nrhs, MKL_Complex8* a, const MKL_INT64* lda,
             MKL_Complex8* af, const MKL_INT64* ldaf, MKL_INT64* ipiv, char* equed,
             float* r, float* c, MKL_Complex8* b, const MKL_INT64* ldb,
             MKL_Complex8* x, const MKL_INT64* ldx, float* rcond, float* ferr,
             float* berr, MKL_Complex8* work, float* rwork, MKL_INT64* info ) NOTHROW;

void CGESVXX_64( const char* fact, const char* trans, const MKL_INT64* n,
              const MKL_INT64* nrhs, MKL_Complex8* a, const MKL_INT64* lda,
              MKL_Complex8* af, const MKL_INT64* ldaf, MKL_INT64* ipiv,
              char* equed, float* r, float* c, MKL_Complex8* b,
              const MKL_INT64* ldb, MKL_Complex8* x, const MKL_INT64* ldx,
              float* rcond, float* rpvgrw, float* berr,
              const MKL_INT64* n_err_bnds, float* err_bnds_norm,
              float* err_bnds_comp, const MKL_INT64* nparams, float* params,
              MKL_Complex8* work, float* rwork, MKL_INT64* info ) NOTHROW;
void cgesvxx_64( const char* fact, const char* trans, const MKL_INT64* n,
              const MKL_INT64* nrhs, MKL_Complex8* a, const MKL_INT64* lda,
              MKL_Complex8* af, const MKL_INT64* ldaf, MKL_INT64* ipiv,
              char* equed, float* r, float* c, MKL_Complex8* b,
              const MKL_INT64* ldb, MKL_Complex8* x, const MKL_INT64* ldx,
              float* rcond, float* rpvgrw, float* berr,
              const MKL_INT64* n_err_bnds, float* err_bnds_norm,
              float* err_bnds_comp, const MKL_INT64* nparams, float* params,
              MKL_Complex8* work, float* rwork, MKL_INT64* info ) NOTHROW;

void CGETC2_64( const MKL_INT64* n, MKL_Complex8* a, const MKL_INT64* lda,
             MKL_INT64* ipiv, MKL_INT64* jpiv, MKL_INT64* info ) NOTHROW;
void cgetc2_64( const MKL_INT64* n, MKL_Complex8* a, const MKL_INT64* lda,
             MKL_INT64* ipiv, MKL_INT64* jpiv, MKL_INT64* info ) NOTHROW;

void CGETF2_64( const MKL_INT64* m, const MKL_INT64* n, MKL_Complex8* a,
             const MKL_INT64* lda, MKL_INT64* ipiv, MKL_INT64* info ) NOTHROW;
void cgetf2_64( const MKL_INT64* m, const MKL_INT64* n, MKL_Complex8* a,
             const MKL_INT64* lda, MKL_INT64* ipiv, MKL_INT64* info ) NOTHROW;

void CGETRF_64( const MKL_INT64* m, const MKL_INT64* n, MKL_Complex8* a,
             const MKL_INT64* lda, MKL_INT64* ipiv, MKL_INT64* info ) NOTHROW;
void cgetrf_64( const MKL_INT64* m, const MKL_INT64* n, MKL_Complex8* a,
             const MKL_INT64* lda, MKL_INT64* ipiv, MKL_INT64* info ) NOTHROW;

void MKL_CGETRFNPI_64( const MKL_INT64* m, const MKL_INT64* n, const MKL_INT64* nfact,
                    MKL_Complex8* a, const MKL_INT64* lda, MKL_INT64* info ) NOTHROW;
void MKL_CGETRFNPI_64_( const MKL_INT64* m, const MKL_INT64* n, const MKL_INT64* nfact,
                     MKL_Complex8* a, const MKL_INT64* lda, MKL_INT64* info ) NOTHROW;
void mkl_cgetrfnpi_64( const MKL_INT64* m, const MKL_INT64* n, const MKL_INT64* nfact,
                    MKL_Complex8* a, const MKL_INT64* lda, MKL_INT64* info ) NOTHROW;
void mkl_cgetrfnpi_64_( const MKL_INT64* m, const MKL_INT64* n, const MKL_INT64* nfact,
                     MKL_Complex8* a, const MKL_INT64* lda, MKL_INT64* info ) NOTHROW;

void CGETRI_64( const MKL_INT64* n, MKL_Complex8* a, const MKL_INT64* lda,
             const MKL_INT64* ipiv, MKL_Complex8* work, const MKL_INT64* lwork,
             MKL_INT64* info ) NOTHROW;
void cgetri_64( const MKL_INT64* n, MKL_Complex8* a, const MKL_INT64* lda,
             const MKL_INT64* ipiv, MKL_Complex8* work, const MKL_INT64* lwork,
             MKL_INT64* info ) NOTHROW;

void CGETRS_64( const char* trans, const MKL_INT64* n, const MKL_INT64* nrhs,
             const MKL_Complex8* a, const MKL_INT64* lda, const MKL_INT64* ipiv,
             MKL_Complex8* b, const MKL_INT64* ldb, MKL_INT64* info ) NOTHROW;
void cgetrs_64( const char* trans, const MKL_INT64* n, const MKL_INT64* nrhs,
             const MKL_Complex8* a, const MKL_INT64* lda, const MKL_INT64* ipiv,
             MKL_Complex8* b, const MKL_INT64* ldb, MKL_INT64* info ) NOTHROW;

void CGGBAK_64( const char* job, const char* side, const MKL_INT64* n,
             const MKL_INT64* ilo, const MKL_INT64* ihi, const float* lscale,
             const float* rscale, const MKL_INT64* m, MKL_Complex8* v,
             const MKL_INT64* ldv, MKL_INT64* info ) NOTHROW;
void cggbak_64( const char* job, const char* side, const MKL_INT64* n,
             const MKL_INT64* ilo, const MKL_INT64* ihi, const float* lscale,
             const float* rscale, const MKL_INT64* m, MKL_Complex8* v,
             const MKL_INT64* ldv, MKL_INT64* info ) NOTHROW;

void CGGBAL_64( const char* job, const MKL_INT64* n, MKL_Complex8* a,
             const MKL_INT64* lda, MKL_Complex8* b, const MKL_INT64* ldb,
             MKL_INT64* ilo, MKL_INT64* ihi, float* lscale, float* rscale,
             float* work, MKL_INT64* info ) NOTHROW;
void cggbal_64( const char* job, const MKL_INT64* n, MKL_Complex8* a,
             const MKL_INT64* lda, MKL_Complex8* b, const MKL_INT64* ldb,
             MKL_INT64* ilo, MKL_INT64* ihi, float* lscale, float* rscale,
             float* work, MKL_INT64* info ) NOTHROW;

void CGGES_64( const char* jobvsl, const char* jobvsr, const char* sort,
            MKL_C_SELECT_FUNCTION_2_64 selctg, const MKL_INT64* n, MKL_Complex8* a,
            const MKL_INT64* lda, MKL_Complex8* b, const MKL_INT64* ldb,
            MKL_INT64* sdim, MKL_Complex8* alpha, MKL_Complex8* beta,
            MKL_Complex8* vsl, const MKL_INT64* ldvsl, MKL_Complex8* vsr,
            const MKL_INT64* ldvsr, MKL_Complex8* work, const MKL_INT64* lwork,
            float* rwork, MKL_INT64* bwork, MKL_INT64* info ) NOTHROW;
void cgges_64( const char* jobvsl, const char* jobvsr, const char* sort,
            MKL_C_SELECT_FUNCTION_2_64 selctg, const MKL_INT64* n, MKL_Complex8* a,
            const MKL_INT64* lda, MKL_Complex8* b, const MKL_INT64* ldb,
            MKL_INT64* sdim, MKL_Complex8* alpha, MKL_Complex8* beta,
            MKL_Complex8* vsl, const MKL_INT64* ldvsl, MKL_Complex8* vsr,
            const MKL_INT64* ldvsr, MKL_Complex8* work, const MKL_INT64* lwork,
            float* rwork, MKL_INT64* bwork, MKL_INT64* info ) NOTHROW;

void CGGESX_64( const char* jobvsl, const char* jobvsr, const char* sort,
             MKL_C_SELECT_FUNCTION_2_64 selctg, const char* sense,
             const MKL_INT64* n, MKL_Complex8* a, const MKL_INT64* lda,
             MKL_Complex8* b, const MKL_INT64* ldb, MKL_INT64* sdim,
             MKL_Complex8* alpha, MKL_Complex8* beta, MKL_Complex8* vsl,
             const MKL_INT64* ldvsl, MKL_Complex8* vsr, const MKL_INT64* ldvsr,
             float* rconde, float* rcondv, MKL_Complex8* work,
             const MKL_INT64* lwork, float* rwork, MKL_INT64* iwork,
             const MKL_INT64* liwork, MKL_INT64* bwork, MKL_INT64* info ) NOTHROW;
void cggesx_64( const char* jobvsl, const char* jobvsr, const char* sort,
             MKL_C_SELECT_FUNCTION_2_64 selctg, const char* sense,
             const MKL_INT64* n, MKL_Complex8* a, const MKL_INT64* lda,
             MKL_Complex8* b, const MKL_INT64* ldb, MKL_INT64* sdim,
             MKL_Complex8* alpha, MKL_Complex8* beta, MKL_Complex8* vsl,
             const MKL_INT64* ldvsl, MKL_Complex8* vsr, const MKL_INT64* ldvsr,
             float* rconde, float* rcondv, MKL_Complex8* work,
             const MKL_INT64* lwork, float* rwork, MKL_INT64* iwork,
             const MKL_INT64* liwork, MKL_INT64* bwork, MKL_INT64* info ) NOTHROW;

void CGGEV_64( const char* jobvl, const char* jobvr, const MKL_INT64* n,
            MKL_Complex8* a, const MKL_INT64* lda, MKL_Complex8* b,
            const MKL_INT64* ldb, MKL_Complex8* alpha, MKL_Complex8* beta,
            MKL_Complex8* vl, const MKL_INT64* ldvl, MKL_Complex8* vr,
            const MKL_INT64* ldvr, MKL_Complex8* work, const MKL_INT64* lwork,
            float* rwork, MKL_INT64* info ) NOTHROW;
void cggev_64( const char* jobvl, const char* jobvr, const MKL_INT64* n,
            MKL_Complex8* a, const MKL_INT64* lda, MKL_Complex8* b,
            const MKL_INT64* ldb, MKL_Complex8* alpha, MKL_Complex8* beta,
            MKL_Complex8* vl, const MKL_INT64* ldvl, MKL_Complex8* vr,
            const MKL_INT64* ldvr, MKL_Complex8* work, const MKL_INT64* lwork,
            float* rwork, MKL_INT64* info ) NOTHROW;

void CGGEVX_64( const char* balanc, const char* jobvl, const char* jobvr,
             const char* sense, const MKL_INT64* n, MKL_Complex8* a,
             const MKL_INT64* lda, MKL_Complex8* b, const MKL_INT64* ldb,
             MKL_Complex8* alpha, MKL_Complex8* beta, MKL_Complex8* vl,
             const MKL_INT64* ldvl, MKL_Complex8* vr, const MKL_INT64* ldvr,
             MKL_INT64* ilo, MKL_INT64* ihi, float* lscale, float* rscale,
             float* abnrm, float* bbnrm, float* rconde, float* rcondv,
             MKL_Complex8* work, const MKL_INT64* lwork, float* rwork,
             MKL_INT64* iwork, MKL_INT64* bwork, MKL_INT64* info ) NOTHROW;
void cggevx_64( const char* balanc, const char* jobvl, const char* jobvr,
             const char* sense, const MKL_INT64* n, MKL_Complex8* a,
             const MKL_INT64* lda, MKL_Complex8* b, const MKL_INT64* ldb,
             MKL_Complex8* alpha, MKL_Complex8* beta, MKL_Complex8* vl,
             const MKL_INT64* ldvl, MKL_Complex8* vr, const MKL_INT64* ldvr,
             MKL_INT64* ilo, MKL_INT64* ihi, float* lscale, float* rscale,
             float* abnrm, float* bbnrm, float* rconde, float* rcondv,
             MKL_Complex8* work, const MKL_INT64* lwork, float* rwork,
             MKL_INT64* iwork, MKL_INT64* bwork, MKL_INT64* info ) NOTHROW;

void CGGGLM_64( const MKL_INT64* n, const MKL_INT64* m, const MKL_INT64* p,
             MKL_Complex8* a, const MKL_INT64* lda, MKL_Complex8* b,
             const MKL_INT64* ldb, MKL_Complex8* d, MKL_Complex8* x,
             MKL_Complex8* y, MKL_Complex8* work, const MKL_INT64* lwork,
             MKL_INT64* info ) NOTHROW;
void cggglm_64( const MKL_INT64* n, const MKL_INT64* m, const MKL_INT64* p,
             MKL_Complex8* a, const MKL_INT64* lda, MKL_Complex8* b,
             const MKL_INT64* ldb, MKL_Complex8* d, MKL_Complex8* x,
             MKL_Complex8* y, MKL_Complex8* work, const MKL_INT64* lwork,
             MKL_INT64* info ) NOTHROW;

void CGGHRD_64( const char* compq, const char* compz, const MKL_INT64* n,
             const MKL_INT64* ilo, const MKL_INT64* ihi, MKL_Complex8* a,
             const MKL_INT64* lda, MKL_Complex8* b, const MKL_INT64* ldb,
             MKL_Complex8* q, const MKL_INT64* ldq, MKL_Complex8* z,
             const MKL_INT64* ldz, MKL_INT64* info ) NOTHROW;
void cgghrd_64( const char* compq, const char* compz, const MKL_INT64* n,
             const MKL_INT64* ilo, const MKL_INT64* ihi, MKL_Complex8* a,
             const MKL_INT64* lda, MKL_Complex8* b, const MKL_INT64* ldb,
             MKL_Complex8* q, const MKL_INT64* ldq, MKL_Complex8* z,
             const MKL_INT64* ldz, MKL_INT64* info ) NOTHROW;

void CGGLSE_64( const MKL_INT64* m, const MKL_INT64* n, const MKL_INT64* p,
             MKL_Complex8* a, const MKL_INT64* lda, MKL_Complex8* b,
             const MKL_INT64* ldb, MKL_Complex8* c, MKL_Complex8* d,
             MKL_Complex8* x, MKL_Complex8* work, const MKL_INT64* lwork,
             MKL_INT64* info ) NOTHROW;
void cgglse_64( const MKL_INT64* m, const MKL_INT64* n, const MKL_INT64* p,
             MKL_Complex8* a, const MKL_INT64* lda, MKL_Complex8* b,
             const MKL_INT64* ldb, MKL_Complex8* c, MKL_Complex8* d,
             MKL_Complex8* x, MKL_Complex8* work, const MKL_INT64* lwork,
             MKL_INT64* info ) NOTHROW;

void CGGQRF_64( const MKL_INT64* n, const MKL_INT64* m, const MKL_INT64* p,
             MKL_Complex8* a, const MKL_INT64* lda, MKL_Complex8* taua,
             MKL_Complex8* b, const MKL_INT64* ldb, MKL_Complex8* taub,
             MKL_Complex8* work, const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;
void cggqrf_64( const MKL_INT64* n, const MKL_INT64* m, const MKL_INT64* p,
             MKL_Complex8* a, const MKL_INT64* lda, MKL_Complex8* taua,
             MKL_Complex8* b, const MKL_INT64* ldb, MKL_Complex8* taub,
             MKL_Complex8* work, const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;

void CGGRQF_64( const MKL_INT64* m, const MKL_INT64* p, const MKL_INT64* n,
             MKL_Complex8* a, const MKL_INT64* lda, MKL_Complex8* taua,
             MKL_Complex8* b, const MKL_INT64* ldb, MKL_Complex8* taub,
             MKL_Complex8* work, const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;
void cggrqf_64( const MKL_INT64* m, const MKL_INT64* p, const MKL_INT64* n,
             MKL_Complex8* a, const MKL_INT64* lda, MKL_Complex8* taua,
             MKL_Complex8* b, const MKL_INT64* ldb, MKL_Complex8* taub,
             MKL_Complex8* work, const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;

void CGGSVD_64( const char* jobu, const char* jobv, const char* jobq,
             const MKL_INT64* m, const MKL_INT64* n, const MKL_INT64* p, MKL_INT64* k,
             MKL_INT64* l, MKL_Complex8* a, const MKL_INT64* lda, MKL_Complex8* b,
             const MKL_INT64* ldb, float* alpha, float* beta, MKL_Complex8* u,
             const MKL_INT64* ldu, MKL_Complex8* v, const MKL_INT64* ldv,
             MKL_Complex8* q, const MKL_INT64* ldq, MKL_Complex8* work,
             float* rwork, MKL_INT64* iwork, MKL_INT64* info ) NOTHROW;
void cggsvd_64( const char* jobu, const char* jobv, const char* jobq,
             const MKL_INT64* m, const MKL_INT64* n, const MKL_INT64* p, MKL_INT64* k,
             MKL_INT64* l, MKL_Complex8* a, const MKL_INT64* lda, MKL_Complex8* b,
             const MKL_INT64* ldb, float* alpha, float* beta, MKL_Complex8* u,
             const MKL_INT64* ldu, MKL_Complex8* v, const MKL_INT64* ldv,
             MKL_Complex8* q, const MKL_INT64* ldq, MKL_Complex8* work,
             float* rwork, MKL_INT64* iwork, MKL_INT64* info ) NOTHROW;

void CGGSVP_64( const char* jobu, const char* jobv, const char* jobq,
             const MKL_INT64* m, const MKL_INT64* p, const MKL_INT64* n,
             MKL_Complex8* a, const MKL_INT64* lda, MKL_Complex8* b,
             const MKL_INT64* ldb, const float* tola, const float* tolb,
             MKL_INT64* k, MKL_INT64* l, MKL_Complex8* u, const MKL_INT64* ldu,
             MKL_Complex8* v, const MKL_INT64* ldv, MKL_Complex8* q,
             const MKL_INT64* ldq, MKL_INT64* iwork, float* rwork,
             MKL_Complex8* tau, MKL_Complex8* work, MKL_INT64* info ) NOTHROW;
void cggsvp_64( const char* jobu, const char* jobv, const char* jobq,
             const MKL_INT64* m, const MKL_INT64* p, const MKL_INT64* n,
             MKL_Complex8* a, const MKL_INT64* lda, MKL_Complex8* b,
             const MKL_INT64* ldb, const float* tola, const float* tolb,
             MKL_INT64* k, MKL_INT64* l, MKL_Complex8* u, const MKL_INT64* ldu,
             MKL_Complex8* v, const MKL_INT64* ldv, MKL_Complex8* q,
             const MKL_INT64* ldq, MKL_INT64* iwork, float* rwork,
             MKL_Complex8* tau, MKL_Complex8* work, MKL_INT64* info ) NOTHROW;

void CGTCON_64( const char* norm, const MKL_INT64* n, const MKL_Complex8* dl,
             const MKL_Complex8* d, const MKL_Complex8* du,
             const MKL_Complex8* du2, const MKL_INT64* ipiv, const float* anorm,
             float* rcond, MKL_Complex8* work, MKL_INT64* info ) NOTHROW;
void cgtcon_64( const char* norm, const MKL_INT64* n, const MKL_Complex8* dl,
             const MKL_Complex8* d, const MKL_Complex8* du,
             const MKL_Complex8* du2, const MKL_INT64* ipiv, const float* anorm,
             float* rcond, MKL_Complex8* work, MKL_INT64* info ) NOTHROW;

void CGTRFS_64( const char* trans, const MKL_INT64* n, const MKL_INT64* nrhs,
             const MKL_Complex8* dl, const MKL_Complex8* d,
             const MKL_Complex8* du, const MKL_Complex8* dlf,
             const MKL_Complex8* df, const MKL_Complex8* duf,
             const MKL_Complex8* du2, const MKL_INT64* ipiv,
             const MKL_Complex8* b, const MKL_INT64* ldb, MKL_Complex8* x,
             const MKL_INT64* ldx, float* ferr, float* berr, MKL_Complex8* work,
             float* rwork, MKL_INT64* info ) NOTHROW;
void cgtrfs_64( const char* trans, const MKL_INT64* n, const MKL_INT64* nrhs,
             const MKL_Complex8* dl, const MKL_Complex8* d,
             const MKL_Complex8* du, const MKL_Complex8* dlf,
             const MKL_Complex8* df, const MKL_Complex8* duf,
             const MKL_Complex8* du2, const MKL_INT64* ipiv,
             const MKL_Complex8* b, const MKL_INT64* ldb, MKL_Complex8* x,
             const MKL_INT64* ldx, float* ferr, float* berr, MKL_Complex8* work,
             float* rwork, MKL_INT64* info ) NOTHROW;

void CGTSV_64( const MKL_INT64* n, const MKL_INT64* nrhs, MKL_Complex8* dl,
            MKL_Complex8* d, MKL_Complex8* du, MKL_Complex8* b,
            const MKL_INT64* ldb, MKL_INT64* info ) NOTHROW;
void cgtsv_64( const MKL_INT64* n, const MKL_INT64* nrhs, MKL_Complex8* dl,
            MKL_Complex8* d, MKL_Complex8* du, MKL_Complex8* b,
            const MKL_INT64* ldb, MKL_INT64* info ) NOTHROW;

void CGTSVX_64( const char* fact, const char* trans, const MKL_INT64* n,
             const MKL_INT64* nrhs, const MKL_Complex8* dl,
             const MKL_Complex8* d, const MKL_Complex8* du, MKL_Complex8* dlf,
             MKL_Complex8* df, MKL_Complex8* duf, MKL_Complex8* du2,
             MKL_INT64* ipiv, const MKL_Complex8* b, const MKL_INT64* ldb,
             MKL_Complex8* x, const MKL_INT64* ldx, float* rcond, float* ferr,
             float* berr, MKL_Complex8* work, float* rwork, MKL_INT64* info ) NOTHROW;
void cgtsvx_64( const char* fact, const char* trans, const MKL_INT64* n,
             const MKL_INT64* nrhs, const MKL_Complex8* dl,
             const MKL_Complex8* d, const MKL_Complex8* du, MKL_Complex8* dlf,
             MKL_Complex8* df, MKL_Complex8* duf, MKL_Complex8* du2,
             MKL_INT64* ipiv, const MKL_Complex8* b, const MKL_INT64* ldb,
             MKL_Complex8* x, const MKL_INT64* ldx, float* rcond, float* ferr,
             float* berr, MKL_Complex8* work, float* rwork, MKL_INT64* info ) NOTHROW;

void CGTTRF_64( const MKL_INT64* n, MKL_Complex8* dl, MKL_Complex8* d,
             MKL_Complex8* du, MKL_Complex8* du2, MKL_INT64* ipiv,
             MKL_INT64* info ) NOTHROW;
void cgttrf_64( const MKL_INT64* n, MKL_Complex8* dl, MKL_Complex8* d,
             MKL_Complex8* du, MKL_Complex8* du2, MKL_INT64* ipiv,
             MKL_INT64* info ) NOTHROW;

void CGTTRS_64( const char* trans, const MKL_INT64* n, const MKL_INT64* nrhs,
             const MKL_Complex8* dl, const MKL_Complex8* d,
             const MKL_Complex8* du, const MKL_Complex8* du2,
             const MKL_INT64* ipiv, MKL_Complex8* b, const MKL_INT64* ldb,
             MKL_INT64* info ) NOTHROW;
void cgttrs_64( const char* trans, const MKL_INT64* n, const MKL_INT64* nrhs,
             const MKL_Complex8* dl, const MKL_Complex8* d,
             const MKL_Complex8* du, const MKL_Complex8* du2,
             const MKL_INT64* ipiv, MKL_Complex8* b, const MKL_INT64* ldb,
             MKL_INT64* info ) NOTHROW;

void CGTTS2_64( const MKL_INT64* itrans, const MKL_INT64* n, const MKL_INT64* nrhs,
             const MKL_Complex8* dl, const MKL_Complex8* d,
             const MKL_Complex8* du, const MKL_Complex8* du2,
             const MKL_INT64* ipiv, MKL_Complex8* b, const MKL_INT64* ldb ) NOTHROW;
void cgtts2_64( const MKL_INT64* itrans, const MKL_INT64* n, const MKL_INT64* nrhs,
             const MKL_Complex8* dl, const MKL_Complex8* d,
             const MKL_Complex8* du, const MKL_Complex8* du2,
             const MKL_INT64* ipiv, MKL_Complex8* b, const MKL_INT64* ldb ) NOTHROW;

void CHBEVD_64( const char* jobz, const char* uplo, const MKL_INT64* n,
             const MKL_INT64* kd, MKL_Complex8* ab, const MKL_INT64* ldab,
             float* w, MKL_Complex8* z, const MKL_INT64* ldz, MKL_Complex8* work,
             const MKL_INT64* lwork, float* rwork, const MKL_INT64* lrwork,
             MKL_INT64* iwork, const MKL_INT64* liwork, MKL_INT64* info ) NOTHROW;
void chbevd_64( const char* jobz, const char* uplo, const MKL_INT64* n,
             const MKL_INT64* kd, MKL_Complex8* ab, const MKL_INT64* ldab,
             float* w, MKL_Complex8* z, const MKL_INT64* ldz, MKL_Complex8* work,
             const MKL_INT64* lwork, float* rwork, const MKL_INT64* lrwork,
             MKL_INT64* iwork, const MKL_INT64* liwork, MKL_INT64* info ) NOTHROW;

void CHBEV_64( const char* jobz, const char* uplo, const MKL_INT64* n,
            const MKL_INT64* kd, MKL_Complex8* ab, const MKL_INT64* ldab, float* w,
            MKL_Complex8* z, const MKL_INT64* ldz, MKL_Complex8* work,
            float* rwork, MKL_INT64* info ) NOTHROW;
void chbev_64( const char* jobz, const char* uplo, const MKL_INT64* n,
            const MKL_INT64* kd, MKL_Complex8* ab, const MKL_INT64* ldab, float* w,
            MKL_Complex8* z, const MKL_INT64* ldz, MKL_Complex8* work,
            float* rwork, MKL_INT64* info ) NOTHROW;

void CHBEVX_64( const char* jobz, const char* range, const char* uplo,
             const MKL_INT64* n, const MKL_INT64* kd, MKL_Complex8* ab,
             const MKL_INT64* ldab, MKL_Complex8* q, const MKL_INT64* ldq,
             const float* vl, const float* vu, const MKL_INT64* il,
             const MKL_INT64* iu, const float* abstol, MKL_INT64* m, float* w,
             MKL_Complex8* z, const MKL_INT64* ldz, MKL_Complex8* work,
             float* rwork, MKL_INT64* iwork, MKL_INT64* ifail, MKL_INT64* info ) NOTHROW;
void chbevx_64( const char* jobz, const char* range, const char* uplo,
             const MKL_INT64* n, const MKL_INT64* kd, MKL_Complex8* ab,
             const MKL_INT64* ldab, MKL_Complex8* q, const MKL_INT64* ldq,
             const float* vl, const float* vu, const MKL_INT64* il,
             const MKL_INT64* iu, const float* abstol, MKL_INT64* m, float* w,
             MKL_Complex8* z, const MKL_INT64* ldz, MKL_Complex8* work,
             float* rwork, MKL_INT64* iwork, MKL_INT64* ifail, MKL_INT64* info ) NOTHROW;

void CHBGST_64( const char* vect, const char* uplo, const MKL_INT64* n,
             const MKL_INT64* ka, const MKL_INT64* kb, MKL_Complex8* ab,
             const MKL_INT64* ldab, const MKL_Complex8* bb, const MKL_INT64* ldbb,
             MKL_Complex8* x, const MKL_INT64* ldx, MKL_Complex8* work,
             float* rwork, MKL_INT64* info ) NOTHROW;
void chbgst_64( const char* vect, const char* uplo, const MKL_INT64* n,
             const MKL_INT64* ka, const MKL_INT64* kb, MKL_Complex8* ab,
             const MKL_INT64* ldab, const MKL_Complex8* bb, const MKL_INT64* ldbb,
             MKL_Complex8* x, const MKL_INT64* ldx, MKL_Complex8* work,
             float* rwork, MKL_INT64* info ) NOTHROW;

void CHBGVD_64( const char* jobz, const char* uplo, const MKL_INT64* n,
             const MKL_INT64* ka, const MKL_INT64* kb, MKL_Complex8* ab,
             const MKL_INT64* ldab, MKL_Complex8* bb, const MKL_INT64* ldbb,
             float* w, MKL_Complex8* z, const MKL_INT64* ldz, MKL_Complex8* work,
             const MKL_INT64* lwork, float* rwork, const MKL_INT64* lrwork,
             MKL_INT64* iwork, const MKL_INT64* liwork, MKL_INT64* info ) NOTHROW;
void chbgvd_64( const char* jobz, const char* uplo, const MKL_INT64* n,
             const MKL_INT64* ka, const MKL_INT64* kb, MKL_Complex8* ab,
             const MKL_INT64* ldab, MKL_Complex8* bb, const MKL_INT64* ldbb,
             float* w, MKL_Complex8* z, const MKL_INT64* ldz, MKL_Complex8* work,
             const MKL_INT64* lwork, float* rwork, const MKL_INT64* lrwork,
             MKL_INT64* iwork, const MKL_INT64* liwork, MKL_INT64* info ) NOTHROW;

void CHBGV_64( const char* jobz, const char* uplo, const MKL_INT64* n,
            const MKL_INT64* ka, const MKL_INT64* kb, MKL_Complex8* ab,
            const MKL_INT64* ldab, MKL_Complex8* bb, const MKL_INT64* ldbb,
            float* w, MKL_Complex8* z, const MKL_INT64* ldz, MKL_Complex8* work,
            float* rwork, MKL_INT64* info ) NOTHROW;
void chbgv_64( const char* jobz, const char* uplo, const MKL_INT64* n,
            const MKL_INT64* ka, const MKL_INT64* kb, MKL_Complex8* ab,
            const MKL_INT64* ldab, MKL_Complex8* bb, const MKL_INT64* ldbb,
            float* w, MKL_Complex8* z, const MKL_INT64* ldz, MKL_Complex8* work,
            float* rwork, MKL_INT64* info ) NOTHROW;

void CHBGVX_64( const char* jobz, const char* range, const char* uplo,
             const MKL_INT64* n, const MKL_INT64* ka, const MKL_INT64* kb,
             MKL_Complex8* ab, const MKL_INT64* ldab, MKL_Complex8* bb,
             const MKL_INT64* ldbb, MKL_Complex8* q, const MKL_INT64* ldq,
             const float* vl, const float* vu, const MKL_INT64* il,
             const MKL_INT64* iu, const float* abstol, MKL_INT64* m, float* w,
             MKL_Complex8* z, const MKL_INT64* ldz, MKL_Complex8* work,
             float* rwork, MKL_INT64* iwork, MKL_INT64* ifail, MKL_INT64* info ) NOTHROW;
void chbgvx_64( const char* jobz, const char* range, const char* uplo,
             const MKL_INT64* n, const MKL_INT64* ka, const MKL_INT64* kb,
             MKL_Complex8* ab, const MKL_INT64* ldab, MKL_Complex8* bb,
             const MKL_INT64* ldbb, MKL_Complex8* q, const MKL_INT64* ldq,
             const float* vl, const float* vu, const MKL_INT64* il,
             const MKL_INT64* iu, const float* abstol, MKL_INT64* m, float* w,
             MKL_Complex8* z, const MKL_INT64* ldz, MKL_Complex8* work,
             float* rwork, MKL_INT64* iwork, MKL_INT64* ifail, MKL_INT64* info ) NOTHROW;

void CHBTRD_64( const char* vect, const char* uplo, const MKL_INT64* n,
             const MKL_INT64* kd, MKL_Complex8* ab, const MKL_INT64* ldab,
             float* d, float* e, MKL_Complex8* q, const MKL_INT64* ldq,
             MKL_Complex8* work, MKL_INT64* info ) NOTHROW;
void chbtrd_64( const char* vect, const char* uplo, const MKL_INT64* n,
             const MKL_INT64* kd, MKL_Complex8* ab, const MKL_INT64* ldab,
             float* d, float* e, MKL_Complex8* q, const MKL_INT64* ldq,
             MKL_Complex8* work, MKL_INT64* info ) NOTHROW;

void CHECON_64( const char* uplo, const MKL_INT64* n, const MKL_Complex8* a,
             const MKL_INT64* lda, const MKL_INT64* ipiv, const float* anorm,
             float* rcond, MKL_Complex8* work, MKL_INT64* info ) NOTHROW;
void checon_64( const char* uplo, const MKL_INT64* n, const MKL_Complex8* a,
             const MKL_INT64* lda, const MKL_INT64* ipiv, const float* anorm,
             float* rcond, MKL_Complex8* work, MKL_INT64* info ) NOTHROW;

void CHEEQUB_64( const char* uplo, const MKL_INT64* n, const MKL_Complex8* a,
              const MKL_INT64* lda, float* s, float* scond, float* amax,
              MKL_Complex8* work, MKL_INT64* info ) NOTHROW;
void cheequb_64( const char* uplo, const MKL_INT64* n, const MKL_Complex8* a,
              const MKL_INT64* lda, float* s, float* scond, float* amax,
              MKL_Complex8* work, MKL_INT64* info ) NOTHROW;

void CHEEVD_64( const char* jobz, const char* uplo, const MKL_INT64* n,
             MKL_Complex8* a, const MKL_INT64* lda, float* w, MKL_Complex8* work,
             const MKL_INT64* lwork, float* rwork, const MKL_INT64* lrwork,
             MKL_INT64* iwork, const MKL_INT64* liwork, MKL_INT64* info ) NOTHROW;
void cheevd_64( const char* jobz, const char* uplo, const MKL_INT64* n,
             MKL_Complex8* a, const MKL_INT64* lda, float* w, MKL_Complex8* work,
             const MKL_INT64* lwork, float* rwork, const MKL_INT64* lrwork,
             MKL_INT64* iwork, const MKL_INT64* liwork, MKL_INT64* info ) NOTHROW;

void CHEEV_64( const char* jobz, const char* uplo, const MKL_INT64* n,
            MKL_Complex8* a, const MKL_INT64* lda, float* w, MKL_Complex8* work,
            const MKL_INT64* lwork, float* rwork, MKL_INT64* info ) NOTHROW;
void cheev_64( const char* jobz, const char* uplo, const MKL_INT64* n,
            MKL_Complex8* a, const MKL_INT64* lda, float* w, MKL_Complex8* work,
            const MKL_INT64* lwork, float* rwork, MKL_INT64* info ) NOTHROW;

void CHEEVR_64( const char* jobz, const char* range, const char* uplo,
             const MKL_INT64* n, MKL_Complex8* a, const MKL_INT64* lda,
             const float* vl, const float* vu, const MKL_INT64* il,
             const MKL_INT64* iu, const float* abstol, MKL_INT64* m, float* w,
             MKL_Complex8* z, const MKL_INT64* ldz, MKL_INT64* isuppz,
             MKL_Complex8* work, const MKL_INT64* lwork, float* rwork,
             const MKL_INT64* lrwork, MKL_INT64* iwork, const MKL_INT64* liwork,
             MKL_INT64* info ) NOTHROW;
void cheevr_64( const char* jobz, const char* range, const char* uplo,
             const MKL_INT64* n, MKL_Complex8* a, const MKL_INT64* lda,
             const float* vl, const float* vu, const MKL_INT64* il,
             const MKL_INT64* iu, const float* abstol, MKL_INT64* m, float* w,
             MKL_Complex8* z, const MKL_INT64* ldz, MKL_INT64* isuppz,
             MKL_Complex8* work, const MKL_INT64* lwork, float* rwork,
             const MKL_INT64* lrwork, MKL_INT64* iwork, const MKL_INT64* liwork,
             MKL_INT64* info ) NOTHROW;

void CHEEVX_64( const char* jobz, const char* range, const char* uplo,
             const MKL_INT64* n, MKL_Complex8* a, const MKL_INT64* lda,
             const float* vl, const float* vu, const MKL_INT64* il,
             const MKL_INT64* iu, const float* abstol, MKL_INT64* m, float* w,
             MKL_Complex8* z, const MKL_INT64* ldz, MKL_Complex8* work,
             const MKL_INT64* lwork, float* rwork, MKL_INT64* iwork,
             MKL_INT64* ifail, MKL_INT64* info ) NOTHROW;
void cheevx_64( const char* jobz, const char* range, const char* uplo,
             const MKL_INT64* n, MKL_Complex8* a, const MKL_INT64* lda,
             const float* vl, const float* vu, const MKL_INT64* il,
             const MKL_INT64* iu, const float* abstol, MKL_INT64* m, float* w,
             MKL_Complex8* z, const MKL_INT64* ldz, MKL_Complex8* work,
             const MKL_INT64* lwork, float* rwork, MKL_INT64* iwork,
             MKL_INT64* ifail, MKL_INT64* info ) NOTHROW;

void CHEGS2_64( const MKL_INT64* itype, const char* uplo, const MKL_INT64* n,
             MKL_Complex8* a, const MKL_INT64* lda, MKL_Complex8* b,
             const MKL_INT64* ldb, MKL_INT64* info ) NOTHROW;
void chegs2_64( const MKL_INT64* itype, const char* uplo, const MKL_INT64* n,
             MKL_Complex8* a, const MKL_INT64* lda, MKL_Complex8* b,
             const MKL_INT64* ldb, MKL_INT64* info ) NOTHROW;

void CHEGST_64( const MKL_INT64* itype, const char* uplo, const MKL_INT64* n,
             MKL_Complex8* a, const MKL_INT64* lda, MKL_Complex8* b,
             const MKL_INT64* ldb, MKL_INT64* info ) NOTHROW;
void chegst_64( const MKL_INT64* itype, const char* uplo, const MKL_INT64* n,
             MKL_Complex8* a, const MKL_INT64* lda, MKL_Complex8* b,
             const MKL_INT64* ldb, MKL_INT64* info ) NOTHROW;

void CHEGVD_64( const MKL_INT64* itype, const char* jobz, const char* uplo,
             const MKL_INT64* n, MKL_Complex8* a, const MKL_INT64* lda,
             MKL_Complex8* b, const MKL_INT64* ldb, float* w, MKL_Complex8* work,
             const MKL_INT64* lwork, float* rwork, const MKL_INT64* lrwork,
             MKL_INT64* iwork, const MKL_INT64* liwork, MKL_INT64* info ) NOTHROW;
void chegvd_64( const MKL_INT64* itype, const char* jobz, const char* uplo,
             const MKL_INT64* n, MKL_Complex8* a, const MKL_INT64* lda,
             MKL_Complex8* b, const MKL_INT64* ldb, float* w, MKL_Complex8* work,
             const MKL_INT64* lwork, float* rwork, const MKL_INT64* lrwork,
             MKL_INT64* iwork, const MKL_INT64* liwork, MKL_INT64* info ) NOTHROW;

void CHEGV_64( const MKL_INT64* itype, const char* jobz, const char* uplo,
            const MKL_INT64* n, MKL_Complex8* a, const MKL_INT64* lda,
            MKL_Complex8* b, const MKL_INT64* ldb, float* w, MKL_Complex8* work,
            const MKL_INT64* lwork, float* rwork, MKL_INT64* info ) NOTHROW;
void chegv_64( const MKL_INT64* itype, const char* jobz, const char* uplo,
            const MKL_INT64* n, MKL_Complex8* a, const MKL_INT64* lda,
            MKL_Complex8* b, const MKL_INT64* ldb, float* w, MKL_Complex8* work,
            const MKL_INT64* lwork, float* rwork, MKL_INT64* info ) NOTHROW;

void CHEGVX_64( const MKL_INT64* itype, const char* jobz, const char* range,
             const char* uplo, const MKL_INT64* n, MKL_Complex8* a,
             const MKL_INT64* lda, MKL_Complex8* b, const MKL_INT64* ldb,
             const float* vl, const float* vu, const MKL_INT64* il,
             const MKL_INT64* iu, const float* abstol, MKL_INT64* m, float* w,
             MKL_Complex8* z, const MKL_INT64* ldz, MKL_Complex8* work,
             const MKL_INT64* lwork, float* rwork, MKL_INT64* iwork,
             MKL_INT64* ifail, MKL_INT64* info ) NOTHROW;
void chegvx_64( const MKL_INT64* itype, const char* jobz, const char* range,
             const char* uplo, const MKL_INT64* n, MKL_Complex8* a,
             const MKL_INT64* lda, MKL_Complex8* b, const MKL_INT64* ldb,
             const float* vl, const float* vu, const MKL_INT64* il,
             const MKL_INT64* iu, const float* abstol, MKL_INT64* m, float* w,
             MKL_Complex8* z, const MKL_INT64* ldz, MKL_Complex8* work,
             const MKL_INT64* lwork, float* rwork, MKL_INT64* iwork,
             MKL_INT64* ifail, MKL_INT64* info ) NOTHROW;

void CHERFS_64( const char* uplo, const MKL_INT64* n, const MKL_INT64* nrhs,
             const MKL_Complex8* a, const MKL_INT64* lda, const MKL_Complex8* af,
             const MKL_INT64* ldaf, const MKL_INT64* ipiv, const MKL_Complex8* b,
             const MKL_INT64* ldb, MKL_Complex8* x, const MKL_INT64* ldx,
             float* ferr, float* berr, MKL_Complex8* work, float* rwork,
             MKL_INT64* info ) NOTHROW;
void cherfs_64( const char* uplo, const MKL_INT64* n, const MKL_INT64* nrhs,
             const MKL_Complex8* a, const MKL_INT64* lda, const MKL_Complex8* af,
             const MKL_INT64* ldaf, const MKL_INT64* ipiv, const MKL_Complex8* b,
             const MKL_INT64* ldb, MKL_Complex8* x, const MKL_INT64* ldx,
             float* ferr, float* berr, MKL_Complex8* work, float* rwork,
             MKL_INT64* info ) NOTHROW;

void CHERFSX_64( const char* uplo, const char* equed, const MKL_INT64* n,
              const MKL_INT64* nrhs, const MKL_Complex8* a, const MKL_INT64* lda,
              const MKL_Complex8* af, const MKL_INT64* ldaf, const MKL_INT64* ipiv,
              float* s, const MKL_Complex8* b, const MKL_INT64* ldb,
              MKL_Complex8* x, const MKL_INT64* ldx, float* rcond, float* berr,
              const MKL_INT64* n_err_bnds, float* err_bnds_norm,
              float* err_bnds_comp, const MKL_INT64* nparams, float* params,
              MKL_Complex8* work, float* rwork, MKL_INT64* info ) NOTHROW;
void cherfsx_64( const char* uplo, const char* equed, const MKL_INT64* n,
              const MKL_INT64* nrhs, const MKL_Complex8* a, const MKL_INT64* lda,
              const MKL_Complex8* af, const MKL_INT64* ldaf, const MKL_INT64* ipiv,
              float* s, const MKL_Complex8* b, const MKL_INT64* ldb,
              MKL_Complex8* x, const MKL_INT64* ldx, float* rcond, float* berr,
              const MKL_INT64* n_err_bnds, float* err_bnds_norm,
              float* err_bnds_comp, const MKL_INT64* nparams, float* params,
              MKL_Complex8* work, float* rwork, MKL_INT64* info ) NOTHROW;

void CHESV_64( const char* uplo, const MKL_INT64* n, const MKL_INT64* nrhs,
            MKL_Complex8* a, const MKL_INT64* lda, MKL_INT64* ipiv,
            MKL_Complex8* b, const MKL_INT64* ldb, MKL_Complex8* work,
            const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;
void chesv_64( const char* uplo, const MKL_INT64* n, const MKL_INT64* nrhs,
            MKL_Complex8* a, const MKL_INT64* lda, MKL_INT64* ipiv,
            MKL_Complex8* b, const MKL_INT64* ldb, MKL_Complex8* work,
            const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;

void CHESVX_64( const char* fact, const char* uplo, const MKL_INT64* n,
             const MKL_INT64* nrhs, const MKL_Complex8* a, const MKL_INT64* lda,
             MKL_Complex8* af, const MKL_INT64* ldaf, MKL_INT64* ipiv,
             const MKL_Complex8* b, const MKL_INT64* ldb, MKL_Complex8* x,
             const MKL_INT64* ldx, float* rcond, float* ferr, float* berr,
             MKL_Complex8* work, const MKL_INT64* lwork, float* rwork,
             MKL_INT64* info ) NOTHROW;
void chesvx_64( const char* fact, const char* uplo, const MKL_INT64* n,
             const MKL_INT64* nrhs, const MKL_Complex8* a, const MKL_INT64* lda,
             MKL_Complex8* af, const MKL_INT64* ldaf, MKL_INT64* ipiv,
             const MKL_Complex8* b, const MKL_INT64* ldb, MKL_Complex8* x,
             const MKL_INT64* ldx, float* rcond, float* ferr, float* berr,
             MKL_Complex8* work, const MKL_INT64* lwork, float* rwork,
             MKL_INT64* info ) NOTHROW;

void CHESVXX_64( const char* fact, const char* uplo, const MKL_INT64* n,
              const MKL_INT64* nrhs, MKL_Complex8* a, const MKL_INT64* lda,
              MKL_Complex8* af, const MKL_INT64* ldaf, MKL_INT64* ipiv,
              char* equed, float* s, MKL_Complex8* b, const MKL_INT64* ldb,
              MKL_Complex8* x, const MKL_INT64* ldx, float* rcond, float* rpvgrw,
              float* berr, const MKL_INT64* n_err_bnds, float* err_bnds_norm,
              float* err_bnds_comp, const MKL_INT64* nparams, float* params,
              MKL_Complex8* work, float* rwork, MKL_INT64* info ) NOTHROW;
void chesvxx_64( const char* fact, const char* uplo, const MKL_INT64* n,
              const MKL_INT64* nrhs, MKL_Complex8* a, const MKL_INT64* lda,
              MKL_Complex8* af, const MKL_INT64* ldaf, MKL_INT64* ipiv,
              char* equed, float* s, MKL_Complex8* b, const MKL_INT64* ldb,
              MKL_Complex8* x, const MKL_INT64* ldx, float* rcond, float* rpvgrw,
              float* berr, const MKL_INT64* n_err_bnds, float* err_bnds_norm,
              float* err_bnds_comp, const MKL_INT64* nparams, float* params,
              MKL_Complex8* work, float* rwork, MKL_INT64* info ) NOTHROW;

void CHETD2_64( const char* uplo, const MKL_INT64* n, MKL_Complex8* a,
             const MKL_INT64* lda, float* d, float* e, MKL_Complex8* tau,
             MKL_INT64* info ) NOTHROW;
void chetd2_64( const char* uplo, const MKL_INT64* n, MKL_Complex8* a,
             const MKL_INT64* lda, float* d, float* e, MKL_Complex8* tau,
             MKL_INT64* info ) NOTHROW;

void CHETF2_64( const char* uplo, const MKL_INT64* n, MKL_Complex8* a,
             const MKL_INT64* lda, MKL_INT64* ipiv, MKL_INT64* info ) NOTHROW;
void chetf2_64( const char* uplo, const MKL_INT64* n, MKL_Complex8* a,
             const MKL_INT64* lda, MKL_INT64* ipiv, MKL_INT64* info ) NOTHROW;

void CHETRD_64( const char* uplo, const MKL_INT64* n, MKL_Complex8* a,
             const MKL_INT64* lda, float* d, float* e, MKL_Complex8* tau,
             MKL_Complex8* work, const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;
void chetrd_64( const char* uplo, const MKL_INT64* n, MKL_Complex8* a,
             const MKL_INT64* lda, float* d, float* e, MKL_Complex8* tau,
             MKL_Complex8* work, const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;

void CHETRF_64( const char* uplo, const MKL_INT64* n, MKL_Complex8* a,
             const MKL_INT64* lda, MKL_INT64* ipiv, MKL_Complex8* work,
             const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;
void chetrf_64( const char* uplo, const MKL_INT64* n, MKL_Complex8* a,
             const MKL_INT64* lda, MKL_INT64* ipiv, MKL_Complex8* work,
             const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;

void CHETRI_64( const char* uplo, const MKL_INT64* n, MKL_Complex8* a,
             const MKL_INT64* lda, const MKL_INT64* ipiv, MKL_Complex8* work,
             MKL_INT64* info ) NOTHROW;
void chetri_64( const char* uplo, const MKL_INT64* n, MKL_Complex8* a,
             const MKL_INT64* lda, const MKL_INT64* ipiv, MKL_Complex8* work,
             MKL_INT64* info ) NOTHROW;

void CHETRS_64( const char* uplo, const MKL_INT64* n, const MKL_INT64* nrhs,
             const MKL_Complex8* a, const MKL_INT64* lda, const MKL_INT64* ipiv,
             MKL_Complex8* b, const MKL_INT64* ldb, MKL_INT64* info ) NOTHROW;
void chetrs_64( const char* uplo, const MKL_INT64* n, const MKL_INT64* nrhs,
             const MKL_Complex8* a, const MKL_INT64* lda, const MKL_INT64* ipiv,
             MKL_Complex8* b, const MKL_INT64* ldb, MKL_INT64* info ) NOTHROW;

void CHFRK_64( const char* transr, const char* uplo, const char* trans,
            const MKL_INT64* n, const MKL_INT64* k, const float* alpha,
            const MKL_Complex8* a, const MKL_INT64* lda, const float* beta,
            MKL_Complex8* c ) NOTHROW;
void chfrk_64( const char* transr, const char* uplo, const char* trans,
            const MKL_INT64* n, const MKL_INT64* k, const float* alpha,
            const MKL_Complex8* a, const MKL_INT64* lda, const float* beta,
            MKL_Complex8* c ) NOTHROW;

void CHGEQZ_64( const char* job, const char* compq, const char* compz,
             const MKL_INT64* n, const MKL_INT64* ilo, const MKL_INT64* ihi,
             MKL_Complex8* h, const MKL_INT64* ldh, MKL_Complex8* t,
             const MKL_INT64* ldt, MKL_Complex8* alpha, MKL_Complex8* beta,
             MKL_Complex8* q, const MKL_INT64* ldq, MKL_Complex8* z,
             const MKL_INT64* ldz, MKL_Complex8* work, const MKL_INT64* lwork,
             float* rwork, MKL_INT64* info ) NOTHROW;
void chgeqz_64( const char* job, const char* compq, const char* compz,
             const MKL_INT64* n, const MKL_INT64* ilo, const MKL_INT64* ihi,
             MKL_Complex8* h, const MKL_INT64* ldh, MKL_Complex8* t,
             const MKL_INT64* ldt, MKL_Complex8* alpha, MKL_Complex8* beta,
             MKL_Complex8* q, const MKL_INT64* ldq, MKL_Complex8* z,
             const MKL_INT64* ldz, MKL_Complex8* work, const MKL_INT64* lwork,
             float* rwork, MKL_INT64* info ) NOTHROW;

void CHLA_TRANSTYPE_64( char* ret_val, int ret_val_len, const MKL_INT64* trans ) NOTHROW;
void chla_transtype_64( char* ret_val, int ret_val_len, const MKL_INT64* trans ) NOTHROW;

void CHPCON_64( const char* uplo, const MKL_INT64* n, const MKL_Complex8* ap,
             const MKL_INT64* ipiv, const float* anorm, float* rcond,
             MKL_Complex8* work, MKL_INT64* info ) NOTHROW;
void chpcon_64( const char* uplo, const MKL_INT64* n, const MKL_Complex8* ap,
             const MKL_INT64* ipiv, const float* anorm, float* rcond,
             MKL_Complex8* work, MKL_INT64* info ) NOTHROW;

void CHPEVD_64( const char* jobz, const char* uplo, const MKL_INT64* n,
             MKL_Complex8* ap, float* w, MKL_Complex8* z, const MKL_INT64* ldz,
             MKL_Complex8* work, const MKL_INT64* lwork, float* rwork,
             const MKL_INT64* lrwork, MKL_INT64* iwork, const MKL_INT64* liwork,
             MKL_INT64* info ) NOTHROW;
void chpevd_64( const char* jobz, const char* uplo, const MKL_INT64* n,
             MKL_Complex8* ap, float* w, MKL_Complex8* z, const MKL_INT64* ldz,
             MKL_Complex8* work, const MKL_INT64* lwork, float* rwork,
             const MKL_INT64* lrwork, MKL_INT64* iwork, const MKL_INT64* liwork,
             MKL_INT64* info ) NOTHROW;

void CHPEV_64( const char* jobz, const char* uplo, const MKL_INT64* n,
            MKL_Complex8* ap, float* w, MKL_Complex8* z, const MKL_INT64* ldz,
            MKL_Complex8* work, float* rwork, MKL_INT64* info ) NOTHROW;
void chpev_64( const char* jobz, const char* uplo, const MKL_INT64* n,
            MKL_Complex8* ap, float* w, MKL_Complex8* z, const MKL_INT64* ldz,
            MKL_Complex8* work, float* rwork, MKL_INT64* info ) NOTHROW;

void CHPEVX_64( const char* jobz, const char* range, const char* uplo,
             const MKL_INT64* n, MKL_Complex8* ap, const float* vl,
             const float* vu, const MKL_INT64* il, const MKL_INT64* iu,
             const float* abstol, MKL_INT64* m, float* w, MKL_Complex8* z,
             const MKL_INT64* ldz, MKL_Complex8* work, float* rwork,
             MKL_INT64* iwork, MKL_INT64* ifail, MKL_INT64* info ) NOTHROW;
void chpevx_64( const char* jobz, const char* range, const char* uplo,
             const MKL_INT64* n, MKL_Complex8* ap, const float* vl,
             const float* vu, const MKL_INT64* il, const MKL_INT64* iu,
             const float* abstol, MKL_INT64* m, float* w, MKL_Complex8* z,
             const MKL_INT64* ldz, MKL_Complex8* work, float* rwork,
             MKL_INT64* iwork, MKL_INT64* ifail, MKL_INT64* info ) NOTHROW;

void CHPGST_64( const MKL_INT64* itype, const char* uplo, const MKL_INT64* n,
             MKL_Complex8* ap, const MKL_Complex8* bp, MKL_INT64* info ) NOTHROW;
void chpgst_64( const MKL_INT64* itype, const char* uplo, const MKL_INT64* n,
             MKL_Complex8* ap, const MKL_Complex8* bp, MKL_INT64* info ) NOTHROW;

void CHPGVD_64( const MKL_INT64* itype, const char* jobz, const char* uplo,
             const MKL_INT64* n, MKL_Complex8* ap, MKL_Complex8* bp, float* w,
             MKL_Complex8* z, const MKL_INT64* ldz, MKL_Complex8* work,
             const MKL_INT64* lwork, float* rwork, const MKL_INT64* lrwork,
             MKL_INT64* iwork, const MKL_INT64* liwork, MKL_INT64* info ) NOTHROW;
void chpgvd_64( const MKL_INT64* itype, const char* jobz, const char* uplo,
             const MKL_INT64* n, MKL_Complex8* ap, MKL_Complex8* bp, float* w,
             MKL_Complex8* z, const MKL_INT64* ldz, MKL_Complex8* work,
             const MKL_INT64* lwork, float* rwork, const MKL_INT64* lrwork,
             MKL_INT64* iwork, const MKL_INT64* liwork, MKL_INT64* info ) NOTHROW;

void CHPGV_64( const MKL_INT64* itype, const char* jobz, const char* uplo,
            const MKL_INT64* n, MKL_Complex8* ap, MKL_Complex8* bp, float* w,
            MKL_Complex8* z, const MKL_INT64* ldz, MKL_Complex8* work,
            float* rwork, MKL_INT64* info ) NOTHROW;
void chpgv_64( const MKL_INT64* itype, const char* jobz, const char* uplo,
            const MKL_INT64* n, MKL_Complex8* ap, MKL_Complex8* bp, float* w,
            MKL_Complex8* z, const MKL_INT64* ldz, MKL_Complex8* work,
            float* rwork, MKL_INT64* info ) NOTHROW;

void CHPGVX_64( const MKL_INT64* itype, const char* jobz, const char* range,
             const char* uplo, const MKL_INT64* n, MKL_Complex8* ap,
             MKL_Complex8* bp, const float* vl, const float* vu,
             const MKL_INT64* il, const MKL_INT64* iu, const float* abstol,
             MKL_INT64* m, float* w, MKL_Complex8* z, const MKL_INT64* ldz,
             MKL_Complex8* work, float* rwork, MKL_INT64* iwork, MKL_INT64* ifail,
             MKL_INT64* info ) NOTHROW;
void chpgvx_64( const MKL_INT64* itype, const char* jobz, const char* range,
             const char* uplo, const MKL_INT64* n, MKL_Complex8* ap,
             MKL_Complex8* bp, const float* vl, const float* vu,
             const MKL_INT64* il, const MKL_INT64* iu, const float* abstol,
             MKL_INT64* m, float* w, MKL_Complex8* z, const MKL_INT64* ldz,
             MKL_Complex8* work, float* rwork, MKL_INT64* iwork, MKL_INT64* ifail,
             MKL_INT64* info ) NOTHROW;

void CHPRFS_64( const char* uplo, const MKL_INT64* n, const MKL_INT64* nrhs,
             const MKL_Complex8* ap, const MKL_Complex8* afp,
             const MKL_INT64* ipiv, const MKL_Complex8* b, const MKL_INT64* ldb,
             MKL_Complex8* x, const MKL_INT64* ldx, float* ferr, float* berr,
             MKL_Complex8* work, float* rwork, MKL_INT64* info ) NOTHROW;
void chprfs_64( const char* uplo, const MKL_INT64* n, const MKL_INT64* nrhs,
             const MKL_Complex8* ap, const MKL_Complex8* afp,
             const MKL_INT64* ipiv, const MKL_Complex8* b, const MKL_INT64* ldb,
             MKL_Complex8* x, const MKL_INT64* ldx, float* ferr, float* berr,
             MKL_Complex8* work, float* rwork, MKL_INT64* info ) NOTHROW;

void CHPSV_64( const char* uplo, const MKL_INT64* n, const MKL_INT64* nrhs,
            MKL_Complex8* ap, MKL_INT64* ipiv, MKL_Complex8* b,
            const MKL_INT64* ldb, MKL_INT64* info ) NOTHROW;
void chpsv_64( const char* uplo, const MKL_INT64* n, const MKL_INT64* nrhs,
            MKL_Complex8* ap, MKL_INT64* ipiv, MKL_Complex8* b,
            const MKL_INT64* ldb, MKL_INT64* info ) NOTHROW;

void CHPSVX_64( const char* fact, const char* uplo, const MKL_INT64* n,
             const MKL_INT64* nrhs, const MKL_Complex8* ap, MKL_Complex8* afp,
             MKL_INT64* ipiv, const MKL_Complex8* b, const MKL_INT64* ldb,
             MKL_Complex8* x, const MKL_INT64* ldx, float* rcond, float* ferr,
             float* berr, MKL_Complex8* work, float* rwork, MKL_INT64* info ) NOTHROW;
void chpsvx_64( const char* fact, const char* uplo, const MKL_INT64* n,
             const MKL_INT64* nrhs, const MKL_Complex8* ap, MKL_Complex8* afp,
             MKL_INT64* ipiv, const MKL_Complex8* b, const MKL_INT64* ldb,
             MKL_Complex8* x, const MKL_INT64* ldx, float* rcond, float* ferr,
             float* berr, MKL_Complex8* work, float* rwork, MKL_INT64* info ) NOTHROW;

void CHPTRD_64( const char* uplo, const MKL_INT64* n, MKL_Complex8* ap, float* d,
             float* e, MKL_Complex8* tau, MKL_INT64* info ) NOTHROW;
void chptrd_64( const char* uplo, const MKL_INT64* n, MKL_Complex8* ap, float* d,
             float* e, MKL_Complex8* tau, MKL_INT64* info ) NOTHROW;

void CHPTRF_64( const char* uplo, const MKL_INT64* n, MKL_Complex8* ap,
             MKL_INT64* ipiv, MKL_INT64* info ) NOTHROW;
void chptrf_64( const char* uplo, const MKL_INT64* n, MKL_Complex8* ap,
             MKL_INT64* ipiv, MKL_INT64* info ) NOTHROW;

void CHPTRI_64( const char* uplo, const MKL_INT64* n, MKL_Complex8* ap,
             const MKL_INT64* ipiv, MKL_Complex8* work, MKL_INT64* info ) NOTHROW;
void chptri_64( const char* uplo, const MKL_INT64* n, MKL_Complex8* ap,
             const MKL_INT64* ipiv, MKL_Complex8* work, MKL_INT64* info ) NOTHROW;

void CHPTRS_64( const char* uplo, const MKL_INT64* n, const MKL_INT64* nrhs,
             const MKL_Complex8* ap, const MKL_INT64* ipiv, MKL_Complex8* b,
             const MKL_INT64* ldb, MKL_INT64* info ) NOTHROW;
void chptrs_64( const char* uplo, const MKL_INT64* n, const MKL_INT64* nrhs,
             const MKL_Complex8* ap, const MKL_INT64* ipiv, MKL_Complex8* b,
             const MKL_INT64* ldb, MKL_INT64* info ) NOTHROW;

void CHSEIN_64( const char* side, const char* eigsrc, const char* initv,
             const MKL_INT64* select, const MKL_INT64* n, const MKL_Complex8* h,
             const MKL_INT64* ldh, MKL_Complex8* w, MKL_Complex8* vl,
             const MKL_INT64* ldvl, MKL_Complex8* vr, const MKL_INT64* ldvr,
             const MKL_INT64* mm, MKL_INT64* m, MKL_Complex8* work, float* rwork,
             MKL_INT64* ifaill, MKL_INT64* ifailr, MKL_INT64* info ) NOTHROW;
void chsein_64( const char* side, const char* eigsrc, const char* initv,
             const MKL_INT64* select, const MKL_INT64* n, const MKL_Complex8* h,
             const MKL_INT64* ldh, MKL_Complex8* w, MKL_Complex8* vl,
             const MKL_INT64* ldvl, MKL_Complex8* vr, const MKL_INT64* ldvr,
             const MKL_INT64* mm, MKL_INT64* m, MKL_Complex8* work, float* rwork,
             MKL_INT64* ifaill, MKL_INT64* ifailr, MKL_INT64* info ) NOTHROW;

void CHSEQR_64( const char* job, const char* compz, const MKL_INT64* n,
             const MKL_INT64* ilo, const MKL_INT64* ihi, MKL_Complex8* h,
             const MKL_INT64* ldh, MKL_Complex8* w, MKL_Complex8* z,
             const MKL_INT64* ldz, MKL_Complex8* work, const MKL_INT64* lwork,
             MKL_INT64* info ) NOTHROW;
void chseqr_64( const char* job, const char* compz, const MKL_INT64* n,
             const MKL_INT64* ilo, const MKL_INT64* ihi, MKL_Complex8* h,
             const MKL_INT64* ldh, MKL_Complex8* w, MKL_Complex8* z,
             const MKL_INT64* ldz, MKL_Complex8* work, const MKL_INT64* lwork,
             MKL_INT64* info ) NOTHROW;

void CLABRD_64( const MKL_INT64* m, const MKL_INT64* n, const MKL_INT64* nb,
             MKL_Complex8* a, const MKL_INT64* lda, float* d, float* e,
             MKL_Complex8* tauq, MKL_Complex8* taup, MKL_Complex8* x,
             const MKL_INT64* ldx, MKL_Complex8* y, const MKL_INT64* ldy ) NOTHROW;
void clabrd_64( const MKL_INT64* m, const MKL_INT64* n, const MKL_INT64* nb,
             MKL_Complex8* a, const MKL_INT64* lda, float* d, float* e,
             MKL_Complex8* tauq, MKL_Complex8* taup, MKL_Complex8* x,
             const MKL_INT64* ldx, MKL_Complex8* y, const MKL_INT64* ldy ) NOTHROW;

void CLACGV_64( const MKL_INT64* n, MKL_Complex8* x, const MKL_INT64* incx ) NOTHROW;
void clacgv_64( const MKL_INT64* n, MKL_Complex8* x, const MKL_INT64* incx ) NOTHROW;

void CLACN2_64( const MKL_INT64* n, MKL_Complex8* v, MKL_Complex8* x, float* est,
             MKL_INT64* kase, MKL_INT64* isave ) NOTHROW;
void clacn2_64( const MKL_INT64* n, MKL_Complex8* v, MKL_Complex8* x, float* est,
             MKL_INT64* kase, MKL_INT64* isave ) NOTHROW;

void CLACON_64( const MKL_INT64* n, MKL_Complex8* v, MKL_Complex8* x, float* est,
             MKL_INT64* kase ) NOTHROW;
void clacon_64( const MKL_INT64* n, MKL_Complex8* v, MKL_Complex8* x, float* est,
             MKL_INT64* kase ) NOTHROW;

void CLACP2_64( const char* uplo, const MKL_INT64* m, const MKL_INT64* n,
             const float* a, const MKL_INT64* lda, MKL_Complex8* b,
             const MKL_INT64* ldb ) NOTHROW;
void clacp2_64( const char* uplo, const MKL_INT64* m, const MKL_INT64* n,
             const float* a, const MKL_INT64* lda, MKL_Complex8* b,
             const MKL_INT64* ldb ) NOTHROW;

void CLACPY_64( const char* uplo, const MKL_INT64* m, const MKL_INT64* n,
             const MKL_Complex8* a, const MKL_INT64* lda, MKL_Complex8* b,
             const MKL_INT64* ldb ) NOTHROW;
void clacpy_64( const char* uplo, const MKL_INT64* m, const MKL_INT64* n,
             const MKL_Complex8* a, const MKL_INT64* lda, MKL_Complex8* b,
             const MKL_INT64* ldb ) NOTHROW;

void CLACRM_64( const MKL_INT64* m, const MKL_INT64* n, const MKL_Complex8* a,
             const MKL_INT64* lda, const float* b, const MKL_INT64* ldb,
             MKL_Complex8* c, const MKL_INT64* ldc, float* rwork ) NOTHROW;
void clacrm_64( const MKL_INT64* m, const MKL_INT64* n, const MKL_Complex8* a,
             const MKL_INT64* lda, const float* b, const MKL_INT64* ldb,
             MKL_Complex8* c, const MKL_INT64* ldc, float* rwork ) NOTHROW;

void CLACRT_64( const MKL_INT64* n, MKL_Complex8* cx, const MKL_INT64* incx,
             MKL_Complex8* cy, const MKL_INT64* incy, const MKL_Complex8* c,
             const MKL_Complex8* s ) NOTHROW;
void clacrt_64( const MKL_INT64* n, MKL_Complex8* cx, const MKL_INT64* incx,
             MKL_Complex8* cy, const MKL_INT64* incy, const MKL_Complex8* c,
             const MKL_Complex8* s ) NOTHROW;

void CLADIV_64( MKL_Complex8* ret_value, const MKL_Complex8* x,
             const MKL_Complex8* y ) NOTHROW;
void cladiv_64( MKL_Complex8* ret_value, const MKL_Complex8* x,
             const MKL_Complex8* y ) NOTHROW;

void CLAED0_64( const MKL_INT64* qsiz, const MKL_INT64* n, float* d, float* e,
             MKL_Complex8* q, const MKL_INT64* ldq, MKL_Complex8* qstore,
             const MKL_INT64* ldqs, float* rwork, MKL_INT64* iwork,
             MKL_INT64* info ) NOTHROW;
void claed0_64( const MKL_INT64* qsiz, const MKL_INT64* n, float* d, float* e,
             MKL_Complex8* q, const MKL_INT64* ldq, MKL_Complex8* qstore,
             const MKL_INT64* ldqs, float* rwork, MKL_INT64* iwork,
             MKL_INT64* info ) NOTHROW;

void CLAED7_64( const MKL_INT64* n, const MKL_INT64* cutpnt, const MKL_INT64* qsiz,
             const MKL_INT64* tlvls, const MKL_INT64* curlvl,
             const MKL_INT64* curpbm, float* d, MKL_Complex8* q,
             const MKL_INT64* ldq, const float* rho, MKL_INT64* indxq,
             float* qstore, MKL_INT64* qptr, const MKL_INT64* prmptr,
             const MKL_INT64* perm, const MKL_INT64* givptr, const MKL_INT64* givcol,
             const float* givnum, MKL_Complex8* work, float* rwork,
             MKL_INT64* iwork, MKL_INT64* info ) NOTHROW;
void claed7_64( const MKL_INT64* n, const MKL_INT64* cutpnt, const MKL_INT64* qsiz,
             const MKL_INT64* tlvls, const MKL_INT64* curlvl,
             const MKL_INT64* curpbm, float* d, MKL_Complex8* q,
             const MKL_INT64* ldq, const float* rho, MKL_INT64* indxq,
             float* qstore, MKL_INT64* qptr, const MKL_INT64* prmptr,
             const MKL_INT64* perm, const MKL_INT64* givptr, const MKL_INT64* givcol,
             const float* givnum, MKL_Complex8* work, float* rwork,
             MKL_INT64* iwork, MKL_INT64* info ) NOTHROW;

void CLAED8_64( MKL_INT64* k, const MKL_INT64* n, const MKL_INT64* qsiz,
             MKL_Complex8* q, const MKL_INT64* ldq, float* d, float* rho,
             const MKL_INT64* cutpnt, const float* z, float* dlamda,
             MKL_Complex8* q2, const MKL_INT64* ldq2, float* w, MKL_INT64* indxp,
             MKL_INT64* indx, const MKL_INT64* indxq, MKL_INT64* perm,
             MKL_INT64* givptr, MKL_INT64* givcol, float* givnum, MKL_INT64* info ) NOTHROW;
void claed8_64( MKL_INT64* k, const MKL_INT64* n, const MKL_INT64* qsiz,
             MKL_Complex8* q, const MKL_INT64* ldq, float* d, float* rho,
             const MKL_INT64* cutpnt, const float* z, float* dlamda,
             MKL_Complex8* q2, const MKL_INT64* ldq2, float* w, MKL_INT64* indxp,
             MKL_INT64* indx, const MKL_INT64* indxq, MKL_INT64* perm,
             MKL_INT64* givptr, MKL_INT64* givcol, float* givnum, MKL_INT64* info ) NOTHROW;

void CLAEIN_64( const MKL_INT64* rightv, const MKL_INT64* noinit, const MKL_INT64* n,
             const MKL_Complex8* h, const MKL_INT64* ldh, const MKL_Complex8* w,
             MKL_Complex8* v, MKL_Complex8* b, const MKL_INT64* ldb,
             float* rwork, const float* eps3, const float* smlnum,
             MKL_INT64* info ) NOTHROW;
void claein_64( const MKL_INT64* rightv, const MKL_INT64* noinit, const MKL_INT64* n,
             const MKL_Complex8* h, const MKL_INT64* ldh, const MKL_Complex8* w,
             MKL_Complex8* v, MKL_Complex8* b, const MKL_INT64* ldb,
             float* rwork, const float* eps3, const float* smlnum,
             MKL_INT64* info ) NOTHROW;

void CLAG2Z_64( const MKL_INT64* m, const MKL_INT64* n, const MKL_Complex8* sa,
             const MKL_INT64* ldsa, MKL_Complex16* a, const MKL_INT64* lda,
             MKL_INT64* info ) NOTHROW;
void clag2z_64( const MKL_INT64* m, const MKL_INT64* n, const MKL_Complex8* sa,
             const MKL_INT64* ldsa, MKL_Complex16* a, const MKL_INT64* lda,
             MKL_INT64* info ) NOTHROW;

void CLAGS2_64( const MKL_INT64* upper, const float* a1, const MKL_Complex8* a2,
             const float* a3, const float* b1, const MKL_Complex8* b2,
             const float* b3, float* csu, MKL_Complex8* snu, float* csv,
             MKL_Complex8* snv, float* csq, MKL_Complex8* snq ) NOTHROW;
void clags2_64( const MKL_INT64* upper, const float* a1, const MKL_Complex8* a2,
             const float* a3, const float* b1, const MKL_Complex8* b2,
             const float* b3, float* csu, MKL_Complex8* snu, float* csv,
             MKL_Complex8* snv, float* csq, MKL_Complex8* snq ) NOTHROW;

void CLAGTM_64( const char* trans, const MKL_INT64* n, const MKL_INT64* nrhs,
             const float* alpha, const MKL_Complex8* dl, const MKL_Complex8* d,
             const MKL_Complex8* du, const MKL_Complex8* x, const MKL_INT64* ldx,
             const float* beta, MKL_Complex8* b, const MKL_INT64* ldb ) NOTHROW;
void clagtm_64( const char* trans, const MKL_INT64* n, const MKL_INT64* nrhs,
             const float* alpha, const MKL_Complex8* dl, const MKL_Complex8* d,
             const MKL_Complex8* du, const MKL_Complex8* x, const MKL_INT64* ldx,
             const float* beta, MKL_Complex8* b, const MKL_INT64* ldb ) NOTHROW;

void CLAHEF_64( const char* uplo, const MKL_INT64* n, const MKL_INT64* nb,
             MKL_INT64* kb, MKL_Complex8* a, const MKL_INT64* lda, MKL_INT64* ipiv,
             MKL_Complex8* w, const MKL_INT64* ldw, MKL_INT64* info ) NOTHROW;
void clahef_64( const char* uplo, const MKL_INT64* n, const MKL_INT64* nb,
             MKL_INT64* kb, MKL_Complex8* a, const MKL_INT64* lda, MKL_INT64* ipiv,
             MKL_Complex8* w, const MKL_INT64* ldw, MKL_INT64* info ) NOTHROW;

void CLAHQR_64( const MKL_INT64* wantt, const MKL_INT64* wantz, const MKL_INT64* n,
             const MKL_INT64* ilo, const MKL_INT64* ihi, MKL_Complex8* h,
             const MKL_INT64* ldh, MKL_Complex8* w, const MKL_INT64* iloz,
             const MKL_INT64* ihiz, MKL_Complex8* z, const MKL_INT64* ldz,
             MKL_INT64* info ) NOTHROW;
void clahqr_64( const MKL_INT64* wantt, const MKL_INT64* wantz, const MKL_INT64* n,
             const MKL_INT64* ilo, const MKL_INT64* ihi, MKL_Complex8* h,
             const MKL_INT64* ldh, MKL_Complex8* w, const MKL_INT64* iloz,
             const MKL_INT64* ihiz, MKL_Complex8* z, const MKL_INT64* ldz,
             MKL_INT64* info ) NOTHROW;

void CLAHR2_64( const MKL_INT64* n, const MKL_INT64* k, const MKL_INT64* nb,
             MKL_Complex8* a, const MKL_INT64* lda, MKL_Complex8* tau,
             MKL_Complex8* t, const MKL_INT64* ldt, MKL_Complex8* y,
             const MKL_INT64* ldy ) NOTHROW;
void clahr2_64( const MKL_INT64* n, const MKL_INT64* k, const MKL_INT64* nb,
             MKL_Complex8* a, const MKL_INT64* lda, MKL_Complex8* tau,
             MKL_Complex8* t, const MKL_INT64* ldt, MKL_Complex8* y,
             const MKL_INT64* ldy ) NOTHROW;

void CLAHRD_64( const MKL_INT64* n, const MKL_INT64* k, const MKL_INT64* nb,
             MKL_Complex8* a, const MKL_INT64* lda, MKL_Complex8* tau,
             MKL_Complex8* t, const MKL_INT64* ldt, MKL_Complex8* y,
             const MKL_INT64* ldy ) NOTHROW;
void clahrd_64( const MKL_INT64* n, const MKL_INT64* k, const MKL_INT64* nb,
             MKL_Complex8* a, const MKL_INT64* lda, MKL_Complex8* tau,
             MKL_Complex8* t, const MKL_INT64* ldt, MKL_Complex8* y,
             const MKL_INT64* ldy ) NOTHROW;

void CLAIC1_64( const MKL_INT64* job, const MKL_INT64* j, const MKL_Complex8* x,
             const float* sest, const MKL_Complex8* w,
             const MKL_Complex8* gamma, float* sestpr, MKL_Complex8* s,
             MKL_Complex8* c ) NOTHROW;
void claic1_64( const MKL_INT64* job, const MKL_INT64* j, const MKL_Complex8* x,
             const float* sest, const MKL_Complex8* w,
             const MKL_Complex8* gamma, float* sestpr, MKL_Complex8* s,
             MKL_Complex8* c ) NOTHROW;

void CLALS0_64( const MKL_INT64* icompq, const MKL_INT64* nl, const MKL_INT64* nr,
             const MKL_INT64* sqre, const MKL_INT64* nrhs, MKL_Complex8* b,
             const MKL_INT64* ldb, MKL_Complex8* bx, const MKL_INT64* ldbx,
             const MKL_INT64* perm, const MKL_INT64* givptr, const MKL_INT64* givcol,
             const MKL_INT64* ldgcol, const float* givnum, const MKL_INT64* ldgnum,
             const float* poles, const float* difl, const float* difr,
             const float* z, const MKL_INT64* k, const float* c, const float* s,
             float* rwork, MKL_INT64* info ) NOTHROW;
void clals0_64( const MKL_INT64* icompq, const MKL_INT64* nl, const MKL_INT64* nr,
             const MKL_INT64* sqre, const MKL_INT64* nrhs, MKL_Complex8* b,
             const MKL_INT64* ldb, MKL_Complex8* bx, const MKL_INT64* ldbx,
             const MKL_INT64* perm, const MKL_INT64* givptr, const MKL_INT64* givcol,
             const MKL_INT64* ldgcol, const float* givnum, const MKL_INT64* ldgnum,
             const float* poles, const float* difl, const float* difr,
             const float* z, const MKL_INT64* k, const float* c, const float* s,
             float* rwork, MKL_INT64* info ) NOTHROW;

void CLALSA_64( const MKL_INT64* icompq, const MKL_INT64* smlsiz, const MKL_INT64* n,
             const MKL_INT64* nrhs, MKL_Complex8* b, const MKL_INT64* ldb,
             MKL_Complex8* bx, const MKL_INT64* ldbx, const float* u,
             const MKL_INT64* ldu, const float* vt, const MKL_INT64* k,
             const float* difl, const float* difr, const float* z,
             const float* poles, const MKL_INT64* givptr, const MKL_INT64* givcol,
             const MKL_INT64* ldgcol, const MKL_INT64* perm, const float* givnum,
             const float* c, const float* s, float* rwork, MKL_INT64* iwork,
             MKL_INT64* info ) NOTHROW;
void clalsa_64( const MKL_INT64* icompq, const MKL_INT64* smlsiz, const MKL_INT64* n,
             const MKL_INT64* nrhs, MKL_Complex8* b, const MKL_INT64* ldb,
             MKL_Complex8* bx, const MKL_INT64* ldbx, const float* u,
             const MKL_INT64* ldu, const float* vt, const MKL_INT64* k,
             const float* difl, const float* difr, const float* z,
             const float* poles, const MKL_INT64* givptr, const MKL_INT64* givcol,
             const MKL_INT64* ldgcol, const MKL_INT64* perm, const float* givnum,
             const float* c, const float* s, float* rwork, MKL_INT64* iwork,
             MKL_INT64* info ) NOTHROW;

void CLALSD_64( const char* uplo, const MKL_INT64* smlsiz, const MKL_INT64* n,
             const MKL_INT64* nrhs, float* d, float* e, MKL_Complex8* b,
             const MKL_INT64* ldb, const float* rcond, MKL_INT64* rank,
             MKL_Complex8* work, float* rwork, MKL_INT64* iwork, MKL_INT64* info ) NOTHROW;
void clalsd_64( const char* uplo, const MKL_INT64* smlsiz, const MKL_INT64* n,
             const MKL_INT64* nrhs, float* d, float* e, MKL_Complex8* b,
             const MKL_INT64* ldb, const float* rcond, MKL_INT64* rank,
             MKL_Complex8* work, float* rwork, MKL_INT64* iwork, MKL_INT64* info ) NOTHROW;

float CLANGB_64( const char* norm, const MKL_INT64* n, const MKL_INT64* kl,
              const MKL_INT64* ku, const MKL_Complex8* ab, const MKL_INT64* ldab,
              float* work ) NOTHROW;
float clangb_64( const char* norm, const MKL_INT64* n, const MKL_INT64* kl,
              const MKL_INT64* ku, const MKL_Complex8* ab, const MKL_INT64* ldab,
              float* work ) NOTHROW;

float CLANGE_64( const char* norm, const MKL_INT64* m, const MKL_INT64* n,
              const MKL_Complex8* a, const MKL_INT64* lda, float* work ) NOTHROW;
float clange_64( const char* norm, const MKL_INT64* m, const MKL_INT64* n,
              const MKL_Complex8* a, const MKL_INT64* lda, float* work ) NOTHROW;

float CLANGT_64( const char* norm, const MKL_INT64* n, const MKL_Complex8* dl,
              const MKL_Complex8* d, const MKL_Complex8* du ) NOTHROW;
float clangt_64( const char* norm, const MKL_INT64* n, const MKL_Complex8* dl,
              const MKL_Complex8* d, const MKL_Complex8* du ) NOTHROW;

float CLANHB_64( const char* norm, const char* uplo, const MKL_INT64* n,
              const MKL_INT64* k, const MKL_Complex8* ab, const MKL_INT64* ldab,
              float* work ) NOTHROW;
float clanhb_64( const char* norm, const char* uplo, const MKL_INT64* n,
              const MKL_INT64* k, const MKL_Complex8* ab, const MKL_INT64* ldab,
              float* work ) NOTHROW;

float CLANHE_64( const char* norm, const char* uplo, const MKL_INT64* n,
              const MKL_Complex8* a, const MKL_INT64* lda, float* work ) NOTHROW;
float clanhe_64( const char* norm, const char* uplo, const MKL_INT64* n,
              const MKL_Complex8* a, const MKL_INT64* lda, float* work ) NOTHROW;

float CLANHF_64( const char* norm, const char* transr, const char* uplo,
              const MKL_INT64* n, const MKL_Complex8* a, float* work ) NOTHROW;
float clanhf_64( const char* norm, const char* transr, const char* uplo,
              const MKL_INT64* n, const MKL_Complex8* a, float* work ) NOTHROW;

float CLANHP_64( const char* norm, const char* uplo, const MKL_INT64* n,
              const MKL_Complex8* ap, float* work ) NOTHROW;
float clanhp_64( const char* norm, const char* uplo, const MKL_INT64* n,
              const MKL_Complex8* ap, float* work ) NOTHROW;

float CLANHS_64( const char* norm, const MKL_INT64* n, const MKL_Complex8* a,
              const MKL_INT64* lda, float* work ) NOTHROW;
float clanhs_64( const char* norm, const MKL_INT64* n, const MKL_Complex8* a,
              const MKL_INT64* lda, float* work ) NOTHROW;

float CLANHT_64( const char* norm, const MKL_INT64* n, const float* d,
              const MKL_Complex8* e ) NOTHROW;
float clanht_64( const char* norm, const MKL_INT64* n, const float* d,
              const MKL_Complex8* e ) NOTHROW;

float CLANSB_64( const char* norm, const char* uplo, const MKL_INT64* n,
              const MKL_INT64* k, const MKL_Complex8* ab, const MKL_INT64* ldab,
              float* work ) NOTHROW;
float clansb_64( const char* norm, const char* uplo, const MKL_INT64* n,
              const MKL_INT64* k, const MKL_Complex8* ab, const MKL_INT64* ldab,
              float* work ) NOTHROW;

float CLANSP_64( const char* norm, const char* uplo, const MKL_INT64* n,
              const MKL_Complex8* ap, float* work ) NOTHROW;
float clansp_64( const char* norm, const char* uplo, const MKL_INT64* n,
              const MKL_Complex8* ap, float* work ) NOTHROW;

float CLANSY_64( const char* norm, const char* uplo, const MKL_INT64* n,
              const MKL_Complex8* a, const MKL_INT64* lda, float* work ) NOTHROW;
float clansy_64( const char* norm, const char* uplo, const MKL_INT64* n,
              const MKL_Complex8* a, const MKL_INT64* lda, float* work ) NOTHROW;

float CLANTB_64( const char* norm, const char* uplo, const char* diag,
              const MKL_INT64* n, const MKL_INT64* k, const MKL_Complex8* ab,
              const MKL_INT64* ldab, float* work ) NOTHROW;
float clantb_64( const char* norm, const char* uplo, const char* diag,
              const MKL_INT64* n, const MKL_INT64* k, const MKL_Complex8* ab,
              const MKL_INT64* ldab, float* work ) NOTHROW;

float CLANTP_64( const char* norm, const char* uplo, const char* diag,
              const MKL_INT64* n, const MKL_Complex8* ap, float* work ) NOTHROW;
float clantp_64( const char* norm, const char* uplo, const char* diag,
              const MKL_INT64* n, const MKL_Complex8* ap, float* work ) NOTHROW;

float CLANTR_64( const char* norm, const char* uplo, const char* diag,
              const MKL_INT64* m, const MKL_INT64* n, const MKL_Complex8* a,
              const MKL_INT64* lda, float* work ) NOTHROW;
float clantr_64( const char* norm, const char* uplo, const char* diag,
              const MKL_INT64* m, const MKL_INT64* n, const MKL_Complex8* a,
              const MKL_INT64* lda, float* work ) NOTHROW;

void CLAPLL_64( const MKL_INT64* n, MKL_Complex8* x, const MKL_INT64* incx,
             MKL_Complex8* y, const MKL_INT64* incy, float* ssmin ) NOTHROW;
void clapll_64( const MKL_INT64* n, MKL_Complex8* x, const MKL_INT64* incx,
             MKL_Complex8* y, const MKL_INT64* incy, float* ssmin ) NOTHROW;

void CLAPMT_64( const MKL_INT64* forwrd, const MKL_INT64* m, const MKL_INT64* n,
             MKL_Complex8* x, const MKL_INT64* ldx, MKL_INT64* k ) NOTHROW;
void clapmt_64( const MKL_INT64* forwrd, const MKL_INT64* m, const MKL_INT64* n,
             MKL_Complex8* x, const MKL_INT64* ldx, MKL_INT64* k ) NOTHROW;

void CLAQGB_64( const MKL_INT64* m, const MKL_INT64* n, const MKL_INT64* kl,
             const MKL_INT64* ku, MKL_Complex8* ab, const MKL_INT64* ldab,
             const float* r, const float* c, const float* rowcnd,
             const float* colcnd, const float* amax, char* equed ) NOTHROW;
void claqgb_64( const MKL_INT64* m, const MKL_INT64* n, const MKL_INT64* kl,
             const MKL_INT64* ku, MKL_Complex8* ab, const MKL_INT64* ldab,
             const float* r, const float* c, const float* rowcnd,
             const float* colcnd, const float* amax, char* equed ) NOTHROW;

void CLAQGE_64( const MKL_INT64* m, const MKL_INT64* n, MKL_Complex8* a,
             const MKL_INT64* lda, const float* r, const float* c,
             const float* rowcnd, const float* colcnd, const float* amax,
             char* equed ) NOTHROW;
void claqge_64( const MKL_INT64* m, const MKL_INT64* n, MKL_Complex8* a,
             const MKL_INT64* lda, const float* r, const float* c,
             const float* rowcnd, const float* colcnd, const float* amax,
             char* equed ) NOTHROW;

void CLAQHB_64( const char* uplo, const MKL_INT64* n, const MKL_INT64* kd,
             MKL_Complex8* ab, const MKL_INT64* ldab, float* s,
             const float* scond, const float* amax, char* equed ) NOTHROW;
void claqhb_64( const char* uplo, const MKL_INT64* n, const MKL_INT64* kd,
             MKL_Complex8* ab, const MKL_INT64* ldab, float* s,
             const float* scond, const float* amax, char* equed ) NOTHROW;

void CLAQHE_64( const char* uplo, const MKL_INT64* n, MKL_Complex8* a,
             const MKL_INT64* lda, const float* s, const float* scond,
             const float* amax, char* equed ) NOTHROW;
void claqhe_64( const char* uplo, const MKL_INT64* n, MKL_Complex8* a,
             const MKL_INT64* lda, const float* s, const float* scond,
             const float* amax, char* equed ) NOTHROW;

void CLAQHP_64( const char* uplo, const MKL_INT64* n, MKL_Complex8* ap,
             const float* s, const float* scond, const float* amax,
             char* equed ) NOTHROW;
void claqhp_64( const char* uplo, const MKL_INT64* n, MKL_Complex8* ap,
             const float* s, const float* scond, const float* amax,
             char* equed ) NOTHROW;

void CLAQP2_64( const MKL_INT64* m, const MKL_INT64* n, const MKL_INT64* offset,
             MKL_Complex8* a, const MKL_INT64* lda, MKL_INT64* jpvt,
             MKL_Complex8* tau, float* vn1, float* vn2, MKL_Complex8* work ) NOTHROW;
void claqp2_64( const MKL_INT64* m, const MKL_INT64* n, const MKL_INT64* offset,
             MKL_Complex8* a, const MKL_INT64* lda, MKL_INT64* jpvt,
             MKL_Complex8* tau, float* vn1, float* vn2, MKL_Complex8* work ) NOTHROW;

void CLAQPS_64( const MKL_INT64* m, const MKL_INT64* n, const MKL_INT64* offset,
             const MKL_INT64* nb, MKL_INT64* kb, MKL_Complex8* a,
             const MKL_INT64* lda, MKL_INT64* jpvt, MKL_Complex8* tau, float* vn1,
             float* vn2, MKL_Complex8* auxv, MKL_Complex8* f,
             const MKL_INT64* ldf ) NOTHROW;
void claqps_64( const MKL_INT64* m, const MKL_INT64* n, const MKL_INT64* offset,
             const MKL_INT64* nb, MKL_INT64* kb, MKL_Complex8* a,
             const MKL_INT64* lda, MKL_INT64* jpvt, MKL_Complex8* tau, float* vn1,
             float* vn2, MKL_Complex8* auxv, MKL_Complex8* f,
             const MKL_INT64* ldf ) NOTHROW;

void CLAQR0_64( const MKL_INT64* wantt, const MKL_INT64* wantz, const MKL_INT64* n,
             const MKL_INT64* ilo, const MKL_INT64* ihi, MKL_Complex8* h,
             const MKL_INT64* ldh, MKL_Complex8* w, MKL_INT64* iloz, MKL_INT64* ihiz,
             MKL_Complex8* z, const MKL_INT64* ldz, MKL_Complex8* work,
             const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;
void claqr0_64( const MKL_INT64* wantt, const MKL_INT64* wantz, const MKL_INT64* n,
             const MKL_INT64* ilo, const MKL_INT64* ihi, MKL_Complex8* h,
             const MKL_INT64* ldh, MKL_Complex8* w, MKL_INT64* iloz, MKL_INT64* ihiz,
             MKL_Complex8* z, const MKL_INT64* ldz, MKL_Complex8* work,
             const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;

void CLAQR1_64( const MKL_INT64* n, const MKL_Complex8* h, const MKL_INT64* ldh,
             const MKL_Complex8* s1, MKL_Complex8* s2, MKL_Complex8* v ) NOTHROW;
void claqr1_64( const MKL_INT64* n, const MKL_Complex8* h, const MKL_INT64* ldh,
             const MKL_Complex8* s1, MKL_Complex8* s2, MKL_Complex8* v ) NOTHROW;

void CLAQR2_64( const MKL_INT64* wantt, const MKL_INT64* wantz, const MKL_INT64* n,
             const MKL_INT64* ktop, const MKL_INT64* kbot, const MKL_INT64* nw,
             MKL_Complex8* h, const MKL_INT64* ldh, const MKL_INT64* iloz,
             const MKL_INT64* ihiz, MKL_Complex8* z, const MKL_INT64* ldz,
             MKL_INT64* ns, MKL_INT64* nd, MKL_Complex8* sh, MKL_Complex8* v,
             const MKL_INT64* ldv, const MKL_INT64* nh, MKL_Complex8* t,
             const MKL_INT64* ldt, const MKL_INT64* nv, MKL_Complex8* wv,
             const MKL_INT64* ldwv, MKL_Complex8* work, const MKL_INT64* lwork ) NOTHROW;
void claqr2_64( const MKL_INT64* wantt, const MKL_INT64* wantz, const MKL_INT64* n,
             const MKL_INT64* ktop, const MKL_INT64* kbot, const MKL_INT64* nw,
             MKL_Complex8* h, const MKL_INT64* ldh, const MKL_INT64* iloz,
             const MKL_INT64* ihiz, MKL_Complex8* z, const MKL_INT64* ldz,
             MKL_INT64* ns, MKL_INT64* nd, MKL_Complex8* sh, MKL_Complex8* v,
             const MKL_INT64* ldv, const MKL_INT64* nh, MKL_Complex8* t,
             const MKL_INT64* ldt, const MKL_INT64* nv, MKL_Complex8* wv,
             const MKL_INT64* ldwv, MKL_Complex8* work, const MKL_INT64* lwork ) NOTHROW;

void CLAQR3_64( const MKL_INT64* wantt, const MKL_INT64* wantz, const MKL_INT64* n,
             const MKL_INT64* ktop, const MKL_INT64* kbot, const MKL_INT64* nw,
             MKL_Complex8* h, const MKL_INT64* ldh, const MKL_INT64* iloz,
             const MKL_INT64* ihiz, MKL_Complex8* z, const MKL_INT64* ldz,
             MKL_INT64* ns, MKL_INT64* nd, MKL_Complex8* sh, MKL_Complex8* v,
             const MKL_INT64* ldv, const MKL_INT64* nh, MKL_Complex8* t,
             const MKL_INT64* ldt, const MKL_INT64* nv, MKL_Complex8* wv,
             const MKL_INT64* ldwv, MKL_Complex8* work, const MKL_INT64* lwork ) NOTHROW;
void claqr3_64( const MKL_INT64* wantt, const MKL_INT64* wantz, const MKL_INT64* n,
             const MKL_INT64* ktop, const MKL_INT64* kbot, const MKL_INT64* nw,
             MKL_Complex8* h, const MKL_INT64* ldh, const MKL_INT64* iloz,
             const MKL_INT64* ihiz, MKL_Complex8* z, const MKL_INT64* ldz,
             MKL_INT64* ns, MKL_INT64* nd, MKL_Complex8* sh, MKL_Complex8* v,
             const MKL_INT64* ldv, const MKL_INT64* nh, MKL_Complex8* t,
             const MKL_INT64* ldt, const MKL_INT64* nv, MKL_Complex8* wv,
             const MKL_INT64* ldwv, MKL_Complex8* work, const MKL_INT64* lwork ) NOTHROW;

void CLAQR4_64( const MKL_INT64* wantt, const MKL_INT64* wantz, const MKL_INT64* n,
             const MKL_INT64* ilo, const MKL_INT64* ihi, MKL_Complex8* h,
             const MKL_INT64* ldh, MKL_Complex8* w, MKL_INT64* iloz, MKL_INT64* ihiz,
             MKL_Complex8* z, const MKL_INT64* ldz, MKL_Complex8* work,
             const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;
void claqr4_64( const MKL_INT64* wantt, const MKL_INT64* wantz, const MKL_INT64* n,
             const MKL_INT64* ilo, const MKL_INT64* ihi, MKL_Complex8* h,
             const MKL_INT64* ldh, MKL_Complex8* w, MKL_INT64* iloz, MKL_INT64* ihiz,
             MKL_Complex8* z, const MKL_INT64* ldz, MKL_Complex8* work,
             const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;

void CLAQR5_64( const MKL_INT64* wantt, const MKL_INT64* wantz, const MKL_INT64* kacc22,
             const MKL_INT64* n, const MKL_INT64* ktop, const MKL_INT64* kbot,
             const MKL_INT64* nshfts, MKL_Complex8* s, MKL_Complex8* h,
             const MKL_INT64* ldh, const MKL_INT64* iloz, const MKL_INT64* ihiz,
             MKL_Complex8* z, const MKL_INT64* ldz, MKL_Complex8* v,
             const MKL_INT64* ldv, MKL_Complex8* u, const MKL_INT64* ldu,
             const MKL_INT64* nv, MKL_Complex8* wv, const MKL_INT64* ldwv,
             const MKL_INT64* nh, MKL_Complex8* wh, const MKL_INT64* ldwh ) NOTHROW;
void claqr5_64( const MKL_INT64* wantt, const MKL_INT64* wantz, const MKL_INT64* kacc22,
             const MKL_INT64* n, const MKL_INT64* ktop, const MKL_INT64* kbot,
             const MKL_INT64* nshfts, MKL_Complex8* s, MKL_Complex8* h,
             const MKL_INT64* ldh, const MKL_INT64* iloz, const MKL_INT64* ihiz,
             MKL_Complex8* z, const MKL_INT64* ldz, MKL_Complex8* v,
             const MKL_INT64* ldv, MKL_Complex8* u, const MKL_INT64* ldu,
             const MKL_INT64* nv, MKL_Complex8* wv, const MKL_INT64* ldwv,
             const MKL_INT64* nh, MKL_Complex8* wh, const MKL_INT64* ldwh ) NOTHROW;

void CLAQSB_64( const char* uplo, const MKL_INT64* n, const MKL_INT64* kd,
             MKL_Complex8* ab, const MKL_INT64* ldab, const float* s,
             const float* scond, const float* amax, char* equed ) NOTHROW;
void claqsb_64( const char* uplo, const MKL_INT64* n, const MKL_INT64* kd,
             MKL_Complex8* ab, const MKL_INT64* ldab, const float* s,
             const float* scond, const float* amax, char* equed ) NOTHROW;

void CLAQSP_64( const char* uplo, const MKL_INT64* n, MKL_Complex8* ap,
             const float* s, const float* scond, const float* amax,
             char* equed ) NOTHROW;
void claqsp_64( const char* uplo, const MKL_INT64* n, MKL_Complex8* ap,
             const float* s, const float* scond, const float* amax,
             char* equed ) NOTHROW;

void CLAQSY_64( const char* uplo, const MKL_INT64* n, MKL_Complex8* a,
             const MKL_INT64* lda, const float* s, const float* scond,
             const float* amax, char* equed ) NOTHROW;
void claqsy_64( const char* uplo, const MKL_INT64* n, MKL_Complex8* a,
             const MKL_INT64* lda, const float* s, const float* scond,
             const float* amax, char* equed ) NOTHROW;

void CLAQZ0_64( const char* wants, const char* wantq, const char* wantz, const MKL_INT64* n,
             const MKL_INT64* ilo, const MKL_INT64* ihi, MKL_Complex8* a, const MKL_INT64* lda,
             MKL_Complex8* b, const MKL_INT64* ldb, MKL_Complex8* alpha, MKL_Complex8* beta,
             MKL_Complex8* q, const MKL_INT64* ldq, MKL_Complex8* z, const MKL_INT64* ldz,
             MKL_Complex8* work, const MKL_INT64* lwork, float* rwork, const MKL_INT64* rec,
             MKL_INT64* info) NOTHROW;
void claqz0_64( const char* wants, const char* wantq, const char* wantz, const MKL_INT64* n,
             const MKL_INT64* ilo, const MKL_INT64* ihi, MKL_Complex8* a, const MKL_INT64* lda,
             MKL_Complex8* b, const MKL_INT64* ldb, MKL_Complex8* alpha, MKL_Complex8* beta,
             MKL_Complex8* q, const MKL_INT64* ldq, MKL_Complex8* z, const MKL_INT64* ldz,
             MKL_Complex8* work, const MKL_INT64* lwork, float* rwork, const MKL_INT64* rec,
             MKL_INT64* info) NOTHROW;

void CLAQZ1_64( const MKL_INT64* ilq, const MKL_INT64* ilz, const MKL_INT64* k, const MKL_INT64* istartm,
             const MKL_INT64* istopm, const MKL_INT64* ihi, MKL_Complex8* a, const MKL_INT64* lda,
             MKL_Complex8* b, const MKL_INT64* ldb,  const MKL_INT64* nq,  const MKL_INT64* qstart,
             MKL_Complex8* q, const MKL_INT64* ldq, const MKL_INT64* nz,  const MKL_INT64* zstart,
             MKL_Complex8* z, const MKL_INT64* ldz) NOTHROW;
void claqz1_64( const MKL_INT64* ilq, const MKL_INT64* ilz, const MKL_INT64* k, const MKL_INT64* istartm,
             const MKL_INT64* istopm, const MKL_INT64* ihi, MKL_Complex8* a, const MKL_INT64* lda,
             MKL_Complex8* b, const MKL_INT64* ldb,  const MKL_INT64* nq,  const MKL_INT64* qstart,
             MKL_Complex8* q, const MKL_INT64* ldq, const MKL_INT64* nz,  const MKL_INT64* zstart,
             MKL_Complex8* z, const MKL_INT64* ldz) NOTHROW;

void CLAQZ2_64( const MKL_INT64* ilschur, const MKL_INT64* ilq, const MKL_INT64* ilz, const MKL_INT64* n,
             const MKL_INT64* ilo, const MKL_INT64* ihi, const MKL_INT64* nw,
             MKL_Complex8* a, const MKL_INT64* lda, MKL_Complex8* b, const MKL_INT64* ldb,
             MKL_Complex8* q, const MKL_INT64* ldq, MKL_Complex8* z, const MKL_INT64* ldz,
             MKL_INT64* ns, MKL_INT64* nd, MKL_Complex8* alpha, MKL_Complex8* beta,
             MKL_Complex8* qc, const MKL_INT64* ldqc, MKL_Complex8* zc, const MKL_INT64* ldzc,
             MKL_Complex8* work, const MKL_INT64* lwork, double* rwork, const MKL_INT64* rec,
             MKL_INT64* info) NOTHROW;
void claqz2_64( const MKL_INT64* ilschur, const MKL_INT64* ilq, const MKL_INT64* ilz, const MKL_INT64* n,
             const MKL_INT64* ilo, const MKL_INT64* ihi, const MKL_INT64* nw,
             MKL_Complex8* a, const MKL_INT64* lda, MKL_Complex8* b, const MKL_INT64* ldb,
             MKL_Complex8* q, const MKL_INT64* ldq, MKL_Complex8* z, const MKL_INT64* ldz,
             MKL_INT64* ns, MKL_INT64* nd, MKL_Complex8* alpha, MKL_Complex8* beta,
             MKL_Complex8* qc, const MKL_INT64* ldqc, MKL_Complex8* zc, const MKL_INT64* ldzc,
             MKL_Complex8* work, const MKL_INT64* lwork, double* rwork, const MKL_INT64* rec,
             MKL_INT64* info) NOTHROW;

void CLAQZ3_64( const MKL_INT64* ilschur, const MKL_INT64* ilq, const MKL_INT64* ilz, const MKL_INT64* n,
             const MKL_INT64* ilo, const MKL_INT64* ihi, const MKL_INT64* nshifts, const MKL_INT64* nb,
             MKL_Complex8* alpha, MKL_Complex8* beta, MKL_Complex8* a, const MKL_INT64* lda,
             MKL_Complex8* b, const MKL_INT64* ldb, MKL_Complex8* q, const MKL_INT64* ldq,
             MKL_Complex8* z, const MKL_INT64* ldz, MKL_Complex8* qc, const MKL_INT64* ldqc,
             MKL_Complex8* zc, const MKL_INT64* ldzc, MKL_Complex8* work, const MKL_INT64* lwork,
             MKL_INT64* info) NOTHROW;
void claqz3_64( const MKL_INT64* ilschur, const MKL_INT64* ilq, const MKL_INT64* ilz, const MKL_INT64* n,
             const MKL_INT64* ilo, const MKL_INT64* ihi, const MKL_INT64* nshifts, const MKL_INT64* nb,
             MKL_Complex8* alpha, MKL_Complex8* beta, MKL_Complex8* a, const MKL_INT64* lda,
             MKL_Complex8* b, const MKL_INT64* ldb, MKL_Complex8* q, const MKL_INT64* ldq,
             MKL_Complex8* z, const MKL_INT64* ldz, MKL_Complex8* qc, const MKL_INT64* ldqc,
             MKL_Complex8* zc, const MKL_INT64* ldzc, MKL_Complex8* work, const MKL_INT64* lwork,
             MKL_INT64* info) NOTHROW;

void CLAR1V_64( const MKL_INT64* n, const MKL_INT64* b1, const MKL_INT64* bn,
             const float* lambda, const float* d, const float* l,
             const float* ld, const float* lld, const float* pivmin,
             const float* gaptol, MKL_Complex8* z, const MKL_INT64* wantnc,
             MKL_INT64* negcnt, float* ztz, float* mingma, MKL_INT64* r,
             MKL_INT64* isuppz, float* nrminv, float* resid, float* rqcorr,
             float* work ) NOTHROW;
void clar1v_64( const MKL_INT64* n, const MKL_INT64* b1, const MKL_INT64* bn,
             const float* lambda, const float* d, const float* l,
             const float* ld, const float* lld, const float* pivmin,
             const float* gaptol, MKL_Complex8* z, const MKL_INT64* wantnc,
             MKL_INT64* negcnt, float* ztz, float* mingma, MKL_INT64* r,
             MKL_INT64* isuppz, float* nrminv, float* resid, float* rqcorr,
             float* work ) NOTHROW;

void CLAR2V_64( const MKL_INT64* n, MKL_Complex8* x, MKL_Complex8* y,
             MKL_Complex8* z, const MKL_INT64* incx, const float* c,
             const MKL_Complex8* s, const MKL_INT64* incc ) NOTHROW;
void clar2v_64( const MKL_INT64* n, MKL_Complex8* x, MKL_Complex8* y,
             MKL_Complex8* z, const MKL_INT64* incx, const float* c,
             const MKL_Complex8* s, const MKL_INT64* incc ) NOTHROW;

void CLARCM_64( const MKL_INT64* m, const MKL_INT64* n, const float* a,
             const MKL_INT64* lda, const MKL_Complex8* b, const MKL_INT64* ldb,
             MKL_Complex8* c, const MKL_INT64* ldc, float* rwork ) NOTHROW;
void clarcm_64( const MKL_INT64* m, const MKL_INT64* n, const float* a,
             const MKL_INT64* lda, const MKL_Complex8* b, const MKL_INT64* ldb,
             MKL_Complex8* c, const MKL_INT64* ldc, float* rwork ) NOTHROW;

void CLARFB_64( const char* side, const char* trans, const char* direct,
             const char* storev, const MKL_INT64* m, const MKL_INT64* n,
             const MKL_INT64* k, const MKL_Complex8* v, const MKL_INT64* ldv,
             const MKL_Complex8* t, const MKL_INT64* ldt, MKL_Complex8* c,
             const MKL_INT64* ldc, MKL_Complex8* work, const MKL_INT64* ldwork ) NOTHROW;
void clarfb_64( const char* side, const char* trans, const char* direct,
             const char* storev, const MKL_INT64* m, const MKL_INT64* n,
             const MKL_INT64* k, const MKL_Complex8* v, const MKL_INT64* ldv,
             const MKL_Complex8* t, const MKL_INT64* ldt, MKL_Complex8* c,
             const MKL_INT64* ldc, MKL_Complex8* work, const MKL_INT64* ldwork ) NOTHROW;

void CLARF_64( const char* side, const MKL_INT64* m, const MKL_INT64* n,
            const MKL_Complex8* v, const MKL_INT64* incv,
            const MKL_Complex8* tau, MKL_Complex8* c, const MKL_INT64* ldc,
            MKL_Complex8* work ) NOTHROW;
void clarf_64( const char* side, const MKL_INT64* m, const MKL_INT64* n,
            const MKL_Complex8* v, const MKL_INT64* incv,
            const MKL_Complex8* tau, MKL_Complex8* c, const MKL_INT64* ldc,
            MKL_Complex8* work ) NOTHROW;

void CLARFG_64( const MKL_INT64* n, MKL_Complex8* alpha, MKL_Complex8* x,
             const MKL_INT64* incx, MKL_Complex8* tau ) NOTHROW;
void clarfg_64( const MKL_INT64* n, MKL_Complex8* alpha, MKL_Complex8* x,
             const MKL_INT64* incx, MKL_Complex8* tau ) NOTHROW;

void CLARFGP_64( const MKL_INT64* n, MKL_Complex8* alpha, MKL_Complex8* x,
              const MKL_INT64* incx, MKL_Complex8* tau ) NOTHROW;
void clarfgp_64( const MKL_INT64* n, MKL_Complex8* alpha, MKL_Complex8* x,
              const MKL_INT64* incx, MKL_Complex8* tau ) NOTHROW;

void CLARFP_64( const MKL_INT64* n, MKL_Complex8* alpha, MKL_Complex8* x,
             const MKL_INT64* incx, MKL_Complex8* tau ) NOTHROW;
void clarfp_64( const MKL_INT64* n, MKL_Complex8* alpha, MKL_Complex8* x,
             const MKL_INT64* incx, MKL_Complex8* tau ) NOTHROW;

void CLARFT_64( const char* direct, const char* storev, const MKL_INT64* n,
             const MKL_INT64* k, const MKL_Complex8* v, const MKL_INT64* ldv,
             const MKL_Complex8* tau, MKL_Complex8* t, const MKL_INT64* ldt ) NOTHROW;
void clarft_64( const char* direct, const char* storev, const MKL_INT64* n,
             const MKL_INT64* k, const MKL_Complex8* v, const MKL_INT64* ldv,
             const MKL_Complex8* tau, MKL_Complex8* t, const MKL_INT64* ldt ) NOTHROW;

void CLARFX_64( const char* side, const MKL_INT64* m, const MKL_INT64* n,
             const MKL_Complex8* v, const MKL_Complex8* tau, MKL_Complex8* c,
             const MKL_INT64* ldc, MKL_Complex8* work ) NOTHROW;
void clarfx_64( const char* side, const MKL_INT64* m, const MKL_INT64* n,
             const MKL_Complex8* v, const MKL_Complex8* tau, MKL_Complex8* c,
             const MKL_INT64* ldc, MKL_Complex8* work ) NOTHROW;

void CLARGV_64( const MKL_INT64* n, MKL_Complex8* x, const MKL_INT64* incx,
             MKL_Complex8* y, const MKL_INT64* incy, float* c,
             const MKL_INT64* incc ) NOTHROW;
void clargv_64( const MKL_INT64* n, MKL_Complex8* x, const MKL_INT64* incx,
             MKL_Complex8* y, const MKL_INT64* incy, float* c,
             const MKL_INT64* incc ) NOTHROW;

void CLARNV_64( const MKL_INT64* idist, MKL_INT64* iseed, const MKL_INT64* n,
             MKL_Complex8* x ) NOTHROW;
void clarnv_64( const MKL_INT64* idist, MKL_INT64* iseed, const MKL_INT64* n,
             MKL_Complex8* x ) NOTHROW;

void CLARRV_64( const MKL_INT64* n, const float* vl, const float* vu, float* d,
             float* l, float* pivmin, const MKL_INT64* isplit, const MKL_INT64* m,
             const MKL_INT64* dol, const MKL_INT64* dou, const float* minrgp,
             const float* rtol1, const float* rtol2, float* w, float* werr,
             float* wgap, const MKL_INT64* iblock, const MKL_INT64* indexw,
             const float* gers, MKL_Complex8* z, const MKL_INT64* ldz,
             MKL_INT64* isuppz, float* work, MKL_INT64* iwork, MKL_INT64* info ) NOTHROW;
void clarrv_64( const MKL_INT64* n, const float* vl, const float* vu, float* d,
             float* l, float* pivmin, const MKL_INT64* isplit, const MKL_INT64* m,
             const MKL_INT64* dol, const MKL_INT64* dou, const float* minrgp,
             const float* rtol1, const float* rtol2, float* w, float* werr,
             float* wgap, const MKL_INT64* iblock, const MKL_INT64* indexw,
             const float* gers, MKL_Complex8* z, const MKL_INT64* ldz,
             MKL_INT64* isuppz, float* work, MKL_INT64* iwork, MKL_INT64* info ) NOTHROW;

void CLARSCL2_64( const MKL_INT64* m, const MKL_INT64* n, const float* d, MKL_Complex8* x,
               const MKL_INT64* ldx ) NOTHROW;
void clarscl2_64( const MKL_INT64* m, const MKL_INT64* n, const float* d, MKL_Complex8* x,
               const MKL_INT64* ldx ) NOTHROW;

void CLARTV_64( const MKL_INT64* n, MKL_Complex8* x, const MKL_INT64* incx,
             MKL_Complex8* y, const MKL_INT64* incy, const float* c,
             const MKL_Complex8* s, const MKL_INT64* incc ) NOTHROW;
void clartv_64( const MKL_INT64* n, MKL_Complex8* x, const MKL_INT64* incx,
             MKL_Complex8* y, const MKL_INT64* incy, const float* c,
             const MKL_Complex8* s, const MKL_INT64* incc ) NOTHROW;

void CLARZB_64( const char* side, const char* trans, const char* direct,
             const char* storev, const MKL_INT64* m, const MKL_INT64* n,
             const MKL_INT64* k, const MKL_INT64* l, const MKL_Complex8* v,
             const MKL_INT64* ldv, const MKL_Complex8* t, const MKL_INT64* ldt,
             MKL_Complex8* c, const MKL_INT64* ldc, MKL_Complex8* work,
             const MKL_INT64* ldwork ) NOTHROW;
void clarzb_64( const char* side, const char* trans, const char* direct,
             const char* storev, const MKL_INT64* m, const MKL_INT64* n,
             const MKL_INT64* k, const MKL_INT64* l, const MKL_Complex8* v,
             const MKL_INT64* ldv, const MKL_Complex8* t, const MKL_INT64* ldt,
             MKL_Complex8* c, const MKL_INT64* ldc, MKL_Complex8* work,
             const MKL_INT64* ldwork ) NOTHROW;

void CLARZ_64( const char* side, const MKL_INT64* m, const MKL_INT64* n,
            const MKL_INT64* l, const MKL_Complex8* v, const MKL_INT64* incv,
            const MKL_Complex8* tau, MKL_Complex8* c, const MKL_INT64* ldc,
            MKL_Complex8* work ) NOTHROW;
void clarz_64( const char* side, const MKL_INT64* m, const MKL_INT64* n,
            const MKL_INT64* l, const MKL_Complex8* v, const MKL_INT64* incv,
            const MKL_Complex8* tau, MKL_Complex8* c, const MKL_INT64* ldc,
            MKL_Complex8* work ) NOTHROW;

void CLARZT_64( const char* direct, const char* storev, const MKL_INT64* n,
             const MKL_INT64* k, MKL_Complex8* v, const MKL_INT64* ldv,
             const MKL_Complex8* tau, MKL_Complex8* t, const MKL_INT64* ldt ) NOTHROW;
void clarzt_64( const char* direct, const char* storev, const MKL_INT64* n,
             const MKL_INT64* k, MKL_Complex8* v, const MKL_INT64* ldv,
             const MKL_Complex8* tau, MKL_Complex8* t, const MKL_INT64* ldt ) NOTHROW;

void CLASCL_64( const char* type, const MKL_INT64* kl, const MKL_INT64* ku,
             const float* cfrom, const float* cto, const MKL_INT64* m,
             const MKL_INT64* n, MKL_Complex8* a, const MKL_INT64* lda,
             MKL_INT64* info ) NOTHROW;
void clascl_64( const char* type, const MKL_INT64* kl, const MKL_INT64* ku,
             const float* cfrom, const float* cto, const MKL_INT64* m,
             const MKL_INT64* n, MKL_Complex8* a, const MKL_INT64* lda,
             MKL_INT64* info ) NOTHROW;

void CLASCL2_64( const MKL_INT64* m, const MKL_INT64* n, const float* d, MKL_Complex8* x,
              const MKL_INT64* ldx ) NOTHROW;
void clascl2_64( const MKL_INT64* m, const MKL_INT64* n, const float* d, MKL_Complex8* x,
              const MKL_INT64* ldx ) NOTHROW;

void CLASET_64( const char* uplo, const MKL_INT64* m, const MKL_INT64* n,
             const MKL_Complex8* alpha, const MKL_Complex8* beta,
             MKL_Complex8* a, const MKL_INT64* lda ) NOTHROW;
void claset_64( const char* uplo, const MKL_INT64* m, const MKL_INT64* n,
             const MKL_Complex8* alpha, const MKL_Complex8* beta,
             MKL_Complex8* a, const MKL_INT64* lda ) NOTHROW;

void CLASR_64( const char* side, const char* pivot, const char* direct,
            const MKL_INT64* m, const MKL_INT64* n, const float* c, const float* s,
            MKL_Complex8* a, const MKL_INT64* lda ) NOTHROW;
void clasr_64( const char* side, const char* pivot, const char* direct,
            const MKL_INT64* m, const MKL_INT64* n, const float* c, const float* s,
            MKL_Complex8* a, const MKL_INT64* lda ) NOTHROW;

void CLASSQ_64( const MKL_INT64* n, const MKL_Complex8* x, const MKL_INT64* incx,
             float* scale, float* sumsq ) NOTHROW;
void classq_64( const MKL_INT64* n, const MKL_Complex8* x, const MKL_INT64* incx,
             float* scale, float* sumsq ) NOTHROW;

void CLASWP_64( const MKL_INT64* n, MKL_Complex8* a, const MKL_INT64* lda,
             const MKL_INT64* k1, const MKL_INT64* k2, const MKL_INT64* ipiv,
             const MKL_INT64* incx ) NOTHROW;
void claswp_64( const MKL_INT64* n, MKL_Complex8* a, const MKL_INT64* lda,
             const MKL_INT64* k1, const MKL_INT64* k2, const MKL_INT64* ipiv,
             const MKL_INT64* incx ) NOTHROW;

void CLASYF_64( const char* uplo, const MKL_INT64* n, const MKL_INT64* nb,
             MKL_INT64* kb, MKL_Complex8* a, const MKL_INT64* lda, MKL_INT64* ipiv,
             MKL_Complex8* w, const MKL_INT64* ldw, MKL_INT64* info ) NOTHROW;
void clasyf_64( const char* uplo, const MKL_INT64* n, const MKL_INT64* nb,
             MKL_INT64* kb, MKL_Complex8* a, const MKL_INT64* lda, MKL_INT64* ipiv,
             MKL_Complex8* w, const MKL_INT64* ldw, MKL_INT64* info ) NOTHROW;

void CLATBS_64( const char* uplo, const char* trans, const char* diag,
             const char* normin, const MKL_INT64* n, const MKL_INT64* kd,
             const MKL_Complex8* ab, const MKL_INT64* ldab, MKL_Complex8* x,
             float* scale, float* cnorm, MKL_INT64* info ) NOTHROW;
void clatbs_64( const char* uplo, const char* trans, const char* diag,
             const char* normin, const MKL_INT64* n, const MKL_INT64* kd,
             const MKL_Complex8* ab, const MKL_INT64* ldab, MKL_Complex8* x,
             float* scale, float* cnorm, MKL_INT64* info ) NOTHROW;

void CLATDF_64( const MKL_INT64* ijob, const MKL_INT64* n, const MKL_Complex8* z,
             const MKL_INT64* ldz, MKL_Complex8* rhs, float* rdsum,
             float* rdscal, const MKL_INT64* ipiv, const MKL_INT64* jpiv ) NOTHROW;
void clatdf_64( const MKL_INT64* ijob, const MKL_INT64* n, const MKL_Complex8* z,
             const MKL_INT64* ldz, MKL_Complex8* rhs, float* rdsum,
             float* rdscal, const MKL_INT64* ipiv, const MKL_INT64* jpiv ) NOTHROW;

void CLATPS_64( const char* uplo, const char* trans, const char* diag,
             const char* normin, const MKL_INT64* n, const MKL_Complex8* ap,
             MKL_Complex8* x, float* scale, float* cnorm, MKL_INT64* info ) NOTHROW;
void clatps_64( const char* uplo, const char* trans, const char* diag,
             const char* normin, const MKL_INT64* n, const MKL_Complex8* ap,
             MKL_Complex8* x, float* scale, float* cnorm, MKL_INT64* info ) NOTHROW;

void CLATRD_64( const char* uplo, const MKL_INT64* n, const MKL_INT64* nb,
             MKL_Complex8* a, const MKL_INT64* lda, float* e, MKL_Complex8* tau,
             MKL_Complex8* w, const MKL_INT64* ldw ) NOTHROW;
void clatrd_64( const char* uplo, const MKL_INT64* n, const MKL_INT64* nb,
             MKL_Complex8* a, const MKL_INT64* lda, float* e, MKL_Complex8* tau,
             MKL_Complex8* w, const MKL_INT64* ldw ) NOTHROW;

void CLATRS_64( const char* uplo, const char* trans, const char* diag,
             const char* normin, const MKL_INT64* n, const MKL_Complex8* a,
             const MKL_INT64* lda, MKL_Complex8* x, float* scale, float* cnorm,
             MKL_INT64* info ) NOTHROW;
void clatrs_64( const char* uplo, const char* trans, const char* diag,
             const char* normin, const MKL_INT64* n, const MKL_Complex8* a,
             const MKL_INT64* lda, MKL_Complex8* x, float* scale, float* cnorm,
             MKL_INT64* info ) NOTHROW;

void CLATRZ_64( const MKL_INT64* m, const MKL_INT64* n, const MKL_INT64* l,
             MKL_Complex8* a, const MKL_INT64* lda, MKL_Complex8* tau,
             MKL_Complex8* work ) NOTHROW;
void clatrz_64( const MKL_INT64* m, const MKL_INT64* n, const MKL_INT64* l,
             MKL_Complex8* a, const MKL_INT64* lda, MKL_Complex8* tau,
             MKL_Complex8* work ) NOTHROW;

void CLATZM_64( const char* side, const MKL_INT64* m, const MKL_INT64* n,
             const MKL_Complex8* v, const MKL_INT64* incv,
             const MKL_Complex8* tau, MKL_Complex8* c1, MKL_Complex8* c2,
             const MKL_INT64* ldc, MKL_Complex8* work ) NOTHROW;
void clatzm_64( const char* side, const MKL_INT64* m, const MKL_INT64* n,
             const MKL_Complex8* v, const MKL_INT64* incv,
             const MKL_Complex8* tau, MKL_Complex8* c1, MKL_Complex8* c2,
             const MKL_INT64* ldc, MKL_Complex8* work ) NOTHROW;

void CLAUU2_64( const char* uplo, const MKL_INT64* n, MKL_Complex8* a,
             const MKL_INT64* lda, MKL_INT64* info ) NOTHROW;
void clauu2_64( const char* uplo, const MKL_INT64* n, MKL_Complex8* a,
             const MKL_INT64* lda, MKL_INT64* info ) NOTHROW;

void CLAUUM_64( const char* uplo, const MKL_INT64* n, MKL_Complex8* a,
             const MKL_INT64* lda, MKL_INT64* info ) NOTHROW;
void clauum_64( const char* uplo, const MKL_INT64* n, MKL_Complex8* a,
             const MKL_INT64* lda, MKL_INT64* info ) NOTHROW;

void CPBCON_64( const char* uplo, const MKL_INT64* n, const MKL_INT64* kd,
             const MKL_Complex8* ab, const MKL_INT64* ldab, const float* anorm,
             float* rcond, MKL_Complex8* work, float* rwork, MKL_INT64* info ) NOTHROW;
void cpbcon_64( const char* uplo, const MKL_INT64* n, const MKL_INT64* kd,
             const MKL_Complex8* ab, const MKL_INT64* ldab, const float* anorm,
             float* rcond, MKL_Complex8* work, float* rwork, MKL_INT64* info ) NOTHROW;

void CPBEQU_64( const char* uplo, const MKL_INT64* n, const MKL_INT64* kd,
             const MKL_Complex8* ab, const MKL_INT64* ldab, float* s,
             float* scond, float* amax, MKL_INT64* info ) NOTHROW;
void cpbequ_64( const char* uplo, const MKL_INT64* n, const MKL_INT64* kd,
             const MKL_Complex8* ab, const MKL_INT64* ldab, float* s,
             float* scond, float* amax, MKL_INT64* info ) NOTHROW;

void CPBRFS_64( const char* uplo, const MKL_INT64* n, const MKL_INT64* kd,
             const MKL_INT64* nrhs, const MKL_Complex8* ab, const MKL_INT64* ldab,
             const MKL_Complex8* afb, const MKL_INT64* ldafb,
             const MKL_Complex8* b, const MKL_INT64* ldb, MKL_Complex8* x,
             const MKL_INT64* ldx, float* ferr, float* berr, MKL_Complex8* work,
             float* rwork, MKL_INT64* info ) NOTHROW;
void cpbrfs_64( const char* uplo, const MKL_INT64* n, const MKL_INT64* kd,
             const MKL_INT64* nrhs, const MKL_Complex8* ab, const MKL_INT64* ldab,
             const MKL_Complex8* afb, const MKL_INT64* ldafb,
             const MKL_Complex8* b, const MKL_INT64* ldb, MKL_Complex8* x,
             const MKL_INT64* ldx, float* ferr, float* berr, MKL_Complex8* work,
             float* rwork, MKL_INT64* info ) NOTHROW;

void CPBSTF_64( const char* uplo, const MKL_INT64* n, const MKL_INT64* kd,
             MKL_Complex8* ab, const MKL_INT64* ldab, MKL_INT64* info ) NOTHROW;
void cpbstf_64( const char* uplo, const MKL_INT64* n, const MKL_INT64* kd,
             MKL_Complex8* ab, const MKL_INT64* ldab, MKL_INT64* info ) NOTHROW;

void CPBSV_64( const char* uplo, const MKL_INT64* n, const MKL_INT64* kd,
            const MKL_INT64* nrhs, MKL_Complex8* ab, const MKL_INT64* ldab,
            MKL_Complex8* b, const MKL_INT64* ldb, MKL_INT64* info ) NOTHROW;
void cpbsv_64( const char* uplo, const MKL_INT64* n, const MKL_INT64* kd,
            const MKL_INT64* nrhs, MKL_Complex8* ab, const MKL_INT64* ldab,
            MKL_Complex8* b, const MKL_INT64* ldb, MKL_INT64* info ) NOTHROW;

void CPBSVX_64( const char* fact, const char* uplo, const MKL_INT64* n,
             const MKL_INT64* kd, const MKL_INT64* nrhs, MKL_Complex8* ab,
             const MKL_INT64* ldab, MKL_Complex8* afb, const MKL_INT64* ldafb,
             char* equed, float* s, MKL_Complex8* b, const MKL_INT64* ldb,
             MKL_Complex8* x, const MKL_INT64* ldx, float* rcond, float* ferr,
             float* berr, MKL_Complex8* work, float* rwork, MKL_INT64* info ) NOTHROW;
void cpbsvx_64( const char* fact, const char* uplo, const MKL_INT64* n,
             const MKL_INT64* kd, const MKL_INT64* nrhs, MKL_Complex8* ab,
             const MKL_INT64* ldab, MKL_Complex8* afb, const MKL_INT64* ldafb,
             char* equed, float* s, MKL_Complex8* b, const MKL_INT64* ldb,
             MKL_Complex8* x, const MKL_INT64* ldx, float* rcond, float* ferr,
             float* berr, MKL_Complex8* work, float* rwork, MKL_INT64* info ) NOTHROW;

void CPBTF2_64( const char* uplo, const MKL_INT64* n, const MKL_INT64* kd,
             MKL_Complex8* ab, const MKL_INT64* ldab, MKL_INT64* info ) NOTHROW;
void cpbtf2_64( const char* uplo, const MKL_INT64* n, const MKL_INT64* kd,
             MKL_Complex8* ab, const MKL_INT64* ldab, MKL_INT64* info ) NOTHROW;

void CPBTRF_64( const char* uplo, const MKL_INT64* n, const MKL_INT64* kd,
             MKL_Complex8* ab, const MKL_INT64* ldab, MKL_INT64* info ) NOTHROW;
void cpbtrf_64( const char* uplo, const MKL_INT64* n, const MKL_INT64* kd,
             MKL_Complex8* ab, const MKL_INT64* ldab, MKL_INT64* info ) NOTHROW;

void CPBTRS_64( const char* uplo, const MKL_INT64* n, const MKL_INT64* kd,
             const MKL_INT64* nrhs, const MKL_Complex8* ab, const MKL_INT64* ldab,
             MKL_Complex8* b, const MKL_INT64* ldb, MKL_INT64* info ) NOTHROW;
void cpbtrs_64( const char* uplo, const MKL_INT64* n, const MKL_INT64* kd,
             const MKL_INT64* nrhs, const MKL_Complex8* ab, const MKL_INT64* ldab,
             MKL_Complex8* b, const MKL_INT64* ldb, MKL_INT64* info ) NOTHROW;

void CPFTRF_64( const char* transr, const char* uplo, const MKL_INT64* n,
             MKL_Complex8* a, MKL_INT64* info ) NOTHROW;
void cpftrf_64( const char* transr, const char* uplo, const MKL_INT64* n,
             MKL_Complex8* a, MKL_INT64* info ) NOTHROW;

void CPFTRI_64( const char* transr, const char* uplo, const MKL_INT64* n,
             MKL_Complex8* a, MKL_INT64* info ) NOTHROW;
void cpftri_64( const char* transr, const char* uplo, const MKL_INT64* n,
             MKL_Complex8* a, MKL_INT64* info ) NOTHROW;

void CPFTRS_64( const char* transr, const char* uplo, const MKL_INT64* n,
             const MKL_INT64* nrhs, const MKL_Complex8* a, MKL_Complex8* b,
             const MKL_INT64* ldb, MKL_INT64* info ) NOTHROW;
void cpftrs_64( const char* transr, const char* uplo, const MKL_INT64* n,
             const MKL_INT64* nrhs, const MKL_Complex8* a, MKL_Complex8* b,
             const MKL_INT64* ldb, MKL_INT64* info ) NOTHROW;

void CPOCON_64( const char* uplo, const MKL_INT64* n, const MKL_Complex8* a,
             const MKL_INT64* lda, const float* anorm, float* rcond,
             MKL_Complex8* work, float* rwork, MKL_INT64* info ) NOTHROW;
void cpocon_64( const char* uplo, const MKL_INT64* n, const MKL_Complex8* a,
             const MKL_INT64* lda, const float* anorm, float* rcond,
             MKL_Complex8* work, float* rwork, MKL_INT64* info ) NOTHROW;

void CPOEQUB_64( const MKL_INT64* n, const MKL_Complex8* a, const MKL_INT64* lda,
              float* s, float* scond, float* amax, MKL_INT64* info ) NOTHROW;
void cpoequb_64( const MKL_INT64* n, const MKL_Complex8* a, const MKL_INT64* lda,
              float* s, float* scond, float* amax, MKL_INT64* info ) NOTHROW;

void CPOEQU_64( const MKL_INT64* n, const MKL_Complex8* a, const MKL_INT64* lda,
             float* s, float* scond, float* amax, MKL_INT64* info ) NOTHROW;
void cpoequ_64( const MKL_INT64* n, const MKL_Complex8* a, const MKL_INT64* lda,
             float* s, float* scond, float* amax, MKL_INT64* info ) NOTHROW;

void CPORFS_64( const char* uplo, const MKL_INT64* n, const MKL_INT64* nrhs,
             const MKL_Complex8* a, const MKL_INT64* lda, const MKL_Complex8* af,
             const MKL_INT64* ldaf, const MKL_Complex8* b, const MKL_INT64* ldb,
             MKL_Complex8* x, const MKL_INT64* ldx, float* ferr, float* berr,
             MKL_Complex8* work, float* rwork, MKL_INT64* info ) NOTHROW;
void cporfs_64( const char* uplo, const MKL_INT64* n, const MKL_INT64* nrhs,
             const MKL_Complex8* a, const MKL_INT64* lda, const MKL_Complex8* af,
             const MKL_INT64* ldaf, const MKL_Complex8* b, const MKL_INT64* ldb,
             MKL_Complex8* x, const MKL_INT64* ldx, float* ferr, float* berr,
             MKL_Complex8* work, float* rwork, MKL_INT64* info ) NOTHROW;

void CPORFSX_64( const char* uplo, const char* equed, const MKL_INT64* n,
              const MKL_INT64* nrhs, const MKL_Complex8* a, const MKL_INT64* lda,
              const MKL_Complex8* af, const MKL_INT64* ldaf, float* s,
              const MKL_Complex8* b, const MKL_INT64* ldb, MKL_Complex8* x,
              const MKL_INT64* ldx, float* rcond, float* berr,
              const MKL_INT64* n_err_bnds, float* err_bnds_norm,
              float* err_bnds_comp, const MKL_INT64* nparams, float* params,
              MKL_Complex8* work, float* rwork, MKL_INT64* info ) NOTHROW;
void cporfsx_64( const char* uplo, const char* equed, const MKL_INT64* n,
              const MKL_INT64* nrhs, const MKL_Complex8* a, const MKL_INT64* lda,
              const MKL_Complex8* af, const MKL_INT64* ldaf, float* s,
              const MKL_Complex8* b, const MKL_INT64* ldb, MKL_Complex8* x,
              const MKL_INT64* ldx, float* rcond, float* berr,
              const MKL_INT64* n_err_bnds, float* err_bnds_norm,
              float* err_bnds_comp, const MKL_INT64* nparams, float* params,
              MKL_Complex8* work, float* rwork, MKL_INT64* info ) NOTHROW;

void CPOSV_64( const char* uplo, const MKL_INT64* n, const MKL_INT64* nrhs,
            MKL_Complex8* a, const MKL_INT64* lda, MKL_Complex8* b,
            const MKL_INT64* ldb, MKL_INT64* info ) NOTHROW;
void cposv_64( const char* uplo, const MKL_INT64* n, const MKL_INT64* nrhs,
            MKL_Complex8* a, const MKL_INT64* lda, MKL_Complex8* b,
            const MKL_INT64* ldb, MKL_INT64* info ) NOTHROW;

void CPOSVX_64( const char* fact, const char* uplo, const MKL_INT64* n,
             const MKL_INT64* nrhs, MKL_Complex8* a, const MKL_INT64* lda,
             MKL_Complex8* af, const MKL_INT64* ldaf, char* equed, float* s,
             MKL_Complex8* b, const MKL_INT64* ldb, MKL_Complex8* x,
             const MKL_INT64* ldx, float* rcond, float* ferr, float* berr,
             MKL_Complex8* work, float* rwork, MKL_INT64* info ) NOTHROW;
void cposvx_64( const char* fact, const char* uplo, const MKL_INT64* n,
             const MKL_INT64* nrhs, MKL_Complex8* a, const MKL_INT64* lda,
             MKL_Complex8* af, const MKL_INT64* ldaf, char* equed, float* s,
             MKL_Complex8* b, const MKL_INT64* ldb, MKL_Complex8* x,
             const MKL_INT64* ldx, float* rcond, float* ferr, float* berr,
             MKL_Complex8* work, float* rwork, MKL_INT64* info ) NOTHROW;

void CPOSVXX_64( const char* fact, const char* uplo, const MKL_INT64* n,
              const MKL_INT64* nrhs, MKL_Complex8* a, const MKL_INT64* lda,
              MKL_Complex8* af, const MKL_INT64* ldaf, char* equed, float* s,
              MKL_Complex8* b, const MKL_INT64* ldb, MKL_Complex8* x,
              const MKL_INT64* ldx, float* rcond, float* rpvgrw, float* berr,
              const MKL_INT64* n_err_bnds, float* err_bnds_norm,
              float* err_bnds_comp, const MKL_INT64* nparams, float* params,
              MKL_Complex8* work, float* rwork, MKL_INT64* info ) NOTHROW;
void cposvxx_64( const char* fact, const char* uplo, const MKL_INT64* n,
              const MKL_INT64* nrhs, MKL_Complex8* a, const MKL_INT64* lda,
              MKL_Complex8* af, const MKL_INT64* ldaf, char* equed, float* s,
              MKL_Complex8* b, const MKL_INT64* ldb, MKL_Complex8* x,
              const MKL_INT64* ldx, float* rcond, float* rpvgrw, float* berr,
              const MKL_INT64* n_err_bnds, float* err_bnds_norm,
              float* err_bnds_comp, const MKL_INT64* nparams, float* params,
              MKL_Complex8* work, float* rwork, MKL_INT64* info ) NOTHROW;

void CPOTF2_64( const char* uplo, const MKL_INT64* n, MKL_Complex8* a,
             const MKL_INT64* lda, MKL_INT64* info ) NOTHROW;
void cpotf2_64( const char* uplo, const MKL_INT64* n, MKL_Complex8* a,
             const MKL_INT64* lda, MKL_INT64* info ) NOTHROW;

void CPOTRF_64( const char* uplo, const MKL_INT64* n, MKL_Complex8* a,
             const MKL_INT64* lda, MKL_INT64* info ) NOTHROW;
void cpotrf_64( const char* uplo, const MKL_INT64* n, MKL_Complex8* a,
             const MKL_INT64* lda, MKL_INT64* info ) NOTHROW;

void CPOTRI_64( const char* uplo, const MKL_INT64* n, MKL_Complex8* a,
             const MKL_INT64* lda, MKL_INT64* info ) NOTHROW;
void cpotri_64( const char* uplo, const MKL_INT64* n, MKL_Complex8* a,
             const MKL_INT64* lda, MKL_INT64* info ) NOTHROW;

void CPOTRS_64( const char* uplo, const MKL_INT64* n, const MKL_INT64* nrhs,
             const MKL_Complex8* a, const MKL_INT64* lda, MKL_Complex8* b,
             const MKL_INT64* ldb, MKL_INT64* info ) NOTHROW;
void cpotrs_64( const char* uplo, const MKL_INT64* n, const MKL_INT64* nrhs,
             const MKL_Complex8* a, const MKL_INT64* lda, MKL_Complex8* b,
             const MKL_INT64* ldb, MKL_INT64* info ) NOTHROW;

void CPPCON_64( const char* uplo, const MKL_INT64* n, const MKL_Complex8* ap,
             const float* anorm, float* rcond, MKL_Complex8* work,
             float* rwork, MKL_INT64* info ) NOTHROW;
void cppcon_64( const char* uplo, const MKL_INT64* n, const MKL_Complex8* ap,
             const float* anorm, float* rcond, MKL_Complex8* work,
             float* rwork, MKL_INT64* info ) NOTHROW;

void CPPEQU_64( const char* uplo, const MKL_INT64* n, const MKL_Complex8* ap,
             float* s, float* scond, float* amax, MKL_INT64* info ) NOTHROW;
void cppequ_64( const char* uplo, const MKL_INT64* n, const MKL_Complex8* ap,
             float* s, float* scond, float* amax, MKL_INT64* info ) NOTHROW;

void CPPRFS_64( const char* uplo, const MKL_INT64* n, const MKL_INT64* nrhs,
             const MKL_Complex8* ap, const MKL_Complex8* afp,
             const MKL_Complex8* b, const MKL_INT64* ldb, MKL_Complex8* x,
             const MKL_INT64* ldx, float* ferr, float* berr, MKL_Complex8* work,
             float* rwork, MKL_INT64* info ) NOTHROW;
void cpprfs_64( const char* uplo, const MKL_INT64* n, const MKL_INT64* nrhs,
             const MKL_Complex8* ap, const MKL_Complex8* afp,
             const MKL_Complex8* b, const MKL_INT64* ldb, MKL_Complex8* x,
             const MKL_INT64* ldx, float* ferr, float* berr, MKL_Complex8* work,
             float* rwork, MKL_INT64* info ) NOTHROW;

void CPPSV_64( const char* uplo, const MKL_INT64* n, const MKL_INT64* nrhs,
            MKL_Complex8* ap, MKL_Complex8* b, const MKL_INT64* ldb,
            MKL_INT64* info ) NOTHROW;
void cppsv_64( const char* uplo, const MKL_INT64* n, const MKL_INT64* nrhs,
            MKL_Complex8* ap, MKL_Complex8* b, const MKL_INT64* ldb,
            MKL_INT64* info ) NOTHROW;

void CPPSVX_64( const char* fact, const char* uplo, const MKL_INT64* n,
             const MKL_INT64* nrhs, MKL_Complex8* ap, MKL_Complex8* afp,
             char* equed, float* s, MKL_Complex8* b, const MKL_INT64* ldb,
             MKL_Complex8* x, const MKL_INT64* ldx, float* rcond, float* ferr,
             float* berr, MKL_Complex8* work, float* rwork, MKL_INT64* info ) NOTHROW;
void cppsvx_64( const char* fact, const char* uplo, const MKL_INT64* n,
             const MKL_INT64* nrhs, MKL_Complex8* ap, MKL_Complex8* afp,
             char* equed, float* s, MKL_Complex8* b, const MKL_INT64* ldb,
             MKL_Complex8* x, const MKL_INT64* ldx, float* rcond, float* ferr,
             float* berr, MKL_Complex8* work, float* rwork, MKL_INT64* info ) NOTHROW;

void CPPTRF_64( const char* uplo, const MKL_INT64* n, MKL_Complex8* ap,
             MKL_INT64* info ) NOTHROW;
void cpptrf_64( const char* uplo, const MKL_INT64* n, MKL_Complex8* ap,
             MKL_INT64* info ) NOTHROW;

void CPPTRI_64( const char* uplo, const MKL_INT64* n, MKL_Complex8* ap,
             MKL_INT64* info ) NOTHROW;
void cpptri_64( const char* uplo, const MKL_INT64* n, MKL_Complex8* ap,
             MKL_INT64* info ) NOTHROW;

void CPPTRS_64( const char* uplo, const MKL_INT64* n, const MKL_INT64* nrhs,
             const MKL_Complex8* ap, MKL_Complex8* b, const MKL_INT64* ldb,
             MKL_INT64* info ) NOTHROW;
void cpptrs_64( const char* uplo, const MKL_INT64* n, const MKL_INT64* nrhs,
             const MKL_Complex8* ap, MKL_Complex8* b, const MKL_INT64* ldb,
             MKL_INT64* info ) NOTHROW;

void CPSTF2_64( const char* uplo, const MKL_INT64* n, MKL_Complex8* a,
             const MKL_INT64* lda, MKL_INT64* piv, MKL_INT64* rank, const float* tol,
             float* work, MKL_INT64* info ) NOTHROW;
void cpstf2_64( const char* uplo, const MKL_INT64* n, MKL_Complex8* a,
             const MKL_INT64* lda, MKL_INT64* piv, MKL_INT64* rank, const float* tol,
             float* work, MKL_INT64* info ) NOTHROW;

void CPSTRF_64( const char* uplo, const MKL_INT64* n, MKL_Complex8* a,
             const MKL_INT64* lda, MKL_INT64* piv, MKL_INT64* rank, const float* tol,
             float* work, MKL_INT64* info ) NOTHROW;
void cpstrf_64( const char* uplo, const MKL_INT64* n, MKL_Complex8* a,
             const MKL_INT64* lda, MKL_INT64* piv, MKL_INT64* rank, const float* tol,
             float* work, MKL_INT64* info ) NOTHROW;

void CPTCON_64( const MKL_INT64* n, const float* d, const MKL_Complex8* e,
             const float* anorm, float* rcond, float* rwork, MKL_INT64* info ) NOTHROW;
void cptcon_64( const MKL_INT64* n, const float* d, const MKL_Complex8* e,
             const float* anorm, float* rcond, float* rwork, MKL_INT64* info ) NOTHROW;

void CPTEQR_64( const char* compz, const MKL_INT64* n, float* d, float* e,
             MKL_Complex8* z, const MKL_INT64* ldz, float* work, MKL_INT64* info ) NOTHROW;
void cpteqr_64( const char* compz, const MKL_INT64* n, float* d, float* e,
             MKL_Complex8* z, const MKL_INT64* ldz, float* work, MKL_INT64* info ) NOTHROW;

void CPTRFS_64( const char* uplo, const MKL_INT64* n, const MKL_INT64* nrhs,
             const float* d, const MKL_Complex8* e, const float* df,
             const MKL_Complex8* ef, const MKL_Complex8* b, const MKL_INT64* ldb,
             MKL_Complex8* x, const MKL_INT64* ldx, float* ferr, float* berr,
             MKL_Complex8* work, float* rwork, MKL_INT64* info ) NOTHROW;
void cptrfs_64( const char* uplo, const MKL_INT64* n, const MKL_INT64* nrhs,
             const float* d, const MKL_Complex8* e, const float* df,
             const MKL_Complex8* ef, const MKL_Complex8* b, const MKL_INT64* ldb,
             MKL_Complex8* x, const MKL_INT64* ldx, float* ferr, float* berr,
             MKL_Complex8* work, float* rwork, MKL_INT64* info ) NOTHROW;

void CPTSV_64( const MKL_INT64* n, const MKL_INT64* nrhs, float* d, MKL_Complex8* e,
            MKL_Complex8* b, const MKL_INT64* ldb, MKL_INT64* info ) NOTHROW;
void cptsv_64( const MKL_INT64* n, const MKL_INT64* nrhs, float* d, MKL_Complex8* e,
            MKL_Complex8* b, const MKL_INT64* ldb, MKL_INT64* info ) NOTHROW;

void CPTSVX_64( const char* fact, const MKL_INT64* n, const MKL_INT64* nrhs,
             const float* d, const MKL_Complex8* e, float* df,
             MKL_Complex8* ef, const MKL_Complex8* b, const MKL_INT64* ldb,
             MKL_Complex8* x, const MKL_INT64* ldx, float* rcond, float* ferr,
             float* berr, MKL_Complex8* work, float* rwork, MKL_INT64* info ) NOTHROW;
void cptsvx_64( const char* fact, const MKL_INT64* n, const MKL_INT64* nrhs,
             const float* d, const MKL_Complex8* e, float* df,
             MKL_Complex8* ef, const MKL_Complex8* b, const MKL_INT64* ldb,
             MKL_Complex8* x, const MKL_INT64* ldx, float* rcond, float* ferr,
             float* berr, MKL_Complex8* work, float* rwork, MKL_INT64* info ) NOTHROW;

void CPTTRF_64( const MKL_INT64* n, float* d, MKL_Complex8* e, MKL_INT64* info ) NOTHROW;
void cpttrf_64( const MKL_INT64* n, float* d, MKL_Complex8* e, MKL_INT64* info ) NOTHROW;

void CPTTRS_64( const char* uplo, const MKL_INT64* n, const MKL_INT64* nrhs,
             const float* d, const MKL_Complex8* e, MKL_Complex8* b,
             const MKL_INT64* ldb, MKL_INT64* info ) NOTHROW;
void cpttrs_64( const char* uplo, const MKL_INT64* n, const MKL_INT64* nrhs,
             const float* d, const MKL_Complex8* e, MKL_Complex8* b,
             const MKL_INT64* ldb, MKL_INT64* info ) NOTHROW;

void CPTTS2_64( const MKL_INT64* iuplo, const MKL_INT64* n, const MKL_INT64* nrhs,
             const float* d, const MKL_Complex8* e, MKL_Complex8* b,
             const MKL_INT64* ldb ) NOTHROW;
void cptts2_64( const MKL_INT64* iuplo, const MKL_INT64* n, const MKL_INT64* nrhs,
             const float* d, const MKL_Complex8* e, MKL_Complex8* b,
             const MKL_INT64* ldb ) NOTHROW;

void CROT_64( const MKL_INT64* n, MKL_Complex8* cx, const MKL_INT64* incx,
           MKL_Complex8* cy, const MKL_INT64* incy, const float* c,
           const MKL_Complex8* s ) NOTHROW;
void crot_64( const MKL_INT64* n, MKL_Complex8* cx, const MKL_INT64* incx,
           MKL_Complex8* cy, const MKL_INT64* incy, const float* c,
           const MKL_Complex8* s ) NOTHROW;

void CSPCON_64( const char* uplo, const MKL_INT64* n, const MKL_Complex8* ap,
             const MKL_INT64* ipiv, const float* anorm, float* rcond,
             MKL_Complex8* work, MKL_INT64* info ) NOTHROW;
void cspcon_64( const char* uplo, const MKL_INT64* n, const MKL_Complex8* ap,
             const MKL_INT64* ipiv, const float* anorm, float* rcond,
             MKL_Complex8* work, MKL_INT64* info ) NOTHROW;

void CSPMV_64( const char* uplo, const MKL_INT64* n, const MKL_Complex8* alpha,
            const MKL_Complex8* ap, const MKL_Complex8* x, const MKL_INT64* incx,
            const MKL_Complex8* beta, MKL_Complex8* y, const MKL_INT64* incy ) NOTHROW;
void cspmv_64( const char* uplo, const MKL_INT64* n, const MKL_Complex8* alpha,
            const MKL_Complex8* ap, const MKL_Complex8* x, const MKL_INT64* incx,
            const MKL_Complex8* beta, MKL_Complex8* y, const MKL_INT64* incy ) NOTHROW;

void CSPR_64( const char* uplo, const MKL_INT64* n, const MKL_Complex8* alpha,
           const MKL_Complex8* x, const MKL_INT64* incx, MKL_Complex8* ap ) NOTHROW;
void cspr_64( const char* uplo, const MKL_INT64* n, const MKL_Complex8* alpha,
           const MKL_Complex8* x, const MKL_INT64* incx, MKL_Complex8* ap ) NOTHROW;

void CSPRFS_64( const char* uplo, const MKL_INT64* n, const MKL_INT64* nrhs,
             const MKL_Complex8* ap, const MKL_Complex8* afp,
             const MKL_INT64* ipiv, const MKL_Complex8* b, const MKL_INT64* ldb,
             MKL_Complex8* x, const MKL_INT64* ldx, float* ferr, float* berr,
             MKL_Complex8* work, float* rwork, MKL_INT64* info ) NOTHROW;
void csprfs_64( const char* uplo, const MKL_INT64* n, const MKL_INT64* nrhs,
             const MKL_Complex8* ap, const MKL_Complex8* afp,
             const MKL_INT64* ipiv, const MKL_Complex8* b, const MKL_INT64* ldb,
             MKL_Complex8* x, const MKL_INT64* ldx, float* ferr, float* berr,
             MKL_Complex8* work, float* rwork, MKL_INT64* info ) NOTHROW;

void CSPSV_64( const char* uplo, const MKL_INT64* n, const MKL_INT64* nrhs,
            MKL_Complex8* ap, MKL_INT64* ipiv, MKL_Complex8* b,
            const MKL_INT64* ldb, MKL_INT64* info ) NOTHROW;
void cspsv_64( const char* uplo, const MKL_INT64* n, const MKL_INT64* nrhs,
            MKL_Complex8* ap, MKL_INT64* ipiv, MKL_Complex8* b,
            const MKL_INT64* ldb, MKL_INT64* info ) NOTHROW;

void CSPSVX_64( const char* fact, const char* uplo, const MKL_INT64* n,
             const MKL_INT64* nrhs, const MKL_Complex8* ap, MKL_Complex8* afp,
             MKL_INT64* ipiv, const MKL_Complex8* b, const MKL_INT64* ldb,
             MKL_Complex8* x, const MKL_INT64* ldx, float* rcond, float* ferr,
             float* berr, MKL_Complex8* work, float* rwork, MKL_INT64* info ) NOTHROW;
void cspsvx_64( const char* fact, const char* uplo, const MKL_INT64* n,
             const MKL_INT64* nrhs, const MKL_Complex8* ap, MKL_Complex8* afp,
             MKL_INT64* ipiv, const MKL_Complex8* b, const MKL_INT64* ldb,
             MKL_Complex8* x, const MKL_INT64* ldx, float* rcond, float* ferr,
             float* berr, MKL_Complex8* work, float* rwork, MKL_INT64* info ) NOTHROW;

void CSPTRF_64( const char* uplo, const MKL_INT64* n, MKL_Complex8* ap,
             MKL_INT64* ipiv, MKL_INT64* info ) NOTHROW;
void csptrf_64( const char* uplo, const MKL_INT64* n, MKL_Complex8* ap,
             MKL_INT64* ipiv, MKL_INT64* info ) NOTHROW;

void CSPTRI_64( const char* uplo, const MKL_INT64* n, MKL_Complex8* ap,
             const MKL_INT64* ipiv, MKL_Complex8* work, MKL_INT64* info ) NOTHROW;
void csptri_64( const char* uplo, const MKL_INT64* n, MKL_Complex8* ap,
             const MKL_INT64* ipiv, MKL_Complex8* work, MKL_INT64* info ) NOTHROW;

void CSPTRS_64( const char* uplo, const MKL_INT64* n, const MKL_INT64* nrhs,
             const MKL_Complex8* ap, const MKL_INT64* ipiv, MKL_Complex8* b,
             const MKL_INT64* ldb, MKL_INT64* info ) NOTHROW;
void csptrs_64( const char* uplo, const MKL_INT64* n, const MKL_INT64* nrhs,
             const MKL_Complex8* ap, const MKL_INT64* ipiv, MKL_Complex8* b,
             const MKL_INT64* ldb, MKL_INT64* info ) NOTHROW;

void CSRSCL_64( const MKL_INT64* n, const float* sa, MKL_Complex8* sx,
             const MKL_INT64* incx ) NOTHROW;
void csrscl_64( const MKL_INT64* n, const float* sa, MKL_Complex8* sx,
             const MKL_INT64* incx ) NOTHROW;

void CSTEDC_64( const char* compz, const MKL_INT64* n, float* d, float* e,
             MKL_Complex8* z, const MKL_INT64* ldz, MKL_Complex8* work,
             const MKL_INT64* lwork, float* rwork, const MKL_INT64* lrwork,
             MKL_INT64* iwork, const MKL_INT64* liwork, MKL_INT64* info ) NOTHROW;
void cstedc_64( const char* compz, const MKL_INT64* n, float* d, float* e,
             MKL_Complex8* z, const MKL_INT64* ldz, MKL_Complex8* work,
             const MKL_INT64* lwork, float* rwork, const MKL_INT64* lrwork,
             MKL_INT64* iwork, const MKL_INT64* liwork, MKL_INT64* info ) NOTHROW;

void CSTEGR_64( const char* jobz, const char* range, const MKL_INT64* n, float* d,
             float* e, const float* vl, const float* vu, const MKL_INT64* il,
             const MKL_INT64* iu, const float* abstol, MKL_INT64* m, float* w,
             MKL_Complex8* z, const MKL_INT64* ldz, MKL_INT64* isuppz, float* work,
             const MKL_INT64* lwork, MKL_INT64* iwork, const MKL_INT64* liwork,
             MKL_INT64* info ) NOTHROW;
void cstegr_64( const char* jobz, const char* range, const MKL_INT64* n, float* d,
             float* e, const float* vl, const float* vu, const MKL_INT64* il,
             const MKL_INT64* iu, const float* abstol, MKL_INT64* m, float* w,
             MKL_Complex8* z, const MKL_INT64* ldz, MKL_INT64* isuppz, float* work,
             const MKL_INT64* lwork, MKL_INT64* iwork, const MKL_INT64* liwork,
             MKL_INT64* info ) NOTHROW;

void CSTEIN_64( const MKL_INT64* n, const float* d, const float* e,
             const MKL_INT64* m, const float* w, const MKL_INT64* iblock,
             const MKL_INT64* isplit, MKL_Complex8* z, const MKL_INT64* ldz,
             float* work, MKL_INT64* iwork, MKL_INT64* ifail, MKL_INT64* info ) NOTHROW;
void cstein_64( const MKL_INT64* n, const float* d, const float* e,
             const MKL_INT64* m, const float* w, const MKL_INT64* iblock,
             const MKL_INT64* isplit, MKL_Complex8* z, const MKL_INT64* ldz,
             float* work, MKL_INT64* iwork, MKL_INT64* ifail, MKL_INT64* info ) NOTHROW;

void CSTEMR_64( const char* jobz, const char* range, const MKL_INT64* n, float* d,
             float* e, const float* vl, const float* vu, const MKL_INT64* il,
             const MKL_INT64* iu, MKL_INT64* m, float* w, MKL_Complex8* z,
             const MKL_INT64* ldz, const MKL_INT64* nzc, MKL_INT64* isuppz,
             MKL_INT64* tryrac, float* work, const MKL_INT64* lwork,
             MKL_INT64* iwork, const MKL_INT64* liwork, MKL_INT64* info ) NOTHROW;
void cstemr_64( const char* jobz, const char* range, const MKL_INT64* n, float* d,
             float* e, const float* vl, const float* vu, const MKL_INT64* il,
             const MKL_INT64* iu, MKL_INT64* m, float* w, MKL_Complex8* z,
             const MKL_INT64* ldz, const MKL_INT64* nzc, MKL_INT64* isuppz,
             MKL_INT64* tryrac, float* work, const MKL_INT64* lwork,
             MKL_INT64* iwork, const MKL_INT64* liwork, MKL_INT64* info ) NOTHROW;

void CSTEQR_64( const char* compz, const MKL_INT64* n, float* d, float* e,
             MKL_Complex8* z, const MKL_INT64* ldz, float* work, MKL_INT64* info ) NOTHROW;
void csteqr_64( const char* compz, const MKL_INT64* n, float* d, float* e,
             MKL_Complex8* z, const MKL_INT64* ldz, float* work, MKL_INT64* info ) NOTHROW;

void CSYCON_64( const char* uplo, const MKL_INT64* n, const MKL_Complex8* a,
             const MKL_INT64* lda, const MKL_INT64* ipiv, const float* anorm,
             float* rcond, MKL_Complex8* work, MKL_INT64* info ) NOTHROW;
void csycon_64( const char* uplo, const MKL_INT64* n, const MKL_Complex8* a,
             const MKL_INT64* lda, const MKL_INT64* ipiv, const float* anorm,
             float* rcond, MKL_Complex8* work, MKL_INT64* info ) NOTHROW;

void CSYEQUB_64( const char* uplo, const MKL_INT64* n, const MKL_Complex8* a,
              const MKL_INT64* lda, float* s, float* scond, float* amax,
              MKL_Complex8* work, MKL_INT64* info ) NOTHROW;
void csyequb_64( const char* uplo, const MKL_INT64* n, const MKL_Complex8* a,
              const MKL_INT64* lda, float* s, float* scond, float* amax,
              MKL_Complex8* work, MKL_INT64* info ) NOTHROW;

void CSYMV_64( const char* uplo, const MKL_INT64* n, const MKL_Complex8* alpha,
            const MKL_Complex8* a, const MKL_INT64* lda, const MKL_Complex8* x,
            const MKL_INT64* incx, const MKL_Complex8* beta, MKL_Complex8* y,
            const MKL_INT64* incy ) NOTHROW;
void csymv_64( const char* uplo, const MKL_INT64* n, const MKL_Complex8* alpha,
            const MKL_Complex8* a, const MKL_INT64* lda, const MKL_Complex8* x,
            const MKL_INT64* incx, const MKL_Complex8* beta, MKL_Complex8* y,
            const MKL_INT64* incy ) NOTHROW;

void CSYR_64( const char* uplo, const MKL_INT64* n, const MKL_Complex8* alpha,
           const MKL_Complex8* x, const MKL_INT64* incx, MKL_Complex8* a,
           const MKL_INT64* lda ) NOTHROW;
void csyr_64( const char* uplo, const MKL_INT64* n, const MKL_Complex8* alpha,
           const MKL_Complex8* x, const MKL_INT64* incx, MKL_Complex8* a,
           const MKL_INT64* lda ) NOTHROW;

void CSYRFS_64( const char* uplo, const MKL_INT64* n, const MKL_INT64* nrhs,
             const MKL_Complex8* a, const MKL_INT64* lda, const MKL_Complex8* af,
             const MKL_INT64* ldaf, const MKL_INT64* ipiv, const MKL_Complex8* b,
             const MKL_INT64* ldb, MKL_Complex8* x, const MKL_INT64* ldx,
             float* ferr, float* berr, MKL_Complex8* work, float* rwork,
             MKL_INT64* info ) NOTHROW;
void csyrfs_64( const char* uplo, const MKL_INT64* n, const MKL_INT64* nrhs,
             const MKL_Complex8* a, const MKL_INT64* lda, const MKL_Complex8* af,
             const MKL_INT64* ldaf, const MKL_INT64* ipiv, const MKL_Complex8* b,
             const MKL_INT64* ldb, MKL_Complex8* x, const MKL_INT64* ldx,
             float* ferr, float* berr, MKL_Complex8* work, float* rwork,
             MKL_INT64* info ) NOTHROW;

void CSYRFSX_64( const char* uplo, const char* equed, const MKL_INT64* n,
              const MKL_INT64* nrhs, const MKL_Complex8* a, const MKL_INT64* lda,
              const MKL_Complex8* af, const MKL_INT64* ldaf, const MKL_INT64* ipiv,
              float* s, const MKL_Complex8* b, const MKL_INT64* ldb,
              MKL_Complex8* x, const MKL_INT64* ldx, float* rcond, float* berr,
              const MKL_INT64* n_err_bnds, float* err_bnds_norm,
              float* err_bnds_comp, const MKL_INT64* nparams, float* params,
              MKL_Complex8* work, float* rwork, MKL_INT64* info ) NOTHROW;
void csyrfsx_64( const char* uplo, const char* equed, const MKL_INT64* n,
              const MKL_INT64* nrhs, const MKL_Complex8* a, const MKL_INT64* lda,
              const MKL_Complex8* af, const MKL_INT64* ldaf, const MKL_INT64* ipiv,
              float* s, const MKL_Complex8* b, const MKL_INT64* ldb,
              MKL_Complex8* x, const MKL_INT64* ldx, float* rcond, float* berr,
              const MKL_INT64* n_err_bnds, float* err_bnds_norm,
              float* err_bnds_comp, const MKL_INT64* nparams, float* params,
              MKL_Complex8* work, float* rwork, MKL_INT64* info ) NOTHROW;

void CSYSV_64( const char* uplo, const MKL_INT64* n, const MKL_INT64* nrhs,
            MKL_Complex8* a, const MKL_INT64* lda, MKL_INT64* ipiv,
            MKL_Complex8* b, const MKL_INT64* ldb, MKL_Complex8* work,
            const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;
void csysv_64( const char* uplo, const MKL_INT64* n, const MKL_INT64* nrhs,
            MKL_Complex8* a, const MKL_INT64* lda, MKL_INT64* ipiv,
            MKL_Complex8* b, const MKL_INT64* ldb, MKL_Complex8* work,
            const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;

void CSYSVX_64( const char* fact, const char* uplo, const MKL_INT64* n,
             const MKL_INT64* nrhs, const MKL_Complex8* a, const MKL_INT64* lda,
             MKL_Complex8* af, const MKL_INT64* ldaf, MKL_INT64* ipiv,
             const MKL_Complex8* b, const MKL_INT64* ldb, MKL_Complex8* x,
             const MKL_INT64* ldx, float* rcond, float* ferr, float* berr,
             MKL_Complex8* work, const MKL_INT64* lwork, float* rwork,
             MKL_INT64* info ) NOTHROW;
void csysvx_64( const char* fact, const char* uplo, const MKL_INT64* n,
             const MKL_INT64* nrhs, const MKL_Complex8* a, const MKL_INT64* lda,
             MKL_Complex8* af, const MKL_INT64* ldaf, MKL_INT64* ipiv,
             const MKL_Complex8* b, const MKL_INT64* ldb, MKL_Complex8* x,
             const MKL_INT64* ldx, float* rcond, float* ferr, float* berr,
             MKL_Complex8* work, const MKL_INT64* lwork, float* rwork,
             MKL_INT64* info ) NOTHROW;

void CSYSVXX_64( const char* fact, const char* uplo, const MKL_INT64* n,
              const MKL_INT64* nrhs, MKL_Complex8* a, const MKL_INT64* lda,
              MKL_Complex8* af, const MKL_INT64* ldaf, MKL_INT64* ipiv,
              char* equed, float* s, MKL_Complex8* b, const MKL_INT64* ldb,
              MKL_Complex8* x, const MKL_INT64* ldx, float* rcond, float* rpvgrw,
              float* berr, const MKL_INT64* n_err_bnds, float* err_bnds_norm,
              float* err_bnds_comp, const MKL_INT64* nparams, float* params,
              MKL_Complex8* work, float* rwork, MKL_INT64* info ) NOTHROW;
void csysvxx_64( const char* fact, const char* uplo, const MKL_INT64* n,
              const MKL_INT64* nrhs, MKL_Complex8* a, const MKL_INT64* lda,
              MKL_Complex8* af, const MKL_INT64* ldaf, MKL_INT64* ipiv,
              char* equed, float* s, MKL_Complex8* b, const MKL_INT64* ldb,
              MKL_Complex8* x, const MKL_INT64* ldx, float* rcond, float* rpvgrw,
              float* berr, const MKL_INT64* n_err_bnds, float* err_bnds_norm,
              float* err_bnds_comp, const MKL_INT64* nparams, float* params,
              MKL_Complex8* work, float* rwork, MKL_INT64* info ) NOTHROW;

void CSYTF2_64( const char* uplo, const MKL_INT64* n, MKL_Complex8* a,
             const MKL_INT64* lda, MKL_INT64* ipiv, MKL_INT64* info ) NOTHROW;
void csytf2_64( const char* uplo, const MKL_INT64* n, MKL_Complex8* a,
             const MKL_INT64* lda, MKL_INT64* ipiv, MKL_INT64* info ) NOTHROW;

void CSYTRF_64( const char* uplo, const MKL_INT64* n, MKL_Complex8* a,
             const MKL_INT64* lda, MKL_INT64* ipiv, MKL_Complex8* work,
             const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;
void csytrf_64( const char* uplo, const MKL_INT64* n, MKL_Complex8* a,
             const MKL_INT64* lda, MKL_INT64* ipiv, MKL_Complex8* work,
             const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;

void CSYTRI_64( const char* uplo, const MKL_INT64* n, MKL_Complex8* a,
             const MKL_INT64* lda, const MKL_INT64* ipiv, MKL_Complex8* work,
             MKL_INT64* info ) NOTHROW;
void csytri_64( const char* uplo, const MKL_INT64* n, MKL_Complex8* a,
             const MKL_INT64* lda, const MKL_INT64* ipiv, MKL_Complex8* work,
             MKL_INT64* info ) NOTHROW;

void CSYTRS_64( const char* uplo, const MKL_INT64* n, const MKL_INT64* nrhs,
             const MKL_Complex8* a, const MKL_INT64* lda, const MKL_INT64* ipiv,
             MKL_Complex8* b, const MKL_INT64* ldb, MKL_INT64* info ) NOTHROW;
void csytrs_64( const char* uplo, const MKL_INT64* n, const MKL_INT64* nrhs,
             const MKL_Complex8* a, const MKL_INT64* lda, const MKL_INT64* ipiv,
             MKL_Complex8* b, const MKL_INT64* ldb, MKL_INT64* info ) NOTHROW;

void CTBCON_64( const char* norm, const char* uplo, const char* diag,
             const MKL_INT64* n, const MKL_INT64* kd, const MKL_Complex8* ab,
             const MKL_INT64* ldab, float* rcond, MKL_Complex8* work,
             float* rwork, MKL_INT64* info ) NOTHROW;
void ctbcon_64( const char* norm, const char* uplo, const char* diag,
             const MKL_INT64* n, const MKL_INT64* kd, const MKL_Complex8* ab,
             const MKL_INT64* ldab, float* rcond, MKL_Complex8* work,
             float* rwork, MKL_INT64* info ) NOTHROW;

void CTBRFS_64( const char* uplo, const char* trans, const char* diag,
             const MKL_INT64* n, const MKL_INT64* kd, const MKL_INT64* nrhs,
             const MKL_Complex8* ab, const MKL_INT64* ldab,
             const MKL_Complex8* b, const MKL_INT64* ldb, const MKL_Complex8* x,
             const MKL_INT64* ldx, float* ferr, float* berr, MKL_Complex8* work,
             float* rwork, MKL_INT64* info ) NOTHROW;
void ctbrfs_64( const char* uplo, const char* trans, const char* diag,
             const MKL_INT64* n, const MKL_INT64* kd, const MKL_INT64* nrhs,
             const MKL_Complex8* ab, const MKL_INT64* ldab,
             const MKL_Complex8* b, const MKL_INT64* ldb, const MKL_Complex8* x,
             const MKL_INT64* ldx, float* ferr, float* berr, MKL_Complex8* work,
             float* rwork, MKL_INT64* info ) NOTHROW;

void CTBTRS_64( const char* uplo, const char* trans, const char* diag,
             const MKL_INT64* n, const MKL_INT64* kd, const MKL_INT64* nrhs,
             const MKL_Complex8* ab, const MKL_INT64* ldab, MKL_Complex8* b,
             const MKL_INT64* ldb, MKL_INT64* info ) NOTHROW;
void ctbtrs_64( const char* uplo, const char* trans, const char* diag,
             const MKL_INT64* n, const MKL_INT64* kd, const MKL_INT64* nrhs,
             const MKL_Complex8* ab, const MKL_INT64* ldab, MKL_Complex8* b,
             const MKL_INT64* ldb, MKL_INT64* info ) NOTHROW;

void CTFSM_64( const char* transr, const char* side, const char* uplo,
            const char* trans, const char* diag, const MKL_INT64* m,
            const MKL_INT64* n, const MKL_Complex8* alpha, const MKL_Complex8* a,
            MKL_Complex8* b, const MKL_INT64* ldb ) NOTHROW;
void ctfsm_64( const char* transr, const char* side, const char* uplo,
            const char* trans, const char* diag, const MKL_INT64* m,
            const MKL_INT64* n, const MKL_Complex8* alpha, const MKL_Complex8* a,
            MKL_Complex8* b, const MKL_INT64* ldb ) NOTHROW;

void CTFTRI_64( const char* transr, const char* uplo, const char* diag,
             const MKL_INT64* n, MKL_Complex8* a, MKL_INT64* info ) NOTHROW;
void ctftri_64( const char* transr, const char* uplo, const char* diag,
             const MKL_INT64* n, MKL_Complex8* a, MKL_INT64* info ) NOTHROW;

void CTFTTP_64( const char* transr, const char* uplo, const MKL_INT64* n,
             const MKL_Complex8* arf, MKL_Complex8* ap, MKL_INT64* info ) NOTHROW;
void ctfttp_64( const char* transr, const char* uplo, const MKL_INT64* n,
             const MKL_Complex8* arf, MKL_Complex8* ap, MKL_INT64* info ) NOTHROW;

void CTFTTR_64( const char* transr, const char* uplo, const MKL_INT64* n,
             const MKL_Complex8* arf, MKL_Complex8* a, const MKL_INT64* lda,
             MKL_INT64* info ) NOTHROW;
void ctfttr_64( const char* transr, const char* uplo, const MKL_INT64* n,
             const MKL_Complex8* arf, MKL_Complex8* a, const MKL_INT64* lda,
             MKL_INT64* info ) NOTHROW;

void CTGEVC_64( const char* side, const char* howmny, const MKL_INT64* select,
             const MKL_INT64* n, const MKL_Complex8* s, const MKL_INT64* lds,
             const MKL_Complex8* p, const MKL_INT64* ldp, MKL_Complex8* vl,
             const MKL_INT64* ldvl, MKL_Complex8* vr, const MKL_INT64* ldvr,
             const MKL_INT64* mm, MKL_INT64* m, MKL_Complex8* work, float* rwork,
             MKL_INT64* info ) NOTHROW;
void ctgevc_64( const char* side, const char* howmny, const MKL_INT64* select,
             const MKL_INT64* n, const MKL_Complex8* s, const MKL_INT64* lds,
             const MKL_Complex8* p, const MKL_INT64* ldp, MKL_Complex8* vl,
             const MKL_INT64* ldvl, MKL_Complex8* vr, const MKL_INT64* ldvr,
             const MKL_INT64* mm, MKL_INT64* m, MKL_Complex8* work, float* rwork,
             MKL_INT64* info ) NOTHROW;

void CTGEX2_64( const MKL_INT64* wantq, const MKL_INT64* wantz, const MKL_INT64* n,
             MKL_Complex8* a, const MKL_INT64* lda, MKL_Complex8* b,
             const MKL_INT64* ldb, MKL_Complex8* q, const MKL_INT64* ldq,
             MKL_Complex8* z, const MKL_INT64* ldz, const MKL_INT64* j1,
             MKL_INT64* info ) NOTHROW;
void ctgex2_64( const MKL_INT64* wantq, const MKL_INT64* wantz, const MKL_INT64* n,
             MKL_Complex8* a, const MKL_INT64* lda, MKL_Complex8* b,
             const MKL_INT64* ldb, MKL_Complex8* q, const MKL_INT64* ldq,
             MKL_Complex8* z, const MKL_INT64* ldz, const MKL_INT64* j1,
             MKL_INT64* info ) NOTHROW;

void CTGEXC_64( const MKL_INT64* wantq, const MKL_INT64* wantz, const MKL_INT64* n,
             MKL_Complex8* a, const MKL_INT64* lda, MKL_Complex8* b,
             const MKL_INT64* ldb, MKL_Complex8* q, const MKL_INT64* ldq,
             MKL_Complex8* z, const MKL_INT64* ldz, const MKL_INT64* ifst,
             MKL_INT64* ilst, MKL_INT64* info ) NOTHROW;
void ctgexc_64( const MKL_INT64* wantq, const MKL_INT64* wantz, const MKL_INT64* n,
             MKL_Complex8* a, const MKL_INT64* lda, MKL_Complex8* b,
             const MKL_INT64* ldb, MKL_Complex8* q, const MKL_INT64* ldq,
             MKL_Complex8* z, const MKL_INT64* ldz, const MKL_INT64* ifst,
             MKL_INT64* ilst, MKL_INT64* info ) NOTHROW;

void CTGSEN_64( const MKL_INT64* ijob, const MKL_INT64* wantq, const MKL_INT64* wantz,
             const MKL_INT64* select, const MKL_INT64* n, MKL_Complex8* a,
             const MKL_INT64* lda, MKL_Complex8* b, const MKL_INT64* ldb,
             MKL_Complex8* alpha, MKL_Complex8* beta, MKL_Complex8* q,
             const MKL_INT64* ldq, MKL_Complex8* z, const MKL_INT64* ldz,
             MKL_INT64* m, float* pl, float* pr, float* dif, MKL_Complex8* work,
             const MKL_INT64* lwork, MKL_INT64* iwork, const MKL_INT64* liwork,
             MKL_INT64* info ) NOTHROW;
void ctgsen_64( const MKL_INT64* ijob, const MKL_INT64* wantq, const MKL_INT64* wantz,
             const MKL_INT64* select, const MKL_INT64* n, MKL_Complex8* a,
             const MKL_INT64* lda, MKL_Complex8* b, const MKL_INT64* ldb,
             MKL_Complex8* alpha, MKL_Complex8* beta, MKL_Complex8* q,
             const MKL_INT64* ldq, MKL_Complex8* z, const MKL_INT64* ldz,
             MKL_INT64* m, float* pl, float* pr, float* dif, MKL_Complex8* work,
             const MKL_INT64* lwork, MKL_INT64* iwork, const MKL_INT64* liwork,
             MKL_INT64* info ) NOTHROW;

void CTGSJA_64( const char* jobu, const char* jobv, const char* jobq,
             const MKL_INT64* m, const MKL_INT64* p, const MKL_INT64* n,
             const MKL_INT64* k, const MKL_INT64* l, MKL_Complex8* a,
             const MKL_INT64* lda, MKL_Complex8* b, const MKL_INT64* ldb,
             const float* tola, const float* tolb, float* alpha, float* beta,
             MKL_Complex8* u, const MKL_INT64* ldu, MKL_Complex8* v,
             const MKL_INT64* ldv, MKL_Complex8* q, const MKL_INT64* ldq,
             MKL_Complex8* work, MKL_INT64* ncycle, MKL_INT64* info ) NOTHROW;
void ctgsja_64( const char* jobu, const char* jobv, const char* jobq,
             const MKL_INT64* m, const MKL_INT64* p, const MKL_INT64* n,
             const MKL_INT64* k, const MKL_INT64* l, MKL_Complex8* a,
             const MKL_INT64* lda, MKL_Complex8* b, const MKL_INT64* ldb,
             const float* tola, const float* tolb, float* alpha, float* beta,
             MKL_Complex8* u, const MKL_INT64* ldu, MKL_Complex8* v,
             const MKL_INT64* ldv, MKL_Complex8* q, const MKL_INT64* ldq,
             MKL_Complex8* work, MKL_INT64* ncycle, MKL_INT64* info ) NOTHROW;

void CTGSNA_64( const char* job, const char* howmny, const MKL_INT64* select,
             const MKL_INT64* n, const MKL_Complex8* a, const MKL_INT64* lda,
             const MKL_Complex8* b, const MKL_INT64* ldb, const MKL_Complex8* vl,
             const MKL_INT64* ldvl, const MKL_Complex8* vr, const MKL_INT64* ldvr,
             float* s, float* dif, const MKL_INT64* mm, MKL_INT64* m,
             MKL_Complex8* work, const MKL_INT64* lwork, MKL_INT64* iwork,
             MKL_INT64* info ) NOTHROW;
void ctgsna_64( const char* job, const char* howmny, const MKL_INT64* select,
             const MKL_INT64* n, const MKL_Complex8* a, const MKL_INT64* lda,
             const MKL_Complex8* b, const MKL_INT64* ldb, const MKL_Complex8* vl,
             const MKL_INT64* ldvl, const MKL_Complex8* vr, const MKL_INT64* ldvr,
             float* s, float* dif, const MKL_INT64* mm, MKL_INT64* m,
             MKL_Complex8* work, const MKL_INT64* lwork, MKL_INT64* iwork,
             MKL_INT64* info ) NOTHROW;

void CTGSY2_64( const char* trans, const MKL_INT64* ijob, const MKL_INT64* m,
             const MKL_INT64* n, const MKL_Complex8* a, const MKL_INT64* lda,
             const MKL_Complex8* b, const MKL_INT64* ldb, MKL_Complex8* c,
             const MKL_INT64* ldc, const MKL_Complex8* d, const MKL_INT64* ldd,
             const MKL_Complex8* e, const MKL_INT64* lde, MKL_Complex8* f,
             const MKL_INT64* ldf, float* scale, float* rdsum, float* rdscal,
             MKL_INT64* info ) NOTHROW;
void ctgsy2_64( const char* trans, const MKL_INT64* ijob, const MKL_INT64* m,
             const MKL_INT64* n, const MKL_Complex8* a, const MKL_INT64* lda,
             const MKL_Complex8* b, const MKL_INT64* ldb, MKL_Complex8* c,
             const MKL_INT64* ldc, const MKL_Complex8* d, const MKL_INT64* ldd,
             const MKL_Complex8* e, const MKL_INT64* lde, MKL_Complex8* f,
             const MKL_INT64* ldf, float* scale, float* rdsum, float* rdscal,
             MKL_INT64* info ) NOTHROW;

void CTGSYL_64( const char* trans, const MKL_INT64* ijob, const MKL_INT64* m,
             const MKL_INT64* n, const MKL_Complex8* a, const MKL_INT64* lda,
             const MKL_Complex8* b, const MKL_INT64* ldb, MKL_Complex8* c,
             const MKL_INT64* ldc, const MKL_Complex8* d, const MKL_INT64* ldd,
             const MKL_Complex8* e, const MKL_INT64* lde, MKL_Complex8* f,
             const MKL_INT64* ldf, float* scale, float* dif, MKL_Complex8* work,
             const MKL_INT64* lwork, MKL_INT64* iwork, MKL_INT64* info ) NOTHROW;
void ctgsyl_64( const char* trans, const MKL_INT64* ijob, const MKL_INT64* m,
             const MKL_INT64* n, const MKL_Complex8* a, const MKL_INT64* lda,
             const MKL_Complex8* b, const MKL_INT64* ldb, MKL_Complex8* c,
             const MKL_INT64* ldc, const MKL_Complex8* d, const MKL_INT64* ldd,
             const MKL_Complex8* e, const MKL_INT64* lde, MKL_Complex8* f,
             const MKL_INT64* ldf, float* scale, float* dif, MKL_Complex8* work,
             const MKL_INT64* lwork, MKL_INT64* iwork, MKL_INT64* info ) NOTHROW;

void CTPCON_64( const char* norm, const char* uplo, const char* diag,
             const MKL_INT64* n, const MKL_Complex8* ap, float* rcond,
             MKL_Complex8* work, float* rwork, MKL_INT64* info ) NOTHROW;
void ctpcon_64( const char* norm, const char* uplo, const char* diag,
             const MKL_INT64* n, const MKL_Complex8* ap, float* rcond,
             MKL_Complex8* work, float* rwork, MKL_INT64* info ) NOTHROW;

void CTPRFS_64( const char* uplo, const char* trans, const char* diag,
             const MKL_INT64* n, const MKL_INT64* nrhs, const MKL_Complex8* ap,
             const MKL_Complex8* b, const MKL_INT64* ldb, const MKL_Complex8* x,
             const MKL_INT64* ldx, float* ferr, float* berr, MKL_Complex8* work,
             float* rwork, MKL_INT64* info ) NOTHROW;
void ctprfs_64( const char* uplo, const char* trans, const char* diag,
             const MKL_INT64* n, const MKL_INT64* nrhs, const MKL_Complex8* ap,
             const MKL_Complex8* b, const MKL_INT64* ldb, const MKL_Complex8* x,
             const MKL_INT64* ldx, float* ferr, float* berr, MKL_Complex8* work,
             float* rwork, MKL_INT64* info ) NOTHROW;

void CTPTRI_64( const char* uplo, const char* diag, const MKL_INT64* n,
             MKL_Complex8* ap, MKL_INT64* info ) NOTHROW;
void ctptri_64( const char* uplo, const char* diag, const MKL_INT64* n,
             MKL_Complex8* ap, MKL_INT64* info ) NOTHROW;

void CTPTRS_64( const char* uplo, const char* trans, const char* diag,
             const MKL_INT64* n, const MKL_INT64* nrhs, const MKL_Complex8* ap,
             MKL_Complex8* b, const MKL_INT64* ldb, MKL_INT64* info ) NOTHROW;
void ctptrs_64( const char* uplo, const char* trans, const char* diag,
             const MKL_INT64* n, const MKL_INT64* nrhs, const MKL_Complex8* ap,
             MKL_Complex8* b, const MKL_INT64* ldb, MKL_INT64* info ) NOTHROW;

void CTPTTF_64( const char* transr, const char* uplo, const MKL_INT64* n,
             const MKL_Complex8* ap, MKL_Complex8* arf, MKL_INT64* info ) NOTHROW;
void ctpttf_64( const char* transr, const char* uplo, const MKL_INT64* n,
             const MKL_Complex8* ap, MKL_Complex8* arf, MKL_INT64* info ) NOTHROW;

void CTPTTR_64( const char* uplo, const MKL_INT64* n, const MKL_Complex8* ap,
             MKL_Complex8* a, const MKL_INT64* lda, MKL_INT64* info ) NOTHROW;
void ctpttr_64( const char* uplo, const MKL_INT64* n, const MKL_Complex8* ap,
             MKL_Complex8* a, const MKL_INT64* lda, MKL_INT64* info ) NOTHROW;

void CTRCON_64( const char* norm, const char* uplo, const char* diag,
             const MKL_INT64* n, const MKL_Complex8* a, const MKL_INT64* lda,
             float* rcond, MKL_Complex8* work, float* rwork, MKL_INT64* info ) NOTHROW;
void ctrcon_64( const char* norm, const char* uplo, const char* diag,
             const MKL_INT64* n, const MKL_Complex8* a, const MKL_INT64* lda,
             float* rcond, MKL_Complex8* work, float* rwork, MKL_INT64* info ) NOTHROW;

void CTREVC_64( const char* side, const char* howmny, const MKL_INT64* select,
             const MKL_INT64* n, MKL_Complex8* t, const MKL_INT64* ldt,
             MKL_Complex8* vl, const MKL_INT64* ldvl, MKL_Complex8* vr,
             const MKL_INT64* ldvr, const MKL_INT64* mm, MKL_INT64* m,
             MKL_Complex8* work, float* rwork, MKL_INT64* info ) NOTHROW;
void ctrevc_64( const char* side, const char* howmny, const MKL_INT64* select,
             const MKL_INT64* n, MKL_Complex8* t, const MKL_INT64* ldt,
             MKL_Complex8* vl, const MKL_INT64* ldvl, MKL_Complex8* vr,
             const MKL_INT64* ldvr, const MKL_INT64* mm, MKL_INT64* m,
             MKL_Complex8* work, float* rwork, MKL_INT64* info ) NOTHROW;

void CTREXC_64( const char* compq, const MKL_INT64* n, MKL_Complex8* t,
             const MKL_INT64* ldt, MKL_Complex8* q, const MKL_INT64* ldq,
             const MKL_INT64* ifst, const MKL_INT64* ilst, MKL_INT64* info ) NOTHROW;
void ctrexc_64( const char* compq, const MKL_INT64* n, MKL_Complex8* t,
             const MKL_INT64* ldt, MKL_Complex8* q, const MKL_INT64* ldq,
             const MKL_INT64* ifst, const MKL_INT64* ilst, MKL_INT64* info ) NOTHROW;

void CTRRFS_64( const char* uplo, const char* trans, const char* diag,
             const MKL_INT64* n, const MKL_INT64* nrhs, const MKL_Complex8* a,
             const MKL_INT64* lda, const MKL_Complex8* b, const MKL_INT64* ldb,
             const MKL_Complex8* x, const MKL_INT64* ldx, float* ferr,
             float* berr, MKL_Complex8* work, float* rwork, MKL_INT64* info ) NOTHROW;
void ctrrfs_64( const char* uplo, const char* trans, const char* diag,
             const MKL_INT64* n, const MKL_INT64* nrhs, const MKL_Complex8* a,
             const MKL_INT64* lda, const MKL_Complex8* b, const MKL_INT64* ldb,
             const MKL_Complex8* x, const MKL_INT64* ldx, float* ferr,
             float* berr, MKL_Complex8* work, float* rwork, MKL_INT64* info ) NOTHROW;

void CTRSEN_64( const char* job, const char* compq, const MKL_INT64* select,
             const MKL_INT64* n, MKL_Complex8* t, const MKL_INT64* ldt,
             MKL_Complex8* q, const MKL_INT64* ldq, MKL_Complex8* w, MKL_INT64* m,
             float* s, float* sep, MKL_Complex8* work, const MKL_INT64* lwork,
             MKL_INT64* info ) NOTHROW;
void ctrsen_64( const char* job, const char* compq, const MKL_INT64* select,
             const MKL_INT64* n, MKL_Complex8* t, const MKL_INT64* ldt,
             MKL_Complex8* q, const MKL_INT64* ldq, MKL_Complex8* w, MKL_INT64* m,
             float* s, float* sep, MKL_Complex8* work, const MKL_INT64* lwork,
             MKL_INT64* info ) NOTHROW;

void CTRSNA_64( const char* job, const char* howmny, const MKL_INT64* select,
             const MKL_INT64* n, const MKL_Complex8* t, const MKL_INT64* ldt,
             const MKL_Complex8* vl, const MKL_INT64* ldvl,
             const MKL_Complex8* vr, const MKL_INT64* ldvr, float* s, float* sep,
             const MKL_INT64* mm, MKL_INT64* m, MKL_Complex8* work,
             const MKL_INT64* ldwork, float* rwork, MKL_INT64* info ) NOTHROW;
void ctrsna_64( const char* job, const char* howmny, const MKL_INT64* select,
             const MKL_INT64* n, const MKL_Complex8* t, const MKL_INT64* ldt,
             const MKL_Complex8* vl, const MKL_INT64* ldvl,
             const MKL_Complex8* vr, const MKL_INT64* ldvr, float* s, float* sep,
             const MKL_INT64* mm, MKL_INT64* m, MKL_Complex8* work,
             const MKL_INT64* ldwork, float* rwork, MKL_INT64* info ) NOTHROW;

void CTRSYL_64( const char* trana, const char* tranb, const MKL_INT64* isgn,
             const MKL_INT64* m, const MKL_INT64* n, const MKL_Complex8* a,
             const MKL_INT64* lda, const MKL_Complex8* b, const MKL_INT64* ldb,
             MKL_Complex8* c, const MKL_INT64* ldc, float* scale,
             MKL_INT64* info ) NOTHROW;
void ctrsyl_64( const char* trana, const char* tranb, const MKL_INT64* isgn,
             const MKL_INT64* m, const MKL_INT64* n, const MKL_Complex8* a,
             const MKL_INT64* lda, const MKL_Complex8* b, const MKL_INT64* ldb,
             MKL_Complex8* c, const MKL_INT64* ldc, float* scale,
             MKL_INT64* info ) NOTHROW;

void CTRTI2_64( const char* uplo, const char* diag, const MKL_INT64* n,
             MKL_Complex8* a, const MKL_INT64* lda, MKL_INT64* info ) NOTHROW;
void ctrti2_64( const char* uplo, const char* diag, const MKL_INT64* n,
             MKL_Complex8* a, const MKL_INT64* lda, MKL_INT64* info ) NOTHROW;

void CTRTRI_64( const char* uplo, const char* diag, const MKL_INT64* n,
             MKL_Complex8* a, const MKL_INT64* lda, MKL_INT64* info ) NOTHROW;
void ctrtri_64( const char* uplo, const char* diag, const MKL_INT64* n,
             MKL_Complex8* a, const MKL_INT64* lda, MKL_INT64* info ) NOTHROW;

void CTRTRS_64( const char* uplo, const char* trans, const char* diag,
             const MKL_INT64* n, const MKL_INT64* nrhs, const MKL_Complex8* a,
             const MKL_INT64* lda, MKL_Complex8* b, const MKL_INT64* ldb,
             MKL_INT64* info ) NOTHROW;
void ctrtrs_64( const char* uplo, const char* trans, const char* diag,
             const MKL_INT64* n, const MKL_INT64* nrhs, const MKL_Complex8* a,
             const MKL_INT64* lda, MKL_Complex8* b, const MKL_INT64* ldb,
             MKL_INT64* info ) NOTHROW;

void CTRTTF_64( const char* transr, const char* uplo, const MKL_INT64* n,
             const MKL_Complex8* a, const MKL_INT64* lda, MKL_Complex8* arf,
             MKL_INT64* info ) NOTHROW;
void ctrttf_64( const char* transr, const char* uplo, const MKL_INT64* n,
             const MKL_Complex8* a, const MKL_INT64* lda, MKL_Complex8* arf,
             MKL_INT64* info ) NOTHROW;

void CTRTTP_64( const char* uplo, const MKL_INT64* n, const MKL_Complex8* a,
             const MKL_INT64* lda, MKL_Complex8* ap, MKL_INT64* info ) NOTHROW;
void ctrttp_64( const char* uplo, const MKL_INT64* n, const MKL_Complex8* a,
             const MKL_INT64* lda, MKL_Complex8* ap, MKL_INT64* info ) NOTHROW;

void CTZRQF_64( const MKL_INT64* m, const MKL_INT64* n, MKL_Complex8* a,
             const MKL_INT64* lda, MKL_Complex8* tau, MKL_INT64* info ) NOTHROW;
void ctzrqf_64( const MKL_INT64* m, const MKL_INT64* n, MKL_Complex8* a,
             const MKL_INT64* lda, MKL_Complex8* tau, MKL_INT64* info ) NOTHROW;

void CTZRZF_64( const MKL_INT64* m, const MKL_INT64* n, MKL_Complex8* a,
             const MKL_INT64* lda, MKL_Complex8* tau, MKL_Complex8* work,
             const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;
void ctzrzf_64( const MKL_INT64* m, const MKL_INT64* n, MKL_Complex8* a,
             const MKL_INT64* lda, MKL_Complex8* tau, MKL_Complex8* work,
             const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;

void CUNG2L_64( const MKL_INT64* m, const MKL_INT64* n, const MKL_INT64* k,
             MKL_Complex8* a, const MKL_INT64* lda, const MKL_Complex8* tau,
             MKL_Complex8* work, MKL_INT64* info ) NOTHROW;
void cung2l_64( const MKL_INT64* m, const MKL_INT64* n, const MKL_INT64* k,
             MKL_Complex8* a, const MKL_INT64* lda, const MKL_Complex8* tau,
             MKL_Complex8* work, MKL_INT64* info ) NOTHROW;

void CUNG2R_64( const MKL_INT64* m, const MKL_INT64* n, const MKL_INT64* k,
             MKL_Complex8* a, const MKL_INT64* lda, const MKL_Complex8* tau,
             MKL_Complex8* work, MKL_INT64* info ) NOTHROW;
void cung2r_64( const MKL_INT64* m, const MKL_INT64* n, const MKL_INT64* k,
             MKL_Complex8* a, const MKL_INT64* lda, const MKL_Complex8* tau,
             MKL_Complex8* work, MKL_INT64* info ) NOTHROW;

void CUNGBR_64( const char* vect, const MKL_INT64* m, const MKL_INT64* n,
             const MKL_INT64* k, MKL_Complex8* a, const MKL_INT64* lda,
             const MKL_Complex8* tau, MKL_Complex8* work, const MKL_INT64* lwork,
             MKL_INT64* info ) NOTHROW;
void cungbr_64( const char* vect, const MKL_INT64* m, const MKL_INT64* n,
             const MKL_INT64* k, MKL_Complex8* a, const MKL_INT64* lda,
             const MKL_Complex8* tau, MKL_Complex8* work, const MKL_INT64* lwork,
             MKL_INT64* info ) NOTHROW;

void CUNGHR_64( const MKL_INT64* n, const MKL_INT64* ilo, const MKL_INT64* ihi,
             MKL_Complex8* a, const MKL_INT64* lda, const MKL_Complex8* tau,
             MKL_Complex8* work, const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;
void cunghr_64( const MKL_INT64* n, const MKL_INT64* ilo, const MKL_INT64* ihi,
             MKL_Complex8* a, const MKL_INT64* lda, const MKL_Complex8* tau,
             MKL_Complex8* work, const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;

void CUNGL2_64( const MKL_INT64* m, const MKL_INT64* n, const MKL_INT64* k,
             MKL_Complex8* a, const MKL_INT64* lda, const MKL_Complex8* tau,
             MKL_Complex8* work, MKL_INT64* info ) NOTHROW;
void cungl2_64( const MKL_INT64* m, const MKL_INT64* n, const MKL_INT64* k,
             MKL_Complex8* a, const MKL_INT64* lda, const MKL_Complex8* tau,
             MKL_Complex8* work, MKL_INT64* info ) NOTHROW;

void CUNGLQ_64( const MKL_INT64* m, const MKL_INT64* n, const MKL_INT64* k,
             MKL_Complex8* a, const MKL_INT64* lda, const MKL_Complex8* tau,
             MKL_Complex8* work, const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;
void cunglq_64( const MKL_INT64* m, const MKL_INT64* n, const MKL_INT64* k,
             MKL_Complex8* a, const MKL_INT64* lda, const MKL_Complex8* tau,
             MKL_Complex8* work, const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;

void CUNGQL_64( const MKL_INT64* m, const MKL_INT64* n, const MKL_INT64* k,
             MKL_Complex8* a, const MKL_INT64* lda, const MKL_Complex8* tau,
             MKL_Complex8* work, const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;
void cungql_64( const MKL_INT64* m, const MKL_INT64* n, const MKL_INT64* k,
             MKL_Complex8* a, const MKL_INT64* lda, const MKL_Complex8* tau,
             MKL_Complex8* work, const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;

void CUNGQR_64( const MKL_INT64* m, const MKL_INT64* n, const MKL_INT64* k,
             MKL_Complex8* a, const MKL_INT64* lda, const MKL_Complex8* tau,
             MKL_Complex8* work, const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;
void cungqr_64( const MKL_INT64* m, const MKL_INT64* n, const MKL_INT64* k,
             MKL_Complex8* a, const MKL_INT64* lda, const MKL_Complex8* tau,
             MKL_Complex8* work, const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;

void CUNGR2_64( const MKL_INT64* m, const MKL_INT64* n, const MKL_INT64* k,
             MKL_Complex8* a, const MKL_INT64* lda, const MKL_Complex8* tau,
             MKL_Complex8* work, MKL_INT64* info ) NOTHROW;
void cungr2_64( const MKL_INT64* m, const MKL_INT64* n, const MKL_INT64* k,
             MKL_Complex8* a, const MKL_INT64* lda, const MKL_Complex8* tau,
             MKL_Complex8* work, MKL_INT64* info ) NOTHROW;

void CUNGRQ_64( const MKL_INT64* m, const MKL_INT64* n, const MKL_INT64* k,
             MKL_Complex8* a, const MKL_INT64* lda, const MKL_Complex8* tau,
             MKL_Complex8* work, const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;
void cungrq_64( const MKL_INT64* m, const MKL_INT64* n, const MKL_INT64* k,
             MKL_Complex8* a, const MKL_INT64* lda, const MKL_Complex8* tau,
             MKL_Complex8* work, const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;

void CUNGTR_64( const char* uplo, const MKL_INT64* n, MKL_Complex8* a,
             const MKL_INT64* lda, const MKL_Complex8* tau, MKL_Complex8* work,
             const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;
void cungtr_64( const char* uplo, const MKL_INT64* n, MKL_Complex8* a,
             const MKL_INT64* lda, const MKL_Complex8* tau, MKL_Complex8* work,
             const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;

void CUNM2L_64( const char* side, const char* trans, const MKL_INT64* m,
             const MKL_INT64* n, const MKL_INT64* k, const MKL_Complex8* a,
             const MKL_INT64* lda, const MKL_Complex8* tau, MKL_Complex8* c,
             const MKL_INT64* ldc, MKL_Complex8* work, MKL_INT64* info ) NOTHROW;
void cunm2l_64( const char* side, const char* trans, const MKL_INT64* m,
             const MKL_INT64* n, const MKL_INT64* k, const MKL_Complex8* a,
             const MKL_INT64* lda, const MKL_Complex8* tau, MKL_Complex8* c,
             const MKL_INT64* ldc, MKL_Complex8* work, MKL_INT64* info ) NOTHROW;

void CUNM2R_64( const char* side, const char* trans, const MKL_INT64* m,
             const MKL_INT64* n, const MKL_INT64* k, const MKL_Complex8* a,
             const MKL_INT64* lda, const MKL_Complex8* tau, MKL_Complex8* c,
             const MKL_INT64* ldc, MKL_Complex8* work, MKL_INT64* info ) NOTHROW;
void cunm2r_64( const char* side, const char* trans, const MKL_INT64* m,
             const MKL_INT64* n, const MKL_INT64* k, const MKL_Complex8* a,
             const MKL_INT64* lda, const MKL_Complex8* tau, MKL_Complex8* c,
             const MKL_INT64* ldc, MKL_Complex8* work, MKL_INT64* info ) NOTHROW;

void CUNMBR_64( const char* vect, const char* side, const char* trans,
             const MKL_INT64* m, const MKL_INT64* n, const MKL_INT64* k,
             const MKL_Complex8* a, const MKL_INT64* lda,
             const MKL_Complex8* tau, MKL_Complex8* c, const MKL_INT64* ldc,
             MKL_Complex8* work, const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;
void cunmbr_64( const char* vect, const char* side, const char* trans,
             const MKL_INT64* m, const MKL_INT64* n, const MKL_INT64* k,
             const MKL_Complex8* a, const MKL_INT64* lda,
             const MKL_Complex8* tau, MKL_Complex8* c, const MKL_INT64* ldc,
             MKL_Complex8* work, const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;

void CUNMHR_64( const char* side, const char* trans, const MKL_INT64* m,
             const MKL_INT64* n, const MKL_INT64* ilo, const MKL_INT64* ihi,
             const MKL_Complex8* a, const MKL_INT64* lda,
             const MKL_Complex8* tau, MKL_Complex8* c, const MKL_INT64* ldc,
             MKL_Complex8* work, const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;
void cunmhr_64( const char* side, const char* trans, const MKL_INT64* m,
             const MKL_INT64* n, const MKL_INT64* ilo, const MKL_INT64* ihi,
             const MKL_Complex8* a, const MKL_INT64* lda,
             const MKL_Complex8* tau, MKL_Complex8* c, const MKL_INT64* ldc,
             MKL_Complex8* work, const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;

void CUNML2_64( const char* side, const char* trans, const MKL_INT64* m,
             const MKL_INT64* n, const MKL_INT64* k, const MKL_Complex8* a,
             const MKL_INT64* lda, const MKL_Complex8* tau, MKL_Complex8* c,
             const MKL_INT64* ldc, MKL_Complex8* work, MKL_INT64* info ) NOTHROW;
void cunml2_64( const char* side, const char* trans, const MKL_INT64* m,
             const MKL_INT64* n, const MKL_INT64* k, const MKL_Complex8* a,
             const MKL_INT64* lda, const MKL_Complex8* tau, MKL_Complex8* c,
             const MKL_INT64* ldc, MKL_Complex8* work, MKL_INT64* info ) NOTHROW;

void CUNMLQ_64( const char* side, const char* trans, const MKL_INT64* m,
             const MKL_INT64* n, const MKL_INT64* k, const MKL_Complex8* a,
             const MKL_INT64* lda, const MKL_Complex8* tau, MKL_Complex8* c,
             const MKL_INT64* ldc, MKL_Complex8* work, const MKL_INT64* lwork,
             MKL_INT64* info ) NOTHROW;
void cunmlq_64( const char* side, const char* trans, const MKL_INT64* m,
             const MKL_INT64* n, const MKL_INT64* k, const MKL_Complex8* a,
             const MKL_INT64* lda, const MKL_Complex8* tau, MKL_Complex8* c,
             const MKL_INT64* ldc, MKL_Complex8* work, const MKL_INT64* lwork,
             MKL_INT64* info ) NOTHROW;

void CUNMQL_64( const char* side, const char* trans, const MKL_INT64* m,
             const MKL_INT64* n, const MKL_INT64* k, const MKL_Complex8* a,
             const MKL_INT64* lda, const MKL_Complex8* tau, MKL_Complex8* c,
             const MKL_INT64* ldc, MKL_Complex8* work, const MKL_INT64* lwork,
             MKL_INT64* info ) NOTHROW;
void cunmql_64( const char* side, const char* trans, const MKL_INT64* m,
             const MKL_INT64* n, const MKL_INT64* k, const MKL_Complex8* a,
             const MKL_INT64* lda, const MKL_Complex8* tau, MKL_Complex8* c,
             const MKL_INT64* ldc, MKL_Complex8* work, const MKL_INT64* lwork,
             MKL_INT64* info ) NOTHROW;

void CUNMQR_64( const char* side, const char* trans, const MKL_INT64* m,
             const MKL_INT64* n, const MKL_INT64* k, const MKL_Complex8* a,
             const MKL_INT64* lda, const MKL_Complex8* tau, MKL_Complex8* c,
             const MKL_INT64* ldc, MKL_Complex8* work, const MKL_INT64* lwork,
             MKL_INT64* info ) NOTHROW;
void cunmqr_64( const char* side, const char* trans, const MKL_INT64* m,
             const MKL_INT64* n, const MKL_INT64* k, const MKL_Complex8* a,
             const MKL_INT64* lda, const MKL_Complex8* tau, MKL_Complex8* c,
             const MKL_INT64* ldc, MKL_Complex8* work, const MKL_INT64* lwork,
             MKL_INT64* info ) NOTHROW;

void CUNMR2_64( const char* side, const char* trans, const MKL_INT64* m,
             const MKL_INT64* n, const MKL_INT64* k, const MKL_Complex8* a,
             const MKL_INT64* lda, const MKL_Complex8* tau, MKL_Complex8* c,
             const MKL_INT64* ldc, MKL_Complex8* work, MKL_INT64* info ) NOTHROW;
void cunmr2_64( const char* side, const char* trans, const MKL_INT64* m,
             const MKL_INT64* n, const MKL_INT64* k, const MKL_Complex8* a,
             const MKL_INT64* lda, const MKL_Complex8* tau, MKL_Complex8* c,
             const MKL_INT64* ldc, MKL_Complex8* work, MKL_INT64* info ) NOTHROW;

void CUNMR3_64( const char* side, const char* trans, const MKL_INT64* m,
             const MKL_INT64* n, const MKL_INT64* k, const MKL_INT64* l,
             const MKL_Complex8* a, const MKL_INT64* lda,
             const MKL_Complex8* tau, MKL_Complex8* c, const MKL_INT64* ldc,
             MKL_Complex8* work, MKL_INT64* info ) NOTHROW;
void cunmr3_64( const char* side, const char* trans, const MKL_INT64* m,
             const MKL_INT64* n, const MKL_INT64* k, const MKL_INT64* l,
             const MKL_Complex8* a, const MKL_INT64* lda,
             const MKL_Complex8* tau, MKL_Complex8* c, const MKL_INT64* ldc,
             MKL_Complex8* work, MKL_INT64* info ) NOTHROW;

void CUNMRQ_64( const char* side, const char* trans, const MKL_INT64* m,
             const MKL_INT64* n, const MKL_INT64* k, const MKL_Complex8* a,
             const MKL_INT64* lda, const MKL_Complex8* tau, MKL_Complex8* c,
             const MKL_INT64* ldc, MKL_Complex8* work, const MKL_INT64* lwork,
             MKL_INT64* info ) NOTHROW;
void cunmrq_64( const char* side, const char* trans, const MKL_INT64* m,
             const MKL_INT64* n, const MKL_INT64* k, const MKL_Complex8* a,
             const MKL_INT64* lda, const MKL_Complex8* tau, MKL_Complex8* c,
             const MKL_INT64* ldc, MKL_Complex8* work, const MKL_INT64* lwork,
             MKL_INT64* info ) NOTHROW;

void CUNMRZ_64( const char* side, const char* trans, const MKL_INT64* m,
             const MKL_INT64* n, const MKL_INT64* k, const MKL_INT64* l,
             const MKL_Complex8* a, const MKL_INT64* lda,
             const MKL_Complex8* tau, MKL_Complex8* c, const MKL_INT64* ldc,
             MKL_Complex8* work, const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;
void cunmrz_64( const char* side, const char* trans, const MKL_INT64* m,
             const MKL_INT64* n, const MKL_INT64* k, const MKL_INT64* l,
             const MKL_Complex8* a, const MKL_INT64* lda,
             const MKL_Complex8* tau, MKL_Complex8* c, const MKL_INT64* ldc,
             MKL_Complex8* work, const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;

void CUNMTR_64( const char* side, const char* uplo, const char* trans,
             const MKL_INT64* m, const MKL_INT64* n, const MKL_Complex8* a,
             const MKL_INT64* lda, const MKL_Complex8* tau, MKL_Complex8* c,
             const MKL_INT64* ldc, MKL_Complex8* work, const MKL_INT64* lwork,
             MKL_INT64* info ) NOTHROW;
void cunmtr_64( const char* side, const char* uplo, const char* trans,
             const MKL_INT64* m, const MKL_INT64* n, const MKL_Complex8* a,
             const MKL_INT64* lda, const MKL_Complex8* tau, MKL_Complex8* c,
             const MKL_INT64* ldc, MKL_Complex8* work, const MKL_INT64* lwork,
             MKL_INT64* info ) NOTHROW;

void CUPGTR_64( const char* uplo, const MKL_INT64* n, const MKL_Complex8* ap,
             const MKL_Complex8* tau, MKL_Complex8* q, const MKL_INT64* ldq,
             MKL_Complex8* work, MKL_INT64* info ) NOTHROW;
void cupgtr_64( const char* uplo, const MKL_INT64* n, const MKL_Complex8* ap,
             const MKL_Complex8* tau, MKL_Complex8* q, const MKL_INT64* ldq,
             MKL_Complex8* work, MKL_INT64* info ) NOTHROW;

void CUPMTR_64( const char* side, const char* uplo, const char* trans,
             const MKL_INT64* m, const MKL_INT64* n, const MKL_Complex8* ap,
             const MKL_Complex8* tau, MKL_Complex8* c, const MKL_INT64* ldc,
             MKL_Complex8* work, MKL_INT64* info ) NOTHROW;
void cupmtr_64( const char* side, const char* uplo, const char* trans,
             const MKL_INT64* m, const MKL_INT64* n, const MKL_Complex8* ap,
             const MKL_Complex8* tau, MKL_Complex8* c, const MKL_INT64* ldc,
             MKL_Complex8* work, MKL_INT64* info ) NOTHROW;

void DBDSDC_64( const char* uplo, const char* compq, const MKL_INT64* n, double* d,
             double* e, double* u, const MKL_INT64* ldu, double* vt,
             const MKL_INT64* ldvt, double* q, MKL_INT64* iq, double* work,
             MKL_INT64* iwork, MKL_INT64* info ) NOTHROW;
void dbdsdc_64( const char* uplo, const char* compq, const MKL_INT64* n, double* d,
             double* e, double* u, const MKL_INT64* ldu, double* vt,
             const MKL_INT64* ldvt, double* q, MKL_INT64* iq, double* work,
             MKL_INT64* iwork, MKL_INT64* info ) NOTHROW;

void DBDSQR_64( const char* uplo, const MKL_INT64* n, const MKL_INT64* ncvt,
             const MKL_INT64* nru, const MKL_INT64* ncc, double* d, double* e,
             double* vt, const MKL_INT64* ldvt, double* u, const MKL_INT64* ldu,
             double* c, const MKL_INT64* ldc, double* work, MKL_INT64* info ) NOTHROW;
void dbdsqr_64( const char* uplo, const MKL_INT64* n, const MKL_INT64* ncvt,
             const MKL_INT64* nru, const MKL_INT64* ncc, double* d, double* e,
             double* vt, const MKL_INT64* ldvt, double* u, const MKL_INT64* ldu,
             double* c, const MKL_INT64* ldc, double* work, MKL_INT64* info ) NOTHROW;

void DDISNA_64( const char* job, const MKL_INT64* m, const MKL_INT64* n,
             const double* d, double* sep, MKL_INT64* info ) NOTHROW;
void ddisna_64( const char* job, const MKL_INT64* m, const MKL_INT64* n,
             const double* d, double* sep, MKL_INT64* info ) NOTHROW;

void DGBBRD_64( const char* vect, const MKL_INT64* m, const MKL_INT64* n,
             const MKL_INT64* ncc, const MKL_INT64* kl, const MKL_INT64* ku,
             double* ab, const MKL_INT64* ldab, double* d, double* e, double* q,
             const MKL_INT64* ldq, double* pt, const MKL_INT64* ldpt, double* c,
             const MKL_INT64* ldc, double* work, MKL_INT64* info ) NOTHROW;
void dgbbrd_64( const char* vect, const MKL_INT64* m, const MKL_INT64* n,
             const MKL_INT64* ncc, const MKL_INT64* kl, const MKL_INT64* ku,
             double* ab, const MKL_INT64* ldab, double* d, double* e, double* q,
             const MKL_INT64* ldq, double* pt, const MKL_INT64* ldpt, double* c,
             const MKL_INT64* ldc, double* work, MKL_INT64* info ) NOTHROW;

void DGBCON_64( const char* norm, const MKL_INT64* n, const MKL_INT64* kl,
             const MKL_INT64* ku, const double* ab, const MKL_INT64* ldab,
             const MKL_INT64* ipiv, const double* anorm, double* rcond,
             double* work, MKL_INT64* iwork, MKL_INT64* info ) NOTHROW;
void dgbcon_64( const char* norm, const MKL_INT64* n, const MKL_INT64* kl,
             const MKL_INT64* ku, const double* ab, const MKL_INT64* ldab,
             const MKL_INT64* ipiv, const double* anorm, double* rcond,
             double* work, MKL_INT64* iwork, MKL_INT64* info ) NOTHROW;

void DGBEQUB_64( const MKL_INT64* m, const MKL_INT64* n, const MKL_INT64* kl,
              const MKL_INT64* ku, const double* ab, const MKL_INT64* ldab,
              double* r, double* c, double* rowcnd, double* colcnd,
              double* amax, MKL_INT64* info ) NOTHROW;
void dgbequb_64( const MKL_INT64* m, const MKL_INT64* n, const MKL_INT64* kl,
              const MKL_INT64* ku, const double* ab, const MKL_INT64* ldab,
              double* r, double* c, double* rowcnd, double* colcnd,
              double* amax, MKL_INT64* info ) NOTHROW;

void DGBEQU_64( const MKL_INT64* m, const MKL_INT64* n, const MKL_INT64* kl,
             const MKL_INT64* ku, const double* ab, const MKL_INT64* ldab,
             double* r, double* c, double* rowcnd, double* colcnd,
             double* amax, MKL_INT64* info ) NOTHROW;
void dgbequ_64( const MKL_INT64* m, const MKL_INT64* n, const MKL_INT64* kl,
             const MKL_INT64* ku, const double* ab, const MKL_INT64* ldab,
             double* r, double* c, double* rowcnd, double* colcnd,
             double* amax, MKL_INT64* info ) NOTHROW;

void DGBRFS_64( const char* trans, const MKL_INT64* n, const MKL_INT64* kl,
             const MKL_INT64* ku, const MKL_INT64* nrhs, const double* ab,
             const MKL_INT64* ldab, const double* afb, const MKL_INT64* ldafb,
             const MKL_INT64* ipiv, const double* b, const MKL_INT64* ldb,
             double* x, const MKL_INT64* ldx, double* ferr, double* berr,
             double* work, MKL_INT64* iwork, MKL_INT64* info ) NOTHROW;
void dgbrfs_64( const char* trans, const MKL_INT64* n, const MKL_INT64* kl,
             const MKL_INT64* ku, const MKL_INT64* nrhs, const double* ab,
             const MKL_INT64* ldab, const double* afb, const MKL_INT64* ldafb,
             const MKL_INT64* ipiv, const double* b, const MKL_INT64* ldb,
             double* x, const MKL_INT64* ldx, double* ferr, double* berr,
             double* work, MKL_INT64* iwork, MKL_INT64* info ) NOTHROW;

void DGBRFSX_64( const char* trans, const char* equed, const MKL_INT64* n,
              const MKL_INT64* kl, const MKL_INT64* ku, const MKL_INT64* nrhs,
              const double* ab, const MKL_INT64* ldab, const double* afb,
              const MKL_INT64* ldafb, const MKL_INT64* ipiv, double* r,
              double* c, const double* b, const MKL_INT64* ldb, double* x,
              const MKL_INT64* ldx, double* rcond, double* berr,
              const MKL_INT64* n_err_bnds, double* err_bnds_norm,
              double* err_bnds_comp, const MKL_INT64* nparams, double* params,
              double* work, MKL_INT64* iwork, MKL_INT64* info ) NOTHROW;
void dgbrfsx_64( const char* trans, const char* equed, const MKL_INT64* n,
              const MKL_INT64* kl, const MKL_INT64* ku, const MKL_INT64* nrhs,
              const double* ab, const MKL_INT64* ldab, const double* afb,
              const MKL_INT64* ldafb, const MKL_INT64* ipiv, double* r,
              double* c, const double* b, const MKL_INT64* ldb, double* x,
              const MKL_INT64* ldx, double* rcond, double* berr,
              const MKL_INT64* n_err_bnds, double* err_bnds_norm,
              double* err_bnds_comp, const MKL_INT64* nparams, double* params,
              double* work, MKL_INT64* iwork, MKL_INT64* info ) NOTHROW;

void DGBSV_64( const MKL_INT64* n, const MKL_INT64* kl, const MKL_INT64* ku,
            const MKL_INT64* nrhs, double* ab, const MKL_INT64* ldab,
            MKL_INT64* ipiv, double* b, const MKL_INT64* ldb, MKL_INT64* info ) NOTHROW;
void dgbsv_64( const MKL_INT64* n, const MKL_INT64* kl, const MKL_INT64* ku,
            const MKL_INT64* nrhs, double* ab, const MKL_INT64* ldab,
            MKL_INT64* ipiv, double* b, const MKL_INT64* ldb, MKL_INT64* info ) NOTHROW;

void DGBSVX_64( const char* fact, const char* trans, const MKL_INT64* n,
             const MKL_INT64* kl, const MKL_INT64* ku, const MKL_INT64* nrhs,
             double* ab, const MKL_INT64* ldab, double* afb,
             const MKL_INT64* ldafb, MKL_INT64* ipiv, char* equed, double* r,
             double* c, double* b, const MKL_INT64* ldb, double* x,
             const MKL_INT64* ldx, double* rcond, double* ferr, double* berr,
             double* work, MKL_INT64* iwork, MKL_INT64* info ) NOTHROW;
void dgbsvx_64( const char* fact, const char* trans, const MKL_INT64* n,
             const MKL_INT64* kl, const MKL_INT64* ku, const MKL_INT64* nrhs,
             double* ab, const MKL_INT64* ldab, double* afb,
             const MKL_INT64* ldafb, MKL_INT64* ipiv, char* equed, double* r,
             double* c, double* b, const MKL_INT64* ldb, double* x,
             const MKL_INT64* ldx, double* rcond, double* ferr, double* berr,
             double* work, MKL_INT64* iwork, MKL_INT64* info ) NOTHROW;

void DGBSVXX_64( const char* fact, const char* trans, const MKL_INT64* n,
              const MKL_INT64* kl, const MKL_INT64* ku, const MKL_INT64* nrhs,
              double* ab, const MKL_INT64* ldab, double* afb,
              const MKL_INT64* ldafb, MKL_INT64* ipiv, char* equed, double* r,
              double* c, double* b, const MKL_INT64* ldb, double* x,
              const MKL_INT64* ldx, double* rcond, double* rpvgrw, double* berr,
              const MKL_INT64* n_err_bnds, double* err_bnds_norm,
              double* err_bnds_comp, const MKL_INT64* nparams, double* params,
              double* work, MKL_INT64* iwork, MKL_INT64* info ) NOTHROW;
void dgbsvxx_64( const char* fact, const char* trans, const MKL_INT64* n,
              const MKL_INT64* kl, const MKL_INT64* ku, const MKL_INT64* nrhs,
              double* ab, const MKL_INT64* ldab, double* afb,
              const MKL_INT64* ldafb, MKL_INT64* ipiv, char* equed, double* r,
              double* c, double* b, const MKL_INT64* ldb, double* x,
              const MKL_INT64* ldx, double* rcond, double* rpvgrw, double* berr,
              const MKL_INT64* n_err_bnds, double* err_bnds_norm,
              double* err_bnds_comp, const MKL_INT64* nparams, double* params,
              double* work, MKL_INT64* iwork, MKL_INT64* info ) NOTHROW;

void DGBTF2_64( const MKL_INT64* m, const MKL_INT64* n, const MKL_INT64* kl,
             const MKL_INT64* ku, double* ab, const MKL_INT64* ldab, MKL_INT64* ipiv,
             MKL_INT64* info ) NOTHROW;
void dgbtf2_64( const MKL_INT64* m, const MKL_INT64* n, const MKL_INT64* kl,
             const MKL_INT64* ku, double* ab, const MKL_INT64* ldab, MKL_INT64* ipiv,
             MKL_INT64* info ) NOTHROW;

void DGBTRF_64( const MKL_INT64* m, const MKL_INT64* n, const MKL_INT64* kl,
             const MKL_INT64* ku, double* ab, const MKL_INT64* ldab, MKL_INT64* ipiv,
             MKL_INT64* info ) NOTHROW;
void dgbtrf_64( const MKL_INT64* m, const MKL_INT64* n, const MKL_INT64* kl,
             const MKL_INT64* ku, double* ab, const MKL_INT64* ldab, MKL_INT64* ipiv,
             MKL_INT64* info ) NOTHROW;

void DGBTRS_64( const char* trans, const MKL_INT64* n, const MKL_INT64* kl,
             const MKL_INT64* ku, const MKL_INT64* nrhs, const double* ab,
             const MKL_INT64* ldab, const MKL_INT64* ipiv, double* b,
             const MKL_INT64* ldb, MKL_INT64* info ) NOTHROW;
void dgbtrs_64( const char* trans, const MKL_INT64* n, const MKL_INT64* kl,
             const MKL_INT64* ku, const MKL_INT64* nrhs, const double* ab,
             const MKL_INT64* ldab, const MKL_INT64* ipiv, double* b,
             const MKL_INT64* ldb, MKL_INT64* info ) NOTHROW;

void DGEBAK_64( const char* job, const char* side, const MKL_INT64* n,
             const MKL_INT64* ilo, const MKL_INT64* ihi, const double* scale,
             const MKL_INT64* m, double* v, const MKL_INT64* ldv, MKL_INT64* info ) NOTHROW;
void dgebak_64( const char* job, const char* side, const MKL_INT64* n,
             const MKL_INT64* ilo, const MKL_INT64* ihi, const double* scale,
             const MKL_INT64* m, double* v, const MKL_INT64* ldv, MKL_INT64* info ) NOTHROW;

void DGEBAL_64( const char* job, const MKL_INT64* n, double* a, const MKL_INT64* lda,
             MKL_INT64* ilo, MKL_INT64* ihi, double* scale, MKL_INT64* info ) NOTHROW;
void dgebal_64( const char* job, const MKL_INT64* n, double* a, const MKL_INT64* lda,
             MKL_INT64* ilo, MKL_INT64* ihi, double* scale, MKL_INT64* info ) NOTHROW;

void DGEBD2_64( const MKL_INT64* m, const MKL_INT64* n, double* a, const MKL_INT64* lda,
             double* d, double* e, double* tauq, double* taup, double* work,
             MKL_INT64* info ) NOTHROW;
void dgebd2_64( const MKL_INT64* m, const MKL_INT64* n, double* a, const MKL_INT64* lda,
             double* d, double* e, double* tauq, double* taup, double* work,
             MKL_INT64* info ) NOTHROW;

void DGEBRD_64( const MKL_INT64* m, const MKL_INT64* n, double* a, const MKL_INT64* lda,
             double* d, double* e, double* tauq, double* taup, double* work,
             const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;
void dgebrd_64( const MKL_INT64* m, const MKL_INT64* n, double* a, const MKL_INT64* lda,
             double* d, double* e, double* tauq, double* taup, double* work,
             const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;

void DGECON_64( const char* norm, const MKL_INT64* n, const double* a,
             const MKL_INT64* lda, const double* anorm, double* rcond,
             double* work, MKL_INT64* iwork, MKL_INT64* info ) NOTHROW;
void dgecon_64( const char* norm, const MKL_INT64* n, const double* a,
             const MKL_INT64* lda, const double* anorm, double* rcond,
             double* work, MKL_INT64* iwork, MKL_INT64* info ) NOTHROW;

void DGEEQUB_64( const MKL_INT64* m, const MKL_INT64* n, const double* a,
              const MKL_INT64* lda, double* r, double* c, double* rowcnd,
              double* colcnd, double* amax, MKL_INT64* info ) NOTHROW;
void dgeequb_64( const MKL_INT64* m, const MKL_INT64* n, const double* a,
              const MKL_INT64* lda, double* r, double* c, double* rowcnd,
              double* colcnd, double* amax, MKL_INT64* info ) NOTHROW;

void DGEEQU_64( const MKL_INT64* m, const MKL_INT64* n, const double* a,
             const MKL_INT64* lda, double* r, double* c, double* rowcnd,
             double* colcnd, double* amax, MKL_INT64* info ) NOTHROW;
void dgeequ_64( const MKL_INT64* m, const MKL_INT64* n, const double* a,
             const MKL_INT64* lda, double* r, double* c, double* rowcnd,
             double* colcnd, double* amax, MKL_INT64* info ) NOTHROW;

void DGEES_64( const char* jobvs, const char* sort,
            MKL_D_SELECT_FUNCTION_2_64 select, const MKL_INT64* n, double* a,
            const MKL_INT64* lda, MKL_INT64* sdim, double* wr, double* wi,
            double* vs, const MKL_INT64* ldvs, double* work,
            const MKL_INT64* lwork, MKL_INT64* bwork, MKL_INT64* info ) NOTHROW;
void dgees_64( const char* jobvs, const char* sort,
            MKL_D_SELECT_FUNCTION_2_64 select, const MKL_INT64* n, double* a,
            const MKL_INT64* lda, MKL_INT64* sdim, double* wr, double* wi,
            double* vs, const MKL_INT64* ldvs, double* work,
            const MKL_INT64* lwork, MKL_INT64* bwork, MKL_INT64* info ) NOTHROW;

void DGEESX_64( const char* jobvs, const char* sort,
             MKL_D_SELECT_FUNCTION_2_64 select, const char* sense,
             const MKL_INT64* n, double* a, const MKL_INT64* lda, MKL_INT64* sdim,
             double* wr, double* wi, double* vs, const MKL_INT64* ldvs,
             double* rconde, double* rcondv, double* work,
             const MKL_INT64* lwork, MKL_INT64* iwork, const MKL_INT64* liwork,
             MKL_INT64* bwork, MKL_INT64* info ) NOTHROW;
void dgeesx_64( const char* jobvs, const char* sort,
             MKL_D_SELECT_FUNCTION_2_64 select, const char* sense,
             const MKL_INT64* n, double* a, const MKL_INT64* lda, MKL_INT64* sdim,
             double* wr, double* wi, double* vs, const MKL_INT64* ldvs,
             double* rconde, double* rcondv, double* work,
             const MKL_INT64* lwork, MKL_INT64* iwork, const MKL_INT64* liwork,
             MKL_INT64* bwork, MKL_INT64* info ) NOTHROW;

void DGEEV_64( const char* jobvl, const char* jobvr, const MKL_INT64* n, double* a,
            const MKL_INT64* lda, double* wr, double* wi, double* vl,
            const MKL_INT64* ldvl, double* vr, const MKL_INT64* ldvr, double* work,
            const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;
void dgeev_64( const char* jobvl, const char* jobvr, const MKL_INT64* n, double* a,
            const MKL_INT64* lda, double* wr, double* wi, double* vl,
            const MKL_INT64* ldvl, double* vr, const MKL_INT64* ldvr, double* work,
            const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;

void DGEEVX_64( const char* balanc, const char* jobvl, const char* jobvr,
             const char* sense, const MKL_INT64* n, double* a,
             const MKL_INT64* lda, double* wr, double* wi, double* vl,
             const MKL_INT64* ldvl, double* vr, const MKL_INT64* ldvr,
             MKL_INT64* ilo, MKL_INT64* ihi, double* scale, double* abnrm,
             double* rconde, double* rcondv, double* work,
             const MKL_INT64* lwork, MKL_INT64* iwork, MKL_INT64* info ) NOTHROW;
void dgeevx_64( const char* balanc, const char* jobvl, const char* jobvr,
             const char* sense, const MKL_INT64* n, double* a,
             const MKL_INT64* lda, double* wr, double* wi, double* vl,
             const MKL_INT64* ldvl, double* vr, const MKL_INT64* ldvr,
             MKL_INT64* ilo, MKL_INT64* ihi, double* scale, double* abnrm,
             double* rconde, double* rcondv, double* work,
             const MKL_INT64* lwork, MKL_INT64* iwork, MKL_INT64* info ) NOTHROW;

void DGEGS_64( const char* jobvsl, const char* jobvsr, const MKL_INT64* n,
            double* a, const MKL_INT64* lda, double* b, const MKL_INT64* ldb,
            double* alphar, double* alphai, double* beta, double* vsl,
            const MKL_INT64* ldvsl, double* vsr, const MKL_INT64* ldvsr,
            double* work, const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;
void dgegs_64( const char* jobvsl, const char* jobvsr, const MKL_INT64* n,
            double* a, const MKL_INT64* lda, double* b, const MKL_INT64* ldb,
            double* alphar, double* alphai, double* beta, double* vsl,
            const MKL_INT64* ldvsl, double* vsr, const MKL_INT64* ldvsr,
            double* work, const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;

void DGEGV_64( const char* jobvl, const char* jobvr, const MKL_INT64* n, double* a,
            const MKL_INT64* lda, double* b, const MKL_INT64* ldb, double* alphar,
            double* alphai, double* beta, double* vl, const MKL_INT64* ldvl,
            double* vr, const MKL_INT64* ldvr, double* work,
            const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;
void dgegv_64( const char* jobvl, const char* jobvr, const MKL_INT64* n, double* a,
            const MKL_INT64* lda, double* b, const MKL_INT64* ldb, double* alphar,
            double* alphai, double* beta, double* vl, const MKL_INT64* ldvl,
            double* vr, const MKL_INT64* ldvr, double* work,
            const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;

void DGEHD2_64( const MKL_INT64* n, const MKL_INT64* ilo, const MKL_INT64* ihi,
             double* a, const MKL_INT64* lda, double* tau, double* work,
             MKL_INT64* info ) NOTHROW;
void dgehd2_64( const MKL_INT64* n, const MKL_INT64* ilo, const MKL_INT64* ihi,
             double* a, const MKL_INT64* lda, double* tau, double* work,
             MKL_INT64* info ) NOTHROW;

void DGEHRD_64( const MKL_INT64* n, const MKL_INT64* ilo, const MKL_INT64* ihi,
             double* a, const MKL_INT64* lda, double* tau, double* work,
             const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;
void dgehrd_64( const MKL_INT64* n, const MKL_INT64* ilo, const MKL_INT64* ihi,
             double* a, const MKL_INT64* lda, double* tau, double* work,
             const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;

void DGEJSV_64( const char* joba, const char* jobu, const char* jobv, const char* jobr, const char* jobt,
             const char* jobp, const MKL_INT64* m, const MKL_INT64* n, double* a,
             const MKL_INT64* lda, double* sva, double* u, const MKL_INT64* ldu,
             double* v, const MKL_INT64* ldv, double* work, const MKL_INT64* lwork,
             MKL_INT64* iwork, MKL_INT64* info ) NOTHROW;
void dgejsv_64( const char* joba, const char* jobu, const char* jobv, const char* jobr, const char* jobt,
             const char* jobp, const MKL_INT64* m, const MKL_INT64* n, double* a,
             const MKL_INT64* lda, double* sva, double* u, const MKL_INT64* ldu,
             double* v, const MKL_INT64* ldv, double* work, const MKL_INT64* lwork,
             MKL_INT64* iwork, MKL_INT64* info ) NOTHROW;

void DGELQ2_64( const MKL_INT64* m, const MKL_INT64* n, double* a, const MKL_INT64* lda,
             double* tau, double* work, MKL_INT64* info ) NOTHROW;
void dgelq2_64( const MKL_INT64* m, const MKL_INT64* n, double* a, const MKL_INT64* lda,
             double* tau, double* work, MKL_INT64* info ) NOTHROW;

void DGELQF_64( const MKL_INT64* m, const MKL_INT64* n, double* a, const MKL_INT64* lda,
             double* tau, double* work, const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;
void dgelqf_64( const MKL_INT64* m, const MKL_INT64* n, double* a, const MKL_INT64* lda,
             double* tau, double* work, const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;

void DGELSD_64( const MKL_INT64* m, const MKL_INT64* n, const MKL_INT64* nrhs,
             double* a, const MKL_INT64* lda, double* b,
             const MKL_INT64* ldb, double* s, const double* rcond, MKL_INT64* rank,
             double* work, const MKL_INT64* lwork, MKL_INT64* iwork,
             MKL_INT64* info ) NOTHROW;
void dgelsd_64( const MKL_INT64* m, const MKL_INT64* n, const MKL_INT64* nrhs,
             double* a, const MKL_INT64* lda, double* b,
             const MKL_INT64* ldb, double* s, const double* rcond, MKL_INT64* rank,
             double* work, const MKL_INT64* lwork, MKL_INT64* iwork,
             MKL_INT64* info ) NOTHROW;

void DGELS_64( const char* trans, const MKL_INT64* m, const MKL_INT64* n,
            const MKL_INT64* nrhs, double* a, const MKL_INT64* lda, double* b,
            const MKL_INT64* ldb, double* work, const MKL_INT64* lwork,
            MKL_INT64* info ) NOTHROW;
void dgels_64( const char* trans, const MKL_INT64* m, const MKL_INT64* n,
            const MKL_INT64* nrhs, double* a, const MKL_INT64* lda, double* b,
            const MKL_INT64* ldb, double* work, const MKL_INT64* lwork,
            MKL_INT64* info ) NOTHROW;

void DGELSS_64( const MKL_INT64* m, const MKL_INT64* n, const MKL_INT64* nrhs,
             double* a, const MKL_INT64* lda, double* b, const MKL_INT64* ldb,
             double* s, const double* rcond, MKL_INT64* rank, double* work,
             const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;
void dgelss_64( const MKL_INT64* m, const MKL_INT64* n, const MKL_INT64* nrhs,
             double* a, const MKL_INT64* lda, double* b, const MKL_INT64* ldb,
             double* s, const double* rcond, MKL_INT64* rank, double* work,
             const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;

void DGELSX_64( const MKL_INT64* m, const MKL_INT64* n, const MKL_INT64* nrhs,
             double* a, const MKL_INT64* lda, double* b, const MKL_INT64* ldb,
             MKL_INT64* jpvt, const double* rcond, MKL_INT64* rank, double* work,
             MKL_INT64* info ) NOTHROW;
void dgelsx_64( const MKL_INT64* m, const MKL_INT64* n, const MKL_INT64* nrhs,
             double* a, const MKL_INT64* lda, double* b, const MKL_INT64* ldb,
             MKL_INT64* jpvt, const double* rcond, MKL_INT64* rank, double* work,
             MKL_INT64* info ) NOTHROW;

void DGELSY_64( const MKL_INT64* m, const MKL_INT64* n, const MKL_INT64* nrhs,
             double* a, const MKL_INT64* lda, double* b, const MKL_INT64* ldb,
             MKL_INT64* jpvt, const double* rcond, MKL_INT64* rank, double* work,
             const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;
void dgelsy_64( const MKL_INT64* m, const MKL_INT64* n, const MKL_INT64* nrhs,
             double* a, const MKL_INT64* lda, double* b, const MKL_INT64* ldb,
             MKL_INT64* jpvt, const double* rcond, MKL_INT64* rank, double* work,
             const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;

void DGEQL2_64( const MKL_INT64* m, const MKL_INT64* n, double* a, const MKL_INT64* lda,
             double* tau, double* work, MKL_INT64* info ) NOTHROW;
void dgeql2_64( const MKL_INT64* m, const MKL_INT64* n, double* a, const MKL_INT64* lda,
             double* tau, double* work, MKL_INT64* info ) NOTHROW;

void DGEQLF_64( const MKL_INT64* m, const MKL_INT64* n, double* a, const MKL_INT64* lda,
             double* tau, double* work, const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;
void dgeqlf_64( const MKL_INT64* m, const MKL_INT64* n, double* a, const MKL_INT64* lda,
             double* tau, double* work, const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;

void DGEQP3_64( const MKL_INT64* m, const MKL_INT64* n, double* a, const MKL_INT64* lda,
             MKL_INT64* jpvt, double* tau, double* work, const MKL_INT64* lwork,
             MKL_INT64* info ) NOTHROW;
void dgeqp3_64( const MKL_INT64* m, const MKL_INT64* n, double* a, const MKL_INT64* lda,
             MKL_INT64* jpvt, double* tau, double* work, const MKL_INT64* lwork,
             MKL_INT64* info ) NOTHROW;

void DGEQPF_64( const MKL_INT64* m, const MKL_INT64* n, double* a, const MKL_INT64* lda,
             MKL_INT64* jpvt, double* tau, double* work, MKL_INT64* info ) NOTHROW;
void dgeqpf_64( const MKL_INT64* m, const MKL_INT64* n, double* a, const MKL_INT64* lda,
             MKL_INT64* jpvt, double* tau, double* work, MKL_INT64* info ) NOTHROW;

void DGEQR2_64( const MKL_INT64* m, const MKL_INT64* n, double* a, const MKL_INT64* lda,
             double* tau, double* work, MKL_INT64* info ) NOTHROW;
void dgeqr2_64( const MKL_INT64* m, const MKL_INT64* n, double* a, const MKL_INT64* lda,
             double* tau, double* work, MKL_INT64* info ) NOTHROW;

void DGEQR2P_64( const MKL_INT64* m, const MKL_INT64* n, double* a, const MKL_INT64* lda,
              double* tau, double* work, MKL_INT64* info ) NOTHROW;
void dgeqr2p_64( const MKL_INT64* m, const MKL_INT64* n, double* a, const MKL_INT64* lda,
              double* tau, double* work, MKL_INT64* info ) NOTHROW;

void DGEQRF_64( const MKL_INT64* m, const MKL_INT64* n, double* a, const MKL_INT64* lda,
             double* tau, double* work, const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;
void dgeqrf_64( const MKL_INT64* m, const MKL_INT64* n, double* a, const MKL_INT64* lda,
             double* tau, double* work, const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;

void DGEQRFP_64( const MKL_INT64* m, const MKL_INT64* n, double* a, const MKL_INT64* lda,
              double* tau, double* work, const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;
void dgeqrfp_64( const MKL_INT64* m, const MKL_INT64* n, double* a, const MKL_INT64* lda,
              double* tau, double* work, const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;

void DGERFS_64( const char* trans, const MKL_INT64* n, const MKL_INT64* nrhs,
             const double* a, const MKL_INT64* lda, const double* af,
             const MKL_INT64* ldaf, const MKL_INT64* ipiv, const double* b,
             const MKL_INT64* ldb, double* x, const MKL_INT64* ldx, double* ferr,
             double* berr, double* work, MKL_INT64* iwork, MKL_INT64* info ) NOTHROW;
void dgerfs_64( const char* trans, const MKL_INT64* n, const MKL_INT64* nrhs,
             const double* a, const MKL_INT64* lda, const double* af,
             const MKL_INT64* ldaf, const MKL_INT64* ipiv, const double* b,
             const MKL_INT64* ldb, double* x, const MKL_INT64* ldx, double* ferr,
             double* berr, double* work, MKL_INT64* iwork, MKL_INT64* info ) NOTHROW;

void DGERFSX_64( const char* trans, const char* equed, const MKL_INT64* n,
              const MKL_INT64* nrhs, const double* a, const MKL_INT64* lda,
              const double* af, const MKL_INT64* ldaf, const MKL_INT64* ipiv,
              const double* r, const double* c, const double* b,
              const MKL_INT64* ldb, double* x, const MKL_INT64* ldx, double* rcond,
              double* berr, const MKL_INT64* n_err_bnds, double* err_bnds_norm,
              double* err_bnds_comp, const MKL_INT64* nparams, double* params,
              double* work, MKL_INT64* iwork, MKL_INT64* info ) NOTHROW;
void dgerfsx_64( const char* trans, const char* equed, const MKL_INT64* n,
              const MKL_INT64* nrhs, const double* a, const MKL_INT64* lda,
              const double* af, const MKL_INT64* ldaf, const MKL_INT64* ipiv,
              const double* r, const double* c, const double* b,
              const MKL_INT64* ldb, double* x, const MKL_INT64* ldx, double* rcond,
              double* berr, const MKL_INT64* n_err_bnds, double* err_bnds_norm,
              double* err_bnds_comp, const MKL_INT64* nparams, double* params,
              double* work, MKL_INT64* iwork, MKL_INT64* info ) NOTHROW;

void DGERQ2_64( const MKL_INT64* m, const MKL_INT64* n, double* a, const MKL_INT64* lda,
             double* tau, double* work, MKL_INT64* info ) NOTHROW;
void dgerq2_64( const MKL_INT64* m, const MKL_INT64* n, double* a, const MKL_INT64* lda,
             double* tau, double* work, MKL_INT64* info ) NOTHROW;

void DGERQF_64( const MKL_INT64* m, const MKL_INT64* n, double* a, const MKL_INT64* lda,
             double* tau, double* work, const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;
void dgerqf_64( const MKL_INT64* m, const MKL_INT64* n, double* a, const MKL_INT64* lda,
             double* tau, double* work, const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;

void DGESC2_64( const MKL_INT64* n, const double* a, const MKL_INT64* lda,
             double* rhs, const MKL_INT64* ipiv, const MKL_INT64* jpiv,
             double* scale ) NOTHROW;
void dgesc2_64( const MKL_INT64* n, const double* a, const MKL_INT64* lda,
             double* rhs, const MKL_INT64* ipiv, const MKL_INT64* jpiv,
             double* scale ) NOTHROW;

void DGESDD_64( const char* jobz, const MKL_INT64* m, const MKL_INT64* n, double* a,
             const MKL_INT64* lda, double* s, double* u, const MKL_INT64* ldu,
             double* vt, const MKL_INT64* ldvt, double* work,
             const MKL_INT64* lwork, MKL_INT64* iwork, MKL_INT64* info ) NOTHROW;
void dgesdd_64( const char* jobz, const MKL_INT64* m, const MKL_INT64* n, double* a,
             const MKL_INT64* lda, double* s, double* u, const MKL_INT64* ldu,
             double* vt, const MKL_INT64* ldvt, double* work,
             const MKL_INT64* lwork, MKL_INT64* iwork, MKL_INT64* info ) NOTHROW;

void DGESVD_64( const char* jobu, const char* jobvt, const MKL_INT64* m,
             const MKL_INT64* n, double* a, const MKL_INT64* lda, double* s,
             double* u, const MKL_INT64* ldu, double* vt, const MKL_INT64* ldvt,
             double* work, const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;
void dgesvd_64( const char* jobu, const char* jobvt, const MKL_INT64* m,
             const MKL_INT64* n, double* a, const MKL_INT64* lda, double* s,
             double* u, const MKL_INT64* ldu, double* vt, const MKL_INT64* ldvt,
             double* work, const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;

void DGESV_64( const MKL_INT64* n, const MKL_INT64* nrhs, double* a,
            const MKL_INT64* lda, MKL_INT64* ipiv, double* b, const MKL_INT64* ldb,
            MKL_INT64* info ) NOTHROW;
void dgesv_64( const MKL_INT64* n, const MKL_INT64* nrhs, double* a,
            const MKL_INT64* lda, MKL_INT64* ipiv, double* b, const MKL_INT64* ldb,
            MKL_INT64* info ) NOTHROW;

void DGESVJ_64( const char* joba, const char* jobu, const char* jobv,
             const MKL_INT64* m, const MKL_INT64* n, double* a, const MKL_INT64* lda,
             double* sva, const MKL_INT64* mv, double* v, const MKL_INT64* ldv,
             double* work, const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;
void dgesvj_64( const char* joba, const char* jobu, const char* jobv,
             const MKL_INT64* m, const MKL_INT64* n, double* a, const MKL_INT64* lda,
             double* sva, const MKL_INT64* mv, double* v, const MKL_INT64* ldv,
             double* work, const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;

void DGESVX_64( const char* fact, const char* trans, const MKL_INT64* n,
             const MKL_INT64* nrhs, double* a, const MKL_INT64* lda, double* af,
             const MKL_INT64* ldaf, MKL_INT64* ipiv, char* equed, double* r,
             double* c, double* b, const MKL_INT64* ldb, double* x,
             const MKL_INT64* ldx, double* rcond, double* ferr, double* berr,
             double* work, MKL_INT64* iwork, MKL_INT64* info ) NOTHROW;
void dgesvx_64( const char* fact, const char* trans, const MKL_INT64* n,
             const MKL_INT64* nrhs, double* a, const MKL_INT64* lda, double* af,
             const MKL_INT64* ldaf, MKL_INT64* ipiv, char* equed, double* r,
             double* c, double* b, const MKL_INT64* ldb, double* x,
             const MKL_INT64* ldx, double* rcond, double* ferr, double* berr,
             double* work, MKL_INT64* iwork, MKL_INT64* info ) NOTHROW;

void DGESVXX_64( const char* fact, const char* trans, const MKL_INT64* n,
              const MKL_INT64* nrhs, double* a, const MKL_INT64* lda, double* af,
              const MKL_INT64* ldaf, MKL_INT64* ipiv, char* equed, double* r,
              double* c, double* b, const MKL_INT64* ldb, double* x,
              const MKL_INT64* ldx, double* rcond, double* rpvgrw, double* berr,
              const MKL_INT64* n_err_bnds, double* err_bnds_norm,
              double* err_bnds_comp, const MKL_INT64* nparams, double* params,
              double* work, MKL_INT64* iwork, MKL_INT64* info ) NOTHROW;
void dgesvxx_64( const char* fact, const char* trans, const MKL_INT64* n,
              const MKL_INT64* nrhs, double* a, const MKL_INT64* lda, double* af,
              const MKL_INT64* ldaf, MKL_INT64* ipiv, char* equed, double* r,
              double* c, double* b, const MKL_INT64* ldb, double* x,
              const MKL_INT64* ldx, double* rcond, double* rpvgrw, double* berr,
              const MKL_INT64* n_err_bnds, double* err_bnds_norm,
              double* err_bnds_comp, const MKL_INT64* nparams, double* params,
              double* work, MKL_INT64* iwork, MKL_INT64* info ) NOTHROW;

void DGETC2_64( const MKL_INT64* n, double* a, const MKL_INT64* lda, MKL_INT64* ipiv,
             MKL_INT64* jpiv, MKL_INT64* info ) NOTHROW;
void dgetc2_64( const MKL_INT64* n, double* a, const MKL_INT64* lda, MKL_INT64* ipiv,
             MKL_INT64* jpiv, MKL_INT64* info ) NOTHROW;

void DGETF2_64( const MKL_INT64* m, const MKL_INT64* n, double* a, const MKL_INT64* lda,
             MKL_INT64* ipiv, MKL_INT64* info ) NOTHROW;
void dgetf2_64( const MKL_INT64* m, const MKL_INT64* n, double* a, const MKL_INT64* lda,
             MKL_INT64* ipiv, MKL_INT64* info ) NOTHROW;

void DGETRF_64( const MKL_INT64* m, const MKL_INT64* n, double* a, const MKL_INT64* lda,
             MKL_INT64* ipiv, MKL_INT64* info ) NOTHROW;
void dgetrf_64( const MKL_INT64* m, const MKL_INT64* n, double* a, const MKL_INT64* lda,
             MKL_INT64* ipiv, MKL_INT64* info ) NOTHROW;

void MKL_DGETRFNPI_64( const MKL_INT64* m, const MKL_INT64* n, const MKL_INT64* nfact,
                    double* a, const MKL_INT64* lda, MKL_INT64* info ) NOTHROW;
void MKL_DGETRFNPI_64_( const MKL_INT64* m, const MKL_INT64* n, const MKL_INT64* nfact,
                     double* a, const MKL_INT64* lda, MKL_INT64* info ) NOTHROW;
void mkl_dgetrfnpi_64( const MKL_INT64* m, const MKL_INT64* n, const MKL_INT64* nfact,
                    double* a, const MKL_INT64* lda, MKL_INT64* info ) NOTHROW;
void mkl_dgetrfnpi_64_( const MKL_INT64* m, const MKL_INT64* n, const MKL_INT64* nfact,
                     double* a, const MKL_INT64* lda, MKL_INT64* info ) NOTHROW;

void DGETRI_64( const MKL_INT64* n, double* a, const MKL_INT64* lda,
             const MKL_INT64* ipiv, double* work, const MKL_INT64* lwork,
             MKL_INT64* info ) NOTHROW;
void dgetri_64( const MKL_INT64* n, double* a, const MKL_INT64* lda,
             const MKL_INT64* ipiv, double* work, const MKL_INT64* lwork,
             MKL_INT64* info ) NOTHROW;

void DGETRS_64( const char* trans, const MKL_INT64* n, const MKL_INT64* nrhs,
             const double* a, const MKL_INT64* lda, const MKL_INT64* ipiv,
             double* b, const MKL_INT64* ldb, MKL_INT64* info ) NOTHROW;
void dgetrs_64( const char* trans, const MKL_INT64* n, const MKL_INT64* nrhs,
             const double* a, const MKL_INT64* lda, const MKL_INT64* ipiv,
             double* b, const MKL_INT64* ldb, MKL_INT64* info ) NOTHROW;

void DGGBAK_64( const char* job, const char* side, const MKL_INT64* n,
             const MKL_INT64* ilo, const MKL_INT64* ihi, const double* lscale,
             const double* rscale, const MKL_INT64* m, double* v,
             const MKL_INT64* ldv, MKL_INT64* info ) NOTHROW;
void dggbak_64( const char* job, const char* side, const MKL_INT64* n,
             const MKL_INT64* ilo, const MKL_INT64* ihi, const double* lscale,
             const double* rscale, const MKL_INT64* m, double* v,
             const MKL_INT64* ldv, MKL_INT64* info ) NOTHROW;

void DGGBAL_64( const char* job, const MKL_INT64* n, double* a, const MKL_INT64* lda,
             double* b, const MKL_INT64* ldb, MKL_INT64* ilo, MKL_INT64* ihi,
             double* lscale, double* rscale, double* work, MKL_INT64* info ) NOTHROW;
void dggbal_64( const char* job, const MKL_INT64* n, double* a, const MKL_INT64* lda,
             double* b, const MKL_INT64* ldb, MKL_INT64* ilo, MKL_INT64* ihi,
             double* lscale, double* rscale, double* work, MKL_INT64* info ) NOTHROW;

void DGGES_64( const char* jobvsl, const char* jobvsr, const char* sort,
            MKL_D_SELECT_FUNCTION_3_64 selctg, const MKL_INT64* n, double* a,
            const MKL_INT64* lda, double* b, const MKL_INT64* ldb, MKL_INT64* sdim,
            double* alphar, double* alphai, double* beta, double* vsl,
            const MKL_INT64* ldvsl, double* vsr, const MKL_INT64* ldvsr,
            double* work, const MKL_INT64* lwork, MKL_INT64* bwork,
            MKL_INT64* info ) NOTHROW;
void dgges_64( const char* jobvsl, const char* jobvsr, const char* sort,
            MKL_D_SELECT_FUNCTION_3_64 selctg, const MKL_INT64* n, double* a,
            const MKL_INT64* lda, double* b, const MKL_INT64* ldb, MKL_INT64* sdim,
            double* alphar, double* alphai, double* beta, double* vsl,
            const MKL_INT64* ldvsl, double* vsr, const MKL_INT64* ldvsr,
            double* work, const MKL_INT64* lwork, MKL_INT64* bwork,
            MKL_INT64* info ) NOTHROW;

void DGGESX_64( const char* jobvsl, const char* jobvsr, const char* sort,
             MKL_D_SELECT_FUNCTION_3_64 selctg, const char* sense,
             const MKL_INT64* n, double* a, const MKL_INT64* lda, double* b,
             const MKL_INT64* ldb, MKL_INT64* sdim, double* alphar, double* alphai,
             double* beta, double* vsl, const MKL_INT64* ldvsl, double* vsr,
             const MKL_INT64* ldvsr, double* rconde, double* rcondv,
             double* work, const MKL_INT64* lwork, MKL_INT64* iwork,
             const MKL_INT64* liwork, MKL_INT64* bwork, MKL_INT64* info ) NOTHROW;
void dggesx_64( const char* jobvsl, const char* jobvsr, const char* sort,
             MKL_D_SELECT_FUNCTION_3_64 selctg, const char* sense,
             const MKL_INT64* n, double* a, const MKL_INT64* lda, double* b,
             const MKL_INT64* ldb, MKL_INT64* sdim, double* alphar, double* alphai,
             double* beta, double* vsl, const MKL_INT64* ldvsl, double* vsr,
             const MKL_INT64* ldvsr, double* rconde, double* rcondv,
             double* work, const MKL_INT64* lwork, MKL_INT64* iwork,
             const MKL_INT64* liwork, MKL_INT64* bwork, MKL_INT64* info ) NOTHROW;

void DGGEV_64( const char* jobvl, const char* jobvr, const MKL_INT64* n, double* a,
            const MKL_INT64* lda, double* b, const MKL_INT64* ldb, double* alphar,
            double* alphai, double* beta, double* vl, const MKL_INT64* ldvl,
            double* vr, const MKL_INT64* ldvr, double* work,
            const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;
void dggev_64( const char* jobvl, const char* jobvr, const MKL_INT64* n, double* a,
            const MKL_INT64* lda, double* b, const MKL_INT64* ldb, double* alphar,
            double* alphai, double* beta, double* vl, const MKL_INT64* ldvl,
            double* vr, const MKL_INT64* ldvr, double* work,
            const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;

void DGGEVX_64( const char* balanc, const char* jobvl, const char* jobvr,
             const char* sense, const MKL_INT64* n, double* a,
             const MKL_INT64* lda, double* b, const MKL_INT64* ldb, double* alphar,
             double* alphai, double* beta, double* vl, const MKL_INT64* ldvl,
             double* vr, const MKL_INT64* ldvr, MKL_INT64* ilo, MKL_INT64* ihi,
             double* lscale, double* rscale, double* abnrm, double* bbnrm,
             double* rconde, double* rcondv, double* work,
             const MKL_INT64* lwork, MKL_INT64* iwork, MKL_INT64* bwork,
             MKL_INT64* info ) NOTHROW;
void dggevx_64( const char* balanc, const char* jobvl, const char* jobvr,
             const char* sense, const MKL_INT64* n, double* a,
             const MKL_INT64* lda, double* b, const MKL_INT64* ldb, double* alphar,
             double* alphai, double* beta, double* vl, const MKL_INT64* ldvl,
             double* vr, const MKL_INT64* ldvr, MKL_INT64* ilo, MKL_INT64* ihi,
             double* lscale, double* rscale, double* abnrm, double* bbnrm,
             double* rconde, double* rcondv, double* work,
             const MKL_INT64* lwork, MKL_INT64* iwork, MKL_INT64* bwork,
             MKL_INT64* info ) NOTHROW;

void DGGGLM_64( const MKL_INT64* n, const MKL_INT64* m, const MKL_INT64* p, double* a,
             const MKL_INT64* lda, double* b, const MKL_INT64* ldb, double* d,
             double* x, double* y, double* work, const MKL_INT64* lwork,
             MKL_INT64* info ) NOTHROW;
void dggglm_64( const MKL_INT64* n, const MKL_INT64* m, const MKL_INT64* p, double* a,
             const MKL_INT64* lda, double* b, const MKL_INT64* ldb, double* d,
             double* x, double* y, double* work, const MKL_INT64* lwork,
             MKL_INT64* info ) NOTHROW;

void DGGHRD_64( const char* compq, const char* compz, const MKL_INT64* n,
             const MKL_INT64* ilo, const MKL_INT64* ihi, double* a,
             const MKL_INT64* lda, double* b, const MKL_INT64* ldb, double* q,
             const MKL_INT64* ldq, double* z, const MKL_INT64* ldz,
             MKL_INT64* info ) NOTHROW;
void dgghrd_64( const char* compq, const char* compz, const MKL_INT64* n,
             const MKL_INT64* ilo, const MKL_INT64* ihi, double* a,
             const MKL_INT64* lda, double* b, const MKL_INT64* ldb, double* q,
             const MKL_INT64* ldq, double* z, const MKL_INT64* ldz,
             MKL_INT64* info ) NOTHROW;

void DGGLSE_64( const MKL_INT64* m, const MKL_INT64* n, const MKL_INT64* p, double* a,
             const MKL_INT64* lda, double* b, const MKL_INT64* ldb, double* c,
             double* d, double* x, double* work, const MKL_INT64* lwork,
             MKL_INT64* info ) NOTHROW;
void dgglse_64( const MKL_INT64* m, const MKL_INT64* n, const MKL_INT64* p, double* a,
             const MKL_INT64* lda, double* b, const MKL_INT64* ldb, double* c,
             double* d, double* x, double* work, const MKL_INT64* lwork,
             MKL_INT64* info ) NOTHROW;

void DGGQRF_64( const MKL_INT64* n, const MKL_INT64* m, const MKL_INT64* p, double* a,
             const MKL_INT64* lda, double* taua, double* b, const MKL_INT64* ldb,
             double* taub, double* work, const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;
void dggqrf_64( const MKL_INT64* n, const MKL_INT64* m, const MKL_INT64* p, double* a,
             const MKL_INT64* lda, double* taua, double* b, const MKL_INT64* ldb,
             double* taub, double* work, const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;

void DGGRQF_64( const MKL_INT64* m, const MKL_INT64* p, const MKL_INT64* n, double* a,
             const MKL_INT64* lda, double* taua, double* b, const MKL_INT64* ldb,
             double* taub, double* work, const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;
void dggrqf_64( const MKL_INT64* m, const MKL_INT64* p, const MKL_INT64* n, double* a,
             const MKL_INT64* lda, double* taua, double* b, const MKL_INT64* ldb,
             double* taub, double* work, const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;

void DGGSVD_64( const char* jobu, const char* jobv, const char* jobq,
             const MKL_INT64* m, const MKL_INT64* n, const MKL_INT64* p, MKL_INT64* k,
             MKL_INT64* l, double* a, const MKL_INT64* lda, double* b,
             const MKL_INT64* ldb, double* alpha, double* beta, double* u,
             const MKL_INT64* ldu, double* v, const MKL_INT64* ldv, double* q,
             const MKL_INT64* ldq, double* work, MKL_INT64* iwork, MKL_INT64* info ) NOTHROW;
void dggsvd_64( const char* jobu, const char* jobv, const char* jobq,
             const MKL_INT64* m, const MKL_INT64* n, const MKL_INT64* p, MKL_INT64* k,
             MKL_INT64* l, double* a, const MKL_INT64* lda, double* b,
             const MKL_INT64* ldb, double* alpha, double* beta, double* u,
             const MKL_INT64* ldu, double* v, const MKL_INT64* ldv, double* q,
             const MKL_INT64* ldq, double* work, MKL_INT64* iwork, MKL_INT64* info ) NOTHROW;

void DGGSVP_64( const char* jobu, const char* jobv, const char* jobq,
             const MKL_INT64* m, const MKL_INT64* p, const MKL_INT64* n, double* a,
             const MKL_INT64* lda, double* b, const MKL_INT64* ldb,
             const double* tola, const double* tolb, MKL_INT64* k, MKL_INT64* l,
             double* u, const MKL_INT64* ldu, double* v, const MKL_INT64* ldv,
             double* q, const MKL_INT64* ldq, MKL_INT64* iwork, double* tau,
             double* work, MKL_INT64* info ) NOTHROW;
void dggsvp_64( const char* jobu, const char* jobv, const char* jobq,
             const MKL_INT64* m, const MKL_INT64* p, const MKL_INT64* n, double* a,
             const MKL_INT64* lda, double* b, const MKL_INT64* ldb,
             const double* tola, const double* tolb, MKL_INT64* k, MKL_INT64* l,
             double* u, const MKL_INT64* ldu, double* v, const MKL_INT64* ldv,
             double* q, const MKL_INT64* ldq, MKL_INT64* iwork, double* tau,
             double* work, MKL_INT64* info ) NOTHROW;

void DGSVJ0_64( const char* jobv, const MKL_INT64* m, const MKL_INT64* n, double* a,
             const MKL_INT64* lda, double* d, double* sva, const MKL_INT64* mv,
             double* v, const MKL_INT64* ldv, const double* eps,
             const double* sfmin, const double* tol, const MKL_INT64* nsweep,
             double* work, const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;
void dgsvj0_64( const char* jobv, const MKL_INT64* m, const MKL_INT64* n, double* a,
             const MKL_INT64* lda, double* d, double* sva, const MKL_INT64* mv,
             double* v, const MKL_INT64* ldv, const double* eps,
             const double* sfmin, const double* tol, const MKL_INT64* nsweep,
             double* work, const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;

void DGSVJ1_64( const char* jobv, const MKL_INT64* m, const MKL_INT64* n,
             const MKL_INT64* n1, double* a, const MKL_INT64* lda, double* d,
             double* sva, const MKL_INT64* mv, double* v, const MKL_INT64* ldv,
             const double* eps, const double* sfmin, const double* tol,
             const MKL_INT64* nsweep, double* work, const MKL_INT64* lwork,
             MKL_INT64* info ) NOTHROW;
void dgsvj1_64( const char* jobv, const MKL_INT64* m, const MKL_INT64* n,
             const MKL_INT64* n1, double* a, const MKL_INT64* lda, double* d,
             double* sva, const MKL_INT64* mv, double* v, const MKL_INT64* ldv,
             const double* eps, const double* sfmin, const double* tol,
             const MKL_INT64* nsweep, double* work, const MKL_INT64* lwork,
             MKL_INT64* info ) NOTHROW;

void DGTCON_64( const char* norm, const MKL_INT64* n, const double* dl,
             const double* d, const double* du, const double* du2,
             const MKL_INT64* ipiv, const double* anorm, double* rcond,
             double* work, MKL_INT64* iwork, MKL_INT64* info ) NOTHROW;
void dgtcon_64( const char* norm, const MKL_INT64* n, const double* dl,
             const double* d, const double* du, const double* du2,
             const MKL_INT64* ipiv, const double* anorm, double* rcond,
             double* work, MKL_INT64* iwork, MKL_INT64* info ) NOTHROW;

void DGTRFS_64( const char* trans, const MKL_INT64* n, const MKL_INT64* nrhs,
             const double* dl, const double* d, const double* du,
             const double* dlf, const double* df, const double* duf,
             const double* du2, const MKL_INT64* ipiv, const double* b,
             const MKL_INT64* ldb, double* x, const MKL_INT64* ldx, double* ferr,
             double* berr, double* work, MKL_INT64* iwork, MKL_INT64* info ) NOTHROW;
void dgtrfs_64( const char* trans, const MKL_INT64* n, const MKL_INT64* nrhs,
             const double* dl, const double* d, const double* du,
             const double* dlf, const double* df, const double* duf,
             const double* du2, const MKL_INT64* ipiv, const double* b,
             const MKL_INT64* ldb, double* x, const MKL_INT64* ldx, double* ferr,
             double* berr, double* work, MKL_INT64* iwork, MKL_INT64* info ) NOTHROW;

void DGTSV_64( const MKL_INT64* n, const MKL_INT64* nrhs, double* dl, double* d,
            double* du, double* b, const MKL_INT64* ldb, MKL_INT64* info ) NOTHROW;
void dgtsv_64( const MKL_INT64* n, const MKL_INT64* nrhs, double* dl, double* d,
            double* du, double* b, const MKL_INT64* ldb, MKL_INT64* info ) NOTHROW;

void DGTSVX_64( const char* fact, const char* trans, const MKL_INT64* n,
             const MKL_INT64* nrhs, const double* dl, const double* d,
             const double* du, double* dlf, double* df, double* duf,
             double* du2, MKL_INT64* ipiv, const double* b, const MKL_INT64* ldb,
             double* x, const MKL_INT64* ldx, double* rcond, double* ferr,
             double* berr, double* work, MKL_INT64* iwork, MKL_INT64* info ) NOTHROW;
void dgtsvx_64( const char* fact, const char* trans, const MKL_INT64* n,
             const MKL_INT64* nrhs, const double* dl, const double* d,
             const double* du, double* dlf, double* df, double* duf,
             double* du2, MKL_INT64* ipiv, const double* b, const MKL_INT64* ldb,
             double* x, const MKL_INT64* ldx, double* rcond, double* ferr,
             double* berr, double* work, MKL_INT64* iwork, MKL_INT64* info ) NOTHROW;

void DGTTRF_64( const MKL_INT64* n, double* dl, double* d, double* du, double* du2,
             MKL_INT64* ipiv, MKL_INT64* info ) NOTHROW;
void dgttrf_64( const MKL_INT64* n, double* dl, double* d, double* du, double* du2,
             MKL_INT64* ipiv, MKL_INT64* info ) NOTHROW;

void DGTTRS_64( const char* trans, const MKL_INT64* n, const MKL_INT64* nrhs,
             const double* dl, const double* d, const double* du,
             const double* du2, const MKL_INT64* ipiv, double* b,
             const MKL_INT64* ldb, MKL_INT64* info ) NOTHROW;
void dgttrs_64( const char* trans, const MKL_INT64* n, const MKL_INT64* nrhs,
             const double* dl, const double* d, const double* du,
             const double* du2, const MKL_INT64* ipiv, double* b,
             const MKL_INT64* ldb, MKL_INT64* info ) NOTHROW;

void DGTTS2_64( const MKL_INT64* itrans, const MKL_INT64* n, const MKL_INT64* nrhs,
             const double* dl, const double* d, const double* du,
             const double* du2, const MKL_INT64* ipiv, double* b,
             const MKL_INT64* ldb ) NOTHROW;
void dgtts2_64( const MKL_INT64* itrans, const MKL_INT64* n, const MKL_INT64* nrhs,
             const double* dl, const double* d, const double* du,
             const double* du2, const MKL_INT64* ipiv, double* b,
             const MKL_INT64* ldb ) NOTHROW;

void DHGEQZ_64( const char* job, const char* compq, const char* compz,
             const MKL_INT64* n, const MKL_INT64* ilo, const MKL_INT64* ihi,
             double* h, const MKL_INT64* ldh, double* t, const MKL_INT64* ldt,
             double* alphar, double* alphai, double* beta, double* q,
             const MKL_INT64* ldq, double* z, const MKL_INT64* ldz, double* work,
             const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;
void dhgeqz_64( const char* job, const char* compq, const char* compz,
             const MKL_INT64* n, const MKL_INT64* ilo, const MKL_INT64* ihi,
             double* h, const MKL_INT64* ldh, double* t, const MKL_INT64* ldt,
             double* alphar, double* alphai, double* beta, double* q,
             const MKL_INT64* ldq, double* z, const MKL_INT64* ldz, double* work,
             const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;

void DHSEIN_64( const char* side, const char* eigsrc, const char* initv,
             MKL_INT64* select, const MKL_INT64* n, const double* h,
             const MKL_INT64* ldh, double* wr, const double* wi, double* vl,
             const MKL_INT64* ldvl, double* vr, const MKL_INT64* ldvr,
             const MKL_INT64* mm, MKL_INT64* m, double* work, MKL_INT64* ifaill,
             MKL_INT64* ifailr, MKL_INT64* info ) NOTHROW;
void dhsein_64( const char* side, const char* eigsrc, const char* initv,
             MKL_INT64* select, const MKL_INT64* n, const double* h,
             const MKL_INT64* ldh, double* wr, const double* wi, double* vl,
             const MKL_INT64* ldvl, double* vr, const MKL_INT64* ldvr,
             const MKL_INT64* mm, MKL_INT64* m, double* work, MKL_INT64* ifaill,
             MKL_INT64* ifailr, MKL_INT64* info ) NOTHROW;

void DHSEQR_64( const char* job, const char* compz, const MKL_INT64* n,
             const MKL_INT64* ilo, const MKL_INT64* ihi, double* h,
             const MKL_INT64* ldh, double* wr, double* wi, double* z,
             const MKL_INT64* ldz, double* work, const MKL_INT64* lwork,
             MKL_INT64* info ) NOTHROW;
void dhseqr_64( const char* job, const char* compz, const MKL_INT64* n,
             const MKL_INT64* ilo, const MKL_INT64* ihi, double* h,
             const MKL_INT64* ldh, double* wr, double* wi, double* z,
             const MKL_INT64* ldz, double* work, const MKL_INT64* lwork,
             MKL_INT64* info ) NOTHROW;

void DLABRD_64( const MKL_INT64* m, const MKL_INT64* n, const MKL_INT64* nb, double* a,
             const MKL_INT64* lda, double* d, double* e, double* tauq,
             double* taup, double* x, const MKL_INT64* ldx, double* y,
             const MKL_INT64* ldy ) NOTHROW;
void dlabrd_64( const MKL_INT64* m, const MKL_INT64* n, const MKL_INT64* nb, double* a,
             const MKL_INT64* lda, double* d, double* e, double* tauq,
             double* taup, double* x, const MKL_INT64* ldx, double* y,
             const MKL_INT64* ldy ) NOTHROW;

void DLACN2_64( const MKL_INT64* n, double* v, double* x, MKL_INT64* isgn,
             double* est, MKL_INT64* kase, MKL_INT64* isave ) NOTHROW;
void dlacn2_64( const MKL_INT64* n, double* v, double* x, MKL_INT64* isgn,
             double* est, MKL_INT64* kase, MKL_INT64* isave ) NOTHROW;

void DLACON_64( const MKL_INT64* n, double* v, double* x, MKL_INT64* isgn,
             double* est, MKL_INT64* kase ) NOTHROW;
void dlacon_64( const MKL_INT64* n, double* v, double* x, MKL_INT64* isgn,
             double* est, MKL_INT64* kase ) NOTHROW;

void DLACPY_64( const char* uplo, const MKL_INT64* m, const MKL_INT64* n,
             const double* a, const MKL_INT64* lda, double* b,
             const MKL_INT64* ldb ) NOTHROW;
void dlacpy_64( const char* uplo, const MKL_INT64* m, const MKL_INT64* n,
             const double* a, const MKL_INT64* lda, double* b,
             const MKL_INT64* ldb ) NOTHROW;

void DLAEBZ_64( const MKL_INT64* ijob, const MKL_INT64* nitmax, const MKL_INT64* n,
             const MKL_INT64* mmax, const MKL_INT64* minp, const MKL_INT64* nbmin,
             const double* abstol, const double* reltol, const double* pivmin,
             const double* d, const double* e, const double* e2, MKL_INT64* nval,
             double* ab, double* c, MKL_INT64* mout, MKL_INT64* nab, double* work,
             MKL_INT64* iwork, MKL_INT64* info ) NOTHROW;
void dlaebz_64( const MKL_INT64* ijob, const MKL_INT64* nitmax, const MKL_INT64* n,
             const MKL_INT64* mmax, const MKL_INT64* minp, const MKL_INT64* nbmin,
             const double* abstol, const double* reltol, const double* pivmin,
             const double* d, const double* e, const double* e2, MKL_INT64* nval,
             double* ab, double* c, MKL_INT64* mout, MKL_INT64* nab, double* work,
             MKL_INT64* iwork, MKL_INT64* info ) NOTHROW;

void DLAED0_64( const MKL_INT64* icompq, const MKL_INT64* qsiz, const MKL_INT64* n,
             double* d, const double* e, double* q, const MKL_INT64* ldq,
             double* qstore, const MKL_INT64* ldqs, double* work, MKL_INT64* iwork,
             MKL_INT64* info ) NOTHROW;
void dlaed0_64( const MKL_INT64* icompq, const MKL_INT64* qsiz, const MKL_INT64* n,
             double* d, const double* e, double* q, const MKL_INT64* ldq,
             double* qstore, const MKL_INT64* ldqs, double* work, MKL_INT64* iwork,
             MKL_INT64* info ) NOTHROW;

void DLAED1_64( const MKL_INT64* n, double* d, double* q, const MKL_INT64* ldq,
             MKL_INT64* indxq, const double* rho, const MKL_INT64* cutpnt,
             double* work, MKL_INT64* iwork, MKL_INT64* info ) NOTHROW;
void dlaed1_64( const MKL_INT64* n, double* d, double* q, const MKL_INT64* ldq,
             MKL_INT64* indxq, const double* rho, const MKL_INT64* cutpnt,
             double* work, MKL_INT64* iwork, MKL_INT64* info ) NOTHROW;

void DLAED2_64( MKL_INT64* k, const MKL_INT64* n, const MKL_INT64* n1, double* d,
             double* q, const MKL_INT64* ldq, MKL_INT64* indxq, double* rho,
             const double* z, double* dlamda, double* w, double* q2,
             MKL_INT64* indx, MKL_INT64* indxc, MKL_INT64* indxp, MKL_INT64* coltyp,
             MKL_INT64* info ) NOTHROW;
void dlaed2_64( MKL_INT64* k, const MKL_INT64* n, const MKL_INT64* n1, double* d,
             double* q, const MKL_INT64* ldq, MKL_INT64* indxq, double* rho,
             const double* z, double* dlamda, double* w, double* q2,
             MKL_INT64* indx, MKL_INT64* indxc, MKL_INT64* indxp, MKL_INT64* coltyp,
             MKL_INT64* info ) NOTHROW;

void DLAED3_64( const MKL_INT64* k, const MKL_INT64* n, const MKL_INT64* n1, double* d,
             double* q, const MKL_INT64* ldq, const double* rho, double* dlamda,
             const double* q2, const MKL_INT64* indx, const MKL_INT64* ctot,
             double* w, double* s, MKL_INT64* info ) NOTHROW;
void dlaed3_64( const MKL_INT64* k, const MKL_INT64* n, const MKL_INT64* n1, double* d,
             double* q, const MKL_INT64* ldq, const double* rho, double* dlamda,
             const double* q2, const MKL_INT64* indx, const MKL_INT64* ctot,
             double* w, double* s, MKL_INT64* info ) NOTHROW;

void DLAED4_64( const MKL_INT64* n, const MKL_INT64* i, const double* d,
             const double* z, double* delta, const double* rho, double* dlam,
             MKL_INT64* info ) NOTHROW;
void dlaed4_64( const MKL_INT64* n, const MKL_INT64* i, const double* d,
             const double* z, double* delta, const double* rho, double* dlam,
             MKL_INT64* info ) NOTHROW;

void DLAED5_64( const MKL_INT64* i, const double* d, const double* z, double* delta,
             const double* rho, double* dlam ) NOTHROW;
void dlaed5_64( const MKL_INT64* i, const double* d, const double* z, double* delta,
             const double* rho, double* dlam ) NOTHROW;

void DLAED6_64( const MKL_INT64* kniter, const MKL_INT64* orgati, const double* rho,
             const double* d, const double* z, const double* finit,
             double* tau, MKL_INT64* info ) NOTHROW;
void dlaed6_64( const MKL_INT64* kniter, const MKL_INT64* orgati, const double* rho,
             const double* d, const double* z, const double* finit,
             double* tau, MKL_INT64* info ) NOTHROW;

void DLAED7_64( const MKL_INT64* icompq, const MKL_INT64* n, const MKL_INT64* qsiz,
             const MKL_INT64* tlvls, const MKL_INT64* curlvl,
             const MKL_INT64* curpbm, double* d, double* q, const MKL_INT64* ldq,
             MKL_INT64* indxq, const double* rho, const MKL_INT64* cutpnt,
             double* qstore, MKL_INT64* qptr, const MKL_INT64* prmptr,
             const MKL_INT64* perm, const MKL_INT64* givptr, const MKL_INT64* givcol,
             const double* givnum, double* work, MKL_INT64* iwork,
             MKL_INT64* info ) NOTHROW;
void dlaed7_64( const MKL_INT64* icompq, const MKL_INT64* n, const MKL_INT64* qsiz,
             const MKL_INT64* tlvls, const MKL_INT64* curlvl,
             const MKL_INT64* curpbm, double* d, double* q, const MKL_INT64* ldq,
             MKL_INT64* indxq, const double* rho, const MKL_INT64* cutpnt,
             double* qstore, MKL_INT64* qptr, const MKL_INT64* prmptr,
             const MKL_INT64* perm, const MKL_INT64* givptr, const MKL_INT64* givcol,
             const double* givnum, double* work, MKL_INT64* iwork,
             MKL_INT64* info ) NOTHROW;

void DLAED8_64( const MKL_INT64* icompq, MKL_INT64* k, const MKL_INT64* n,
             const MKL_INT64* qsiz, double* d, double* q, const MKL_INT64* ldq,
             const MKL_INT64* indxq, double* rho, const MKL_INT64* cutpnt,
             const double* z, double* dlamda, double* q2, const MKL_INT64* ldq2,
             double* w, MKL_INT64* perm, MKL_INT64* givptr, MKL_INT64* givcol,
             double* givnum, MKL_INT64* indxp, MKL_INT64* indx, MKL_INT64* info ) NOTHROW;
void dlaed8_64( const MKL_INT64* icompq, MKL_INT64* k, const MKL_INT64* n,
             const MKL_INT64* qsiz, double* d, double* q, const MKL_INT64* ldq,
             const MKL_INT64* indxq, double* rho, const MKL_INT64* cutpnt,
             const double* z, double* dlamda, double* q2, const MKL_INT64* ldq2,
             double* w, MKL_INT64* perm, MKL_INT64* givptr, MKL_INT64* givcol,
             double* givnum, MKL_INT64* indxp, MKL_INT64* indx, MKL_INT64* info ) NOTHROW;

void DLAED9_64( const MKL_INT64* k, const MKL_INT64* kstart, const MKL_INT64* kstop,
             const MKL_INT64* n, double* d, double* q, const MKL_INT64* ldq,
             const double* rho, const double* dlamda, const double* w,
             double* s, const MKL_INT64* lds, MKL_INT64* info ) NOTHROW;
void dlaed9_64( const MKL_INT64* k, const MKL_INT64* kstart, const MKL_INT64* kstop,
             const MKL_INT64* n, double* d, double* q, const MKL_INT64* ldq,
             const double* rho, const double* dlamda, const double* w,
             double* s, const MKL_INT64* lds, MKL_INT64* info ) NOTHROW;

void DLAEDA_64( const MKL_INT64* n, const MKL_INT64* tlvls, const MKL_INT64* curlvl,
             const MKL_INT64* curpbm, const MKL_INT64* prmptr, const MKL_INT64* perm,
             const MKL_INT64* givptr, const MKL_INT64* givcol,
             const double* givnum, const double* q, const MKL_INT64* qptr,
             double* z, double* ztemp, MKL_INT64* info ) NOTHROW;
void dlaeda_64( const MKL_INT64* n, const MKL_INT64* tlvls, const MKL_INT64* curlvl,
             const MKL_INT64* curpbm, const MKL_INT64* prmptr, const MKL_INT64* perm,
             const MKL_INT64* givptr, const MKL_INT64* givcol,
             const double* givnum, const double* q, const MKL_INT64* qptr,
             double* z, double* ztemp, MKL_INT64* info ) NOTHROW;

void DLAEIN_64( const MKL_INT64* rightv, const MKL_INT64* noinit, const MKL_INT64* n,
             const double* h, const MKL_INT64* ldh, const double* wr,
             const double* wi, double* vr, double* vi, double* b,
             const MKL_INT64* ldb, double* work, const double* eps3,
             const double* smlnum, const double* bignum, MKL_INT64* info ) NOTHROW;
void dlaein_64( const MKL_INT64* rightv, const MKL_INT64* noinit, const MKL_INT64* n,
             const double* h, const MKL_INT64* ldh, const double* wr,
             const double* wi, double* vr, double* vi, double* b,
             const MKL_INT64* ldb, double* work, const double* eps3,
             const double* smlnum, const double* bignum, MKL_INT64* info ) NOTHROW;

void DLAEXC_64( const MKL_INT64* wantq, const MKL_INT64* n, double* t,
             const MKL_INT64* ldt, double* q, const MKL_INT64* ldq,
             const MKL_INT64* j1, const MKL_INT64* n1, const MKL_INT64* n2,
             double* work, MKL_INT64* info ) NOTHROW;
void dlaexc_64( const MKL_INT64* wantq, const MKL_INT64* n, double* t,
             const MKL_INT64* ldt, double* q, const MKL_INT64* ldq,
             const MKL_INT64* j1, const MKL_INT64* n1, const MKL_INT64* n2,
             double* work, MKL_INT64* info ) NOTHROW;

void DLAG2_64( const double* a, const MKL_INT64* lda, const double* b,
            const MKL_INT64* ldb, const double* safmin, double* scale1,
            double* scale2, double* wr1, double* wr2, double* wi ) NOTHROW;
void dlag2_64( const double* a, const MKL_INT64* lda, const double* b,
            const MKL_INT64* ldb, const double* safmin, double* scale1,
            double* scale2, double* wr1, double* wr2, double* wi ) NOTHROW;

void DLAG2S_64( const MKL_INT64* m, const MKL_INT64* n, const double* a,
             const MKL_INT64* lda, float* sa, const MKL_INT64* ldsa,
             MKL_INT64* info ) NOTHROW;
void dlag2s_64( const MKL_INT64* m, const MKL_INT64* n, const double* a,
             const MKL_INT64* lda, float* sa, const MKL_INT64* ldsa,
             MKL_INT64* info ) NOTHROW;

void DLAGS2_64( const MKL_INT64* upper, const double* a1, const double* a2,
             const double* a3, const double* b1, const double* b2,
             const double* b3, double* csu, double* snu, double* csv,
             double* snv, double* csq, double* snq ) NOTHROW;
void dlags2_64( const MKL_INT64* upper, const double* a1, const double* a2,
             const double* a3, const double* b1, const double* b2,
             const double* b3, double* csu, double* snu, double* csv,
             double* snv, double* csq, double* snq ) NOTHROW;

void DLAGTF_64( const MKL_INT64* n, double* a, const double* lambda, double* b,
             double* c, const double* tol, double* d, MKL_INT64* in,
             MKL_INT64* info ) NOTHROW;
void dlagtf_64( const MKL_INT64* n, double* a, const double* lambda, double* b,
             double* c, const double* tol, double* d, MKL_INT64* in,
             MKL_INT64* info ) NOTHROW;

void DLAGTM_64( const char* trans, const MKL_INT64* n, const MKL_INT64* nrhs,
             const double* alpha, const double* dl, const double* d,
             const double* du, const double* x, const MKL_INT64* ldx,
             const double* beta, double* b, const MKL_INT64* ldb ) NOTHROW;
void dlagtm_64( const char* trans, const MKL_INT64* n, const MKL_INT64* nrhs,
             const double* alpha, const double* dl, const double* d,
             const double* du, const double* x, const MKL_INT64* ldx,
             const double* beta, double* b, const MKL_INT64* ldb ) NOTHROW;

void DLAGTS_64( const MKL_INT64* job, const MKL_INT64* n, const double* a,
             const double* b, const double* c, const double* d,
             const MKL_INT64* in, double* y, double* tol, MKL_INT64* info ) NOTHROW;
void dlagts_64( const MKL_INT64* job, const MKL_INT64* n, const double* a,
             const double* b, const double* c, const double* d,
             const MKL_INT64* in, double* y, double* tol, MKL_INT64* info ) NOTHROW;

void DLAGV2_64( double* a, const MKL_INT64* lda, double* b, const MKL_INT64* ldb,
             double* alphar, double* alphai, double* beta, double* csl,
             double* snl, double* csr, double* snr ) NOTHROW;
void dlagv2_64( double* a, const MKL_INT64* lda, double* b, const MKL_INT64* ldb,
             double* alphar, double* alphai, double* beta, double* csl,
             double* snl, double* csr, double* snr ) NOTHROW;

void DLAHQR_64( const MKL_INT64* wantt, const MKL_INT64* wantz, const MKL_INT64* n,
             const MKL_INT64* ilo, const MKL_INT64* ihi, double* h,
             const MKL_INT64* ldh, double* wr, double* wi, const MKL_INT64* iloz,
             const MKL_INT64* ihiz, double* z, const MKL_INT64* ldz,
             MKL_INT64* info ) NOTHROW;
void dlahqr_64( const MKL_INT64* wantt, const MKL_INT64* wantz, const MKL_INT64* n,
             const MKL_INT64* ilo, const MKL_INT64* ihi, double* h,
             const MKL_INT64* ldh, double* wr, double* wi, const MKL_INT64* iloz,
             const MKL_INT64* ihiz, double* z, const MKL_INT64* ldz,
             MKL_INT64* info ) NOTHROW;

void DLAHR2_64( const MKL_INT64* n, const MKL_INT64* k, const MKL_INT64* nb, double* a,
             const MKL_INT64* lda, double* tau, double* t, const MKL_INT64* ldt,
             double* y, const MKL_INT64* ldy ) NOTHROW;
void dlahr2_64( const MKL_INT64* n, const MKL_INT64* k, const MKL_INT64* nb, double* a,
             const MKL_INT64* lda, double* tau, double* t, const MKL_INT64* ldt,
             double* y, const MKL_INT64* ldy ) NOTHROW;

void DLAHRD_64( const MKL_INT64* n, const MKL_INT64* k, const MKL_INT64* nb, double* a,
             const MKL_INT64* lda, double* tau, double* t, const MKL_INT64* ldt,
             double* y, const MKL_INT64* ldy ) NOTHROW;
void dlahrd_64( const MKL_INT64* n, const MKL_INT64* k, const MKL_INT64* nb, double* a,
             const MKL_INT64* lda, double* tau, double* t, const MKL_INT64* ldt,
             double* y, const MKL_INT64* ldy ) NOTHROW;

void DLAIC1_64( const MKL_INT64* job, const MKL_INT64* j, const double* x,
             const double* sest, const double* w, const double* gamma,
             double* sestpr, double* s, double* c ) NOTHROW;
void dlaic1_64( const MKL_INT64* job, const MKL_INT64* j, const double* x,
             const double* sest, const double* w, const double* gamma,
             double* sestpr, double* s, double* c ) NOTHROW;

void DLALN2_64( const MKL_INT64* ltrans, const MKL_INT64* na, const MKL_INT64* nw,
             const double* smin, const double* ca, const double* a,
             const MKL_INT64* lda, const double* d1, const double* d2,
             const double* b, const MKL_INT64* ldb, const double* wr,
             const double* wi, double* x, const MKL_INT64* ldx, double* scale,
             double* xnorm, MKL_INT64* info ) NOTHROW;
void dlaln2_64( const MKL_INT64* ltrans, const MKL_INT64* na, const MKL_INT64* nw,
             const double* smin, const double* ca, const double* a,
             const MKL_INT64* lda, const double* d1, const double* d2,
             const double* b, const MKL_INT64* ldb, const double* wr,
             const double* wi, double* x, const MKL_INT64* ldx, double* scale,
             double* xnorm, MKL_INT64* info ) NOTHROW;

void DLALS0_64( const MKL_INT64* icompq, const MKL_INT64* nl, const MKL_INT64* nr,
             const MKL_INT64* sqre, const MKL_INT64* nrhs, double* b,
             const MKL_INT64* ldb, double* bx, const MKL_INT64* ldbx,
             const MKL_INT64* perm, const MKL_INT64* givptr, const MKL_INT64* givcol,
             const MKL_INT64* ldgcol, const double* givnum,
             const MKL_INT64* ldgnum, const double* poles, const double* difl,
             const double* difr, const double* z, const MKL_INT64* k,
             const double* c, const double* s, double* work, MKL_INT64* info ) NOTHROW;
void dlals0_64( const MKL_INT64* icompq, const MKL_INT64* nl, const MKL_INT64* nr,
             const MKL_INT64* sqre, const MKL_INT64* nrhs, double* b,
             const MKL_INT64* ldb, double* bx, const MKL_INT64* ldbx,
             const MKL_INT64* perm, const MKL_INT64* givptr, const MKL_INT64* givcol,
             const MKL_INT64* ldgcol, const double* givnum,
             const MKL_INT64* ldgnum, const double* poles, const double* difl,
             const double* difr, const double* z, const MKL_INT64* k,
             const double* c, const double* s, double* work, MKL_INT64* info ) NOTHROW;

void DLALSA_64( const MKL_INT64* icompq, const MKL_INT64* smlsiz, const MKL_INT64* n,
             const MKL_INT64* nrhs, double* b, const MKL_INT64* ldb, double* bx,
             const MKL_INT64* ldbx, const double* u, const MKL_INT64* ldu,
             const double* vt, const MKL_INT64* k, const double* difl,
             const double* difr, const double* z, const double* poles,
             const MKL_INT64* givptr, const MKL_INT64* givcol,
             const MKL_INT64* ldgcol, const MKL_INT64* perm, const double* givnum,
             const double* c, const double* s, double* work, MKL_INT64* iwork,
             MKL_INT64* info ) NOTHROW;
void dlalsa_64( const MKL_INT64* icompq, const MKL_INT64* smlsiz, const MKL_INT64* n,
             const MKL_INT64* nrhs, double* b, const MKL_INT64* ldb, double* bx,
             const MKL_INT64* ldbx, const double* u, const MKL_INT64* ldu,
             const double* vt, const MKL_INT64* k, const double* difl,
             const double* difr, const double* z, const double* poles,
             const MKL_INT64* givptr, const MKL_INT64* givcol,
             const MKL_INT64* ldgcol, const MKL_INT64* perm, const double* givnum,
             const double* c, const double* s, double* work, MKL_INT64* iwork,
             MKL_INT64* info ) NOTHROW;

void DLALSD_64( const char* uplo, const MKL_INT64* smlsiz, const MKL_INT64* n,
             const MKL_INT64* nrhs, double* d, double* e, double* b,
             const MKL_INT64* ldb, const double* rcond, MKL_INT64* rank,
             double* work, MKL_INT64* iwork, MKL_INT64* info ) NOTHROW;
void dlalsd_64( const char* uplo, const MKL_INT64* smlsiz, const MKL_INT64* n,
             const MKL_INT64* nrhs, double* d, double* e, double* b,
             const MKL_INT64* ldb, const double* rcond, MKL_INT64* rank,
             double* work, MKL_INT64* iwork, MKL_INT64* info ) NOTHROW;

void DLAMC1_64( MKL_INT64* beta, MKL_INT64* t, MKL_INT64* rnd, MKL_INT64* ieee1 ) NOTHROW;
void dlamc1_64( MKL_INT64* beta, MKL_INT64* t, MKL_INT64* rnd, MKL_INT64* ieee1 ) NOTHROW;

void DLAMC2_64( MKL_INT64* beta, MKL_INT64* t, MKL_INT64* rnd, double* eps,
             MKL_INT64* emin, double* rmin, MKL_INT64* emax, double* rmax ) NOTHROW;
void dlamc2_64( MKL_INT64* beta, MKL_INT64* t, MKL_INT64* rnd, double* eps,
             MKL_INT64* emin, double* rmin, MKL_INT64* emax, double* rmax ) NOTHROW;

void DLAMC4_64( MKL_INT64* emin, const double* start, const MKL_INT64* base ) NOTHROW;
void dlamc4_64( MKL_INT64* emin, const double* start, const MKL_INT64* base ) NOTHROW;

void DLAMC5_64( const MKL_INT64* beta, const MKL_INT64* p, const MKL_INT64* emin,
             const MKL_INT64* ieee, MKL_INT64* emax, double* rmax ) NOTHROW;
void dlamc5_64( const MKL_INT64* beta, const MKL_INT64* p, const MKL_INT64* emin,
             const MKL_INT64* ieee, MKL_INT64* emax, double* rmax ) NOTHROW;

void DLAMRG_64( const MKL_INT64* n1, const MKL_INT64* n2, const double* a,
             const MKL_INT64* dtrd1, const MKL_INT64* dtrd2, MKL_INT64* index ) NOTHROW;
void dlamrg_64( const MKL_INT64* n1, const MKL_INT64* n2, const double* a,
             const MKL_INT64* dtrd1, const MKL_INT64* dtrd2, MKL_INT64* index ) NOTHROW;

MKL_INT64 DLANEG_64( const MKL_INT64* n, const double* d, const double* lld,
                const double* sigma, const double* pivmin, const MKL_INT64* r ) NOTHROW;
MKL_INT64 dlaneg_64( const MKL_INT64* n, const double* d, const double* lld,
                const double* sigma, const double* pivmin, const MKL_INT64* r ) NOTHROW;

double DLANGB_64( const char* norm, const MKL_INT64* n, const MKL_INT64* kl,
               const MKL_INT64* ku, const double* ab, const MKL_INT64* ldab,
               double* work ) NOTHROW;
double dlangb_64( const char* norm, const MKL_INT64* n, const MKL_INT64* kl,
               const MKL_INT64* ku, const double* ab, const MKL_INT64* ldab,
               double* work ) NOTHROW;

double DLANGE_64( const char* norm, const MKL_INT64* m, const MKL_INT64* n,
               const double* a, const MKL_INT64* lda, double* work ) NOTHROW;
double dlange_64( const char* norm, const MKL_INT64* m, const MKL_INT64* n,
               const double* a, const MKL_INT64* lda, double* work ) NOTHROW;

double DLANGT_64( const char* norm, const MKL_INT64* n, const double* dl,
               const double* d, const double* du ) NOTHROW;
double dlangt_64( const char* norm, const MKL_INT64* n, const double* dl,
               const double* d, const double* du ) NOTHROW;

double DLANHS_64( const char* norm, const MKL_INT64* n, const double* a,
               const MKL_INT64* lda, double* work ) NOTHROW;
double dlanhs_64( const char* norm, const MKL_INT64* n, const double* a,
               const MKL_INT64* lda, double* work ) NOTHROW;

double DLANSB_64( const char* norm, const char* uplo, const MKL_INT64* n,
               const MKL_INT64* k, const double* ab, const MKL_INT64* ldab,
               double* work ) NOTHROW;
double dlansb_64( const char* norm, const char* uplo, const MKL_INT64* n,
               const MKL_INT64* k, const double* ab, const MKL_INT64* ldab,
               double* work ) NOTHROW;

double DLANSF_64( const char* norm, const char* transr, const char* uplo,
               const MKL_INT64* n, const double* a, double* work ) NOTHROW;
double dlansf_64( const char* norm, const char* transr, const char* uplo,
               const MKL_INT64* n, const double* a, double* work ) NOTHROW;

double DLANSP_64( const char* norm, const char* uplo, const MKL_INT64* n,
               const double* ap, double* work ) NOTHROW;
double dlansp_64( const char* norm, const char* uplo, const MKL_INT64* n,
               const double* ap, double* work ) NOTHROW;

double DLANST_64( const char* norm, const MKL_INT64* n, const double* d,
               const double* e ) NOTHROW;
double dlanst_64( const char* norm, const MKL_INT64* n, const double* d,
               const double* e ) NOTHROW;

double DLANSY_64( const char* norm, const char* uplo, const MKL_INT64* n,
               const double* a, const MKL_INT64* lda, double* work ) NOTHROW;
double dlansy_64( const char* norm, const char* uplo, const MKL_INT64* n,
               const double* a, const MKL_INT64* lda, double* work ) NOTHROW;

double DLANTB_64( const char* norm, const char* uplo, const char* diag,
               const MKL_INT64* n, const MKL_INT64* k, const double* ab,
               const MKL_INT64* ldab, double* work ) NOTHROW;
double dlantb_64( const char* norm, const char* uplo, const char* diag,
               const MKL_INT64* n, const MKL_INT64* k, const double* ab,
               const MKL_INT64* ldab, double* work ) NOTHROW;

double DLANTP_64( const char* norm, const char* uplo, const char* diag,
               const MKL_INT64* n, const double* ap, double* work ) NOTHROW;
double dlantp_64( const char* norm, const char* uplo, const char* diag,
               const MKL_INT64* n, const double* ap, double* work ) NOTHROW;

double DLANTR_64( const char* norm, const char* uplo, const char* diag,
               const MKL_INT64* m, const MKL_INT64* n, const double* a,
               const MKL_INT64* lda, double* work ) NOTHROW;
double dlantr_64( const char* norm, const char* uplo, const char* diag,
               const MKL_INT64* m, const MKL_INT64* n, const double* a,
               const MKL_INT64* lda, double* work ) NOTHROW;

void DLAPLL_64( const MKL_INT64* n, double* x, const MKL_INT64* incx, double* y,
             const MKL_INT64* incy, double* ssmin ) NOTHROW;
void dlapll_64( const MKL_INT64* n, double* x, const MKL_INT64* incx, double* y,
             const MKL_INT64* incy, double* ssmin ) NOTHROW;

void DLAPMT_64( const MKL_INT64* forwrd, const MKL_INT64* m, const MKL_INT64* n,
             double* x, const MKL_INT64* ldx, MKL_INT64* k ) NOTHROW;
void dlapmt_64( const MKL_INT64* forwrd, const MKL_INT64* m, const MKL_INT64* n,
             double* x, const MKL_INT64* ldx, MKL_INT64* k ) NOTHROW;

void DLAQGB_64( const MKL_INT64* m, const MKL_INT64* n, const MKL_INT64* kl,
             const MKL_INT64* ku, double* ab, const MKL_INT64* ldab,
             const double* r, const double* c, const double* rowcnd,
             const double* colcnd, const double* amax, char* equed ) NOTHROW;
void dlaqgb_64( const MKL_INT64* m, const MKL_INT64* n, const MKL_INT64* kl,
             const MKL_INT64* ku, double* ab, const MKL_INT64* ldab,
             const double* r, const double* c, const double* rowcnd,
             const double* colcnd, const double* amax, char* equed ) NOTHROW;

void DLAQGE_64( const MKL_INT64* m, const MKL_INT64* n, double* a, const MKL_INT64* lda,
             const double* r, const double* c, const double* rowcnd,
             const double* colcnd, const double* amax, char* equed ) NOTHROW;
void dlaqge_64( const MKL_INT64* m, const MKL_INT64* n, double* a, const MKL_INT64* lda,
             const double* r, const double* c, const double* rowcnd,
             const double* colcnd, const double* amax, char* equed ) NOTHROW;

void DLAQP2_64( const MKL_INT64* m, const MKL_INT64* n, const MKL_INT64* offset,
             double* a, const MKL_INT64* lda, MKL_INT64* jpvt, double* tau,
             double* vn1, double* vn2, double* work ) NOTHROW;
void dlaqp2_64( const MKL_INT64* m, const MKL_INT64* n, const MKL_INT64* offset,
             double* a, const MKL_INT64* lda, MKL_INT64* jpvt, double* tau,
             double* vn1, double* vn2, double* work ) NOTHROW;

void DLAQPS_64( const MKL_INT64* m, const MKL_INT64* n, const MKL_INT64* offset,
             const MKL_INT64* nb, MKL_INT64* kb, double* a, const MKL_INT64* lda,
             MKL_INT64* jpvt, double* tau, double* vn1, double* vn2,
             double* auxv, double* f, const MKL_INT64* ldf ) NOTHROW;
void dlaqps_64( const MKL_INT64* m, const MKL_INT64* n, const MKL_INT64* offset,
             const MKL_INT64* nb, MKL_INT64* kb, double* a, const MKL_INT64* lda,
             MKL_INT64* jpvt, double* tau, double* vn1, double* vn2,
             double* auxv, double* f, const MKL_INT64* ldf ) NOTHROW;

void DLAQR0_64( const MKL_INT64* wantt, const MKL_INT64* wantz, const MKL_INT64* n,
             const MKL_INT64* ilo, const MKL_INT64* ihi, double* h,
             const MKL_INT64* ldh, double* wr, double* wi, const MKL_INT64* iloz,
             const MKL_INT64* ihiz, double* z, const MKL_INT64* ldz, double* work,
             const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;
void dlaqr0_64( const MKL_INT64* wantt, const MKL_INT64* wantz, const MKL_INT64* n,
             const MKL_INT64* ilo, const MKL_INT64* ihi, double* h,
             const MKL_INT64* ldh, double* wr, double* wi, const MKL_INT64* iloz,
             const MKL_INT64* ihiz, double* z, const MKL_INT64* ldz, double* work,
             const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;

void DLAQR1_64( const MKL_INT64* n, const double* h, const MKL_INT64* ldh,
             const double* sr1, double* si1, double* sr2, double* si2,
             double* v ) NOTHROW;
void dlaqr1_64( const MKL_INT64* n, const double* h, const MKL_INT64* ldh,
             const double* sr1, double* si1, double* sr2, double* si2,
             double* v ) NOTHROW;

void DLAQR2_64( const MKL_INT64* wantt, const MKL_INT64* wantz, const MKL_INT64* n,
             const MKL_INT64* ktop, const MKL_INT64* kbot, const MKL_INT64* nw,
             double* h, const MKL_INT64* ldh, const MKL_INT64* iloz,
             const MKL_INT64* ihiz, double* z, const MKL_INT64* ldz, MKL_INT64* ns,
             MKL_INT64* nd, double* sr, double* si, double* v,
             const MKL_INT64* ldv, const MKL_INT64* nh, double* t,
             const MKL_INT64* ldt, const MKL_INT64* nv, double* wv,
             const MKL_INT64* ldwv, double* work, const MKL_INT64* lwork ) NOTHROW;
void dlaqr2_64( const MKL_INT64* wantt, const MKL_INT64* wantz, const MKL_INT64* n,
             const MKL_INT64* ktop, const MKL_INT64* kbot, const MKL_INT64* nw,
             double* h, const MKL_INT64* ldh, const MKL_INT64* iloz,
             const MKL_INT64* ihiz, double* z, const MKL_INT64* ldz, MKL_INT64* ns,
             MKL_INT64* nd, double* sr, double* si, double* v,
             const MKL_INT64* ldv, const MKL_INT64* nh, double* t,
             const MKL_INT64* ldt, const MKL_INT64* nv, double* wv,
             const MKL_INT64* ldwv, double* work, const MKL_INT64* lwork ) NOTHROW;

void DLAQR3_64( const MKL_INT64* wantt, const MKL_INT64* wantz, const MKL_INT64* n,
             const MKL_INT64* ktop, const MKL_INT64* kbot, const MKL_INT64* nw,
             double* h, const MKL_INT64* ldh, const MKL_INT64* iloz,
             const MKL_INT64* ihiz, double* z, const MKL_INT64* ldz, MKL_INT64* ns,
             MKL_INT64* nd, double* sr, double* si, double* v,
             const MKL_INT64* ldv, const MKL_INT64* nh, double* t,
             const MKL_INT64* ldt, const MKL_INT64* nv, double* wv,
             const MKL_INT64* ldwv, double* work, const MKL_INT64* lwork ) NOTHROW;
void dlaqr3_64( const MKL_INT64* wantt, const MKL_INT64* wantz, const MKL_INT64* n,
             const MKL_INT64* ktop, const MKL_INT64* kbot, const MKL_INT64* nw,
             double* h, const MKL_INT64* ldh, const MKL_INT64* iloz,
             const MKL_INT64* ihiz, double* z, const MKL_INT64* ldz, MKL_INT64* ns,
             MKL_INT64* nd, double* sr, double* si, double* v,
             const MKL_INT64* ldv, const MKL_INT64* nh, double* t,
             const MKL_INT64* ldt, const MKL_INT64* nv, double* wv,
             const MKL_INT64* ldwv, double* work, const MKL_INT64* lwork ) NOTHROW;

void DLAQR4_64( const MKL_INT64* wantt, const MKL_INT64* wantz, const MKL_INT64* n,
             const MKL_INT64* ilo, const MKL_INT64* ihi, double* h,
             const MKL_INT64* ldh, double* wr, double* wi, const MKL_INT64* iloz,
             const MKL_INT64* ihiz, double* z, const MKL_INT64* ldz, double* work,
             const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;
void dlaqr4_64( const MKL_INT64* wantt, const MKL_INT64* wantz, const MKL_INT64* n,
             const MKL_INT64* ilo, const MKL_INT64* ihi, double* h,
             const MKL_INT64* ldh, double* wr, double* wi, const MKL_INT64* iloz,
             const MKL_INT64* ihiz, double* z, const MKL_INT64* ldz, double* work,
             const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;

void DLAQR5_64( const MKL_INT64* wantt, const MKL_INT64* wantz, const MKL_INT64* kacc22,
             const MKL_INT64* n, const MKL_INT64* ktop, const MKL_INT64* kbot,
             const MKL_INT64* nshfts, double* sr, double* si, double* h,
             const MKL_INT64* ldh, const MKL_INT64* iloz, const MKL_INT64* ihiz,
             double* z, const MKL_INT64* ldz, double* v, const MKL_INT64* ldv,
             double* u, const MKL_INT64* ldu, const MKL_INT64* nv, double* wv,
             const MKL_INT64* ldwv, const MKL_INT64* nh, double* wh,
             const MKL_INT64* ldwh ) NOTHROW;
void dlaqr5_64( const MKL_INT64* wantt, const MKL_INT64* wantz, const MKL_INT64* kacc22,
             const MKL_INT64* n, const MKL_INT64* ktop, const MKL_INT64* kbot,
             const MKL_INT64* nshfts, double* sr, double* si, double* h,
             const MKL_INT64* ldh, const MKL_INT64* iloz, const MKL_INT64* ihiz,
             double* z, const MKL_INT64* ldz, double* v, const MKL_INT64* ldv,
             double* u, const MKL_INT64* ldu, const MKL_INT64* nv, double* wv,
             const MKL_INT64* ldwv, const MKL_INT64* nh, double* wh,
             const MKL_INT64* ldwh ) NOTHROW;

void DLAQSB_64( const char* uplo, const MKL_INT64* n, const MKL_INT64* kd, double* ab,
             const MKL_INT64* ldab, const double* s, const double* scond,
             const double* amax, char* equed ) NOTHROW;
void dlaqsb_64( const char* uplo, const MKL_INT64* n, const MKL_INT64* kd, double* ab,
             const MKL_INT64* ldab, const double* s, const double* scond,
             const double* amax, char* equed ) NOTHROW;

void DLAQSP_64( const char* uplo, const MKL_INT64* n, double* ap, const double* s,
             const double* scond, const double* amax, char* equed ) NOTHROW;
void dlaqsp_64( const char* uplo, const MKL_INT64* n, double* ap, const double* s,
             const double* scond, const double* amax, char* equed ) NOTHROW;

void DLAQSY_64( const char* uplo, const MKL_INT64* n, double* a, const MKL_INT64* lda,
             const double* s, const double* scond, const double* amax,
             char* equed ) NOTHROW;
void dlaqsy_64( const char* uplo, const MKL_INT64* n, double* a, const MKL_INT64* lda,
             const double* s, const double* scond, const double* amax,
             char* equed ) NOTHROW;

void DLAQTR_64( const MKL_INT64* ltran, const MKL_INT64* lreal, const MKL_INT64* n,
             const double* t, const MKL_INT64* ldt, const double* b,
             const double* w, double* scale, double* x, double* work,
             MKL_INT64* info ) NOTHROW;
void dlaqtr_64( const MKL_INT64* ltran, const MKL_INT64* lreal, const MKL_INT64* n,
             const double* t, const MKL_INT64* ldt, const double* b,
             const double* w, double* scale, double* x, double* work,
             MKL_INT64* info ) NOTHROW;

void DLAQZ0_64( const MKL_INT64* wants, const MKL_INT64* wantq, const MKL_INT64* wantz, const MKL_INT64* n,
             const MKL_INT64* ilo, const MKL_INT64* ihi, double* a, const MKL_INT64* lda,
             double* b, const MKL_INT64* ldb, double* alphar, double* alphai, double* beta,
             double* q, const MKL_INT64* ldq, double* z, const MKL_INT64* ldz,
             double* work, const MKL_INT64* lwork, const MKL_INT64* rec, MKL_INT64* info) NOTHROW;
void dlaqz0_64( const MKL_INT64* wants, const MKL_INT64* wantq, const MKL_INT64* wantz, const MKL_INT64* n,
             const MKL_INT64* ilo, const MKL_INT64* ihi, double* a, const MKL_INT64* lda,
             double* b, const MKL_INT64* ldb, double* alphar, double* alphai, double* beta,
             double* q, const MKL_INT64* ldq, double* z, const MKL_INT64* ldz,
             double* work, const MKL_INT64* lwork, const MKL_INT64* rec, MKL_INT64* info) NOTHROW;

void DLAQZ1_64( double* a, const MKL_INT64* lda, double* b, const MKL_INT64* ldb,
             const double* sr1, const double* sr2, const double* si, const double* beta1,
             const double* beta2, double* v) NOTHROW;
void dlaqz1_64( double* a, const MKL_INT64* lda, double* b, const MKL_INT64* ldb,
             const double* sr1, const double* sr2, const double* si, const double* beta1, 
             const double* beta2, double* v) NOTHROW;

void DLAQZ2_64( const MKL_INT64* ilq, const MKL_INT64* ilz, const MKL_INT64* k, const MKL_INT64* istartm,
             const MKL_INT64* istopm, const MKL_INT64* ihi, double* a, const MKL_INT64* lda,
             double* b, const MKL_INT64* ldb, const MKL_INT64* nq, const MKL_INT64* qstart,
             double* q, const MKL_INT64* ldq, const MKL_INT64* nz,  const MKL_INT64* zstart,
             double* z, const MKL_INT64* ldz) NOTHROW;
void dlaqz2_64( const MKL_INT64* ilq, const MKL_INT64* ilz, const MKL_INT64* k, const MKL_INT64* istartm,
             const MKL_INT64* istopm, const MKL_INT64* ihi, double* a, const MKL_INT64* lda,
             double* b, const MKL_INT64* ldb, const MKL_INT64* nq, const MKL_INT64* qstart,
             double* q, const MKL_INT64* ldq, const MKL_INT64* nz,  const MKL_INT64* zstart,
             double* z, const MKL_INT64* ldz) NOTHROW;

void DLAQZ3_64( const MKL_INT64* ilschur, const MKL_INT64* ilq, const MKL_INT64* ilz,
             const MKL_INT64* n, const MKL_INT64* ilo, const MKL_INT64* ihi, const MKL_INT64* nw,
             double* a, const MKL_INT64* lda, double* b, const MKL_INT64* ldb,
             double* q, const MKL_INT64* ldq, double* z, const MKL_INT64* ldz,
             MKL_INT64* ns, MKL_INT64* nd, double* alphar, double* alphai, double* beta,
             double* qc, const MKL_INT64* ldqc, double* zc, const MKL_INT64* ldzc,
             double* work, const MKL_INT64* lwork, const MKL_INT64* rec,
             MKL_INT64* info) NOTHROW;
void dlaqz3_64( const MKL_INT64* ilschur, const MKL_INT64* ilq, const MKL_INT64* ilz,
             const MKL_INT64* n, const MKL_INT64* ilo, const MKL_INT64* ihi, const MKL_INT64* nw,
             double* a, const MKL_INT64* lda, double* b, const MKL_INT64* ldb,
             double* q, const MKL_INT64* ldq, double* z, const MKL_INT64* ldz,
             MKL_INT64* ns, MKL_INT64* nd, double* alphar, double* alphai, double* beta,
             double* qc, const MKL_INT64* ldqc, double* zc, const MKL_INT64* ldzc,
             double* work, const MKL_INT64* lwork, const MKL_INT64* rec,
             MKL_INT64* info) NOTHROW;

void DLAQZ4_64( const MKL_INT64* ilschur, const MKL_INT64* ilq, const MKL_INT64* ilz,
             const MKL_INT64* n, const MKL_INT64* ilo, const MKL_INT64* ihi,
             const MKL_INT64* nshifts, const MKL_INT64* nb, double* alphar,
             double* alphai, double* beta,  double* a, const MKL_INT64* lda,
             double* b, const MKL_INT64* ldb, double* q, const MKL_INT64* ldq,
             double* z, const MKL_INT64* ldz, double* qc, const MKL_INT64* ldqc,
             double* zc, const MKL_INT64* ldzc, double* work, const MKL_INT64* lwork,
             MKL_INT64* info) NOTHROW;
void dlaqz4_64( const MKL_INT64* ilschur, const MKL_INT64* ilq, const MKL_INT64* ilz,
             const MKL_INT64* n, const MKL_INT64* ilo, const MKL_INT64* ihi,
             const MKL_INT64* nshifts, const MKL_INT64* nb, double* alphar,
             double* alphai, double* beta,  double* a, const MKL_INT64* lda,
             double* b, const MKL_INT64* ldb, double* q, const MKL_INT64* ldq,
             double* z, const MKL_INT64* ldz, double* qc, const MKL_INT64* ldqc,
             double* zc, const MKL_INT64* ldzc, double* work, const MKL_INT64* lwork,
             MKL_INT64* info) NOTHROW;

void DLAR1V_64( const MKL_INT64* n, const MKL_INT64* b1, const MKL_INT64* bn,
             const double* lambda, const double* d, const double* l,
             const double* ld, const double* lld, const double* pivmin,
             const double* gaptol, double* z, const MKL_INT64* wantnc,
             MKL_INT64* negcnt, double* ztz, double* mingma, MKL_INT64* r,
             MKL_INT64* isuppz, double* nrminv, double* resid, double* rqcorr,
             double* work ) NOTHROW;
void dlar1v_64( const MKL_INT64* n, const MKL_INT64* b1, const MKL_INT64* bn,
             const double* lambda, const double* d, const double* l,
             const double* ld, const double* lld, const double* pivmin,
             const double* gaptol, double* z, const MKL_INT64* wantnc,
             MKL_INT64* negcnt, double* ztz, double* mingma, MKL_INT64* r,
             MKL_INT64* isuppz, double* nrminv, double* resid, double* rqcorr,
             double* work ) NOTHROW;

void DLAR2V_64( const MKL_INT64* n, double* x, double* y, double* z,
             const MKL_INT64* incx, const double* c, const double* s,
             const MKL_INT64* incc ) NOTHROW;
void dlar2v_64( const MKL_INT64* n, double* x, double* y, double* z,
             const MKL_INT64* incx, const double* c, const double* s,
             const MKL_INT64* incc ) NOTHROW;

void DLARFB_64( const char* side, const char* trans, const char* direct,
             const char* storev, const MKL_INT64* m, const MKL_INT64* n,
             const MKL_INT64* k, const double* v, const MKL_INT64* ldv,
             const double* t, const MKL_INT64* ldt, double* c,
             const MKL_INT64* ldc, double* work, const MKL_INT64* ldwork ) NOTHROW;
void dlarfb_64( const char* side, const char* trans, const char* direct,
             const char* storev, const MKL_INT64* m, const MKL_INT64* n,
             const MKL_INT64* k, const double* v, const MKL_INT64* ldv,
             const double* t, const MKL_INT64* ldt, double* c,
             const MKL_INT64* ldc, double* work, const MKL_INT64* ldwork ) NOTHROW;

void DLARF_64( const char* side, const MKL_INT64* m, const MKL_INT64* n,
            const double* v, const MKL_INT64* incv, const double* tau, double* c,
            const MKL_INT64* ldc, double* work ) NOTHROW;
void dlarf_64( const char* side, const MKL_INT64* m, const MKL_INT64* n,
            const double* v, const MKL_INT64* incv, const double* tau, double* c,
            const MKL_INT64* ldc, double* work ) NOTHROW;

void DLARFG_64( const MKL_INT64* n, double* alpha, double* x, const MKL_INT64* incx,
             double* tau ) NOTHROW;
void dlarfg_64( const MKL_INT64* n, double* alpha, double* x, const MKL_INT64* incx,
             double* tau ) NOTHROW;

void DLARFGP_64( const MKL_INT64* n, double* alpha, double* x, const MKL_INT64* incx,
              double* tau ) NOTHROW;
void dlarfgp_64( const MKL_INT64* n, double* alpha, double* x, const MKL_INT64* incx,
              double* tau ) NOTHROW;

void DLARFP_64( const MKL_INT64* n, double* alpha, double* x, const MKL_INT64* incx,
             double* tau ) NOTHROW;
void dlarfp_64( const MKL_INT64* n, double* alpha, double* x, const MKL_INT64* incx,
             double* tau ) NOTHROW;

void DLARFT_64( const char* direct, const char* storev, const MKL_INT64* n,
             const MKL_INT64* k, const double* v, const MKL_INT64* ldv,
             const double* tau, double* t, const MKL_INT64* ldt ) NOTHROW;
void dlarft_64( const char* direct, const char* storev, const MKL_INT64* n,
             const MKL_INT64* k, const double* v, const MKL_INT64* ldv,
             const double* tau, double* t, const MKL_INT64* ldt ) NOTHROW;

void DLARFX_64( const char* side, const MKL_INT64* m, const MKL_INT64* n,
             const double* v, const double* tau, double* c, const MKL_INT64* ldc,
             double* work ) NOTHROW;
void dlarfx_64( const char* side, const MKL_INT64* m, const MKL_INT64* n,
             const double* v, const double* tau, double* c, const MKL_INT64* ldc,
             double* work ) NOTHROW;

void DLARGV_64( const MKL_INT64* n, double* x, const MKL_INT64* incx, double* y,
             const MKL_INT64* incy, double* c, const MKL_INT64* incc ) NOTHROW;
void dlargv_64( const MKL_INT64* n, double* x, const MKL_INT64* incx, double* y,
             const MKL_INT64* incy, double* c, const MKL_INT64* incc ) NOTHROW;

void DLARNV_64( const MKL_INT64* idist, MKL_INT64* iseed, const MKL_INT64* n,
             double* x ) NOTHROW;
void dlarnv_64( const MKL_INT64* idist, MKL_INT64* iseed, const MKL_INT64* n,
             double* x ) NOTHROW;

void DLARRA_64( const MKL_INT64* n, const double* d, double* e, double* e2,
             const double* spltol, const double* tnrm, MKL_INT64* nsplit,
             MKL_INT64* isplit, MKL_INT64* info ) NOTHROW;
void dlarra_64( const MKL_INT64* n, const double* d, double* e, double* e2,
             const double* spltol, const double* tnrm, MKL_INT64* nsplit,
             MKL_INT64* isplit, MKL_INT64* info ) NOTHROW;

void DLARRB_64( const MKL_INT64* n, const double* d, const double* lld,
             const MKL_INT64* ifirst, const MKL_INT64* ilast, const double* rtol1,
             const double* rtol2, const MKL_INT64* offset, double* w,
             double* wgap, double* werr, double* work, MKL_INT64* iwork,
             const double* pivmin, const double* spdiam, const MKL_INT64* twist,
             MKL_INT64* info ) NOTHROW;
void dlarrb_64( const MKL_INT64* n, const double* d, const double* lld,
             const MKL_INT64* ifirst, const MKL_INT64* ilast, const double* rtol1,
             const double* rtol2, const MKL_INT64* offset, double* w,
             double* wgap, double* werr, double* work, MKL_INT64* iwork,
             const double* pivmin, const double* spdiam, const MKL_INT64* twist,
             MKL_INT64* info ) NOTHROW;

void DLARRC_64( const char* jobt, const MKL_INT64* n, const double* vl,
             const double* vu, const double* d, const double* e,
             const double* pivmin, MKL_INT64* eigcnt, MKL_INT64* lcnt,
             MKL_INT64* rcnt, MKL_INT64* info ) NOTHROW;
void dlarrc_64( const char* jobt, const MKL_INT64* n, const double* vl,
             const double* vu, const double* d, const double* e,
             const double* pivmin, MKL_INT64* eigcnt, MKL_INT64* lcnt,
             MKL_INT64* rcnt, MKL_INT64* info ) NOTHROW;

void DLARRD_64( const char* range, const char* order, const MKL_INT64* n,
             const double* vl, const double* vu, const MKL_INT64* il,
             const MKL_INT64* iu, const double* gers, const double* reltol,
             const double* d, const double* e, const double* e2,
             const double* pivmin, const MKL_INT64* nsplit,
             const MKL_INT64* isplit, MKL_INT64* m, double* w, double* werr,
             double* wl, double* wu, MKL_INT64* iblock, MKL_INT64* indexw,
             double* work, MKL_INT64* iwork, MKL_INT64* info ) NOTHROW;
void dlarrd_64( const char* range, const char* order, const MKL_INT64* n,
             const double* vl, const double* vu, const MKL_INT64* il,
             const MKL_INT64* iu, const double* gers, const double* reltol,
             const double* d, const double* e, const double* e2,
             const double* pivmin, const MKL_INT64* nsplit,
             const MKL_INT64* isplit, MKL_INT64* m, double* w, double* werr,
             double* wl, double* wu, MKL_INT64* iblock, MKL_INT64* indexw,
             double* work, MKL_INT64* iwork, MKL_INT64* info ) NOTHROW;

void DLARRE_64( const char* range, const MKL_INT64* n, double* vl, double* vu,
             const MKL_INT64* il, const MKL_INT64* iu, double* d, double* e,
             double* e2, const double* rtol1, const double* rtol2,
             const double* spltol, MKL_INT64* nsplit, MKL_INT64* isplit,
             MKL_INT64* m, double* w, double* werr, double* wgap,
             MKL_INT64* iblock, MKL_INT64* indexw, double* gers, double* pivmin,
             double* work, MKL_INT64* iwork, MKL_INT64* info ) NOTHROW;
void dlarre_64( const char* range, const MKL_INT64* n, double* vl, double* vu,
             const MKL_INT64* il, const MKL_INT64* iu, double* d, double* e,
             double* e2, const double* rtol1, const double* rtol2,
             const double* spltol, MKL_INT64* nsplit, MKL_INT64* isplit,
             MKL_INT64* m, double* w, double* werr, double* wgap,
             MKL_INT64* iblock, MKL_INT64* indexw, double* gers, double* pivmin,
             double* work, MKL_INT64* iwork, MKL_INT64* info ) NOTHROW;

void DLARRF_64( const MKL_INT64* n, const double* d, const double* l,
             const double* ld, const MKL_INT64* clstrt, const MKL_INT64* clend,
             const double* w, double* wgap, const double* werr,
             const double* spdiam, const double* clgapl, double* clgapr,
             const double* pivmin, double* sigma, double* dplus, double* lplus,
             double* work, MKL_INT64* info ) NOTHROW;
void dlarrf_64( const MKL_INT64* n, const double* d, const double* l,
             const double* ld, const MKL_INT64* clstrt, const MKL_INT64* clend,
             const double* w, double* wgap, const double* werr,
             const double* spdiam, const double* clgapl, double* clgapr,
             const double* pivmin, double* sigma, double* dplus, double* lplus,
             double* work, MKL_INT64* info ) NOTHROW;

void DLARRJ_64( const MKL_INT64* n, const double* d, const double* e2,
             const MKL_INT64* ifirst, const MKL_INT64* ilast, const double* rtol,
             const MKL_INT64* offset, double* w, double* werr, double* work,
             MKL_INT64* iwork, const double* pivmin, const double* spdiam,
             MKL_INT64* info ) NOTHROW;
void dlarrj_64( const MKL_INT64* n, const double* d, const double* e2,
             const MKL_INT64* ifirst, const MKL_INT64* ilast, const double* rtol,
             const MKL_INT64* offset, double* w, double* werr, double* work,
             MKL_INT64* iwork, const double* pivmin, const double* spdiam,
             MKL_INT64* info ) NOTHROW;

void DLARRK_64( const MKL_INT64* n, const MKL_INT64* iw, const double* gl,
             const double* gu, const double* d, const double* e2,
             const double* pivmin, const double* reltol, double* w,
             double* werr, MKL_INT64* info ) NOTHROW;
void dlarrk_64( const MKL_INT64* n, const MKL_INT64* iw, const double* gl,
             const double* gu, const double* d, const double* e2,
             const double* pivmin, const double* reltol, double* w,
             double* werr, MKL_INT64* info ) NOTHROW;

void DLARRR_64( const MKL_INT64* n, const double* d, double* e, MKL_INT64* info ) NOTHROW;
void dlarrr_64( const MKL_INT64* n, const double* d, double* e, MKL_INT64* info ) NOTHROW;

void DLARRV_64( const MKL_INT64* n, const double* vl, const double* vu, double* d,
             double* l, double* pivmin, const MKL_INT64* isplit,
             const MKL_INT64* m, const MKL_INT64* dol, const MKL_INT64* dou,
             const double* minrgp, const double* rtol1, const double* rtol2,
             double* w, double* werr, double* wgap, const MKL_INT64* iblock,
             const MKL_INT64* indexw, const double* gers, double* z,
             const MKL_INT64* ldz, MKL_INT64* isuppz, double* work, MKL_INT64* iwork,
             MKL_INT64* info ) NOTHROW;
void dlarrv_64( const MKL_INT64* n, const double* vl, const double* vu, double* d,
             double* l, double* pivmin, const MKL_INT64* isplit,
             const MKL_INT64* m, const MKL_INT64* dol, const MKL_INT64* dou,
             const double* minrgp, const double* rtol1, const double* rtol2,
             double* w, double* werr, double* wgap, const MKL_INT64* iblock,
             const MKL_INT64* indexw, const double* gers, double* z,
             const MKL_INT64* ldz, MKL_INT64* isuppz, double* work, MKL_INT64* iwork,
             MKL_INT64* info ) NOTHROW;

void DLARSCL2_64( const MKL_INT64* m, const MKL_INT64* n, const double* d, double* x,
               const MKL_INT64* ldx ) NOTHROW;
void dlarscl2_64( const MKL_INT64* m, const MKL_INT64* n, const double* d, double* x,
               const MKL_INT64* ldx ) NOTHROW;

void DLARTV_64( const MKL_INT64* n, double* x, const MKL_INT64* incx, double* y,
             const MKL_INT64* incy, const double* c, const double* s,
             const MKL_INT64* incc ) NOTHROW;
void dlartv_64( const MKL_INT64* n, double* x, const MKL_INT64* incx, double* y,
             const MKL_INT64* incy, const double* c, const double* s,
             const MKL_INT64* incc ) NOTHROW;

void DLARUV_64( MKL_INT64* iseed, const MKL_INT64* n, double* x ) NOTHROW;
void dlaruv_64( MKL_INT64* iseed, const MKL_INT64* n, double* x ) NOTHROW;

void DLARZB_64( const char* side, const char* trans, const char* direct,
             const char* storev, const MKL_INT64* m, const MKL_INT64* n,
             const MKL_INT64* k, const MKL_INT64* l, const double* v,
             const MKL_INT64* ldv, const double* t, const MKL_INT64* ldt,
             double* c, const MKL_INT64* ldc, double* work,
             const MKL_INT64* ldwork ) NOTHROW;
void dlarzb_64( const char* side, const char* trans, const char* direct,
             const char* storev, const MKL_INT64* m, const MKL_INT64* n,
             const MKL_INT64* k, const MKL_INT64* l, const double* v,
             const MKL_INT64* ldv, const double* t, const MKL_INT64* ldt,
             double* c, const MKL_INT64* ldc, double* work,
             const MKL_INT64* ldwork ) NOTHROW;

void DLARZ_64( const char* side, const MKL_INT64* m, const MKL_INT64* n,
            const MKL_INT64* l, const double* v, const MKL_INT64* incv,
            const double* tau, double* c, const MKL_INT64* ldc, double* work ) NOTHROW;
void dlarz_64( const char* side, const MKL_INT64* m, const MKL_INT64* n,
            const MKL_INT64* l, const double* v, const MKL_INT64* incv,
            const double* tau, double* c, const MKL_INT64* ldc, double* work ) NOTHROW;

void DLARZT_64( const char* direct, const char* storev, const MKL_INT64* n,
             const MKL_INT64* k, double* v, const MKL_INT64* ldv,
             const double* tau, double* t, const MKL_INT64* ldt ) NOTHROW;
void dlarzt_64( const char* direct, const char* storev, const MKL_INT64* n,
             const MKL_INT64* k, double* v, const MKL_INT64* ldv,
             const double* tau, double* t, const MKL_INT64* ldt ) NOTHROW;

void DLASCL_64( const char* type, const MKL_INT64* kl, const MKL_INT64* ku,
             const double* cfrom, const double* cto, const MKL_INT64* m,
             const MKL_INT64* n, double* a, const MKL_INT64* lda, MKL_INT64* info ) NOTHROW;
void dlascl_64( const char* type, const MKL_INT64* kl, const MKL_INT64* ku,
             const double* cfrom, const double* cto, const MKL_INT64* m,
             const MKL_INT64* n, double* a, const MKL_INT64* lda, MKL_INT64* info ) NOTHROW;

void DLASCL2_64( const MKL_INT64* m, const MKL_INT64* n, const double* d, double* x,
              const MKL_INT64* ldx ) NOTHROW;
void dlascl2_64( const MKL_INT64* m, const MKL_INT64* n, const double* d, double* x,
              const MKL_INT64* ldx ) NOTHROW;

void DLASD0_64( const MKL_INT64* n, const MKL_INT64* sqre, double* d, const double* e,
             double* u, const MKL_INT64* ldu, double* vt, const MKL_INT64* ldvt,
             const MKL_INT64* smlsiz, MKL_INT64* iwork, double* work,
             MKL_INT64* info ) NOTHROW;
void dlasd0_64( const MKL_INT64* n, const MKL_INT64* sqre, double* d, const double* e,
             double* u, const MKL_INT64* ldu, double* vt, const MKL_INT64* ldvt,
             const MKL_INT64* smlsiz, MKL_INT64* iwork, double* work,
             MKL_INT64* info ) NOTHROW;

void DLASD1_64( const MKL_INT64* nl, const MKL_INT64* nr, const MKL_INT64* sqre,
             double* d, double* alpha, double* beta, double* u,
             const MKL_INT64* ldu, double* vt, const MKL_INT64* ldvt,
             MKL_INT64* idxq, MKL_INT64* iwork, double* work, MKL_INT64* info ) NOTHROW;
void dlasd1_64( const MKL_INT64* nl, const MKL_INT64* nr, const MKL_INT64* sqre,
             double* d, double* alpha, double* beta, double* u,
             const MKL_INT64* ldu, double* vt, const MKL_INT64* ldvt,
             MKL_INT64* idxq, MKL_INT64* iwork, double* work, MKL_INT64* info ) NOTHROW;

void DLASD2_64( const MKL_INT64* nl, const MKL_INT64* nr, const MKL_INT64* sqre,
             MKL_INT64* k, double* d, double* z, const double* alpha,
             const double* beta, double* u, const MKL_INT64* ldu, double* vt,
             const MKL_INT64* ldvt, double* dsigma, double* u2,
             const MKL_INT64* ldu2, double* vt2, const MKL_INT64* ldvt2,
             MKL_INT64* idxp, MKL_INT64* idx, MKL_INT64* idxc, MKL_INT64* idxq,
             MKL_INT64* coltyp, MKL_INT64* info ) NOTHROW;
void dlasd2_64( const MKL_INT64* nl, const MKL_INT64* nr, const MKL_INT64* sqre,
             MKL_INT64* k, double* d, double* z, const double* alpha,
             const double* beta, double* u, const MKL_INT64* ldu, double* vt,
             const MKL_INT64* ldvt, double* dsigma, double* u2,
             const MKL_INT64* ldu2, double* vt2, const MKL_INT64* ldvt2,
             MKL_INT64* idxp, MKL_INT64* idx, MKL_INT64* idxc, MKL_INT64* idxq,
             MKL_INT64* coltyp, MKL_INT64* info ) NOTHROW;

void DLASD3_64( const MKL_INT64* nl, const MKL_INT64* nr, const MKL_INT64* sqre,
             const MKL_INT64* k, double* d, double* q, const MKL_INT64* ldq,
             const double* dsigma, double* u, const MKL_INT64* ldu, double* u2,
             const MKL_INT64* ldu2, double* vt, const MKL_INT64* ldvt, double* vt2,
             const MKL_INT64* ldvt2, const MKL_INT64* idxc, const MKL_INT64* ctot,
             const double* z, MKL_INT64* info ) NOTHROW;
void dlasd3_64( const MKL_INT64* nl, const MKL_INT64* nr, const MKL_INT64* sqre,
             const MKL_INT64* k, double* d, double* q, const MKL_INT64* ldq,
             const double* dsigma, double* u, const MKL_INT64* ldu, double* u2,
             const MKL_INT64* ldu2, double* vt, const MKL_INT64* ldvt, double* vt2,
             const MKL_INT64* ldvt2, const MKL_INT64* idxc, const MKL_INT64* ctot,
             const double* z, MKL_INT64* info ) NOTHROW;

void DLASD4_64( const MKL_INT64* n, const MKL_INT64* i, const double* d,
             const double* z, double* delta, const double* rho, double* sigma,
             double* work, MKL_INT64* info ) NOTHROW;
void dlasd4_64( const MKL_INT64* n, const MKL_INT64* i, const double* d,
             const double* z, double* delta, const double* rho, double* sigma,
             double* work, MKL_INT64* info ) NOTHROW;

void DLASD5_64( const MKL_INT64* i, const double* d, const double* z, double* delta,
             const double* rho, double* dsigma, double* work ) NOTHROW;
void dlasd5_64( const MKL_INT64* i, const double* d, const double* z, double* delta,
             const double* rho, double* dsigma, double* work ) NOTHROW;

void DLASD6_64( const MKL_INT64* icompq, const MKL_INT64* nl, const MKL_INT64* nr,
             const MKL_INT64* sqre, double* d, double* vf, double* vl,
             double* alpha, double* beta, MKL_INT64* idxq, MKL_INT64* perm,
             MKL_INT64* givptr, MKL_INT64* givcol, const MKL_INT64* ldgcol,
             double* givnum, const MKL_INT64* ldgnum, double* poles,
             double* difl, double* difr, double* z, MKL_INT64* k, double* c,
             double* s, double* work, MKL_INT64* iwork, MKL_INT64* info ) NOTHROW;
void dlasd6_64( const MKL_INT64* icompq, const MKL_INT64* nl, const MKL_INT64* nr,
             const MKL_INT64* sqre, double* d, double* vf, double* vl,
             double* alpha, double* beta, MKL_INT64* idxq, MKL_INT64* perm,
             MKL_INT64* givptr, MKL_INT64* givcol, const MKL_INT64* ldgcol,
             double* givnum, const MKL_INT64* ldgnum, double* poles,
             double* difl, double* difr, double* z, MKL_INT64* k, double* c,
             double* s, double* work, MKL_INT64* iwork, MKL_INT64* info ) NOTHROW;

void DLASD7_64( const MKL_INT64* icompq, const MKL_INT64* nl, const MKL_INT64* nr,
             const MKL_INT64* sqre, MKL_INT64* k, double* d, double* z, double* zw,
             double* vf, double* vfw, double* vl, double* vlw,
             const double* alpha, const double* beta, double* dsigma,
             MKL_INT64* idx, MKL_INT64* idxp, const MKL_INT64* idxq, MKL_INT64* perm,
             MKL_INT64* givptr, MKL_INT64* givcol, const MKL_INT64* ldgcol,
             double* givnum, const MKL_INT64* ldgnum, double* c, double* s,
             MKL_INT64* info ) NOTHROW;
void dlasd7_64( const MKL_INT64* icompq, const MKL_INT64* nl, const MKL_INT64* nr,
             const MKL_INT64* sqre, MKL_INT64* k, double* d, double* z, double* zw,
             double* vf, double* vfw, double* vl, double* vlw,
             const double* alpha, const double* beta, double* dsigma,
             MKL_INT64* idx, MKL_INT64* idxp, const MKL_INT64* idxq, MKL_INT64* perm,
             MKL_INT64* givptr, MKL_INT64* givcol, const MKL_INT64* ldgcol,
             double* givnum, const MKL_INT64* ldgnum, double* c, double* s,
             MKL_INT64* info ) NOTHROW;

void DLASD8_64( const MKL_INT64* icompq, const MKL_INT64* k, double* d, double* z,
             double* vf, double* vl, double* difl, double* difr,
             const MKL_INT64* lddifr, double* dsigma, double* work,
             MKL_INT64* info ) NOTHROW;
void dlasd8_64( const MKL_INT64* icompq, const MKL_INT64* k, double* d, double* z,
             double* vf, double* vl, double* difl, double* difr,
             const MKL_INT64* lddifr, double* dsigma, double* work,
             MKL_INT64* info ) NOTHROW;

void DLASDA_64( const MKL_INT64* icompq, const MKL_INT64* smlsiz, const MKL_INT64* n,
             const MKL_INT64* sqre, double* d, const double* e, double* u,
             const MKL_INT64* ldu, double* vt, MKL_INT64* k, double* difl,
             double* difr, double* z, double* poles, MKL_INT64* givptr,
             MKL_INT64* givcol, const MKL_INT64* ldgcol, MKL_INT64* perm,
             double* givnum, double* c, double* s, double* work,
             MKL_INT64* iwork, MKL_INT64* info ) NOTHROW;
void dlasda_64( const MKL_INT64* icompq, const MKL_INT64* smlsiz, const MKL_INT64* n,
             const MKL_INT64* sqre, double* d, const double* e, double* u,
             const MKL_INT64* ldu, double* vt, MKL_INT64* k, double* difl,
             double* difr, double* z, double* poles, MKL_INT64* givptr,
             MKL_INT64* givcol, const MKL_INT64* ldgcol, MKL_INT64* perm,
             double* givnum, double* c, double* s, double* work,
             MKL_INT64* iwork, MKL_INT64* info ) NOTHROW;

void DLASDQ_64( const char* uplo, const MKL_INT64* sqre, const MKL_INT64* n,
             const MKL_INT64* ncvt, const MKL_INT64* nru, const MKL_INT64* ncc,
             double* d, double* e, double* vt, const MKL_INT64* ldvt, double* u,
             const MKL_INT64* ldu, double* c, const MKL_INT64* ldc, double* work,
             MKL_INT64* info ) NOTHROW;
void dlasdq_64( const char* uplo, const MKL_INT64* sqre, const MKL_INT64* n,
             const MKL_INT64* ncvt, const MKL_INT64* nru, const MKL_INT64* ncc,
             double* d, double* e, double* vt, const MKL_INT64* ldvt, double* u,
             const MKL_INT64* ldu, double* c, const MKL_INT64* ldc, double* work,
             MKL_INT64* info ) NOTHROW;

void DLASDT_64( const MKL_INT64* n, MKL_INT64* lvl, MKL_INT64* nd, MKL_INT64* inode,
             MKL_INT64* ndiml, MKL_INT64* ndimr, const MKL_INT64* msub ) NOTHROW;
void dlasdt_64( const MKL_INT64* n, MKL_INT64* lvl, MKL_INT64* nd, MKL_INT64* inode,
             MKL_INT64* ndiml, MKL_INT64* ndimr, const MKL_INT64* msub ) NOTHROW;

void DLASET_64( const char* uplo, const MKL_INT64* m, const MKL_INT64* n,
             const double* alpha, const double* beta, double* a,
             const MKL_INT64* lda ) NOTHROW;
void dlaset_64( const char* uplo, const MKL_INT64* m, const MKL_INT64* n,
             const double* alpha, const double* beta, double* a,
             const MKL_INT64* lda ) NOTHROW;

void DLASQ1_64( const MKL_INT64* n, double* d, double* e, double* work,
             MKL_INT64* info ) NOTHROW;
void dlasq1_64( const MKL_INT64* n, double* d, double* e, double* work,
             MKL_INT64* info ) NOTHROW;

void DLASQ2_64( const MKL_INT64* n, double* z, MKL_INT64* info ) NOTHROW;
void dlasq2_64( const MKL_INT64* n, double* z, MKL_INT64* info ) NOTHROW;

void DLASQ3_64( const MKL_INT64* i0, const MKL_INT64* n0, const double* z,
             MKL_INT64* pp, double* dmin, double* sigma, double* desig,
             const double* qmax, MKL_INT64* nfail, MKL_INT64* iter, MKL_INT64* ndiv,
             const MKL_INT64* ieee, MKL_INT64* ttype, double* dmin1, double* dmin2,
             double* dn, double* dn1, double* dn2, double* g, double* tau ) NOTHROW;
void dlasq3_64( const MKL_INT64* i0, const MKL_INT64* n0, const double* z,
             MKL_INT64* pp, double* dmin, double* sigma, double* desig,
             const double* qmax, MKL_INT64* nfail, MKL_INT64* iter, MKL_INT64* ndiv,
             const MKL_INT64* ieee, MKL_INT64* ttype, double* dmin1, double* dmin2,
             double* dn, double* dn1, double* dn2, double* g, double* tau ) NOTHROW;

void DLASQ4_64( const MKL_INT64* i0, const MKL_INT64* n0, const double* z,
             const MKL_INT64* pp, MKL_INT64* n0in, const double* dmin,
             const double* dmin1, const double* dmin2, const double* dn,
             const double* dn1, const double* dn2, double* tau, MKL_INT64* ttype,
             double* g ) NOTHROW;
void dlasq4_64( const MKL_INT64* i0, const MKL_INT64* n0, const double* z,
             const MKL_INT64* pp, MKL_INT64* n0in, const double* dmin,
             const double* dmin1, const double* dmin2, const double* dn,
             const double* dn1, const double* dn2, double* tau, MKL_INT64* ttype,
             double* g ) NOTHROW;

void DLASQ5_64( const MKL_INT64* i0, const MKL_INT64* n0, const double* z,
             const MKL_INT64* pp, const double* tau, const double* sigma,
             double* dmin, double* dmin1, double* dmin2, double* dn,
             double* dnm1, double* dnm2, const MKL_INT64* ieee,
             const double* eps) NOTHROW;
void dlasq5_64( const MKL_INT64* i0, const MKL_INT64* n0, const double* z,
             const MKL_INT64* pp, const double* tau, const double* sigma,
             double* dmin, double* dmin1, double* dmin2, double* dn,
             double* dnm1, double* dnm2, const MKL_INT64* ieee,
             const double* eps) NOTHROW;

void DLASQ6_64( const MKL_INT64* i0, const MKL_INT64* n0, const double* z,
             const MKL_INT64* pp, double* dmin, double* dmin1, double* dmin2,
             double* dn, double* dnm1, double* dnm2 ) NOTHROW;
void dlasq6_64( const MKL_INT64* i0, const MKL_INT64* n0, const double* z,
             const MKL_INT64* pp, double* dmin, double* dmin1, double* dmin2,
             double* dn, double* dnm1, double* dnm2 ) NOTHROW;

void DLASR_64( const char* side, const char* pivot, const char* direct,
            const MKL_INT64* m, const MKL_INT64* n, const double* c,
            const double* s, double* a, const MKL_INT64* lda ) NOTHROW;
void dlasr_64( const char* side, const char* pivot, const char* direct,
            const MKL_INT64* m, const MKL_INT64* n, const double* c,
            const double* s, double* a, const MKL_INT64* lda ) NOTHROW;

void DLASRT_64( const char* id, const MKL_INT64* n, double* d, MKL_INT64* info ) NOTHROW;
void dlasrt_64( const char* id, const MKL_INT64* n, double* d, MKL_INT64* info ) NOTHROW;

void DLASSQ_64( const MKL_INT64* n, const double* x, const MKL_INT64* incx,
             double* scale, double* sumsq ) NOTHROW;
void dlassq_64( const MKL_INT64* n, const double* x, const MKL_INT64* incx,
             double* scale, double* sumsq ) NOTHROW;

void DLASWP_64( const MKL_INT64* n, double* a, const MKL_INT64* lda,
             const MKL_INT64* k1, const MKL_INT64* k2, const MKL_INT64* ipiv,
             const MKL_INT64* incx ) NOTHROW;
void dlaswp_64( const MKL_INT64* n, double* a, const MKL_INT64* lda,
             const MKL_INT64* k1, const MKL_INT64* k2, const MKL_INT64* ipiv,
             const MKL_INT64* incx ) NOTHROW;

void DLASY2_64( const MKL_INT64* ltranl, const MKL_INT64* ltranr, const MKL_INT64* isgn,
             const MKL_INT64* n1, const MKL_INT64* n2, const double* tl,
             const MKL_INT64* ldtl, const double* tr, const MKL_INT64* ldtr,
             const double* b, const MKL_INT64* ldb, double* scale, double* x,
             const MKL_INT64* ldx, double* xnorm, MKL_INT64* info ) NOTHROW;
void dlasy2_64( const MKL_INT64* ltranl, const MKL_INT64* ltranr, const MKL_INT64* isgn,
             const MKL_INT64* n1, const MKL_INT64* n2, const double* tl,
             const MKL_INT64* ldtl, const double* tr, const MKL_INT64* ldtr,
             const double* b, const MKL_INT64* ldb, double* scale, double* x,
             const MKL_INT64* ldx, double* xnorm, MKL_INT64* info ) NOTHROW;

void DLASYF_64( const char* uplo, const MKL_INT64* n, const MKL_INT64* nb,
             MKL_INT64* kb, double* a, const MKL_INT64* lda, MKL_INT64* ipiv,
             double* w, const MKL_INT64* ldw, MKL_INT64* info ) NOTHROW;
void dlasyf_64( const char* uplo, const MKL_INT64* n, const MKL_INT64* nb,
             MKL_INT64* kb, double* a, const MKL_INT64* lda, MKL_INT64* ipiv,
             double* w, const MKL_INT64* ldw, MKL_INT64* info ) NOTHROW;

void DLAT2S_64( const char* uplo, const MKL_INT64* n, const double* a,
             const MKL_INT64* lda, float* sa, const MKL_INT64* ldsa,
             MKL_INT64* info ) NOTHROW;
void dlat2s_64( const char* uplo, const MKL_INT64* n, const double* a,
             const MKL_INT64* lda, float* sa, const MKL_INT64* ldsa,
             MKL_INT64* info ) NOTHROW;

void DLATBS_64( const char* uplo, const char* trans, const char* diag,
             const char* normin, const MKL_INT64* n, const MKL_INT64* kd,
             const double* ab, const MKL_INT64* ldab, double* x, double* scale,
             double* cnorm, MKL_INT64* info ) NOTHROW;
void dlatbs_64( const char* uplo, const char* trans, const char* diag,
             const char* normin, const MKL_INT64* n, const MKL_INT64* kd,
             const double* ab, const MKL_INT64* ldab, double* x, double* scale,
             double* cnorm, MKL_INT64* info ) NOTHROW;

void DLATDF_64( const MKL_INT64* ijob, const MKL_INT64* n, const double* z,
             const MKL_INT64* ldz, double* rhs, double* rdsum, double* rdscal,
             const MKL_INT64* ipiv, const MKL_INT64* jpiv ) NOTHROW;
void dlatdf_64( const MKL_INT64* ijob, const MKL_INT64* n, const double* z,
             const MKL_INT64* ldz, double* rhs, double* rdsum, double* rdscal,
             const MKL_INT64* ipiv, const MKL_INT64* jpiv ) NOTHROW;

void DLATPS_64( const char* uplo, const char* trans, const char* diag,
             const char* normin, const MKL_INT64* n, const double* ap, double* x,
             double* scale, double* cnorm, MKL_INT64* info ) NOTHROW;
void dlatps_64( const char* uplo, const char* trans, const char* diag,
             const char* normin, const MKL_INT64* n, const double* ap, double* x,
             double* scale, double* cnorm, MKL_INT64* info ) NOTHROW;

void DLATRD_64( const char* uplo, const MKL_INT64* n, const MKL_INT64* nb, double* a,
             const MKL_INT64* lda, double* e, double* tau, double* w,
             const MKL_INT64* ldw ) NOTHROW;
void dlatrd_64( const char* uplo, const MKL_INT64* n, const MKL_INT64* nb, double* a,
             const MKL_INT64* lda, double* e, double* tau, double* w,
             const MKL_INT64* ldw ) NOTHROW;

void DLATRS_64( const char* uplo, const char* trans, const char* diag,
             const char* normin, const MKL_INT64* n, const double* a,
             const MKL_INT64* lda, double* x, double* scale, double* cnorm,
             MKL_INT64* info ) NOTHROW;
void dlatrs_64( const char* uplo, const char* trans, const char* diag,
             const char* normin, const MKL_INT64* n, const double* a,
             const MKL_INT64* lda, double* x, double* scale, double* cnorm,
             MKL_INT64* info ) NOTHROW;

void DLATRZ_64( const MKL_INT64* m, const MKL_INT64* n, const MKL_INT64* l, double* a,
             const MKL_INT64* lda, double* tau, double* work ) NOTHROW;
void dlatrz_64( const MKL_INT64* m, const MKL_INT64* n, const MKL_INT64* l, double* a,
             const MKL_INT64* lda, double* tau, double* work ) NOTHROW;

void DLATZM_64( const char* side, const MKL_INT64* m, const MKL_INT64* n,
             const double* v, const MKL_INT64* incv, const double* tau,
             double* c1, double* c2, const MKL_INT64* ldc, double* work ) NOTHROW;
void dlatzm_64( const char* side, const MKL_INT64* m, const MKL_INT64* n,
             const double* v, const MKL_INT64* incv, const double* tau,
             double* c1, double* c2, const MKL_INT64* ldc, double* work ) NOTHROW;

void DLAUU2_64( const char* uplo, const MKL_INT64* n, double* a, const MKL_INT64* lda,
             MKL_INT64* info ) NOTHROW;
void dlauu2_64( const char* uplo, const MKL_INT64* n, double* a, const MKL_INT64* lda,
             MKL_INT64* info ) NOTHROW;

void DLAUUM_64( const char* uplo, const MKL_INT64* n, double* a, const MKL_INT64* lda,
             MKL_INT64* info ) NOTHROW;
void dlauum_64( const char* uplo, const MKL_INT64* n, double* a, const MKL_INT64* lda,
             MKL_INT64* info ) NOTHROW;

void DOPGTR_64( const char* uplo, const MKL_INT64* n, const double* ap,
             const double* tau, double* q, const MKL_INT64* ldq, double* work,
             MKL_INT64* info ) NOTHROW;
void dopgtr_64( const char* uplo, const MKL_INT64* n, const double* ap,
             const double* tau, double* q, const MKL_INT64* ldq, double* work,
             MKL_INT64* info ) NOTHROW;

void DOPMTR_64( const char* side, const char* uplo, const char* trans,
             const MKL_INT64* m, const MKL_INT64* n, const double* ap,
             const double* tau, double* c, const MKL_INT64* ldc, double* work,
             MKL_INT64* info ) NOTHROW;
void dopmtr_64( const char* side, const char* uplo, const char* trans,
             const MKL_INT64* m, const MKL_INT64* n, const double* ap,
             const double* tau, double* c, const MKL_INT64* ldc, double* work,
             MKL_INT64* info ) NOTHROW;

void DORG2L_64( const MKL_INT64* m, const MKL_INT64* n, const MKL_INT64* k, double* a,
             const MKL_INT64* lda, const double* tau, double* work,
             MKL_INT64* info ) NOTHROW;
void dorg2l_64( const MKL_INT64* m, const MKL_INT64* n, const MKL_INT64* k, double* a,
             const MKL_INT64* lda, const double* tau, double* work,
             MKL_INT64* info ) NOTHROW;

void DORG2R_64( const MKL_INT64* m, const MKL_INT64* n, const MKL_INT64* k, double* a,
             const MKL_INT64* lda, const double* tau, double* work,
             MKL_INT64* info ) NOTHROW;
void dorg2r_64( const MKL_INT64* m, const MKL_INT64* n, const MKL_INT64* k, double* a,
             const MKL_INT64* lda, const double* tau, double* work,
             MKL_INT64* info ) NOTHROW;

void DORGBR_64( const char* vect, const MKL_INT64* m, const MKL_INT64* n,
             const MKL_INT64* k, double* a, const MKL_INT64* lda,
             const double* tau, double* work, const MKL_INT64* lwork,
             MKL_INT64* info ) NOTHROW;
void dorgbr_64( const char* vect, const MKL_INT64* m, const MKL_INT64* n,
             const MKL_INT64* k, double* a, const MKL_INT64* lda,
             const double* tau, double* work, const MKL_INT64* lwork,
             MKL_INT64* info ) NOTHROW;

void DORGHR_64( const MKL_INT64* n, const MKL_INT64* ilo, const MKL_INT64* ihi,
             double* a, const MKL_INT64* lda, const double* tau, double* work,
             const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;
void dorghr_64( const MKL_INT64* n, const MKL_INT64* ilo, const MKL_INT64* ihi,
             double* a, const MKL_INT64* lda, const double* tau, double* work,
             const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;

void DORGL2_64( const MKL_INT64* m, const MKL_INT64* n, const MKL_INT64* k, double* a,
             const MKL_INT64* lda, const double* tau, double* work,
             MKL_INT64* info ) NOTHROW;
void dorgl2_64( const MKL_INT64* m, const MKL_INT64* n, const MKL_INT64* k, double* a,
             const MKL_INT64* lda, const double* tau, double* work,
             MKL_INT64* info ) NOTHROW;

void DORGLQ_64( const MKL_INT64* m, const MKL_INT64* n, const MKL_INT64* k, double* a,
             const MKL_INT64* lda, const double* tau, double* work,
             const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;
void dorglq_64( const MKL_INT64* m, const MKL_INT64* n, const MKL_INT64* k, double* a,
             const MKL_INT64* lda, const double* tau, double* work,
             const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;

void DORGQL_64( const MKL_INT64* m, const MKL_INT64* n, const MKL_INT64* k, double* a,
             const MKL_INT64* lda, const double* tau, double* work,
             const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;
void dorgql_64( const MKL_INT64* m, const MKL_INT64* n, const MKL_INT64* k, double* a,
             const MKL_INT64* lda, const double* tau, double* work,
             const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;

void DORGQR_64( const MKL_INT64* m, const MKL_INT64* n, const MKL_INT64* k, double* a,
             const MKL_INT64* lda, const double* tau, double* work,
             const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;
void dorgqr_64( const MKL_INT64* m, const MKL_INT64* n, const MKL_INT64* k, double* a,
             const MKL_INT64* lda, const double* tau, double* work,
             const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;

void DORGR2_64( const MKL_INT64* m, const MKL_INT64* n, const MKL_INT64* k, double* a,
             const MKL_INT64* lda, const double* tau, double* work,
             MKL_INT64* info ) NOTHROW;
void dorgr2_64( const MKL_INT64* m, const MKL_INT64* n, const MKL_INT64* k, double* a,
             const MKL_INT64* lda, const double* tau, double* work,
             MKL_INT64* info ) NOTHROW;

void DORGRQ_64( const MKL_INT64* m, const MKL_INT64* n, const MKL_INT64* k, double* a,
             const MKL_INT64* lda, const double* tau, double* work,
             const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;
void dorgrq_64( const MKL_INT64* m, const MKL_INT64* n, const MKL_INT64* k, double* a,
             const MKL_INT64* lda, const double* tau, double* work,
             const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;

void DORGTR_64( const char* uplo, const MKL_INT64* n, double* a, const MKL_INT64* lda,
             const double* tau, double* work, const MKL_INT64* lwork,
             MKL_INT64* info ) NOTHROW;
void dorgtr_64( const char* uplo, const MKL_INT64* n, double* a, const MKL_INT64* lda,
             const double* tau, double* work, const MKL_INT64* lwork,
             MKL_INT64* info ) NOTHROW;

void DORM2L_64( const char* side, const char* trans, const MKL_INT64* m,
             const MKL_INT64* n, const MKL_INT64* k, const double* a,
             const MKL_INT64* lda, const double* tau, double* c,
             const MKL_INT64* ldc, double* work, MKL_INT64* info ) NOTHROW;
void dorm2l_64( const char* side, const char* trans, const MKL_INT64* m,
             const MKL_INT64* n, const MKL_INT64* k, const double* a,
             const MKL_INT64* lda, const double* tau, double* c,
             const MKL_INT64* ldc, double* work, MKL_INT64* info ) NOTHROW;

void DORM2R_64( const char* side, const char* trans, const MKL_INT64* m,
             const MKL_INT64* n, const MKL_INT64* k, const double* a,
             const MKL_INT64* lda, const double* tau, double* c,
             const MKL_INT64* ldc, double* work, MKL_INT64* info ) NOTHROW;
void dorm2r_64( const char* side, const char* trans, const MKL_INT64* m,
             const MKL_INT64* n, const MKL_INT64* k, const double* a,
             const MKL_INT64* lda, const double* tau, double* c,
             const MKL_INT64* ldc, double* work, MKL_INT64* info ) NOTHROW;

void DORMBR_64( const char* vect, const char* side, const char* trans,
             const MKL_INT64* m, const MKL_INT64* n, const MKL_INT64* k,
             const double* a, const MKL_INT64* lda, const double* tau, double* c,
             const MKL_INT64* ldc, double* work, const MKL_INT64* lwork,
             MKL_INT64* info ) NOTHROW;
void dormbr_64( const char* vect, const char* side, const char* trans,
             const MKL_INT64* m, const MKL_INT64* n, const MKL_INT64* k,
             const double* a, const MKL_INT64* lda, const double* tau, double* c,
             const MKL_INT64* ldc, double* work, const MKL_INT64* lwork,
             MKL_INT64* info ) NOTHROW;

void DORMHR_64( const char* side, const char* trans, const MKL_INT64* m,
             const MKL_INT64* n, const MKL_INT64* ilo, const MKL_INT64* ihi,
             const double* a, const MKL_INT64* lda, const double* tau, double* c,
             const MKL_INT64* ldc, double* work, const MKL_INT64* lwork,
             MKL_INT64* info ) NOTHROW;
void dormhr_64( const char* side, const char* trans, const MKL_INT64* m,
             const MKL_INT64* n, const MKL_INT64* ilo, const MKL_INT64* ihi,
             const double* a, const MKL_INT64* lda, const double* tau, double* c,
             const MKL_INT64* ldc, double* work, const MKL_INT64* lwork,
             MKL_INT64* info ) NOTHROW;

void DORML2_64( const char* side, const char* trans, const MKL_INT64* m,
             const MKL_INT64* n, const MKL_INT64* k, const double* a,
             const MKL_INT64* lda, const double* tau, double* c,
             const MKL_INT64* ldc, double* work, MKL_INT64* info ) NOTHROW;
void dorml2_64( const char* side, const char* trans, const MKL_INT64* m,
             const MKL_INT64* n, const MKL_INT64* k, const double* a,
             const MKL_INT64* lda, const double* tau, double* c,
             const MKL_INT64* ldc, double* work, MKL_INT64* info ) NOTHROW;

void DORMLQ_64( const char* side, const char* trans, const MKL_INT64* m,
             const MKL_INT64* n, const MKL_INT64* k, const double* a,
             const MKL_INT64* lda, const double* tau, double* c,
             const MKL_INT64* ldc, double* work, const MKL_INT64* lwork,
             MKL_INT64* info ) NOTHROW;
void dormlq_64( const char* side, const char* trans, const MKL_INT64* m,
             const MKL_INT64* n, const MKL_INT64* k, const double* a,
             const MKL_INT64* lda, const double* tau, double* c,
             const MKL_INT64* ldc, double* work, const MKL_INT64* lwork,
             MKL_INT64* info ) NOTHROW;

void DORMQL_64( const char* side, const char* trans, const MKL_INT64* m,
             const MKL_INT64* n, const MKL_INT64* k, const double* a,
             const MKL_INT64* lda, const double* tau, double* c,
             const MKL_INT64* ldc, double* work, const MKL_INT64* lwork,
             MKL_INT64* info ) NOTHROW;
void dormql_64( const char* side, const char* trans, const MKL_INT64* m,
             const MKL_INT64* n, const MKL_INT64* k, const double* a,
             const MKL_INT64* lda, const double* tau, double* c,
             const MKL_INT64* ldc, double* work, const MKL_INT64* lwork,
             MKL_INT64* info ) NOTHROW;

void DORMQR_64( const char* side, const char* trans, const MKL_INT64* m,
             const MKL_INT64* n, const MKL_INT64* k, const double* a,
             const MKL_INT64* lda, const double* tau, double* c,
             const MKL_INT64* ldc, double* work, const MKL_INT64* lwork,
             MKL_INT64* info ) NOTHROW;
void dormqr_64( const char* side, const char* trans, const MKL_INT64* m,
             const MKL_INT64* n, const MKL_INT64* k, const double* a,
             const MKL_INT64* lda, const double* tau, double* c,
             const MKL_INT64* ldc, double* work, const MKL_INT64* lwork,
             MKL_INT64* info ) NOTHROW;

void DORMR2_64( const char* side, const char* trans, const MKL_INT64* m,
             const MKL_INT64* n, const MKL_INT64* k, const double* a,
             const MKL_INT64* lda, const double* tau, double* c,
             const MKL_INT64* ldc, double* work, MKL_INT64* info ) NOTHROW;
void dormr2_64( const char* side, const char* trans, const MKL_INT64* m,
             const MKL_INT64* n, const MKL_INT64* k, const double* a,
             const MKL_INT64* lda, const double* tau, double* c,
             const MKL_INT64* ldc, double* work, MKL_INT64* info ) NOTHROW;

void DORMR3_64( const char* side, const char* trans, const MKL_INT64* m,
             const MKL_INT64* n, const MKL_INT64* k, const MKL_INT64* l,
             const double* a, const MKL_INT64* lda, const double* tau, double* c,
             const MKL_INT64* ldc, double* work, MKL_INT64* info ) NOTHROW;
void dormr3_64( const char* side, const char* trans, const MKL_INT64* m,
             const MKL_INT64* n, const MKL_INT64* k, const MKL_INT64* l,
             const double* a, const MKL_INT64* lda, const double* tau, double* c,
             const MKL_INT64* ldc, double* work, MKL_INT64* info ) NOTHROW;

void DORMRQ_64( const char* side, const char* trans, const MKL_INT64* m,
             const MKL_INT64* n, const MKL_INT64* k, const double* a,
             const MKL_INT64* lda, const double* tau, double* c,
             const MKL_INT64* ldc, double* work, const MKL_INT64* lwork,
             MKL_INT64* info ) NOTHROW;
void dormrq_64( const char* side, const char* trans, const MKL_INT64* m,
             const MKL_INT64* n, const MKL_INT64* k, const double* a,
             const MKL_INT64* lda, const double* tau, double* c,
             const MKL_INT64* ldc, double* work, const MKL_INT64* lwork,
             MKL_INT64* info ) NOTHROW;

void DORMRZ_64( const char* side, const char* trans, const MKL_INT64* m,
             const MKL_INT64* n, const MKL_INT64* k, const MKL_INT64* l,
             const double* a, const MKL_INT64* lda, const double* tau, double* c,
             const MKL_INT64* ldc, double* work, const MKL_INT64* lwork,
             MKL_INT64* info ) NOTHROW;
void dormrz_64( const char* side, const char* trans, const MKL_INT64* m,
             const MKL_INT64* n, const MKL_INT64* k, const MKL_INT64* l,
             const double* a, const MKL_INT64* lda, const double* tau, double* c,
             const MKL_INT64* ldc, double* work, const MKL_INT64* lwork,
             MKL_INT64* info ) NOTHROW;

void DORMTR_64( const char* side, const char* uplo, const char* trans,
             const MKL_INT64* m, const MKL_INT64* n, const double* a,
             const MKL_INT64* lda, const double* tau, double* c,
             const MKL_INT64* ldc, double* work, const MKL_INT64* lwork,
             MKL_INT64* info ) NOTHROW;
void dormtr_64( const char* side, const char* uplo, const char* trans,
             const MKL_INT64* m, const MKL_INT64* n, const double* a,
             const MKL_INT64* lda, const double* tau, double* c,
             const MKL_INT64* ldc, double* work, const MKL_INT64* lwork,
             MKL_INT64* info ) NOTHROW;

void DPBCON_64( const char* uplo, const MKL_INT64* n, const MKL_INT64* kd,
             const double* ab, const MKL_INT64* ldab, const double* anorm,
             double* rcond, double* work, MKL_INT64* iwork, MKL_INT64* info ) NOTHROW;
void dpbcon_64( const char* uplo, const MKL_INT64* n, const MKL_INT64* kd,
             const double* ab, const MKL_INT64* ldab, const double* anorm,
             double* rcond, double* work, MKL_INT64* iwork, MKL_INT64* info ) NOTHROW;

void DPBEQU_64( const char* uplo, const MKL_INT64* n, const MKL_INT64* kd,
             const double* ab, const MKL_INT64* ldab, double* s, double* scond,
             double* amax, MKL_INT64* info ) NOTHROW;
void dpbequ_64( const char* uplo, const MKL_INT64* n, const MKL_INT64* kd,
             const double* ab, const MKL_INT64* ldab, double* s, double* scond,
             double* amax, MKL_INT64* info ) NOTHROW;

void DPBRFS_64( const char* uplo, const MKL_INT64* n, const MKL_INT64* kd,
             const MKL_INT64* nrhs, const double* ab, const MKL_INT64* ldab,
             const double* afb, const MKL_INT64* ldafb, const double* b,
             const MKL_INT64* ldb, double* x, const MKL_INT64* ldx, double* ferr,
             double* berr, double* work, MKL_INT64* iwork, MKL_INT64* info ) NOTHROW;
void dpbrfs_64( const char* uplo, const MKL_INT64* n, const MKL_INT64* kd,
             const MKL_INT64* nrhs, const double* ab, const MKL_INT64* ldab,
             const double* afb, const MKL_INT64* ldafb, const double* b,
             const MKL_INT64* ldb, double* x, const MKL_INT64* ldx, double* ferr,
             double* berr, double* work, MKL_INT64* iwork, MKL_INT64* info ) NOTHROW;

void DPBSTF_64( const char* uplo, const MKL_INT64* n, const MKL_INT64* kd, double* ab,
             const MKL_INT64* ldab, MKL_INT64* info ) NOTHROW;
void dpbstf_64( const char* uplo, const MKL_INT64* n, const MKL_INT64* kd, double* ab,
             const MKL_INT64* ldab, MKL_INT64* info ) NOTHROW;

void DPBSV_64( const char* uplo, const MKL_INT64* n, const MKL_INT64* kd,
            const MKL_INT64* nrhs, double* ab, const MKL_INT64* ldab, double* b,
            const MKL_INT64* ldb, MKL_INT64* info ) NOTHROW;
void dpbsv_64( const char* uplo, const MKL_INT64* n, const MKL_INT64* kd,
            const MKL_INT64* nrhs, double* ab, const MKL_INT64* ldab, double* b,
            const MKL_INT64* ldb, MKL_INT64* info ) NOTHROW;

void DPBSVX_64( const char* fact, const char* uplo, const MKL_INT64* n,
             const MKL_INT64* kd, const MKL_INT64* nrhs, double* ab,
             const MKL_INT64* ldab, double* afb, const MKL_INT64* ldafb,
             char* equed, double* s, double* b, const MKL_INT64* ldb, double* x,
             const MKL_INT64* ldx, double* rcond, double* ferr, double* berr,
             double* work, MKL_INT64* iwork, MKL_INT64* info ) NOTHROW;
void dpbsvx_64( const char* fact, const char* uplo, const MKL_INT64* n,
             const MKL_INT64* kd, const MKL_INT64* nrhs, double* ab,
             const MKL_INT64* ldab, double* afb, const MKL_INT64* ldafb,
             char* equed, double* s, double* b, const MKL_INT64* ldb, double* x,
             const MKL_INT64* ldx, double* rcond, double* ferr, double* berr,
             double* work, MKL_INT64* iwork, MKL_INT64* info ) NOTHROW;

void DPBTF2_64( const char* uplo, const MKL_INT64* n, const MKL_INT64* kd, double* ab,
             const MKL_INT64* ldab, MKL_INT64* info ) NOTHROW;
void dpbtf2_64( const char* uplo, const MKL_INT64* n, const MKL_INT64* kd, double* ab,
             const MKL_INT64* ldab, MKL_INT64* info ) NOTHROW;

void DPBTRF_64( const char* uplo, const MKL_INT64* n, const MKL_INT64* kd, double* ab,
             const MKL_INT64* ldab, MKL_INT64* info ) NOTHROW;
void dpbtrf_64( const char* uplo, const MKL_INT64* n, const MKL_INT64* kd, double* ab,
             const MKL_INT64* ldab, MKL_INT64* info ) NOTHROW;

void DPBTRS_64( const char* uplo, const MKL_INT64* n, const MKL_INT64* kd,
             const MKL_INT64* nrhs, const double* ab, const MKL_INT64* ldab,
             double* b, const MKL_INT64* ldb, MKL_INT64* info ) NOTHROW;
void dpbtrs_64( const char* uplo, const MKL_INT64* n, const MKL_INT64* kd,
             const MKL_INT64* nrhs, const double* ab, const MKL_INT64* ldab,
             double* b, const MKL_INT64* ldb, MKL_INT64* info ) NOTHROW;

void DPFTRF_64( const char* transr, const char* uplo, const MKL_INT64* n, double* a,
             MKL_INT64* info ) NOTHROW;
void dpftrf_64( const char* transr, const char* uplo, const MKL_INT64* n, double* a,
             MKL_INT64* info ) NOTHROW;

void DPFTRI_64( const char* transr, const char* uplo, const MKL_INT64* n, double* a,
             MKL_INT64* info ) NOTHROW;
void dpftri_64( const char* transr, const char* uplo, const MKL_INT64* n, double* a,
             MKL_INT64* info ) NOTHROW;

void DPFTRS_64( const char* transr, const char* uplo, const MKL_INT64* n,
             const MKL_INT64* nrhs, const double* a, double* b,
             const MKL_INT64* ldb, MKL_INT64* info ) NOTHROW;
void dpftrs_64( const char* transr, const char* uplo, const MKL_INT64* n,
             const MKL_INT64* nrhs, const double* a, double* b,
             const MKL_INT64* ldb, MKL_INT64* info ) NOTHROW;

void DPOCON_64( const char* uplo, const MKL_INT64* n, const double* a,
             const MKL_INT64* lda, const double* anorm, double* rcond,
             double* work, MKL_INT64* iwork, MKL_INT64* info ) NOTHROW;
void dpocon_64( const char* uplo, const MKL_INT64* n, const double* a,
             const MKL_INT64* lda, const double* anorm, double* rcond,
             double* work, MKL_INT64* iwork, MKL_INT64* info ) NOTHROW;

void DPOEQUB_64( const MKL_INT64* n, const double* a, const MKL_INT64* lda, double* s,
              double* scond, double* amax, MKL_INT64* info ) NOTHROW;
void dpoequb_64( const MKL_INT64* n, const double* a, const MKL_INT64* lda, double* s,
              double* scond, double* amax, MKL_INT64* info ) NOTHROW;

void DPOEQU_64( const MKL_INT64* n, const double* a, const MKL_INT64* lda, double* s,
             double* scond, double* amax, MKL_INT64* info ) NOTHROW;
void dpoequ_64( const MKL_INT64* n, const double* a, const MKL_INT64* lda, double* s,
             double* scond, double* amax, MKL_INT64* info ) NOTHROW;

void DPORFS_64( const char* uplo, const MKL_INT64* n, const MKL_INT64* nrhs,
             const double* a, const MKL_INT64* lda, const double* af,
             const MKL_INT64* ldaf, const double* b, const MKL_INT64* ldb,
             double* x, const MKL_INT64* ldx, double* ferr, double* berr,
             double* work, MKL_INT64* iwork, MKL_INT64* info ) NOTHROW;
void dporfs_64( const char* uplo, const MKL_INT64* n, const MKL_INT64* nrhs,
             const double* a, const MKL_INT64* lda, const double* af,
             const MKL_INT64* ldaf, const double* b, const MKL_INT64* ldb,
             double* x, const MKL_INT64* ldx, double* ferr, double* berr,
             double* work, MKL_INT64* iwork, MKL_INT64* info ) NOTHROW;

void DPORFSX_64( const char* uplo, const char* equed, const MKL_INT64* n,
              const MKL_INT64* nrhs, const double* a, const MKL_INT64* lda,
              const double* af, const MKL_INT64* ldaf, double* s,
              const double* b, const MKL_INT64* ldb, double* x,
              const MKL_INT64* ldx, double* rcond, double* berr,
              const MKL_INT64* n_err_bnds, double* err_bnds_norm,
              double* err_bnds_comp, const MKL_INT64* nparams, double* params,
              double* work, MKL_INT64* iwork, MKL_INT64* info ) NOTHROW;
void dporfsx_64( const char* uplo, const char* equed, const MKL_INT64* n,
              const MKL_INT64* nrhs, const double* a, const MKL_INT64* lda,
              const double* af, const MKL_INT64* ldaf, double* s,
              const double* b, const MKL_INT64* ldb, double* x,
              const MKL_INT64* ldx, double* rcond, double* berr,
              const MKL_INT64* n_err_bnds, double* err_bnds_norm,
              double* err_bnds_comp, const MKL_INT64* nparams, double* params,
              double* work, MKL_INT64* iwork, MKL_INT64* info ) NOTHROW;

void DPOSV_64( const char* uplo, const MKL_INT64* n, const MKL_INT64* nrhs, double* a,
            const MKL_INT64* lda, double* b, const MKL_INT64* ldb, MKL_INT64* info ) NOTHROW;
void dposv_64( const char* uplo, const MKL_INT64* n, const MKL_INT64* nrhs, double* a,
            const MKL_INT64* lda, double* b, const MKL_INT64* ldb, MKL_INT64* info ) NOTHROW;

void DPOSVX_64( const char* fact, const char* uplo, const MKL_INT64* n,
             const MKL_INT64* nrhs, double* a, const MKL_INT64* lda, double* af,
             const MKL_INT64* ldaf, char* equed, double* s, double* b,
             const MKL_INT64* ldb, double* x, const MKL_INT64* ldx, double* rcond,
             double* ferr, double* berr, double* work, MKL_INT64* iwork,
             MKL_INT64* info ) NOTHROW;
void dposvx_64( const char* fact, const char* uplo, const MKL_INT64* n,
             const MKL_INT64* nrhs, double* a, const MKL_INT64* lda, double* af,
             const MKL_INT64* ldaf, char* equed, double* s, double* b,
             const MKL_INT64* ldb, double* x, const MKL_INT64* ldx, double* rcond,
             double* ferr, double* berr, double* work, MKL_INT64* iwork,
             MKL_INT64* info ) NOTHROW;

void DPOSVXX_64( const char* fact, const char* uplo, const MKL_INT64* n,
              const MKL_INT64* nrhs, double* a, const MKL_INT64* lda, double* af,
              const MKL_INT64* ldaf, char* equed, double* s, double* b,
              const MKL_INT64* ldb, double* x, const MKL_INT64* ldx, double* rcond,
              double* rpvgrw, double* berr, const MKL_INT64* n_err_bnds,
              double* err_bnds_norm, double* err_bnds_comp,
              const MKL_INT64* nparams, double* params, double* work,
              MKL_INT64* iwork, MKL_INT64* info ) NOTHROW;
void dposvxx_64( const char* fact, const char* uplo, const MKL_INT64* n,
              const MKL_INT64* nrhs, double* a, const MKL_INT64* lda, double* af,
              const MKL_INT64* ldaf, char* equed, double* s, double* b,
              const MKL_INT64* ldb, double* x, const MKL_INT64* ldx, double* rcond,
              double* rpvgrw, double* berr, const MKL_INT64* n_err_bnds,
              double* err_bnds_norm, double* err_bnds_comp,
              const MKL_INT64* nparams, double* params, double* work,
              MKL_INT64* iwork, MKL_INT64* info ) NOTHROW;

void DPOTF2_64( const char* uplo, const MKL_INT64* n, double* a, const MKL_INT64* lda,
             MKL_INT64* info ) NOTHROW;
void dpotf2_64( const char* uplo, const MKL_INT64* n, double* a, const MKL_INT64* lda,
             MKL_INT64* info ) NOTHROW;

void DPOTRF_64( const char* uplo, const MKL_INT64* n, double* a, const MKL_INT64* lda,
             MKL_INT64* info ) NOTHROW;
void dpotrf_64( const char* uplo, const MKL_INT64* n, double* a, const MKL_INT64* lda,
             MKL_INT64* info ) NOTHROW;

void DPOTRI_64( const char* uplo, const MKL_INT64* n, double* a, const MKL_INT64* lda,
             MKL_INT64* info ) NOTHROW;
void dpotri_64( const char* uplo, const MKL_INT64* n, double* a, const MKL_INT64* lda,
             MKL_INT64* info ) NOTHROW;

void DPOTRS_64( const char* uplo, const MKL_INT64* n, const MKL_INT64* nrhs,
             const double* a, const MKL_INT64* lda, double* b,
             const MKL_INT64* ldb, MKL_INT64* info ) NOTHROW;
void dpotrs_64( const char* uplo, const MKL_INT64* n, const MKL_INT64* nrhs,
             const double* a, const MKL_INT64* lda, double* b,
             const MKL_INT64* ldb, MKL_INT64* info ) NOTHROW;

void DPPCON_64( const char* uplo, const MKL_INT64* n, const double* ap,
             const double* anorm, double* rcond, double* work, MKL_INT64* iwork,
             MKL_INT64* info ) NOTHROW;
void dppcon_64( const char* uplo, const MKL_INT64* n, const double* ap,
             const double* anorm, double* rcond, double* work, MKL_INT64* iwork,
             MKL_INT64* info ) NOTHROW;

void DPPEQU_64( const char* uplo, const MKL_INT64* n, const double* ap, double* s,
             double* scond, double* amax, MKL_INT64* info ) NOTHROW;
void dppequ_64( const char* uplo, const MKL_INT64* n, const double* ap, double* s,
             double* scond, double* amax, MKL_INT64* info ) NOTHROW;

void DPPRFS_64( const char* uplo, const MKL_INT64* n, const MKL_INT64* nrhs,
             const double* ap, const double* afp, const double* b,
             const MKL_INT64* ldb, double* x, const MKL_INT64* ldx, double* ferr,
             double* berr, double* work, MKL_INT64* iwork, MKL_INT64* info ) NOTHROW;
void dpprfs_64( const char* uplo, const MKL_INT64* n, const MKL_INT64* nrhs,
             const double* ap, const double* afp, const double* b,
             const MKL_INT64* ldb, double* x, const MKL_INT64* ldx, double* ferr,
             double* berr, double* work, MKL_INT64* iwork, MKL_INT64* info ) NOTHROW;

void DPPSV_64( const char* uplo, const MKL_INT64* n, const MKL_INT64* nrhs,
            double* ap, double* b, const MKL_INT64* ldb, MKL_INT64* info ) NOTHROW;
void dppsv_64( const char* uplo, const MKL_INT64* n, const MKL_INT64* nrhs,
            double* ap, double* b, const MKL_INT64* ldb, MKL_INT64* info ) NOTHROW;

void DPPSVX_64( const char* fact, const char* uplo, const MKL_INT64* n,
             const MKL_INT64* nrhs, double* ap, double* afp, char* equed,
             double* s, double* b, const MKL_INT64* ldb, double* x,
             const MKL_INT64* ldx, double* rcond, double* ferr, double* berr,
             double* work, MKL_INT64* iwork, MKL_INT64* info ) NOTHROW;
void dppsvx_64( const char* fact, const char* uplo, const MKL_INT64* n,
             const MKL_INT64* nrhs, double* ap, double* afp, char* equed,
             double* s, double* b, const MKL_INT64* ldb, double* x,
             const MKL_INT64* ldx, double* rcond, double* ferr, double* berr,
             double* work, MKL_INT64* iwork, MKL_INT64* info ) NOTHROW;

void DPPTRF_64( const char* uplo, const MKL_INT64* n, double* ap, MKL_INT64* info ) NOTHROW;
void dpptrf_64( const char* uplo, const MKL_INT64* n, double* ap, MKL_INT64* info ) NOTHROW;

void DPPTRI_64( const char* uplo, const MKL_INT64* n, double* ap, MKL_INT64* info ) NOTHROW;
void dpptri_64( const char* uplo, const MKL_INT64* n, double* ap, MKL_INT64* info ) NOTHROW;

void DPPTRS_64( const char* uplo, const MKL_INT64* n, const MKL_INT64* nrhs,
             const double* ap, double* b, const MKL_INT64* ldb, MKL_INT64* info ) NOTHROW;
void dpptrs_64( const char* uplo, const MKL_INT64* n, const MKL_INT64* nrhs,
             const double* ap, double* b, const MKL_INT64* ldb, MKL_INT64* info ) NOTHROW;

void DPSTF2_64( const char* uplo, const MKL_INT64* n, double* a, const MKL_INT64* lda,
             MKL_INT64* piv, MKL_INT64* rank, const double* tol, double* work,
             MKL_INT64* info ) NOTHROW;
void dpstf2_64( const char* uplo, const MKL_INT64* n, double* a, const MKL_INT64* lda,
             MKL_INT64* piv, MKL_INT64* rank, const double* tol, double* work,
             MKL_INT64* info ) NOTHROW;

void DPSTRF_64( const char* uplo, const MKL_INT64* n, double* a, const MKL_INT64* lda,
             MKL_INT64* piv, MKL_INT64* rank, const double* tol, double* work,
             MKL_INT64* info ) NOTHROW;
void dpstrf_64( const char* uplo, const MKL_INT64* n, double* a, const MKL_INT64* lda,
             MKL_INT64* piv, MKL_INT64* rank, const double* tol, double* work,
             MKL_INT64* info ) NOTHROW;

void DPTCON_64( const MKL_INT64* n, const double* d, const double* e,
             const double* anorm, double* rcond, double* work, MKL_INT64* info ) NOTHROW;
void dptcon_64( const MKL_INT64* n, const double* d, const double* e,
             const double* anorm, double* rcond, double* work, MKL_INT64* info ) NOTHROW;

void DPTEQR_64( const char* compz, const MKL_INT64* n, double* d, double* e,
             double* z, const MKL_INT64* ldz, double* work, MKL_INT64* info ) NOTHROW;
void dpteqr_64( const char* compz, const MKL_INT64* n, double* d, double* e,
             double* z, const MKL_INT64* ldz, double* work, MKL_INT64* info ) NOTHROW;

void DPTRFS_64( const MKL_INT64* n, const MKL_INT64* nrhs, const double* d,
             const double* e, const double* df, const double* ef,
             const double* b, const MKL_INT64* ldb, double* x,
             const MKL_INT64* ldx, double* ferr, double* berr, double* work,
             MKL_INT64* info ) NOTHROW;
void dptrfs_64( const MKL_INT64* n, const MKL_INT64* nrhs, const double* d,
             const double* e, const double* df, const double* ef,
             const double* b, const MKL_INT64* ldb, double* x,
             const MKL_INT64* ldx, double* ferr, double* berr, double* work,
             MKL_INT64* info ) NOTHROW;

void DPTSV_64( const MKL_INT64* n, const MKL_INT64* nrhs, double* d, double* e,
            double* b, const MKL_INT64* ldb, MKL_INT64* info ) NOTHROW;
void dptsv_64( const MKL_INT64* n, const MKL_INT64* nrhs, double* d, double* e,
            double* b, const MKL_INT64* ldb, MKL_INT64* info ) NOTHROW;

void DPTSVX_64( const char* fact, const MKL_INT64* n, const MKL_INT64* nrhs,
             const double* d, const double* e, double* df, double* ef,
             const double* b, const MKL_INT64* ldb, double* x,
             const MKL_INT64* ldx, double* rcond, double* ferr, double* berr,
             double* work, MKL_INT64* info ) NOTHROW;
void dptsvx_64( const char* fact, const MKL_INT64* n, const MKL_INT64* nrhs,
             const double* d, const double* e, double* df, double* ef,
             const double* b, const MKL_INT64* ldb, double* x,
             const MKL_INT64* ldx, double* rcond, double* ferr, double* berr,
             double* work, MKL_INT64* info ) NOTHROW;

void DPTTRF_64( const MKL_INT64* n, double* d, double* e, MKL_INT64* info ) NOTHROW;
void dpttrf_64( const MKL_INT64* n, double* d, double* e, MKL_INT64* info ) NOTHROW;

void DPTTRS_64( const MKL_INT64* n, const MKL_INT64* nrhs, const double* d,
             const double* e, double* b, const MKL_INT64* ldb, MKL_INT64* info ) NOTHROW;
void dpttrs_64( const MKL_INT64* n, const MKL_INT64* nrhs, const double* d,
             const double* e, double* b, const MKL_INT64* ldb, MKL_INT64* info ) NOTHROW;

void DPTTS2_64( const MKL_INT64* n, const MKL_INT64* nrhs, const double* d,
             const double* e, double* b, const MKL_INT64* ldb ) NOTHROW;
void dptts2_64( const MKL_INT64* n, const MKL_INT64* nrhs, const double* d,
             const double* e, double* b, const MKL_INT64* ldb ) NOTHROW;

void DRSCL_64( const MKL_INT64* n, const double* sa, double* sx,
            const MKL_INT64* incx ) NOTHROW;
void drscl_64( const MKL_INT64* n, const double* sa, double* sx,
            const MKL_INT64* incx ) NOTHROW;

void DSBEVD_64( const char* jobz, const char* uplo, const MKL_INT64* n,
             const MKL_INT64* kd, double* ab, const MKL_INT64* ldab, double* w,
             double* z, const MKL_INT64* ldz, double* work, const MKL_INT64* lwork,
             MKL_INT64* iwork, const MKL_INT64* liwork, MKL_INT64* info ) NOTHROW;
void dsbevd_64( const char* jobz, const char* uplo, const MKL_INT64* n,
             const MKL_INT64* kd, double* ab, const MKL_INT64* ldab, double* w,
             double* z, const MKL_INT64* ldz, double* work, const MKL_INT64* lwork,
             MKL_INT64* iwork, const MKL_INT64* liwork, MKL_INT64* info ) NOTHROW;

void DSBEV_64( const char* jobz, const char* uplo, const MKL_INT64* n,
            const MKL_INT64* kd, double* ab, const MKL_INT64* ldab, double* w,
            double* z, const MKL_INT64* ldz, double* work, MKL_INT64* info ) NOTHROW;
void dsbev_64( const char* jobz, const char* uplo, const MKL_INT64* n,
            const MKL_INT64* kd, double* ab, const MKL_INT64* ldab, double* w,
            double* z, const MKL_INT64* ldz, double* work, MKL_INT64* info ) NOTHROW;

void DSBEVX_64( const char* jobz, const char* range, const char* uplo,
             const MKL_INT64* n, const MKL_INT64* kd, double* ab,
             const MKL_INT64* ldab, double* q, const MKL_INT64* ldq,
             const double* vl, const double* vu, const MKL_INT64* il,
             const MKL_INT64* iu, const double* abstol, MKL_INT64* m, double* w,
             double* z, const MKL_INT64* ldz, double* work, MKL_INT64* iwork,
             MKL_INT64* ifail, MKL_INT64* info ) NOTHROW;
void dsbevx_64( const char* jobz, const char* range, const char* uplo,
             const MKL_INT64* n, const MKL_INT64* kd, double* ab,
             const MKL_INT64* ldab, double* q, const MKL_INT64* ldq,
             const double* vl, const double* vu, const MKL_INT64* il,
             const MKL_INT64* iu, const double* abstol, MKL_INT64* m, double* w,
             double* z, const MKL_INT64* ldz, double* work, MKL_INT64* iwork,
             MKL_INT64* ifail, MKL_INT64* info ) NOTHROW;

void DSBGST_64( const char* vect, const char* uplo, const MKL_INT64* n,
             const MKL_INT64* ka, const MKL_INT64* kb, double* ab,
             const MKL_INT64* ldab, const double* bb, const MKL_INT64* ldbb,
             double* x, const MKL_INT64* ldx, double* work, MKL_INT64* info ) NOTHROW;
void dsbgst_64( const char* vect, const char* uplo, const MKL_INT64* n,
             const MKL_INT64* ka, const MKL_INT64* kb, double* ab,
             const MKL_INT64* ldab, const double* bb, const MKL_INT64* ldbb,
             double* x, const MKL_INT64* ldx, double* work, MKL_INT64* info ) NOTHROW;

void DSBGVD_64( const char* jobz, const char* uplo, const MKL_INT64* n,
             const MKL_INT64* ka, const MKL_INT64* kb, double* ab,
             const MKL_INT64* ldab, double* bb, const MKL_INT64* ldbb, double* w,
             double* z, const MKL_INT64* ldz, double* work, const MKL_INT64* lwork,
             MKL_INT64* iwork, const MKL_INT64* liwork, MKL_INT64* info ) NOTHROW;
void dsbgvd_64( const char* jobz, const char* uplo, const MKL_INT64* n,
             const MKL_INT64* ka, const MKL_INT64* kb, double* ab,
             const MKL_INT64* ldab, double* bb, const MKL_INT64* ldbb, double* w,
             double* z, const MKL_INT64* ldz, double* work, const MKL_INT64* lwork,
             MKL_INT64* iwork, const MKL_INT64* liwork, MKL_INT64* info ) NOTHROW;

void DSBGV_64( const char* jobz, const char* uplo, const MKL_INT64* n,
            const MKL_INT64* ka, const MKL_INT64* kb, double* ab,
            const MKL_INT64* ldab, double* bb, const MKL_INT64* ldbb, double* w,
            double* z, const MKL_INT64* ldz, double* work, MKL_INT64* info ) NOTHROW;
void dsbgv_64( const char* jobz, const char* uplo, const MKL_INT64* n,
            const MKL_INT64* ka, const MKL_INT64* kb, double* ab,
            const MKL_INT64* ldab, double* bb, const MKL_INT64* ldbb, double* w,
            double* z, const MKL_INT64* ldz, double* work, MKL_INT64* info ) NOTHROW;

void DSBGVX_64( const char* jobz, const char* range, const char* uplo,
             const MKL_INT64* n, const MKL_INT64* ka, const MKL_INT64* kb,
             double* ab, const MKL_INT64* ldab, double* bb, const MKL_INT64* ldbb,
             double* q, const MKL_INT64* ldq, const double* vl, const double* vu,
             const MKL_INT64* il, const MKL_INT64* iu, const double* abstol,
             MKL_INT64* m, double* w, double* z, const MKL_INT64* ldz,
             double* work, MKL_INT64* iwork, MKL_INT64* ifail, MKL_INT64* info ) NOTHROW;
void dsbgvx_64( const char* jobz, const char* range, const char* uplo,
             const MKL_INT64* n, const MKL_INT64* ka, const MKL_INT64* kb,
             double* ab, const MKL_INT64* ldab, double* bb, const MKL_INT64* ldbb,
             double* q, const MKL_INT64* ldq, const double* vl, const double* vu,
             const MKL_INT64* il, const MKL_INT64* iu, const double* abstol,
             MKL_INT64* m, double* w, double* z, const MKL_INT64* ldz,
             double* work, MKL_INT64* iwork, MKL_INT64* ifail, MKL_INT64* info ) NOTHROW;

void DSBTRD_64( const char* vect, const char* uplo, const MKL_INT64* n,
             const MKL_INT64* kd, double* ab, const MKL_INT64* ldab, double* d,
             double* e, double* q, const MKL_INT64* ldq, double* work,
             MKL_INT64* info ) NOTHROW;
void dsbtrd_64( const char* vect, const char* uplo, const MKL_INT64* n,
             const MKL_INT64* kd, double* ab, const MKL_INT64* ldab, double* d,
             double* e, double* q, const MKL_INT64* ldq, double* work,
             MKL_INT64* info ) NOTHROW;

void DSFRK_64( const char* transr, const char* uplo, const char* trans,
            const MKL_INT64* n, const MKL_INT64* k, const double* alpha,
            const double* a, const MKL_INT64* lda, const double* beta,
            double* c ) NOTHROW;
void dsfrk_64( const char* transr, const char* uplo, const char* trans,
            const MKL_INT64* n, const MKL_INT64* k, const double* alpha,
            const double* a, const MKL_INT64* lda, const double* beta,
            double* c ) NOTHROW;

void DSGESV_64( const MKL_INT64* n, const MKL_INT64* nrhs, double* a,
             const MKL_INT64* lda, MKL_INT64* ipiv, const double* b,
             const MKL_INT64* ldb, double* x, const MKL_INT64* ldx, double* work,
             float* swork, MKL_INT64* iter, MKL_INT64* info ) NOTHROW;
void dsgesv_64( const MKL_INT64* n, const MKL_INT64* nrhs, double* a,
             const MKL_INT64* lda, MKL_INT64* ipiv, const double* b,
             const MKL_INT64* ldb, double* x, const MKL_INT64* ldx, double* work,
             float* swork, MKL_INT64* iter, MKL_INT64* info ) NOTHROW;

void DSPCON_64( const char* uplo, const MKL_INT64* n, const double* ap,
             const MKL_INT64* ipiv, const double* anorm, double* rcond,
             double* work, MKL_INT64* iwork, MKL_INT64* info ) NOTHROW;
void dspcon_64( const char* uplo, const MKL_INT64* n, const double* ap,
             const MKL_INT64* ipiv, const double* anorm, double* rcond,
             double* work, MKL_INT64* iwork, MKL_INT64* info ) NOTHROW;

void DSPEVD_64( const char* jobz, const char* uplo, const MKL_INT64* n, double* ap,
             double* w, double* z, const MKL_INT64* ldz, double* work,
             const MKL_INT64* lwork, MKL_INT64* iwork, const MKL_INT64* liwork,
             MKL_INT64* info ) NOTHROW;
void dspevd_64( const char* jobz, const char* uplo, const MKL_INT64* n, double* ap,
             double* w, double* z, const MKL_INT64* ldz, double* work,
             const MKL_INT64* lwork, MKL_INT64* iwork, const MKL_INT64* liwork,
             MKL_INT64* info ) NOTHROW;

void DSPEV_64( const char* jobz, const char* uplo, const MKL_INT64* n, double* ap,
            double* w, double* z, const MKL_INT64* ldz, double* work,
            MKL_INT64* info ) NOTHROW;
void dspev_64( const char* jobz, const char* uplo, const MKL_INT64* n, double* ap,
            double* w, double* z, const MKL_INT64* ldz, double* work,
            MKL_INT64* info ) NOTHROW;

void DSPEVX_64( const char* jobz, const char* range, const char* uplo,
             const MKL_INT64* n, double* ap, const double* vl, const double* vu,
             const MKL_INT64* il, const MKL_INT64* iu, const double* abstol,
             MKL_INT64* m, double* w, double* z, const MKL_INT64* ldz,
             double* work, MKL_INT64* iwork, MKL_INT64* ifail, MKL_INT64* info ) NOTHROW;
void dspevx_64( const char* jobz, const char* range, const char* uplo,
             const MKL_INT64* n, double* ap, const double* vl, const double* vu,
             const MKL_INT64* il, const MKL_INT64* iu, const double* abstol,
             MKL_INT64* m, double* w, double* z, const MKL_INT64* ldz,
             double* work, MKL_INT64* iwork, MKL_INT64* ifail, MKL_INT64* info ) NOTHROW;

void DSPGST_64( const MKL_INT64* itype, const char* uplo, const MKL_INT64* n,
             double* ap, const double* bp, MKL_INT64* info ) NOTHROW;
void dspgst_64( const MKL_INT64* itype, const char* uplo, const MKL_INT64* n,
             double* ap, const double* bp, MKL_INT64* info ) NOTHROW;

void DSPGVD_64( const MKL_INT64* itype, const char* jobz, const char* uplo,
             const MKL_INT64* n, double* ap, double* bp, double* w, double* z,
             const MKL_INT64* ldz, double* work, const MKL_INT64* lwork,
             MKL_INT64* iwork, const MKL_INT64* liwork, MKL_INT64* info ) NOTHROW;
void dspgvd_64( const MKL_INT64* itype, const char* jobz, const char* uplo,
             const MKL_INT64* n, double* ap, double* bp, double* w, double* z,
             const MKL_INT64* ldz, double* work, const MKL_INT64* lwork,
             MKL_INT64* iwork, const MKL_INT64* liwork, MKL_INT64* info ) NOTHROW;

void DSPGV_64( const MKL_INT64* itype, const char* jobz, const char* uplo,
            const MKL_INT64* n, double* ap, double* bp, double* w, double* z,
            const MKL_INT64* ldz, double* work, MKL_INT64* info ) NOTHROW;
void dspgv_64( const MKL_INT64* itype, const char* jobz, const char* uplo,
            const MKL_INT64* n, double* ap, double* bp, double* w, double* z,
            const MKL_INT64* ldz, double* work, MKL_INT64* info ) NOTHROW;

void DSPGVX_64( const MKL_INT64* itype, const char* jobz, const char* range,
             const char* uplo, const MKL_INT64* n, double* ap, double* bp,
             const double* vl, const double* vu, const MKL_INT64* il,
             const MKL_INT64* iu, const double* abstol, MKL_INT64* m, double* w,
             double* z, const MKL_INT64* ldz, double* work, MKL_INT64* iwork,
             MKL_INT64* ifail, MKL_INT64* info ) NOTHROW;
void dspgvx_64( const MKL_INT64* itype, const char* jobz, const char* range,
             const char* uplo, const MKL_INT64* n, double* ap, double* bp,
             const double* vl, const double* vu, const MKL_INT64* il,
             const MKL_INT64* iu, const double* abstol, MKL_INT64* m, double* w,
             double* z, const MKL_INT64* ldz, double* work, MKL_INT64* iwork,
             MKL_INT64* ifail, MKL_INT64* info ) NOTHROW;

void DSPOSV_64( const char* uplo, const MKL_INT64* n, const MKL_INT64* nrhs,
             double* a, const MKL_INT64* lda, const double* b,
             const MKL_INT64* ldb, double* x, const MKL_INT64* ldx, double* work,
             float* swork, MKL_INT64* iter, MKL_INT64* info ) NOTHROW;
void dsposv_64( const char* uplo, const MKL_INT64* n, const MKL_INT64* nrhs,
             double* a, const MKL_INT64* lda, const double* b,
             const MKL_INT64* ldb, double* x, const MKL_INT64* ldx, double* work,
             float* swork, MKL_INT64* iter, MKL_INT64* info ) NOTHROW;

void DSPRFS_64( const char* uplo, const MKL_INT64* n, const MKL_INT64* nrhs,
             const double* ap, const double* afp, const MKL_INT64* ipiv,
             const double* b, const MKL_INT64* ldb, double* x,
             const MKL_INT64* ldx, double* ferr, double* berr, double* work,
             MKL_INT64* iwork, MKL_INT64* info ) NOTHROW;
void dsprfs_64( const char* uplo, const MKL_INT64* n, const MKL_INT64* nrhs,
             const double* ap, const double* afp, const MKL_INT64* ipiv,
             const double* b, const MKL_INT64* ldb, double* x,
             const MKL_INT64* ldx, double* ferr, double* berr, double* work,
             MKL_INT64* iwork, MKL_INT64* info ) NOTHROW;

void DSPSV_64( const char* uplo, const MKL_INT64* n, const MKL_INT64* nrhs,
            double* ap, MKL_INT64* ipiv, double* b, const MKL_INT64* ldb,
            MKL_INT64* info ) NOTHROW;
void dspsv_64( const char* uplo, const MKL_INT64* n, const MKL_INT64* nrhs,
            double* ap, MKL_INT64* ipiv, double* b, const MKL_INT64* ldb,
            MKL_INT64* info ) NOTHROW;

void DSPSVX_64( const char* fact, const char* uplo, const MKL_INT64* n,
             const MKL_INT64* nrhs, const double* ap, double* afp, MKL_INT64* ipiv,
             const double* b, const MKL_INT64* ldb, double* x,
             const MKL_INT64* ldx, double* rcond, double* ferr, double* berr,
             double* work, MKL_INT64* iwork, MKL_INT64* info ) NOTHROW;
void dspsvx_64( const char* fact, const char* uplo, const MKL_INT64* n,
             const MKL_INT64* nrhs, const double* ap, double* afp, MKL_INT64* ipiv,
             const double* b, const MKL_INT64* ldb, double* x,
             const MKL_INT64* ldx, double* rcond, double* ferr, double* berr,
             double* work, MKL_INT64* iwork, MKL_INT64* info ) NOTHROW;

void DSPTRD_64( const char* uplo, const MKL_INT64* n, double* ap, double* d,
             double* e, double* tau, MKL_INT64* info ) NOTHROW;
void dsptrd_64( const char* uplo, const MKL_INT64* n, double* ap, double* d,
             double* e, double* tau, MKL_INT64* info ) NOTHROW;

void DSPTRF_64( const char* uplo, const MKL_INT64* n, double* ap, MKL_INT64* ipiv,
             MKL_INT64* info ) NOTHROW;
void dsptrf_64( const char* uplo, const MKL_INT64* n, double* ap, MKL_INT64* ipiv,
             MKL_INT64* info ) NOTHROW;

void DSPTRI_64( const char* uplo, const MKL_INT64* n, double* ap,
             const MKL_INT64* ipiv, double* work, MKL_INT64* info ) NOTHROW;
void dsptri_64( const char* uplo, const MKL_INT64* n, double* ap,
             const MKL_INT64* ipiv, double* work, MKL_INT64* info ) NOTHROW;

void DSPTRS_64( const char* uplo, const MKL_INT64* n, const MKL_INT64* nrhs,
             const double* ap, const MKL_INT64* ipiv, double* b,
             const MKL_INT64* ldb, MKL_INT64* info ) NOTHROW;
void dsptrs_64( const char* uplo, const MKL_INT64* n, const MKL_INT64* nrhs,
             const double* ap, const MKL_INT64* ipiv, double* b,
             const MKL_INT64* ldb, MKL_INT64* info ) NOTHROW;

void DSTEBZ_64( const char* range, const char* order, const MKL_INT64* n,
             const double* vl, const double* vu, const MKL_INT64* il,
             const MKL_INT64* iu, const double* abstol, const double* d,
             const double* e, MKL_INT64* m, MKL_INT64* nsplit, double* w,
             MKL_INT64* iblock, MKL_INT64* isplit, double* work, MKL_INT64* iwork,
             MKL_INT64* info ) NOTHROW;
void dstebz_64( const char* range, const char* order, const MKL_INT64* n,
             const double* vl, const double* vu, const MKL_INT64* il,
             const MKL_INT64* iu, const double* abstol, const double* d,
             const double* e, MKL_INT64* m, MKL_INT64* nsplit, double* w,
             MKL_INT64* iblock, MKL_INT64* isplit, double* work, MKL_INT64* iwork,
             MKL_INT64* info ) NOTHROW;

void DSTEDC_64( const char* compz, const MKL_INT64* n, double* d, double* e,
             double* z, const MKL_INT64* ldz, double* work, const MKL_INT64* lwork,
             MKL_INT64* iwork, const MKL_INT64* liwork, MKL_INT64* info ) NOTHROW;
void dstedc_64( const char* compz, const MKL_INT64* n, double* d, double* e,
             double* z, const MKL_INT64* ldz, double* work, const MKL_INT64* lwork,
             MKL_INT64* iwork, const MKL_INT64* liwork, MKL_INT64* info ) NOTHROW;

void DSTEGR_64( const char* jobz, const char* range, const MKL_INT64* n, double* d,
             double* e, const double* vl, const double* vu, const MKL_INT64* il,
             const MKL_INT64* iu, const double* abstol, MKL_INT64* m, double* w,
             double* z, const MKL_INT64* ldz, MKL_INT64* isuppz, double* work,
             const MKL_INT64* lwork, MKL_INT64* iwork, const MKL_INT64* liwork,
             MKL_INT64* info ) NOTHROW;
void dstegr_64( const char* jobz, const char* range, const MKL_INT64* n, double* d,
             double* e, const double* vl, const double* vu, const MKL_INT64* il,
             const MKL_INT64* iu, const double* abstol, MKL_INT64* m, double* w,
             double* z, const MKL_INT64* ldz, MKL_INT64* isuppz, double* work,
             const MKL_INT64* lwork, MKL_INT64* iwork, const MKL_INT64* liwork,
             MKL_INT64* info ) NOTHROW;

void DSTEIN_64( const MKL_INT64* n, const double* d, const double* e,
             const MKL_INT64* m, const double* w, const MKL_INT64* iblock,
             const MKL_INT64* isplit, double* z, const MKL_INT64* ldz,
             double* work, MKL_INT64* iwork, MKL_INT64* ifail, MKL_INT64* info ) NOTHROW;
void dstein_64( const MKL_INT64* n, const double* d, const double* e,
             const MKL_INT64* m, const double* w, const MKL_INT64* iblock,
             const MKL_INT64* isplit, double* z, const MKL_INT64* ldz,
             double* work, MKL_INT64* iwork, MKL_INT64* ifail, MKL_INT64* info ) NOTHROW;

void DSTEMR_64( const char* jobz, const char* range, const MKL_INT64* n, double* d,
             double* e, const double* vl, const double* vu, const MKL_INT64* il,
             const MKL_INT64* iu, MKL_INT64* m, double* w, double* z,
             const MKL_INT64* ldz, const MKL_INT64* nzc, MKL_INT64* isuppz,
             MKL_INT64* tryrac, double* work, const MKL_INT64* lwork,
             MKL_INT64* iwork, const MKL_INT64* liwork, MKL_INT64* info ) NOTHROW;
void dstemr_64( const char* jobz, const char* range, const MKL_INT64* n, double* d,
             double* e, const double* vl, const double* vu, const MKL_INT64* il,
             const MKL_INT64* iu, MKL_INT64* m, double* w, double* z,
             const MKL_INT64* ldz, const MKL_INT64* nzc, MKL_INT64* isuppz,
             MKL_INT64* tryrac, double* work, const MKL_INT64* lwork,
             MKL_INT64* iwork, const MKL_INT64* liwork, MKL_INT64* info ) NOTHROW;

void DSTEQR_64( const char* compz, const MKL_INT64* n, double* d, double* e,
             double* z, const MKL_INT64* ldz, double* work, MKL_INT64* info ) NOTHROW;
void dsteqr_64( const char* compz, const MKL_INT64* n, double* d, double* e,
             double* z, const MKL_INT64* ldz, double* work, MKL_INT64* info ) NOTHROW;

void DSTERF_64( const MKL_INT64* n, double* d, double* e, MKL_INT64* info ) NOTHROW;
void dsterf_64( const MKL_INT64* n, double* d, double* e, MKL_INT64* info ) NOTHROW;

void DSTEVD_64( const char* jobz, const MKL_INT64* n, double* d, double* e,
             double* z, const MKL_INT64* ldz, double* work, const MKL_INT64* lwork,
             MKL_INT64* iwork, const MKL_INT64* liwork, MKL_INT64* info ) NOTHROW;
void dstevd_64( const char* jobz, const MKL_INT64* n, double* d, double* e,
             double* z, const MKL_INT64* ldz, double* work, const MKL_INT64* lwork,
             MKL_INT64* iwork, const MKL_INT64* liwork, MKL_INT64* info ) NOTHROW;

void DSTEV_64( const char* jobz, const MKL_INT64* n, double* d, double* e,
            double* z, const MKL_INT64* ldz, double* work, MKL_INT64* info ) NOTHROW;
void dstev_64( const char* jobz, const MKL_INT64* n, double* d, double* e,
            double* z, const MKL_INT64* ldz, double* work, MKL_INT64* info ) NOTHROW;

void DSTEVR_64( const char* jobz, const char* range, const MKL_INT64* n, double* d,
             double* e, const double* vl, const double* vu, const MKL_INT64* il,
             const MKL_INT64* iu, const double* abstol, MKL_INT64* m, double* w,
             double* z, const MKL_INT64* ldz, MKL_INT64* isuppz, double* work,
             const MKL_INT64* lwork, MKL_INT64* iwork, const MKL_INT64* liwork,
             MKL_INT64* info ) NOTHROW;
void dstevr_64( const char* jobz, const char* range, const MKL_INT64* n, double* d,
             double* e, const double* vl, const double* vu, const MKL_INT64* il,
             const MKL_INT64* iu, const double* abstol, MKL_INT64* m, double* w,
             double* z, const MKL_INT64* ldz, MKL_INT64* isuppz, double* work,
             const MKL_INT64* lwork, MKL_INT64* iwork, const MKL_INT64* liwork,
             MKL_INT64* info ) NOTHROW;

void DSTEVX_64( const char* jobz, const char* range, const MKL_INT64* n, double* d,
             double* e, const double* vl, const double* vu, const MKL_INT64* il,
             const MKL_INT64* iu, const double* abstol, MKL_INT64* m, double* w,
             double* z, const MKL_INT64* ldz, double* work, MKL_INT64* iwork,
             MKL_INT64* ifail, MKL_INT64* info ) NOTHROW;
void dstevx_64( const char* jobz, const char* range, const MKL_INT64* n, double* d,
             double* e, const double* vl, const double* vu, const MKL_INT64* il,
             const MKL_INT64* iu, const double* abstol, MKL_INT64* m, double* w,
             double* z, const MKL_INT64* ldz, double* work, MKL_INT64* iwork,
             MKL_INT64* ifail, MKL_INT64* info ) NOTHROW;

void DSYCON_64( const char* uplo, const MKL_INT64* n, const double* a,
             const MKL_INT64* lda, const MKL_INT64* ipiv, const double* anorm,
             double* rcond, double* work, MKL_INT64* iwork, MKL_INT64* info ) NOTHROW;
void dsycon_64( const char* uplo, const MKL_INT64* n, const double* a,
             const MKL_INT64* lda, const MKL_INT64* ipiv, const double* anorm,
             double* rcond, double* work, MKL_INT64* iwork, MKL_INT64* info ) NOTHROW;

void DSYEQUB_64( const char* uplo, const MKL_INT64* n, const double* a,
              const MKL_INT64* lda, double* s, double* scond, double* amax,
              double* work, MKL_INT64* info ) NOTHROW;
void dsyequb_64( const char* uplo, const MKL_INT64* n, const double* a,
              const MKL_INT64* lda, double* s, double* scond, double* amax,
              double* work, MKL_INT64* info ) NOTHROW;

void DSYEVD_64( const char* jobz, const char* uplo, const MKL_INT64* n, double* a,
             const MKL_INT64* lda, double* w, double* work, const MKL_INT64* lwork,
             MKL_INT64* iwork, const MKL_INT64* liwork, MKL_INT64* info ) NOTHROW;
void dsyevd_64( const char* jobz, const char* uplo, const MKL_INT64* n, double* a,
             const MKL_INT64* lda, double* w, double* work, const MKL_INT64* lwork,
             MKL_INT64* iwork, const MKL_INT64* liwork, MKL_INT64* info ) NOTHROW;

void DSYEV_64( const char* jobz, const char* uplo, const MKL_INT64* n, double* a,
            const MKL_INT64* lda, double* w, double* work, const MKL_INT64* lwork,
            MKL_INT64* info ) NOTHROW;
void dsyev_64( const char* jobz, const char* uplo, const MKL_INT64* n, double* a,
            const MKL_INT64* lda, double* w, double* work, const MKL_INT64* lwork,
            MKL_INT64* info ) NOTHROW;

void DSYEVR_64( const char* jobz, const char* range, const char* uplo,
             const MKL_INT64* n, double* a, const MKL_INT64* lda, const double* vl,
             const double* vu, const MKL_INT64* il, const MKL_INT64* iu,
             const double* abstol, MKL_INT64* m, double* w, double* z,
             const MKL_INT64* ldz, MKL_INT64* isuppz, double* work,
             const MKL_INT64* lwork, MKL_INT64* iwork, const MKL_INT64* liwork,
             MKL_INT64* info ) NOTHROW;
void dsyevr_64( const char* jobz, const char* range, const char* uplo,
             const MKL_INT64* n, double* a, const MKL_INT64* lda, const double* vl,
             const double* vu, const MKL_INT64* il, const MKL_INT64* iu,
             const double* abstol, MKL_INT64* m, double* w, double* z,
             const MKL_INT64* ldz, MKL_INT64* isuppz, double* work,
             const MKL_INT64* lwork, MKL_INT64* iwork, const MKL_INT64* liwork,
             MKL_INT64* info ) NOTHROW;

void DSYEVX_64( const char* jobz, const char* range, const char* uplo,
             const MKL_INT64* n, double* a, const MKL_INT64* lda, const double* vl,
             const double* vu, const MKL_INT64* il, const MKL_INT64* iu,
             const double* abstol, MKL_INT64* m, double* w, double* z,
             const MKL_INT64* ldz, double* work, const MKL_INT64* lwork,
             MKL_INT64* iwork, MKL_INT64* ifail, MKL_INT64* info ) NOTHROW;
void dsyevx_64( const char* jobz, const char* range, const char* uplo,
             const MKL_INT64* n, double* a, const MKL_INT64* lda, const double* vl,
             const double* vu, const MKL_INT64* il, const MKL_INT64* iu,
             const double* abstol, MKL_INT64* m, double* w, double* z,
             const MKL_INT64* ldz, double* work, const MKL_INT64* lwork,
             MKL_INT64* iwork, MKL_INT64* ifail, MKL_INT64* info ) NOTHROW;

void DSYGS2_64( const MKL_INT64* itype, const char* uplo, const MKL_INT64* n,
             double* a, const MKL_INT64* lda, const double* b,
             const MKL_INT64* ldb, MKL_INT64* info ) NOTHROW;
void dsygs2_64( const MKL_INT64* itype, const char* uplo, const MKL_INT64* n,
             double* a, const MKL_INT64* lda, const double* b,
             const MKL_INT64* ldb, MKL_INT64* info ) NOTHROW;

void DSYGST_64( const MKL_INT64* itype, const char* uplo, const MKL_INT64* n,
             double* a, const MKL_INT64* lda, const double* b,
             const MKL_INT64* ldb, MKL_INT64* info ) NOTHROW;
void dsygst_64( const MKL_INT64* itype, const char* uplo, const MKL_INT64* n,
             double* a, const MKL_INT64* lda, const double* b,
             const MKL_INT64* ldb, MKL_INT64* info ) NOTHROW;

void DSYGVD_64( const MKL_INT64* itype, const char* jobz, const char* uplo,
             const MKL_INT64* n, double* a, const MKL_INT64* lda, double* b,
             const MKL_INT64* ldb, double* w, double* work, const MKL_INT64* lwork,
             MKL_INT64* iwork, const MKL_INT64* liwork, MKL_INT64* info ) NOTHROW;
void dsygvd_64( const MKL_INT64* itype, const char* jobz, const char* uplo,
             const MKL_INT64* n, double* a, const MKL_INT64* lda, double* b,
             const MKL_INT64* ldb, double* w, double* work, const MKL_INT64* lwork,
             MKL_INT64* iwork, const MKL_INT64* liwork, MKL_INT64* info ) NOTHROW;

void DSYGV_64( const MKL_INT64* itype, const char* jobz, const char* uplo,
            const MKL_INT64* n, double* a, const MKL_INT64* lda, double* b,
            const MKL_INT64* ldb, double* w, double* work, const MKL_INT64* lwork,
            MKL_INT64* info ) NOTHROW;
void dsygv_64( const MKL_INT64* itype, const char* jobz, const char* uplo,
            const MKL_INT64* n, double* a, const MKL_INT64* lda, double* b,
            const MKL_INT64* ldb, double* w, double* work, const MKL_INT64* lwork,
            MKL_INT64* info ) NOTHROW;

void DSYGVX_64( const MKL_INT64* itype, const char* jobz, const char* range,
             const char* uplo, const MKL_INT64* n, double* a, const MKL_INT64* lda,
             double* b, const MKL_INT64* ldb, const double* vl, const double* vu,
             const MKL_INT64* il, const MKL_INT64* iu, const double* abstol,
             MKL_INT64* m, double* w, double* z, const MKL_INT64* ldz,
             double* work, const MKL_INT64* lwork, MKL_INT64* iwork,
             MKL_INT64* ifail, MKL_INT64* info ) NOTHROW;
void dsygvx_64( const MKL_INT64* itype, const char* jobz, const char* range,
             const char* uplo, const MKL_INT64* n, double* a, const MKL_INT64* lda,
             double* b, const MKL_INT64* ldb, const double* vl, const double* vu,
             const MKL_INT64* il, const MKL_INT64* iu, const double* abstol,
             MKL_INT64* m, double* w, double* z, const MKL_INT64* ldz,
             double* work, const MKL_INT64* lwork, MKL_INT64* iwork,
             MKL_INT64* ifail, MKL_INT64* info ) NOTHROW;

void DSYRFS_64( const char* uplo, const MKL_INT64* n, const MKL_INT64* nrhs,
             const double* a, const MKL_INT64* lda, const double* af,
             const MKL_INT64* ldaf, const MKL_INT64* ipiv, const double* b,
             const MKL_INT64* ldb, double* x, const MKL_INT64* ldx, double* ferr,
             double* berr, double* work, MKL_INT64* iwork, MKL_INT64* info ) NOTHROW;
void dsyrfs_64( const char* uplo, const MKL_INT64* n, const MKL_INT64* nrhs,
             const double* a, const MKL_INT64* lda, const double* af,
             const MKL_INT64* ldaf, const MKL_INT64* ipiv, const double* b,
             const MKL_INT64* ldb, double* x, const MKL_INT64* ldx, double* ferr,
             double* berr, double* work, MKL_INT64* iwork, MKL_INT64* info ) NOTHROW;

void DSYRFSX_64( const char* uplo, const char* equed, const MKL_INT64* n,
              const MKL_INT64* nrhs, const double* a, const MKL_INT64* lda,
              const double* af, const MKL_INT64* ldaf, const MKL_INT64* ipiv,
              double* s, const double* b, const MKL_INT64* ldb, double* x,
              const MKL_INT64* ldx, double* rcond, double* berr,
              const MKL_INT64* n_err_bnds, double* err_bnds_norm,
              double* err_bnds_comp, const MKL_INT64* nparams, double* params,
              double* work, MKL_INT64* iwork, MKL_INT64* info ) NOTHROW;
void dsyrfsx_64( const char* uplo, const char* equed, const MKL_INT64* n,
              const MKL_INT64* nrhs, const double* a, const MKL_INT64* lda,
              const double* af, const MKL_INT64* ldaf, const MKL_INT64* ipiv,
              double* s, const double* b, const MKL_INT64* ldb, double* x,
              const MKL_INT64* ldx, double* rcond, double* berr,
              const MKL_INT64* n_err_bnds, double* err_bnds_norm,
              double* err_bnds_comp, const MKL_INT64* nparams, double* params,
              double* work, MKL_INT64* iwork, MKL_INT64* info ) NOTHROW;

void DSYSV_64( const char* uplo, const MKL_INT64* n, const MKL_INT64* nrhs, double* a,
            const MKL_INT64* lda, MKL_INT64* ipiv, double* b, const MKL_INT64* ldb,
            double* work, const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;
void dsysv_64( const char* uplo, const MKL_INT64* n, const MKL_INT64* nrhs, double* a,
            const MKL_INT64* lda, MKL_INT64* ipiv, double* b, const MKL_INT64* ldb,
            double* work, const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;

void DSYSVX_64( const char* fact, const char* uplo, const MKL_INT64* n,
             const MKL_INT64* nrhs, const double* a, const MKL_INT64* lda,
             double* af, const MKL_INT64* ldaf, MKL_INT64* ipiv, const double* b,
             const MKL_INT64* ldb, double* x, const MKL_INT64* ldx, double* rcond,
             double* ferr, double* berr, double* work, const MKL_INT64* lwork,
             MKL_INT64* iwork, MKL_INT64* info ) NOTHROW;
void dsysvx_64( const char* fact, const char* uplo, const MKL_INT64* n,
             const MKL_INT64* nrhs, const double* a, const MKL_INT64* lda,
             double* af, const MKL_INT64* ldaf, MKL_INT64* ipiv, const double* b,
             const MKL_INT64* ldb, double* x, const MKL_INT64* ldx, double* rcond,
             double* ferr, double* berr, double* work, const MKL_INT64* lwork,
             MKL_INT64* iwork, MKL_INT64* info ) NOTHROW;

void DSYSVXX_64( const char* fact, const char* uplo, const MKL_INT64* n,
              const MKL_INT64* nrhs, double* a, const MKL_INT64* lda, double* af,
              const MKL_INT64* ldaf, MKL_INT64* ipiv, char* equed, double* s,
              double* b, const MKL_INT64* ldb, double* x, const MKL_INT64* ldx,
              double* rcond, double* rpvgrw, double* berr,
              const MKL_INT64* n_err_bnds, double* err_bnds_norm,
              double* err_bnds_comp, const MKL_INT64* nparams, double* params,
              double* work, MKL_INT64* iwork, MKL_INT64* info ) NOTHROW;
void dsysvxx_64( const char* fact, const char* uplo, const MKL_INT64* n,
              const MKL_INT64* nrhs, double* a, const MKL_INT64* lda, double* af,
              const MKL_INT64* ldaf, MKL_INT64* ipiv, char* equed, double* s,
              double* b, const MKL_INT64* ldb, double* x, const MKL_INT64* ldx,
              double* rcond, double* rpvgrw, double* berr,
              const MKL_INT64* n_err_bnds, double* err_bnds_norm,
              double* err_bnds_comp, const MKL_INT64* nparams, double* params,
              double* work, MKL_INT64* iwork, MKL_INT64* info ) NOTHROW;

void DSYTD2_64( const char* uplo, const MKL_INT64* n, double* a, const MKL_INT64* lda,
             double* d, double* e, double* tau, MKL_INT64* info ) NOTHROW;
void dsytd2_64( const char* uplo, const MKL_INT64* n, double* a, const MKL_INT64* lda,
             double* d, double* e, double* tau, MKL_INT64* info ) NOTHROW;

void DSYTF2_64( const char* uplo, const MKL_INT64* n, double* a, const MKL_INT64* lda,
             MKL_INT64* ipiv, MKL_INT64* info ) NOTHROW;
void dsytf2_64( const char* uplo, const MKL_INT64* n, double* a, const MKL_INT64* lda,
             MKL_INT64* ipiv, MKL_INT64* info ) NOTHROW;

void DSYTRD_64( const char* uplo, const MKL_INT64* n, double* a, const MKL_INT64* lda,
             double* d, double* e, double* tau, double* work,
             const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;
void dsytrd_64( const char* uplo, const MKL_INT64* n, double* a, const MKL_INT64* lda,
             double* d, double* e, double* tau, double* work,
             const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;

void DSYTRF_64( const char* uplo, const MKL_INT64* n, double* a, const MKL_INT64* lda,
             MKL_INT64* ipiv, double* work, const MKL_INT64* lwork,
             MKL_INT64* info ) NOTHROW;
void dsytrf_64( const char* uplo, const MKL_INT64* n, double* a, const MKL_INT64* lda,
             MKL_INT64* ipiv, double* work, const MKL_INT64* lwork,
             MKL_INT64* info ) NOTHROW;

void DSYTRI_64( const char* uplo, const MKL_INT64* n, double* a, const MKL_INT64* lda,
             const MKL_INT64* ipiv, double* work, MKL_INT64* info ) NOTHROW;
void dsytri_64( const char* uplo, const MKL_INT64* n, double* a, const MKL_INT64* lda,
             const MKL_INT64* ipiv, double* work, MKL_INT64* info ) NOTHROW;

void DSYTRS_64( const char* uplo, const MKL_INT64* n, const MKL_INT64* nrhs,
             const double* a, const MKL_INT64* lda, const MKL_INT64* ipiv,
             double* b, const MKL_INT64* ldb, MKL_INT64* info ) NOTHROW;
void dsytrs_64( const char* uplo, const MKL_INT64* n, const MKL_INT64* nrhs,
             const double* a, const MKL_INT64* lda, const MKL_INT64* ipiv,
             double* b, const MKL_INT64* ldb, MKL_INT64* info ) NOTHROW;

void DTBCON_64( const char* norm, const char* uplo, const char* diag,
             const MKL_INT64* n, const MKL_INT64* kd, const double* ab,
             const MKL_INT64* ldab, double* rcond, double* work, MKL_INT64* iwork,
             MKL_INT64* info ) NOTHROW;
void dtbcon_64( const char* norm, const char* uplo, const char* diag,
             const MKL_INT64* n, const MKL_INT64* kd, const double* ab,
             const MKL_INT64* ldab, double* rcond, double* work, MKL_INT64* iwork,
             MKL_INT64* info ) NOTHROW;

void DTBRFS_64( const char* uplo, const char* trans, const char* diag,
             const MKL_INT64* n, const MKL_INT64* kd, const MKL_INT64* nrhs,
             const double* ab, const MKL_INT64* ldab, const double* b,
             const MKL_INT64* ldb, const double* x, const MKL_INT64* ldx,
             double* ferr, double* berr, double* work, MKL_INT64* iwork,
             MKL_INT64* info ) NOTHROW;
void dtbrfs_64( const char* uplo, const char* trans, const char* diag,
             const MKL_INT64* n, const MKL_INT64* kd, const MKL_INT64* nrhs,
             const double* ab, const MKL_INT64* ldab, const double* b,
             const MKL_INT64* ldb, const double* x, const MKL_INT64* ldx,
             double* ferr, double* berr, double* work, MKL_INT64* iwork,
             MKL_INT64* info ) NOTHROW;

void DTBTRS_64( const char* uplo, const char* trans, const char* diag,
             const MKL_INT64* n, const MKL_INT64* kd, const MKL_INT64* nrhs,
             const double* ab, const MKL_INT64* ldab, double* b,
             const MKL_INT64* ldb, MKL_INT64* info ) NOTHROW;
void dtbtrs_64( const char* uplo, const char* trans, const char* diag,
             const MKL_INT64* n, const MKL_INT64* kd, const MKL_INT64* nrhs,
             const double* ab, const MKL_INT64* ldab, double* b,
             const MKL_INT64* ldb, MKL_INT64* info ) NOTHROW;

void DTFSM_64( const char* transr, const char* side, const char* uplo,
            const char* trans, const char* diag, const MKL_INT64* m,
            const MKL_INT64* n, const double* alpha, const double* a, double* b,
            const MKL_INT64* ldb ) NOTHROW;
void dtfsm_64( const char* transr, const char* side, const char* uplo,
            const char* trans, const char* diag, const MKL_INT64* m,
            const MKL_INT64* n, const double* alpha, const double* a, double* b,
            const MKL_INT64* ldb ) NOTHROW;

void DTFTRI_64( const char* transr, const char* uplo, const char* diag,
             const MKL_INT64* n, double* a, MKL_INT64* info ) NOTHROW;
void dtftri_64( const char* transr, const char* uplo, const char* diag,
             const MKL_INT64* n, double* a, MKL_INT64* info ) NOTHROW;

void DTFTTP_64( const char* transr, const char* uplo, const MKL_INT64* n,
             const double* arf, double* ap, MKL_INT64* info ) NOTHROW;
void dtfttp_64( const char* transr, const char* uplo, const MKL_INT64* n,
             const double* arf, double* ap, MKL_INT64* info ) NOTHROW;

void DTFTTR_64( const char* transr, const char* uplo, const MKL_INT64* n,
             const double* arf, double* a, const MKL_INT64* lda, MKL_INT64* info ) NOTHROW;
void dtfttr_64( const char* transr, const char* uplo, const MKL_INT64* n,
             const double* arf, double* a, const MKL_INT64* lda, MKL_INT64* info ) NOTHROW;

void DTGEVC_64( const char* side, const char* howmny, const MKL_INT64* select,
             const MKL_INT64* n, const double* s, const MKL_INT64* lds,
             const double* p, const MKL_INT64* ldp, double* vl,
             const MKL_INT64* ldvl, double* vr, const MKL_INT64* ldvr,
             const MKL_INT64* mm, MKL_INT64* m, double* work, MKL_INT64* info ) NOTHROW;
void dtgevc_64( const char* side, const char* howmny, const MKL_INT64* select,
             const MKL_INT64* n, const double* s, const MKL_INT64* lds,
             const double* p, const MKL_INT64* ldp, double* vl,
             const MKL_INT64* ldvl, double* vr, const MKL_INT64* ldvr,
             const MKL_INT64* mm, MKL_INT64* m, double* work, MKL_INT64* info ) NOTHROW;

void DTGEX2_64( const MKL_INT64* wantq, const MKL_INT64* wantz, const MKL_INT64* n,
             double* a, const MKL_INT64* lda, double* b, const MKL_INT64* ldb,
             double* q, const MKL_INT64* ldq, double* z, const MKL_INT64* ldz,
             const MKL_INT64* j1, const MKL_INT64* n1, const MKL_INT64* n2,
             double* work, const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;
void dtgex2_64( const MKL_INT64* wantq, const MKL_INT64* wantz, const MKL_INT64* n,
             double* a, const MKL_INT64* lda, double* b, const MKL_INT64* ldb,
             double* q, const MKL_INT64* ldq, double* z, const MKL_INT64* ldz,
             const MKL_INT64* j1, const MKL_INT64* n1, const MKL_INT64* n2,
             double* work, const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;

void DTGEXC_64( const MKL_INT64* wantq, const MKL_INT64* wantz, const MKL_INT64* n,
             double* a, const MKL_INT64* lda, double* b, const MKL_INT64* ldb,
             double* q, const MKL_INT64* ldq, double* z, const MKL_INT64* ldz,
             MKL_INT64* ifst, MKL_INT64* ilst, double* work, const MKL_INT64* lwork,
             MKL_INT64* info ) NOTHROW;
void dtgexc_64( const MKL_INT64* wantq, const MKL_INT64* wantz, const MKL_INT64* n,
             double* a, const MKL_INT64* lda, double* b, const MKL_INT64* ldb,
             double* q, const MKL_INT64* ldq, double* z, const MKL_INT64* ldz,
             MKL_INT64* ifst, MKL_INT64* ilst, double* work, const MKL_INT64* lwork,
             MKL_INT64* info ) NOTHROW;

void DTGSEN_64( const MKL_INT64* ijob, const MKL_INT64* wantq, const MKL_INT64* wantz,
             const MKL_INT64* select, const MKL_INT64* n, double* a,
             const MKL_INT64* lda, double* b, const MKL_INT64* ldb, double* alphar,
             double* alphai, double* beta, double* q, const MKL_INT64* ldq,
             double* z, const MKL_INT64* ldz, MKL_INT64* m, double* pl, double* pr,
             double* dif, double* work, const MKL_INT64* lwork, MKL_INT64* iwork,
             const MKL_INT64* liwork, MKL_INT64* info ) NOTHROW;
void dtgsen_64( const MKL_INT64* ijob, const MKL_INT64* wantq, const MKL_INT64* wantz,
             const MKL_INT64* select, const MKL_INT64* n, double* a,
             const MKL_INT64* lda, double* b, const MKL_INT64* ldb, double* alphar,
             double* alphai, double* beta, double* q, const MKL_INT64* ldq,
             double* z, const MKL_INT64* ldz, MKL_INT64* m, double* pl, double* pr,
             double* dif, double* work, const MKL_INT64* lwork, MKL_INT64* iwork,
             const MKL_INT64* liwork, MKL_INT64* info ) NOTHROW;

void DTGSJA_64( const char* jobu, const char* jobv, const char* jobq,
             const MKL_INT64* m, const MKL_INT64* p, const MKL_INT64* n,
             const MKL_INT64* k, const MKL_INT64* l, double* a, const MKL_INT64* lda,
             double* b, const MKL_INT64* ldb, const double* tola,
             const double* tolb, double* alpha, double* beta, double* u,
             const MKL_INT64* ldu, double* v, const MKL_INT64* ldv, double* q,
             const MKL_INT64* ldq, double* work, MKL_INT64* ncycle,
             MKL_INT64* info ) NOTHROW;
void dtgsja_64( const char* jobu, const char* jobv, const char* jobq,
             const MKL_INT64* m, const MKL_INT64* p, const MKL_INT64* n,
             const MKL_INT64* k, const MKL_INT64* l, double* a, const MKL_INT64* lda,
             double* b, const MKL_INT64* ldb, const double* tola,
             const double* tolb, double* alpha, double* beta, double* u,
             const MKL_INT64* ldu, double* v, const MKL_INT64* ldv, double* q,
             const MKL_INT64* ldq, double* work, MKL_INT64* ncycle,
             MKL_INT64* info ) NOTHROW;

void DTGSNA_64( const char* job, const char* howmny, const MKL_INT64* select,
             const MKL_INT64* n, const double* a, const MKL_INT64* lda,
             const double* b, const MKL_INT64* ldb, const double* vl,
             const MKL_INT64* ldvl, const double* vr, const MKL_INT64* ldvr,
             double* s, double* dif, const MKL_INT64* mm, MKL_INT64* m,
             double* work, const MKL_INT64* lwork, MKL_INT64* iwork,
             MKL_INT64* info ) NOTHROW;
void dtgsna_64( const char* job, const char* howmny, const MKL_INT64* select,
             const MKL_INT64* n, const double* a, const MKL_INT64* lda,
             const double* b, const MKL_INT64* ldb, const double* vl,
             const MKL_INT64* ldvl, const double* vr, const MKL_INT64* ldvr,
             double* s, double* dif, const MKL_INT64* mm, MKL_INT64* m,
             double* work, const MKL_INT64* lwork, MKL_INT64* iwork,
             MKL_INT64* info ) NOTHROW;

void DTGSY2_64( const char* trans, const MKL_INT64* ijob, const MKL_INT64* m,
             const MKL_INT64* n, const double* a, const MKL_INT64* lda,
             const double* b, const MKL_INT64* ldb, double* c,
             const MKL_INT64* ldc, const double* d, const MKL_INT64* ldd,
             const double* e, const MKL_INT64* lde, double* f,
             const MKL_INT64* ldf, double* scale, double* rdsum, double* rdscal,
             MKL_INT64* iwork, MKL_INT64* pq, MKL_INT64* info ) NOTHROW;
void dtgsy2_64( const char* trans, const MKL_INT64* ijob, const MKL_INT64* m,
             const MKL_INT64* n, const double* a, const MKL_INT64* lda,
             const double* b, const MKL_INT64* ldb, double* c,
             const MKL_INT64* ldc, const double* d, const MKL_INT64* ldd,
             const double* e, const MKL_INT64* lde, double* f,
             const MKL_INT64* ldf, double* scale, double* rdsum, double* rdscal,
             MKL_INT64* iwork, MKL_INT64* pq, MKL_INT64* info ) NOTHROW;

void DTGSYL_64( const char* trans, const MKL_INT64* ijob, const MKL_INT64* m,
             const MKL_INT64* n, const double* a, const MKL_INT64* lda,
             const double* b, const MKL_INT64* ldb, double* c,
             const MKL_INT64* ldc, const double* d, const MKL_INT64* ldd,
             const double* e, const MKL_INT64* lde, double* f,
             const MKL_INT64* ldf, double* scale, double* dif, double* work,
             const MKL_INT64* lwork, MKL_INT64* iwork, MKL_INT64* info ) NOTHROW;
void dtgsyl_64( const char* trans, const MKL_INT64* ijob, const MKL_INT64* m,
             const MKL_INT64* n, const double* a, const MKL_INT64* lda,
             const double* b, const MKL_INT64* ldb, double* c,
             const MKL_INT64* ldc, const double* d, const MKL_INT64* ldd,
             const double* e, const MKL_INT64* lde, double* f,
             const MKL_INT64* ldf, double* scale, double* dif, double* work,
             const MKL_INT64* lwork, MKL_INT64* iwork, MKL_INT64* info ) NOTHROW;

void DTPCON_64( const char* norm, const char* uplo, const char* diag,
             const MKL_INT64* n, const double* ap, double* rcond, double* work,
             MKL_INT64* iwork, MKL_INT64* info ) NOTHROW;
void dtpcon_64( const char* norm, const char* uplo, const char* diag,
             const MKL_INT64* n, const double* ap, double* rcond, double* work,
             MKL_INT64* iwork, MKL_INT64* info ) NOTHROW;

void DTPRFS_64( const char* uplo, const char* trans, const char* diag,
             const MKL_INT64* n, const MKL_INT64* nrhs, const double* ap,
             const double* b, const MKL_INT64* ldb, const double* x,
             const MKL_INT64* ldx, double* ferr, double* berr, double* work,
             MKL_INT64* iwork, MKL_INT64* info ) NOTHROW;
void dtprfs_64( const char* uplo, const char* trans, const char* diag,
             const MKL_INT64* n, const MKL_INT64* nrhs, const double* ap,
             const double* b, const MKL_INT64* ldb, const double* x,
             const MKL_INT64* ldx, double* ferr, double* berr, double* work,
             MKL_INT64* iwork, MKL_INT64* info ) NOTHROW;

void DTPTRI_64( const char* uplo, const char* diag, const MKL_INT64* n, double* ap,
             MKL_INT64* info ) NOTHROW;
void dtptri_64( const char* uplo, const char* diag, const MKL_INT64* n, double* ap,
             MKL_INT64* info ) NOTHROW;

void DTPTRS_64( const char* uplo, const char* trans, const char* diag,
             const MKL_INT64* n, const MKL_INT64* nrhs, const double* ap,
             double* b, const MKL_INT64* ldb, MKL_INT64* info ) NOTHROW;
void dtptrs_64( const char* uplo, const char* trans, const char* diag,
             const MKL_INT64* n, const MKL_INT64* nrhs, const double* ap,
             double* b, const MKL_INT64* ldb, MKL_INT64* info ) NOTHROW;

void DTPTTF_64( const char* transr, const char* uplo, const MKL_INT64* n,
             const double* ap, double* arf, MKL_INT64* info ) NOTHROW;
void dtpttf_64( const char* transr, const char* uplo, const MKL_INT64* n,
             const double* ap, double* arf, MKL_INT64* info ) NOTHROW;

void DTPTTR_64( const char* uplo, const MKL_INT64* n, const double* ap, double* a,
             const MKL_INT64* lda, MKL_INT64* info ) NOTHROW;
void dtpttr_64( const char* uplo, const MKL_INT64* n, const double* ap, double* a,
             const MKL_INT64* lda, MKL_INT64* info ) NOTHROW;

void DTRCON_64( const char* norm, const char* uplo, const char* diag,
             const MKL_INT64* n, const double* a, const MKL_INT64* lda,
             double* rcond, double* work, MKL_INT64* iwork, MKL_INT64* info ) NOTHROW;
void dtrcon_64( const char* norm, const char* uplo, const char* diag,
             const MKL_INT64* n, const double* a, const MKL_INT64* lda,
             double* rcond, double* work, MKL_INT64* iwork, MKL_INT64* info ) NOTHROW;

void DTREVC_64( const char* side, const char* howmny, MKL_INT64* select,
             const MKL_INT64* n, const double* t, const MKL_INT64* ldt, double* vl,
             const MKL_INT64* ldvl, double* vr, const MKL_INT64* ldvr,
             const MKL_INT64* mm, MKL_INT64* m, double* work, MKL_INT64* info ) NOTHROW;
void dtrevc_64( const char* side, const char* howmny, MKL_INT64* select,
             const MKL_INT64* n, const double* t, const MKL_INT64* ldt, double* vl,
             const MKL_INT64* ldvl, double* vr, const MKL_INT64* ldvr,
             const MKL_INT64* mm, MKL_INT64* m, double* work, MKL_INT64* info ) NOTHROW;

void DTREXC_64( const char* compq, const MKL_INT64* n, double* t,
             const MKL_INT64* ldt, double* q, const MKL_INT64* ldq, MKL_INT64* ifst,
             MKL_INT64* ilst, double* work, MKL_INT64* info ) NOTHROW;
void dtrexc_64( const char* compq, const MKL_INT64* n, double* t,
             const MKL_INT64* ldt, double* q, const MKL_INT64* ldq, MKL_INT64* ifst,
             MKL_INT64* ilst, double* work, MKL_INT64* info ) NOTHROW;

void DTRRFS_64( const char* uplo, const char* trans, const char* diag,
             const MKL_INT64* n, const MKL_INT64* nrhs, const double* a,
             const MKL_INT64* lda, const double* b, const MKL_INT64* ldb,
             const double* x, const MKL_INT64* ldx, double* ferr, double* berr,
             double* work, MKL_INT64* iwork, MKL_INT64* info ) NOTHROW;
void dtrrfs_64( const char* uplo, const char* trans, const char* diag,
             const MKL_INT64* n, const MKL_INT64* nrhs, const double* a,
             const MKL_INT64* lda, const double* b, const MKL_INT64* ldb,
             const double* x, const MKL_INT64* ldx, double* ferr, double* berr,
             double* work, MKL_INT64* iwork, MKL_INT64* info ) NOTHROW;

void DTRSEN_64( const char* job, const char* compq, const MKL_INT64* select,
             const MKL_INT64* n, double* t, const MKL_INT64* ldt, double* q,
             const MKL_INT64* ldq, double* wr, double* wi, MKL_INT64* m, double* s,
             double* sep, double* work, const MKL_INT64* lwork, MKL_INT64* iwork,
             const MKL_INT64* liwork, MKL_INT64* info ) NOTHROW;
void dtrsen_64( const char* job, const char* compq, const MKL_INT64* select,
             const MKL_INT64* n, double* t, const MKL_INT64* ldt, double* q,
             const MKL_INT64* ldq, double* wr, double* wi, MKL_INT64* m, double* s,
             double* sep, double* work, const MKL_INT64* lwork, MKL_INT64* iwork,
             const MKL_INT64* liwork, MKL_INT64* info ) NOTHROW;

void DTRSNA_64( const char* job, const char* howmny, const MKL_INT64* select,
             const MKL_INT64* n, const double* t, const MKL_INT64* ldt,
             const double* vl, const MKL_INT64* ldvl, const double* vr,
             const MKL_INT64* ldvr, double* s, double* sep, const MKL_INT64* mm,
             MKL_INT64* m, double* work, const MKL_INT64* ldwork, MKL_INT64* iwork,
             MKL_INT64* info ) NOTHROW;
void dtrsna_64( const char* job, const char* howmny, const MKL_INT64* select,
             const MKL_INT64* n, const double* t, const MKL_INT64* ldt,
             const double* vl, const MKL_INT64* ldvl, const double* vr,
             const MKL_INT64* ldvr, double* s, double* sep, const MKL_INT64* mm,
             MKL_INT64* m, double* work, const MKL_INT64* ldwork, MKL_INT64* iwork,
             MKL_INT64* info ) NOTHROW;

void DTRSYL_64( const char* trana, const char* tranb, const MKL_INT64* isgn,
             const MKL_INT64* m, const MKL_INT64* n, const double* a,
             const MKL_INT64* lda, const double* b, const MKL_INT64* ldb,
             double* c, const MKL_INT64* ldc, double* scale, MKL_INT64* info ) NOTHROW;
void dtrsyl_64( const char* trana, const char* tranb, const MKL_INT64* isgn,
             const MKL_INT64* m, const MKL_INT64* n, const double* a,
             const MKL_INT64* lda, const double* b, const MKL_INT64* ldb,
             double* c, const MKL_INT64* ldc, double* scale, MKL_INT64* info ) NOTHROW;

void DTRTI2_64( const char* uplo, const char* diag, const MKL_INT64* n, double* a,
             const MKL_INT64* lda, MKL_INT64* info ) NOTHROW;
void dtrti2_64( const char* uplo, const char* diag, const MKL_INT64* n, double* a,
             const MKL_INT64* lda, MKL_INT64* info ) NOTHROW;

void DTRTRI_64( const char* uplo, const char* diag, const MKL_INT64* n, double* a,
             const MKL_INT64* lda, MKL_INT64* info ) NOTHROW;
void dtrtri_64( const char* uplo, const char* diag, const MKL_INT64* n, double* a,
             const MKL_INT64* lda, MKL_INT64* info ) NOTHROW;

void DTRTRS_64( const char* uplo, const char* trans, const char* diag,
             const MKL_INT64* n, const MKL_INT64* nrhs, const double* a,
             const MKL_INT64* lda, double* b, const MKL_INT64* ldb,
             MKL_INT64* info ) NOTHROW;
void dtrtrs_64( const char* uplo, const char* trans, const char* diag,
             const MKL_INT64* n, const MKL_INT64* nrhs, const double* a,
             const MKL_INT64* lda, double* b, const MKL_INT64* ldb,
             MKL_INT64* info ) NOTHROW;

void DTRTTF_64( const char* transr, const char* uplo, const MKL_INT64* n,
             const double* a, const MKL_INT64* lda, double* arf, MKL_INT64* info ) NOTHROW;
void dtrttf_64( const char* transr, const char* uplo, const MKL_INT64* n,
             const double* a, const MKL_INT64* lda, double* arf, MKL_INT64* info ) NOTHROW;

void DTRTTP_64( const char* uplo, const MKL_INT64* n, const double* a,
             const MKL_INT64* lda, double* ap, MKL_INT64* info ) NOTHROW;
void dtrttp_64( const char* uplo, const MKL_INT64* n, const double* a,
             const MKL_INT64* lda, double* ap, MKL_INT64* info ) NOTHROW;

void DTZRQF_64( const MKL_INT64* m, const MKL_INT64* n, double* a, const MKL_INT64* lda,
             double* tau, MKL_INT64* info ) NOTHROW;
void dtzrqf_64( const MKL_INT64* m, const MKL_INT64* n, double* a, const MKL_INT64* lda,
             double* tau, MKL_INT64* info ) NOTHROW;

void DTZRZF_64( const MKL_INT64* m, const MKL_INT64* n, double* a, const MKL_INT64* lda,
             double* tau, double* work, const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;
void dtzrzf_64( const MKL_INT64* m, const MKL_INT64* n, double* a, const MKL_INT64* lda,
             double* tau, double* work, const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;

double DZSUM1_64( const MKL_INT64* n, const MKL_Complex16* cx,
               const MKL_INT64* incx ) NOTHROW;
double dzsum1_64( const MKL_INT64* n, const MKL_Complex16* cx,
               const MKL_INT64* incx ) NOTHROW;

MKL_INT64 ICMAX1_64( const MKL_INT64* n, const MKL_Complex8* cx,
                const MKL_INT64* incx ) NOTHROW;
MKL_INT64 icmax1_64( const MKL_INT64* n, const MKL_Complex8* cx,
                const MKL_INT64* incx ) NOTHROW;

MKL_INT64 IEEECK_64( const MKL_INT64* ispec, const float* zero, const float* one ) NOTHROW;
MKL_INT64 ieeeck_64( const MKL_INT64* ispec, const float* zero, const float* one ) NOTHROW;

MKL_INT64 ILACLC_64( const MKL_INT64* m, const MKL_INT64* n, const MKL_Complex8* a,
                const MKL_INT64* lda ) NOTHROW;
MKL_INT64 ilaclc_64( const MKL_INT64* m, const MKL_INT64* n, const MKL_Complex8* a,
                const MKL_INT64* lda ) NOTHROW;

MKL_INT64 ILACLR_64( const MKL_INT64* m, const MKL_INT64* n, const MKL_Complex8* a,
                const MKL_INT64* lda ) NOTHROW;
MKL_INT64 ilaclr_64( const MKL_INT64* m, const MKL_INT64* n, const MKL_Complex8* a,
                const MKL_INT64* lda ) NOTHROW;

MKL_INT64 ILADLC_64( const MKL_INT64* m, const MKL_INT64* n, const double* a,
                const MKL_INT64* lda ) NOTHROW;
MKL_INT64 iladlc_64( const MKL_INT64* m, const MKL_INT64* n, const double* a,
                const MKL_INT64* lda ) NOTHROW;

MKL_INT64 ILADLR_64( const MKL_INT64* m, const MKL_INT64* n, const double* a,
                const MKL_INT64* lda ) NOTHROW;
MKL_INT64 iladlr_64( const MKL_INT64* m, const MKL_INT64* n, const double* a,
                const MKL_INT64* lda ) NOTHROW;

MKL_INT64 ILAENV_64( const MKL_INT64* ispec, const char* name, const char* opts,
                const MKL_INT64* n1, const MKL_INT64* n2, const MKL_INT64* n3,
                const MKL_INT64* n4 ) NOTHROW;
MKL_INT64 ilaenv_64( const MKL_INT64* ispec, const char* name, const char* opts,
                const MKL_INT64* n1, const MKL_INT64* n2, const MKL_INT64* n3,
                const MKL_INT64* n4 ) NOTHROW;

MKL_INT64 ILAENV2STAGE_64( const MKL_INT64* ispec, const char* name, const char* opts,
                      const MKL_INT64* n1, const MKL_INT64* n2, const MKL_INT64* n3,
                      const MKL_INT64* n4 ) NOTHROW;
MKL_INT64 ilaenv2stage_64( const MKL_INT64* ispec, const char* name, const char* opts,
                      const MKL_INT64* n1, const MKL_INT64* n2, const MKL_INT64* n3,
                      const MKL_INT64* n4 ) NOTHROW;

MKL_INT64 ILASLC_64( const MKL_INT64* m, const MKL_INT64* n, const float* a,
                const MKL_INT64* lda ) NOTHROW;
MKL_INT64 ilaslc_64( const MKL_INT64* m, const MKL_INT64* n, const float* a,
                const MKL_INT64* lda ) NOTHROW;

MKL_INT64 ILASLR_64( const MKL_INT64* m, const MKL_INT64* n, const float* a,
                const MKL_INT64* lda ) NOTHROW;
MKL_INT64 ilaslr_64( const MKL_INT64* m, const MKL_INT64* n, const float* a,
                const MKL_INT64* lda ) NOTHROW;

void ILAVER_64( MKL_INT64* vers_major, MKL_INT64* vers_minor, MKL_INT64* vers_patch ) NOTHROW;
void ilaver_64( MKL_INT64* vers_major, MKL_INT64* vers_minor, MKL_INT64* vers_patch ) NOTHROW;

MKL_INT64 ILAZLC_64( const MKL_INT64* m, const MKL_INT64* n, const MKL_Complex16* a,
                const MKL_INT64* lda ) NOTHROW;
MKL_INT64 ilazlc_64( const MKL_INT64* m, const MKL_INT64* n, const MKL_Complex16* a,
                const MKL_INT64* lda ) NOTHROW;

MKL_INT64 ILAZLR_64( const MKL_INT64* m, const MKL_INT64* n, const MKL_Complex16* a,
                const MKL_INT64* lda ) NOTHROW;
MKL_INT64 ilazlr_64( const MKL_INT64* m, const MKL_INT64* n, const MKL_Complex16* a,
                const MKL_INT64* lda ) NOTHROW;

MKL_INT64 IPARMQ_64( const MKL_INT64* ispec, const char* name, const char* opts,
                const MKL_INT64* n, const MKL_INT64* ilo, const MKL_INT64* ihi,
                const MKL_INT64* lwork ) NOTHROW;
MKL_INT64 iparmq_64( const MKL_INT64* ispec, const char* name, const char* opts,
                const MKL_INT64* n, const MKL_INT64* ilo, const MKL_INT64* ihi,
                const MKL_INT64* lwork ) NOTHROW;

MKL_INT64 IZMAX1_64( const MKL_INT64* n, const MKL_Complex16* cx,
                const MKL_INT64* incx ) NOTHROW;
MKL_INT64 izmax1_64( const MKL_INT64* n, const MKL_Complex16* cx,
                const MKL_INT64* incx ) NOTHROW;

MKL_INT64 LSAMEN_64( const MKL_INT64* n, const char* ca, const char* cb ) NOTHROW;
MKL_INT64 lsamen_64( const MKL_INT64* n, const char* ca, const char* cb ) NOTHROW;

void SBDSDC_64( const char* uplo, const char* compq, const MKL_INT64* n, float* d,
             float* e, float* u, const MKL_INT64* ldu, float* vt,
             const MKL_INT64* ldvt, float* q, MKL_INT64* iq, float* work,
             MKL_INT64* iwork, MKL_INT64* info ) NOTHROW;
void sbdsdc_64( const char* uplo, const char* compq, const MKL_INT64* n, float* d,
             float* e, float* u, const MKL_INT64* ldu, float* vt,
             const MKL_INT64* ldvt, float* q, MKL_INT64* iq, float* work,
             MKL_INT64* iwork, MKL_INT64* info ) NOTHROW;

void SBDSQR_64( const char* uplo, const MKL_INT64* n, const MKL_INT64* ncvt,
             const MKL_INT64* nru, const MKL_INT64* ncc, float* d, float* e,
             float* vt, const MKL_INT64* ldvt, float* u, const MKL_INT64* ldu,
             float* c, const MKL_INT64* ldc, float* work, MKL_INT64* info ) NOTHROW;
void sbdsqr_64( const char* uplo, const MKL_INT64* n, const MKL_INT64* ncvt,
             const MKL_INT64* nru, const MKL_INT64* ncc, float* d, float* e,
             float* vt, const MKL_INT64* ldvt, float* u, const MKL_INT64* ldu,
             float* c, const MKL_INT64* ldc, float* work, MKL_INT64* info ) NOTHROW;

float SCSUM1_64( const MKL_INT64* n, const MKL_Complex8* cx, const MKL_INT64* incx ) NOTHROW;
float scsum1_64( const MKL_INT64* n, const MKL_Complex8* cx, const MKL_INT64* incx ) NOTHROW;

void SDISNA_64( const char* job, const MKL_INT64* m, const MKL_INT64* n,
             const float* d, float* sep, MKL_INT64* info ) NOTHROW;
void sdisna_64( const char* job, const MKL_INT64* m, const MKL_INT64* n,
             const float* d, float* sep, MKL_INT64* info ) NOTHROW;

void SGBBRD_64( const char* vect, const MKL_INT64* m, const MKL_INT64* n,
             const MKL_INT64* ncc, const MKL_INT64* kl, const MKL_INT64* ku,
             float* ab, const MKL_INT64* ldab, float* d, float* e, float* q,
             const MKL_INT64* ldq, float* pt, const MKL_INT64* ldpt, float* c,
             const MKL_INT64* ldc, float* work, MKL_INT64* info ) NOTHROW;
void sgbbrd_64( const char* vect, const MKL_INT64* m, const MKL_INT64* n,
             const MKL_INT64* ncc, const MKL_INT64* kl, const MKL_INT64* ku,
             float* ab, const MKL_INT64* ldab, float* d, float* e, float* q,
             const MKL_INT64* ldq, float* pt, const MKL_INT64* ldpt, float* c,
             const MKL_INT64* ldc, float* work, MKL_INT64* info ) NOTHROW;

void SGBCON_64( const char* norm, const MKL_INT64* n, const MKL_INT64* kl,
             const MKL_INT64* ku, const float* ab, const MKL_INT64* ldab,
             const MKL_INT64* ipiv, const float* anorm, float* rcond,
             float* work, MKL_INT64* iwork, MKL_INT64* info ) NOTHROW;
void sgbcon_64( const char* norm, const MKL_INT64* n, const MKL_INT64* kl,
             const MKL_INT64* ku, const float* ab, const MKL_INT64* ldab,
             const MKL_INT64* ipiv, const float* anorm, float* rcond,
             float* work, MKL_INT64* iwork, MKL_INT64* info ) NOTHROW;

void SGBEQUB_64( const MKL_INT64* m, const MKL_INT64* n, const MKL_INT64* kl,
              const MKL_INT64* ku, const float* ab, const MKL_INT64* ldab,
              float* r, float* c, float* rowcnd, float* colcnd, float* amax,
              MKL_INT64* info ) NOTHROW;
void sgbequb_64( const MKL_INT64* m, const MKL_INT64* n, const MKL_INT64* kl,
              const MKL_INT64* ku, const float* ab, const MKL_INT64* ldab,
              float* r, float* c, float* rowcnd, float* colcnd, float* amax,
              MKL_INT64* info ) NOTHROW;

void SGBEQU_64( const MKL_INT64* m, const MKL_INT64* n, const MKL_INT64* kl,
             const MKL_INT64* ku, const float* ab, const MKL_INT64* ldab, float* r,
             float* c, float* rowcnd, float* colcnd, float* amax,
             MKL_INT64* info ) NOTHROW;
void sgbequ_64( const MKL_INT64* m, const MKL_INT64* n, const MKL_INT64* kl,
             const MKL_INT64* ku, const float* ab, const MKL_INT64* ldab, float* r,
             float* c, float* rowcnd, float* colcnd, float* amax,
             MKL_INT64* info ) NOTHROW;

void SGBRFS_64( const char* trans, const MKL_INT64* n, const MKL_INT64* kl,
             const MKL_INT64* ku, const MKL_INT64* nrhs, const float* ab,
             const MKL_INT64* ldab, const float* afb, const MKL_INT64* ldafb,
             const MKL_INT64* ipiv, const float* b, const MKL_INT64* ldb, float* x,
             const MKL_INT64* ldx, float* ferr, float* berr, float* work,
             MKL_INT64* iwork, MKL_INT64* info ) NOTHROW;
void sgbrfs_64( const char* trans, const MKL_INT64* n, const MKL_INT64* kl,
             const MKL_INT64* ku, const MKL_INT64* nrhs, const float* ab,
             const MKL_INT64* ldab, const float* afb, const MKL_INT64* ldafb,
             const MKL_INT64* ipiv, const float* b, const MKL_INT64* ldb, float* x,
             const MKL_INT64* ldx, float* ferr, float* berr, float* work,
             MKL_INT64* iwork, MKL_INT64* info ) NOTHROW;

void SGBRFSX_64( const char* trans, const char* equed, const MKL_INT64* n,
              const MKL_INT64* kl, const MKL_INT64* ku, const MKL_INT64* nrhs,
              const float* ab, const MKL_INT64* ldab, const float* afb,
              const MKL_INT64* ldafb, const MKL_INT64* ipiv, float* r,
              float* c, const float* b, const MKL_INT64* ldb, float* x,
              const MKL_INT64* ldx, float* rcond, float* berr,
              const MKL_INT64* n_err_bnds, float* err_bnds_norm,
              float* err_bnds_comp, const MKL_INT64* nparams, float* params,
              float* work, MKL_INT64* iwork, MKL_INT64* info ) NOTHROW;
void sgbrfsx_64( const char* trans, const char* equed, const MKL_INT64* n,
              const MKL_INT64* kl, const MKL_INT64* ku, const MKL_INT64* nrhs,
              const float* ab, const MKL_INT64* ldab, const float* afb,
              const MKL_INT64* ldafb, const MKL_INT64* ipiv, float* r,
              float* c, const float* b, const MKL_INT64* ldb, float* x,
              const MKL_INT64* ldx, float* rcond, float* berr,
              const MKL_INT64* n_err_bnds, float* err_bnds_norm,
              float* err_bnds_comp, const MKL_INT64* nparams, float* params,
              float* work, MKL_INT64* iwork, MKL_INT64* info ) NOTHROW;

void SGBSV_64( const MKL_INT64* n, const MKL_INT64* kl, const MKL_INT64* ku,
            const MKL_INT64* nrhs, float* ab, const MKL_INT64* ldab, MKL_INT64* ipiv,
            float* b, const MKL_INT64* ldb, MKL_INT64* info ) NOTHROW;
void sgbsv_64( const MKL_INT64* n, const MKL_INT64* kl, const MKL_INT64* ku,
            const MKL_INT64* nrhs, float* ab, const MKL_INT64* ldab, MKL_INT64* ipiv,
            float* b, const MKL_INT64* ldb, MKL_INT64* info ) NOTHROW;

void SGBSVX_64( const char* fact, const char* trans, const MKL_INT64* n,
             const MKL_INT64* kl, const MKL_INT64* ku, const MKL_INT64* nrhs,
             float* ab, const MKL_INT64* ldab, float* afb, const MKL_INT64* ldafb,
             MKL_INT64* ipiv, char* equed, float* r, float* c, float* b,
             const MKL_INT64* ldb, float* x, const MKL_INT64* ldx, float* rcond,
             float* ferr, float* berr, float* work, MKL_INT64* iwork,
             MKL_INT64* info ) NOTHROW;
void sgbsvx_64( const char* fact, const char* trans, const MKL_INT64* n,
             const MKL_INT64* kl, const MKL_INT64* ku, const MKL_INT64* nrhs,
             float* ab, const MKL_INT64* ldab, float* afb, const MKL_INT64* ldafb,
             MKL_INT64* ipiv, char* equed, float* r, float* c, float* b,
             const MKL_INT64* ldb, float* x, const MKL_INT64* ldx, float* rcond,
             float* ferr, float* berr, float* work, MKL_INT64* iwork,
             MKL_INT64* info ) NOTHROW;

void SGBSVXX_64( const char* fact, const char* trans, const MKL_INT64* n,
              const MKL_INT64* kl, const MKL_INT64* ku, const MKL_INT64* nrhs,
              float* ab, const MKL_INT64* ldab, float* afb, const MKL_INT64* ldafb,
              MKL_INT64* ipiv, char* equed, float* r, float* c, float* b,
              const MKL_INT64* ldb, float* x, const MKL_INT64* ldx, float* rcond,
              float* rpvgrw, float* berr, const MKL_INT64* n_err_bnds,
              float* err_bnds_norm, float* err_bnds_comp,
              const MKL_INT64* nparams, float* params, float* work,
              MKL_INT64* iwork, MKL_INT64* info ) NOTHROW;
void sgbsvxx_64( const char* fact, const char* trans, const MKL_INT64* n,
              const MKL_INT64* kl, const MKL_INT64* ku, const MKL_INT64* nrhs,
              float* ab, const MKL_INT64* ldab, float* afb, const MKL_INT64* ldafb,
              MKL_INT64* ipiv, char* equed, float* r, float* c, float* b,
              const MKL_INT64* ldb, float* x, const MKL_INT64* ldx, float* rcond,
              float* rpvgrw, float* berr, const MKL_INT64* n_err_bnds,
              float* err_bnds_norm, float* err_bnds_comp,
              const MKL_INT64* nparams, float* params, float* work,
              MKL_INT64* iwork, MKL_INT64* info ) NOTHROW;

void SGBTF2_64( const MKL_INT64* m, const MKL_INT64* n, const MKL_INT64* kl,
             const MKL_INT64* ku, float* ab, const MKL_INT64* ldab, MKL_INT64* ipiv,
             MKL_INT64* info ) NOTHROW;
void sgbtf2_64( const MKL_INT64* m, const MKL_INT64* n, const MKL_INT64* kl,
             const MKL_INT64* ku, float* ab, const MKL_INT64* ldab, MKL_INT64* ipiv,
             MKL_INT64* info ) NOTHROW;

void SGBTRF_64( const MKL_INT64* m, const MKL_INT64* n, const MKL_INT64* kl,
             const MKL_INT64* ku, float* ab, const MKL_INT64* ldab, MKL_INT64* ipiv,
             MKL_INT64* info ) NOTHROW;
void sgbtrf_64( const MKL_INT64* m, const MKL_INT64* n, const MKL_INT64* kl,
             const MKL_INT64* ku, float* ab, const MKL_INT64* ldab, MKL_INT64* ipiv,
             MKL_INT64* info ) NOTHROW;

void SGBTRS_64( const char* trans, const MKL_INT64* n, const MKL_INT64* kl,
             const MKL_INT64* ku, const MKL_INT64* nrhs, const float* ab,
             const MKL_INT64* ldab, const MKL_INT64* ipiv, float* b,
             const MKL_INT64* ldb, MKL_INT64* info ) NOTHROW;
void sgbtrs_64( const char* trans, const MKL_INT64* n, const MKL_INT64* kl,
             const MKL_INT64* ku, const MKL_INT64* nrhs, const float* ab,
             const MKL_INT64* ldab, const MKL_INT64* ipiv, float* b,
             const MKL_INT64* ldb, MKL_INT64* info ) NOTHROW;

void SGEBAK_64( const char* job, const char* side, const MKL_INT64* n,
             const MKL_INT64* ilo, const MKL_INT64* ihi, const float* scale,
             const MKL_INT64* m, float* v, const MKL_INT64* ldv, MKL_INT64* info ) NOTHROW;
void sgebak_64( const char* job, const char* side, const MKL_INT64* n,
             const MKL_INT64* ilo, const MKL_INT64* ihi, const float* scale,
             const MKL_INT64* m, float* v, const MKL_INT64* ldv, MKL_INT64* info ) NOTHROW;

void SGEBAL_64( const char* job, const MKL_INT64* n, float* a, const MKL_INT64* lda,
             MKL_INT64* ilo, MKL_INT64* ihi, float* scale, MKL_INT64* info ) NOTHROW;
void sgebal_64( const char* job, const MKL_INT64* n, float* a, const MKL_INT64* lda,
             MKL_INT64* ilo, MKL_INT64* ihi, float* scale, MKL_INT64* info ) NOTHROW;

void SGEBD2_64( const MKL_INT64* m, const MKL_INT64* n, float* a, const MKL_INT64* lda,
             float* d, float* e, float* tauq, float* taup, float* work,
             MKL_INT64* info ) NOTHROW;
void sgebd2_64( const MKL_INT64* m, const MKL_INT64* n, float* a, const MKL_INT64* lda,
             float* d, float* e, float* tauq, float* taup, float* work,
             MKL_INT64* info ) NOTHROW;

void SGEBRD_64( const MKL_INT64* m, const MKL_INT64* n, float* a, const MKL_INT64* lda,
             float* d, float* e, float* tauq, float* taup, float* work,
             const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;
void sgebrd_64( const MKL_INT64* m, const MKL_INT64* n, float* a, const MKL_INT64* lda,
             float* d, float* e, float* tauq, float* taup, float* work,
             const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;

void SGECON_64( const char* norm, const MKL_INT64* n, const float* a,
             const MKL_INT64* lda, const float* anorm, float* rcond, float* work,
             MKL_INT64* iwork, MKL_INT64* info ) NOTHROW;
void sgecon_64( const char* norm, const MKL_INT64* n, const float* a,
             const MKL_INT64* lda, const float* anorm, float* rcond, float* work,
             MKL_INT64* iwork, MKL_INT64* info ) NOTHROW;

void SGEEQUB_64( const MKL_INT64* m, const MKL_INT64* n, const float* a,
              const MKL_INT64* lda, float* r, float* c, float* rowcnd,
              float* colcnd, float* amax, MKL_INT64* info ) NOTHROW;
void sgeequb_64( const MKL_INT64* m, const MKL_INT64* n, const float* a,
              const MKL_INT64* lda, float* r, float* c, float* rowcnd,
              float* colcnd, float* amax, MKL_INT64* info ) NOTHROW;

void SGEEQU_64( const MKL_INT64* m, const MKL_INT64* n, const float* a,
             const MKL_INT64* lda, float* r, float* c, float* rowcnd,
             float* colcnd, float* amax, MKL_INT64* info ) NOTHROW;
void sgeequ_64( const MKL_INT64* m, const MKL_INT64* n, const float* a,
             const MKL_INT64* lda, float* r, float* c, float* rowcnd,
             float* colcnd, float* amax, MKL_INT64* info ) NOTHROW;

void SGEES_64( const char* jobvs, const char* sort,
            MKL_S_SELECT_FUNCTION_2_64 select, const MKL_INT64* n, float* a,
            const MKL_INT64* lda, MKL_INT64* sdim, float* wr, float* wi, float* vs,
            const MKL_INT64* ldvs, float* work, const MKL_INT64* lwork,
            MKL_INT64* bwork, MKL_INT64* info ) NOTHROW;
void sgees_64( const char* jobvs, const char* sort,
            MKL_S_SELECT_FUNCTION_2_64 select, const MKL_INT64* n, float* a,
            const MKL_INT64* lda, MKL_INT64* sdim, float* wr, float* wi, float* vs,
            const MKL_INT64* ldvs, float* work, const MKL_INT64* lwork,
            MKL_INT64* bwork, MKL_INT64* info ) NOTHROW;

void SGEESX_64( const char* jobvs, const char* sort,
             MKL_S_SELECT_FUNCTION_2_64 select, const char* sense,
             const MKL_INT64* n, float* a, const MKL_INT64* lda, MKL_INT64* sdim,
             float* wr, float* wi, float* vs, const MKL_INT64* ldvs,
             float* rconde, float* rcondv, float* work, const MKL_INT64* lwork,
             MKL_INT64* iwork, const MKL_INT64* liwork, MKL_INT64* bwork,
             MKL_INT64* info ) NOTHROW;
void sgeesx_64( const char* jobvs, const char* sort,
             MKL_S_SELECT_FUNCTION_2_64 select, const char* sense,
             const MKL_INT64* n, float* a, const MKL_INT64* lda, MKL_INT64* sdim,
             float* wr, float* wi, float* vs, const MKL_INT64* ldvs,
             float* rconde, float* rcondv, float* work, const MKL_INT64* lwork,
             MKL_INT64* iwork, const MKL_INT64* liwork, MKL_INT64* bwork,
             MKL_INT64* info ) NOTHROW;

void SGEEV_64( const char* jobvl, const char* jobvr, const MKL_INT64* n, float* a,
            const MKL_INT64* lda, float* wr, float* wi, float* vl,
            const MKL_INT64* ldvl, float* vr, const MKL_INT64* ldvr, float* work,
            const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;
void sgeev_64( const char* jobvl, const char* jobvr, const MKL_INT64* n, float* a,
            const MKL_INT64* lda, float* wr, float* wi, float* vl,
            const MKL_INT64* ldvl, float* vr, const MKL_INT64* ldvr, float* work,
            const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;

void SGEEVX_64( const char* balanc, const char* jobvl, const char* jobvr,
             const char* sense, const MKL_INT64* n, float* a, const MKL_INT64* lda,
             float* wr, float* wi, float* vl, const MKL_INT64* ldvl, float* vr,
             const MKL_INT64* ldvr, MKL_INT64* ilo, MKL_INT64* ihi, float* scale,
             float* abnrm, float* rconde, float* rcondv, float* work,
             const MKL_INT64* lwork, MKL_INT64* iwork, MKL_INT64* info ) NOTHROW;
void sgeevx_64( const char* balanc, const char* jobvl, const char* jobvr,
             const char* sense, const MKL_INT64* n, float* a, const MKL_INT64* lda,
             float* wr, float* wi, float* vl, const MKL_INT64* ldvl, float* vr,
             const MKL_INT64* ldvr, MKL_INT64* ilo, MKL_INT64* ihi, float* scale,
             float* abnrm, float* rconde, float* rcondv, float* work,
             const MKL_INT64* lwork, MKL_INT64* iwork, MKL_INT64* info ) NOTHROW;

void SGEGS_64( const char* jobvsl, const char* jobvsr, const MKL_INT64* n, float* a,
            const MKL_INT64* lda, float* b, const MKL_INT64* ldb, float* alphar,
            float* alphai, float* beta, float* vsl, const MKL_INT64* ldvsl,
            float* vsr, const MKL_INT64* ldvsr, float* work,
            const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;
void sgegs_64( const char* jobvsl, const char* jobvsr, const MKL_INT64* n, float* a,
            const MKL_INT64* lda, float* b, const MKL_INT64* ldb, float* alphar,
            float* alphai, float* beta, float* vsl, const MKL_INT64* ldvsl,
            float* vsr, const MKL_INT64* ldvsr, float* work,
            const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;

void SGEGV_64( const char* jobvl, const char* jobvr, const MKL_INT64* n, float* a,
            const MKL_INT64* lda, float* b, const MKL_INT64* ldb, float* alphar,
            float* alphai, float* beta, float* vl, const MKL_INT64* ldvl,
            float* vr, const MKL_INT64* ldvr, float* work, const MKL_INT64* lwork,
            MKL_INT64* info ) NOTHROW;
void sgegv_64( const char* jobvl, const char* jobvr, const MKL_INT64* n, float* a,
            const MKL_INT64* lda, float* b, const MKL_INT64* ldb, float* alphar,
            float* alphai, float* beta, float* vl, const MKL_INT64* ldvl,
            float* vr, const MKL_INT64* ldvr, float* work, const MKL_INT64* lwork,
            MKL_INT64* info ) NOTHROW;

void SGEHD2_64( const MKL_INT64* n, const MKL_INT64* ilo, const MKL_INT64* ihi,
             float* a, const MKL_INT64* lda, float* tau, float* work,
             MKL_INT64* info ) NOTHROW;
void sgehd2_64( const MKL_INT64* n, const MKL_INT64* ilo, const MKL_INT64* ihi,
             float* a, const MKL_INT64* lda, float* tau, float* work,
             MKL_INT64* info ) NOTHROW;

void SGEHRD_64( const MKL_INT64* n, const MKL_INT64* ilo, const MKL_INT64* ihi,
             float* a, const MKL_INT64* lda, float* tau, float* work,
             const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;
void sgehrd_64( const MKL_INT64* n, const MKL_INT64* ilo, const MKL_INT64* ihi,
             float* a, const MKL_INT64* lda, float* tau, float* work,
             const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;

void SGEJSV_64( const char* joba, const char* jobu, const char* jobv, const char* jobr, const char* jobt,
             const char* jobp, const MKL_INT64* m, const MKL_INT64* n, float* a,
             const MKL_INT64* lda, float* sva, float* u, const MKL_INT64* ldu,
             float* v, const MKL_INT64* ldv, float* work, const MKL_INT64* lwork,
             MKL_INT64* iwork, MKL_INT64* info ) NOTHROW;
void sgejsv_64( const char* joba, const char* jobu, const char* jobv, const char* jobr, const char* jobt,
             const char* jobp, const MKL_INT64* m, const MKL_INT64* n, float* a,
             const MKL_INT64* lda, float* sva, float* u, const MKL_INT64* ldu,
             float* v, const MKL_INT64* ldv, float* work, const MKL_INT64* lwork,
             MKL_INT64* iwork, MKL_INT64* info ) NOTHROW;

void SGELQ2_64( const MKL_INT64* m, const MKL_INT64* n, float* a, const MKL_INT64* lda,
             float* tau, float* work, MKL_INT64* info ) NOTHROW;
void sgelq2_64( const MKL_INT64* m, const MKL_INT64* n, float* a, const MKL_INT64* lda,
             float* tau, float* work, MKL_INT64* info ) NOTHROW;

void SGELQF_64( const MKL_INT64* m, const MKL_INT64* n, float* a, const MKL_INT64* lda,
             float* tau, float* work, const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;
void sgelqf_64( const MKL_INT64* m, const MKL_INT64* n, float* a, const MKL_INT64* lda,
             float* tau, float* work, const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;

void SGELSD_64( const MKL_INT64* m, const MKL_INT64* n, const MKL_INT64* nrhs,
             float* a, const MKL_INT64* lda, float* b, const MKL_INT64* ldb,
             float* s, const float* rcond, MKL_INT64* rank, float* work,
             const MKL_INT64* lwork, MKL_INT64* iwork, MKL_INT64* info ) NOTHROW;
void sgelsd_64( const MKL_INT64* m, const MKL_INT64* n, const MKL_INT64* nrhs,
             float* a, const MKL_INT64* lda, float* b, const MKL_INT64* ldb,
             float* s, const float* rcond, MKL_INT64* rank, float* work,
             const MKL_INT64* lwork, MKL_INT64* iwork, MKL_INT64* info ) NOTHROW;

void SGELS_64( const char* trans, const MKL_INT64* m, const MKL_INT64* n,
            const MKL_INT64* nrhs, float* a, const MKL_INT64* lda, float* b,
            const MKL_INT64* ldb, float* work, const MKL_INT64* lwork,
            MKL_INT64* info ) NOTHROW;
void sgels_64( const char* trans, const MKL_INT64* m, const MKL_INT64* n,
            const MKL_INT64* nrhs, float* a, const MKL_INT64* lda, float* b,
            const MKL_INT64* ldb, float* work, const MKL_INT64* lwork,
            MKL_INT64* info ) NOTHROW;

void SGELSS_64( const MKL_INT64* m, const MKL_INT64* n, const MKL_INT64* nrhs, float* a,
             const MKL_INT64* lda, float* b, const MKL_INT64* ldb, float* s,
             const float* rcond, MKL_INT64* rank, float* work,
             const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;
void sgelss_64( const MKL_INT64* m, const MKL_INT64* n, const MKL_INT64* nrhs, float* a,
             const MKL_INT64* lda, float* b, const MKL_INT64* ldb, float* s,
             const float* rcond, MKL_INT64* rank, float* work,
             const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;

void SGELSX_64( const MKL_INT64* m, const MKL_INT64* n, const MKL_INT64* nrhs, float* a,
             const MKL_INT64* lda, float* b, const MKL_INT64* ldb, MKL_INT64* jpvt,
             const float* rcond, MKL_INT64* rank, float* work, MKL_INT64* info ) NOTHROW;
void sgelsx_64( const MKL_INT64* m, const MKL_INT64* n, const MKL_INT64* nrhs, float* a,
             const MKL_INT64* lda, float* b, const MKL_INT64* ldb, MKL_INT64* jpvt,
             const float* rcond, MKL_INT64* rank, float* work, MKL_INT64* info ) NOTHROW;

void SGELSY_64( const MKL_INT64* m, const MKL_INT64* n, const MKL_INT64* nrhs, float* a,
             const MKL_INT64* lda, float* b, const MKL_INT64* ldb, MKL_INT64* jpvt,
             const float* rcond, MKL_INT64* rank, float* work,
             const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;
void sgelsy_64( const MKL_INT64* m, const MKL_INT64* n, const MKL_INT64* nrhs, float* a,
             const MKL_INT64* lda, float* b, const MKL_INT64* ldb, MKL_INT64* jpvt,
             const float* rcond, MKL_INT64* rank, float* work,
             const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;

void SGEQL2_64( const MKL_INT64* m, const MKL_INT64* n, float* a, const MKL_INT64* lda,
             float* tau, float* work, MKL_INT64* info ) NOTHROW;
void sgeql2_64( const MKL_INT64* m, const MKL_INT64* n, float* a, const MKL_INT64* lda,
             float* tau, float* work, MKL_INT64* info ) NOTHROW;

void SGEQLF_64( const MKL_INT64* m, const MKL_INT64* n, float* a, const MKL_INT64* lda,
             float* tau, float* work, const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;
void sgeqlf_64( const MKL_INT64* m, const MKL_INT64* n, float* a, const MKL_INT64* lda,
             float* tau, float* work, const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;

void SGEQP3_64( const MKL_INT64* m, const MKL_INT64* n, float* a, const MKL_INT64* lda,
             MKL_INT64* jpvt, float* tau, float* work, const MKL_INT64* lwork,
             MKL_INT64* info ) NOTHROW;
void sgeqp3_64( const MKL_INT64* m, const MKL_INT64* n, float* a, const MKL_INT64* lda,
             MKL_INT64* jpvt, float* tau, float* work, const MKL_INT64* lwork,
             MKL_INT64* info ) NOTHROW;

void SGEQPF_64( const MKL_INT64* m, const MKL_INT64* n, float* a, const MKL_INT64* lda,
             MKL_INT64* jpvt, float* tau, float* work, MKL_INT64* info ) NOTHROW;
void sgeqpf_64( const MKL_INT64* m, const MKL_INT64* n, float* a, const MKL_INT64* lda,
             MKL_INT64* jpvt, float* tau, float* work, MKL_INT64* info ) NOTHROW;

void SGEQR2_64( const MKL_INT64* m, const MKL_INT64* n, float* a, const MKL_INT64* lda,
             float* tau, float* work, MKL_INT64* info ) NOTHROW;
void sgeqr2_64( const MKL_INT64* m, const MKL_INT64* n, float* a, const MKL_INT64* lda,
             float* tau, float* work, MKL_INT64* info ) NOTHROW;

void SGEQR2P_64( const MKL_INT64* m, const MKL_INT64* n, float* a, const MKL_INT64* lda,
              float* tau, float* work, MKL_INT64* info ) NOTHROW;
void sgeqr2p_64( const MKL_INT64* m, const MKL_INT64* n, float* a, const MKL_INT64* lda,
              float* tau, float* work, MKL_INT64* info ) NOTHROW;

void SGEQRF_64( const MKL_INT64* m, const MKL_INT64* n, float* a, const MKL_INT64* lda,
             float* tau, float* work, const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;
void sgeqrf_64( const MKL_INT64* m, const MKL_INT64* n, float* a, const MKL_INT64* lda,
             float* tau, float* work, const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;

void SGEQRFP_64( const MKL_INT64* m, const MKL_INT64* n, float* a, const MKL_INT64* lda,
              float* tau, float* work, const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;
void sgeqrfp_64( const MKL_INT64* m, const MKL_INT64* n, float* a, const MKL_INT64* lda,
              float* tau, float* work, const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;

void SGERFS_64( const char* trans, const MKL_INT64* n, const MKL_INT64* nrhs,
             const float* a, const MKL_INT64* lda, const float* af,
             const MKL_INT64* ldaf, const MKL_INT64* ipiv, const float* b,
             const MKL_INT64* ldb, float* x, const MKL_INT64* ldx, float* ferr,
             float* berr, float* work, MKL_INT64* iwork, MKL_INT64* info ) NOTHROW;
void sgerfs_64( const char* trans, const MKL_INT64* n, const MKL_INT64* nrhs,
             const float* a, const MKL_INT64* lda, const float* af,
             const MKL_INT64* ldaf, const MKL_INT64* ipiv, const float* b,
             const MKL_INT64* ldb, float* x, const MKL_INT64* ldx, float* ferr,
             float* berr, float* work, MKL_INT64* iwork, MKL_INT64* info ) NOTHROW;

void SGERFSX_64( const char* trans, const char* equed, const MKL_INT64* n,
              const MKL_INT64* nrhs, const float* a, const MKL_INT64* lda,
              const float* af, const MKL_INT64* ldaf, const MKL_INT64* ipiv,
              const float* r, const float* c, const float* b,
              const MKL_INT64* ldb, float* x, const MKL_INT64* ldx, float* rcond,
              float* berr, const MKL_INT64* n_err_bnds, float* err_bnds_norm,
              float* err_bnds_comp, const MKL_INT64* nparams, float* params,
              float* work, MKL_INT64* iwork, MKL_INT64* info ) NOTHROW;
void sgerfsx_64( const char* trans, const char* equed, const MKL_INT64* n,
              const MKL_INT64* nrhs, const float* a, const MKL_INT64* lda,
              const float* af, const MKL_INT64* ldaf, const MKL_INT64* ipiv,
              const float* r, const float* c, const float* b,
              const MKL_INT64* ldb, float* x, const MKL_INT64* ldx, float* rcond,
              float* berr, const MKL_INT64* n_err_bnds, float* err_bnds_norm,
              float* err_bnds_comp, const MKL_INT64* nparams, float* params,
              float* work, MKL_INT64* iwork, MKL_INT64* info ) NOTHROW;

void SGERQ2_64( const MKL_INT64* m, const MKL_INT64* n, float* a, const MKL_INT64* lda,
             float* tau, float* work, MKL_INT64* info ) NOTHROW;
void sgerq2_64( const MKL_INT64* m, const MKL_INT64* n, float* a, const MKL_INT64* lda,
             float* tau, float* work, MKL_INT64* info ) NOTHROW;

void SGERQF_64( const MKL_INT64* m, const MKL_INT64* n, float* a, const MKL_INT64* lda,
             float* tau, float* work, const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;
void sgerqf_64( const MKL_INT64* m, const MKL_INT64* n, float* a, const MKL_INT64* lda,
             float* tau, float* work, const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;

void SGESC2_64( const MKL_INT64* n, const float* a, const MKL_INT64* lda, float* rhs,
             const MKL_INT64* ipiv, const MKL_INT64* jpiv, float* scale ) NOTHROW;
void sgesc2_64( const MKL_INT64* n, const float* a, const MKL_INT64* lda, float* rhs,
             const MKL_INT64* ipiv, const MKL_INT64* jpiv, float* scale ) NOTHROW;

void SGESDD_64( const char* jobz, const MKL_INT64* m, const MKL_INT64* n, float* a,
             const MKL_INT64* lda, float* s, float* u, const MKL_INT64* ldu,
             float* vt, const MKL_INT64* ldvt, float* work, const MKL_INT64* lwork,
             MKL_INT64* iwork, MKL_INT64* info ) NOTHROW;
void sgesdd_64( const char* jobz, const MKL_INT64* m, const MKL_INT64* n, float* a,
             const MKL_INT64* lda, float* s, float* u, const MKL_INT64* ldu,
             float* vt, const MKL_INT64* ldvt, float* work, const MKL_INT64* lwork,
             MKL_INT64* iwork, MKL_INT64* info ) NOTHROW;

void SGESVD_64( const char* jobu, const char* jobvt, const MKL_INT64* m,
             const MKL_INT64* n, float* a, const MKL_INT64* lda, float* s,
             float* u, const MKL_INT64* ldu, float* vt, const MKL_INT64* ldvt,
             float* work, const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;
void sgesvd_64( const char* jobu, const char* jobvt, const MKL_INT64* m,
             const MKL_INT64* n, float* a, const MKL_INT64* lda, float* s,
             float* u, const MKL_INT64* ldu, float* vt, const MKL_INT64* ldvt,
             float* work, const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;

void SGESV_64( const MKL_INT64* n, const MKL_INT64* nrhs, float* a,
            const MKL_INT64* lda, MKL_INT64* ipiv, float* b, const MKL_INT64* ldb,
            MKL_INT64* info ) NOTHROW;
void sgesv_64( const MKL_INT64* n, const MKL_INT64* nrhs, float* a,
            const MKL_INT64* lda, MKL_INT64* ipiv, float* b, const MKL_INT64* ldb,
            MKL_INT64* info ) NOTHROW;

void SGESVJ_64( const char* joba, const char* jobu, const char* jobv,
             const MKL_INT64* m, const MKL_INT64* n, float* a, const MKL_INT64* lda,
             float* sva, const MKL_INT64* mv, float* v, const MKL_INT64* ldv,
             float* work, const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;
void sgesvj_64( const char* joba, const char* jobu, const char* jobv,
             const MKL_INT64* m, const MKL_INT64* n, float* a, const MKL_INT64* lda,
             float* sva, const MKL_INT64* mv, float* v, const MKL_INT64* ldv,
             float* work, const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;

void SGESVX_64( const char* fact, const char* trans, const MKL_INT64* n,
             const MKL_INT64* nrhs, float* a, const MKL_INT64* lda, float* af,
             const MKL_INT64* ldaf, MKL_INT64* ipiv, char* equed, float* r,
             float* c, float* b, const MKL_INT64* ldb, float* x,
             const MKL_INT64* ldx, float* rcond, float* ferr, float* berr,
             float* work, MKL_INT64* iwork, MKL_INT64* info ) NOTHROW;
void sgesvx_64( const char* fact, const char* trans, const MKL_INT64* n,
             const MKL_INT64* nrhs, float* a, const MKL_INT64* lda, float* af,
             const MKL_INT64* ldaf, MKL_INT64* ipiv, char* equed, float* r,
             float* c, float* b, const MKL_INT64* ldb, float* x,
             const MKL_INT64* ldx, float* rcond, float* ferr, float* berr,
             float* work, MKL_INT64* iwork, MKL_INT64* info ) NOTHROW;

void SGESVXX_64( const char* fact, const char* trans, const MKL_INT64* n,
              const MKL_INT64* nrhs, float* a, const MKL_INT64* lda, float* af,
              const MKL_INT64* ldaf, MKL_INT64* ipiv, char* equed, float* r,
              float* c, float* b, const MKL_INT64* ldb, float* x,
              const MKL_INT64* ldx, float* rcond, float* rpvgrw, float* berr,
              const MKL_INT64* n_err_bnds, float* err_bnds_norm,
              float* err_bnds_comp, const MKL_INT64* nparams, float* params,
              float* work, MKL_INT64* iwork, MKL_INT64* info ) NOTHROW;
void sgesvxx_64( const char* fact, const char* trans, const MKL_INT64* n,
              const MKL_INT64* nrhs, float* a, const MKL_INT64* lda, float* af,
              const MKL_INT64* ldaf, MKL_INT64* ipiv, char* equed, float* r,
              float* c, float* b, const MKL_INT64* ldb, float* x,
              const MKL_INT64* ldx, float* rcond, float* rpvgrw, float* berr,
              const MKL_INT64* n_err_bnds, float* err_bnds_norm,
              float* err_bnds_comp, const MKL_INT64* nparams, float* params,
              float* work, MKL_INT64* iwork, MKL_INT64* info ) NOTHROW;

void SGETC2_64( const MKL_INT64* n, float* a, const MKL_INT64* lda, MKL_INT64* ipiv,
             MKL_INT64* jpiv, MKL_INT64* info ) NOTHROW;
void sgetc2_64( const MKL_INT64* n, float* a, const MKL_INT64* lda, MKL_INT64* ipiv,
             MKL_INT64* jpiv, MKL_INT64* info ) NOTHROW;

void SGETF2_64( const MKL_INT64* m, const MKL_INT64* n, float* a, const MKL_INT64* lda,
             MKL_INT64* ipiv, MKL_INT64* info ) NOTHROW;
void sgetf2_64( const MKL_INT64* m, const MKL_INT64* n, float* a, const MKL_INT64* lda,
             MKL_INT64* ipiv, MKL_INT64* info ) NOTHROW;

void SGETRF_64( const MKL_INT64* m, const MKL_INT64* n, float* a, const MKL_INT64* lda,
             MKL_INT64* ipiv, MKL_INT64* info ) NOTHROW;
void sgetrf_64( const MKL_INT64* m, const MKL_INT64* n, float* a, const MKL_INT64* lda,
             MKL_INT64* ipiv, MKL_INT64* info ) NOTHROW;

void MKL_SGETRFNPI_64( const MKL_INT64* m, const MKL_INT64* n, const MKL_INT64* nfact,
                    float* a, const MKL_INT64* lda, MKL_INT64* info ) NOTHROW;
void MKL_SGETRFNPI_64_( const MKL_INT64* m, const MKL_INT64* n, const MKL_INT64* nfact,
                     float* a, const MKL_INT64* lda, MKL_INT64* info ) NOTHROW;
void mkl_sgetrfnpi_64( const MKL_INT64* m, const MKL_INT64* n, const MKL_INT64* nfact,
                    float* a, const MKL_INT64* lda, MKL_INT64* info ) NOTHROW;
void mkl_sgetrfnpi_64_( const MKL_INT64* m, const MKL_INT64* n, const MKL_INT64* nfact,
                     float* a, const MKL_INT64* lda, MKL_INT64* info ) NOTHROW;

void SGETRI_64( const MKL_INT64* n, float* a, const MKL_INT64* lda,
             const MKL_INT64* ipiv, float* work, const MKL_INT64* lwork,
             MKL_INT64* info ) NOTHROW;
void sgetri_64( const MKL_INT64* n, float* a, const MKL_INT64* lda,
             const MKL_INT64* ipiv, float* work, const MKL_INT64* lwork,
             MKL_INT64* info ) NOTHROW;

void SGETRS_64( const char* trans, const MKL_INT64* n, const MKL_INT64* nrhs,
             const float* a, const MKL_INT64* lda, const MKL_INT64* ipiv, float* b,
             const MKL_INT64* ldb, MKL_INT64* info ) NOTHROW;
void sgetrs_64( const char* trans, const MKL_INT64* n, const MKL_INT64* nrhs,
             const float* a, const MKL_INT64* lda, const MKL_INT64* ipiv, float* b,
             const MKL_INT64* ldb, MKL_INT64* info ) NOTHROW;

void SGGBAK_64( const char* job, const char* side, const MKL_INT64* n,
             const MKL_INT64* ilo, const MKL_INT64* ihi, const float* lscale,
             const float* rscale, const MKL_INT64* m, float* v,
             const MKL_INT64* ldv, MKL_INT64* info ) NOTHROW;
void sggbak_64( const char* job, const char* side, const MKL_INT64* n,
             const MKL_INT64* ilo, const MKL_INT64* ihi, const float* lscale,
             const float* rscale, const MKL_INT64* m, float* v,
             const MKL_INT64* ldv, MKL_INT64* info ) NOTHROW;

void SGGBAL_64( const char* job, const MKL_INT64* n, float* a, const MKL_INT64* lda,
             float* b, const MKL_INT64* ldb, MKL_INT64* ilo, MKL_INT64* ihi,
             float* lscale, float* rscale, float* work, MKL_INT64* info ) NOTHROW;
void sggbal_64( const char* job, const MKL_INT64* n, float* a, const MKL_INT64* lda,
             float* b, const MKL_INT64* ldb, MKL_INT64* ilo, MKL_INT64* ihi,
             float* lscale, float* rscale, float* work, MKL_INT64* info ) NOTHROW;

void SGGES_64( const char* jobvsl, const char* jobvsr, const char* sort,
            MKL_S_SELECT_FUNCTION_3_64 selctg, const MKL_INT64* n, float* a,
            const MKL_INT64* lda, float* b, const MKL_INT64* ldb, MKL_INT64* sdim,
            float* alphar, float* alphai, float* beta, float* vsl,
            const MKL_INT64* ldvsl, float* vsr, const MKL_INT64* ldvsr,
            float* work, const MKL_INT64* lwork, MKL_INT64* bwork, MKL_INT64* info ) NOTHROW;
void sgges_64( const char* jobvsl, const char* jobvsr, const char* sort,
            MKL_S_SELECT_FUNCTION_3_64 selctg, const MKL_INT64* n, float* a,
            const MKL_INT64* lda, float* b, const MKL_INT64* ldb, MKL_INT64* sdim,
            float* alphar, float* alphai, float* beta, float* vsl,
            const MKL_INT64* ldvsl, float* vsr, const MKL_INT64* ldvsr,
            float* work, const MKL_INT64* lwork, MKL_INT64* bwork, MKL_INT64* info ) NOTHROW;

void SGGESX_64( const char* jobvsl, const char* jobvsr, const char* sort,
             MKL_S_SELECT_FUNCTION_3_64 selctg, const char* sense,
             const MKL_INT64* n, float* a, const MKL_INT64* lda, float* b,
             const MKL_INT64* ldb, MKL_INT64* sdim, float* alphar, float* alphai,
             float* beta, float* vsl, const MKL_INT64* ldvsl, float* vsr,
             const MKL_INT64* ldvsr, float* rconde, float* rcondv, float* work,
             const MKL_INT64* lwork, MKL_INT64* iwork, const MKL_INT64* liwork,
             MKL_INT64* bwork, MKL_INT64* info ) NOTHROW;
void sggesx_64( const char* jobvsl, const char* jobvsr, const char* sort,
             MKL_S_SELECT_FUNCTION_3_64 selctg, const char* sense,
             const MKL_INT64* n, float* a, const MKL_INT64* lda, float* b,
             const MKL_INT64* ldb, MKL_INT64* sdim, float* alphar, float* alphai,
             float* beta, float* vsl, const MKL_INT64* ldvsl, float* vsr,
             const MKL_INT64* ldvsr, float* rconde, float* rcondv, float* work,
             const MKL_INT64* lwork, MKL_INT64* iwork, const MKL_INT64* liwork,
             MKL_INT64* bwork, MKL_INT64* info ) NOTHROW;

void SGGEV_64( const char* jobvl, const char* jobvr, const MKL_INT64* n, float* a,
            const MKL_INT64* lda, float* b, const MKL_INT64* ldb, float* alphar,
            float* alphai, float* beta, float* vl, const MKL_INT64* ldvl,
            float* vr, const MKL_INT64* ldvr, float* work, const MKL_INT64* lwork,
            MKL_INT64* info ) NOTHROW;
void sggev_64( const char* jobvl, const char* jobvr, const MKL_INT64* n, float* a,
            const MKL_INT64* lda, float* b, const MKL_INT64* ldb, float* alphar,
            float* alphai, float* beta, float* vl, const MKL_INT64* ldvl,
            float* vr, const MKL_INT64* ldvr, float* work, const MKL_INT64* lwork,
            MKL_INT64* info ) NOTHROW;

void SGGEVX_64( const char* balanc, const char* jobvl, const char* jobvr,
             const char* sense, const MKL_INT64* n, float* a, const MKL_INT64* lda,
             float* b, const MKL_INT64* ldb, float* alphar, float* alphai,
             float* beta, float* vl, const MKL_INT64* ldvl, float* vr,
             const MKL_INT64* ldvr, MKL_INT64* ilo, MKL_INT64* ihi, float* lscale,
             float* rscale, float* abnrm, float* bbnrm, float* rconde,
             float* rcondv, float* work, const MKL_INT64* lwork, MKL_INT64* iwork,
             MKL_INT64* bwork, MKL_INT64* info ) NOTHROW;
void sggevx_64( const char* balanc, const char* jobvl, const char* jobvr,
             const char* sense, const MKL_INT64* n, float* a, const MKL_INT64* lda,
             float* b, const MKL_INT64* ldb, float* alphar, float* alphai,
             float* beta, float* vl, const MKL_INT64* ldvl, float* vr,
             const MKL_INT64* ldvr, MKL_INT64* ilo, MKL_INT64* ihi, float* lscale,
             float* rscale, float* abnrm, float* bbnrm, float* rconde,
             float* rcondv, float* work, const MKL_INT64* lwork, MKL_INT64* iwork,
             MKL_INT64* bwork, MKL_INT64* info ) NOTHROW;

void SGGGLM_64( const MKL_INT64* n, const MKL_INT64* m, const MKL_INT64* p, float* a,
             const MKL_INT64* lda, float* b, const MKL_INT64* ldb, float* d,
             float* x, float* y, float* work, const MKL_INT64* lwork,
             MKL_INT64* info ) NOTHROW;
void sggglm_64( const MKL_INT64* n, const MKL_INT64* m, const MKL_INT64* p, float* a,
             const MKL_INT64* lda, float* b, const MKL_INT64* ldb, float* d,
             float* x, float* y, float* work, const MKL_INT64* lwork,
             MKL_INT64* info ) NOTHROW;

void SGGHRD_64( const char* compq, const char* compz, const MKL_INT64* n,
             const MKL_INT64* ilo, const MKL_INT64* ihi, float* a,
             const MKL_INT64* lda, float* b, const MKL_INT64* ldb, float* q,
             const MKL_INT64* ldq, float* z, const MKL_INT64* ldz, MKL_INT64* info ) NOTHROW;
void sgghrd_64( const char* compq, const char* compz, const MKL_INT64* n,
             const MKL_INT64* ilo, const MKL_INT64* ihi, float* a,
             const MKL_INT64* lda, float* b, const MKL_INT64* ldb, float* q,
             const MKL_INT64* ldq, float* z, const MKL_INT64* ldz, MKL_INT64* info ) NOTHROW;

void SGGLSE_64( const MKL_INT64* m, const MKL_INT64* n, const MKL_INT64* p, float* a,
             const MKL_INT64* lda, float* b, const MKL_INT64* ldb, float* c,
             float* d, float* x, float* work, const MKL_INT64* lwork,
             MKL_INT64* info ) NOTHROW;
void sgglse_64( const MKL_INT64* m, const MKL_INT64* n, const MKL_INT64* p, float* a,
             const MKL_INT64* lda, float* b, const MKL_INT64* ldb, float* c,
             float* d, float* x, float* work, const MKL_INT64* lwork,
             MKL_INT64* info ) NOTHROW;

void SGGQRF_64( const MKL_INT64* n, const MKL_INT64* m, const MKL_INT64* p, float* a,
             const MKL_INT64* lda, float* taua, float* b, const MKL_INT64* ldb,
             float* taub, float* work, const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;
void sggqrf_64( const MKL_INT64* n, const MKL_INT64* m, const MKL_INT64* p, float* a,
             const MKL_INT64* lda, float* taua, float* b, const MKL_INT64* ldb,
             float* taub, float* work, const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;

void SGGRQF_64( const MKL_INT64* m, const MKL_INT64* p, const MKL_INT64* n, float* a,
             const MKL_INT64* lda, float* taua, float* b, const MKL_INT64* ldb,
             float* taub, float* work, const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;
void sggrqf_64( const MKL_INT64* m, const MKL_INT64* p, const MKL_INT64* n, float* a,
             const MKL_INT64* lda, float* taua, float* b, const MKL_INT64* ldb,
             float* taub, float* work, const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;

void SGGSVD_64( const char* jobu, const char* jobv, const char* jobq,
             const MKL_INT64* m, const MKL_INT64* n, const MKL_INT64* p, MKL_INT64* k,
             MKL_INT64* l, float* a, const MKL_INT64* lda, float* b,
             const MKL_INT64* ldb, float* alpha, float* beta, float* u,
             const MKL_INT64* ldu, float* v, const MKL_INT64* ldv, float* q,
             const MKL_INT64* ldq, float* work, MKL_INT64* iwork, MKL_INT64* info ) NOTHROW;
void sggsvd_64( const char* jobu, const char* jobv, const char* jobq,
             const MKL_INT64* m, const MKL_INT64* n, const MKL_INT64* p, MKL_INT64* k,
             MKL_INT64* l, float* a, const MKL_INT64* lda, float* b,
             const MKL_INT64* ldb, float* alpha, float* beta, float* u,
             const MKL_INT64* ldu, float* v, const MKL_INT64* ldv, float* q,
             const MKL_INT64* ldq, float* work, MKL_INT64* iwork, MKL_INT64* info ) NOTHROW;

void SGGSVP_64( const char* jobu, const char* jobv, const char* jobq,
             const MKL_INT64* m, const MKL_INT64* p, const MKL_INT64* n, float* a,
             const MKL_INT64* lda, float* b, const MKL_INT64* ldb,
             const float* tola, const float* tolb, MKL_INT64* k, MKL_INT64* l,
             float* u, const MKL_INT64* ldu, float* v, const MKL_INT64* ldv,
             float* q, const MKL_INT64* ldq, MKL_INT64* iwork, float* tau,
             float* work, MKL_INT64* info ) NOTHROW;
void sggsvp_64( const char* jobu, const char* jobv, const char* jobq,
             const MKL_INT64* m, const MKL_INT64* p, const MKL_INT64* n, float* a,
             const MKL_INT64* lda, float* b, const MKL_INT64* ldb,
             const float* tola, const float* tolb, MKL_INT64* k, MKL_INT64* l,
             float* u, const MKL_INT64* ldu, float* v, const MKL_INT64* ldv,
             float* q, const MKL_INT64* ldq, MKL_INT64* iwork, float* tau,
             float* work, MKL_INT64* info ) NOTHROW;

void SGSVJ0_64( const char* jobv, const MKL_INT64* m, const MKL_INT64* n, float* a,
             const MKL_INT64* lda, float* d, float* sva, const MKL_INT64* mv,
             float* v, const MKL_INT64* ldv, const float* eps,
             const float* sfmin, const float* tol, const MKL_INT64* nsweep,
             float* work, const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;
void sgsvj0_64( const char* jobv, const MKL_INT64* m, const MKL_INT64* n, float* a,
             const MKL_INT64* lda, float* d, float* sva, const MKL_INT64* mv,
             float* v, const MKL_INT64* ldv, const float* eps,
             const float* sfmin, const float* tol, const MKL_INT64* nsweep,
             float* work, const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;

void SGSVJ1_64( const char* jobv, const MKL_INT64* m, const MKL_INT64* n,
             const MKL_INT64* n1, float* a, const MKL_INT64* lda, float* d,
             float* sva, const MKL_INT64* mv, float* v, const MKL_INT64* ldv,
             const float* eps, const float* sfmin, const float* tol,
             const MKL_INT64* nsweep, float* work, const MKL_INT64* lwork,
             MKL_INT64* info ) NOTHROW;
void sgsvj1_64( const char* jobv, const MKL_INT64* m, const MKL_INT64* n,
             const MKL_INT64* n1, float* a, const MKL_INT64* lda, float* d,
             float* sva, const MKL_INT64* mv, float* v, const MKL_INT64* ldv,
             const float* eps, const float* sfmin, const float* tol,
             const MKL_INT64* nsweep, float* work, const MKL_INT64* lwork,
             MKL_INT64* info ) NOTHROW;

void SGTCON_64( const char* norm, const MKL_INT64* n, const float* dl,
             const float* d, const float* du, const float* du2,
             const MKL_INT64* ipiv, const float* anorm, float* rcond,
             float* work, MKL_INT64* iwork, MKL_INT64* info ) NOTHROW;
void sgtcon_64( const char* norm, const MKL_INT64* n, const float* dl,
             const float* d, const float* du, const float* du2,
             const MKL_INT64* ipiv, const float* anorm, float* rcond,
             float* work, MKL_INT64* iwork, MKL_INT64* info ) NOTHROW;

void SGTRFS_64( const char* trans, const MKL_INT64* n, const MKL_INT64* nrhs,
             const float* dl, const float* d, const float* du,
             const float* dlf, const float* df, const float* duf,
             const float* du2, const MKL_INT64* ipiv, const float* b,
             const MKL_INT64* ldb, float* x, const MKL_INT64* ldx, float* ferr,
             float* berr, float* work, MKL_INT64* iwork, MKL_INT64* info ) NOTHROW;
void sgtrfs_64( const char* trans, const MKL_INT64* n, const MKL_INT64* nrhs,
             const float* dl, const float* d, const float* du,
             const float* dlf, const float* df, const float* duf,
             const float* du2, const MKL_INT64* ipiv, const float* b,
             const MKL_INT64* ldb, float* x, const MKL_INT64* ldx, float* ferr,
             float* berr, float* work, MKL_INT64* iwork, MKL_INT64* info ) NOTHROW;

void SGTSV_64( const MKL_INT64* n, const MKL_INT64* nrhs, float* dl, float* d,
            float* du, float* b, const MKL_INT64* ldb, MKL_INT64* info ) NOTHROW;
void sgtsv_64( const MKL_INT64* n, const MKL_INT64* nrhs, float* dl, float* d,
            float* du, float* b, const MKL_INT64* ldb, MKL_INT64* info ) NOTHROW;

void SGTSVX_64( const char* fact, const char* trans, const MKL_INT64* n,
             const MKL_INT64* nrhs, const float* dl, const float* d,
             const float* du, float* dlf, float* df, float* duf, float* du2,
             MKL_INT64* ipiv, const float* b, const MKL_INT64* ldb, float* x,
             const MKL_INT64* ldx, float* rcond, float* ferr, float* berr,
             float* work, MKL_INT64* iwork, MKL_INT64* info ) NOTHROW;
void sgtsvx_64( const char* fact, const char* trans, const MKL_INT64* n,
             const MKL_INT64* nrhs, const float* dl, const float* d,
             const float* du, float* dlf, float* df, float* duf, float* du2,
             MKL_INT64* ipiv, const float* b, const MKL_INT64* ldb, float* x,
             const MKL_INT64* ldx, float* rcond, float* ferr, float* berr,
             float* work, MKL_INT64* iwork, MKL_INT64* info ) NOTHROW;

void SGTTRF_64( const MKL_INT64* n, float* dl, float* d, float* du, float* du2,
             MKL_INT64* ipiv, MKL_INT64* info ) NOTHROW;
void sgttrf_64( const MKL_INT64* n, float* dl, float* d, float* du, float* du2,
             MKL_INT64* ipiv, MKL_INT64* info ) NOTHROW;

void SGTTRS_64( const char* trans, const MKL_INT64* n, const MKL_INT64* nrhs,
             const float* dl, const float* d, const float* du,
             const float* du2, const MKL_INT64* ipiv, float* b,
             const MKL_INT64* ldb, MKL_INT64* info ) NOTHROW;
void sgttrs_64( const char* trans, const MKL_INT64* n, const MKL_INT64* nrhs,
             const float* dl, const float* d, const float* du,
             const float* du2, const MKL_INT64* ipiv, float* b,
             const MKL_INT64* ldb, MKL_INT64* info ) NOTHROW;

void SGTTS2_64( const MKL_INT64* itrans, const MKL_INT64* n, const MKL_INT64* nrhs,
             const float* dl, const float* d, const float* du,
             const float* du2, const MKL_INT64* ipiv, float* b,
             const MKL_INT64* ldb ) NOTHROW;
void sgtts2_64( const MKL_INT64* itrans, const MKL_INT64* n, const MKL_INT64* nrhs,
             const float* dl, const float* d, const float* du,
             const float* du2, const MKL_INT64* ipiv, float* b,
             const MKL_INT64* ldb ) NOTHROW;

void SHGEQZ_64( const char* job, const char* compq, const char* compz,
             const MKL_INT64* n, const MKL_INT64* ilo, const MKL_INT64* ihi,
             float* h, const MKL_INT64* ldh, float* t, const MKL_INT64* ldt,
             float* alphar, float* alphai, float* beta, float* q,
             const MKL_INT64* ldq, float* z, const MKL_INT64* ldz, float* work,
             const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;
void shgeqz_64( const char* job, const char* compq, const char* compz,
             const MKL_INT64* n, const MKL_INT64* ilo, const MKL_INT64* ihi,
             float* h, const MKL_INT64* ldh, float* t, const MKL_INT64* ldt,
             float* alphar, float* alphai, float* beta, float* q,
             const MKL_INT64* ldq, float* z, const MKL_INT64* ldz, float* work,
             const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;

void SHSEIN_64( const char* side, const char* eigsrc, const char* initv,
             MKL_INT64* select, const MKL_INT64* n, const float* h,
             const MKL_INT64* ldh, float* wr, const float* wi, float* vl,
             const MKL_INT64* ldvl, float* vr, const MKL_INT64* ldvr,
             const MKL_INT64* mm, MKL_INT64* m, float* work, MKL_INT64* ifaill,
             MKL_INT64* ifailr, MKL_INT64* info ) NOTHROW;
void shsein_64( const char* side, const char* eigsrc, const char* initv,
             MKL_INT64* select, const MKL_INT64* n, const float* h,
             const MKL_INT64* ldh, float* wr, const float* wi, float* vl,
             const MKL_INT64* ldvl, float* vr, const MKL_INT64* ldvr,
             const MKL_INT64* mm, MKL_INT64* m, float* work, MKL_INT64* ifaill,
             MKL_INT64* ifailr, MKL_INT64* info ) NOTHROW;

void SHSEQR_64( const char* job, const char* compz, const MKL_INT64* n,
             const MKL_INT64* ilo, const MKL_INT64* ihi, float* h,
             const MKL_INT64* ldh, float* wr, float* wi, float* z,
             const MKL_INT64* ldz, float* work, const MKL_INT64* lwork,
             MKL_INT64* info ) NOTHROW;
void shseqr_64( const char* job, const char* compz, const MKL_INT64* n,
             const MKL_INT64* ilo, const MKL_INT64* ihi, float* h,
             const MKL_INT64* ldh, float* wr, float* wi, float* z,
             const MKL_INT64* ldz, float* work, const MKL_INT64* lwork,
             MKL_INT64* info ) NOTHROW;

void SLABRD_64( const MKL_INT64* m, const MKL_INT64* n, const MKL_INT64* nb, float* a,
             const MKL_INT64* lda, float* d, float* e, float* tauq, float* taup,
             float* x, const MKL_INT64* ldx, float* y, const MKL_INT64* ldy ) NOTHROW;
void slabrd_64( const MKL_INT64* m, const MKL_INT64* n, const MKL_INT64* nb, float* a,
             const MKL_INT64* lda, float* d, float* e, float* tauq, float* taup,
             float* x, const MKL_INT64* ldx, float* y, const MKL_INT64* ldy ) NOTHROW;

void SLACN2_64( const MKL_INT64* n, float* v, float* x, MKL_INT64* isgn, float* est,
             MKL_INT64* kase, MKL_INT64* isave ) NOTHROW;
void slacn2_64( const MKL_INT64* n, float* v, float* x, MKL_INT64* isgn, float* est,
             MKL_INT64* kase, MKL_INT64* isave ) NOTHROW;

void SLACON_64( const MKL_INT64* n, float* v, float* x, MKL_INT64* isgn, float* est,
             MKL_INT64* kase ) NOTHROW;
void slacon_64( const MKL_INT64* n, float* v, float* x, MKL_INT64* isgn, float* est,
             MKL_INT64* kase ) NOTHROW;

void SLACPY_64( const char* uplo, const MKL_INT64* m, const MKL_INT64* n,
             const float* a, const MKL_INT64* lda, float* b,
             const MKL_INT64* ldb ) NOTHROW;
void slacpy_64( const char* uplo, const MKL_INT64* m, const MKL_INT64* n,
             const float* a, const MKL_INT64* lda, float* b,
             const MKL_INT64* ldb ) NOTHROW;

void SLAEBZ_64( const MKL_INT64* ijob, const MKL_INT64* nitmax, const MKL_INT64* n,
             const MKL_INT64* mmax, const MKL_INT64* minp, const MKL_INT64* nbmin,
             const float* abstol, const float* reltol, const float* pivmin,
             const float* d, const float* e, const float* e2, MKL_INT64* nval,
             float* ab, float* c, MKL_INT64* mout, MKL_INT64* nab, float* work,
             MKL_INT64* iwork, MKL_INT64* info ) NOTHROW;
void slaebz_64( const MKL_INT64* ijob, const MKL_INT64* nitmax, const MKL_INT64* n,
             const MKL_INT64* mmax, const MKL_INT64* minp, const MKL_INT64* nbmin,
             const float* abstol, const float* reltol, const float* pivmin,
             const float* d, const float* e, const float* e2, MKL_INT64* nval,
             float* ab, float* c, MKL_INT64* mout, MKL_INT64* nab, float* work,
             MKL_INT64* iwork, MKL_INT64* info ) NOTHROW;

void SLAED0_64( const MKL_INT64* icompq, const MKL_INT64* qsiz, const MKL_INT64* n,
             float* d, const float* e, float* q, const MKL_INT64* ldq,
             float* qstore, const MKL_INT64* ldqs, float* work, MKL_INT64* iwork,
             MKL_INT64* info ) NOTHROW;
void slaed0_64( const MKL_INT64* icompq, const MKL_INT64* qsiz, const MKL_INT64* n,
             float* d, const float* e, float* q, const MKL_INT64* ldq,
             float* qstore, const MKL_INT64* ldqs, float* work, MKL_INT64* iwork,
             MKL_INT64* info ) NOTHROW;

void SLAED1_64( const MKL_INT64* n, float* d, float* q, const MKL_INT64* ldq,
             MKL_INT64* indxq, const float* rho, const MKL_INT64* cutpnt,
             float* work, MKL_INT64* iwork, MKL_INT64* info ) NOTHROW;
void slaed1_64( const MKL_INT64* n, float* d, float* q, const MKL_INT64* ldq,
             MKL_INT64* indxq, const float* rho, const MKL_INT64* cutpnt,
             float* work, MKL_INT64* iwork, MKL_INT64* info ) NOTHROW;

void SLAED2_64( MKL_INT64* k, const MKL_INT64* n, const MKL_INT64* n1, float* d,
             float* q, const MKL_INT64* ldq, MKL_INT64* indxq, float* rho,
             const float* z, float* dlamda, float* w, float* q2, MKL_INT64* indx,
             MKL_INT64* indxc, MKL_INT64* indxp, MKL_INT64* coltyp, MKL_INT64* info ) NOTHROW;
void slaed2_64( MKL_INT64* k, const MKL_INT64* n, const MKL_INT64* n1, float* d,
             float* q, const MKL_INT64* ldq, MKL_INT64* indxq, float* rho,
             const float* z, float* dlamda, float* w, float* q2, MKL_INT64* indx,
             MKL_INT64* indxc, MKL_INT64* indxp, MKL_INT64* coltyp, MKL_INT64* info ) NOTHROW;

void SLAED3_64( const MKL_INT64* k, const MKL_INT64* n, const MKL_INT64* n1, float* d,
             float* q, const MKL_INT64* ldq, const float* rho, float* dlamda,
             const float* q2, const MKL_INT64* indx, const MKL_INT64* ctot,
             float* w, float* s, MKL_INT64* info ) NOTHROW;
void slaed3_64( const MKL_INT64* k, const MKL_INT64* n, const MKL_INT64* n1, float* d,
             float* q, const MKL_INT64* ldq, const float* rho, float* dlamda,
             const float* q2, const MKL_INT64* indx, const MKL_INT64* ctot,
             float* w, float* s, MKL_INT64* info ) NOTHROW;

void SLAED4_64( const MKL_INT64* n, const MKL_INT64* i, const float* d,
             const float* z, float* delta, const float* rho, float* dlam,
             MKL_INT64* info ) NOTHROW;
void slaed4_64( const MKL_INT64* n, const MKL_INT64* i, const float* d,
             const float* z, float* delta, const float* rho, float* dlam,
             MKL_INT64* info ) NOTHROW;

void SLAED5_64( const MKL_INT64* i, const float* d, const float* z, float* delta,
             const float* rho, float* dlam ) NOTHROW;
void slaed5_64( const MKL_INT64* i, const float* d, const float* z, float* delta,
             const float* rho, float* dlam ) NOTHROW;

void SLAED6_64( const MKL_INT64* kniter, const MKL_INT64* orgati, const float* rho,
             const float* d, const float* z, const float* finit, float* tau,
             MKL_INT64* info ) NOTHROW;
void slaed6_64( const MKL_INT64* kniter, const MKL_INT64* orgati, const float* rho,
             const float* d, const float* z, const float* finit, float* tau,
             MKL_INT64* info ) NOTHROW;

void SLAED7_64( const MKL_INT64* icompq, const MKL_INT64* n, const MKL_INT64* qsiz,
             const MKL_INT64* tlvls, const MKL_INT64* curlvl,
             const MKL_INT64* curpbm, float* d, float* q, const MKL_INT64* ldq,
             MKL_INT64* indxq, const float* rho, const MKL_INT64* cutpnt,
             float* qstore, MKL_INT64* qptr, const MKL_INT64* prmptr,
             const MKL_INT64* perm, const MKL_INT64* givptr, const MKL_INT64* givcol,
             const float* givnum, float* work, MKL_INT64* iwork, MKL_INT64* info ) NOTHROW;
void slaed7_64( const MKL_INT64* icompq, const MKL_INT64* n, const MKL_INT64* qsiz,
             const MKL_INT64* tlvls, const MKL_INT64* curlvl,
             const MKL_INT64* curpbm, float* d, float* q, const MKL_INT64* ldq,
             MKL_INT64* indxq, const float* rho, const MKL_INT64* cutpnt,
             float* qstore, MKL_INT64* qptr, const MKL_INT64* prmptr,
             const MKL_INT64* perm, const MKL_INT64* givptr, const MKL_INT64* givcol,
             const float* givnum, float* work, MKL_INT64* iwork, MKL_INT64* info ) NOTHROW;

void SLAED8_64( const MKL_INT64* icompq, MKL_INT64* k, const MKL_INT64* n,
             const MKL_INT64* qsiz, float* d, float* q, const MKL_INT64* ldq,
             const MKL_INT64* indxq, float* rho, const MKL_INT64* cutpnt,
             const float* z, float* dlamda, float* q2, const MKL_INT64* ldq2,
             float* w, MKL_INT64* perm, MKL_INT64* givptr, MKL_INT64* givcol,
             float* givnum, MKL_INT64* indxp, MKL_INT64* indx, MKL_INT64* info ) NOTHROW;
void slaed8_64( const MKL_INT64* icompq, MKL_INT64* k, const MKL_INT64* n,
             const MKL_INT64* qsiz, float* d, float* q, const MKL_INT64* ldq,
             const MKL_INT64* indxq, float* rho, const MKL_INT64* cutpnt,
             const float* z, float* dlamda, float* q2, const MKL_INT64* ldq2,
             float* w, MKL_INT64* perm, MKL_INT64* givptr, MKL_INT64* givcol,
             float* givnum, MKL_INT64* indxp, MKL_INT64* indx, MKL_INT64* info ) NOTHROW;

void SLAED9_64( const MKL_INT64* k, const MKL_INT64* kstart, const MKL_INT64* kstop,
             const MKL_INT64* n, float* d, float* q, const MKL_INT64* ldq,
             const float* rho, const float* dlamda, const float* w, float* s,
             const MKL_INT64* lds, MKL_INT64* info ) NOTHROW;
void slaed9_64( const MKL_INT64* k, const MKL_INT64* kstart, const MKL_INT64* kstop,
             const MKL_INT64* n, float* d, float* q, const MKL_INT64* ldq,
             const float* rho, const float* dlamda, const float* w, float* s,
             const MKL_INT64* lds, MKL_INT64* info ) NOTHROW;

void SLAEDA_64( const MKL_INT64* n, const MKL_INT64* tlvls, const MKL_INT64* curlvl,
             const MKL_INT64* curpbm, const MKL_INT64* prmptr, const MKL_INT64* perm,
             const MKL_INT64* givptr, const MKL_INT64* givcol, const float* givnum,
             const float* q, const MKL_INT64* qptr, float* z, float* ztemp,
             MKL_INT64* info ) NOTHROW;
void slaeda_64( const MKL_INT64* n, const MKL_INT64* tlvls, const MKL_INT64* curlvl,
             const MKL_INT64* curpbm, const MKL_INT64* prmptr, const MKL_INT64* perm,
             const MKL_INT64* givptr, const MKL_INT64* givcol, const float* givnum,
             const float* q, const MKL_INT64* qptr, float* z, float* ztemp,
             MKL_INT64* info ) NOTHROW;

void SLAEIN_64( const MKL_INT64* rightv, const MKL_INT64* noinit, const MKL_INT64* n,
             const float* h, const MKL_INT64* ldh, const float* wr,
             const float* wi, float* vr, float* vi, float* b,
             const MKL_INT64* ldb, float* work, const float* eps3,
             const float* smlnum, const float* bignum, MKL_INT64* info ) NOTHROW;
void slaein_64( const MKL_INT64* rightv, const MKL_INT64* noinit, const MKL_INT64* n,
             const float* h, const MKL_INT64* ldh, const float* wr,
             const float* wi, float* vr, float* vi, float* b,
             const MKL_INT64* ldb, float* work, const float* eps3,
             const float* smlnum, const float* bignum, MKL_INT64* info ) NOTHROW;

void SLAEXC_64( const MKL_INT64* wantq, const MKL_INT64* n, float* t,
             const MKL_INT64* ldt, float* q, const MKL_INT64* ldq,
             const MKL_INT64* j1, const MKL_INT64* n1, const MKL_INT64* n2,
             float* work, MKL_INT64* info ) NOTHROW;
void slaexc_64( const MKL_INT64* wantq, const MKL_INT64* n, float* t,
             const MKL_INT64* ldt, float* q, const MKL_INT64* ldq,
             const MKL_INT64* j1, const MKL_INT64* n1, const MKL_INT64* n2,
             float* work, MKL_INT64* info ) NOTHROW;

void SLAG2D_64( const MKL_INT64* m, const MKL_INT64* n, const float* sa,
             const MKL_INT64* ldsa, double* a, const MKL_INT64* lda,
             MKL_INT64* info ) NOTHROW;
void slag2d_64( const MKL_INT64* m, const MKL_INT64* n, const float* sa,
             const MKL_INT64* ldsa, double* a, const MKL_INT64* lda,
             MKL_INT64* info ) NOTHROW;

void SLAG2_64( const float* a, const MKL_INT64* lda, const float* b,
            const MKL_INT64* ldb, const float* safmin, float* scale1,
            float* scale2, float* wr1, float* wr2, float* wi ) NOTHROW;
void slag2_64( const float* a, const MKL_INT64* lda, const float* b,
            const MKL_INT64* ldb, const float* safmin, float* scale1,
            float* scale2, float* wr1, float* wr2, float* wi ) NOTHROW;

void SLAGS2_64( const MKL_INT64* upper, const float* a1, const float* a2,
             const float* a3, const float* b1, const float* b2,
             const float* b3, float* csu, float* snu, float* csv, float* snv,
             float* csq, float* snq ) NOTHROW;
void slags2_64( const MKL_INT64* upper, const float* a1, const float* a2,
             const float* a3, const float* b1, const float* b2,
             const float* b3, float* csu, float* snu, float* csv, float* snv,
             float* csq, float* snq ) NOTHROW;

void SLAGTF_64( const MKL_INT64* n, float* a, const float* lambda, float* b,
             float* c, const float* tol, float* d, MKL_INT64* in,
             MKL_INT64* info ) NOTHROW;
void slagtf_64( const MKL_INT64* n, float* a, const float* lambda, float* b,
             float* c, const float* tol, float* d, MKL_INT64* in,
             MKL_INT64* info ) NOTHROW;

void SLAGTM_64( const char* trans, const MKL_INT64* n, const MKL_INT64* nrhs,
             const float* alpha, const float* dl, const float* d,
             const float* du, const float* x, const MKL_INT64* ldx,
             const float* beta, float* b, const MKL_INT64* ldb ) NOTHROW;
void slagtm_64( const char* trans, const MKL_INT64* n, const MKL_INT64* nrhs,
             const float* alpha, const float* dl, const float* d,
             const float* du, const float* x, const MKL_INT64* ldx,
             const float* beta, float* b, const MKL_INT64* ldb ) NOTHROW;

void SLAGTS_64( const MKL_INT64* job, const MKL_INT64* n, const float* a,
             const float* b, const float* c, const float* d, const MKL_INT64* in,
             float* y, float* tol, MKL_INT64* info ) NOTHROW;
void slagts_64( const MKL_INT64* job, const MKL_INT64* n, const float* a,
             const float* b, const float* c, const float* d, const MKL_INT64* in,
             float* y, float* tol, MKL_INT64* info ) NOTHROW;

void SLAGV2_64( float* a, const MKL_INT64* lda, float* b, const MKL_INT64* ldb,
             float* alphar, float* alphai, float* beta, float* csl, float* snl,
             float* csr, float* snr ) NOTHROW;
void slagv2_64( float* a, const MKL_INT64* lda, float* b, const MKL_INT64* ldb,
             float* alphar, float* alphai, float* beta, float* csl, float* snl,
             float* csr, float* snr ) NOTHROW;

void SLAHQR_64( const MKL_INT64* wantt, const MKL_INT64* wantz, const MKL_INT64* n,
             const MKL_INT64* ilo, const MKL_INT64* ihi, float* h,
             const MKL_INT64* ldh, float* wr, float* wi, const MKL_INT64* iloz,
             const MKL_INT64* ihiz, float* z, const MKL_INT64* ldz,
             MKL_INT64* info ) NOTHROW;
void slahqr_64( const MKL_INT64* wantt, const MKL_INT64* wantz, const MKL_INT64* n,
             const MKL_INT64* ilo, const MKL_INT64* ihi, float* h,
             const MKL_INT64* ldh, float* wr, float* wi, const MKL_INT64* iloz,
             const MKL_INT64* ihiz, float* z, const MKL_INT64* ldz,
             MKL_INT64* info ) NOTHROW;

void SLAHR2_64( const MKL_INT64* n, const MKL_INT64* k, const MKL_INT64* nb, float* a,
             const MKL_INT64* lda, float* tau, float* t, const MKL_INT64* ldt,
             float* y, const MKL_INT64* ldy ) NOTHROW;
void slahr2_64( const MKL_INT64* n, const MKL_INT64* k, const MKL_INT64* nb, float* a,
             const MKL_INT64* lda, float* tau, float* t, const MKL_INT64* ldt,
             float* y, const MKL_INT64* ldy ) NOTHROW;

void SLAHRD_64( const MKL_INT64* n, const MKL_INT64* k, const MKL_INT64* nb, float* a,
             const MKL_INT64* lda, float* tau, float* t, const MKL_INT64* ldt,
             float* y, const MKL_INT64* ldy ) NOTHROW;
void slahrd_64( const MKL_INT64* n, const MKL_INT64* k, const MKL_INT64* nb, float* a,
             const MKL_INT64* lda, float* tau, float* t, const MKL_INT64* ldt,
             float* y, const MKL_INT64* ldy ) NOTHROW;

void SLAIC1_64( const MKL_INT64* job, const MKL_INT64* j, const float* x,
             const float* sest, const float* w, const float* gamma,
             float* sestpr, float* s, float* c ) NOTHROW;
void slaic1_64( const MKL_INT64* job, const MKL_INT64* j, const float* x,
             const float* sest, const float* w, const float* gamma,
             float* sestpr, float* s, float* c ) NOTHROW;

void SLALN2_64( const MKL_INT64* ltrans, const MKL_INT64* na, const MKL_INT64* nw,
             const float* smin, const float* ca, const float* a,
             const MKL_INT64* lda, const float* d1, const float* d2,
             const float* b, const MKL_INT64* ldb, const float* wr,
             const float* wi, float* x, const MKL_INT64* ldx, float* scale,
             float* xnorm, MKL_INT64* info ) NOTHROW;
void slaln2_64( const MKL_INT64* ltrans, const MKL_INT64* na, const MKL_INT64* nw,
             const float* smin, const float* ca, const float* a,
             const MKL_INT64* lda, const float* d1, const float* d2,
             const float* b, const MKL_INT64* ldb, const float* wr,
             const float* wi, float* x, const MKL_INT64* ldx, float* scale,
             float* xnorm, MKL_INT64* info ) NOTHROW;

void SLALS0_64( const MKL_INT64* icompq, const MKL_INT64* nl, const MKL_INT64* nr,
             const MKL_INT64* sqre, const MKL_INT64* nrhs, float* b,
             const MKL_INT64* ldb, float* bx, const MKL_INT64* ldbx,
             const MKL_INT64* perm, const MKL_INT64* givptr, const MKL_INT64* givcol,
             const MKL_INT64* ldgcol, const float* givnum, const MKL_INT64* ldgnum,
             const float* poles, const float* difl, const float* difr,
             const float* z, const MKL_INT64* k, const float* c, const float* s,
             float* work, MKL_INT64* info ) NOTHROW;
void slals0_64( const MKL_INT64* icompq, const MKL_INT64* nl, const MKL_INT64* nr,
             const MKL_INT64* sqre, const MKL_INT64* nrhs, float* b,
             const MKL_INT64* ldb, float* bx, const MKL_INT64* ldbx,
             const MKL_INT64* perm, const MKL_INT64* givptr, const MKL_INT64* givcol,
             const MKL_INT64* ldgcol, const float* givnum, const MKL_INT64* ldgnum,
             const float* poles, const float* difl, const float* difr,
             const float* z, const MKL_INT64* k, const float* c, const float* s,
             float* work, MKL_INT64* info ) NOTHROW;

void SLALSA_64( const MKL_INT64* icompq, const MKL_INT64* smlsiz, const MKL_INT64* n,
             const MKL_INT64* nrhs, float* b, const MKL_INT64* ldb, float* bx,
             const MKL_INT64* ldbx, const float* u, const MKL_INT64* ldu,
             const float* vt, const MKL_INT64* k, const float* difl,
             const float* difr, const float* z, const float* poles,
             const MKL_INT64* givptr, const MKL_INT64* givcol,
             const MKL_INT64* ldgcol, const MKL_INT64* perm, const float* givnum,
             const float* c, const float* s, float* work, MKL_INT64* iwork,
             MKL_INT64* info ) NOTHROW;
void slalsa_64( const MKL_INT64* icompq, const MKL_INT64* smlsiz, const MKL_INT64* n,
             const MKL_INT64* nrhs, float* b, const MKL_INT64* ldb, float* bx,
             const MKL_INT64* ldbx, const float* u, const MKL_INT64* ldu,
             const float* vt, const MKL_INT64* k, const float* difl,
             const float* difr, const float* z, const float* poles,
             const MKL_INT64* givptr, const MKL_INT64* givcol,
             const MKL_INT64* ldgcol, const MKL_INT64* perm, const float* givnum,
             const float* c, const float* s, float* work, MKL_INT64* iwork,
             MKL_INT64* info ) NOTHROW;

void SLALSD_64( const char* uplo, const MKL_INT64* smlsiz, const MKL_INT64* n,
             const MKL_INT64* nrhs, float* d, float* e, float* b,
             const MKL_INT64* ldb, const float* rcond, MKL_INT64* rank,
             float* work, MKL_INT64* iwork, MKL_INT64* info ) NOTHROW;
void slalsd_64( const char* uplo, const MKL_INT64* smlsiz, const MKL_INT64* n,
             const MKL_INT64* nrhs, float* d, float* e, float* b,
             const MKL_INT64* ldb, const float* rcond, MKL_INT64* rank,
             float* work, MKL_INT64* iwork, MKL_INT64* info ) NOTHROW;

void SLAMC1_64( MKL_INT64* beta, MKL_INT64* t, MKL_INT64* rnd, MKL_INT64* ieee1 ) NOTHROW;
void slamc1_64( MKL_INT64* beta, MKL_INT64* t, MKL_INT64* rnd, MKL_INT64* ieee1 ) NOTHROW;

void SLAMC2_64( MKL_INT64* beta, MKL_INT64* t, MKL_INT64* rnd, float* eps,
             MKL_INT64* emin, float* rmin, MKL_INT64* emax, float* rmax ) NOTHROW;
void slamc2_64( MKL_INT64* beta, MKL_INT64* t, MKL_INT64* rnd, float* eps,
             MKL_INT64* emin, float* rmin, MKL_INT64* emax, float* rmax ) NOTHROW;

void SLAMC4_64( MKL_INT64* emin, const float* start, const MKL_INT64* base ) NOTHROW;
void slamc4_64( MKL_INT64* emin, const float* start, const MKL_INT64* base ) NOTHROW;

void SLAMC5_64( const MKL_INT64* beta, const MKL_INT64* p, const MKL_INT64* emin,
             const MKL_INT64* ieee, MKL_INT64* emax, float* rmax ) NOTHROW;
void slamc5_64( const MKL_INT64* beta, const MKL_INT64* p, const MKL_INT64* emin,
             const MKL_INT64* ieee, MKL_INT64* emax, float* rmax ) NOTHROW;

void SLAMRG_64( const MKL_INT64* n1, const MKL_INT64* n2, const float* a,
             const MKL_INT64* strd1, const MKL_INT64* strd2, MKL_INT64* index ) NOTHROW;
void slamrg_64( const MKL_INT64* n1, const MKL_INT64* n2, const float* a,
             const MKL_INT64* strd1, const MKL_INT64* strd2, MKL_INT64* index ) NOTHROW;

MKL_INT64 SLANEG_64( const MKL_INT64* n, const float* d, const float* lld,
                const float* sigma, const float* pivmin, const MKL_INT64* r ) NOTHROW;
MKL_INT64 slaneg_64( const MKL_INT64* n, const float* d, const float* lld,
                const float* sigma, const float* pivmin, const MKL_INT64* r ) NOTHROW;

float SLANGB_64( const char* norm, const MKL_INT64* n, const MKL_INT64* kl,
              const MKL_INT64* ku, const float* ab, const MKL_INT64* ldab,
              float* work ) NOTHROW;
float slangb_64( const char* norm, const MKL_INT64* n, const MKL_INT64* kl,
              const MKL_INT64* ku, const float* ab, const MKL_INT64* ldab,
              float* work ) NOTHROW;

float SLANGE_64( const char* norm, const MKL_INT64* m, const MKL_INT64* n,
              const float* a, const MKL_INT64* lda, float* work ) NOTHROW;
float slange_64( const char* norm, const MKL_INT64* m, const MKL_INT64* n,
              const float* a, const MKL_INT64* lda, float* work ) NOTHROW;

float SLANGT_64( const char* norm, const MKL_INT64* n, const float* dl,
              const float* d, const float* du ) NOTHROW;
float slangt_64( const char* norm, const MKL_INT64* n, const float* dl,
              const float* d, const float* du ) NOTHROW;

float SLANHS_64( const char* norm, const MKL_INT64* n, const float* a,
              const MKL_INT64* lda, float* work ) NOTHROW;
float slanhs_64( const char* norm, const MKL_INT64* n, const float* a,
              const MKL_INT64* lda, float* work ) NOTHROW;

float SLANSB_64( const char* norm, const char* uplo, const MKL_INT64* n,
              const MKL_INT64* k, const float* ab, const MKL_INT64* ldab,
              float* work ) NOTHROW;
float slansb_64( const char* norm, const char* uplo, const MKL_INT64* n,
              const MKL_INT64* k, const float* ab, const MKL_INT64* ldab,
              float* work ) NOTHROW;

float SLANSF_64( const char* norm, const char* transr, const char* uplo,
              const MKL_INT64* n, const float* a, float* work ) NOTHROW;
float slansf_64( const char* norm, const char* transr, const char* uplo,
              const MKL_INT64* n, const float* a, float* work ) NOTHROW;

float SLANSP_64( const char* norm, const char* uplo, const MKL_INT64* n,
              const float* ap, float* work ) NOTHROW;
float slansp_64( const char* norm, const char* uplo, const MKL_INT64* n,
              const float* ap, float* work ) NOTHROW;

float SLANST_64( const char* norm, const MKL_INT64* n, const float* d,
              const float* e ) NOTHROW;
float slanst_64( const char* norm, const MKL_INT64* n, const float* d,
              const float* e ) NOTHROW;

float SLANSY_64( const char* norm, const char* uplo, const MKL_INT64* n,
              const float* a, const MKL_INT64* lda, float* work ) NOTHROW;
float slansy_64( const char* norm, const char* uplo, const MKL_INT64* n,
              const float* a, const MKL_INT64* lda, float* work ) NOTHROW;

float SLANTB_64( const char* norm, const char* uplo, const char* diag,
              const MKL_INT64* n, const MKL_INT64* k, const float* ab,
              const MKL_INT64* ldab, float* work ) NOTHROW;
float slantb_64( const char* norm, const char* uplo, const char* diag,
              const MKL_INT64* n, const MKL_INT64* k, const float* ab,
              const MKL_INT64* ldab, float* work ) NOTHROW;

float SLANTP_64( const char* norm, const char* uplo, const char* diag,
              const MKL_INT64* n, const float* ap, float* work ) NOTHROW;
float slantp_64( const char* norm, const char* uplo, const char* diag,
              const MKL_INT64* n, const float* ap, float* work ) NOTHROW;

float SLANTR_64( const char* norm, const char* uplo, const char* diag,
              const MKL_INT64* m, const MKL_INT64* n, const float* a,
              const MKL_INT64* lda, float* work ) NOTHROW;
float slantr_64( const char* norm, const char* uplo, const char* diag,
              const MKL_INT64* m, const MKL_INT64* n, const float* a,
              const MKL_INT64* lda, float* work ) NOTHROW;

void SLAPLL_64( const MKL_INT64* n, float* x, const MKL_INT64* incx, float* y,
             const MKL_INT64* incy, float* ssmin ) NOTHROW;
void slapll_64( const MKL_INT64* n, float* x, const MKL_INT64* incx, float* y,
             const MKL_INT64* incy, float* ssmin ) NOTHROW;

void SLAPMT_64( const MKL_INT64* forwrd, const MKL_INT64* m, const MKL_INT64* n,
             float* x, const MKL_INT64* ldx, MKL_INT64* k ) NOTHROW;
void slapmt_64( const MKL_INT64* forwrd, const MKL_INT64* m, const MKL_INT64* n,
             float* x, const MKL_INT64* ldx, MKL_INT64* k ) NOTHROW;

void SLAQGB_64( const MKL_INT64* m, const MKL_INT64* n, const MKL_INT64* kl,
             const MKL_INT64* ku, float* ab, const MKL_INT64* ldab, const float* r,
             const float* c, const float* rowcnd, const float* colcnd,
             const float* amax, char* equed ) NOTHROW;
void slaqgb_64( const MKL_INT64* m, const MKL_INT64* n, const MKL_INT64* kl,
             const MKL_INT64* ku, float* ab, const MKL_INT64* ldab, const float* r,
             const float* c, const float* rowcnd, const float* colcnd,
             const float* amax, char* equed ) NOTHROW;

void SLAQGE_64( const MKL_INT64* m, const MKL_INT64* n, float* a, const MKL_INT64* lda,
             const float* r, const float* c, const float* rowcnd,
             const float* colcnd, const float* amax, char* equed ) NOTHROW;
void slaqge_64( const MKL_INT64* m, const MKL_INT64* n, float* a, const MKL_INT64* lda,
             const float* r, const float* c, const float* rowcnd,
             const float* colcnd, const float* amax, char* equed ) NOTHROW;

void SLAQP2_64( const MKL_INT64* m, const MKL_INT64* n, const MKL_INT64* offset,
             float* a, const MKL_INT64* lda, MKL_INT64* jpvt, float* tau,
             float* vn1, float* vn2, float* work ) NOTHROW;
void slaqp2_64( const MKL_INT64* m, const MKL_INT64* n, const MKL_INT64* offset,
             float* a, const MKL_INT64* lda, MKL_INT64* jpvt, float* tau,
             float* vn1, float* vn2, float* work ) NOTHROW;

void SLAQPS_64( const MKL_INT64* m, const MKL_INT64* n, const MKL_INT64* offset,
             const MKL_INT64* nb, MKL_INT64* kb, float* a, const MKL_INT64* lda,
             MKL_INT64* jpvt, float* tau, float* vn1, float* vn2, float* auxv,
             float* f, const MKL_INT64* ldf ) NOTHROW;
void slaqps_64( const MKL_INT64* m, const MKL_INT64* n, const MKL_INT64* offset,
             const MKL_INT64* nb, MKL_INT64* kb, float* a, const MKL_INT64* lda,
             MKL_INT64* jpvt, float* tau, float* vn1, float* vn2, float* auxv,
             float* f, const MKL_INT64* ldf ) NOTHROW;

void SLAQR0_64( const MKL_INT64* wantt, const MKL_INT64* wantz, const MKL_INT64* n,
             const MKL_INT64* ilo, const MKL_INT64* ihi, float* h,
             const MKL_INT64* ldh, float* wr, float* wi, const MKL_INT64* iloz,
             const MKL_INT64* ihiz, float* z, const MKL_INT64* ldz, float* work,
             const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;
void slaqr0_64( const MKL_INT64* wantt, const MKL_INT64* wantz, const MKL_INT64* n,
             const MKL_INT64* ilo, const MKL_INT64* ihi, float* h,
             const MKL_INT64* ldh, float* wr, float* wi, const MKL_INT64* iloz,
             const MKL_INT64* ihiz, float* z, const MKL_INT64* ldz, float* work,
             const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;

void SLAQR1_64( const MKL_INT64* n, const float* h, const MKL_INT64* ldh,
             const float* sr1, float* si1, float* sr2, float* si2, float* v ) NOTHROW;
void slaqr1_64( const MKL_INT64* n, const float* h, const MKL_INT64* ldh,
             const float* sr1, float* si1, float* sr2, float* si2, float* v ) NOTHROW;

void SLAQR2_64( const MKL_INT64* wantt, const MKL_INT64* wantz, const MKL_INT64* n,
             const MKL_INT64* ktop, const MKL_INT64* kbot, const MKL_INT64* nw,
             float* h, const MKL_INT64* ldh, const MKL_INT64* iloz,
             const MKL_INT64* ihiz, float* z, const MKL_INT64* ldz, MKL_INT64* ns,
             MKL_INT64* nd, float* sr, float* si, float* v, const MKL_INT64* ldv,
             const MKL_INT64* nh, float* t, const MKL_INT64* ldt,
             const MKL_INT64* nv, float* wv, const MKL_INT64* ldwv, float* work,
             const MKL_INT64* lwork ) NOTHROW;
void slaqr2_64( const MKL_INT64* wantt, const MKL_INT64* wantz, const MKL_INT64* n,
             const MKL_INT64* ktop, const MKL_INT64* kbot, const MKL_INT64* nw,
             float* h, const MKL_INT64* ldh, const MKL_INT64* iloz,
             const MKL_INT64* ihiz, float* z, const MKL_INT64* ldz, MKL_INT64* ns,
             MKL_INT64* nd, float* sr, float* si, float* v, const MKL_INT64* ldv,
             const MKL_INT64* nh, float* t, const MKL_INT64* ldt,
             const MKL_INT64* nv, float* wv, const MKL_INT64* ldwv, float* work,
             const MKL_INT64* lwork ) NOTHROW;

void SLAQR3_64( const MKL_INT64* wantt, const MKL_INT64* wantz, const MKL_INT64* n,
             const MKL_INT64* ktop, const MKL_INT64* kbot, const MKL_INT64* nw,
             float* h, const MKL_INT64* ldh, const MKL_INT64* iloz,
             const MKL_INT64* ihiz, float* z, const MKL_INT64* ldz, MKL_INT64* ns,
             MKL_INT64* nd, float* sr, float* si, float* v, const MKL_INT64* ldv,
             const MKL_INT64* nh, float* t, const MKL_INT64* ldt,
             const MKL_INT64* nv, float* wv, const MKL_INT64* ldwv, float* work,
             const MKL_INT64* lwork ) NOTHROW;
void slaqr3_64( const MKL_INT64* wantt, const MKL_INT64* wantz, const MKL_INT64* n,
             const MKL_INT64* ktop, const MKL_INT64* kbot, const MKL_INT64* nw,
             float* h, const MKL_INT64* ldh, const MKL_INT64* iloz,
             const MKL_INT64* ihiz, float* z, const MKL_INT64* ldz, MKL_INT64* ns,
             MKL_INT64* nd, float* sr, float* si, float* v, const MKL_INT64* ldv,
             const MKL_INT64* nh, float* t, const MKL_INT64* ldt,
             const MKL_INT64* nv, float* wv, const MKL_INT64* ldwv, float* work,
             const MKL_INT64* lwork ) NOTHROW;

void SLAQR4_64( const MKL_INT64* wantt, const MKL_INT64* wantz, const MKL_INT64* n,
             const MKL_INT64* ilo, const MKL_INT64* ihi, float* h,
             const MKL_INT64* ldh, float* wr, float* wi, const MKL_INT64* iloz,
             const MKL_INT64* ihiz, float* z, const MKL_INT64* ldz, float* work,
             const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;
void slaqr4_64( const MKL_INT64* wantt, const MKL_INT64* wantz, const MKL_INT64* n,
             const MKL_INT64* ilo, const MKL_INT64* ihi, float* h,
             const MKL_INT64* ldh, float* wr, float* wi, const MKL_INT64* iloz,
             const MKL_INT64* ihiz, float* z, const MKL_INT64* ldz, float* work,
             const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;

void SLAQR5_64( const MKL_INT64* wantt, const MKL_INT64* wantz, const MKL_INT64* kacc22,
             const MKL_INT64* n, const MKL_INT64* ktop, const MKL_INT64* kbot,
             const MKL_INT64* nshfts, float* sr, float* si, float* h,
             const MKL_INT64* ldh, const MKL_INT64* iloz, const MKL_INT64* ihiz,
             float* z, const MKL_INT64* ldz, float* v, const MKL_INT64* ldv,
             float* u, const MKL_INT64* ldu, const MKL_INT64* nv, float* wv,
             const MKL_INT64* ldwv, const MKL_INT64* nh, float* wh,
             const MKL_INT64* ldwh ) NOTHROW;
void slaqr5_64( const MKL_INT64* wantt, const MKL_INT64* wantz, const MKL_INT64* kacc22,
             const MKL_INT64* n, const MKL_INT64* ktop, const MKL_INT64* kbot,
             const MKL_INT64* nshfts, float* sr, float* si, float* h,
             const MKL_INT64* ldh, const MKL_INT64* iloz, const MKL_INT64* ihiz,
             float* z, const MKL_INT64* ldz, float* v, const MKL_INT64* ldv,
             float* u, const MKL_INT64* ldu, const MKL_INT64* nv, float* wv,
             const MKL_INT64* ldwv, const MKL_INT64* nh, float* wh,
             const MKL_INT64* ldwh ) NOTHROW;

void SLAQSB_64( const char* uplo, const MKL_INT64* n, const MKL_INT64* kd, float* ab,
             const MKL_INT64* ldab, const float* s, const float* scond,
             const float* amax, char* equed ) NOTHROW;
void slaqsb_64( const char* uplo, const MKL_INT64* n, const MKL_INT64* kd, float* ab,
             const MKL_INT64* ldab, const float* s, const float* scond,
             const float* amax, char* equed ) NOTHROW;

void SLAQSP_64( const char* uplo, const MKL_INT64* n, float* ap, const float* s,
             const float* scond, const float* amax, char* equed ) NOTHROW;
void slaqsp_64( const char* uplo, const MKL_INT64* n, float* ap, const float* s,
             const float* scond, const float* amax, char* equed ) NOTHROW;

void SLAQSY_64( const char* uplo, const MKL_INT64* n, float* a, const MKL_INT64* lda,
             const float* s, const float* scond, const float* amax,
             char* equed ) NOTHROW;
void slaqsy_64( const char* uplo, const MKL_INT64* n, float* a, const MKL_INT64* lda,
             const float* s, const float* scond, const float* amax,
             char* equed ) NOTHROW;

void SLAQTR_64( const MKL_INT64* ltran, const MKL_INT64* lreal, const MKL_INT64* n,
             const float* t, const MKL_INT64* ldt, const float* b,
             const float* w, float* scale, float* x, float* work,
             MKL_INT64* info ) NOTHROW;
void slaqtr_64( const MKL_INT64* ltran, const MKL_INT64* lreal, const MKL_INT64* n,
             const float* t, const MKL_INT64* ldt, const float* b,
             const float* w, float* scale, float* x, float* work,
             MKL_INT64* info ) NOTHROW;

void SLAQZ0_64( const MKL_INT64* wants, const MKL_INT64* wantq, const MKL_INT64* wantz, const MKL_INT64* n,
             const MKL_INT64* ilo, const MKL_INT64* ihi, float* a, const MKL_INT64* lda,
             float* b, const MKL_INT64* ldb, float* alphar, float* alphai, float* beta,
             float* q, const MKL_INT64* ldq, float* z, const MKL_INT64* ldz,
             float* work, const MKL_INT64* lwork, const MKL_INT64* rec, MKL_INT64* info) NOTHROW;
void slaqz0_64( const MKL_INT64* wants, const MKL_INT64* wantq, const MKL_INT64* wantz, const MKL_INT64* n,
             const MKL_INT64* ilo, const MKL_INT64* ihi, float* a, const MKL_INT64* lda,
             float* b, const MKL_INT64* ldb, float* alphar, float* alphai, float* beta,
             float* q, const MKL_INT64* ldq, float* z, const MKL_INT64* ldz,
             float* work, const MKL_INT64* lwork, const MKL_INT64* rec, MKL_INT64* info) NOTHROW;

void SLAQZ1_64( float* a, const MKL_INT64* lda, float* b, const MKL_INT64* ldb,
             const float* sr1, const float* sr2, const float* si, const float* beta1,
             const float* beta2, float* v) NOTHROW;
void slaqz1_64( float* a, const MKL_INT64* lda, float* b, const MKL_INT64* ldb,
             const float* sr1, const float* sr2, const float* si, const float* beta1,
             const float* beta2, float* v) NOTHROW;

void SLAQZ2_64( const MKL_INT64* ilq, const MKL_INT64* ilz, const MKL_INT64* k, const MKL_INT64* istartm,
             const MKL_INT64* istopm, const MKL_INT64* ihi, float* a, const MKL_INT64* lda,
             float* b, const MKL_INT64* ldb, const MKL_INT64* nq, const MKL_INT64* qstart,
             float* q, const MKL_INT64* ldq, const MKL_INT64* nz,  const MKL_INT64* zstart,
             float* z, const MKL_INT64* ldz) NOTHROW;
void slaqz2_64( const MKL_INT64* ilq, const MKL_INT64* ilz, const MKL_INT64* k, const MKL_INT64* istartm,
             const MKL_INT64* istopm, const MKL_INT64* ihi, float* a, const MKL_INT64* lda,
             float* b, const MKL_INT64* ldb, const MKL_INT64* nq, const MKL_INT64* qstart,
             float* q, const MKL_INT64* ldq, const MKL_INT64* nz,  const MKL_INT64* zstart,
             float* z, const MKL_INT64* ldz) NOTHROW;

void SLAQZ3_64( const MKL_INT64* ilschur, const MKL_INT64* ilq, const MKL_INT64* ilz,
             const MKL_INT64* n, const MKL_INT64* ilo, const MKL_INT64* ihi, const MKL_INT64* nw,
             float* a, const MKL_INT64* lda, float* b, const MKL_INT64* ldb,
             float* q, const MKL_INT64* ldq, float* z, const MKL_INT64* ldz,
             MKL_INT64* ns, MKL_INT64* nd, float* alphar, float* alphai, float* beta,
             float* qc, const MKL_INT64* ldqc, float* zc, const MKL_INT64* ldzc,
             float* work, const MKL_INT64* lwork, const MKL_INT64* rec,
             MKL_INT64* info) NOTHROW;
void slaqz3_64( const MKL_INT64* ilschur, const MKL_INT64* ilq, const MKL_INT64* ilz,
             const MKL_INT64* n, const MKL_INT64* ilo, const MKL_INT64* ihi, const MKL_INT64* nw,
             float* a, const MKL_INT64* lda, float* b, const MKL_INT64* ldb,
             float* q, const MKL_INT64* ldq, float* z, const MKL_INT64* ldz,
             MKL_INT64* ns, MKL_INT64* nd, float* alphar, float* alphai, float* beta,
             float* qc, const MKL_INT64* ldqc, float* zc, const MKL_INT64* ldzc,
             float* work, const MKL_INT64* lwork, const MKL_INT64* rec,
             MKL_INT64* info) NOTHROW;

void SLAQZ4_64( const MKL_INT64* ilschur, const MKL_INT64* ilq, const MKL_INT64* ilz,
             const MKL_INT64* n, const MKL_INT64* ilo, const MKL_INT64* ihi,
             const MKL_INT64* nshifts, const MKL_INT64* nb, float* alphar,
             float* alphai, float* beta,  float* a, const MKL_INT64* lda,
             float* b, const MKL_INT64* ldb, float* q, const MKL_INT64* ldq,
             float* z, const MKL_INT64* ldz, float* qc, const MKL_INT64* ldqc,
             float* zc, const MKL_INT64* ldzc, float* work, const MKL_INT64* lwork,
             MKL_INT64* info) NOTHROW;
void slaqz4_64( const MKL_INT64* ilschur, const MKL_INT64* ilq, const MKL_INT64* ilz,
             const MKL_INT64* n, const MKL_INT64* ilo, const MKL_INT64* ihi,
             const MKL_INT64* nshifts, const MKL_INT64* nb, float* alphar,
             float* alphai, float* beta,  float* a, const MKL_INT64* lda,
             float* b, const MKL_INT64* ldb, float* q, const MKL_INT64* ldq,
             float* z, const MKL_INT64* ldz, float* qc, const MKL_INT64* ldqc,
             float* zc, const MKL_INT64* ldzc, float* work, const MKL_INT64* lwork,
             MKL_INT64* info) NOTHROW;

void SLAR1V_64( const MKL_INT64* n, const MKL_INT64* b1, const MKL_INT64* bn,
             const float* lambda, const float* d, const float* l,
             const float* ld, const float* lld, const float* pivmin,
             const float* gaptol, float* z, const MKL_INT64* wantnc,
             MKL_INT64* negcnt, float* ztz, float* mingma, MKL_INT64* r,
             MKL_INT64* isuppz, float* nrminv, float* resid, float* rqcorr,
             float* work ) NOTHROW;
void slar1v_64( const MKL_INT64* n, const MKL_INT64* b1, const MKL_INT64* bn,
             const float* lambda, const float* d, const float* l,
             const float* ld, const float* lld, const float* pivmin,
             const float* gaptol, float* z, const MKL_INT64* wantnc,
             MKL_INT64* negcnt, float* ztz, float* mingma, MKL_INT64* r,
             MKL_INT64* isuppz, float* nrminv, float* resid, float* rqcorr,
             float* work ) NOTHROW;

void SLAR2V_64( const MKL_INT64* n, float* x, float* y, float* z,
             const MKL_INT64* incx, const float* c, const float* s,
             const MKL_INT64* incc ) NOTHROW;
void slar2v_64( const MKL_INT64* n, float* x, float* y, float* z,
             const MKL_INT64* incx, const float* c, const float* s,
             const MKL_INT64* incc ) NOTHROW;

void SLARFB_64( const char* side, const char* trans, const char* direct,
             const char* storev, const MKL_INT64* m, const MKL_INT64* n,
             const MKL_INT64* k, const float* v, const MKL_INT64* ldv,
             const float* t, const MKL_INT64* ldt, float* c, const MKL_INT64* ldc,
             float* work, const MKL_INT64* ldwork ) NOTHROW;
void slarfb_64( const char* side, const char* trans, const char* direct,
             const char* storev, const MKL_INT64* m, const MKL_INT64* n,
             const MKL_INT64* k, const float* v, const MKL_INT64* ldv,
             const float* t, const MKL_INT64* ldt, float* c, const MKL_INT64* ldc,
             float* work, const MKL_INT64* ldwork ) NOTHROW;

void SLARF_64( const char* side, const MKL_INT64* m, const MKL_INT64* n,
            const float* v, const MKL_INT64* incv, const float* tau, float* c,
            const MKL_INT64* ldc, float* work ) NOTHROW;
void slarf_64( const char* side, const MKL_INT64* m, const MKL_INT64* n,
            const float* v, const MKL_INT64* incv, const float* tau, float* c,
            const MKL_INT64* ldc, float* work ) NOTHROW;

void SLARFG_64( const MKL_INT64* n, float* alpha, float* x, const MKL_INT64* incx,
             float* tau ) NOTHROW;
void slarfg_64( const MKL_INT64* n, float* alpha, float* x, const MKL_INT64* incx,
             float* tau ) NOTHROW;

void SLARFGP_64( const MKL_INT64* n, float* alpha, float* x, const MKL_INT64* incx,
              float* tau ) NOTHROW;
void slarfgp_64( const MKL_INT64* n, float* alpha, float* x, const MKL_INT64* incx,
              float* tau ) NOTHROW;

void SLARFP_64( const MKL_INT64* n, float* alpha, float* x, const MKL_INT64* incx,
             float* tau ) NOTHROW;
void slarfp_64( const MKL_INT64* n, float* alpha, float* x, const MKL_INT64* incx,
             float* tau ) NOTHROW;

void SLARFT_64( const char* direct, const char* storev, const MKL_INT64* n,
             const MKL_INT64* k, const float* v, const MKL_INT64* ldv, const float* tau,
             float* t, const MKL_INT64* ldt ) NOTHROW;
void slarft_64( const char* direct, const char* storev, const MKL_INT64* n,
             const MKL_INT64* k, const float* v, const MKL_INT64* ldv, const float* tau,
             float* t, const MKL_INT64* ldt ) NOTHROW;

void SLARFX_64( const char* side, const MKL_INT64* m, const MKL_INT64* n,
             const float* v, const float* tau, float* c, const MKL_INT64* ldc,
             float* work ) NOTHROW;
void slarfx_64( const char* side, const MKL_INT64* m, const MKL_INT64* n,
             const float* v, const float* tau, float* c, const MKL_INT64* ldc,
             float* work ) NOTHROW;

void SLARGV_64( const MKL_INT64* n, float* x, const MKL_INT64* incx, float* y,
             const MKL_INT64* incy, float* c, const MKL_INT64* incc ) NOTHROW;
void slargv_64( const MKL_INT64* n, float* x, const MKL_INT64* incx, float* y,
             const MKL_INT64* incy, float* c, const MKL_INT64* incc ) NOTHROW;

void SLARNV_64( const MKL_INT64* idist, MKL_INT64* iseed, const MKL_INT64* n,
             float* x ) NOTHROW;
void slarnv_64( const MKL_INT64* idist, MKL_INT64* iseed, const MKL_INT64* n,
             float* x ) NOTHROW;

void SLARRA_64( const MKL_INT64* n, const float* d, float* e, float* e2,
             const float* spltol, const float* tnrm, MKL_INT64* nsplit,
             MKL_INT64* isplit, MKL_INT64* info ) NOTHROW;
void slarra_64( const MKL_INT64* n, const float* d, float* e, float* e2,
             const float* spltol, const float* tnrm, MKL_INT64* nsplit,
             MKL_INT64* isplit, MKL_INT64* info ) NOTHROW;

void SLARRB_64( const MKL_INT64* n, const float* d, const float* lld,
             const MKL_INT64* ifirst, const MKL_INT64* ilast, const float* rtol1,
             const float* rtol2, const MKL_INT64* offset, float* w, float* wgap,
             float* werr, float* work, MKL_INT64* iwork, const float* pivmin,
             const float* spdiam, const MKL_INT64* twist, MKL_INT64* info ) NOTHROW;
void slarrb_64( const MKL_INT64* n, const float* d, const float* lld,
             const MKL_INT64* ifirst, const MKL_INT64* ilast, const float* rtol1,
             const float* rtol2, const MKL_INT64* offset, float* w, float* wgap,
             float* werr, float* work, MKL_INT64* iwork, const float* pivmin,
             const float* spdiam, const MKL_INT64* twist, MKL_INT64* info ) NOTHROW;

void SLARRC_64( const char* jobt, const MKL_INT64* n, const float* vl,
             const float* vu, const float* d, const float* e,
             const float* pivmin, MKL_INT64* eigcnt, MKL_INT64* lcnt,
             MKL_INT64* rcnt, MKL_INT64* info ) NOTHROW;
void slarrc_64( const char* jobt, const MKL_INT64* n, const float* vl,
             const float* vu, const float* d, const float* e,
             const float* pivmin, MKL_INT64* eigcnt, MKL_INT64* lcnt,
             MKL_INT64* rcnt, MKL_INT64* info ) NOTHROW;

void SLARRD_64( const char* range, const char* order, const MKL_INT64* n,
             const float* vl, const float* vu, const MKL_INT64* il,
             const MKL_INT64* iu, const float* gers, const float* reltol,
             const float* d, const float* e, const float* e2,
             const float* pivmin, const MKL_INT64* nsplit, const MKL_INT64* isplit,
             MKL_INT64* m, float* w, float* werr, float* wl, float* wu,
             MKL_INT64* iblock, MKL_INT64* indexw, float* work, MKL_INT64* iwork,
             MKL_INT64* info ) NOTHROW;
void slarrd_64( const char* range, const char* order, const MKL_INT64* n,
             const float* vl, const float* vu, const MKL_INT64* il,
             const MKL_INT64* iu, const float* gers, const float* reltol,
             const float* d, const float* e, const float* e2,
             const float* pivmin, const MKL_INT64* nsplit, const MKL_INT64* isplit,
             MKL_INT64* m, float* w, float* werr, float* wl, float* wu,
             MKL_INT64* iblock, MKL_INT64* indexw, float* work, MKL_INT64* iwork,
             MKL_INT64* info ) NOTHROW;

void SLARRE_64( const char* range, const MKL_INT64* n, float* vl, float* vu,
             const MKL_INT64* il, const MKL_INT64* iu, float* d, float* e,
             float* e2, const float* rtol1, const float* rtol2,
             const float* spltol, MKL_INT64* nsplit, MKL_INT64* isplit, MKL_INT64* m,
             float* w, float* werr, float* wgap, MKL_INT64* iblock,
             MKL_INT64* indexw, float* gers, float* pivmin, float* work,
             MKL_INT64* iwork, MKL_INT64* info ) NOTHROW;
void slarre_64( const char* range, const MKL_INT64* n, float* vl, float* vu,
             const MKL_INT64* il, const MKL_INT64* iu, float* d, float* e,
             float* e2, const float* rtol1, const float* rtol2,
             const float* spltol, MKL_INT64* nsplit, MKL_INT64* isplit, MKL_INT64* m,
             float* w, float* werr, float* wgap, MKL_INT64* iblock,
             MKL_INT64* indexw, float* gers, float* pivmin, float* work,
             MKL_INT64* iwork, MKL_INT64* info ) NOTHROW;

void SLARRF_64( const MKL_INT64* n, const float* d, const float* l, const float* ld,
             const MKL_INT64* clstrt, const MKL_INT64* clend, const float* w,
             float* wgap, const float* werr, const float* spdiam,
             const float* clgapl, float* clgapr, const float* pivmin,
             float* sigma, float* dplus, float* lplus, float* work,
             MKL_INT64* info ) NOTHROW;
void slarrf_64( const MKL_INT64* n, const float* d, const float* l, const float* ld,
             const MKL_INT64* clstrt, const MKL_INT64* clend, const float* w,
             float* wgap, const float* werr, const float* spdiam,
             const float* clgapl, float* clgapr, const float* pivmin,
             float* sigma, float* dplus, float* lplus, float* work,
             MKL_INT64* info ) NOTHROW;

void SLARRJ_64( const MKL_INT64* n, const float* d, const float* e2,
             const MKL_INT64* ifirst, const MKL_INT64* ilast, const float* rtol,
             const MKL_INT64* offset, float* w, float* werr, float* work,
             MKL_INT64* iwork, const float* pivmin, const float* spdiam,
             MKL_INT64* info ) NOTHROW;
void slarrj_64( const MKL_INT64* n, const float* d, const float* e2,
             const MKL_INT64* ifirst, const MKL_INT64* ilast, const float* rtol,
             const MKL_INT64* offset, float* w, float* werr, float* work,
             MKL_INT64* iwork, const float* pivmin, const float* spdiam,
             MKL_INT64* info ) NOTHROW;

void SLARRK_64( const MKL_INT64* n, const MKL_INT64* iw, const float* gl,
             const float* gu, const float* d, const float* e2,
             const float* pivmin, const float* reltol, float* w, float* werr,
             MKL_INT64* info ) NOTHROW;
void slarrk_64( const MKL_INT64* n, const MKL_INT64* iw, const float* gl,
             const float* gu, const float* d, const float* e2,
             const float* pivmin, const float* reltol, float* w, float* werr,
             MKL_INT64* info ) NOTHROW;

void SLARRR_64( const MKL_INT64* n, const float* d, float* e, MKL_INT64* info ) NOTHROW;
void slarrr_64( const MKL_INT64* n, const float* d, float* e, MKL_INT64* info ) NOTHROW;

void SLARRV_64( const MKL_INT64* n, const float* vl, const float* vu, float* d,
             float* l, float* pivmin, const MKL_INT64* isplit, const MKL_INT64* m,
             const MKL_INT64* dol, const MKL_INT64* dou, const float* minrgp,
             const float* rtol1, const float* rtol2, float* w, float* werr,
             float* wgap, const MKL_INT64* iblock, const MKL_INT64* indexw,
             const float* gers, float* z, const MKL_INT64* ldz, MKL_INT64* isuppz,
             float* work, MKL_INT64* iwork, MKL_INT64* info ) NOTHROW;
void slarrv_64( const MKL_INT64* n, const float* vl, const float* vu, float* d,
             float* l, float* pivmin, const MKL_INT64* isplit, const MKL_INT64* m,
             const MKL_INT64* dol, const MKL_INT64* dou, const float* minrgp,
             const float* rtol1, const float* rtol2, float* w, float* werr,
             float* wgap, const MKL_INT64* iblock, const MKL_INT64* indexw,
             const float* gers, float* z, const MKL_INT64* ldz, MKL_INT64* isuppz,
             float* work, MKL_INT64* iwork, MKL_INT64* info ) NOTHROW;

void SLARSCL2_64( const MKL_INT64* m, const MKL_INT64* n, const float* d, float* x,
               const MKL_INT64* ldx ) NOTHROW;
void slarscl2_64( const MKL_INT64* m, const MKL_INT64* n, const float* d, float* x,
               const MKL_INT64* ldx ) NOTHROW;

void SLARTV_64( const MKL_INT64* n, float* x, const MKL_INT64* incx, float* y,
             const MKL_INT64* incy, const float* c, const float* s,
             const MKL_INT64* incc ) NOTHROW;
void slartv_64( const MKL_INT64* n, float* x, const MKL_INT64* incx, float* y,
             const MKL_INT64* incy, const float* c, const float* s,
             const MKL_INT64* incc ) NOTHROW;

void SLARUV_64( MKL_INT64* iseed, const MKL_INT64* n, float* x ) NOTHROW;
void slaruv_64( MKL_INT64* iseed, const MKL_INT64* n, float* x ) NOTHROW;

void SLARZB_64( const char* side, const char* trans, const char* direct,
             const char* storev, const MKL_INT64* m, const MKL_INT64* n,
             const MKL_INT64* k, const MKL_INT64* l, const float* v,
             const MKL_INT64* ldv, const float* t, const MKL_INT64* ldt, float* c,
             const MKL_INT64* ldc, float* work, const MKL_INT64* ldwork ) NOTHROW;
void slarzb_64( const char* side, const char* trans, const char* direct,
             const char* storev, const MKL_INT64* m, const MKL_INT64* n,
             const MKL_INT64* k, const MKL_INT64* l, const float* v,
             const MKL_INT64* ldv, const float* t, const MKL_INT64* ldt, float* c,
             const MKL_INT64* ldc, float* work, const MKL_INT64* ldwork ) NOTHROW;

void SLARZ_64( const char* side, const MKL_INT64* m, const MKL_INT64* n,
            const MKL_INT64* l, const float* v, const MKL_INT64* incv,
            const float* tau, float* c, const MKL_INT64* ldc, float* work ) NOTHROW;
void slarz_64( const char* side, const MKL_INT64* m, const MKL_INT64* n,
            const MKL_INT64* l, const float* v, const MKL_INT64* incv,
            const float* tau, float* c, const MKL_INT64* ldc, float* work ) NOTHROW;

void SLARZT_64( const char* direct, const char* storev, const MKL_INT64* n,
             const MKL_INT64* k, float* v, const MKL_INT64* ldv, const float* tau,
             float* t, const MKL_INT64* ldt ) NOTHROW;
void slarzt_64( const char* direct, const char* storev, const MKL_INT64* n,
             const MKL_INT64* k, float* v, const MKL_INT64* ldv, const float* tau,
             float* t, const MKL_INT64* ldt ) NOTHROW;

void SLASCL_64( const char* type, const MKL_INT64* kl, const MKL_INT64* ku,
             const float* cfrom, const float* cto, const MKL_INT64* m,
             const MKL_INT64* n, float* a, const MKL_INT64* lda, MKL_INT64* info ) NOTHROW;
void slascl_64( const char* type, const MKL_INT64* kl, const MKL_INT64* ku,
             const float* cfrom, const float* cto, const MKL_INT64* m,
             const MKL_INT64* n, float* a, const MKL_INT64* lda, MKL_INT64* info ) NOTHROW;

void SLASCL2_64( const MKL_INT64* m, const MKL_INT64* n, const float* d, float* x,
              const MKL_INT64* ldx ) NOTHROW;
void slascl2_64( const MKL_INT64* m, const MKL_INT64* n, const float* d, float* x,
              const MKL_INT64* ldx ) NOTHROW;

void SLASD0_64( const MKL_INT64* n, const MKL_INT64* sqre, float* d, const float* e,
             float* u, const MKL_INT64* ldu, float* vt, const MKL_INT64* ldvt,
             const MKL_INT64* smlsiz, MKL_INT64* iwork, float* work,
             MKL_INT64* info ) NOTHROW;
void slasd0_64( const MKL_INT64* n, const MKL_INT64* sqre, float* d, const float* e,
             float* u, const MKL_INT64* ldu, float* vt, const MKL_INT64* ldvt,
             const MKL_INT64* smlsiz, MKL_INT64* iwork, float* work,
             MKL_INT64* info ) NOTHROW;

void SLASD1_64( const MKL_INT64* nl, const MKL_INT64* nr, const MKL_INT64* sqre,
             float* d, float* alpha, float* beta, float* u, const MKL_INT64* ldu,
             float* vt, const MKL_INT64* ldvt, MKL_INT64* idxq, MKL_INT64* iwork,
             float* work, MKL_INT64* info ) NOTHROW;
void slasd1_64( const MKL_INT64* nl, const MKL_INT64* nr, const MKL_INT64* sqre,
             float* d, float* alpha, float* beta, float* u, const MKL_INT64* ldu,
             float* vt, const MKL_INT64* ldvt, MKL_INT64* idxq, MKL_INT64* iwork,
             float* work, MKL_INT64* info ) NOTHROW;

void SLASD2_64( const MKL_INT64* nl, const MKL_INT64* nr, const MKL_INT64* sqre,
             MKL_INT64* k, float* d, float* z, const float* alpha,
             const float* beta, float* u, const MKL_INT64* ldu, float* vt,
             const MKL_INT64* ldvt, float* dsigma, float* u2,
             const MKL_INT64* ldu2, float* vt2, const MKL_INT64* ldvt2,
             MKL_INT64* idxp, MKL_INT64* idx, MKL_INT64* idxc, MKL_INT64* idxq,
             MKL_INT64* coltyp, MKL_INT64* info ) NOTHROW;
void slasd2_64( const MKL_INT64* nl, const MKL_INT64* nr, const MKL_INT64* sqre,
             MKL_INT64* k, float* d, float* z, const float* alpha,
             const float* beta, float* u, const MKL_INT64* ldu, float* vt,
             const MKL_INT64* ldvt, float* dsigma, float* u2,
             const MKL_INT64* ldu2, float* vt2, const MKL_INT64* ldvt2,
             MKL_INT64* idxp, MKL_INT64* idx, MKL_INT64* idxc, MKL_INT64* idxq,
             MKL_INT64* coltyp, MKL_INT64* info ) NOTHROW;

void SLASD3_64( const MKL_INT64* nl, const MKL_INT64* nr, const MKL_INT64* sqre,
             const MKL_INT64* k, float* d, float* q, const MKL_INT64* ldq,
             float* dsigma, float* u, const MKL_INT64* ldu, const float* u2,
             const MKL_INT64* ldu2, float* vt, const MKL_INT64* ldvt, float* vt2,
             const MKL_INT64* ldvt2, const MKL_INT64* idxc, const MKL_INT64* ctot,
             float* z, MKL_INT64* info ) NOTHROW;
void slasd3_64( const MKL_INT64* nl, const MKL_INT64* nr, const MKL_INT64* sqre,
             const MKL_INT64* k, float* d, float* q, const MKL_INT64* ldq,
             float* dsigma, float* u, const MKL_INT64* ldu, const float* u2,
             const MKL_INT64* ldu2, float* vt, const MKL_INT64* ldvt, float* vt2,
             const MKL_INT64* ldvt2, const MKL_INT64* idxc, const MKL_INT64* ctot,
             float* z, MKL_INT64* info ) NOTHROW;

void SLASD4_64( const MKL_INT64* n, const MKL_INT64* i, const float* d,
             const float* z, float* delta, const float* rho, float* sigma,
             float* work, MKL_INT64* info ) NOTHROW;
void slasd4_64( const MKL_INT64* n, const MKL_INT64* i, const float* d,
             const float* z, float* delta, const float* rho, float* sigma,
             float* work, MKL_INT64* info ) NOTHROW;

void SLASD5_64( const MKL_INT64* i, const float* d, const float* z, float* delta,
             const float* rho, float* dsigma, float* work ) NOTHROW;
void slasd5_64( const MKL_INT64* i, const float* d, const float* z, float* delta,
             const float* rho, float* dsigma, float* work ) NOTHROW;

void SLASD6_64( const MKL_INT64* icompq, const MKL_INT64* nl, const MKL_INT64* nr,
             const MKL_INT64* sqre, float* d, float* vf, float* vl, float* alpha,
             float* beta, MKL_INT64* idxq, MKL_INT64* perm, MKL_INT64* givptr,
             MKL_INT64* givcol, const MKL_INT64* ldgcol, float* givnum,
             const MKL_INT64* ldgnum, float* poles, float* difl, float* difr,
             float* z, MKL_INT64* k, float* c, float* s, float* work,
             MKL_INT64* iwork, MKL_INT64* info ) NOTHROW;
void slasd6_64( const MKL_INT64* icompq, const MKL_INT64* nl, const MKL_INT64* nr,
             const MKL_INT64* sqre, float* d, float* vf, float* vl, float* alpha,
             float* beta, MKL_INT64* idxq, MKL_INT64* perm, MKL_INT64* givptr,
             MKL_INT64* givcol, const MKL_INT64* ldgcol, float* givnum,
             const MKL_INT64* ldgnum, float* poles, float* difl, float* difr,
             float* z, MKL_INT64* k, float* c, float* s, float* work,
             MKL_INT64* iwork, MKL_INT64* info ) NOTHROW;

void SLASD7_64( const MKL_INT64* icompq, const MKL_INT64* nl, const MKL_INT64* nr,
             const MKL_INT64* sqre, MKL_INT64* k, float* d, float* z, float* zw,
             float* vf, float* vfw, float* vl, float* vlw, const float* alpha,
             const float* beta, float* dsigma, MKL_INT64* idx, MKL_INT64* idxp,
             const MKL_INT64* idxq, MKL_INT64* perm, MKL_INT64* givptr,
             MKL_INT64* givcol, const MKL_INT64* ldgcol, float* givnum,
             const MKL_INT64* ldgnum, float* c, float* s, MKL_INT64* info ) NOTHROW;
void slasd7_64( const MKL_INT64* icompq, const MKL_INT64* nl, const MKL_INT64* nr,
             const MKL_INT64* sqre, MKL_INT64* k, float* d, float* z, float* zw,
             float* vf, float* vfw, float* vl, float* vlw, const float* alpha,
             const float* beta, float* dsigma, MKL_INT64* idx, MKL_INT64* idxp,
             const MKL_INT64* idxq, MKL_INT64* perm, MKL_INT64* givptr,
             MKL_INT64* givcol, const MKL_INT64* ldgcol, float* givnum,
             const MKL_INT64* ldgnum, float* c, float* s, MKL_INT64* info ) NOTHROW;

void SLASD8_64( const MKL_INT64* icompq, const MKL_INT64* k, float* d, float* z,
             float* vf, float* vl, float* difl, float* difr,
             const MKL_INT64* lddifr, float* dsigma, float* work,
             MKL_INT64* info ) NOTHROW;
void slasd8_64( const MKL_INT64* icompq, const MKL_INT64* k, float* d, float* z,
             float* vf, float* vl, float* difl, float* difr,
             const MKL_INT64* lddifr, float* dsigma, float* work,
             MKL_INT64* info ) NOTHROW;

void SLASDA_64( const MKL_INT64* icompq, const MKL_INT64* smlsiz, const MKL_INT64* n,
             const MKL_INT64* sqre, float* d, const float* e, float* u,
             const MKL_INT64* ldu, float* vt, MKL_INT64* k, float* difl,
             float* difr, float* z, float* poles, MKL_INT64* givptr,
             MKL_INT64* givcol, const MKL_INT64* ldgcol, MKL_INT64* perm,
             float* givnum, float* c, float* s, float* work, MKL_INT64* iwork,
             MKL_INT64* info ) NOTHROW;
void slasda_64( const MKL_INT64* icompq, const MKL_INT64* smlsiz, const MKL_INT64* n,
             const MKL_INT64* sqre, float* d, const float* e, float* u,
             const MKL_INT64* ldu, float* vt, MKL_INT64* k, float* difl,
             float* difr, float* z, float* poles, MKL_INT64* givptr,
             MKL_INT64* givcol, const MKL_INT64* ldgcol, MKL_INT64* perm,
             float* givnum, float* c, float* s, float* work, MKL_INT64* iwork,
             MKL_INT64* info ) NOTHROW;

void SLASDQ_64( const char* uplo, const MKL_INT64* sqre, const MKL_INT64* n,
             const MKL_INT64* ncvt, const MKL_INT64* nru, const MKL_INT64* ncc,
             float* d, float* e, float* vt, const MKL_INT64* ldvt, float* u,
             const MKL_INT64* ldu, float* c, const MKL_INT64* ldc, float* work,
             MKL_INT64* info ) NOTHROW;
void slasdq_64( const char* uplo, const MKL_INT64* sqre, const MKL_INT64* n,
             const MKL_INT64* ncvt, const MKL_INT64* nru, const MKL_INT64* ncc,
             float* d, float* e, float* vt, const MKL_INT64* ldvt, float* u,
             const MKL_INT64* ldu, float* c, const MKL_INT64* ldc, float* work,
             MKL_INT64* info ) NOTHROW;

void SLASDT_64( const MKL_INT64* n, MKL_INT64* lvl, MKL_INT64* nd, MKL_INT64* inode,
             MKL_INT64* ndiml, MKL_INT64* ndimr, const MKL_INT64* msub ) NOTHROW;
void slasdt_64( const MKL_INT64* n, MKL_INT64* lvl, MKL_INT64* nd, MKL_INT64* inode,
             MKL_INT64* ndiml, MKL_INT64* ndimr, const MKL_INT64* msub ) NOTHROW;

void SLASET_64( const char* uplo, const MKL_INT64* m, const MKL_INT64* n,
             const float* alpha, const float* beta, float* a,
             const MKL_INT64* lda ) NOTHROW;
void slaset_64( const char* uplo, const MKL_INT64* m, const MKL_INT64* n,
             const float* alpha, const float* beta, float* a,
             const MKL_INT64* lda ) NOTHROW;

void SLASQ1_64( const MKL_INT64* n, float* d, float* e, float* work,
             MKL_INT64* info ) NOTHROW;
void slasq1_64( const MKL_INT64* n, float* d, float* e, float* work,
             MKL_INT64* info ) NOTHROW;

void SLASQ2_64( const MKL_INT64* n, float* z, MKL_INT64* info ) NOTHROW;
void slasq2_64( const MKL_INT64* n, float* z, MKL_INT64* info ) NOTHROW;

void SLASQ3_64( const MKL_INT64* i0, const MKL_INT64* n0, const float* z, MKL_INT64* pp,
             float* dmin, float* sigma, float* desig, const float* qmax,
             MKL_INT64* nfail, MKL_INT64* iter, MKL_INT64* ndiv, const MKL_INT64* ieee,
             MKL_INT64* ttype, float* dmin1, float* dmin2, float* dn, float* dn1,
             float* dn2, float* g, float* tau ) NOTHROW;
void slasq3_64( const MKL_INT64* i0, const MKL_INT64* n0, const float* z, MKL_INT64* pp,
             float* dmin, float* sigma, float* desig, const float* qmax,
             MKL_INT64* nfail, MKL_INT64* iter, MKL_INT64* ndiv, const MKL_INT64* ieee,
             MKL_INT64* ttype, float* dmin1, float* dmin2, float* dn, float* dn1,
             float* dn2, float* g, float* tau ) NOTHROW;

void SLASQ4_64( const MKL_INT64* i0, const MKL_INT64* n0, const float* z,
             const MKL_INT64* pp, MKL_INT64* n0in, const float* dmin,
             const float* dmin1, const float* dmin2, const float* dn,
             const float* dn1, const float* dn2, float* tau, MKL_INT64* ttype,
             float* g ) NOTHROW;
void slasq4_64( const MKL_INT64* i0, const MKL_INT64* n0, const float* z,
             const MKL_INT64* pp, MKL_INT64* n0in, const float* dmin,
             const float* dmin1, const float* dmin2, const float* dn,
             const float* dn1, const float* dn2, float* tau, MKL_INT64* ttype,
             float* g ) NOTHROW;

void SLASQ5_64( const MKL_INT64* i0, const MKL_INT64* n0, const float* z,
             const MKL_INT64* pp, const float* tau, const float* sigma,
             float* dmin, float* dmin1, float* dmin2, float* dn,
             float* dnm1, float* dnm2, const MKL_INT64* ieee,
             const float* eps ) NOTHROW;
void slasq5_64( const MKL_INT64* i0, const MKL_INT64* n0, const float* z,
             const MKL_INT64* pp, const float* tau, const float* sigma,
             float* dmin, float* dmin1, float* dmin2, float* dn,
             float* dnm1, float* dnm2, const MKL_INT64* ieee,
             const float* eps ) NOTHROW;

void SLASQ6_64( const MKL_INT64* i0, const MKL_INT64* n0, const float* z,
             const MKL_INT64* pp, float* dmin, float* dmin1, float* dmin2,
             float* dn, float* dnm1, float* dnm2 ) NOTHROW;
void slasq6_64( const MKL_INT64* i0, const MKL_INT64* n0, const float* z,
             const MKL_INT64* pp, float* dmin, float* dmin1, float* dmin2,
             float* dn, float* dnm1, float* dnm2 ) NOTHROW;

void SLASR_64( const char* side, const char* pivot, const char* direct,
            const MKL_INT64* m, const MKL_INT64* n, const float* c, const float* s,
            float* a, const MKL_INT64* lda ) NOTHROW;
void slasr_64( const char* side, const char* pivot, const char* direct,
            const MKL_INT64* m, const MKL_INT64* n, const float* c, const float* s,
            float* a, const MKL_INT64* lda ) NOTHROW;

void SLASRT_64( const char* id, const MKL_INT64* n, float* d, MKL_INT64* info ) NOTHROW;
void slasrt_64( const char* id, const MKL_INT64* n, float* d, MKL_INT64* info ) NOTHROW;

void SLASSQ_64( const MKL_INT64* n, const float* x, const MKL_INT64* incx,
             float* scale, float* sumsq ) NOTHROW;
void slassq_64( const MKL_INT64* n, const float* x, const MKL_INT64* incx,
             float* scale, float* sumsq ) NOTHROW;

void SLASWP_64( const MKL_INT64* n, float* a, const MKL_INT64* lda, const MKL_INT64* k1,
             const MKL_INT64* k2, const MKL_INT64* ipiv, const MKL_INT64* incx ) NOTHROW;
void slaswp_64( const MKL_INT64* n, float* a, const MKL_INT64* lda, const MKL_INT64* k1,
             const MKL_INT64* k2, const MKL_INT64* ipiv, const MKL_INT64* incx ) NOTHROW;

void SLASY2_64( const MKL_INT64* ltranl, const MKL_INT64* ltranr, const MKL_INT64* isgn,
             const MKL_INT64* n1, const MKL_INT64* n2, const float* tl,
             const MKL_INT64* ldtl, const float* tr, const MKL_INT64* ldtr,
             const float* b, const MKL_INT64* ldb, float* scale, float* x,
             const MKL_INT64* ldx, float* xnorm, MKL_INT64* info ) NOTHROW;
void slasy2_64( const MKL_INT64* ltranl, const MKL_INT64* ltranr, const MKL_INT64* isgn,
             const MKL_INT64* n1, const MKL_INT64* n2, const float* tl,
             const MKL_INT64* ldtl, const float* tr, const MKL_INT64* ldtr,
             const float* b, const MKL_INT64* ldb, float* scale, float* x,
             const MKL_INT64* ldx, float* xnorm, MKL_INT64* info ) NOTHROW;

void SLASYF_64( const char* uplo, const MKL_INT64* n, const MKL_INT64* nb,
             MKL_INT64* kb, float* a, const MKL_INT64* lda, MKL_INT64* ipiv,
             float* w, const MKL_INT64* ldw, MKL_INT64* info ) NOTHROW;
void slasyf_64( const char* uplo, const MKL_INT64* n, const MKL_INT64* nb,
             MKL_INT64* kb, float* a, const MKL_INT64* lda, MKL_INT64* ipiv,
             float* w, const MKL_INT64* ldw, MKL_INT64* info ) NOTHROW;

void SLATBS_64( const char* uplo, const char* trans, const char* diag,
             const char* normin, const MKL_INT64* n, const MKL_INT64* kd,
             const float* ab, const MKL_INT64* ldab, float* x, float* scale,
             float* cnorm, MKL_INT64* info ) NOTHROW;
void slatbs_64( const char* uplo, const char* trans, const char* diag,
             const char* normin, const MKL_INT64* n, const MKL_INT64* kd,
             const float* ab, const MKL_INT64* ldab, float* x, float* scale,
             float* cnorm, MKL_INT64* info ) NOTHROW;

void SLATDF_64( const MKL_INT64* ijob, const MKL_INT64* n, const float* z,
             const MKL_INT64* ldz, float* rhs, float* rdsum, float* rdscal,
             const MKL_INT64* ipiv, const MKL_INT64* jpiv ) NOTHROW;
void slatdf_64( const MKL_INT64* ijob, const MKL_INT64* n, const float* z,
             const MKL_INT64* ldz, float* rhs, float* rdsum, float* rdscal,
             const MKL_INT64* ipiv, const MKL_INT64* jpiv ) NOTHROW;

void SLATPS_64( const char* uplo, const char* trans, const char* diag,
             const char* normin, const MKL_INT64* n, const float* ap, float* x,
             float* scale, float* cnorm, MKL_INT64* info ) NOTHROW;
void slatps_64( const char* uplo, const char* trans, const char* diag,
             const char* normin, const MKL_INT64* n, const float* ap, float* x,
             float* scale, float* cnorm, MKL_INT64* info ) NOTHROW;

void SLATRD_64( const char* uplo, const MKL_INT64* n, const MKL_INT64* nb, float* a,
             const MKL_INT64* lda, float* e, float* tau, float* w,
             const MKL_INT64* ldw ) NOTHROW;
void slatrd_64( const char* uplo, const MKL_INT64* n, const MKL_INT64* nb, float* a,
             const MKL_INT64* lda, float* e, float* tau, float* w,
             const MKL_INT64* ldw ) NOTHROW;

void SLATRS_64( const char* uplo, const char* trans, const char* diag,
             const char* normin, const MKL_INT64* n, const float* a,
             const MKL_INT64* lda, float* x, float* scale, float* cnorm,
             MKL_INT64* info ) NOTHROW;
void slatrs_64( const char* uplo, const char* trans, const char* diag,
             const char* normin, const MKL_INT64* n, const float* a,
             const MKL_INT64* lda, float* x, float* scale, float* cnorm,
             MKL_INT64* info ) NOTHROW;

void SLATRZ_64( const MKL_INT64* m, const MKL_INT64* n, const MKL_INT64* l, float* a,
             const MKL_INT64* lda, float* tau, float* work ) NOTHROW;
void slatrz_64( const MKL_INT64* m, const MKL_INT64* n, const MKL_INT64* l, float* a,
             const MKL_INT64* lda, float* tau, float* work ) NOTHROW;

void SLATZM_64( const char* side, const MKL_INT64* m, const MKL_INT64* n,
             const float* v, const MKL_INT64* incv, const float* tau, float* c1,
             float* c2, const MKL_INT64* ldc, float* work ) NOTHROW;
void slatzm_64( const char* side, const MKL_INT64* m, const MKL_INT64* n,
             const float* v, const MKL_INT64* incv, const float* tau, float* c1,
             float* c2, const MKL_INT64* ldc, float* work ) NOTHROW;

void SLAUU2_64( const char* uplo, const MKL_INT64* n, float* a, const MKL_INT64* lda,
             MKL_INT64* info ) NOTHROW;
void slauu2_64( const char* uplo, const MKL_INT64* n, float* a, const MKL_INT64* lda,
             MKL_INT64* info ) NOTHROW;

void SLAUUM_64( const char* uplo, const MKL_INT64* n, float* a, const MKL_INT64* lda,
             MKL_INT64* info ) NOTHROW;
void slauum_64( const char* uplo, const MKL_INT64* n, float* a, const MKL_INT64* lda,
             MKL_INT64* info ) NOTHROW;

void SOPGTR_64( const char* uplo, const MKL_INT64* n, const float* ap,
             const float* tau, float* q, const MKL_INT64* ldq, float* work,
             MKL_INT64* info ) NOTHROW;
void sopgtr_64( const char* uplo, const MKL_INT64* n, const float* ap,
             const float* tau, float* q, const MKL_INT64* ldq, float* work,
             MKL_INT64* info ) NOTHROW;

void SOPMTR_64( const char* side, const char* uplo, const char* trans,
             const MKL_INT64* m, const MKL_INT64* n, const float* ap,
             const float* tau, float* c, const MKL_INT64* ldc, float* work,
             MKL_INT64* info ) NOTHROW;
void sopmtr_64( const char* side, const char* uplo, const char* trans,
             const MKL_INT64* m, const MKL_INT64* n, const float* ap,
             const float* tau, float* c, const MKL_INT64* ldc, float* work,
             MKL_INT64* info ) NOTHROW;

void SORG2L_64( const MKL_INT64* m, const MKL_INT64* n, const MKL_INT64* k, float* a,
             const MKL_INT64* lda, const float* tau, float* work,
             MKL_INT64* info ) NOTHROW;
void sorg2l_64( const MKL_INT64* m, const MKL_INT64* n, const MKL_INT64* k, float* a,
             const MKL_INT64* lda, const float* tau, float* work,
             MKL_INT64* info ) NOTHROW;

void SORG2R_64( const MKL_INT64* m, const MKL_INT64* n, const MKL_INT64* k, float* a,
             const MKL_INT64* lda, const float* tau, float* work,
             MKL_INT64* info ) NOTHROW;
void sorg2r_64( const MKL_INT64* m, const MKL_INT64* n, const MKL_INT64* k, float* a,
             const MKL_INT64* lda, const float* tau, float* work,
             MKL_INT64* info ) NOTHROW;

void SORGBR_64( const char* vect, const MKL_INT64* m, const MKL_INT64* n,
             const MKL_INT64* k, float* a, const MKL_INT64* lda, const float* tau,
             float* work, const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;
void sorgbr_64( const char* vect, const MKL_INT64* m, const MKL_INT64* n,
             const MKL_INT64* k, float* a, const MKL_INT64* lda, const float* tau,
             float* work, const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;

void SORGHR_64( const MKL_INT64* n, const MKL_INT64* ilo, const MKL_INT64* ihi,
             float* a, const MKL_INT64* lda, const float* tau, float* work,
             const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;
void sorghr_64( const MKL_INT64* n, const MKL_INT64* ilo, const MKL_INT64* ihi,
             float* a, const MKL_INT64* lda, const float* tau, float* work,
             const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;

void SORGL2_64( const MKL_INT64* m, const MKL_INT64* n, const MKL_INT64* k, float* a,
             const MKL_INT64* lda, const float* tau, float* work,
             MKL_INT64* info ) NOTHROW;
void sorgl2_64( const MKL_INT64* m, const MKL_INT64* n, const MKL_INT64* k, float* a,
             const MKL_INT64* lda, const float* tau, float* work,
             MKL_INT64* info ) NOTHROW;

void SORGLQ_64( const MKL_INT64* m, const MKL_INT64* n, const MKL_INT64* k, float* a,
             const MKL_INT64* lda, const float* tau, float* work,
             const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;
void sorglq_64( const MKL_INT64* m, const MKL_INT64* n, const MKL_INT64* k, float* a,
             const MKL_INT64* lda, const float* tau, float* work,
             const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;

void SORGQL_64( const MKL_INT64* m, const MKL_INT64* n, const MKL_INT64* k, float* a,
             const MKL_INT64* lda, const float* tau, float* work,
             const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;
void sorgql_64( const MKL_INT64* m, const MKL_INT64* n, const MKL_INT64* k, float* a,
             const MKL_INT64* lda, const float* tau, float* work,
             const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;

void SORGQR_64( const MKL_INT64* m, const MKL_INT64* n, const MKL_INT64* k, float* a,
             const MKL_INT64* lda, const float* tau, float* work,
             const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;
void sorgqr_64( const MKL_INT64* m, const MKL_INT64* n, const MKL_INT64* k, float* a,
             const MKL_INT64* lda, const float* tau, float* work,
             const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;

void SORGR2_64( const MKL_INT64* m, const MKL_INT64* n, const MKL_INT64* k, float* a,
             const MKL_INT64* lda, const float* tau, float* work,
             MKL_INT64* info ) NOTHROW;
void sorgr2_64( const MKL_INT64* m, const MKL_INT64* n, const MKL_INT64* k, float* a,
             const MKL_INT64* lda, const float* tau, float* work,
             MKL_INT64* info ) NOTHROW;

void SORGRQ_64( const MKL_INT64* m, const MKL_INT64* n, const MKL_INT64* k, float* a,
             const MKL_INT64* lda, const float* tau, float* work,
             const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;
void sorgrq_64( const MKL_INT64* m, const MKL_INT64* n, const MKL_INT64* k, float* a,
             const MKL_INT64* lda, const float* tau, float* work,
             const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;

void SORGTR_64( const char* uplo, const MKL_INT64* n, float* a, const MKL_INT64* lda,
             const float* tau, float* work, const MKL_INT64* lwork,
             MKL_INT64* info ) NOTHROW;
void sorgtr_64( const char* uplo, const MKL_INT64* n, float* a, const MKL_INT64* lda,
             const float* tau, float* work, const MKL_INT64* lwork,
             MKL_INT64* info ) NOTHROW;

void SORM2L_64( const char* side, const char* trans, const MKL_INT64* m,
             const MKL_INT64* n, const MKL_INT64* k, const float* a,
             const MKL_INT64* lda, const float* tau, float* c,
             const MKL_INT64* ldc, float* work, MKL_INT64* info ) NOTHROW;
void sorm2l_64( const char* side, const char* trans, const MKL_INT64* m,
             const MKL_INT64* n, const MKL_INT64* k, const float* a,
             const MKL_INT64* lda, const float* tau, float* c,
             const MKL_INT64* ldc, float* work, MKL_INT64* info ) NOTHROW;

void SORM2R_64( const char* side, const char* trans, const MKL_INT64* m,
             const MKL_INT64* n, const MKL_INT64* k, const float* a,
             const MKL_INT64* lda, const float* tau, float* c,
             const MKL_INT64* ldc, float* work, MKL_INT64* info ) NOTHROW;
void sorm2r_64( const char* side, const char* trans, const MKL_INT64* m,
             const MKL_INT64* n, const MKL_INT64* k, const float* a,
             const MKL_INT64* lda, const float* tau, float* c,
             const MKL_INT64* ldc, float* work, MKL_INT64* info ) NOTHROW;

void SORMBR_64( const char* vect, const char* side, const char* trans,
             const MKL_INT64* m, const MKL_INT64* n, const MKL_INT64* k,
             const float* a, const MKL_INT64* lda, const float* tau, float* c,
             const MKL_INT64* ldc, float* work, const MKL_INT64* lwork,
             MKL_INT64* info ) NOTHROW;
void sormbr_64( const char* vect, const char* side, const char* trans,
             const MKL_INT64* m, const MKL_INT64* n, const MKL_INT64* k,
             const float* a, const MKL_INT64* lda, const float* tau, float* c,
             const MKL_INT64* ldc, float* work, const MKL_INT64* lwork,
             MKL_INT64* info ) NOTHROW;

void SORMHR_64( const char* side, const char* trans, const MKL_INT64* m,
             const MKL_INT64* n, const MKL_INT64* ilo, const MKL_INT64* ihi,
             const float* a, const MKL_INT64* lda, const float* tau, float* c,
             const MKL_INT64* ldc, float* work, const MKL_INT64* lwork,
             MKL_INT64* info ) NOTHROW;
void sormhr_64( const char* side, const char* trans, const MKL_INT64* m,
             const MKL_INT64* n, const MKL_INT64* ilo, const MKL_INT64* ihi,
             const float* a, const MKL_INT64* lda, const float* tau, float* c,
             const MKL_INT64* ldc, float* work, const MKL_INT64* lwork,
             MKL_INT64* info ) NOTHROW;

void SORML2_64( const char* side, const char* trans, const MKL_INT64* m,
             const MKL_INT64* n, const MKL_INT64* k, const float* a,
             const MKL_INT64* lda, const float* tau, float* c,
             const MKL_INT64* ldc, float* work, MKL_INT64* info ) NOTHROW;
void sorml2_64( const char* side, const char* trans, const MKL_INT64* m,
             const MKL_INT64* n, const MKL_INT64* k, const float* a,
             const MKL_INT64* lda, const float* tau, float* c,
             const MKL_INT64* ldc, float* work, MKL_INT64* info ) NOTHROW;

void SORMLQ_64( const char* side, const char* trans, const MKL_INT64* m,
             const MKL_INT64* n, const MKL_INT64* k, const float* a,
             const MKL_INT64* lda, const float* tau, float* c,
             const MKL_INT64* ldc, float* work, const MKL_INT64* lwork,
             MKL_INT64* info ) NOTHROW;
void sormlq_64( const char* side, const char* trans, const MKL_INT64* m,
             const MKL_INT64* n, const MKL_INT64* k, const float* a,
             const MKL_INT64* lda, const float* tau, float* c,
             const MKL_INT64* ldc, float* work, const MKL_INT64* lwork,
             MKL_INT64* info ) NOTHROW;

void SORMQL_64( const char* side, const char* trans, const MKL_INT64* m,
             const MKL_INT64* n, const MKL_INT64* k, const float* a,
             const MKL_INT64* lda, const float* tau, float* c,
             const MKL_INT64* ldc, float* work, const MKL_INT64* lwork,
             MKL_INT64* info ) NOTHROW;
void sormql_64( const char* side, const char* trans, const MKL_INT64* m,
             const MKL_INT64* n, const MKL_INT64* k, const float* a,
             const MKL_INT64* lda, const float* tau, float* c,
             const MKL_INT64* ldc, float* work, const MKL_INT64* lwork,
             MKL_INT64* info ) NOTHROW;

void SORMQR_64( const char* side, const char* trans, const MKL_INT64* m,
             const MKL_INT64* n, const MKL_INT64* k, const float* a,
             const MKL_INT64* lda, const float* tau, float* c,
             const MKL_INT64* ldc, float* work, const MKL_INT64* lwork,
             MKL_INT64* info ) NOTHROW;
void sormqr_64( const char* side, const char* trans, const MKL_INT64* m,
             const MKL_INT64* n, const MKL_INT64* k, const float* a,
             const MKL_INT64* lda, const float* tau, float* c,
             const MKL_INT64* ldc, float* work, const MKL_INT64* lwork,
             MKL_INT64* info ) NOTHROW;

void SORMR2_64( const char* side, const char* trans, const MKL_INT64* m,
             const MKL_INT64* n, const MKL_INT64* k, const float* a,
             const MKL_INT64* lda, const float* tau, float* c,
             const MKL_INT64* ldc, float* work, MKL_INT64* info ) NOTHROW;
void sormr2_64( const char* side, const char* trans, const MKL_INT64* m,
             const MKL_INT64* n, const MKL_INT64* k, const float* a,
             const MKL_INT64* lda, const float* tau, float* c,
             const MKL_INT64* ldc, float* work, MKL_INT64* info ) NOTHROW;

void SORMR3_64( const char* side, const char* trans, const MKL_INT64* m,
             const MKL_INT64* n, const MKL_INT64* k, const MKL_INT64* l,
             const float* a, const MKL_INT64* lda, const float* tau, float* c,
             const MKL_INT64* ldc, float* work, MKL_INT64* info ) NOTHROW;
void sormr3_64( const char* side, const char* trans, const MKL_INT64* m,
             const MKL_INT64* n, const MKL_INT64* k, const MKL_INT64* l,
             const float* a, const MKL_INT64* lda, const float* tau, float* c,
             const MKL_INT64* ldc, float* work, MKL_INT64* info ) NOTHROW;

void SORMRQ_64( const char* side, const char* trans, const MKL_INT64* m,
             const MKL_INT64* n, const MKL_INT64* k, const float* a,
             const MKL_INT64* lda, const float* tau, float* c,
             const MKL_INT64* ldc, float* work, const MKL_INT64* lwork,
             MKL_INT64* info ) NOTHROW;
void sormrq_64( const char* side, const char* trans, const MKL_INT64* m,
             const MKL_INT64* n, const MKL_INT64* k, const float* a,
             const MKL_INT64* lda, const float* tau, float* c,
             const MKL_INT64* ldc, float* work, const MKL_INT64* lwork,
             MKL_INT64* info ) NOTHROW;

void SORMRZ_64( const char* side, const char* trans, const MKL_INT64* m,
             const MKL_INT64* n, const MKL_INT64* k, const MKL_INT64* l,
             const float* a, const MKL_INT64* lda, const float* tau, float* c,
             const MKL_INT64* ldc, float* work, const MKL_INT64* lwork,
             MKL_INT64* info ) NOTHROW;
void sormrz_64( const char* side, const char* trans, const MKL_INT64* m,
             const MKL_INT64* n, const MKL_INT64* k, const MKL_INT64* l,
             const float* a, const MKL_INT64* lda, const float* tau, float* c,
             const MKL_INT64* ldc, float* work, const MKL_INT64* lwork,
             MKL_INT64* info ) NOTHROW;

void SORMTR_64( const char* side, const char* uplo, const char* trans,
             const MKL_INT64* m, const MKL_INT64* n, const float* a,
             const MKL_INT64* lda, const float* tau, float* c,
             const MKL_INT64* ldc, float* work, const MKL_INT64* lwork,
             MKL_INT64* info ) NOTHROW;
void sormtr_64( const char* side, const char* uplo, const char* trans,
             const MKL_INT64* m, const MKL_INT64* n, const float* a,
             const MKL_INT64* lda, const float* tau, float* c,
             const MKL_INT64* ldc, float* work, const MKL_INT64* lwork,
             MKL_INT64* info ) NOTHROW;

void SPBCON_64( const char* uplo, const MKL_INT64* n, const MKL_INT64* kd,
             const float* ab, const MKL_INT64* ldab, const float* anorm,
             float* rcond, float* work, MKL_INT64* iwork, MKL_INT64* info ) NOTHROW;
void spbcon_64( const char* uplo, const MKL_INT64* n, const MKL_INT64* kd,
             const float* ab, const MKL_INT64* ldab, const float* anorm,
             float* rcond, float* work, MKL_INT64* iwork, MKL_INT64* info ) NOTHROW;

void SPBEQU_64( const char* uplo, const MKL_INT64* n, const MKL_INT64* kd,
             const float* ab, const MKL_INT64* ldab, float* s, float* scond,
             float* amax, MKL_INT64* info ) NOTHROW;
void spbequ_64( const char* uplo, const MKL_INT64* n, const MKL_INT64* kd,
             const float* ab, const MKL_INT64* ldab, float* s, float* scond,
             float* amax, MKL_INT64* info ) NOTHROW;

void SPBRFS_64( const char* uplo, const MKL_INT64* n, const MKL_INT64* kd,
             const MKL_INT64* nrhs, const float* ab, const MKL_INT64* ldab,
             const float* afb, const MKL_INT64* ldafb, const float* b,
             const MKL_INT64* ldb, float* x, const MKL_INT64* ldx, float* ferr,
             float* berr, float* work, MKL_INT64* iwork, MKL_INT64* info ) NOTHROW;
void spbrfs_64( const char* uplo, const MKL_INT64* n, const MKL_INT64* kd,
             const MKL_INT64* nrhs, const float* ab, const MKL_INT64* ldab,
             const float* afb, const MKL_INT64* ldafb, const float* b,
             const MKL_INT64* ldb, float* x, const MKL_INT64* ldx, float* ferr,
             float* berr, float* work, MKL_INT64* iwork, MKL_INT64* info ) NOTHROW;

void SPBSTF_64( const char* uplo, const MKL_INT64* n, const MKL_INT64* kd, float* ab,
             const MKL_INT64* ldab, MKL_INT64* info ) NOTHROW;
void spbstf_64( const char* uplo, const MKL_INT64* n, const MKL_INT64* kd, float* ab,
             const MKL_INT64* ldab, MKL_INT64* info ) NOTHROW;

void SPBSV_64( const char* uplo, const MKL_INT64* n, const MKL_INT64* kd,
            const MKL_INT64* nrhs, float* ab, const MKL_INT64* ldab, float* b,
            const MKL_INT64* ldb, MKL_INT64* info ) NOTHROW;
void spbsv_64( const char* uplo, const MKL_INT64* n, const MKL_INT64* kd,
            const MKL_INT64* nrhs, float* ab, const MKL_INT64* ldab, float* b,
            const MKL_INT64* ldb, MKL_INT64* info ) NOTHROW;

void SPBSVX_64( const char* fact, const char* uplo, const MKL_INT64* n,
             const MKL_INT64* kd, const MKL_INT64* nrhs, float* ab,
             const MKL_INT64* ldab, float* afb, const MKL_INT64* ldafb,
             char* equed, float* s, float* b, const MKL_INT64* ldb, float* x,
             const MKL_INT64* ldx, float* rcond, float* ferr, float* berr,
             float* work, MKL_INT64* iwork, MKL_INT64* info ) NOTHROW;
void spbsvx_64( const char* fact, const char* uplo, const MKL_INT64* n,
             const MKL_INT64* kd, const MKL_INT64* nrhs, float* ab,
             const MKL_INT64* ldab, float* afb, const MKL_INT64* ldafb,
             char* equed, float* s, float* b, const MKL_INT64* ldb, float* x,
             const MKL_INT64* ldx, float* rcond, float* ferr, float* berr,
             float* work, MKL_INT64* iwork, MKL_INT64* info ) NOTHROW;

void SPBTF2_64( const char* uplo, const MKL_INT64* n, const MKL_INT64* kd, float* ab,
             const MKL_INT64* ldab, MKL_INT64* info ) NOTHROW;
void spbtf2_64( const char* uplo, const MKL_INT64* n, const MKL_INT64* kd, float* ab,
             const MKL_INT64* ldab, MKL_INT64* info ) NOTHROW;

void SPBTRF_64( const char* uplo, const MKL_INT64* n, const MKL_INT64* kd, float* ab,
             const MKL_INT64* ldab, MKL_INT64* info ) NOTHROW;
void spbtrf_64( const char* uplo, const MKL_INT64* n, const MKL_INT64* kd, float* ab,
             const MKL_INT64* ldab, MKL_INT64* info ) NOTHROW;

void SPBTRS_64( const char* uplo, const MKL_INT64* n, const MKL_INT64* kd,
             const MKL_INT64* nrhs, const float* ab, const MKL_INT64* ldab,
             float* b, const MKL_INT64* ldb, MKL_INT64* info ) NOTHROW;
void spbtrs_64( const char* uplo, const MKL_INT64* n, const MKL_INT64* kd,
             const MKL_INT64* nrhs, const float* ab, const MKL_INT64* ldab,
             float* b, const MKL_INT64* ldb, MKL_INT64* info ) NOTHROW;

void SPFTRF_64( const char* transr, const char* uplo, const MKL_INT64* n, float* a,
             MKL_INT64* info ) NOTHROW;
void spftrf_64( const char* transr, const char* uplo, const MKL_INT64* n, float* a,
             MKL_INT64* info ) NOTHROW;

void SPFTRI_64( const char* transr, const char* uplo, const MKL_INT64* n, float* a,
             MKL_INT64* info ) NOTHROW;
void spftri_64( const char* transr, const char* uplo, const MKL_INT64* n, float* a,
             MKL_INT64* info ) NOTHROW;

void SPFTRS_64( const char* transr, const char* uplo, const MKL_INT64* n,
             const MKL_INT64* nrhs, const float* a, float* b, const MKL_INT64* ldb,
             MKL_INT64* info ) NOTHROW;
void spftrs_64( const char* transr, const char* uplo, const MKL_INT64* n,
             const MKL_INT64* nrhs, const float* a, float* b, const MKL_INT64* ldb,
             MKL_INT64* info ) NOTHROW;

void SPOCON_64( const char* uplo, const MKL_INT64* n, const float* a,
             const MKL_INT64* lda, const float* anorm, float* rcond, float* work,
             MKL_INT64* iwork, MKL_INT64* info ) NOTHROW;
void spocon_64( const char* uplo, const MKL_INT64* n, const float* a,
             const MKL_INT64* lda, const float* anorm, float* rcond, float* work,
             MKL_INT64* iwork, MKL_INT64* info ) NOTHROW;

void SPOEQUB_64( const MKL_INT64* n, const float* a, const MKL_INT64* lda, float* s,
              float* scond, float* amax, MKL_INT64* info ) NOTHROW;
void spoequb_64( const MKL_INT64* n, const float* a, const MKL_INT64* lda, float* s,
              float* scond, float* amax, MKL_INT64* info ) NOTHROW;

void SPOEQU_64( const MKL_INT64* n, const float* a, const MKL_INT64* lda, float* s,
             float* scond, float* amax, MKL_INT64* info ) NOTHROW;
void spoequ_64( const MKL_INT64* n, const float* a, const MKL_INT64* lda, float* s,
             float* scond, float* amax, MKL_INT64* info ) NOTHROW;

void SPORFS_64( const char* uplo, const MKL_INT64* n, const MKL_INT64* nrhs,
             const float* a, const MKL_INT64* lda, const float* af,
             const MKL_INT64* ldaf, const float* b, const MKL_INT64* ldb, float* x,
             const MKL_INT64* ldx, float* ferr, float* berr, float* work,
             MKL_INT64* iwork, MKL_INT64* info ) NOTHROW;
void sporfs_64( const char* uplo, const MKL_INT64* n, const MKL_INT64* nrhs,
             const float* a, const MKL_INT64* lda, const float* af,
             const MKL_INT64* ldaf, const float* b, const MKL_INT64* ldb, float* x,
             const MKL_INT64* ldx, float* ferr, float* berr, float* work,
             MKL_INT64* iwork, MKL_INT64* info ) NOTHROW;

void SPORFSX_64( const char* uplo, const char* equed, const MKL_INT64* n,
              const MKL_INT64* nrhs, const float* a, const MKL_INT64* lda,
              const float* af, const MKL_INT64* ldaf, float* s,
              const float* b, const MKL_INT64* ldb, float* x, const MKL_INT64* ldx,
              float* rcond, float* berr, const MKL_INT64* n_err_bnds,
              float* err_bnds_norm, float* err_bnds_comp,
              const MKL_INT64* nparams, float* params, float* work,
              MKL_INT64* iwork, MKL_INT64* info ) NOTHROW;
void sporfsx_64( const char* uplo, const char* equed, const MKL_INT64* n,
              const MKL_INT64* nrhs, const float* a, const MKL_INT64* lda,
              const float* af, const MKL_INT64* ldaf, float* s,
              const float* b, const MKL_INT64* ldb, float* x, const MKL_INT64* ldx,
              float* rcond, float* berr, const MKL_INT64* n_err_bnds,
              float* err_bnds_norm, float* err_bnds_comp,
              const MKL_INT64* nparams, float* params, float* work,
              MKL_INT64* iwork, MKL_INT64* info ) NOTHROW;

void SPOSV_64( const char* uplo, const MKL_INT64* n, const MKL_INT64* nrhs, float* a,
            const MKL_INT64* lda, float* b, const MKL_INT64* ldb, MKL_INT64* info ) NOTHROW;
void sposv_64( const char* uplo, const MKL_INT64* n, const MKL_INT64* nrhs, float* a,
            const MKL_INT64* lda, float* b, const MKL_INT64* ldb, MKL_INT64* info ) NOTHROW;

void SPOSVX_64( const char* fact, const char* uplo, const MKL_INT64* n,
             const MKL_INT64* nrhs, float* a, const MKL_INT64* lda, float* af,
             const MKL_INT64* ldaf, char* equed, float* s, float* b,
             const MKL_INT64* ldb, float* x, const MKL_INT64* ldx, float* rcond,
             float* ferr, float* berr, float* work, MKL_INT64* iwork,
             MKL_INT64* info ) NOTHROW;
void sposvx_64( const char* fact, const char* uplo, const MKL_INT64* n,
             const MKL_INT64* nrhs, float* a, const MKL_INT64* lda, float* af,
             const MKL_INT64* ldaf, char* equed, float* s, float* b,
             const MKL_INT64* ldb, float* x, const MKL_INT64* ldx, float* rcond,
             float* ferr, float* berr, float* work, MKL_INT64* iwork,
             MKL_INT64* info ) NOTHROW;

void SPOSVXX_64( const char* fact, const char* uplo, const MKL_INT64* n,
              const MKL_INT64* nrhs, float* a, const MKL_INT64* lda, float* af,
              const MKL_INT64* ldaf, char* equed, float* s, float* b,
              const MKL_INT64* ldb, float* x, const MKL_INT64* ldx, float* rcond,
              float* rpvgrw, float* berr, const MKL_INT64* n_err_bnds,
              float* err_bnds_norm, float* err_bnds_comp,
              const MKL_INT64* nparams, float* params, float* work,
              MKL_INT64* iwork, MKL_INT64* info ) NOTHROW;
void sposvxx_64( const char* fact, const char* uplo, const MKL_INT64* n,
              const MKL_INT64* nrhs, float* a, const MKL_INT64* lda, float* af,
              const MKL_INT64* ldaf, char* equed, float* s, float* b,
              const MKL_INT64* ldb, float* x, const MKL_INT64* ldx, float* rcond,
              float* rpvgrw, float* berr, const MKL_INT64* n_err_bnds,
              float* err_bnds_norm, float* err_bnds_comp,
              const MKL_INT64* nparams, float* params, float* work,
              MKL_INT64* iwork, MKL_INT64* info ) NOTHROW;

void SPOTF2_64( const char* uplo, const MKL_INT64* n, float* a, const MKL_INT64* lda,
             MKL_INT64* info ) NOTHROW;
void spotf2_64( const char* uplo, const MKL_INT64* n, float* a, const MKL_INT64* lda,
             MKL_INT64* info ) NOTHROW;

void SPOTRF_64( const char* uplo, const MKL_INT64* n, float* a, const MKL_INT64* lda,
             MKL_INT64* info ) NOTHROW;
void spotrf_64( const char* uplo, const MKL_INT64* n, float* a, const MKL_INT64* lda,
             MKL_INT64* info ) NOTHROW;

void SPOTRI_64( const char* uplo, const MKL_INT64* n, float* a, const MKL_INT64* lda,
             MKL_INT64* info ) NOTHROW;
void spotri_64( const char* uplo, const MKL_INT64* n, float* a, const MKL_INT64* lda,
             MKL_INT64* info ) NOTHROW;

void SPOTRS_64( const char* uplo, const MKL_INT64* n, const MKL_INT64* nrhs,
             const float* a, const MKL_INT64* lda, float* b, const MKL_INT64* ldb,
             MKL_INT64* info ) NOTHROW;
void spotrs_64( const char* uplo, const MKL_INT64* n, const MKL_INT64* nrhs,
             const float* a, const MKL_INT64* lda, float* b, const MKL_INT64* ldb,
             MKL_INT64* info ) NOTHROW;

void SPPCON_64( const char* uplo, const MKL_INT64* n, const float* ap,
             const float* anorm, float* rcond, float* work, MKL_INT64* iwork,
             MKL_INT64* info ) NOTHROW;
void sppcon_64( const char* uplo, const MKL_INT64* n, const float* ap,
             const float* anorm, float* rcond, float* work, MKL_INT64* iwork,
             MKL_INT64* info ) NOTHROW;

void SPPEQU_64( const char* uplo, const MKL_INT64* n, const float* ap, float* s,
             float* scond, float* amax, MKL_INT64* info ) NOTHROW;
void sppequ_64( const char* uplo, const MKL_INT64* n, const float* ap, float* s,
             float* scond, float* amax, MKL_INT64* info ) NOTHROW;

void SPPRFS_64( const char* uplo, const MKL_INT64* n, const MKL_INT64* nrhs,
             const float* ap, const float* afp, const float* b,
             const MKL_INT64* ldb, float* x, const MKL_INT64* ldx, float* ferr,
             float* berr, float* work, MKL_INT64* iwork, MKL_INT64* info ) NOTHROW;
void spprfs_64( const char* uplo, const MKL_INT64* n, const MKL_INT64* nrhs,
             const float* ap, const float* afp, const float* b,
             const MKL_INT64* ldb, float* x, const MKL_INT64* ldx, float* ferr,
             float* berr, float* work, MKL_INT64* iwork, MKL_INT64* info ) NOTHROW;

void SPPSV_64( const char* uplo, const MKL_INT64* n, const MKL_INT64* nrhs, float* ap,
            float* b, const MKL_INT64* ldb, MKL_INT64* info ) NOTHROW;
void sppsv_64( const char* uplo, const MKL_INT64* n, const MKL_INT64* nrhs, float* ap,
            float* b, const MKL_INT64* ldb, MKL_INT64* info ) NOTHROW;

void SPPSVX_64( const char* fact, const char* uplo, const MKL_INT64* n,
             const MKL_INT64* nrhs, float* ap, float* afp, char* equed, float* s,
             float* b, const MKL_INT64* ldb, float* x, const MKL_INT64* ldx,
             float* rcond, float* ferr, float* berr, float* work,
             MKL_INT64* iwork, MKL_INT64* info ) NOTHROW;
void sppsvx_64( const char* fact, const char* uplo, const MKL_INT64* n,
             const MKL_INT64* nrhs, float* ap, float* afp, char* equed, float* s,
             float* b, const MKL_INT64* ldb, float* x, const MKL_INT64* ldx,
             float* rcond, float* ferr, float* berr, float* work,
             MKL_INT64* iwork, MKL_INT64* info ) NOTHROW;

void SPPTRF_64( const char* uplo, const MKL_INT64* n, float* ap, MKL_INT64* info ) NOTHROW;
void spptrf_64( const char* uplo, const MKL_INT64* n, float* ap, MKL_INT64* info ) NOTHROW;

void SPPTRI_64( const char* uplo, const MKL_INT64* n, float* ap, MKL_INT64* info ) NOTHROW;
void spptri_64( const char* uplo, const MKL_INT64* n, float* ap, MKL_INT64* info ) NOTHROW;

void SPPTRS_64( const char* uplo, const MKL_INT64* n, const MKL_INT64* nrhs,
             const float* ap, float* b, const MKL_INT64* ldb, MKL_INT64* info ) NOTHROW;
void spptrs_64( const char* uplo, const MKL_INT64* n, const MKL_INT64* nrhs,
             const float* ap, float* b, const MKL_INT64* ldb, MKL_INT64* info ) NOTHROW;

void SPSTF2_64( const char* uplo, const MKL_INT64* n, float* a, const MKL_INT64* lda,
             MKL_INT64* piv, MKL_INT64* rank, const float* tol, float* work,
             MKL_INT64* info ) NOTHROW;
void spstf2_64( const char* uplo, const MKL_INT64* n, float* a, const MKL_INT64* lda,
             MKL_INT64* piv, MKL_INT64* rank, const float* tol, float* work,
             MKL_INT64* info ) NOTHROW;

void SPSTRF_64( const char* uplo, const MKL_INT64* n, float* a, const MKL_INT64* lda,
             MKL_INT64* piv, MKL_INT64* rank, const float* tol, float* work,
             MKL_INT64* info ) NOTHROW;
void spstrf_64( const char* uplo, const MKL_INT64* n, float* a, const MKL_INT64* lda,
             MKL_INT64* piv, MKL_INT64* rank, const float* tol, float* work,
             MKL_INT64* info ) NOTHROW;

void SPTCON_64( const MKL_INT64* n, const float* d, const float* e,
             const float* anorm, float* rcond, float* work, MKL_INT64* info ) NOTHROW;
void sptcon_64( const MKL_INT64* n, const float* d, const float* e,
             const float* anorm, float* rcond, float* work, MKL_INT64* info ) NOTHROW;

void SPTEQR_64( const char* compz, const MKL_INT64* n, float* d, float* e, float* z,
             const MKL_INT64* ldz, float* work, MKL_INT64* info ) NOTHROW;
void spteqr_64( const char* compz, const MKL_INT64* n, float* d, float* e, float* z,
             const MKL_INT64* ldz, float* work, MKL_INT64* info ) NOTHROW;

void SPTRFS_64( const MKL_INT64* n, const MKL_INT64* nrhs, const float* d,
             const float* e, const float* df, const float* ef, const float* b,
             const MKL_INT64* ldb, float* x, const MKL_INT64* ldx, float* ferr,
             float* berr, float* work, MKL_INT64* info ) NOTHROW;
void sptrfs_64( const MKL_INT64* n, const MKL_INT64* nrhs, const float* d,
             const float* e, const float* df, const float* ef, const float* b,
             const MKL_INT64* ldb, float* x, const MKL_INT64* ldx, float* ferr,
             float* berr, float* work, MKL_INT64* info ) NOTHROW;

void SPTSV_64( const MKL_INT64* n, const MKL_INT64* nrhs, float* d, float* e,
            float* b, const MKL_INT64* ldb, MKL_INT64* info ) NOTHROW;
void sptsv_64( const MKL_INT64* n, const MKL_INT64* nrhs, float* d, float* e,
            float* b, const MKL_INT64* ldb, MKL_INT64* info ) NOTHROW;

void SPTSVX_64( const char* fact, const MKL_INT64* n, const MKL_INT64* nrhs,
             const float* d, const float* e, float* df, float* ef,
             const float* b, const MKL_INT64* ldb, float* x, const MKL_INT64* ldx,
             float* rcond, float* ferr, float* berr, float* work,
             MKL_INT64* info ) NOTHROW;
void sptsvx_64( const char* fact, const MKL_INT64* n, const MKL_INT64* nrhs,
             const float* d, const float* e, float* df, float* ef,
             const float* b, const MKL_INT64* ldb, float* x, const MKL_INT64* ldx,
             float* rcond, float* ferr, float* berr, float* work,
             MKL_INT64* info ) NOTHROW;

void SPTTRF_64( const MKL_INT64* n, float* d, float* e, MKL_INT64* info ) NOTHROW;
void spttrf_64( const MKL_INT64* n, float* d, float* e, MKL_INT64* info ) NOTHROW;

void SPTTRS_64( const MKL_INT64* n, const MKL_INT64* nrhs, const float* d,
             const float* e, float* b, const MKL_INT64* ldb, MKL_INT64* info ) NOTHROW;
void spttrs_64( const MKL_INT64* n, const MKL_INT64* nrhs, const float* d,
             const float* e, float* b, const MKL_INT64* ldb, MKL_INT64* info ) NOTHROW;

void SPTTS2_64( const MKL_INT64* n, const MKL_INT64* nrhs, const float* d,
             const float* e, float* b, const MKL_INT64* ldb ) NOTHROW;
void sptts2_64( const MKL_INT64* n, const MKL_INT64* nrhs, const float* d,
             const float* e, float* b, const MKL_INT64* ldb ) NOTHROW;

void SRSCL_64( const MKL_INT64* n, const float* sa, float* sx,
            const MKL_INT64* incx ) NOTHROW;
void srscl_64( const MKL_INT64* n, const float* sa, float* sx,
            const MKL_INT64* incx ) NOTHROW;

void SSBEVD_64( const char* jobz, const char* uplo, const MKL_INT64* n,
             const MKL_INT64* kd, float* ab, const MKL_INT64* ldab, float* w,
             float* z, const MKL_INT64* ldz, float* work, const MKL_INT64* lwork,
             MKL_INT64* iwork, const MKL_INT64* liwork, MKL_INT64* info ) NOTHROW;
void ssbevd_64( const char* jobz, const char* uplo, const MKL_INT64* n,
             const MKL_INT64* kd, float* ab, const MKL_INT64* ldab, float* w,
             float* z, const MKL_INT64* ldz, float* work, const MKL_INT64* lwork,
             MKL_INT64* iwork, const MKL_INT64* liwork, MKL_INT64* info ) NOTHROW;

void SSBEV_64( const char* jobz, const char* uplo, const MKL_INT64* n,
            const MKL_INT64* kd, float* ab, const MKL_INT64* ldab, float* w,
            float* z, const MKL_INT64* ldz, float* work, MKL_INT64* info ) NOTHROW;
void ssbev_64( const char* jobz, const char* uplo, const MKL_INT64* n,
            const MKL_INT64* kd, float* ab, const MKL_INT64* ldab, float* w,
            float* z, const MKL_INT64* ldz, float* work, MKL_INT64* info ) NOTHROW;

void SSBEVX_64( const char* jobz, const char* range, const char* uplo,
             const MKL_INT64* n, const MKL_INT64* kd, float* ab,
             const MKL_INT64* ldab, float* q, const MKL_INT64* ldq,
             const float* vl, const float* vu, const MKL_INT64* il,
             const MKL_INT64* iu, const float* abstol, MKL_INT64* m, float* w,
             float* z, const MKL_INT64* ldz, float* work, MKL_INT64* iwork,
             MKL_INT64* ifail, MKL_INT64* info ) NOTHROW;
void ssbevx_64( const char* jobz, const char* range, const char* uplo,
             const MKL_INT64* n, const MKL_INT64* kd, float* ab,
             const MKL_INT64* ldab, float* q, const MKL_INT64* ldq,
             const float* vl, const float* vu, const MKL_INT64* il,
             const MKL_INT64* iu, const float* abstol, MKL_INT64* m, float* w,
             float* z, const MKL_INT64* ldz, float* work, MKL_INT64* iwork,
             MKL_INT64* ifail, MKL_INT64* info ) NOTHROW;

void SSBGST_64( const char* vect, const char* uplo, const MKL_INT64* n,
             const MKL_INT64* ka, const MKL_INT64* kb, float* ab,
             const MKL_INT64* ldab, const float* bb, const MKL_INT64* ldbb,
             float* x, const MKL_INT64* ldx, float* work, MKL_INT64* info ) NOTHROW;
void ssbgst_64( const char* vect, const char* uplo, const MKL_INT64* n,
             const MKL_INT64* ka, const MKL_INT64* kb, float* ab,
             const MKL_INT64* ldab, const float* bb, const MKL_INT64* ldbb,
             float* x, const MKL_INT64* ldx, float* work, MKL_INT64* info ) NOTHROW;

void SSBGVD_64( const char* jobz, const char* uplo, const MKL_INT64* n,
             const MKL_INT64* ka, const MKL_INT64* kb, float* ab,
             const MKL_INT64* ldab, float* bb, const MKL_INT64* ldbb, float* w,
             float* z, const MKL_INT64* ldz, float* work, const MKL_INT64* lwork,
             MKL_INT64* iwork, const MKL_INT64* liwork, MKL_INT64* info ) NOTHROW;
void ssbgvd_64( const char* jobz, const char* uplo, const MKL_INT64* n,
             const MKL_INT64* ka, const MKL_INT64* kb, float* ab,
             const MKL_INT64* ldab, float* bb, const MKL_INT64* ldbb, float* w,
             float* z, const MKL_INT64* ldz, float* work, const MKL_INT64* lwork,
             MKL_INT64* iwork, const MKL_INT64* liwork, MKL_INT64* info ) NOTHROW;

void SSBGV_64( const char* jobz, const char* uplo, const MKL_INT64* n,
            const MKL_INT64* ka, const MKL_INT64* kb, float* ab,
            const MKL_INT64* ldab, float* bb, const MKL_INT64* ldbb, float* w,
            float* z, const MKL_INT64* ldz, float* work, MKL_INT64* info ) NOTHROW;
void ssbgv_64( const char* jobz, const char* uplo, const MKL_INT64* n,
            const MKL_INT64* ka, const MKL_INT64* kb, float* ab,
            const MKL_INT64* ldab, float* bb, const MKL_INT64* ldbb, float* w,
            float* z, const MKL_INT64* ldz, float* work, MKL_INT64* info ) NOTHROW;

void SSBGVX_64( const char* jobz, const char* range, const char* uplo,
             const MKL_INT64* n, const MKL_INT64* ka, const MKL_INT64* kb, float* ab,
             const MKL_INT64* ldab, float* bb, const MKL_INT64* ldbb, float* q,
             const MKL_INT64* ldq, const float* vl, const float* vu,
             const MKL_INT64* il, const MKL_INT64* iu, const float* abstol,
             MKL_INT64* m, float* w, float* z, const MKL_INT64* ldz, float* work,
             MKL_INT64* iwork, MKL_INT64* ifail, MKL_INT64* info ) NOTHROW;
void ssbgvx_64( const char* jobz, const char* range, const char* uplo,
             const MKL_INT64* n, const MKL_INT64* ka, const MKL_INT64* kb, float* ab,
             const MKL_INT64* ldab, float* bb, const MKL_INT64* ldbb, float* q,
             const MKL_INT64* ldq, const float* vl, const float* vu,
             const MKL_INT64* il, const MKL_INT64* iu, const float* abstol,
             MKL_INT64* m, float* w, float* z, const MKL_INT64* ldz, float* work,
             MKL_INT64* iwork, MKL_INT64* ifail, MKL_INT64* info ) NOTHROW;

void SSBTRD_64( const char* vect, const char* uplo, const MKL_INT64* n,
             const MKL_INT64* kd, float* ab, const MKL_INT64* ldab, float* d,
             float* e, float* q, const MKL_INT64* ldq, float* work,
             MKL_INT64* info ) NOTHROW;
void ssbtrd_64( const char* vect, const char* uplo, const MKL_INT64* n,
             const MKL_INT64* kd, float* ab, const MKL_INT64* ldab, float* d,
             float* e, float* q, const MKL_INT64* ldq, float* work,
             MKL_INT64* info ) NOTHROW;

void SSFRK_64( const char* transr, const char* uplo, const char* trans,
            const MKL_INT64* n, const MKL_INT64* k, const float* alpha,
            const float* a, const MKL_INT64* lda, const float* beta, float* c ) NOTHROW;
void ssfrk_64( const char* transr, const char* uplo, const char* trans,
            const MKL_INT64* n, const MKL_INT64* k, const float* alpha,
            const float* a, const MKL_INT64* lda, const float* beta, float* c ) NOTHROW;

void SSPCON_64( const char* uplo, const MKL_INT64* n, const float* ap,
             const MKL_INT64* ipiv, const float* anorm, float* rcond,
             float* work, MKL_INT64* iwork, MKL_INT64* info ) NOTHROW;
void sspcon_64( const char* uplo, const MKL_INT64* n, const float* ap,
             const MKL_INT64* ipiv, const float* anorm, float* rcond,
             float* work, MKL_INT64* iwork, MKL_INT64* info ) NOTHROW;

void SSPEVD_64( const char* jobz, const char* uplo, const MKL_INT64* n, float* ap,
             float* w, float* z, const MKL_INT64* ldz, float* work,
             const MKL_INT64* lwork, MKL_INT64* iwork, const MKL_INT64* liwork,
             MKL_INT64* info ) NOTHROW;
void sspevd_64( const char* jobz, const char* uplo, const MKL_INT64* n, float* ap,
             float* w, float* z, const MKL_INT64* ldz, float* work,
             const MKL_INT64* lwork, MKL_INT64* iwork, const MKL_INT64* liwork,
             MKL_INT64* info ) NOTHROW;

void SSPEV_64( const char* jobz, const char* uplo, const MKL_INT64* n, float* ap,
            float* w, float* z, const MKL_INT64* ldz, float* work,
            MKL_INT64* info ) NOTHROW;
void sspev_64( const char* jobz, const char* uplo, const MKL_INT64* n, float* ap,
            float* w, float* z, const MKL_INT64* ldz, float* work,
            MKL_INT64* info ) NOTHROW;

void SSPEVX_64( const char* jobz, const char* range, const char* uplo,
             const MKL_INT64* n, float* ap, const float* vl, const float* vu,
             const MKL_INT64* il, const MKL_INT64* iu, const float* abstol,
             MKL_INT64* m, float* w, float* z, const MKL_INT64* ldz, float* work,
             MKL_INT64* iwork, MKL_INT64* ifail, MKL_INT64* info ) NOTHROW;
void sspevx_64( const char* jobz, const char* range, const char* uplo,
             const MKL_INT64* n, float* ap, const float* vl, const float* vu,
             const MKL_INT64* il, const MKL_INT64* iu, const float* abstol,
             MKL_INT64* m, float* w, float* z, const MKL_INT64* ldz, float* work,
             MKL_INT64* iwork, MKL_INT64* ifail, MKL_INT64* info ) NOTHROW;

void SSPGST_64( const MKL_INT64* itype, const char* uplo, const MKL_INT64* n,
             float* ap, const float* bp, MKL_INT64* info ) NOTHROW;
void sspgst_64( const MKL_INT64* itype, const char* uplo, const MKL_INT64* n,
             float* ap, const float* bp, MKL_INT64* info ) NOTHROW;

void SSPGVD_64( const MKL_INT64* itype, const char* jobz, const char* uplo,
             const MKL_INT64* n, float* ap, float* bp, float* w, float* z,
             const MKL_INT64* ldz, float* work, const MKL_INT64* lwork,
             MKL_INT64* iwork, const MKL_INT64* liwork, MKL_INT64* info ) NOTHROW;
void sspgvd_64( const MKL_INT64* itype, const char* jobz, const char* uplo,
             const MKL_INT64* n, float* ap, float* bp, float* w, float* z,
             const MKL_INT64* ldz, float* work, const MKL_INT64* lwork,
             MKL_INT64* iwork, const MKL_INT64* liwork, MKL_INT64* info ) NOTHROW;

void SSPGV_64( const MKL_INT64* itype, const char* jobz, const char* uplo,
            const MKL_INT64* n, float* ap, float* bp, float* w, float* z,
            const MKL_INT64* ldz, float* work, MKL_INT64* info ) NOTHROW;
void sspgv_64( const MKL_INT64* itype, const char* jobz, const char* uplo,
            const MKL_INT64* n, float* ap, float* bp, float* w, float* z,
            const MKL_INT64* ldz, float* work, MKL_INT64* info ) NOTHROW;

void SSPGVX_64( const MKL_INT64* itype, const char* jobz, const char* range,
             const char* uplo, const MKL_INT64* n, float* ap, float* bp,
             const float* vl, const float* vu, const MKL_INT64* il,
             const MKL_INT64* iu, const float* abstol, MKL_INT64* m, float* w,
             float* z, const MKL_INT64* ldz, float* work, MKL_INT64* iwork,
             MKL_INT64* ifail, MKL_INT64* info ) NOTHROW;
void sspgvx_64( const MKL_INT64* itype, const char* jobz, const char* range,
             const char* uplo, const MKL_INT64* n, float* ap, float* bp,
             const float* vl, const float* vu, const MKL_INT64* il,
             const MKL_INT64* iu, const float* abstol, MKL_INT64* m, float* w,
             float* z, const MKL_INT64* ldz, float* work, MKL_INT64* iwork,
             MKL_INT64* ifail, MKL_INT64* info ) NOTHROW;

void SSPRFS_64( const char* uplo, const MKL_INT64* n, const MKL_INT64* nrhs,
             const float* ap, const float* afp, const MKL_INT64* ipiv,
             const float* b, const MKL_INT64* ldb, float* x, const MKL_INT64* ldx,
             float* ferr, float* berr, float* work, MKL_INT64* iwork,
             MKL_INT64* info ) NOTHROW;
void ssprfs_64( const char* uplo, const MKL_INT64* n, const MKL_INT64* nrhs,
             const float* ap, const float* afp, const MKL_INT64* ipiv,
             const float* b, const MKL_INT64* ldb, float* x, const MKL_INT64* ldx,
             float* ferr, float* berr, float* work, MKL_INT64* iwork,
             MKL_INT64* info ) NOTHROW;

void SSPSV_64( const char* uplo, const MKL_INT64* n, const MKL_INT64* nrhs, float* ap,
            MKL_INT64* ipiv, float* b, const MKL_INT64* ldb, MKL_INT64* info ) NOTHROW;
void sspsv_64( const char* uplo, const MKL_INT64* n, const MKL_INT64* nrhs, float* ap,
            MKL_INT64* ipiv, float* b, const MKL_INT64* ldb, MKL_INT64* info ) NOTHROW;

void SSPSVX_64( const char* fact, const char* uplo, const MKL_INT64* n,
             const MKL_INT64* nrhs, const float* ap, float* afp, MKL_INT64* ipiv,
             const float* b, const MKL_INT64* ldb, float* x, const MKL_INT64* ldx,
             float* rcond, float* ferr, float* berr, float* work,
             MKL_INT64* iwork, MKL_INT64* info ) NOTHROW;
void sspsvx_64( const char* fact, const char* uplo, const MKL_INT64* n,
             const MKL_INT64* nrhs, const float* ap, float* afp, MKL_INT64* ipiv,
             const float* b, const MKL_INT64* ldb, float* x, const MKL_INT64* ldx,
             float* rcond, float* ferr, float* berr, float* work,
             MKL_INT64* iwork, MKL_INT64* info ) NOTHROW;

void SSPTRD_64( const char* uplo, const MKL_INT64* n, float* ap, float* d, float* e,
             float* tau, MKL_INT64* info ) NOTHROW;
void ssptrd_64( const char* uplo, const MKL_INT64* n, float* ap, float* d, float* e,
             float* tau, MKL_INT64* info ) NOTHROW;

void SSPTRF_64( const char* uplo, const MKL_INT64* n, float* ap, MKL_INT64* ipiv,
             MKL_INT64* info ) NOTHROW;
void ssptrf_64( const char* uplo, const MKL_INT64* n, float* ap, MKL_INT64* ipiv,
             MKL_INT64* info ) NOTHROW;

void SSPTRI_64( const char* uplo, const MKL_INT64* n, float* ap,
             const MKL_INT64* ipiv, float* work, MKL_INT64* info ) NOTHROW;
void ssptri_64( const char* uplo, const MKL_INT64* n, float* ap,
             const MKL_INT64* ipiv, float* work, MKL_INT64* info ) NOTHROW;

void SSPTRS_64( const char* uplo, const MKL_INT64* n, const MKL_INT64* nrhs,
             const float* ap, const MKL_INT64* ipiv, float* b,
             const MKL_INT64* ldb, MKL_INT64* info ) NOTHROW;
void ssptrs_64( const char* uplo, const MKL_INT64* n, const MKL_INT64* nrhs,
             const float* ap, const MKL_INT64* ipiv, float* b,
             const MKL_INT64* ldb, MKL_INT64* info ) NOTHROW;

void SSTEBZ_64( const char* range, const char* order, const MKL_INT64* n,
             const float* vl, const float* vu, const MKL_INT64* il,
             const MKL_INT64* iu, const float* abstol, const float* d,
             const float* e, MKL_INT64* m, MKL_INT64* nsplit, float* w,
             MKL_INT64* iblock, MKL_INT64* isplit, float* work, MKL_INT64* iwork,
             MKL_INT64* info ) NOTHROW;
void sstebz_64( const char* range, const char* order, const MKL_INT64* n,
             const float* vl, const float* vu, const MKL_INT64* il,
             const MKL_INT64* iu, const float* abstol, const float* d,
             const float* e, MKL_INT64* m, MKL_INT64* nsplit, float* w,
             MKL_INT64* iblock, MKL_INT64* isplit, float* work, MKL_INT64* iwork,
             MKL_INT64* info ) NOTHROW;

void SSTEDC_64( const char* compz, const MKL_INT64* n, float* d, float* e, float* z,
             const MKL_INT64* ldz, float* work, const MKL_INT64* lwork,
             MKL_INT64* iwork, const MKL_INT64* liwork, MKL_INT64* info ) NOTHROW;
void sstedc_64( const char* compz, const MKL_INT64* n, float* d, float* e, float* z,
             const MKL_INT64* ldz, float* work, const MKL_INT64* lwork,
             MKL_INT64* iwork, const MKL_INT64* liwork, MKL_INT64* info ) NOTHROW;

void SSTEGR_64( const char* jobz, const char* range, const MKL_INT64* n, float* d,
             float* e, const float* vl, const float* vu, const MKL_INT64* il,
             const MKL_INT64* iu, const float* abstol, MKL_INT64* m, float* w,
             float* z, const MKL_INT64* ldz, MKL_INT64* isuppz, float* work,
             const MKL_INT64* lwork, MKL_INT64* iwork, const MKL_INT64* liwork,
             MKL_INT64* info ) NOTHROW;
void sstegr_64( const char* jobz, const char* range, const MKL_INT64* n, float* d,
             float* e, const float* vl, const float* vu, const MKL_INT64* il,
             const MKL_INT64* iu, const float* abstol, MKL_INT64* m, float* w,
             float* z, const MKL_INT64* ldz, MKL_INT64* isuppz, float* work,
             const MKL_INT64* lwork, MKL_INT64* iwork, const MKL_INT64* liwork,
             MKL_INT64* info ) NOTHROW;

void SSTEIN_64( const MKL_INT64* n, const float* d, const float* e,
             const MKL_INT64* m, const float* w, const MKL_INT64* iblock,
             const MKL_INT64* isplit, float* z, const MKL_INT64* ldz, float* work,
             MKL_INT64* iwork, MKL_INT64* ifail, MKL_INT64* info ) NOTHROW;
void sstein_64( const MKL_INT64* n, const float* d, const float* e,
             const MKL_INT64* m, const float* w, const MKL_INT64* iblock,
             const MKL_INT64* isplit, float* z, const MKL_INT64* ldz, float* work,
             MKL_INT64* iwork, MKL_INT64* ifail, MKL_INT64* info ) NOTHROW;

void SSTEMR_64( const char* jobz, const char* range, const MKL_INT64* n, float* d,
             float* e, const float* vl, const float* vu, const MKL_INT64* il,
             const MKL_INT64* iu, MKL_INT64* m, float* w, float* z,
             const MKL_INT64* ldz, const MKL_INT64* nzc, MKL_INT64* isuppz,
             MKL_INT64* tryrac, float* work, const MKL_INT64* lwork,
             MKL_INT64* iwork, const MKL_INT64* liwork, MKL_INT64* info ) NOTHROW;
void sstemr_64( const char* jobz, const char* range, const MKL_INT64* n, float* d,
             float* e, const float* vl, const float* vu, const MKL_INT64* il,
             const MKL_INT64* iu, MKL_INT64* m, float* w, float* z,
             const MKL_INT64* ldz, const MKL_INT64* nzc, MKL_INT64* isuppz,
             MKL_INT64* tryrac, float* work, const MKL_INT64* lwork,
             MKL_INT64* iwork, const MKL_INT64* liwork, MKL_INT64* info ) NOTHROW;

void SSTEQR_64( const char* compz, const MKL_INT64* n, float* d, float* e, float* z,
             const MKL_INT64* ldz, float* work, MKL_INT64* info ) NOTHROW;
void ssteqr_64( const char* compz, const MKL_INT64* n, float* d, float* e, float* z,
             const MKL_INT64* ldz, float* work, MKL_INT64* info ) NOTHROW;

void SSTERF_64( const MKL_INT64* n, float* d, float* e, MKL_INT64* info ) NOTHROW;
void ssterf_64( const MKL_INT64* n, float* d, float* e, MKL_INT64* info ) NOTHROW;

void SSTEVD_64( const char* jobz, const MKL_INT64* n, float* d, float* e, float* z,
             const MKL_INT64* ldz, float* work, const MKL_INT64* lwork,
             MKL_INT64* iwork, const MKL_INT64* liwork, MKL_INT64* info ) NOTHROW;
void sstevd_64( const char* jobz, const MKL_INT64* n, float* d, float* e, float* z,
             const MKL_INT64* ldz, float* work, const MKL_INT64* lwork,
             MKL_INT64* iwork, const MKL_INT64* liwork, MKL_INT64* info ) NOTHROW;

void SSTEV_64( const char* jobz, const MKL_INT64* n, float* d, float* e, float* z,
            const MKL_INT64* ldz, float* work, MKL_INT64* info ) NOTHROW;
void sstev_64( const char* jobz, const MKL_INT64* n, float* d, float* e, float* z,
            const MKL_INT64* ldz, float* work, MKL_INT64* info ) NOTHROW;

void SSTEVR_64( const char* jobz, const char* range, const MKL_INT64* n, float* d,
             float* e, const float* vl, const float* vu, const MKL_INT64* il,
             const MKL_INT64* iu, const float* abstol, MKL_INT64* m, float* w,
             float* z, const MKL_INT64* ldz, MKL_INT64* isuppz, float* work,
             const MKL_INT64* lwork, MKL_INT64* iwork, const MKL_INT64* liwork,
             MKL_INT64* info ) NOTHROW;
void sstevr_64( const char* jobz, const char* range, const MKL_INT64* n, float* d,
             float* e, const float* vl, const float* vu, const MKL_INT64* il,
             const MKL_INT64* iu, const float* abstol, MKL_INT64* m, float* w,
             float* z, const MKL_INT64* ldz, MKL_INT64* isuppz, float* work,
             const MKL_INT64* lwork, MKL_INT64* iwork, const MKL_INT64* liwork,
             MKL_INT64* info ) NOTHROW;

void SSTEVX_64( const char* jobz, const char* range, const MKL_INT64* n, float* d,
             float* e, const float* vl, const float* vu, const MKL_INT64* il,
             const MKL_INT64* iu, const float* abstol, MKL_INT64* m, float* w,
             float* z, const MKL_INT64* ldz, float* work, MKL_INT64* iwork,
             MKL_INT64* ifail, MKL_INT64* info ) NOTHROW;
void sstevx_64( const char* jobz, const char* range, const MKL_INT64* n, float* d,
             float* e, const float* vl, const float* vu, const MKL_INT64* il,
             const MKL_INT64* iu, const float* abstol, MKL_INT64* m, float* w,
             float* z, const MKL_INT64* ldz, float* work, MKL_INT64* iwork,
             MKL_INT64* ifail, MKL_INT64* info ) NOTHROW;

void SSYCON_64( const char* uplo, const MKL_INT64* n, const float* a,
             const MKL_INT64* lda, const MKL_INT64* ipiv, const float* anorm,
             float* rcond, float* work, MKL_INT64* iwork, MKL_INT64* info ) NOTHROW;
void ssycon_64( const char* uplo, const MKL_INT64* n, const float* a,
             const MKL_INT64* lda, const MKL_INT64* ipiv, const float* anorm,
             float* rcond, float* work, MKL_INT64* iwork, MKL_INT64* info ) NOTHROW;

void SSYEQUB_64( const char* uplo, const MKL_INT64* n, const float* a, const MKL_INT64* lda,
              float* s, float* scond, float* amax, float* work,
              MKL_INT64* info ) NOTHROW;
void ssyequb_64( const char* uplo, const MKL_INT64* n, const float* a, const MKL_INT64* lda,
              float* s, float* scond, float* amax, float* work,
              MKL_INT64* info ) NOTHROW;

void SSYEVD_64( const char* jobz, const char* uplo, const MKL_INT64* n, float* a,
             const MKL_INT64* lda, float* w, float* work, const MKL_INT64* lwork,
             MKL_INT64* iwork, const MKL_INT64* liwork, MKL_INT64* info ) NOTHROW;
void ssyevd_64( const char* jobz, const char* uplo, const MKL_INT64* n, float* a,
             const MKL_INT64* lda, float* w, float* work, const MKL_INT64* lwork,
             MKL_INT64* iwork, const MKL_INT64* liwork, MKL_INT64* info ) NOTHROW;

void SSYEV_64( const char* jobz, const char* uplo, const MKL_INT64* n, float* a,
            const MKL_INT64* lda, float* w, float* work, const MKL_INT64* lwork,
            MKL_INT64* info ) NOTHROW;
void ssyev_64( const char* jobz, const char* uplo, const MKL_INT64* n, float* a,
            const MKL_INT64* lda, float* w, float* work, const MKL_INT64* lwork,
            MKL_INT64* info ) NOTHROW;

void SSYEVR_64( const char* jobz, const char* range, const char* uplo,
             const MKL_INT64* n, float* a, const MKL_INT64* lda, const float* vl,
             const float* vu, const MKL_INT64* il, const MKL_INT64* iu,
             const float* abstol, MKL_INT64* m, float* w, float* z,
             const MKL_INT64* ldz, MKL_INT64* isuppz, float* work,
             const MKL_INT64* lwork, MKL_INT64* iwork, const MKL_INT64* liwork,
             MKL_INT64* info ) NOTHROW;
void ssyevr_64( const char* jobz, const char* range, const char* uplo,
             const MKL_INT64* n, float* a, const MKL_INT64* lda, const float* vl,
             const float* vu, const MKL_INT64* il, const MKL_INT64* iu,
             const float* abstol, MKL_INT64* m, float* w, float* z,
             const MKL_INT64* ldz, MKL_INT64* isuppz, float* work,
             const MKL_INT64* lwork, MKL_INT64* iwork, const MKL_INT64* liwork,
             MKL_INT64* info ) NOTHROW;

void SSYEVX_64( const char* jobz, const char* range, const char* uplo,
             const MKL_INT64* n, float* a, const MKL_INT64* lda, const float* vl,
             const float* vu, const MKL_INT64* il, const MKL_INT64* iu,
             const float* abstol, MKL_INT64* m, float* w, float* z,
             const MKL_INT64* ldz, float* work, const MKL_INT64* lwork,
             MKL_INT64* iwork, MKL_INT64* ifail, MKL_INT64* info ) NOTHROW;
void ssyevx_64( const char* jobz, const char* range, const char* uplo,
             const MKL_INT64* n, float* a, const MKL_INT64* lda, const float* vl,
             const float* vu, const MKL_INT64* il, const MKL_INT64* iu,
             const float* abstol, MKL_INT64* m, float* w, float* z,
             const MKL_INT64* ldz, float* work, const MKL_INT64* lwork,
             MKL_INT64* iwork, MKL_INT64* ifail, MKL_INT64* info ) NOTHROW;

void SSYGS2_64( const MKL_INT64* itype, const char* uplo, const MKL_INT64* n,
             float* a, const MKL_INT64* lda, const float* b, const MKL_INT64* ldb,
             MKL_INT64* info ) NOTHROW;
void ssygs2_64( const MKL_INT64* itype, const char* uplo, const MKL_INT64* n,
             float* a, const MKL_INT64* lda, const float* b, const MKL_INT64* ldb,
             MKL_INT64* info ) NOTHROW;

void SSYGST_64( const MKL_INT64* itype, const char* uplo, const MKL_INT64* n,
             float* a, const MKL_INT64* lda, const float* b, const MKL_INT64* ldb,
             MKL_INT64* info ) NOTHROW;
void ssygst_64( const MKL_INT64* itype, const char* uplo, const MKL_INT64* n,
             float* a, const MKL_INT64* lda, const float* b, const MKL_INT64* ldb,
             MKL_INT64* info ) NOTHROW;

void SSYGVD_64( const MKL_INT64* itype, const char* jobz, const char* uplo,
             const MKL_INT64* n, float* a, const MKL_INT64* lda, float* b,
             const MKL_INT64* ldb, float* w, float* work, const MKL_INT64* lwork,
             MKL_INT64* iwork, const MKL_INT64* liwork, MKL_INT64* info ) NOTHROW;
void ssygvd_64( const MKL_INT64* itype, const char* jobz, const char* uplo,
             const MKL_INT64* n, float* a, const MKL_INT64* lda, float* b,
             const MKL_INT64* ldb, float* w, float* work, const MKL_INT64* lwork,
             MKL_INT64* iwork, const MKL_INT64* liwork, MKL_INT64* info ) NOTHROW;

void SSYGV_64( const MKL_INT64* itype, const char* jobz, const char* uplo,
            const MKL_INT64* n, float* a, const MKL_INT64* lda, float* b,
            const MKL_INT64* ldb, float* w, float* work, const MKL_INT64* lwork,
            MKL_INT64* info ) NOTHROW;
void ssygv_64( const MKL_INT64* itype, const char* jobz, const char* uplo,
            const MKL_INT64* n, float* a, const MKL_INT64* lda, float* b,
            const MKL_INT64* ldb, float* w, float* work, const MKL_INT64* lwork,
            MKL_INT64* info ) NOTHROW;

void SSYGVX_64( const MKL_INT64* itype, const char* jobz, const char* range,
             const char* uplo, const MKL_INT64* n, float* a, const MKL_INT64* lda,
             float* b, const MKL_INT64* ldb, const float* vl, const float* vu,
             const MKL_INT64* il, const MKL_INT64* iu, const float* abstol,
             MKL_INT64* m, float* w, float* z, const MKL_INT64* ldz, float* work,
             const MKL_INT64* lwork, MKL_INT64* iwork, MKL_INT64* ifail,
             MKL_INT64* info ) NOTHROW;
void ssygvx_64( const MKL_INT64* itype, const char* jobz, const char* range,
             const char* uplo, const MKL_INT64* n, float* a, const MKL_INT64* lda,
             float* b, const MKL_INT64* ldb, const float* vl, const float* vu,
             const MKL_INT64* il, const MKL_INT64* iu, const float* abstol,
             MKL_INT64* m, float* w, float* z, const MKL_INT64* ldz, float* work,
             const MKL_INT64* lwork, MKL_INT64* iwork, MKL_INT64* ifail,
             MKL_INT64* info ) NOTHROW;

void SSYRFS_64( const char* uplo, const MKL_INT64* n, const MKL_INT64* nrhs,
             const float* a, const MKL_INT64* lda, const float* af,
             const MKL_INT64* ldaf, const MKL_INT64* ipiv, const float* b,
             const MKL_INT64* ldb, float* x, const MKL_INT64* ldx, float* ferr,
             float* berr, float* work, MKL_INT64* iwork, MKL_INT64* info ) NOTHROW;
void ssyrfs_64( const char* uplo, const MKL_INT64* n, const MKL_INT64* nrhs,
             const float* a, const MKL_INT64* lda, const float* af,
             const MKL_INT64* ldaf, const MKL_INT64* ipiv, const float* b,
             const MKL_INT64* ldb, float* x, const MKL_INT64* ldx, float* ferr,
             float* berr, float* work, MKL_INT64* iwork, MKL_INT64* info ) NOTHROW;

void SSYRFSX_64( const char* uplo, const char* equed, const MKL_INT64* n,
              const MKL_INT64* nrhs, const float* a, const MKL_INT64* lda,
              const float* af, const MKL_INT64* ldaf, const MKL_INT64* ipiv,
              float* s, const float* b, const MKL_INT64* ldb, float* x,
              const MKL_INT64* ldx, float* rcond, float* berr,
              const MKL_INT64* n_err_bnds, float* err_bnds_norm,
              float* err_bnds_comp, const MKL_INT64* nparams, float* params,
              float* work, MKL_INT64* iwork, MKL_INT64* info ) NOTHROW;
void ssyrfsx_64( const char* uplo, const char* equed, const MKL_INT64* n,
              const MKL_INT64* nrhs, const float* a, const MKL_INT64* lda,
              const float* af, const MKL_INT64* ldaf, const MKL_INT64* ipiv,
              float* s, const float* b, const MKL_INT64* ldb, float* x,
              const MKL_INT64* ldx, float* rcond, float* berr,
              const MKL_INT64* n_err_bnds, float* err_bnds_norm,
              float* err_bnds_comp, const MKL_INT64* nparams, float* params,
              float* work, MKL_INT64* iwork, MKL_INT64* info ) NOTHROW;

void SSYSV_64( const char* uplo, const MKL_INT64* n, const MKL_INT64* nrhs, float* a,
            const MKL_INT64* lda, MKL_INT64* ipiv, float* b, const MKL_INT64* ldb,
            float* work, const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;
void ssysv_64( const char* uplo, const MKL_INT64* n, const MKL_INT64* nrhs, float* a,
            const MKL_INT64* lda, MKL_INT64* ipiv, float* b, const MKL_INT64* ldb,
            float* work, const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;

void SSYSVX_64( const char* fact, const char* uplo, const MKL_INT64* n,
             const MKL_INT64* nrhs, const float* a, const MKL_INT64* lda,
             float* af, const MKL_INT64* ldaf, MKL_INT64* ipiv, const float* b,
             const MKL_INT64* ldb, float* x, const MKL_INT64* ldx, float* rcond,
             float* ferr, float* berr, float* work, const MKL_INT64* lwork,
             MKL_INT64* iwork, MKL_INT64* info ) NOTHROW;
void ssysvx_64( const char* fact, const char* uplo, const MKL_INT64* n,
             const MKL_INT64* nrhs, const float* a, const MKL_INT64* lda,
             float* af, const MKL_INT64* ldaf, MKL_INT64* ipiv, const float* b,
             const MKL_INT64* ldb, float* x, const MKL_INT64* ldx, float* rcond,
             float* ferr, float* berr, float* work, const MKL_INT64* lwork,
             MKL_INT64* iwork, MKL_INT64* info ) NOTHROW;

void SSYSVXX_64( const char* fact, const char* uplo, const MKL_INT64* n,
              const MKL_INT64* nrhs, float* a, const MKL_INT64* lda, float* af,
              const MKL_INT64* ldaf, MKL_INT64* ipiv, char* equed, float* s,
              float* b, const MKL_INT64* ldb, float* x, const MKL_INT64* ldx,
              float* rcond, float* rpvgrw, float* berr,
              const MKL_INT64* n_err_bnds, float* err_bnds_norm,
              float* err_bnds_comp, const MKL_INT64* nparams, float* params,
              float* work, MKL_INT64* iwork, MKL_INT64* info ) NOTHROW;
void ssysvxx_64( const char* fact, const char* uplo, const MKL_INT64* n,
              const MKL_INT64* nrhs, float* a, const MKL_INT64* lda, float* af,
              const MKL_INT64* ldaf, MKL_INT64* ipiv, char* equed, float* s,
              float* b, const MKL_INT64* ldb, float* x, const MKL_INT64* ldx,
              float* rcond, float* rpvgrw, float* berr,
              const MKL_INT64* n_err_bnds, float* err_bnds_norm,
              float* err_bnds_comp, const MKL_INT64* nparams, float* params,
              float* work, MKL_INT64* iwork, MKL_INT64* info ) NOTHROW;

void SSYTD2_64( const char* uplo, const MKL_INT64* n, float* a, const MKL_INT64* lda,
             float* d, float* e, float* tau, MKL_INT64* info ) NOTHROW;
void ssytd2_64( const char* uplo, const MKL_INT64* n, float* a, const MKL_INT64* lda,
             float* d, float* e, float* tau, MKL_INT64* info ) NOTHROW;

void SSYTF2_64( const char* uplo, const MKL_INT64* n, float* a, const MKL_INT64* lda,
             MKL_INT64* ipiv, MKL_INT64* info ) NOTHROW;
void ssytf2_64( const char* uplo, const MKL_INT64* n, float* a, const MKL_INT64* lda,
             MKL_INT64* ipiv, MKL_INT64* info ) NOTHROW;

void SSYTRD_64( const char* uplo, const MKL_INT64* n, float* a, const MKL_INT64* lda,
             float* d, float* e, float* tau, float* work, const MKL_INT64* lwork,
             MKL_INT64* info ) NOTHROW;
void ssytrd_64( const char* uplo, const MKL_INT64* n, float* a, const MKL_INT64* lda,
             float* d, float* e, float* tau, float* work, const MKL_INT64* lwork,
             MKL_INT64* info ) NOTHROW;

void SSYTRF_64( const char* uplo, const MKL_INT64* n, float* a, const MKL_INT64* lda,
             MKL_INT64* ipiv, float* work, const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;
void ssytrf_64( const char* uplo, const MKL_INT64* n, float* a, const MKL_INT64* lda,
             MKL_INT64* ipiv, float* work, const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;

void SSYTRI_64( const char* uplo, const MKL_INT64* n, float* a, const MKL_INT64* lda,
             const MKL_INT64* ipiv, float* work, MKL_INT64* info ) NOTHROW;
void ssytri_64( const char* uplo, const MKL_INT64* n, float* a, const MKL_INT64* lda,
             const MKL_INT64* ipiv, float* work, MKL_INT64* info ) NOTHROW;

void SSYTRS_64( const char* uplo, const MKL_INT64* n, const MKL_INT64* nrhs,
             const float* a, const MKL_INT64* lda, const MKL_INT64* ipiv, float* b,
             const MKL_INT64* ldb, MKL_INT64* info ) NOTHROW;
void ssytrs_64( const char* uplo, const MKL_INT64* n, const MKL_INT64* nrhs,
             const float* a, const MKL_INT64* lda, const MKL_INT64* ipiv, float* b,
             const MKL_INT64* ldb, MKL_INT64* info ) NOTHROW;

void STBCON_64( const char* norm, const char* uplo, const char* diag,
             const MKL_INT64* n, const MKL_INT64* kd, const float* ab,
             const MKL_INT64* ldab, float* rcond, float* work, MKL_INT64* iwork,
             MKL_INT64* info ) NOTHROW;
void stbcon_64( const char* norm, const char* uplo, const char* diag,
             const MKL_INT64* n, const MKL_INT64* kd, const float* ab,
             const MKL_INT64* ldab, float* rcond, float* work, MKL_INT64* iwork,
             MKL_INT64* info ) NOTHROW;

void STBRFS_64( const char* uplo, const char* trans, const char* diag,
             const MKL_INT64* n, const MKL_INT64* kd, const MKL_INT64* nrhs,
             const float* ab, const MKL_INT64* ldab, const float* b,
             const MKL_INT64* ldb, const float* x, const MKL_INT64* ldx,
             float* ferr, float* berr, float* work, MKL_INT64* iwork,
             MKL_INT64* info ) NOTHROW;
void stbrfs_64( const char* uplo, const char* trans, const char* diag,
             const MKL_INT64* n, const MKL_INT64* kd, const MKL_INT64* nrhs,
             const float* ab, const MKL_INT64* ldab, const float* b,
             const MKL_INT64* ldb, const float* x, const MKL_INT64* ldx,
             float* ferr, float* berr, float* work, MKL_INT64* iwork,
             MKL_INT64* info ) NOTHROW;

void STBTRS_64( const char* uplo, const char* trans, const char* diag,
             const MKL_INT64* n, const MKL_INT64* kd, const MKL_INT64* nrhs,
             const float* ab, const MKL_INT64* ldab, float* b,
             const MKL_INT64* ldb, MKL_INT64* info ) NOTHROW;
void stbtrs_64( const char* uplo, const char* trans, const char* diag,
             const MKL_INT64* n, const MKL_INT64* kd, const MKL_INT64* nrhs,
             const float* ab, const MKL_INT64* ldab, float* b,
             const MKL_INT64* ldb, MKL_INT64* info ) NOTHROW;

void STFSM_64( const char* transr, const char* side, const char* uplo,
            const char* trans, const char* diag, const MKL_INT64* m,
            const MKL_INT64* n, const float* alpha, const float* a, float* b,
            const MKL_INT64* ldb ) NOTHROW;
void stfsm_64( const char* transr, const char* side, const char* uplo,
            const char* trans, const char* diag, const MKL_INT64* m,
            const MKL_INT64* n, const float* alpha, const float* a, float* b,
            const MKL_INT64* ldb ) NOTHROW;

void STFTRI_64( const char* transr, const char* uplo, const char* diag,
             const MKL_INT64* n, float* a, MKL_INT64* info ) NOTHROW;
void stftri_64( const char* transr, const char* uplo, const char* diag,
             const MKL_INT64* n, float* a, MKL_INT64* info ) NOTHROW;

void STFTTP_64( const char* transr, const char* uplo, const MKL_INT64* n,
             const float* arf, float* ap, MKL_INT64* info ) NOTHROW;
void stfttp_64( const char* transr, const char* uplo, const MKL_INT64* n,
             const float* arf, float* ap, MKL_INT64* info ) NOTHROW;

void STFTTR_64( const char* transr, const char* uplo, const MKL_INT64* n,
             const float* arf, float* a, const MKL_INT64* lda, MKL_INT64* info ) NOTHROW;
void stfttr_64( const char* transr, const char* uplo, const MKL_INT64* n,
             const float* arf, float* a, const MKL_INT64* lda, MKL_INT64* info ) NOTHROW;

void STGEVC_64( const char* side, const char* howmny, const MKL_INT64* select,
             const MKL_INT64* n, const float* s, const MKL_INT64* lds,
             const float* p, const MKL_INT64* ldp, float* vl,
             const MKL_INT64* ldvl, float* vr, const MKL_INT64* ldvr,
             const MKL_INT64* mm, MKL_INT64* m, float* work, MKL_INT64* info ) NOTHROW;
void stgevc_64( const char* side, const char* howmny, const MKL_INT64* select,
             const MKL_INT64* n, const float* s, const MKL_INT64* lds,
             const float* p, const MKL_INT64* ldp, float* vl,
             const MKL_INT64* ldvl, float* vr, const MKL_INT64* ldvr,
             const MKL_INT64* mm, MKL_INT64* m, float* work, MKL_INT64* info ) NOTHROW;

void STGEX2_64( const MKL_INT64* wantq, const MKL_INT64* wantz, const MKL_INT64* n,
             float* a, const MKL_INT64* lda, float* b, const MKL_INT64* ldb,
             float* q, const MKL_INT64* ldq, float* z, const MKL_INT64* ldz,
             const MKL_INT64* j1, const MKL_INT64* n1, const MKL_INT64* n2,
             float* work, const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;
void stgex2_64( const MKL_INT64* wantq, const MKL_INT64* wantz, const MKL_INT64* n,
             float* a, const MKL_INT64* lda, float* b, const MKL_INT64* ldb,
             float* q, const MKL_INT64* ldq, float* z, const MKL_INT64* ldz,
             const MKL_INT64* j1, const MKL_INT64* n1, const MKL_INT64* n2,
             float* work, const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;

void STGEXC_64( const MKL_INT64* wantq, const MKL_INT64* wantz, const MKL_INT64* n,
             float* a, const MKL_INT64* lda, float* b, const MKL_INT64* ldb,
             float* q, const MKL_INT64* ldq, float* z, const MKL_INT64* ldz,
             MKL_INT64* ifst, MKL_INT64* ilst, float* work, const MKL_INT64* lwork,
             MKL_INT64* info ) NOTHROW;
void stgexc_64( const MKL_INT64* wantq, const MKL_INT64* wantz, const MKL_INT64* n,
             float* a, const MKL_INT64* lda, float* b, const MKL_INT64* ldb,
             float* q, const MKL_INT64* ldq, float* z, const MKL_INT64* ldz,
             MKL_INT64* ifst, MKL_INT64* ilst, float* work, const MKL_INT64* lwork,
             MKL_INT64* info ) NOTHROW;

void STGSEN_64( const MKL_INT64* ijob, const MKL_INT64* wantq, const MKL_INT64* wantz,
             const MKL_INT64* select, const MKL_INT64* n, float* a,
             const MKL_INT64* lda, float* b, const MKL_INT64* ldb, float* alphar,
             float* alphai, float* beta, float* q, const MKL_INT64* ldq,
             float* z, const MKL_INT64* ldz, MKL_INT64* m, float* pl, float* pr,
             float* dif, float* work, const MKL_INT64* lwork, MKL_INT64* iwork,
             const MKL_INT64* liwork, MKL_INT64* info ) NOTHROW;
void stgsen_64( const MKL_INT64* ijob, const MKL_INT64* wantq, const MKL_INT64* wantz,
             const MKL_INT64* select, const MKL_INT64* n, float* a,
             const MKL_INT64* lda, float* b, const MKL_INT64* ldb, float* alphar,
             float* alphai, float* beta, float* q, const MKL_INT64* ldq,
             float* z, const MKL_INT64* ldz, MKL_INT64* m, float* pl, float* pr,
             float* dif, float* work, const MKL_INT64* lwork, MKL_INT64* iwork,
             const MKL_INT64* liwork, MKL_INT64* info ) NOTHROW;

void STGSJA_64( const char* jobu, const char* jobv, const char* jobq,
             const MKL_INT64* m, const MKL_INT64* p, const MKL_INT64* n,
             const MKL_INT64* k, const MKL_INT64* l, float* a, const MKL_INT64* lda,
             float* b, const MKL_INT64* ldb, const float* tola,
             const float* tolb, float* alpha, float* beta, float* u,
             const MKL_INT64* ldu, float* v, const MKL_INT64* ldv, float* q,
             const MKL_INT64* ldq, float* work, MKL_INT64* ncycle, MKL_INT64* info ) NOTHROW;
void stgsja_64( const char* jobu, const char* jobv, const char* jobq,
             const MKL_INT64* m, const MKL_INT64* p, const MKL_INT64* n,
             const MKL_INT64* k, const MKL_INT64* l, float* a, const MKL_INT64* lda,
             float* b, const MKL_INT64* ldb, const float* tola,
             const float* tolb, float* alpha, float* beta, float* u,
             const MKL_INT64* ldu, float* v, const MKL_INT64* ldv, float* q,
             const MKL_INT64* ldq, float* work, MKL_INT64* ncycle, MKL_INT64* info ) NOTHROW;

void STGSNA_64( const char* job, const char* howmny, const MKL_INT64* select,
             const MKL_INT64* n, const float* a, const MKL_INT64* lda,
             const float* b, const MKL_INT64* ldb, const float* vl,
             const MKL_INT64* ldvl, const float* vr, const MKL_INT64* ldvr,
             float* s, float* dif, const MKL_INT64* mm, MKL_INT64* m, float* work,
             const MKL_INT64* lwork, MKL_INT64* iwork, MKL_INT64* info ) NOTHROW;
void stgsna_64( const char* job, const char* howmny, const MKL_INT64* select,
             const MKL_INT64* n, const float* a, const MKL_INT64* lda,
             const float* b, const MKL_INT64* ldb, const float* vl,
             const MKL_INT64* ldvl, const float* vr, const MKL_INT64* ldvr,
             float* s, float* dif, const MKL_INT64* mm, MKL_INT64* m, float* work,
             const MKL_INT64* lwork, MKL_INT64* iwork, MKL_INT64* info ) NOTHROW;

void STGSY2_64( const char* trans, const MKL_INT64* ijob, const MKL_INT64* m,
             const MKL_INT64* n, const float* a, const MKL_INT64* lda,
             const float* b, const MKL_INT64* ldb, float* c, const MKL_INT64* ldc,
             const float* d, const MKL_INT64* ldd, const float* e,
             const MKL_INT64* lde, float* f, const MKL_INT64* ldf, float* scale,
             float* rdsum, float* rdscal, MKL_INT64* iwork, MKL_INT64* pq,
             MKL_INT64* info ) NOTHROW;
void stgsy2_64( const char* trans, const MKL_INT64* ijob, const MKL_INT64* m,
             const MKL_INT64* n, const float* a, const MKL_INT64* lda,
             const float* b, const MKL_INT64* ldb, float* c, const MKL_INT64* ldc,
             const float* d, const MKL_INT64* ldd, const float* e,
             const MKL_INT64* lde, float* f, const MKL_INT64* ldf, float* scale,
             float* rdsum, float* rdscal, MKL_INT64* iwork, MKL_INT64* pq,
             MKL_INT64* info ) NOTHROW;

void STGSYL_64( const char* trans, const MKL_INT64* ijob, const MKL_INT64* m,
             const MKL_INT64* n, const float* a, const MKL_INT64* lda,
             const float* b, const MKL_INT64* ldb, float* c, const MKL_INT64* ldc,
             const float* d, const MKL_INT64* ldd, const float* e,
             const MKL_INT64* lde, float* f, const MKL_INT64* ldf, float* scale,
             float* dif, float* work, const MKL_INT64* lwork, MKL_INT64* iwork,
             MKL_INT64* info ) NOTHROW;
void stgsyl_64( const char* trans, const MKL_INT64* ijob, const MKL_INT64* m,
             const MKL_INT64* n, const float* a, const MKL_INT64* lda,
             const float* b, const MKL_INT64* ldb, float* c, const MKL_INT64* ldc,
             const float* d, const MKL_INT64* ldd, const float* e,
             const MKL_INT64* lde, float* f, const MKL_INT64* ldf, float* scale,
             float* dif, float* work, const MKL_INT64* lwork, MKL_INT64* iwork,
             MKL_INT64* info ) NOTHROW;

void STPCON_64( const char* norm, const char* uplo, const char* diag,
             const MKL_INT64* n, const float* ap, float* rcond, float* work,
             MKL_INT64* iwork, MKL_INT64* info ) NOTHROW;
void stpcon_64( const char* norm, const char* uplo, const char* diag,
             const MKL_INT64* n, const float* ap, float* rcond, float* work,
             MKL_INT64* iwork, MKL_INT64* info ) NOTHROW;

void STPRFS_64( const char* uplo, const char* trans, const char* diag,
             const MKL_INT64* n, const MKL_INT64* nrhs, const float* ap,
             const float* b, const MKL_INT64* ldb, const float* x,
             const MKL_INT64* ldx, float* ferr, float* berr, float* work,
             MKL_INT64* iwork, MKL_INT64* info ) NOTHROW;
void stprfs_64( const char* uplo, const char* trans, const char* diag,
             const MKL_INT64* n, const MKL_INT64* nrhs, const float* ap,
             const float* b, const MKL_INT64* ldb, const float* x,
             const MKL_INT64* ldx, float* ferr, float* berr, float* work,
             MKL_INT64* iwork, MKL_INT64* info ) NOTHROW;

void STPTRI_64( const char* uplo, const char* diag, const MKL_INT64* n, float* ap,
             MKL_INT64* info ) NOTHROW;
void stptri_64( const char* uplo, const char* diag, const MKL_INT64* n, float* ap,
             MKL_INT64* info ) NOTHROW;

void STPTRS_64( const char* uplo, const char* trans, const char* diag,
             const MKL_INT64* n, const MKL_INT64* nrhs, const float* ap, float* b,
             const MKL_INT64* ldb, MKL_INT64* info ) NOTHROW;
void stptrs_64( const char* uplo, const char* trans, const char* diag,
             const MKL_INT64* n, const MKL_INT64* nrhs, const float* ap, float* b,
             const MKL_INT64* ldb, MKL_INT64* info ) NOTHROW;

void STPTTF_64( const char* transr, const char* uplo, const MKL_INT64* n,
             const float* ap, float* arf, MKL_INT64* info ) NOTHROW;
void stpttf_64( const char* transr, const char* uplo, const MKL_INT64* n,
             const float* ap, float* arf, MKL_INT64* info ) NOTHROW;

void STPTTR_64( const char* uplo, const MKL_INT64* n, const float* ap, float* a,
             const MKL_INT64* lda, MKL_INT64* info ) NOTHROW;
void stpttr_64( const char* uplo, const MKL_INT64* n, const float* ap, float* a,
             const MKL_INT64* lda, MKL_INT64* info ) NOTHROW;

void STRCON_64( const char* norm, const char* uplo, const char* diag,
             const MKL_INT64* n, const float* a, const MKL_INT64* lda,
             float* rcond, float* work, MKL_INT64* iwork, MKL_INT64* info ) NOTHROW;
void strcon_64( const char* norm, const char* uplo, const char* diag,
             const MKL_INT64* n, const float* a, const MKL_INT64* lda,
             float* rcond, float* work, MKL_INT64* iwork, MKL_INT64* info ) NOTHROW;

void STREVC_64( const char* side, const char* howmny, MKL_INT64* select,
             const MKL_INT64* n, const float* t, const MKL_INT64* ldt, float* vl,
             const MKL_INT64* ldvl, float* vr, const MKL_INT64* ldvr,
             const MKL_INT64* mm, MKL_INT64* m, float* work, MKL_INT64* info ) NOTHROW;
void strevc_64( const char* side, const char* howmny, MKL_INT64* select,
             const MKL_INT64* n, const float* t, const MKL_INT64* ldt, float* vl,
             const MKL_INT64* ldvl, float* vr, const MKL_INT64* ldvr,
             const MKL_INT64* mm, MKL_INT64* m, float* work, MKL_INT64* info ) NOTHROW;

void STREXC_64( const char* compq, const MKL_INT64* n, float* t, const MKL_INT64* ldt,
             float* q, const MKL_INT64* ldq, MKL_INT64* ifst, MKL_INT64* ilst,
             float* work, MKL_INT64* info ) NOTHROW;
void strexc_64( const char* compq, const MKL_INT64* n, float* t, const MKL_INT64* ldt,
             float* q, const MKL_INT64* ldq, MKL_INT64* ifst, MKL_INT64* ilst,
             float* work, MKL_INT64* info ) NOTHROW;

void STRRFS_64( const char* uplo, const char* trans, const char* diag,
             const MKL_INT64* n, const MKL_INT64* nrhs, const float* a,
             const MKL_INT64* lda, const float* b, const MKL_INT64* ldb,
             const float* x, const MKL_INT64* ldx, float* ferr, float* berr,
             float* work, MKL_INT64* iwork, MKL_INT64* info ) NOTHROW;
void strrfs_64( const char* uplo, const char* trans, const char* diag,
             const MKL_INT64* n, const MKL_INT64* nrhs, const float* a,
             const MKL_INT64* lda, const float* b, const MKL_INT64* ldb,
             const float* x, const MKL_INT64* ldx, float* ferr, float* berr,
             float* work, MKL_INT64* iwork, MKL_INT64* info ) NOTHROW;

void STRSEN_64( const char* job, const char* compq, const MKL_INT64* select,
             const MKL_INT64* n, float* t, const MKL_INT64* ldt, float* q,
             const MKL_INT64* ldq, float* wr, float* wi, MKL_INT64* m, float* s,
             float* sep, float* work, const MKL_INT64* lwork, MKL_INT64* iwork,
             const MKL_INT64* liwork, MKL_INT64* info ) NOTHROW;
void strsen_64( const char* job, const char* compq, const MKL_INT64* select,
             const MKL_INT64* n, float* t, const MKL_INT64* ldt, float* q,
             const MKL_INT64* ldq, float* wr, float* wi, MKL_INT64* m, float* s,
             float* sep, float* work, const MKL_INT64* lwork, MKL_INT64* iwork,
             const MKL_INT64* liwork, MKL_INT64* info ) NOTHROW;

void STRSNA_64( const char* job, const char* howmny, const MKL_INT64* select,
             const MKL_INT64* n, const float* t, const MKL_INT64* ldt,
             const float* vl, const MKL_INT64* ldvl, const float* vr,
             const MKL_INT64* ldvr, float* s, float* sep, const MKL_INT64* mm,
             MKL_INT64* m, float* work, const MKL_INT64* ldwork, MKL_INT64* iwork,
             MKL_INT64* info ) NOTHROW;
void strsna_64( const char* job, const char* howmny, const MKL_INT64* select,
             const MKL_INT64* n, const float* t, const MKL_INT64* ldt,
             const float* vl, const MKL_INT64* ldvl, const float* vr,
             const MKL_INT64* ldvr, float* s, float* sep, const MKL_INT64* mm,
             MKL_INT64* m, float* work, const MKL_INT64* ldwork, MKL_INT64* iwork,
             MKL_INT64* info ) NOTHROW;

void STRSYL_64( const char* trana, const char* tranb, const MKL_INT64* isgn,
             const MKL_INT64* m, const MKL_INT64* n, const float* a,
             const MKL_INT64* lda, const float* b, const MKL_INT64* ldb, float* c,
             const MKL_INT64* ldc, float* scale, MKL_INT64* info ) NOTHROW;
void strsyl_64( const char* trana, const char* tranb, const MKL_INT64* isgn,
             const MKL_INT64* m, const MKL_INT64* n, const float* a,
             const MKL_INT64* lda, const float* b, const MKL_INT64* ldb, float* c,
             const MKL_INT64* ldc, float* scale, MKL_INT64* info ) NOTHROW;

void STRTI2_64( const char* uplo, const char* diag, const MKL_INT64* n, float* a,
             const MKL_INT64* lda, MKL_INT64* info ) NOTHROW;
void strti2_64( const char* uplo, const char* diag, const MKL_INT64* n, float* a,
             const MKL_INT64* lda, MKL_INT64* info ) NOTHROW;

void STRTRI_64( const char* uplo, const char* diag, const MKL_INT64* n, float* a,
             const MKL_INT64* lda, MKL_INT64* info ) NOTHROW;
void strtri_64( const char* uplo, const char* diag, const MKL_INT64* n, float* a,
             const MKL_INT64* lda, MKL_INT64* info ) NOTHROW;

void STRTRS_64( const char* uplo, const char* trans, const char* diag,
             const MKL_INT64* n, const MKL_INT64* nrhs, const float* a,
             const MKL_INT64* lda, float* b, const MKL_INT64* ldb, MKL_INT64* info ) NOTHROW;
void strtrs_64( const char* uplo, const char* trans, const char* diag,
             const MKL_INT64* n, const MKL_INT64* nrhs, const float* a,
             const MKL_INT64* lda, float* b, const MKL_INT64* ldb, MKL_INT64* info ) NOTHROW;

void STRTTF_64( const char* transr, const char* uplo, const MKL_INT64* n,
             const float* a, const MKL_INT64* lda, float* arf, MKL_INT64* info ) NOTHROW;
void strttf_64( const char* transr, const char* uplo, const MKL_INT64* n,
             const float* a, const MKL_INT64* lda, float* arf, MKL_INT64* info ) NOTHROW;

void STRTTP_64( const char* uplo, const MKL_INT64* n, const float* a,
             const MKL_INT64* lda, float* ap, MKL_INT64* info ) NOTHROW;
void strttp_64( const char* uplo, const MKL_INT64* n, const float* a,
             const MKL_INT64* lda, float* ap, MKL_INT64* info ) NOTHROW;

void STZRQF_64( const MKL_INT64* m, const MKL_INT64* n, float* a, const MKL_INT64* lda,
             float* tau, MKL_INT64* info ) NOTHROW;
void stzrqf_64( const MKL_INT64* m, const MKL_INT64* n, float* a, const MKL_INT64* lda,
             float* tau, MKL_INT64* info ) NOTHROW;

void STZRZF_64( const MKL_INT64* m, const MKL_INT64* n, float* a, const MKL_INT64* lda,
             float* tau, float* work, const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;
void stzrzf_64( const MKL_INT64* m, const MKL_INT64* n, float* a, const MKL_INT64* lda,
             float* tau, float* work, const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;

void XERBLA_ARRAY_64( const char* srname_array, const MKL_INT64* srname_len,
                   const MKL_INT64* info ) NOTHROW;
void xerbla_array_64( const char* srname_array, const MKL_INT64* srname_len,
                   const MKL_INT64* info ) NOTHROW;

void ZBDSQR_64( const char* uplo, const MKL_INT64* n, const MKL_INT64* ncvt,
             const MKL_INT64* nru, const MKL_INT64* ncc, double* d, double* e,
             MKL_Complex16* vt, const MKL_INT64* ldvt, MKL_Complex16* u,
             const MKL_INT64* ldu, MKL_Complex16* c, const MKL_INT64* ldc,
             double* rwork, MKL_INT64* info ) NOTHROW;
void zbdsqr_64( const char* uplo, const MKL_INT64* n, const MKL_INT64* ncvt,
             const MKL_INT64* nru, const MKL_INT64* ncc, double* d, double* e,
             MKL_Complex16* vt, const MKL_INT64* ldvt, MKL_Complex16* u,
             const MKL_INT64* ldu, MKL_Complex16* c, const MKL_INT64* ldc,
             double* rwork, MKL_INT64* info ) NOTHROW;

void ZCGESV_64( const MKL_INT64* n, const MKL_INT64* nrhs, MKL_Complex16* a,
             const MKL_INT64* lda, MKL_INT64* ipiv, const MKL_Complex16* b,
             const MKL_INT64* ldb, MKL_Complex16* x, const MKL_INT64* ldx,
             MKL_Complex16* work, MKL_Complex8* swork, double* rwork,
             MKL_INT64* iter, MKL_INT64* info ) NOTHROW;
void zcgesv_64( const MKL_INT64* n, const MKL_INT64* nrhs, MKL_Complex16* a,
             const MKL_INT64* lda, MKL_INT64* ipiv, const MKL_Complex16* b,
             const MKL_INT64* ldb, MKL_Complex16* x, const MKL_INT64* ldx,
             MKL_Complex16* work, MKL_Complex8* swork, double* rwork,
             MKL_INT64* iter, MKL_INT64* info ) NOTHROW;

void ZCPOSV_64( const char* uplo, const MKL_INT64* n, const MKL_INT64* nrhs,
             MKL_Complex16* a, const MKL_INT64* lda, const MKL_Complex16* b,
             const MKL_INT64* ldb, MKL_Complex16* x, const MKL_INT64* ldx,
             MKL_Complex16* work, MKL_Complex8* swork, double* rwork,
             MKL_INT64* iter, MKL_INT64* info ) NOTHROW;
void zcposv_64( const char* uplo, const MKL_INT64* n, const MKL_INT64* nrhs,
             MKL_Complex16* a, const MKL_INT64* lda, const MKL_Complex16* b,
             const MKL_INT64* ldb, MKL_Complex16* x, const MKL_INT64* ldx,
             MKL_Complex16* work, MKL_Complex8* swork, double* rwork,
             MKL_INT64* iter, MKL_INT64* info ) NOTHROW;

void ZDRSCL_64( const MKL_INT64* n, const double* sa, MKL_Complex16* sx,
             const MKL_INT64* incx ) NOTHROW;
void zdrscl_64( const MKL_INT64* n, const double* sa, MKL_Complex16* sx,
             const MKL_INT64* incx ) NOTHROW;

void ZGBBRD_64( const char* vect, const MKL_INT64* m, const MKL_INT64* n,
             const MKL_INT64* ncc, const MKL_INT64* kl, const MKL_INT64* ku,
             MKL_Complex16* ab, const MKL_INT64* ldab, double* d, double* e,
             MKL_Complex16* q, const MKL_INT64* ldq, MKL_Complex16* pt,
             const MKL_INT64* ldpt, MKL_Complex16* c, const MKL_INT64* ldc,
             MKL_Complex16* work, double* rwork, MKL_INT64* info ) NOTHROW;
void zgbbrd_64( const char* vect, const MKL_INT64* m, const MKL_INT64* n,
             const MKL_INT64* ncc, const MKL_INT64* kl, const MKL_INT64* ku,
             MKL_Complex16* ab, const MKL_INT64* ldab, double* d, double* e,
             MKL_Complex16* q, const MKL_INT64* ldq, MKL_Complex16* pt,
             const MKL_INT64* ldpt, MKL_Complex16* c, const MKL_INT64* ldc,
             MKL_Complex16* work, double* rwork, MKL_INT64* info ) NOTHROW;

void ZGBCON_64( const char* norm, const MKL_INT64* n, const MKL_INT64* kl,
             const MKL_INT64* ku, const MKL_Complex16* ab, const MKL_INT64* ldab,
             const MKL_INT64* ipiv, const double* anorm, double* rcond,
             MKL_Complex16* work, double* rwork, MKL_INT64* info ) NOTHROW;
void zgbcon_64( const char* norm, const MKL_INT64* n, const MKL_INT64* kl,
             const MKL_INT64* ku, const MKL_Complex16* ab, const MKL_INT64* ldab,
             const MKL_INT64* ipiv, const double* anorm, double* rcond,
             MKL_Complex16* work, double* rwork, MKL_INT64* info ) NOTHROW;

void ZGBEQUB_64( const MKL_INT64* m, const MKL_INT64* n, const MKL_INT64* kl,
              const MKL_INT64* ku, const MKL_Complex16* ab, const MKL_INT64* ldab,
              double* r, double* c, double* rowcnd, double* colcnd,
              double* amax, MKL_INT64* info ) NOTHROW;
void zgbequb_64( const MKL_INT64* m, const MKL_INT64* n, const MKL_INT64* kl,
              const MKL_INT64* ku, const MKL_Complex16* ab, const MKL_INT64* ldab,
              double* r, double* c, double* rowcnd, double* colcnd,
              double* amax, MKL_INT64* info ) NOTHROW;

void ZGBEQU_64( const MKL_INT64* m, const MKL_INT64* n, const MKL_INT64* kl,
             const MKL_INT64* ku, const MKL_Complex16* ab, const MKL_INT64* ldab,
             double* r, double* c, double* rowcnd, double* colcnd,
             double* amax, MKL_INT64* info ) NOTHROW;
void zgbequ_64( const MKL_INT64* m, const MKL_INT64* n, const MKL_INT64* kl,
             const MKL_INT64* ku, const MKL_Complex16* ab, const MKL_INT64* ldab,
             double* r, double* c, double* rowcnd, double* colcnd,
             double* amax, MKL_INT64* info ) NOTHROW;

void ZGBRFS_64( const char* trans, const MKL_INT64* n, const MKL_INT64* kl,
             const MKL_INT64* ku, const MKL_INT64* nrhs, const MKL_Complex16* ab,
             const MKL_INT64* ldab, const MKL_Complex16* afb,
             const MKL_INT64* ldafb, const MKL_INT64* ipiv, const MKL_Complex16* b,
             const MKL_INT64* ldb, MKL_Complex16* x, const MKL_INT64* ldx,
             double* ferr, double* berr, MKL_Complex16* work, double* rwork,
             MKL_INT64* info ) NOTHROW;
void zgbrfs_64( const char* trans, const MKL_INT64* n, const MKL_INT64* kl,
             const MKL_INT64* ku, const MKL_INT64* nrhs, const MKL_Complex16* ab,
             const MKL_INT64* ldab, const MKL_Complex16* afb,
             const MKL_INT64* ldafb, const MKL_INT64* ipiv, const MKL_Complex16* b,
             const MKL_INT64* ldb, MKL_Complex16* x, const MKL_INT64* ldx,
             double* ferr, double* berr, MKL_Complex16* work, double* rwork,
             MKL_INT64* info ) NOTHROW;

void ZGBRFSX_64( const char* trans, const char* equed, const MKL_INT64* n,
              const MKL_INT64* kl, const MKL_INT64* ku, const MKL_INT64* nrhs,
              const MKL_Complex16* ab, const MKL_INT64* ldab,
              const MKL_Complex16* afb, const MKL_INT64* ldafb,
              const MKL_INT64* ipiv, double* r, double* c,
              const MKL_Complex16* b, const MKL_INT64* ldb, MKL_Complex16* x,
              const MKL_INT64* ldx, double* rcond, double* berr,
              const MKL_INT64* n_err_bnds, double* err_bnds_norm,
              double* err_bnds_comp, const MKL_INT64* nparams, double* params,
              MKL_Complex16* work, double* rwork, MKL_INT64* info ) NOTHROW;
void zgbrfsx_64( const char* trans, const char* equed, const MKL_INT64* n,
              const MKL_INT64* kl, const MKL_INT64* ku, const MKL_INT64* nrhs,
              const MKL_Complex16* ab, const MKL_INT64* ldab,
              const MKL_Complex16* afb, const MKL_INT64* ldafb,
              const MKL_INT64* ipiv, double* r, double* c,
              const MKL_Complex16* b, const MKL_INT64* ldb, MKL_Complex16* x,
              const MKL_INT64* ldx, double* rcond, double* berr,
              const MKL_INT64* n_err_bnds, double* err_bnds_norm,
              double* err_bnds_comp, const MKL_INT64* nparams, double* params,
              MKL_Complex16* work, double* rwork, MKL_INT64* info ) NOTHROW;

void ZGBSV_64( const MKL_INT64* n, const MKL_INT64* kl, const MKL_INT64* ku,
            const MKL_INT64* nrhs, MKL_Complex16* ab, const MKL_INT64* ldab,
            MKL_INT64* ipiv, MKL_Complex16* b, const MKL_INT64* ldb,
            MKL_INT64* info ) NOTHROW;
void zgbsv_64( const MKL_INT64* n, const MKL_INT64* kl, const MKL_INT64* ku,
            const MKL_INT64* nrhs, MKL_Complex16* ab, const MKL_INT64* ldab,
            MKL_INT64* ipiv, MKL_Complex16* b, const MKL_INT64* ldb,
            MKL_INT64* info ) NOTHROW;

void ZGBSVX_64( const char* fact, const char* trans, const MKL_INT64* n,
             const MKL_INT64* kl, const MKL_INT64* ku, const MKL_INT64* nrhs,
             MKL_Complex16* ab, const MKL_INT64* ldab, MKL_Complex16* afb,
             const MKL_INT64* ldafb, MKL_INT64* ipiv, char* equed, double* r,
             double* c, MKL_Complex16* b, const MKL_INT64* ldb, MKL_Complex16* x,
             const MKL_INT64* ldx, double* rcond, double* ferr, double* berr,
             MKL_Complex16* work, double* rwork, MKL_INT64* info ) NOTHROW;
void zgbsvx_64( const char* fact, const char* trans, const MKL_INT64* n,
             const MKL_INT64* kl, const MKL_INT64* ku, const MKL_INT64* nrhs,
             MKL_Complex16* ab, const MKL_INT64* ldab, MKL_Complex16* afb,
             const MKL_INT64* ldafb, MKL_INT64* ipiv, char* equed, double* r,
             double* c, MKL_Complex16* b, const MKL_INT64* ldb, MKL_Complex16* x,
             const MKL_INT64* ldx, double* rcond, double* ferr, double* berr,
             MKL_Complex16* work, double* rwork, MKL_INT64* info ) NOTHROW;

void ZGBSVXX_64( const char* fact, const char* trans, const MKL_INT64* n,
              const MKL_INT64* kl, const MKL_INT64* ku, const MKL_INT64* nrhs,
              MKL_Complex16* ab, const MKL_INT64* ldab, MKL_Complex16* afb,
              const MKL_INT64* ldafb, MKL_INT64* ipiv, char* equed, double* r,
              double* c, MKL_Complex16* b, const MKL_INT64* ldb,
              MKL_Complex16* x, const MKL_INT64* ldx, double* rcond,
              double* rpvgrw, double* berr, const MKL_INT64* n_err_bnds,
              double* err_bnds_norm, double* err_bnds_comp,
              const MKL_INT64* nparams, double* params, MKL_Complex16* work,
              double* rwork, MKL_INT64* info ) NOTHROW;
void zgbsvxx_64( const char* fact, const char* trans, const MKL_INT64* n,
              const MKL_INT64* kl, const MKL_INT64* ku, const MKL_INT64* nrhs,
              MKL_Complex16* ab, const MKL_INT64* ldab, MKL_Complex16* afb,
              const MKL_INT64* ldafb, MKL_INT64* ipiv, char* equed, double* r,
              double* c, MKL_Complex16* b, const MKL_INT64* ldb,
              MKL_Complex16* x, const MKL_INT64* ldx, double* rcond,
              double* rpvgrw, double* berr, const MKL_INT64* n_err_bnds,
              double* err_bnds_norm, double* err_bnds_comp,
              const MKL_INT64* nparams, double* params, MKL_Complex16* work,
              double* rwork, MKL_INT64* info ) NOTHROW;

void ZGBTF2_64( const MKL_INT64* m, const MKL_INT64* n, const MKL_INT64* kl,
             const MKL_INT64* ku, MKL_Complex16* ab, const MKL_INT64* ldab,
             MKL_INT64* ipiv, MKL_INT64* info ) NOTHROW;
void zgbtf2_64( const MKL_INT64* m, const MKL_INT64* n, const MKL_INT64* kl,
             const MKL_INT64* ku, MKL_Complex16* ab, const MKL_INT64* ldab,
             MKL_INT64* ipiv, MKL_INT64* info ) NOTHROW;

void ZGBTRF_64( const MKL_INT64* m, const MKL_INT64* n, const MKL_INT64* kl,
             const MKL_INT64* ku, MKL_Complex16* ab, const MKL_INT64* ldab,
             MKL_INT64* ipiv, MKL_INT64* info ) NOTHROW;
void zgbtrf_64( const MKL_INT64* m, const MKL_INT64* n, const MKL_INT64* kl,
             const MKL_INT64* ku, MKL_Complex16* ab, const MKL_INT64* ldab,
             MKL_INT64* ipiv, MKL_INT64* info ) NOTHROW;

void ZGBTRS_64( const char* trans, const MKL_INT64* n, const MKL_INT64* kl,
             const MKL_INT64* ku, const MKL_INT64* nrhs, const MKL_Complex16* ab,
             const MKL_INT64* ldab, const MKL_INT64* ipiv, MKL_Complex16* b,
             const MKL_INT64* ldb, MKL_INT64* info ) NOTHROW;
void zgbtrs_64( const char* trans, const MKL_INT64* n, const MKL_INT64* kl,
             const MKL_INT64* ku, const MKL_INT64* nrhs, const MKL_Complex16* ab,
             const MKL_INT64* ldab, const MKL_INT64* ipiv, MKL_Complex16* b,
             const MKL_INT64* ldb, MKL_INT64* info ) NOTHROW;

void ZGEBAK_64( const char* job, const char* side, const MKL_INT64* n,
             const MKL_INT64* ilo, const MKL_INT64* ihi, const double* scale,
             const MKL_INT64* m, MKL_Complex16* v, const MKL_INT64* ldv,
             MKL_INT64* info ) NOTHROW;
void zgebak_64( const char* job, const char* side, const MKL_INT64* n,
             const MKL_INT64* ilo, const MKL_INT64* ihi, const double* scale,
             const MKL_INT64* m, MKL_Complex16* v, const MKL_INT64* ldv,
             MKL_INT64* info ) NOTHROW;

void ZGEBAL_64( const char* job, const MKL_INT64* n, MKL_Complex16* a,
             const MKL_INT64* lda, MKL_INT64* ilo, MKL_INT64* ihi, double* scale,
             MKL_INT64* info ) NOTHROW;
void zgebal_64( const char* job, const MKL_INT64* n, MKL_Complex16* a,
             const MKL_INT64* lda, MKL_INT64* ilo, MKL_INT64* ihi, double* scale,
             MKL_INT64* info ) NOTHROW;

void ZGEBD2_64( const MKL_INT64* m, const MKL_INT64* n, MKL_Complex16* a,
             const MKL_INT64* lda, double* d, double* e, MKL_Complex16* tauq,
             MKL_Complex16* taup, MKL_Complex16* work, MKL_INT64* info ) NOTHROW;
void zgebd2_64( const MKL_INT64* m, const MKL_INT64* n, MKL_Complex16* a,
             const MKL_INT64* lda, double* d, double* e, MKL_Complex16* tauq,
             MKL_Complex16* taup, MKL_Complex16* work, MKL_INT64* info ) NOTHROW;

void ZGEBRD_64( const MKL_INT64* m, const MKL_INT64* n, MKL_Complex16* a,
             const MKL_INT64* lda, double* d, double* e, MKL_Complex16* tauq,
             MKL_Complex16* taup, MKL_Complex16* work, const MKL_INT64* lwork,
             MKL_INT64* info ) NOTHROW;
void zgebrd_64( const MKL_INT64* m, const MKL_INT64* n, MKL_Complex16* a,
             const MKL_INT64* lda, double* d, double* e, MKL_Complex16* tauq,
             MKL_Complex16* taup, MKL_Complex16* work, const MKL_INT64* lwork,
             MKL_INT64* info ) NOTHROW;

void ZGECON_64( const char* norm, const MKL_INT64* n, const MKL_Complex16* a,
             const MKL_INT64* lda, const double* anorm, double* rcond,
             MKL_Complex16* work, double* rwork, MKL_INT64* info ) NOTHROW;
void zgecon_64( const char* norm, const MKL_INT64* n, const MKL_Complex16* a,
             const MKL_INT64* lda, const double* anorm, double* rcond,
             MKL_Complex16* work, double* rwork, MKL_INT64* info ) NOTHROW;

void ZGEEQUB_64( const MKL_INT64* m, const MKL_INT64* n, const MKL_Complex16* a,
              const MKL_INT64* lda, double* r, double* c, double* rowcnd,
              double* colcnd, double* amax, MKL_INT64* info ) NOTHROW;
void zgeequb_64( const MKL_INT64* m, const MKL_INT64* n, const MKL_Complex16* a,
              const MKL_INT64* lda, double* r, double* c, double* rowcnd,
              double* colcnd, double* amax, MKL_INT64* info ) NOTHROW;

void ZGEEQU_64( const MKL_INT64* m, const MKL_INT64* n, const MKL_Complex16* a,
             const MKL_INT64* lda, double* r, double* c, double* rowcnd,
             double* colcnd, double* amax, MKL_INT64* info ) NOTHROW;
void zgeequ_64( const MKL_INT64* m, const MKL_INT64* n, const MKL_Complex16* a,
             const MKL_INT64* lda, double* r, double* c, double* rowcnd,
             double* colcnd, double* amax, MKL_INT64* info ) NOTHROW;

void ZGEES_64( const char* jobvs, const char* sort,
            MKL_Z_SELECT_FUNCTION_1_64 select, const MKL_INT64* n, MKL_Complex16* a,
            const MKL_INT64* lda, MKL_INT64* sdim, MKL_Complex16* w,
            MKL_Complex16* vs, const MKL_INT64* ldvs, MKL_Complex16* work,
            const MKL_INT64* lwork, double* rwork, MKL_INT64* bwork,
            MKL_INT64* info ) NOTHROW;
void zgees_64( const char* jobvs, const char* sort,
            MKL_Z_SELECT_FUNCTION_1_64 select, const MKL_INT64* n, MKL_Complex16* a,
            const MKL_INT64* lda, MKL_INT64* sdim, MKL_Complex16* w,
            MKL_Complex16* vs, const MKL_INT64* ldvs, MKL_Complex16* work,
            const MKL_INT64* lwork, double* rwork, MKL_INT64* bwork,
            MKL_INT64* info ) NOTHROW;

void ZGEESX_64( const char* jobvs, const char* sort,
             MKL_Z_SELECT_FUNCTION_1_64 select, const char* sense,
             const MKL_INT64* n, MKL_Complex16* a, const MKL_INT64* lda,
             MKL_INT64* sdim, MKL_Complex16* w, MKL_Complex16* vs,
             const MKL_INT64* ldvs, double* rconde, double* rcondv,
             MKL_Complex16* work, const MKL_INT64* lwork, double* rwork,
             MKL_INT64* bwork, MKL_INT64* info ) NOTHROW;
void zgeesx_64( const char* jobvs, const char* sort,
             MKL_Z_SELECT_FUNCTION_1_64 select, const char* sense,
             const MKL_INT64* n, MKL_Complex16* a, const MKL_INT64* lda,
             MKL_INT64* sdim, MKL_Complex16* w, MKL_Complex16* vs,
             const MKL_INT64* ldvs, double* rconde, double* rcondv,
             MKL_Complex16* work, const MKL_INT64* lwork, double* rwork,
             MKL_INT64* bwork, MKL_INT64* info ) NOTHROW;

void ZGEEV_64( const char* jobvl, const char* jobvr, const MKL_INT64* n,
            MKL_Complex16* a, const MKL_INT64* lda, MKL_Complex16* w,
            MKL_Complex16* vl, const MKL_INT64* ldvl, MKL_Complex16* vr,
            const MKL_INT64* ldvr, MKL_Complex16* work, const MKL_INT64* lwork,
            double* rwork, MKL_INT64* info ) NOTHROW;
void zgeev_64( const char* jobvl, const char* jobvr, const MKL_INT64* n,
            MKL_Complex16* a, const MKL_INT64* lda, MKL_Complex16* w,
            MKL_Complex16* vl, const MKL_INT64* ldvl, MKL_Complex16* vr,
            const MKL_INT64* ldvr, MKL_Complex16* work, const MKL_INT64* lwork,
            double* rwork, MKL_INT64* info ) NOTHROW;

void ZGEEVX_64( const char* balanc, const char* jobvl, const char* jobvr,
             const char* sense, const MKL_INT64* n, MKL_Complex16* a,
             const MKL_INT64* lda, MKL_Complex16* w, MKL_Complex16* vl,
             const MKL_INT64* ldvl, MKL_Complex16* vr, const MKL_INT64* ldvr,
             MKL_INT64* ilo, MKL_INT64* ihi, double* scale, double* abnrm,
             double* rconde, double* rcondv, MKL_Complex16* work,
             const MKL_INT64* lwork, double* rwork, MKL_INT64* info ) NOTHROW;
void zgeevx_64( const char* balanc, const char* jobvl, const char* jobvr,
             const char* sense, const MKL_INT64* n, MKL_Complex16* a,
             const MKL_INT64* lda, MKL_Complex16* w, MKL_Complex16* vl,
             const MKL_INT64* ldvl, MKL_Complex16* vr, const MKL_INT64* ldvr,
             MKL_INT64* ilo, MKL_INT64* ihi, double* scale, double* abnrm,
             double* rconde, double* rcondv, MKL_Complex16* work,
             const MKL_INT64* lwork, double* rwork, MKL_INT64* info ) NOTHROW;

void ZGEGS_64( const char* jobvsl, const char* jobvsr, const MKL_INT64* n,
            MKL_Complex16* a, const MKL_INT64* lda, MKL_Complex16* b,
            const MKL_INT64* ldb, MKL_Complex16* alpha, MKL_Complex16* beta,
            MKL_Complex16* vsl, const MKL_INT64* ldvsl, MKL_Complex16* vsr,
            const MKL_INT64* ldvsr, MKL_Complex16* work, const MKL_INT64* lwork,
            double* rwork, MKL_INT64* info ) NOTHROW;
void zgegs_64( const char* jobvsl, const char* jobvsr, const MKL_INT64* n,
            MKL_Complex16* a, const MKL_INT64* lda, MKL_Complex16* b,
            const MKL_INT64* ldb, MKL_Complex16* alpha, MKL_Complex16* beta,
            MKL_Complex16* vsl, const MKL_INT64* ldvsl, MKL_Complex16* vsr,
            const MKL_INT64* ldvsr, MKL_Complex16* work, const MKL_INT64* lwork,
            double* rwork, MKL_INT64* info ) NOTHROW;

void ZGEGV_64( const char* jobvl, const char* jobvr, const MKL_INT64* n,
            MKL_Complex16* a, const MKL_INT64* lda, MKL_Complex16* b,
            const MKL_INT64* ldb, MKL_Complex16* alpha, MKL_Complex16* beta,
            MKL_Complex16* vl, const MKL_INT64* ldvl, MKL_Complex16* vr,
            const MKL_INT64* ldvr, MKL_Complex16* work, const MKL_INT64* lwork,
            double* rwork, MKL_INT64* info ) NOTHROW;
void zgegv_64( const char* jobvl, const char* jobvr, const MKL_INT64* n,
            MKL_Complex16* a, const MKL_INT64* lda, MKL_Complex16* b,
            const MKL_INT64* ldb, MKL_Complex16* alpha, MKL_Complex16* beta,
            MKL_Complex16* vl, const MKL_INT64* ldvl, MKL_Complex16* vr,
            const MKL_INT64* ldvr, MKL_Complex16* work, const MKL_INT64* lwork,
            double* rwork, MKL_INT64* info ) NOTHROW;

void ZGEHD2_64( const MKL_INT64* n, const MKL_INT64* ilo, const MKL_INT64* ihi,
             MKL_Complex16* a, const MKL_INT64* lda, MKL_Complex16* tau,
             MKL_Complex16* work, MKL_INT64* info ) NOTHROW;
void zgehd2_64( const MKL_INT64* n, const MKL_INT64* ilo, const MKL_INT64* ihi,
             MKL_Complex16* a, const MKL_INT64* lda, MKL_Complex16* tau,
             MKL_Complex16* work, MKL_INT64* info ) NOTHROW;

void ZGEHRD_64( const MKL_INT64* n, const MKL_INT64* ilo, const MKL_INT64* ihi,
             MKL_Complex16* a, const MKL_INT64* lda, MKL_Complex16* tau,
             MKL_Complex16* work, const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;
void zgehrd_64( const MKL_INT64* n, const MKL_INT64* ilo, const MKL_INT64* ihi,
             MKL_Complex16* a, const MKL_INT64* lda, MKL_Complex16* tau,
             MKL_Complex16* work, const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;

void ZGELQ2_64( const MKL_INT64* m, const MKL_INT64* n, MKL_Complex16* a,
             const MKL_INT64* lda, MKL_Complex16* tau, MKL_Complex16* work,
             MKL_INT64* info ) NOTHROW;
void zgelq2_64( const MKL_INT64* m, const MKL_INT64* n, MKL_Complex16* a,
             const MKL_INT64* lda, MKL_Complex16* tau, MKL_Complex16* work,
             MKL_INT64* info ) NOTHROW;

void ZGELQF_64( const MKL_INT64* m, const MKL_INT64* n, MKL_Complex16* a,
             const MKL_INT64* lda, MKL_Complex16* tau, MKL_Complex16* work,
             const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;
void zgelqf_64( const MKL_INT64* m, const MKL_INT64* n, MKL_Complex16* a,
             const MKL_INT64* lda, MKL_Complex16* tau, MKL_Complex16* work,
             const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;

void ZGELSD_64( const MKL_INT64* m, const MKL_INT64* n, const MKL_INT64* nrhs,
             MKL_Complex16* a, const MKL_INT64* lda, MKL_Complex16* b,
             const MKL_INT64* ldb, double* s, const double* rcond, MKL_INT64* rank,
             MKL_Complex16* work, const MKL_INT64* lwork, double* rwork,
             MKL_INT64* iwork, MKL_INT64* info ) NOTHROW;
void zgelsd_64( const MKL_INT64* m, const MKL_INT64* n, const MKL_INT64* nrhs,
             MKL_Complex16* a, const MKL_INT64* lda, MKL_Complex16* b,
             const MKL_INT64* ldb, double* s, const double* rcond, MKL_INT64* rank,
             MKL_Complex16* work, const MKL_INT64* lwork, double* rwork,
             MKL_INT64* iwork, MKL_INT64* info ) NOTHROW;

void ZGELS_64( const char* trans, const MKL_INT64* m, const MKL_INT64* n,
            const MKL_INT64* nrhs, MKL_Complex16* a, const MKL_INT64* lda,
            MKL_Complex16* b, const MKL_INT64* ldb, MKL_Complex16* work,
            const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;
void zgels_64( const char* trans, const MKL_INT64* m, const MKL_INT64* n,
            const MKL_INT64* nrhs, MKL_Complex16* a, const MKL_INT64* lda,
            MKL_Complex16* b, const MKL_INT64* ldb, MKL_Complex16* work,
            const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;

void ZGELSS_64( const MKL_INT64* m, const MKL_INT64* n, const MKL_INT64* nrhs,
             MKL_Complex16* a, const MKL_INT64* lda, MKL_Complex16* b,
             const MKL_INT64* ldb, double* s, const double* rcond, MKL_INT64* rank,
             MKL_Complex16* work, const MKL_INT64* lwork, double* rwork,
             MKL_INT64* info ) NOTHROW;
void zgelss_64( const MKL_INT64* m, const MKL_INT64* n, const MKL_INT64* nrhs,
             MKL_Complex16* a, const MKL_INT64* lda, MKL_Complex16* b,
             const MKL_INT64* ldb, double* s, const double* rcond, MKL_INT64* rank,
             MKL_Complex16* work, const MKL_INT64* lwork, double* rwork,
             MKL_INT64* info ) NOTHROW;

void ZGELSX_64( const MKL_INT64* m, const MKL_INT64* n, const MKL_INT64* nrhs,
             MKL_Complex16* a, const MKL_INT64* lda, MKL_Complex16* b,
             const MKL_INT64* ldb, MKL_INT64* jpvt, const double* rcond,
             MKL_INT64* rank, MKL_Complex16* work, double* rwork,
             MKL_INT64* info ) NOTHROW;
void zgelsx_64( const MKL_INT64* m, const MKL_INT64* n, const MKL_INT64* nrhs,
             MKL_Complex16* a, const MKL_INT64* lda, MKL_Complex16* b,
             const MKL_INT64* ldb, MKL_INT64* jpvt, const double* rcond,
             MKL_INT64* rank, MKL_Complex16* work, double* rwork,
             MKL_INT64* info ) NOTHROW;

void ZGELSY_64( const MKL_INT64* m, const MKL_INT64* n, const MKL_INT64* nrhs,
             MKL_Complex16* a, const MKL_INT64* lda, MKL_Complex16* b,
             const MKL_INT64* ldb, MKL_INT64* jpvt, const double* rcond,
             MKL_INT64* rank, MKL_Complex16* work, const MKL_INT64* lwork,
             double* rwork, MKL_INT64* info ) NOTHROW;
void zgelsy_64( const MKL_INT64* m, const MKL_INT64* n, const MKL_INT64* nrhs,
             MKL_Complex16* a, const MKL_INT64* lda, MKL_Complex16* b,
             const MKL_INT64* ldb, MKL_INT64* jpvt, const double* rcond,
             MKL_INT64* rank, MKL_Complex16* work, const MKL_INT64* lwork,
             double* rwork, MKL_INT64* info ) NOTHROW;

void ZGEQL2_64( const MKL_INT64* m, const MKL_INT64* n, MKL_Complex16* a,
             const MKL_INT64* lda, MKL_Complex16* tau, MKL_Complex16* work,
             MKL_INT64* info ) NOTHROW;
void zgeql2_64( const MKL_INT64* m, const MKL_INT64* n, MKL_Complex16* a,
             const MKL_INT64* lda, MKL_Complex16* tau, MKL_Complex16* work,
             MKL_INT64* info ) NOTHROW;

void ZGEQLF_64( const MKL_INT64* m, const MKL_INT64* n, MKL_Complex16* a,
             const MKL_INT64* lda, MKL_Complex16* tau, MKL_Complex16* work,
             const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;
void zgeqlf_64( const MKL_INT64* m, const MKL_INT64* n, MKL_Complex16* a,
             const MKL_INT64* lda, MKL_Complex16* tau, MKL_Complex16* work,
             const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;

void ZGEQP3_64( const MKL_INT64* m, const MKL_INT64* n, MKL_Complex16* a,
             const MKL_INT64* lda, MKL_INT64* jpvt, MKL_Complex16* tau,
             MKL_Complex16* work, const MKL_INT64* lwork, double* rwork,
             MKL_INT64* info ) NOTHROW;
void zgeqp3_64( const MKL_INT64* m, const MKL_INT64* n, MKL_Complex16* a,
             const MKL_INT64* lda, MKL_INT64* jpvt, MKL_Complex16* tau,
             MKL_Complex16* work, const MKL_INT64* lwork, double* rwork,
             MKL_INT64* info ) NOTHROW;

void ZGEQPF_64( const MKL_INT64* m, const MKL_INT64* n, MKL_Complex16* a,
             const MKL_INT64* lda, MKL_INT64* jpvt, MKL_Complex16* tau,
             MKL_Complex16* work, double* rwork, MKL_INT64* info ) NOTHROW;
void zgeqpf_64( const MKL_INT64* m, const MKL_INT64* n, MKL_Complex16* a,
             const MKL_INT64* lda, MKL_INT64* jpvt, MKL_Complex16* tau,
             MKL_Complex16* work, double* rwork, MKL_INT64* info ) NOTHROW;

void ZGEQR2_64( const MKL_INT64* m, const MKL_INT64* n, MKL_Complex16* a,
             const MKL_INT64* lda, MKL_Complex16* tau, MKL_Complex16* work,
             MKL_INT64* info ) NOTHROW;
void zgeqr2_64( const MKL_INT64* m, const MKL_INT64* n, MKL_Complex16* a,
             const MKL_INT64* lda, MKL_Complex16* tau, MKL_Complex16* work,
             MKL_INT64* info ) NOTHROW;

void ZGEQR2P_64( const MKL_INT64* m, const MKL_INT64* n, MKL_Complex16* a,
              const MKL_INT64* lda, MKL_Complex16* tau, MKL_Complex16* work,
              MKL_INT64* info ) NOTHROW;
void zgeqr2p_64( const MKL_INT64* m, const MKL_INT64* n, MKL_Complex16* a,
              const MKL_INT64* lda, MKL_Complex16* tau, MKL_Complex16* work,
              MKL_INT64* info ) NOTHROW;

void ZGEQRF_64( const MKL_INT64* m, const MKL_INT64* n, MKL_Complex16* a,
             const MKL_INT64* lda, MKL_Complex16* tau, MKL_Complex16* work,
             const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;
void zgeqrf_64( const MKL_INT64* m, const MKL_INT64* n, MKL_Complex16* a,
             const MKL_INT64* lda, MKL_Complex16* tau, MKL_Complex16* work,
             const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;

void ZGEQRFP_64( const MKL_INT64* m, const MKL_INT64* n, MKL_Complex16* a,
              const MKL_INT64* lda, MKL_Complex16* tau, MKL_Complex16* work,
              const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;
void zgeqrfp_64( const MKL_INT64* m, const MKL_INT64* n, MKL_Complex16* a,
              const MKL_INT64* lda, MKL_Complex16* tau, MKL_Complex16* work,
              const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;

void ZGERFS_64( const char* trans, const MKL_INT64* n, const MKL_INT64* nrhs,
             const MKL_Complex16* a, const MKL_INT64* lda,
             const MKL_Complex16* af, const MKL_INT64* ldaf, const MKL_INT64* ipiv,
             const MKL_Complex16* b, const MKL_INT64* ldb, MKL_Complex16* x,
             const MKL_INT64* ldx, double* ferr, double* berr,
             MKL_Complex16* work, double* rwork, MKL_INT64* info ) NOTHROW;
void zgerfs_64( const char* trans, const MKL_INT64* n, const MKL_INT64* nrhs,
             const MKL_Complex16* a, const MKL_INT64* lda,
             const MKL_Complex16* af, const MKL_INT64* ldaf, const MKL_INT64* ipiv,
             const MKL_Complex16* b, const MKL_INT64* ldb, MKL_Complex16* x,
             const MKL_INT64* ldx, double* ferr, double* berr,
             MKL_Complex16* work, double* rwork, MKL_INT64* info ) NOTHROW;

void ZGERFSX_64( const char* trans, const char* equed, const MKL_INT64* n,
              const MKL_INT64* nrhs, const MKL_Complex16* a, const MKL_INT64* lda,
              const MKL_Complex16* af, const MKL_INT64* ldaf,
              const MKL_INT64* ipiv, const double* r, const double* c,
              const MKL_Complex16* b, const MKL_INT64* ldb, MKL_Complex16* x,
              const MKL_INT64* ldx, double* rcond, double* berr,
              const MKL_INT64* n_err_bnds, double* err_bnds_norm,
              double* err_bnds_comp, const MKL_INT64* nparams, double* params,
              MKL_Complex16* work, double* rwork, MKL_INT64* info ) NOTHROW;
void zgerfsx_64( const char* trans, const char* equed, const MKL_INT64* n,
              const MKL_INT64* nrhs, const MKL_Complex16* a, const MKL_INT64* lda,
              const MKL_Complex16* af, const MKL_INT64* ldaf,
              const MKL_INT64* ipiv, const double* r, const double* c,
              const MKL_Complex16* b, const MKL_INT64* ldb, MKL_Complex16* x,
              const MKL_INT64* ldx, double* rcond, double* berr,
              const MKL_INT64* n_err_bnds, double* err_bnds_norm,
              double* err_bnds_comp, const MKL_INT64* nparams, double* params,
              MKL_Complex16* work, double* rwork, MKL_INT64* info ) NOTHROW;

void ZGERQ2_64( const MKL_INT64* m, const MKL_INT64* n, MKL_Complex16* a,
             const MKL_INT64* lda, MKL_Complex16* tau, MKL_Complex16* work,
             MKL_INT64* info ) NOTHROW;
void zgerq2_64( const MKL_INT64* m, const MKL_INT64* n, MKL_Complex16* a,
             const MKL_INT64* lda, MKL_Complex16* tau, MKL_Complex16* work,
             MKL_INT64* info ) NOTHROW;

void ZGERQF_64( const MKL_INT64* m, const MKL_INT64* n, MKL_Complex16* a,
             const MKL_INT64* lda, MKL_Complex16* tau, MKL_Complex16* work,
             const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;
void zgerqf_64( const MKL_INT64* m, const MKL_INT64* n, MKL_Complex16* a,
             const MKL_INT64* lda, MKL_Complex16* tau, MKL_Complex16* work,
             const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;

void ZGESC2_64( const MKL_INT64* n, const MKL_Complex16* a, const MKL_INT64* lda,
             MKL_Complex16* rhs, const MKL_INT64* ipiv, const MKL_INT64* jpiv,
             double* scale ) NOTHROW;
void zgesc2_64( const MKL_INT64* n, const MKL_Complex16* a, const MKL_INT64* lda,
             MKL_Complex16* rhs, const MKL_INT64* ipiv, const MKL_INT64* jpiv,
             double* scale ) NOTHROW;

void ZGESDD_64( const char* jobz, const MKL_INT64* m, const MKL_INT64* n,
             MKL_Complex16* a, const MKL_INT64* lda, double* s, MKL_Complex16* u,
             const MKL_INT64* ldu, MKL_Complex16* vt, const MKL_INT64* ldvt,
             MKL_Complex16* work, const MKL_INT64* lwork, double* rwork,
             MKL_INT64* iwork, MKL_INT64* info ) NOTHROW;
void zgesdd_64( const char* jobz, const MKL_INT64* m, const MKL_INT64* n,
             MKL_Complex16* a, const MKL_INT64* lda, double* s, MKL_Complex16* u,
             const MKL_INT64* ldu, MKL_Complex16* vt, const MKL_INT64* ldvt,
             MKL_Complex16* work, const MKL_INT64* lwork, double* rwork,
             MKL_INT64* iwork, MKL_INT64* info ) NOTHROW;

void ZGESVD_64( const char* jobu, const char* jobvt, const MKL_INT64* m,
             const MKL_INT64* n, MKL_Complex16* a, const MKL_INT64* lda, double* s,
             MKL_Complex16* u, const MKL_INT64* ldu, MKL_Complex16* vt,
             const MKL_INT64* ldvt, MKL_Complex16* work, const MKL_INT64* lwork,
             double* rwork, MKL_INT64* info ) NOTHROW;
void zgesvd_64( const char* jobu, const char* jobvt, const MKL_INT64* m,
             const MKL_INT64* n, MKL_Complex16* a, const MKL_INT64* lda, double* s,
             MKL_Complex16* u, const MKL_INT64* ldu, MKL_Complex16* vt,
             const MKL_INT64* ldvt, MKL_Complex16* work, const MKL_INT64* lwork,
             double* rwork, MKL_INT64* info ) NOTHROW;

void ZGESV_64( const MKL_INT64* n, const MKL_INT64* nrhs, MKL_Complex16* a,
            const MKL_INT64* lda, MKL_INT64* ipiv, MKL_Complex16* b,
            const MKL_INT64* ldb, MKL_INT64* info ) NOTHROW;
void zgesv_64( const MKL_INT64* n, const MKL_INT64* nrhs, MKL_Complex16* a,
            const MKL_INT64* lda, MKL_INT64* ipiv, MKL_Complex16* b,
            const MKL_INT64* ldb, MKL_INT64* info ) NOTHROW;

void ZGESVX_64( const char* fact, const char* trans, const MKL_INT64* n,
             const MKL_INT64* nrhs, MKL_Complex16* a, const MKL_INT64* lda,
             MKL_Complex16* af, const MKL_INT64* ldaf, MKL_INT64* ipiv,
             char* equed, double* r, double* c, MKL_Complex16* b,
             const MKL_INT64* ldb, MKL_Complex16* x, const MKL_INT64* ldx,
             double* rcond, double* ferr, double* berr, MKL_Complex16* work,
             double* rwork, MKL_INT64* info ) NOTHROW;
void zgesvx_64( const char* fact, const char* trans, const MKL_INT64* n,
             const MKL_INT64* nrhs, MKL_Complex16* a, const MKL_INT64* lda,
             MKL_Complex16* af, const MKL_INT64* ldaf, MKL_INT64* ipiv,
             char* equed, double* r, double* c, MKL_Complex16* b,
             const MKL_INT64* ldb, MKL_Complex16* x, const MKL_INT64* ldx,
             double* rcond, double* ferr, double* berr, MKL_Complex16* work,
             double* rwork, MKL_INT64* info ) NOTHROW;

void ZGESVXX_64( const char* fact, const char* trans, const MKL_INT64* n,
              const MKL_INT64* nrhs, MKL_Complex16* a, const MKL_INT64* lda,
              MKL_Complex16* af, const MKL_INT64* ldaf, MKL_INT64* ipiv,
              char* equed, double* r, double* c, MKL_Complex16* b,
              const MKL_INT64* ldb, MKL_Complex16* x, const MKL_INT64* ldx,
              double* rcond, double* rpvgrw, double* berr,
              const MKL_INT64* n_err_bnds, double* err_bnds_norm,
              double* err_bnds_comp, const MKL_INT64* nparams, double* params,
              MKL_Complex16* work, double* rwork, MKL_INT64* info ) NOTHROW;
void zgesvxx_64( const char* fact, const char* trans, const MKL_INT64* n,
              const MKL_INT64* nrhs, MKL_Complex16* a, const MKL_INT64* lda,
              MKL_Complex16* af, const MKL_INT64* ldaf, MKL_INT64* ipiv,
              char* equed, double* r, double* c, MKL_Complex16* b,
              const MKL_INT64* ldb, MKL_Complex16* x, const MKL_INT64* ldx,
              double* rcond, double* rpvgrw, double* berr,
              const MKL_INT64* n_err_bnds, double* err_bnds_norm,
              double* err_bnds_comp, const MKL_INT64* nparams, double* params,
              MKL_Complex16* work, double* rwork, MKL_INT64* info ) NOTHROW;

void ZGETC2_64( const MKL_INT64* n, MKL_Complex16* a, const MKL_INT64* lda,
             MKL_INT64* ipiv, MKL_INT64* jpiv, MKL_INT64* info ) NOTHROW;
void zgetc2_64( const MKL_INT64* n, MKL_Complex16* a, const MKL_INT64* lda,
             MKL_INT64* ipiv, MKL_INT64* jpiv, MKL_INT64* info ) NOTHROW;

void ZGETF2_64( const MKL_INT64* m, const MKL_INT64* n, MKL_Complex16* a,
             const MKL_INT64* lda, MKL_INT64* ipiv, MKL_INT64* info ) NOTHROW;
void zgetf2_64( const MKL_INT64* m, const MKL_INT64* n, MKL_Complex16* a,
             const MKL_INT64* lda, MKL_INT64* ipiv, MKL_INT64* info ) NOTHROW;

void ZGETRF_64( const MKL_INT64* m, const MKL_INT64* n, MKL_Complex16* a,
             const MKL_INT64* lda, MKL_INT64* ipiv, MKL_INT64* info ) NOTHROW;
void zgetrf_64( const MKL_INT64* m, const MKL_INT64* n, MKL_Complex16* a,
             const MKL_INT64* lda, MKL_INT64* ipiv, MKL_INT64* info ) NOTHROW;

void MKL_ZGETRFNPI_64( const MKL_INT64* m, const MKL_INT64* n, const MKL_INT64* nfact,
                    MKL_Complex16* a, const MKL_INT64* lda, MKL_INT64* info ) NOTHROW;
void MKL_ZGETRFNPI_64_( const MKL_INT64* m, const MKL_INT64* n, const MKL_INT64* nfact,
                     MKL_Complex16* a, const MKL_INT64* lda, MKL_INT64* info ) NOTHROW;
void mkl_zgetrfnpi_64( const MKL_INT64* m, const MKL_INT64* n, const MKL_INT64* nfact,
                    MKL_Complex16* a, const MKL_INT64* lda, MKL_INT64* info ) NOTHROW;
void mkl_zgetrfnpi_64_( const MKL_INT64* m, const MKL_INT64* n, const MKL_INT64* nfact,
                     MKL_Complex16* a, const MKL_INT64* lda, MKL_INT64* info ) NOTHROW;

void ZGETRI_64( const MKL_INT64* n, MKL_Complex16* a, const MKL_INT64* lda,
             const MKL_INT64* ipiv, MKL_Complex16* work, const MKL_INT64* lwork,
             MKL_INT64* info ) NOTHROW;
void zgetri_64( const MKL_INT64* n, MKL_Complex16* a, const MKL_INT64* lda,
             const MKL_INT64* ipiv, MKL_Complex16* work, const MKL_INT64* lwork,
             MKL_INT64* info ) NOTHROW;

void ZGETRS_64( const char* trans, const MKL_INT64* n, const MKL_INT64* nrhs,
             const MKL_Complex16* a, const MKL_INT64* lda, const MKL_INT64* ipiv,
             MKL_Complex16* b, const MKL_INT64* ldb, MKL_INT64* info ) NOTHROW;
void zgetrs_64( const char* trans, const MKL_INT64* n, const MKL_INT64* nrhs,
             const MKL_Complex16* a, const MKL_INT64* lda, const MKL_INT64* ipiv,
             MKL_Complex16* b, const MKL_INT64* ldb, MKL_INT64* info ) NOTHROW;

void ZGGBAK_64( const char* job, const char* side, const MKL_INT64* n,
             const MKL_INT64* ilo, const MKL_INT64* ihi, const double* lscale,
             const double* rscale, const MKL_INT64* m, MKL_Complex16* v,
             const MKL_INT64* ldv, MKL_INT64* info ) NOTHROW;
void zggbak_64( const char* job, const char* side, const MKL_INT64* n,
             const MKL_INT64* ilo, const MKL_INT64* ihi, const double* lscale,
             const double* rscale, const MKL_INT64* m, MKL_Complex16* v,
             const MKL_INT64* ldv, MKL_INT64* info ) NOTHROW;

void ZGGBAL_64( const char* job, const MKL_INT64* n, MKL_Complex16* a,
             const MKL_INT64* lda, MKL_Complex16* b, const MKL_INT64* ldb,
             MKL_INT64* ilo, MKL_INT64* ihi, double* lscale, double* rscale,
             double* work, MKL_INT64* info ) NOTHROW;
void zggbal_64( const char* job, const MKL_INT64* n, MKL_Complex16* a,
             const MKL_INT64* lda, MKL_Complex16* b, const MKL_INT64* ldb,
             MKL_INT64* ilo, MKL_INT64* ihi, double* lscale, double* rscale,
             double* work, MKL_INT64* info ) NOTHROW;

void ZGGES_64( const char* jobvsl, const char* jobvsr, const char* sort,
            MKL_Z_SELECT_FUNCTION_2_64 selctg, const MKL_INT64* n, MKL_Complex16* a,
            const MKL_INT64* lda, MKL_Complex16* b, const MKL_INT64* ldb,
            MKL_INT64* sdim, MKL_Complex16* alpha, MKL_Complex16* beta,
            MKL_Complex16* vsl, const MKL_INT64* ldvsl, MKL_Complex16* vsr,
            const MKL_INT64* ldvsr, MKL_Complex16* work, const MKL_INT64* lwork,
            double* rwork, MKL_INT64* bwork, MKL_INT64* info ) NOTHROW;
void zgges_64( const char* jobvsl, const char* jobvsr, const char* sort,
            MKL_Z_SELECT_FUNCTION_2_64 selctg, const MKL_INT64* n, MKL_Complex16* a,
            const MKL_INT64* lda, MKL_Complex16* b, const MKL_INT64* ldb,
            MKL_INT64* sdim, MKL_Complex16* alpha, MKL_Complex16* beta,
            MKL_Complex16* vsl, const MKL_INT64* ldvsl, MKL_Complex16* vsr,
            const MKL_INT64* ldvsr, MKL_Complex16* work, const MKL_INT64* lwork,
            double* rwork, MKL_INT64* bwork, MKL_INT64* info ) NOTHROW;

void ZGGESX_64( const char* jobvsl, const char* jobvsr, const char* sort,
             MKL_Z_SELECT_FUNCTION_2_64 selctg, const char* sense,
             const MKL_INT64* n, MKL_Complex16* a, const MKL_INT64* lda,
             MKL_Complex16* b, const MKL_INT64* ldb, MKL_INT64* sdim,
             MKL_Complex16* alpha, MKL_Complex16* beta, MKL_Complex16* vsl,
             const MKL_INT64* ldvsl, MKL_Complex16* vsr, const MKL_INT64* ldvsr,
             double* rconde, double* rcondv, MKL_Complex16* work,
             const MKL_INT64* lwork, double* rwork, MKL_INT64* iwork,
             const MKL_INT64* liwork, MKL_INT64* bwork, MKL_INT64* info ) NOTHROW;
void zggesx_64( const char* jobvsl, const char* jobvsr, const char* sort,
             MKL_Z_SELECT_FUNCTION_2_64 selctg, const char* sense,
             const MKL_INT64* n, MKL_Complex16* a, const MKL_INT64* lda,
             MKL_Complex16* b, const MKL_INT64* ldb, MKL_INT64* sdim,
             MKL_Complex16* alpha, MKL_Complex16* beta, MKL_Complex16* vsl,
             const MKL_INT64* ldvsl, MKL_Complex16* vsr, const MKL_INT64* ldvsr,
             double* rconde, double* rcondv, MKL_Complex16* work,
             const MKL_INT64* lwork, double* rwork, MKL_INT64* iwork,
             const MKL_INT64* liwork, MKL_INT64* bwork, MKL_INT64* info ) NOTHROW;

void ZGGEV_64( const char* jobvl, const char* jobvr, const MKL_INT64* n,
            MKL_Complex16* a, const MKL_INT64* lda, MKL_Complex16* b,
            const MKL_INT64* ldb, MKL_Complex16* alpha, MKL_Complex16* beta,
            MKL_Complex16* vl, const MKL_INT64* ldvl, MKL_Complex16* vr,
            const MKL_INT64* ldvr, MKL_Complex16* work, const MKL_INT64* lwork,
            double* rwork, MKL_INT64* info ) NOTHROW;
void zggev_64( const char* jobvl, const char* jobvr, const MKL_INT64* n,
            MKL_Complex16* a, const MKL_INT64* lda, MKL_Complex16* b,
            const MKL_INT64* ldb, MKL_Complex16* alpha, MKL_Complex16* beta,
            MKL_Complex16* vl, const MKL_INT64* ldvl, MKL_Complex16* vr,
            const MKL_INT64* ldvr, MKL_Complex16* work, const MKL_INT64* lwork,
            double* rwork, MKL_INT64* info ) NOTHROW;

void ZGGEVX_64( const char* balanc, const char* jobvl, const char* jobvr,
             const char* sense, const MKL_INT64* n, MKL_Complex16* a,
             const MKL_INT64* lda, MKL_Complex16* b, const MKL_INT64* ldb,
             MKL_Complex16* alpha, MKL_Complex16* beta, MKL_Complex16* vl,
             const MKL_INT64* ldvl, MKL_Complex16* vr, const MKL_INT64* ldvr,
             MKL_INT64* ilo, MKL_INT64* ihi, double* lscale, double* rscale,
             double* abnrm, double* bbnrm, double* rconde, double* rcondv,
             MKL_Complex16* work, const MKL_INT64* lwork, double* rwork,
             MKL_INT64* iwork, MKL_INT64* bwork, MKL_INT64* info ) NOTHROW;
void zggevx_64( const char* balanc, const char* jobvl, const char* jobvr,
             const char* sense, const MKL_INT64* n, MKL_Complex16* a,
             const MKL_INT64* lda, MKL_Complex16* b, const MKL_INT64* ldb,
             MKL_Complex16* alpha, MKL_Complex16* beta, MKL_Complex16* vl,
             const MKL_INT64* ldvl, MKL_Complex16* vr, const MKL_INT64* ldvr,
             MKL_INT64* ilo, MKL_INT64* ihi, double* lscale, double* rscale,
             double* abnrm, double* bbnrm, double* rconde, double* rcondv,
             MKL_Complex16* work, const MKL_INT64* lwork, double* rwork,
             MKL_INT64* iwork, MKL_INT64* bwork, MKL_INT64* info ) NOTHROW;

void ZGGGLM_64( const MKL_INT64* n, const MKL_INT64* m, const MKL_INT64* p,
             MKL_Complex16* a, const MKL_INT64* lda, MKL_Complex16* b,
             const MKL_INT64* ldb, MKL_Complex16* d, MKL_Complex16* x,
             MKL_Complex16* y, MKL_Complex16* work, const MKL_INT64* lwork,
             MKL_INT64* info ) NOTHROW;
void zggglm_64( const MKL_INT64* n, const MKL_INT64* m, const MKL_INT64* p,
             MKL_Complex16* a, const MKL_INT64* lda, MKL_Complex16* b,
             const MKL_INT64* ldb, MKL_Complex16* d, MKL_Complex16* x,
             MKL_Complex16* y, MKL_Complex16* work, const MKL_INT64* lwork,
             MKL_INT64* info ) NOTHROW;

void ZGGHRD_64( const char* compq, const char* compz, const MKL_INT64* n,
             const MKL_INT64* ilo, const MKL_INT64* ihi, MKL_Complex16* a,
             const MKL_INT64* lda, MKL_Complex16* b, const MKL_INT64* ldb,
             MKL_Complex16* q, const MKL_INT64* ldq, MKL_Complex16* z,
             const MKL_INT64* ldz, MKL_INT64* info ) NOTHROW;
void zgghrd_64( const char* compq, const char* compz, const MKL_INT64* n,
             const MKL_INT64* ilo, const MKL_INT64* ihi, MKL_Complex16* a,
             const MKL_INT64* lda, MKL_Complex16* b, const MKL_INT64* ldb,
             MKL_Complex16* q, const MKL_INT64* ldq, MKL_Complex16* z,
             const MKL_INT64* ldz, MKL_INT64* info ) NOTHROW;

void ZGGLSE_64( const MKL_INT64* m, const MKL_INT64* n, const MKL_INT64* p,
             MKL_Complex16* a, const MKL_INT64* lda, MKL_Complex16* b,
             const MKL_INT64* ldb, MKL_Complex16* c, MKL_Complex16* d,
             MKL_Complex16* x, MKL_Complex16* work, const MKL_INT64* lwork,
             MKL_INT64* info ) NOTHROW;
void zgglse_64( const MKL_INT64* m, const MKL_INT64* n, const MKL_INT64* p,
             MKL_Complex16* a, const MKL_INT64* lda, MKL_Complex16* b,
             const MKL_INT64* ldb, MKL_Complex16* c, MKL_Complex16* d,
             MKL_Complex16* x, MKL_Complex16* work, const MKL_INT64* lwork,
             MKL_INT64* info ) NOTHROW;

void ZGGQRF_64( const MKL_INT64* n, const MKL_INT64* m, const MKL_INT64* p,
             MKL_Complex16* a, const MKL_INT64* lda, MKL_Complex16* taua,
             MKL_Complex16* b, const MKL_INT64* ldb, MKL_Complex16* taub,
             MKL_Complex16* work, const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;
void zggqrf_64( const MKL_INT64* n, const MKL_INT64* m, const MKL_INT64* p,
             MKL_Complex16* a, const MKL_INT64* lda, MKL_Complex16* taua,
             MKL_Complex16* b, const MKL_INT64* ldb, MKL_Complex16* taub,
             MKL_Complex16* work, const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;

void ZGGRQF_64( const MKL_INT64* m, const MKL_INT64* p, const MKL_INT64* n,
             MKL_Complex16* a, const MKL_INT64* lda, MKL_Complex16* taua,
             MKL_Complex16* b, const MKL_INT64* ldb, MKL_Complex16* taub,
             MKL_Complex16* work, const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;
void zggrqf_64( const MKL_INT64* m, const MKL_INT64* p, const MKL_INT64* n,
             MKL_Complex16* a, const MKL_INT64* lda, MKL_Complex16* taua,
             MKL_Complex16* b, const MKL_INT64* ldb, MKL_Complex16* taub,
             MKL_Complex16* work, const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;

void ZGGSVD_64( const char* jobu, const char* jobv, const char* jobq,
             const MKL_INT64* m, const MKL_INT64* n, const MKL_INT64* p, MKL_INT64* k,
             MKL_INT64* l, MKL_Complex16* a, const MKL_INT64* lda,
             MKL_Complex16* b, const MKL_INT64* ldb, double* alpha, double* beta,
             MKL_Complex16* u, const MKL_INT64* ldu, MKL_Complex16* v,
             const MKL_INT64* ldv, MKL_Complex16* q, const MKL_INT64* ldq,
             MKL_Complex16* work, double* rwork, MKL_INT64* iwork,
             MKL_INT64* info ) NOTHROW;
void zggsvd_64( const char* jobu, const char* jobv, const char* jobq,
             const MKL_INT64* m, const MKL_INT64* n, const MKL_INT64* p, MKL_INT64* k,
             MKL_INT64* l, MKL_Complex16* a, const MKL_INT64* lda,
             MKL_Complex16* b, const MKL_INT64* ldb, double* alpha, double* beta,
             MKL_Complex16* u, const MKL_INT64* ldu, MKL_Complex16* v,
             const MKL_INT64* ldv, MKL_Complex16* q, const MKL_INT64* ldq,
             MKL_Complex16* work, double* rwork, MKL_INT64* iwork,
             MKL_INT64* info ) NOTHROW;

void ZGGSVP_64( const char* jobu, const char* jobv, const char* jobq,
             const MKL_INT64* m, const MKL_INT64* p, const MKL_INT64* n,
             MKL_Complex16* a, const MKL_INT64* lda, MKL_Complex16* b,
             const MKL_INT64* ldb, const double* tola, const double* tolb,
             MKL_INT64* k, MKL_INT64* l, MKL_Complex16* u, const MKL_INT64* ldu,
             MKL_Complex16* v, const MKL_INT64* ldv, MKL_Complex16* q,
             const MKL_INT64* ldq, MKL_INT64* iwork, double* rwork,
             MKL_Complex16* tau, MKL_Complex16* work, MKL_INT64* info ) NOTHROW;
void zggsvp_64( const char* jobu, const char* jobv, const char* jobq,
             const MKL_INT64* m, const MKL_INT64* p, const MKL_INT64* n,
             MKL_Complex16* a, const MKL_INT64* lda, MKL_Complex16* b,
             const MKL_INT64* ldb, const double* tola, const double* tolb,
             MKL_INT64* k, MKL_INT64* l, MKL_Complex16* u, const MKL_INT64* ldu,
             MKL_Complex16* v, const MKL_INT64* ldv, MKL_Complex16* q,
             const MKL_INT64* ldq, MKL_INT64* iwork, double* rwork,
             MKL_Complex16* tau, MKL_Complex16* work, MKL_INT64* info ) NOTHROW;

void ZGTCON_64( const char* norm, const MKL_INT64* n, const MKL_Complex16* dl,
             const MKL_Complex16* d, const MKL_Complex16* du,
             const MKL_Complex16* du2, const MKL_INT64* ipiv,
             const double* anorm, double* rcond, MKL_Complex16* work,
             MKL_INT64* info ) NOTHROW;
void zgtcon_64( const char* norm, const MKL_INT64* n, const MKL_Complex16* dl,
             const MKL_Complex16* d, const MKL_Complex16* du,
             const MKL_Complex16* du2, const MKL_INT64* ipiv,
             const double* anorm, double* rcond, MKL_Complex16* work,
             MKL_INT64* info ) NOTHROW;

void ZGTRFS_64( const char* trans, const MKL_INT64* n, const MKL_INT64* nrhs,
             const MKL_Complex16* dl, const MKL_Complex16* d,
             const MKL_Complex16* du, const MKL_Complex16* dlf,
             const MKL_Complex16* df, const MKL_Complex16* duf,
             const MKL_Complex16* du2, const MKL_INT64* ipiv,
             const MKL_Complex16* b, const MKL_INT64* ldb, MKL_Complex16* x,
             const MKL_INT64* ldx, double* ferr, double* berr,
             MKL_Complex16* work, double* rwork, MKL_INT64* info ) NOTHROW;
void zgtrfs_64( const char* trans, const MKL_INT64* n, const MKL_INT64* nrhs,
             const MKL_Complex16* dl, const MKL_Complex16* d,
             const MKL_Complex16* du, const MKL_Complex16* dlf,
             const MKL_Complex16* df, const MKL_Complex16* duf,
             const MKL_Complex16* du2, const MKL_INT64* ipiv,
             const MKL_Complex16* b, const MKL_INT64* ldb, MKL_Complex16* x,
             const MKL_INT64* ldx, double* ferr, double* berr,
             MKL_Complex16* work, double* rwork, MKL_INT64* info ) NOTHROW;

void ZGTSV_64( const MKL_INT64* n, const MKL_INT64* nrhs, MKL_Complex16* dl,
            MKL_Complex16* d, MKL_Complex16* du, MKL_Complex16* b,
            const MKL_INT64* ldb, MKL_INT64* info ) NOTHROW;
void zgtsv_64( const MKL_INT64* n, const MKL_INT64* nrhs, MKL_Complex16* dl,
            MKL_Complex16* d, MKL_Complex16* du, MKL_Complex16* b,
            const MKL_INT64* ldb, MKL_INT64* info ) NOTHROW;

void ZGTSVX_64( const char* fact, const char* trans, const MKL_INT64* n,
             const MKL_INT64* nrhs, const MKL_Complex16* dl,
             const MKL_Complex16* d, const MKL_Complex16* du,
             MKL_Complex16* dlf, MKL_Complex16* df, MKL_Complex16* duf,
             MKL_Complex16* du2, MKL_INT64* ipiv, const MKL_Complex16* b,
             const MKL_INT64* ldb, MKL_Complex16* x, const MKL_INT64* ldx,
             double* rcond, double* ferr, double* berr, MKL_Complex16* work,
             double* rwork, MKL_INT64* info ) NOTHROW;
void zgtsvx_64( const char* fact, const char* trans, const MKL_INT64* n,
             const MKL_INT64* nrhs, const MKL_Complex16* dl,
             const MKL_Complex16* d, const MKL_Complex16* du,
             MKL_Complex16* dlf, MKL_Complex16* df, MKL_Complex16* duf,
             MKL_Complex16* du2, MKL_INT64* ipiv, const MKL_Complex16* b,
             const MKL_INT64* ldb, MKL_Complex16* x, const MKL_INT64* ldx,
             double* rcond, double* ferr, double* berr, MKL_Complex16* work,
             double* rwork, MKL_INT64* info ) NOTHROW;

void ZGTTRF_64( const MKL_INT64* n, MKL_Complex16* dl, MKL_Complex16* d,
             MKL_Complex16* du, MKL_Complex16* du2, MKL_INT64* ipiv,
             MKL_INT64* info ) NOTHROW;
void zgttrf_64( const MKL_INT64* n, MKL_Complex16* dl, MKL_Complex16* d,
             MKL_Complex16* du, MKL_Complex16* du2, MKL_INT64* ipiv,
             MKL_INT64* info ) NOTHROW;

void ZGTTRS_64( const char* trans, const MKL_INT64* n, const MKL_INT64* nrhs,
             const MKL_Complex16* dl, const MKL_Complex16* d,
             const MKL_Complex16* du, const MKL_Complex16* du2,
             const MKL_INT64* ipiv, MKL_Complex16* b, const MKL_INT64* ldb,
             MKL_INT64* info ) NOTHROW;
void zgttrs_64( const char* trans, const MKL_INT64* n, const MKL_INT64* nrhs,
             const MKL_Complex16* dl, const MKL_Complex16* d,
             const MKL_Complex16* du, const MKL_Complex16* du2,
             const MKL_INT64* ipiv, MKL_Complex16* b, const MKL_INT64* ldb,
             MKL_INT64* info ) NOTHROW;

void ZGTTS2_64( const MKL_INT64* itrans, const MKL_INT64* n, const MKL_INT64* nrhs,
             const MKL_Complex16* dl, const MKL_Complex16* d,
             const MKL_Complex16* du, const MKL_Complex16* du2,
             const MKL_INT64* ipiv, MKL_Complex16* b, const MKL_INT64* ldb ) NOTHROW;
void zgtts2_64( const MKL_INT64* itrans, const MKL_INT64* n, const MKL_INT64* nrhs,
             const MKL_Complex16* dl, const MKL_Complex16* d,
             const MKL_Complex16* du, const MKL_Complex16* du2,
             const MKL_INT64* ipiv, MKL_Complex16* b, const MKL_INT64* ldb ) NOTHROW;

void ZHBEVD_64( const char* jobz, const char* uplo, const MKL_INT64* n,
             const MKL_INT64* kd, MKL_Complex16* ab, const MKL_INT64* ldab,
             double* w, MKL_Complex16* z, const MKL_INT64* ldz,
             MKL_Complex16* work, const MKL_INT64* lwork, double* rwork,
             const MKL_INT64* lrwork, MKL_INT64* iwork, const MKL_INT64* liwork,
             MKL_INT64* info ) NOTHROW;
void zhbevd_64( const char* jobz, const char* uplo, const MKL_INT64* n,
             const MKL_INT64* kd, MKL_Complex16* ab, const MKL_INT64* ldab,
             double* w, MKL_Complex16* z, const MKL_INT64* ldz,
             MKL_Complex16* work, const MKL_INT64* lwork, double* rwork,
             const MKL_INT64* lrwork, MKL_INT64* iwork, const MKL_INT64* liwork,
             MKL_INT64* info ) NOTHROW;

void ZHBEV_64( const char* jobz, const char* uplo, const MKL_INT64* n,
            const MKL_INT64* kd, MKL_Complex16* ab, const MKL_INT64* ldab,
            double* w, MKL_Complex16* z, const MKL_INT64* ldz,
            MKL_Complex16* work, double* rwork, MKL_INT64* info ) NOTHROW;
void zhbev_64( const char* jobz, const char* uplo, const MKL_INT64* n,
            const MKL_INT64* kd, MKL_Complex16* ab, const MKL_INT64* ldab,
            double* w, MKL_Complex16* z, const MKL_INT64* ldz,
            MKL_Complex16* work, double* rwork, MKL_INT64* info ) NOTHROW;

void ZHBEVX_64( const char* jobz, const char* range, const char* uplo,
             const MKL_INT64* n, const MKL_INT64* kd, MKL_Complex16* ab,
             const MKL_INT64* ldab, MKL_Complex16* q, const MKL_INT64* ldq,
             const double* vl, const double* vu, const MKL_INT64* il,
             const MKL_INT64* iu, const double* abstol, MKL_INT64* m, double* w,
             MKL_Complex16* z, const MKL_INT64* ldz, MKL_Complex16* work,
             double* rwork, MKL_INT64* iwork, MKL_INT64* ifail, MKL_INT64* info ) NOTHROW;
void zhbevx_64( const char* jobz, const char* range, const char* uplo,
             const MKL_INT64* n, const MKL_INT64* kd, MKL_Complex16* ab,
             const MKL_INT64* ldab, MKL_Complex16* q, const MKL_INT64* ldq,
             const double* vl, const double* vu, const MKL_INT64* il,
             const MKL_INT64* iu, const double* abstol, MKL_INT64* m, double* w,
             MKL_Complex16* z, const MKL_INT64* ldz, MKL_Complex16* work,
             double* rwork, MKL_INT64* iwork, MKL_INT64* ifail, MKL_INT64* info ) NOTHROW;

void ZHBGST_64( const char* vect, const char* uplo, const MKL_INT64* n,
             const MKL_INT64* ka, const MKL_INT64* kb, MKL_Complex16* ab,
             const MKL_INT64* ldab, const MKL_Complex16* bb, const MKL_INT64* ldbb,
             MKL_Complex16* x, const MKL_INT64* ldx, MKL_Complex16* work,
             double* rwork, MKL_INT64* info ) NOTHROW;
void zhbgst_64( const char* vect, const char* uplo, const MKL_INT64* n,
             const MKL_INT64* ka, const MKL_INT64* kb, MKL_Complex16* ab,
             const MKL_INT64* ldab, const MKL_Complex16* bb, const MKL_INT64* ldbb,
             MKL_Complex16* x, const MKL_INT64* ldx, MKL_Complex16* work,
             double* rwork, MKL_INT64* info ) NOTHROW;

void ZHBGVD_64( const char* jobz, const char* uplo, const MKL_INT64* n,
             const MKL_INT64* ka, const MKL_INT64* kb, MKL_Complex16* ab,
             const MKL_INT64* ldab, MKL_Complex16* bb, const MKL_INT64* ldbb,
             double* w, MKL_Complex16* z, const MKL_INT64* ldz,
             MKL_Complex16* work, const MKL_INT64* lwork, double* rwork,
             const MKL_INT64* lrwork, MKL_INT64* iwork, const MKL_INT64* liwork,
             MKL_INT64* info ) NOTHROW;
void zhbgvd_64( const char* jobz, const char* uplo, const MKL_INT64* n,
             const MKL_INT64* ka, const MKL_INT64* kb, MKL_Complex16* ab,
             const MKL_INT64* ldab, MKL_Complex16* bb, const MKL_INT64* ldbb,
             double* w, MKL_Complex16* z, const MKL_INT64* ldz,
             MKL_Complex16* work, const MKL_INT64* lwork, double* rwork,
             const MKL_INT64* lrwork, MKL_INT64* iwork, const MKL_INT64* liwork,
             MKL_INT64* info ) NOTHROW;

void ZHBGV_64( const char* jobz, const char* uplo, const MKL_INT64* n,
            const MKL_INT64* ka, const MKL_INT64* kb, MKL_Complex16* ab,
            const MKL_INT64* ldab, MKL_Complex16* bb, const MKL_INT64* ldbb,
            double* w, MKL_Complex16* z, const MKL_INT64* ldz,
            MKL_Complex16* work, double* rwork, MKL_INT64* info ) NOTHROW;
void zhbgv_64( const char* jobz, const char* uplo, const MKL_INT64* n,
            const MKL_INT64* ka, const MKL_INT64* kb, MKL_Complex16* ab,
            const MKL_INT64* ldab, MKL_Complex16* bb, const MKL_INT64* ldbb,
            double* w, MKL_Complex16* z, const MKL_INT64* ldz,
            MKL_Complex16* work, double* rwork, MKL_INT64* info ) NOTHROW;

void ZHBGVX_64( const char* jobz, const char* range, const char* uplo,
             const MKL_INT64* n, const MKL_INT64* ka, const MKL_INT64* kb,
             MKL_Complex16* ab, const MKL_INT64* ldab, MKL_Complex16* bb,
             const MKL_INT64* ldbb, MKL_Complex16* q, const MKL_INT64* ldq,
             const double* vl, const double* vu, const MKL_INT64* il,
             const MKL_INT64* iu, const double* abstol, MKL_INT64* m, double* w,
             MKL_Complex16* z, const MKL_INT64* ldz, MKL_Complex16* work,
             double* rwork, MKL_INT64* iwork, MKL_INT64* ifail, MKL_INT64* info ) NOTHROW;
void zhbgvx_64( const char* jobz, const char* range, const char* uplo,
             const MKL_INT64* n, const MKL_INT64* ka, const MKL_INT64* kb,
             MKL_Complex16* ab, const MKL_INT64* ldab, MKL_Complex16* bb,
             const MKL_INT64* ldbb, MKL_Complex16* q, const MKL_INT64* ldq,
             const double* vl, const double* vu, const MKL_INT64* il,
             const MKL_INT64* iu, const double* abstol, MKL_INT64* m, double* w,
             MKL_Complex16* z, const MKL_INT64* ldz, MKL_Complex16* work,
             double* rwork, MKL_INT64* iwork, MKL_INT64* ifail, MKL_INT64* info ) NOTHROW;

void ZHBTRD_64( const char* vect, const char* uplo, const MKL_INT64* n,
             const MKL_INT64* kd, MKL_Complex16* ab, const MKL_INT64* ldab,
             double* d, double* e, MKL_Complex16* q, const MKL_INT64* ldq,
             MKL_Complex16* work, MKL_INT64* info ) NOTHROW;
void zhbtrd_64( const char* vect, const char* uplo, const MKL_INT64* n,
             const MKL_INT64* kd, MKL_Complex16* ab, const MKL_INT64* ldab,
             double* d, double* e, MKL_Complex16* q, const MKL_INT64* ldq,
             MKL_Complex16* work, MKL_INT64* info ) NOTHROW;

void ZHECON_64( const char* uplo, const MKL_INT64* n, const MKL_Complex16* a,
             const MKL_INT64* lda, const MKL_INT64* ipiv, const double* anorm,
             double* rcond, MKL_Complex16* work, MKL_INT64* info ) NOTHROW;
void zhecon_64( const char* uplo, const MKL_INT64* n, const MKL_Complex16* a,
             const MKL_INT64* lda, const MKL_INT64* ipiv, const double* anorm,
             double* rcond, MKL_Complex16* work, MKL_INT64* info ) NOTHROW;

void ZHEEQUB_64( const char* uplo, const MKL_INT64* n, const MKL_Complex16* a,
              const MKL_INT64* lda, double* s, double* scond, double* amax,
              MKL_Complex16* work, MKL_INT64* info ) NOTHROW;
void zheequb_64( const char* uplo, const MKL_INT64* n, const MKL_Complex16* a,
              const MKL_INT64* lda, double* s, double* scond, double* amax,
              MKL_Complex16* work, MKL_INT64* info ) NOTHROW;

void ZHEEVD_64( const char* jobz, const char* uplo, const MKL_INT64* n,
             MKL_Complex16* a, const MKL_INT64* lda, double* w,
             MKL_Complex16* work, const MKL_INT64* lwork, double* rwork,
             const MKL_INT64* lrwork, MKL_INT64* iwork, const MKL_INT64* liwork,
             MKL_INT64* info ) NOTHROW;
void zheevd_64( const char* jobz, const char* uplo, const MKL_INT64* n,
             MKL_Complex16* a, const MKL_INT64* lda, double* w,
             MKL_Complex16* work, const MKL_INT64* lwork, double* rwork,
             const MKL_INT64* lrwork, MKL_INT64* iwork, const MKL_INT64* liwork,
             MKL_INT64* info ) NOTHROW;

void ZHEEV_64( const char* jobz, const char* uplo, const MKL_INT64* n,
            MKL_Complex16* a, const MKL_INT64* lda, double* w,
            MKL_Complex16* work, const MKL_INT64* lwork, double* rwork,
            MKL_INT64* info ) NOTHROW;
void zheev_64( const char* jobz, const char* uplo, const MKL_INT64* n,
            MKL_Complex16* a, const MKL_INT64* lda, double* w,
            MKL_Complex16* work, const MKL_INT64* lwork, double* rwork,
            MKL_INT64* info ) NOTHROW;

void ZHEEVR_64( const char* jobz, const char* range, const char* uplo,
             const MKL_INT64* n, MKL_Complex16* a, const MKL_INT64* lda,
             const double* vl, const double* vu, const MKL_INT64* il,
             const MKL_INT64* iu, const double* abstol, MKL_INT64* m, double* w,
             MKL_Complex16* z, const MKL_INT64* ldz, MKL_INT64* isuppz,
             MKL_Complex16* work, const MKL_INT64* lwork, double* rwork,
             const MKL_INT64* lrwork, MKL_INT64* iwork, const MKL_INT64* liwork,
             MKL_INT64* info ) NOTHROW;
void zheevr_64( const char* jobz, const char* range, const char* uplo,
             const MKL_INT64* n, MKL_Complex16* a, const MKL_INT64* lda,
             const double* vl, const double* vu, const MKL_INT64* il,
             const MKL_INT64* iu, const double* abstol, MKL_INT64* m, double* w,
             MKL_Complex16* z, const MKL_INT64* ldz, MKL_INT64* isuppz,
             MKL_Complex16* work, const MKL_INT64* lwork, double* rwork,
             const MKL_INT64* lrwork, MKL_INT64* iwork, const MKL_INT64* liwork,
             MKL_INT64* info ) NOTHROW;

void ZHEEVX_64( const char* jobz, const char* range, const char* uplo,
             const MKL_INT64* n, MKL_Complex16* a, const MKL_INT64* lda,
             const double* vl, const double* vu, const MKL_INT64* il,
             const MKL_INT64* iu, const double* abstol, MKL_INT64* m, double* w,
             MKL_Complex16* z, const MKL_INT64* ldz, MKL_Complex16* work,
             const MKL_INT64* lwork, double* rwork, MKL_INT64* iwork,
             MKL_INT64* ifail, MKL_INT64* info ) NOTHROW;
void zheevx_64( const char* jobz, const char* range, const char* uplo,
             const MKL_INT64* n, MKL_Complex16* a, const MKL_INT64* lda,
             const double* vl, const double* vu, const MKL_INT64* il,
             const MKL_INT64* iu, const double* abstol, MKL_INT64* m, double* w,
             MKL_Complex16* z, const MKL_INT64* ldz, MKL_Complex16* work,
             const MKL_INT64* lwork, double* rwork, MKL_INT64* iwork,
             MKL_INT64* ifail, MKL_INT64* info ) NOTHROW;

void ZHEGS2_64( const MKL_INT64* itype, const char* uplo, const MKL_INT64* n,
             MKL_Complex16* a, const MKL_INT64* lda, MKL_Complex16* b,
             const MKL_INT64* ldb, MKL_INT64* info ) NOTHROW;
void zhegs2_64( const MKL_INT64* itype, const char* uplo, const MKL_INT64* n,
             MKL_Complex16* a, const MKL_INT64* lda, MKL_Complex16* b,
             const MKL_INT64* ldb, MKL_INT64* info ) NOTHROW;

void ZHEGST_64( const MKL_INT64* itype, const char* uplo, const MKL_INT64* n,
             MKL_Complex16* a, const MKL_INT64* lda, MKL_Complex16* b,
             const MKL_INT64* ldb, MKL_INT64* info ) NOTHROW;
void zhegst_64( const MKL_INT64* itype, const char* uplo, const MKL_INT64* n,
             MKL_Complex16* a, const MKL_INT64* lda, MKL_Complex16* b,
             const MKL_INT64* ldb, MKL_INT64* info ) NOTHROW;

void ZHEGVD_64( const MKL_INT64* itype, const char* jobz, const char* uplo,
             const MKL_INT64* n, MKL_Complex16* a, const MKL_INT64* lda,
             MKL_Complex16* b, const MKL_INT64* ldb, double* w,
             MKL_Complex16* work, const MKL_INT64* lwork, double* rwork,
             const MKL_INT64* lrwork, MKL_INT64* iwork, const MKL_INT64* liwork,
             MKL_INT64* info ) NOTHROW;
void zhegvd_64( const MKL_INT64* itype, const char* jobz, const char* uplo,
             const MKL_INT64* n, MKL_Complex16* a, const MKL_INT64* lda,
             MKL_Complex16* b, const MKL_INT64* ldb, double* w,
             MKL_Complex16* work, const MKL_INT64* lwork, double* rwork,
             const MKL_INT64* lrwork, MKL_INT64* iwork, const MKL_INT64* liwork,
             MKL_INT64* info ) NOTHROW;

void ZHEGV_64( const MKL_INT64* itype, const char* jobz, const char* uplo,
            const MKL_INT64* n, MKL_Complex16* a, const MKL_INT64* lda,
            MKL_Complex16* b, const MKL_INT64* ldb, double* w,
            MKL_Complex16* work, const MKL_INT64* lwork, double* rwork,
            MKL_INT64* info ) NOTHROW;
void zhegv_64( const MKL_INT64* itype, const char* jobz, const char* uplo,
            const MKL_INT64* n, MKL_Complex16* a, const MKL_INT64* lda,
            MKL_Complex16* b, const MKL_INT64* ldb, double* w,
            MKL_Complex16* work, const MKL_INT64* lwork, double* rwork,
            MKL_INT64* info ) NOTHROW;

void ZHEGVX_64( const MKL_INT64* itype, const char* jobz, const char* range,
             const char* uplo, const MKL_INT64* n, MKL_Complex16* a,
             const MKL_INT64* lda, MKL_Complex16* b, const MKL_INT64* ldb,
             const double* vl, const double* vu, const MKL_INT64* il,
             const MKL_INT64* iu, const double* abstol, MKL_INT64* m, double* w,
             MKL_Complex16* z, const MKL_INT64* ldz, MKL_Complex16* work,
             const MKL_INT64* lwork, double* rwork, MKL_INT64* iwork,
             MKL_INT64* ifail, MKL_INT64* info ) NOTHROW;
void zhegvx_64( const MKL_INT64* itype, const char* jobz, const char* range,
             const char* uplo, const MKL_INT64* n, MKL_Complex16* a,
             const MKL_INT64* lda, MKL_Complex16* b, const MKL_INT64* ldb,
             const double* vl, const double* vu, const MKL_INT64* il,
             const MKL_INT64* iu, const double* abstol, MKL_INT64* m, double* w,
             MKL_Complex16* z, const MKL_INT64* ldz, MKL_Complex16* work,
             const MKL_INT64* lwork, double* rwork, MKL_INT64* iwork,
             MKL_INT64* ifail, MKL_INT64* info ) NOTHROW;

void ZHERFS_64( const char* uplo, const MKL_INT64* n, const MKL_INT64* nrhs,
             const MKL_Complex16* a, const MKL_INT64* lda,
             const MKL_Complex16* af, const MKL_INT64* ldaf, const MKL_INT64* ipiv,
             const MKL_Complex16* b, const MKL_INT64* ldb, MKL_Complex16* x,
             const MKL_INT64* ldx, double* ferr, double* berr,
             MKL_Complex16* work, double* rwork, MKL_INT64* info ) NOTHROW;
void zherfs_64( const char* uplo, const MKL_INT64* n, const MKL_INT64* nrhs,
             const MKL_Complex16* a, const MKL_INT64* lda,
             const MKL_Complex16* af, const MKL_INT64* ldaf, const MKL_INT64* ipiv,
             const MKL_Complex16* b, const MKL_INT64* ldb, MKL_Complex16* x,
             const MKL_INT64* ldx, double* ferr, double* berr,
             MKL_Complex16* work, double* rwork, MKL_INT64* info ) NOTHROW;

void ZHERFSX_64( const char* uplo, const char* equed, const MKL_INT64* n,
              const MKL_INT64* nrhs, const MKL_Complex16* a, const MKL_INT64* lda,
              const MKL_Complex16* af, const MKL_INT64* ldaf,
              const MKL_INT64* ipiv, double* s, const MKL_Complex16* b,
              const MKL_INT64* ldb, MKL_Complex16* x, const MKL_INT64* ldx,
              double* rcond, double* berr, const MKL_INT64* n_err_bnds,
              double* err_bnds_norm, double* err_bnds_comp,
              const MKL_INT64* nparams, double* params, MKL_Complex16* work,
              double* rwork, MKL_INT64* info ) NOTHROW;
void zherfsx_64( const char* uplo, const char* equed, const MKL_INT64* n,
              const MKL_INT64* nrhs, const MKL_Complex16* a, const MKL_INT64* lda,
              const MKL_Complex16* af, const MKL_INT64* ldaf,
              const MKL_INT64* ipiv, double* s, const MKL_Complex16* b,
              const MKL_INT64* ldb, MKL_Complex16* x, const MKL_INT64* ldx,
              double* rcond, double* berr, const MKL_INT64* n_err_bnds,
              double* err_bnds_norm, double* err_bnds_comp,
              const MKL_INT64* nparams, double* params, MKL_Complex16* work,
              double* rwork, MKL_INT64* info ) NOTHROW;

void ZHESV_64( const char* uplo, const MKL_INT64* n, const MKL_INT64* nrhs,
            MKL_Complex16* a, const MKL_INT64* lda, MKL_INT64* ipiv,
            MKL_Complex16* b, const MKL_INT64* ldb, MKL_Complex16* work,
            const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;
void zhesv_64( const char* uplo, const MKL_INT64* n, const MKL_INT64* nrhs,
            MKL_Complex16* a, const MKL_INT64* lda, MKL_INT64* ipiv,
            MKL_Complex16* b, const MKL_INT64* ldb, MKL_Complex16* work,
            const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;

void ZHESVX_64( const char* fact, const char* uplo, const MKL_INT64* n,
             const MKL_INT64* nrhs, const MKL_Complex16* a, const MKL_INT64* lda,
             MKL_Complex16* af, const MKL_INT64* ldaf, MKL_INT64* ipiv,
             const MKL_Complex16* b, const MKL_INT64* ldb, MKL_Complex16* x,
             const MKL_INT64* ldx, double* rcond, double* ferr, double* berr,
             MKL_Complex16* work, const MKL_INT64* lwork, double* rwork,
             MKL_INT64* info ) NOTHROW;
void zhesvx_64( const char* fact, const char* uplo, const MKL_INT64* n,
             const MKL_INT64* nrhs, const MKL_Complex16* a, const MKL_INT64* lda,
             MKL_Complex16* af, const MKL_INT64* ldaf, MKL_INT64* ipiv,
             const MKL_Complex16* b, const MKL_INT64* ldb, MKL_Complex16* x,
             const MKL_INT64* ldx, double* rcond, double* ferr, double* berr,
             MKL_Complex16* work, const MKL_INT64* lwork, double* rwork,
             MKL_INT64* info ) NOTHROW;

void ZHESVXX_64( const char* fact, const char* uplo, const MKL_INT64* n,
              const MKL_INT64* nrhs, MKL_Complex16* a, const MKL_INT64* lda,
              MKL_Complex16* af, const MKL_INT64* ldaf, MKL_INT64* ipiv,
              char* equed, double* s, MKL_Complex16* b, const MKL_INT64* ldb,
              MKL_Complex16* x, const MKL_INT64* ldx, double* rcond,
              double* rpvgrw, double* berr, const MKL_INT64* n_err_bnds,
              double* err_bnds_norm, double* err_bnds_comp,
              const MKL_INT64* nparams, double* params, MKL_Complex16* work,
              double* rwork, MKL_INT64* info ) NOTHROW;
void zhesvxx_64( const char* fact, const char* uplo, const MKL_INT64* n,
              const MKL_INT64* nrhs, MKL_Complex16* a, const MKL_INT64* lda,
              MKL_Complex16* af, const MKL_INT64* ldaf, MKL_INT64* ipiv,
              char* equed, double* s, MKL_Complex16* b, const MKL_INT64* ldb,
              MKL_Complex16* x, const MKL_INT64* ldx, double* rcond,
              double* rpvgrw, double* berr, const MKL_INT64* n_err_bnds,
              double* err_bnds_norm, double* err_bnds_comp,
              const MKL_INT64* nparams, double* params, MKL_Complex16* work,
              double* rwork, MKL_INT64* info ) NOTHROW;

void ZHETD2_64( const char* uplo, const MKL_INT64* n, MKL_Complex16* a,
             const MKL_INT64* lda, double* d, double* e, MKL_Complex16* tau,
             MKL_INT64* info ) NOTHROW;
void zhetd2_64( const char* uplo, const MKL_INT64* n, MKL_Complex16* a,
             const MKL_INT64* lda, double* d, double* e, MKL_Complex16* tau,
             MKL_INT64* info ) NOTHROW;

void ZHETF2_64( const char* uplo, const MKL_INT64* n, MKL_Complex16* a,
             const MKL_INT64* lda, MKL_INT64* ipiv, MKL_INT64* info ) NOTHROW;
void zhetf2_64( const char* uplo, const MKL_INT64* n, MKL_Complex16* a,
             const MKL_INT64* lda, MKL_INT64* ipiv, MKL_INT64* info ) NOTHROW;

void ZHETRD_64( const char* uplo, const MKL_INT64* n, MKL_Complex16* a,
             const MKL_INT64* lda, double* d, double* e, MKL_Complex16* tau,
             MKL_Complex16* work, const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;
void zhetrd_64( const char* uplo, const MKL_INT64* n, MKL_Complex16* a,
             const MKL_INT64* lda, double* d, double* e, MKL_Complex16* tau,
             MKL_Complex16* work, const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;

void ZHETRF_64( const char* uplo, const MKL_INT64* n, MKL_Complex16* a,
             const MKL_INT64* lda, MKL_INT64* ipiv, MKL_Complex16* work,
             const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;
void zhetrf_64( const char* uplo, const MKL_INT64* n, MKL_Complex16* a,
             const MKL_INT64* lda, MKL_INT64* ipiv, MKL_Complex16* work,
             const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;

void ZHETRI_64( const char* uplo, const MKL_INT64* n, MKL_Complex16* a,
             const MKL_INT64* lda, const MKL_INT64* ipiv, MKL_Complex16* work,
             MKL_INT64* info ) NOTHROW;
void zhetri_64( const char* uplo, const MKL_INT64* n, MKL_Complex16* a,
             const MKL_INT64* lda, const MKL_INT64* ipiv, MKL_Complex16* work,
             MKL_INT64* info ) NOTHROW;

void ZHETRS_64( const char* uplo, const MKL_INT64* n, const MKL_INT64* nrhs,
             const MKL_Complex16* a, const MKL_INT64* lda, const MKL_INT64* ipiv,
             MKL_Complex16* b, const MKL_INT64* ldb, MKL_INT64* info ) NOTHROW;
void zhetrs_64( const char* uplo, const MKL_INT64* n, const MKL_INT64* nrhs,
             const MKL_Complex16* a, const MKL_INT64* lda, const MKL_INT64* ipiv,
             MKL_Complex16* b, const MKL_INT64* ldb, MKL_INT64* info ) NOTHROW;

void ZHFRK_64( const char* transr, const char* uplo, const char* trans,
            const MKL_INT64* n, const MKL_INT64* k, const double* alpha,
            const MKL_Complex16* a, const MKL_INT64* lda, const double* beta,
            MKL_Complex16* c ) NOTHROW;
void zhfrk_64( const char* transr, const char* uplo, const char* trans,
            const MKL_INT64* n, const MKL_INT64* k, const double* alpha,
            const MKL_Complex16* a, const MKL_INT64* lda, const double* beta,
            MKL_Complex16* c ) NOTHROW;

void ZHGEQZ_64( const char* job, const char* compq, const char* compz,
             const MKL_INT64* n, const MKL_INT64* ilo, const MKL_INT64* ihi,
             MKL_Complex16* h, const MKL_INT64* ldh, MKL_Complex16* t,
             const MKL_INT64* ldt, MKL_Complex16* alpha, MKL_Complex16* beta,
             MKL_Complex16* q, const MKL_INT64* ldq, MKL_Complex16* z,
             const MKL_INT64* ldz, MKL_Complex16* work, const MKL_INT64* lwork,
             double* rwork, MKL_INT64* info ) NOTHROW;
void zhgeqz_64( const char* job, const char* compq, const char* compz,
             const MKL_INT64* n, const MKL_INT64* ilo, const MKL_INT64* ihi,
             MKL_Complex16* h, const MKL_INT64* ldh, MKL_Complex16* t,
             const MKL_INT64* ldt, MKL_Complex16* alpha, MKL_Complex16* beta,
             MKL_Complex16* q, const MKL_INT64* ldq, MKL_Complex16* z,
             const MKL_INT64* ldz, MKL_Complex16* work, const MKL_INT64* lwork,
             double* rwork, MKL_INT64* info ) NOTHROW;

void ZHPCON_64( const char* uplo, const MKL_INT64* n, const MKL_Complex16* ap,
             const MKL_INT64* ipiv, const double* anorm, double* rcond,
             MKL_Complex16* work, MKL_INT64* info ) NOTHROW;
void zhpcon_64( const char* uplo, const MKL_INT64* n, const MKL_Complex16* ap,
             const MKL_INT64* ipiv, const double* anorm, double* rcond,
             MKL_Complex16* work, MKL_INT64* info ) NOTHROW;

void ZHPEVD_64( const char* jobz, const char* uplo, const MKL_INT64* n,
             MKL_Complex16* ap, double* w, MKL_Complex16* z,
             const MKL_INT64* ldz, MKL_Complex16* work, const MKL_INT64* lwork,
             double* rwork, const MKL_INT64* lrwork, MKL_INT64* iwork,
             const MKL_INT64* liwork, MKL_INT64* info ) NOTHROW;
void zhpevd_64( const char* jobz, const char* uplo, const MKL_INT64* n,
             MKL_Complex16* ap, double* w, MKL_Complex16* z,
             const MKL_INT64* ldz, MKL_Complex16* work, const MKL_INT64* lwork,
             double* rwork, const MKL_INT64* lrwork, MKL_INT64* iwork,
             const MKL_INT64* liwork, MKL_INT64* info ) NOTHROW;

void ZHPEV_64( const char* jobz, const char* uplo, const MKL_INT64* n,
            MKL_Complex16* ap, double* w, MKL_Complex16* z, const MKL_INT64* ldz,
            MKL_Complex16* work, double* rwork, MKL_INT64* info ) NOTHROW;
void zhpev_64( const char* jobz, const char* uplo, const MKL_INT64* n,
            MKL_Complex16* ap, double* w, MKL_Complex16* z, const MKL_INT64* ldz,
            MKL_Complex16* work, double* rwork, MKL_INT64* info ) NOTHROW;

void ZHPEVX_64( const char* jobz, const char* range, const char* uplo,
             const MKL_INT64* n, MKL_Complex16* ap, const double* vl,
             const double* vu, const MKL_INT64* il, const MKL_INT64* iu,
             const double* abstol, MKL_INT64* m, double* w, MKL_Complex16* z,
             const MKL_INT64* ldz, MKL_Complex16* work, double* rwork,
             MKL_INT64* iwork, MKL_INT64* ifail, MKL_INT64* info ) NOTHROW;
void zhpevx_64( const char* jobz, const char* range, const char* uplo,
             const MKL_INT64* n, MKL_Complex16* ap, const double* vl,
             const double* vu, const MKL_INT64* il, const MKL_INT64* iu,
             const double* abstol, MKL_INT64* m, double* w, MKL_Complex16* z,
             const MKL_INT64* ldz, MKL_Complex16* work, double* rwork,
             MKL_INT64* iwork, MKL_INT64* ifail, MKL_INT64* info ) NOTHROW;

void ZHPGST_64( const MKL_INT64* itype, const char* uplo, const MKL_INT64* n,
             MKL_Complex16* ap, const MKL_Complex16* bp, MKL_INT64* info ) NOTHROW;
void zhpgst_64( const MKL_INT64* itype, const char* uplo, const MKL_INT64* n,
             MKL_Complex16* ap, const MKL_Complex16* bp, MKL_INT64* info ) NOTHROW;

void ZHPGVD_64( const MKL_INT64* itype, const char* jobz, const char* uplo,
             const MKL_INT64* n, MKL_Complex16* ap, MKL_Complex16* bp, double* w,
             MKL_Complex16* z, const MKL_INT64* ldz, MKL_Complex16* work,
             const MKL_INT64* lwork, double* rwork, const MKL_INT64* lrwork,
             MKL_INT64* iwork, const MKL_INT64* liwork, MKL_INT64* info ) NOTHROW;
void zhpgvd_64( const MKL_INT64* itype, const char* jobz, const char* uplo,
             const MKL_INT64* n, MKL_Complex16* ap, MKL_Complex16* bp, double* w,
             MKL_Complex16* z, const MKL_INT64* ldz, MKL_Complex16* work,
             const MKL_INT64* lwork, double* rwork, const MKL_INT64* lrwork,
             MKL_INT64* iwork, const MKL_INT64* liwork, MKL_INT64* info ) NOTHROW;

void ZHPGV_64( const MKL_INT64* itype, const char* jobz, const char* uplo,
            const MKL_INT64* n, MKL_Complex16* ap, MKL_Complex16* bp, double* w,
            MKL_Complex16* z, const MKL_INT64* ldz, MKL_Complex16* work,
            double* rwork, MKL_INT64* info ) NOTHROW;
void zhpgv_64( const MKL_INT64* itype, const char* jobz, const char* uplo,
            const MKL_INT64* n, MKL_Complex16* ap, MKL_Complex16* bp, double* w,
            MKL_Complex16* z, const MKL_INT64* ldz, MKL_Complex16* work,
            double* rwork, MKL_INT64* info ) NOTHROW;

void ZHPGVX_64( const MKL_INT64* itype, const char* jobz, const char* range,
             const char* uplo, const MKL_INT64* n, MKL_Complex16* ap,
             MKL_Complex16* bp, const double* vl, const double* vu,
             const MKL_INT64* il, const MKL_INT64* iu, const double* abstol,
             MKL_INT64* m, double* w, MKL_Complex16* z, const MKL_INT64* ldz,
             MKL_Complex16* work, double* rwork, MKL_INT64* iwork,
             MKL_INT64* ifail, MKL_INT64* info ) NOTHROW;
void zhpgvx_64( const MKL_INT64* itype, const char* jobz, const char* range,
             const char* uplo, const MKL_INT64* n, MKL_Complex16* ap,
             MKL_Complex16* bp, const double* vl, const double* vu,
             const MKL_INT64* il, const MKL_INT64* iu, const double* abstol,
             MKL_INT64* m, double* w, MKL_Complex16* z, const MKL_INT64* ldz,
             MKL_Complex16* work, double* rwork, MKL_INT64* iwork,
             MKL_INT64* ifail, MKL_INT64* info ) NOTHROW;

void ZHPRFS_64( const char* uplo, const MKL_INT64* n, const MKL_INT64* nrhs,
             const MKL_Complex16* ap, const MKL_Complex16* afp,
             const MKL_INT64* ipiv, const MKL_Complex16* b, const MKL_INT64* ldb,
             MKL_Complex16* x, const MKL_INT64* ldx, double* ferr, double* berr,
             MKL_Complex16* work, double* rwork, MKL_INT64* info ) NOTHROW;
void zhprfs_64( const char* uplo, const MKL_INT64* n, const MKL_INT64* nrhs,
             const MKL_Complex16* ap, const MKL_Complex16* afp,
             const MKL_INT64* ipiv, const MKL_Complex16* b, const MKL_INT64* ldb,
             MKL_Complex16* x, const MKL_INT64* ldx, double* ferr, double* berr,
             MKL_Complex16* work, double* rwork, MKL_INT64* info ) NOTHROW;

void ZHPSV_64( const char* uplo, const MKL_INT64* n, const MKL_INT64* nrhs,
            MKL_Complex16* ap, MKL_INT64* ipiv, MKL_Complex16* b,
            const MKL_INT64* ldb, MKL_INT64* info ) NOTHROW;
void zhpsv_64( const char* uplo, const MKL_INT64* n, const MKL_INT64* nrhs,
            MKL_Complex16* ap, MKL_INT64* ipiv, MKL_Complex16* b,
            const MKL_INT64* ldb, MKL_INT64* info ) NOTHROW;

void ZHPSVX_64( const char* fact, const char* uplo, const MKL_INT64* n,
             const MKL_INT64* nrhs, const MKL_Complex16* ap, MKL_Complex16* afp,
             MKL_INT64* ipiv, const MKL_Complex16* b, const MKL_INT64* ldb,
             MKL_Complex16* x, const MKL_INT64* ldx, double* rcond, double* ferr,
             double* berr, MKL_Complex16* work, double* rwork, MKL_INT64* info ) NOTHROW;
void zhpsvx_64( const char* fact, const char* uplo, const MKL_INT64* n,
             const MKL_INT64* nrhs, const MKL_Complex16* ap, MKL_Complex16* afp,
             MKL_INT64* ipiv, const MKL_Complex16* b, const MKL_INT64* ldb,
             MKL_Complex16* x, const MKL_INT64* ldx, double* rcond, double* ferr,
             double* berr, MKL_Complex16* work, double* rwork, MKL_INT64* info ) NOTHROW;

void ZHPTRD_64( const char* uplo, const MKL_INT64* n, MKL_Complex16* ap, double* d,
             double* e, MKL_Complex16* tau, MKL_INT64* info ) NOTHROW;
void zhptrd_64( const char* uplo, const MKL_INT64* n, MKL_Complex16* ap, double* d,
             double* e, MKL_Complex16* tau, MKL_INT64* info ) NOTHROW;

void ZHPTRF_64( const char* uplo, const MKL_INT64* n, MKL_Complex16* ap,
             MKL_INT64* ipiv, MKL_INT64* info ) NOTHROW;
void zhptrf_64( const char* uplo, const MKL_INT64* n, MKL_Complex16* ap,
             MKL_INT64* ipiv, MKL_INT64* info ) NOTHROW;

void ZHPTRI_64( const char* uplo, const MKL_INT64* n, MKL_Complex16* ap,
             const MKL_INT64* ipiv, MKL_Complex16* work, MKL_INT64* info ) NOTHROW;
void zhptri_64( const char* uplo, const MKL_INT64* n, MKL_Complex16* ap,
             const MKL_INT64* ipiv, MKL_Complex16* work, MKL_INT64* info ) NOTHROW;

void ZHPTRS_64( const char* uplo, const MKL_INT64* n, const MKL_INT64* nrhs,
             const MKL_Complex16* ap, const MKL_INT64* ipiv, MKL_Complex16* b,
             const MKL_INT64* ldb, MKL_INT64* info ) NOTHROW;
void zhptrs_64( const char* uplo, const MKL_INT64* n, const MKL_INT64* nrhs,
             const MKL_Complex16* ap, const MKL_INT64* ipiv, MKL_Complex16* b,
             const MKL_INT64* ldb, MKL_INT64* info ) NOTHROW;

void ZHSEIN_64( const char* side, const char* eigsrc, const char* initv,
             const MKL_INT64* select, const MKL_INT64* n, const MKL_Complex16* h,
             const MKL_INT64* ldh, MKL_Complex16* w, MKL_Complex16* vl,
             const MKL_INT64* ldvl, MKL_Complex16* vr, const MKL_INT64* ldvr,
             const MKL_INT64* mm, MKL_INT64* m, MKL_Complex16* work, double* rwork,
             MKL_INT64* ifaill, MKL_INT64* ifailr, MKL_INT64* info ) NOTHROW;
void zhsein_64( const char* side, const char* eigsrc, const char* initv,
             const MKL_INT64* select, const MKL_INT64* n, const MKL_Complex16* h,
             const MKL_INT64* ldh, MKL_Complex16* w, MKL_Complex16* vl,
             const MKL_INT64* ldvl, MKL_Complex16* vr, const MKL_INT64* ldvr,
             const MKL_INT64* mm, MKL_INT64* m, MKL_Complex16* work, double* rwork,
             MKL_INT64* ifaill, MKL_INT64* ifailr, MKL_INT64* info ) NOTHROW;

void ZHSEQR_64( const char* job, const char* compz, const MKL_INT64* n,
             const MKL_INT64* ilo, const MKL_INT64* ihi, MKL_Complex16* h,
             const MKL_INT64* ldh, MKL_Complex16* w, MKL_Complex16* z,
             const MKL_INT64* ldz, MKL_Complex16* work, const MKL_INT64* lwork,
             MKL_INT64* info ) NOTHROW;
void zhseqr_64( const char* job, const char* compz, const MKL_INT64* n,
             const MKL_INT64* ilo, const MKL_INT64* ihi, MKL_Complex16* h,
             const MKL_INT64* ldh, MKL_Complex16* w, MKL_Complex16* z,
             const MKL_INT64* ldz, MKL_Complex16* work, const MKL_INT64* lwork,
             MKL_INT64* info ) NOTHROW;

void ZLABRD_64( const MKL_INT64* m, const MKL_INT64* n, const MKL_INT64* nb,
             MKL_Complex16* a, const MKL_INT64* lda, double* d, double* e,
             MKL_Complex16* tauq, MKL_Complex16* taup, MKL_Complex16* x,
             const MKL_INT64* ldx, MKL_Complex16* y, const MKL_INT64* ldy ) NOTHROW;
void zlabrd_64( const MKL_INT64* m, const MKL_INT64* n, const MKL_INT64* nb,
             MKL_Complex16* a, const MKL_INT64* lda, double* d, double* e,
             MKL_Complex16* tauq, MKL_Complex16* taup, MKL_Complex16* x,
             const MKL_INT64* ldx, MKL_Complex16* y, const MKL_INT64* ldy ) NOTHROW;

void ZLACGV_64( const MKL_INT64* n, MKL_Complex16* x, const MKL_INT64* incx ) NOTHROW;
void zlacgv_64( const MKL_INT64* n, MKL_Complex16* x, const MKL_INT64* incx ) NOTHROW;

void ZLACN2_64( const MKL_INT64* n, MKL_Complex16* v, MKL_Complex16* x, double* est,
             MKL_INT64* kase, MKL_INT64* isave ) NOTHROW;
void zlacn2_64( const MKL_INT64* n, MKL_Complex16* v, MKL_Complex16* x, double* est,
             MKL_INT64* kase, MKL_INT64* isave ) NOTHROW;

void ZLACON_64( const MKL_INT64* n, MKL_Complex16* v, MKL_Complex16* x, double* est,
             MKL_INT64* kase ) NOTHROW;
void zlacon_64( const MKL_INT64* n, MKL_Complex16* v, MKL_Complex16* x, double* est,
             MKL_INT64* kase ) NOTHROW;

void ZLACP2_64( const char* uplo, const MKL_INT64* m, const MKL_INT64* n,
             const double* a, const MKL_INT64* lda, MKL_Complex16* b,
             const MKL_INT64* ldb ) NOTHROW;
void zlacp2_64( const char* uplo, const MKL_INT64* m, const MKL_INT64* n,
             const double* a, const MKL_INT64* lda, MKL_Complex16* b,
             const MKL_INT64* ldb ) NOTHROW;

void ZLACPY_64( const char* uplo, const MKL_INT64* m, const MKL_INT64* n,
             const MKL_Complex16* a, const MKL_INT64* lda, MKL_Complex16* b,
             const MKL_INT64* ldb ) NOTHROW;
void zlacpy_64( const char* uplo, const MKL_INT64* m, const MKL_INT64* n,
             const MKL_Complex16* a, const MKL_INT64* lda, MKL_Complex16* b,
             const MKL_INT64* ldb ) NOTHROW;

void ZLACRM_64( const MKL_INT64* m, const MKL_INT64* n, const MKL_Complex16* a,
             const MKL_INT64* lda, const double* b, const MKL_INT64* ldb,
             MKL_Complex16* c, const MKL_INT64* ldc, double* rwork ) NOTHROW;
void zlacrm_64( const MKL_INT64* m, const MKL_INT64* n, const MKL_Complex16* a,
             const MKL_INT64* lda, const double* b, const MKL_INT64* ldb,
             MKL_Complex16* c, const MKL_INT64* ldc, double* rwork ) NOTHROW;

void ZLACRT_64( const MKL_INT64* n, MKL_Complex16* cx, const MKL_INT64* incx,
             MKL_Complex16* cy, const MKL_INT64* incy, const MKL_Complex16* c,
             const MKL_Complex16* s ) NOTHROW;
void zlacrt_64( const MKL_INT64* n, MKL_Complex16* cx, const MKL_INT64* incx,
             MKL_Complex16* cy, const MKL_INT64* incy, const MKL_Complex16* c,
             const MKL_Complex16* s ) NOTHROW;

void ZLAED0_64( const MKL_INT64* qsiz, const MKL_INT64* n, double* d, double* e,
             MKL_Complex16* q, const MKL_INT64* ldq, MKL_Complex16* qstore,
             const MKL_INT64* ldqs, double* rwork, MKL_INT64* iwork,
             MKL_INT64* info ) NOTHROW;
void zlaed0_64( const MKL_INT64* qsiz, const MKL_INT64* n, double* d, double* e,
             MKL_Complex16* q, const MKL_INT64* ldq, MKL_Complex16* qstore,
             const MKL_INT64* ldqs, double* rwork, MKL_INT64* iwork,
             MKL_INT64* info ) NOTHROW;

void ZLAED7_64( const MKL_INT64* n, const MKL_INT64* cutpnt, const MKL_INT64* qsiz,
             const MKL_INT64* tlvls, const MKL_INT64* curlvl,
             const MKL_INT64* curpbm, double* d, MKL_Complex16* q,
             const MKL_INT64* ldq, const double* rho, MKL_INT64* indxq,
             double* qstore, MKL_INT64* qptr, const MKL_INT64* prmptr,
             const MKL_INT64* perm, const MKL_INT64* givptr, const MKL_INT64* givcol,
             const double* givnum, MKL_Complex16* work, double* rwork,
             MKL_INT64* iwork, MKL_INT64* info ) NOTHROW;
void zlaed7_64( const MKL_INT64* n, const MKL_INT64* cutpnt, const MKL_INT64* qsiz,
             const MKL_INT64* tlvls, const MKL_INT64* curlvl,
             const MKL_INT64* curpbm, double* d, MKL_Complex16* q,
             const MKL_INT64* ldq, const double* rho, MKL_INT64* indxq,
             double* qstore, MKL_INT64* qptr, const MKL_INT64* prmptr,
             const MKL_INT64* perm, const MKL_INT64* givptr, const MKL_INT64* givcol,
             const double* givnum, MKL_Complex16* work, double* rwork,
             MKL_INT64* iwork, MKL_INT64* info ) NOTHROW;

void ZLAED8_64( MKL_INT64* k, const MKL_INT64* n, const MKL_INT64* qsiz,
             MKL_Complex16* q, const MKL_INT64* ldq, double* d, double* rho,
             const MKL_INT64* cutpnt, const double* z, double* dlamda,
             MKL_Complex16* q2, const MKL_INT64* ldq2, double* w, MKL_INT64* indxp,
             MKL_INT64* indx, const MKL_INT64* indxq, MKL_INT64* perm,
             MKL_INT64* givptr, MKL_INT64* givcol, double* givnum, MKL_INT64* info ) NOTHROW;
void zlaed8_64( MKL_INT64* k, const MKL_INT64* n, const MKL_INT64* qsiz,
             MKL_Complex16* q, const MKL_INT64* ldq, double* d, double* rho,
             const MKL_INT64* cutpnt, const double* z, double* dlamda,
             MKL_Complex16* q2, const MKL_INT64* ldq2, double* w, MKL_INT64* indxp,
             MKL_INT64* indx, const MKL_INT64* indxq, MKL_INT64* perm,
             MKL_INT64* givptr, MKL_INT64* givcol, double* givnum, MKL_INT64* info ) NOTHROW;

void ZLAEIN_64( const MKL_INT64* rightv, const MKL_INT64* noinit, const MKL_INT64* n,
             const MKL_Complex16* h, const MKL_INT64* ldh,
             const MKL_Complex16* w, MKL_Complex16* v, MKL_Complex16* b,
             const MKL_INT64* ldb, double* rwork, const double* eps3,
             const double* smlnum, MKL_INT64* info ) NOTHROW;
void zlaein_64( const MKL_INT64* rightv, const MKL_INT64* noinit, const MKL_INT64* n,
             const MKL_Complex16* h, const MKL_INT64* ldh,
             const MKL_Complex16* w, MKL_Complex16* v, MKL_Complex16* b,
             const MKL_INT64* ldb, double* rwork, const double* eps3,
             const double* smlnum, MKL_INT64* info ) NOTHROW;

void ZLAG2C_64( const MKL_INT64* m, const MKL_INT64* n, const MKL_Complex16* a,
             const MKL_INT64* lda, MKL_Complex8* sa, const MKL_INT64* ldsa,
             MKL_INT64* info ) NOTHROW;
void zlag2c_64( const MKL_INT64* m, const MKL_INT64* n, const MKL_Complex16* a,
             const MKL_INT64* lda, MKL_Complex8* sa, const MKL_INT64* ldsa,
             MKL_INT64* info ) NOTHROW;

void ZLAGS2_64( const MKL_INT64* upper, const double* a1, const MKL_Complex16* a2,
             const double* a3, const double* b1, const MKL_Complex16* b2,
             const double* b3, double* csu, MKL_Complex16* snu, double* csv,
             MKL_Complex16* snv, double* csq, MKL_Complex16* snq ) NOTHROW;
void zlags2_64( const MKL_INT64* upper, const double* a1, const MKL_Complex16* a2,
             const double* a3, const double* b1, const MKL_Complex16* b2,
             const double* b3, double* csu, MKL_Complex16* snu, double* csv,
             MKL_Complex16* snv, double* csq, MKL_Complex16* snq ) NOTHROW;

void ZLAGTM_64( const char* trans, const MKL_INT64* n, const MKL_INT64* nrhs,
             const double* alpha, const MKL_Complex16* dl,
             const MKL_Complex16* d, const MKL_Complex16* du,
             const MKL_Complex16* x, const MKL_INT64* ldx, const double* beta,
             MKL_Complex16* b, const MKL_INT64* ldb ) NOTHROW;
void zlagtm_64( const char* trans, const MKL_INT64* n, const MKL_INT64* nrhs,
             const double* alpha, const MKL_Complex16* dl,
             const MKL_Complex16* d, const MKL_Complex16* du,
             const MKL_Complex16* x, const MKL_INT64* ldx, const double* beta,
             MKL_Complex16* b, const MKL_INT64* ldb ) NOTHROW;

void ZLAHEF_64( const char* uplo, const MKL_INT64* n, const MKL_INT64* nb,
             MKL_INT64* kb, MKL_Complex16* a, const MKL_INT64* lda, MKL_INT64* ipiv,
             MKL_Complex16* w, const MKL_INT64* ldw, MKL_INT64* info ) NOTHROW;
void zlahef_64( const char* uplo, const MKL_INT64* n, const MKL_INT64* nb,
             MKL_INT64* kb, MKL_Complex16* a, const MKL_INT64* lda, MKL_INT64* ipiv,
             MKL_Complex16* w, const MKL_INT64* ldw, MKL_INT64* info ) NOTHROW;

void ZLAHQR_64( const MKL_INT64* wantt, const MKL_INT64* wantz, const MKL_INT64* n,
             const MKL_INT64* ilo, const MKL_INT64* ihi, MKL_Complex16* h,
             const MKL_INT64* ldh, MKL_Complex16* w, const MKL_INT64* iloz,
             const MKL_INT64* ihiz, MKL_Complex16* z, const MKL_INT64* ldz,
             MKL_INT64* info ) NOTHROW;
void zlahqr_64( const MKL_INT64* wantt, const MKL_INT64* wantz, const MKL_INT64* n,
             const MKL_INT64* ilo, const MKL_INT64* ihi, MKL_Complex16* h,
             const MKL_INT64* ldh, MKL_Complex16* w, const MKL_INT64* iloz,
             const MKL_INT64* ihiz, MKL_Complex16* z, const MKL_INT64* ldz,
             MKL_INT64* info ) NOTHROW;

void ZLAHR2_64( const MKL_INT64* n, const MKL_INT64* k, const MKL_INT64* nb,
             MKL_Complex16* a, const MKL_INT64* lda, MKL_Complex16* tau,
             MKL_Complex16* t, const MKL_INT64* ldt, MKL_Complex16* y,
             const MKL_INT64* ldy ) NOTHROW;
void zlahr2_64( const MKL_INT64* n, const MKL_INT64* k, const MKL_INT64* nb,
             MKL_Complex16* a, const MKL_INT64* lda, MKL_Complex16* tau,
             MKL_Complex16* t, const MKL_INT64* ldt, MKL_Complex16* y,
             const MKL_INT64* ldy ) NOTHROW;

void ZLAHRD_64( const MKL_INT64* n, const MKL_INT64* k, const MKL_INT64* nb,
             MKL_Complex16* a, const MKL_INT64* lda, MKL_Complex16* tau,
             MKL_Complex16* t, const MKL_INT64* ldt, MKL_Complex16* y,
             const MKL_INT64* ldy ) NOTHROW;
void zlahrd_64( const MKL_INT64* n, const MKL_INT64* k, const MKL_INT64* nb,
             MKL_Complex16* a, const MKL_INT64* lda, MKL_Complex16* tau,
             MKL_Complex16* t, const MKL_INT64* ldt, MKL_Complex16* y,
             const MKL_INT64* ldy ) NOTHROW;

void ZLAIC1_64( const MKL_INT64* job, const MKL_INT64* j, const MKL_Complex16* x,
             const double* sest, const MKL_Complex16* w,
             const MKL_Complex16* gamma, double* sestpr, MKL_Complex16* s,
             MKL_Complex16* c ) NOTHROW;
void zlaic1_64( const MKL_INT64* job, const MKL_INT64* j, const MKL_Complex16* x,
             const double* sest, const MKL_Complex16* w,
             const MKL_Complex16* gamma, double* sestpr, MKL_Complex16* s,
             MKL_Complex16* c ) NOTHROW;

void ZLALS0_64( const MKL_INT64* icompq, const MKL_INT64* nl, const MKL_INT64* nr,
             const MKL_INT64* sqre, const MKL_INT64* nrhs, MKL_Complex16* b,
             const MKL_INT64* ldb, MKL_Complex16* bx, const MKL_INT64* ldbx,
             const MKL_INT64* perm, const MKL_INT64* givptr, const MKL_INT64* givcol,
             const MKL_INT64* ldgcol, const double* givnum,
             const MKL_INT64* ldgnum, const double* poles, const double* difl,
             const double* difr, const double* z, const MKL_INT64* k,
             const double* c, const double* s, double* rwork, MKL_INT64* info ) NOTHROW;
void zlals0_64( const MKL_INT64* icompq, const MKL_INT64* nl, const MKL_INT64* nr,
             const MKL_INT64* sqre, const MKL_INT64* nrhs, MKL_Complex16* b,
             const MKL_INT64* ldb, MKL_Complex16* bx, const MKL_INT64* ldbx,
             const MKL_INT64* perm, const MKL_INT64* givptr, const MKL_INT64* givcol,
             const MKL_INT64* ldgcol, const double* givnum,
             const MKL_INT64* ldgnum, const double* poles, const double* difl,
             const double* difr, const double* z, const MKL_INT64* k,
             const double* c, const double* s, double* rwork, MKL_INT64* info ) NOTHROW;

void ZLALSA_64( const MKL_INT64* icompq, const MKL_INT64* smlsiz, const MKL_INT64* n,
             const MKL_INT64* nrhs, MKL_Complex16* b, const MKL_INT64* ldb,
             MKL_Complex16* bx, const MKL_INT64* ldbx, const double* u,
             const MKL_INT64* ldu, const double* vt, const MKL_INT64* k,
             const double* difl, const double* difr, const double* z,
             const double* poles, const MKL_INT64* givptr, const MKL_INT64* givcol,
             const MKL_INT64* ldgcol, const MKL_INT64* perm, const double* givnum,
             const double* c, const double* s, double* rwork, MKL_INT64* iwork,
             MKL_INT64* info ) NOTHROW;
void zlalsa_64( const MKL_INT64* icompq, const MKL_INT64* smlsiz, const MKL_INT64* n,
             const MKL_INT64* nrhs, MKL_Complex16* b, const MKL_INT64* ldb,
             MKL_Complex16* bx, const MKL_INT64* ldbx, const double* u,
             const MKL_INT64* ldu, const double* vt, const MKL_INT64* k,
             const double* difl, const double* difr, const double* z,
             const double* poles, const MKL_INT64* givptr, const MKL_INT64* givcol,
             const MKL_INT64* ldgcol, const MKL_INT64* perm, const double* givnum,
             const double* c, const double* s, double* rwork, MKL_INT64* iwork,
             MKL_INT64* info ) NOTHROW;

void ZLALSD_64( const char* uplo, const MKL_INT64* smlsiz, const MKL_INT64* n,
             const MKL_INT64* nrhs, double* d, double* e, MKL_Complex16* b,
             const MKL_INT64* ldb, const double* rcond, MKL_INT64* rank,
             MKL_Complex16* work, double* rwork, MKL_INT64* iwork,
             MKL_INT64* info ) NOTHROW;
void zlalsd_64( const char* uplo, const MKL_INT64* smlsiz, const MKL_INT64* n,
             const MKL_INT64* nrhs, double* d, double* e, MKL_Complex16* b,
             const MKL_INT64* ldb, const double* rcond, MKL_INT64* rank,
             MKL_Complex16* work, double* rwork, MKL_INT64* iwork,
             MKL_INT64* info ) NOTHROW;

double ZLANGB_64( const char* norm, const MKL_INT64* n, const MKL_INT64* kl,
               const MKL_INT64* ku, const MKL_Complex16* ab, const MKL_INT64* ldab,
               double* work ) NOTHROW;
double zlangb_64( const char* norm, const MKL_INT64* n, const MKL_INT64* kl,
               const MKL_INT64* ku, const MKL_Complex16* ab, const MKL_INT64* ldab,
               double* work ) NOTHROW;

double ZLANGE_64( const char* norm, const MKL_INT64* m, const MKL_INT64* n,
               const MKL_Complex16* a, const MKL_INT64* lda, double* work ) NOTHROW;
double zlange_64( const char* norm, const MKL_INT64* m, const MKL_INT64* n,
               const MKL_Complex16* a, const MKL_INT64* lda, double* work ) NOTHROW;

double ZLANGT_64( const char* norm, const MKL_INT64* n, const MKL_Complex16* dl,
               const MKL_Complex16* d, const MKL_Complex16* du ) NOTHROW;
double zlangt_64( const char* norm, const MKL_INT64* n, const MKL_Complex16* dl,
               const MKL_Complex16* d, const MKL_Complex16* du ) NOTHROW;

double ZLANHB_64( const char* norm, const char* uplo, const MKL_INT64* n,
               const MKL_INT64* k, const MKL_Complex16* ab, const MKL_INT64* ldab,
               double* work ) NOTHROW;
double zlanhb_64( const char* norm, const char* uplo, const MKL_INT64* n,
               const MKL_INT64* k, const MKL_Complex16* ab, const MKL_INT64* ldab,
               double* work ) NOTHROW;

double ZLANHE_64( const char* norm, const char* uplo, const MKL_INT64* n,
               const MKL_Complex16* a, const MKL_INT64* lda, double* work ) NOTHROW;
double zlanhe_64( const char* norm, const char* uplo, const MKL_INT64* n,
               const MKL_Complex16* a, const MKL_INT64* lda, double* work ) NOTHROW;

double ZLANHF_64( const char* norm, const char* transr, const char* uplo,
               const MKL_INT64* n, const MKL_Complex16* a, double* work ) NOTHROW;
double zlanhf_64( const char* norm, const char* transr, const char* uplo,
               const MKL_INT64* n, const MKL_Complex16* a, double* work ) NOTHROW;

double ZLANHP_64( const char* norm, const char* uplo, const MKL_INT64* n,
               const MKL_Complex16* ap, double* work ) NOTHROW;
double zlanhp_64( const char* norm, const char* uplo, const MKL_INT64* n,
               const MKL_Complex16* ap, double* work ) NOTHROW;

double ZLANHS_64( const char* norm, const MKL_INT64* n, const MKL_Complex16* a,
               const MKL_INT64* lda, double* work ) NOTHROW;
double zlanhs_64( const char* norm, const MKL_INT64* n, const MKL_Complex16* a,
               const MKL_INT64* lda, double* work ) NOTHROW;

double ZLANHT_64( const char* norm, const MKL_INT64* n, const double* d,
               const MKL_Complex16* e ) NOTHROW;
double zlanht_64( const char* norm, const MKL_INT64* n, const double* d,
               const MKL_Complex16* e ) NOTHROW;

double ZLANSB_64( const char* norm, const char* uplo, const MKL_INT64* n,
               const MKL_INT64* k, const MKL_Complex16* ab, const MKL_INT64* ldab,
               double* work ) NOTHROW;
double zlansb_64( const char* norm, const char* uplo, const MKL_INT64* n,
               const MKL_INT64* k, const MKL_Complex16* ab, const MKL_INT64* ldab,
               double* work ) NOTHROW;

double ZLANSP_64( const char* norm, const char* uplo, const MKL_INT64* n,
               const MKL_Complex16* ap, double* work ) NOTHROW;
double zlansp_64( const char* norm, const char* uplo, const MKL_INT64* n,
               const MKL_Complex16* ap, double* work ) NOTHROW;

double ZLANSY_64( const char* norm, const char* uplo, const MKL_INT64* n,
               const MKL_Complex16* a, const MKL_INT64* lda, double* work ) NOTHROW;
double zlansy_64( const char* norm, const char* uplo, const MKL_INT64* n,
               const MKL_Complex16* a, const MKL_INT64* lda, double* work ) NOTHROW;

double ZLANTB_64( const char* norm, const char* uplo, const char* diag,
               const MKL_INT64* n, const MKL_INT64* k, const MKL_Complex16* ab,
               const MKL_INT64* ldab, double* work ) NOTHROW;
double zlantb_64( const char* norm, const char* uplo, const char* diag,
               const MKL_INT64* n, const MKL_INT64* k, const MKL_Complex16* ab,
               const MKL_INT64* ldab, double* work ) NOTHROW;

double ZLANTP_64( const char* norm, const char* uplo, const char* diag,
               const MKL_INT64* n, const MKL_Complex16* ap, double* work ) NOTHROW;
double zlantp_64( const char* norm, const char* uplo, const char* diag,
               const MKL_INT64* n, const MKL_Complex16* ap, double* work ) NOTHROW;

double ZLANTR_64( const char* norm, const char* uplo, const char* diag,
               const MKL_INT64* m, const MKL_INT64* n, const MKL_Complex16* a,
               const MKL_INT64* lda, double* work ) NOTHROW;
double zlantr_64( const char* norm, const char* uplo, const char* diag,
               const MKL_INT64* m, const MKL_INT64* n, const MKL_Complex16* a,
               const MKL_INT64* lda, double* work ) NOTHROW;

void ZLAPLL_64( const MKL_INT64* n, MKL_Complex16* x, const MKL_INT64* incx,
             MKL_Complex16* y, const MKL_INT64* incy, double* ssmin ) NOTHROW;
void zlapll_64( const MKL_INT64* n, MKL_Complex16* x, const MKL_INT64* incx,
             MKL_Complex16* y, const MKL_INT64* incy, double* ssmin ) NOTHROW;

void ZLAPMT_64( const MKL_INT64* forwrd, const MKL_INT64* m, const MKL_INT64* n,
             MKL_Complex16* x, const MKL_INT64* ldx, MKL_INT64* k ) NOTHROW;
void zlapmt_64( const MKL_INT64* forwrd, const MKL_INT64* m, const MKL_INT64* n,
             MKL_Complex16* x, const MKL_INT64* ldx, MKL_INT64* k ) NOTHROW;

void ZLAQGB_64( const MKL_INT64* m, const MKL_INT64* n, const MKL_INT64* kl,
             const MKL_INT64* ku, MKL_Complex16* ab, const MKL_INT64* ldab,
             const double* r, const double* c, const double* rowcnd,
             const double* colcnd, const double* amax, char* equed ) NOTHROW;
void zlaqgb_64( const MKL_INT64* m, const MKL_INT64* n, const MKL_INT64* kl,
             const MKL_INT64* ku, MKL_Complex16* ab, const MKL_INT64* ldab,
             const double* r, const double* c, const double* rowcnd,
             const double* colcnd, const double* amax, char* equed ) NOTHROW;

void ZLAQGE_64( const MKL_INT64* m, const MKL_INT64* n, MKL_Complex16* a,
             const MKL_INT64* lda, const double* r, const double* c,
             const double* rowcnd, const double* colcnd, const double* amax,
             char* equed ) NOTHROW;
void zlaqge_64( const MKL_INT64* m, const MKL_INT64* n, MKL_Complex16* a,
             const MKL_INT64* lda, const double* r, const double* c,
             const double* rowcnd, const double* colcnd, const double* amax,
             char* equed ) NOTHROW;

void ZLAQHB_64( const char* uplo, const MKL_INT64* n, const MKL_INT64* kd,
             MKL_Complex16* ab, const MKL_INT64* ldab, double* s,
             const double* scond, const double* amax, char* equed ) NOTHROW;
void zlaqhb_64( const char* uplo, const MKL_INT64* n, const MKL_INT64* kd,
             MKL_Complex16* ab, const MKL_INT64* ldab, double* s,
             const double* scond, const double* amax, char* equed ) NOTHROW;

void ZLAQHE_64( const char* uplo, const MKL_INT64* n, MKL_Complex16* a,
             const MKL_INT64* lda, const double* s, const double* scond,
             const double* amax, char* equed ) NOTHROW;
void zlaqhe_64( const char* uplo, const MKL_INT64* n, MKL_Complex16* a,
             const MKL_INT64* lda, const double* s, const double* scond,
             const double* amax, char* equed ) NOTHROW;

void ZLAQHP_64( const char* uplo, const MKL_INT64* n, MKL_Complex16* ap,
             const double* s, const double* scond, const double* amax,
             char* equed ) NOTHROW;
void zlaqhp_64( const char* uplo, const MKL_INT64* n, MKL_Complex16* ap,
             const double* s, const double* scond, const double* amax,
             char* equed ) NOTHROW;

void ZLAQP2_64( const MKL_INT64* m, const MKL_INT64* n, const MKL_INT64* offset,
             MKL_Complex16* a, const MKL_INT64* lda, MKL_INT64* jpvt,
             MKL_Complex16* tau, double* vn1, double* vn2,
             MKL_Complex16* work ) NOTHROW;
void zlaqp2_64( const MKL_INT64* m, const MKL_INT64* n, const MKL_INT64* offset,
             MKL_Complex16* a, const MKL_INT64* lda, MKL_INT64* jpvt,
             MKL_Complex16* tau, double* vn1, double* vn2,
             MKL_Complex16* work ) NOTHROW;

void ZLAQPS_64( const MKL_INT64* m, const MKL_INT64* n, const MKL_INT64* offset,
             const MKL_INT64* nb, MKL_INT64* kb, MKL_Complex16* a,
             const MKL_INT64* lda, MKL_INT64* jpvt, MKL_Complex16* tau,
             double* vn1, double* vn2, MKL_Complex16* auxv, MKL_Complex16* f,
             const MKL_INT64* ldf ) NOTHROW;
void zlaqps_64( const MKL_INT64* m, const MKL_INT64* n, const MKL_INT64* offset,
             const MKL_INT64* nb, MKL_INT64* kb, MKL_Complex16* a,
             const MKL_INT64* lda, MKL_INT64* jpvt, MKL_Complex16* tau,
             double* vn1, double* vn2, MKL_Complex16* auxv, MKL_Complex16* f,
             const MKL_INT64* ldf ) NOTHROW;

void ZLAQR0_64( const MKL_INT64* wantt, const MKL_INT64* wantz, const MKL_INT64* n,
             const MKL_INT64* ilo, const MKL_INT64* ihi, MKL_Complex16* h,
             const MKL_INT64* ldh, MKL_Complex16* w, MKL_INT64* iloz,
             MKL_INT64* ihiz, MKL_Complex16* z, const MKL_INT64* ldz,
             MKL_Complex16* work, const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;
void zlaqr0_64( const MKL_INT64* wantt, const MKL_INT64* wantz, const MKL_INT64* n,
             const MKL_INT64* ilo, const MKL_INT64* ihi, MKL_Complex16* h,
             const MKL_INT64* ldh, MKL_Complex16* w, MKL_INT64* iloz,
             MKL_INT64* ihiz, MKL_Complex16* z, const MKL_INT64* ldz,
             MKL_Complex16* work, const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;

void ZLAQR1_64( const MKL_INT64* n, const MKL_Complex16* h, const MKL_INT64* ldh,
             const MKL_Complex16* s1, MKL_Complex16* s2, MKL_Complex16* v ) NOTHROW;
void zlaqr1_64( const MKL_INT64* n, const MKL_Complex16* h, const MKL_INT64* ldh,
             const MKL_Complex16* s1, MKL_Complex16* s2, MKL_Complex16* v ) NOTHROW;

void ZLAQR2_64( const MKL_INT64* wantt, const MKL_INT64* wantz, const MKL_INT64* n,
             const MKL_INT64* ktop, const MKL_INT64* kbot, const MKL_INT64* nw,
             MKL_Complex16* h, const MKL_INT64* ldh, const MKL_INT64* iloz,
             const MKL_INT64* ihiz, MKL_Complex16* z, const MKL_INT64* ldz,
             MKL_INT64* ns, MKL_INT64* nd, MKL_Complex16* sh, MKL_Complex16* v,
             const MKL_INT64* ldv, const MKL_INT64* nh, MKL_Complex16* t,
             const MKL_INT64* ldt, const MKL_INT64* nv, MKL_Complex16* wv,
             const MKL_INT64* ldwv, MKL_Complex16* work, const MKL_INT64* lwork ) NOTHROW;
void zlaqr2_64( const MKL_INT64* wantt, const MKL_INT64* wantz, const MKL_INT64* n,
             const MKL_INT64* ktop, const MKL_INT64* kbot, const MKL_INT64* nw,
             MKL_Complex16* h, const MKL_INT64* ldh, const MKL_INT64* iloz,
             const MKL_INT64* ihiz, MKL_Complex16* z, const MKL_INT64* ldz,
             MKL_INT64* ns, MKL_INT64* nd, MKL_Complex16* sh, MKL_Complex16* v,
             const MKL_INT64* ldv, const MKL_INT64* nh, MKL_Complex16* t,
             const MKL_INT64* ldt, const MKL_INT64* nv, MKL_Complex16* wv,
             const MKL_INT64* ldwv, MKL_Complex16* work, const MKL_INT64* lwork ) NOTHROW;

void ZLAQR3_64( const MKL_INT64* wantt, const MKL_INT64* wantz, const MKL_INT64* n,
             const MKL_INT64* ktop, const MKL_INT64* kbot, const MKL_INT64* nw,
             MKL_Complex16* h, const MKL_INT64* ldh, const MKL_INT64* iloz,
             const MKL_INT64* ihiz, MKL_Complex16* z, const MKL_INT64* ldz,
             MKL_INT64* ns, MKL_INT64* nd, MKL_Complex16* sh, MKL_Complex16* v,
             const MKL_INT64* ldv, const MKL_INT64* nh, MKL_Complex16* t,
             const MKL_INT64* ldt, const MKL_INT64* nv, MKL_Complex16* wv,
             const MKL_INT64* ldwv, MKL_Complex16* work, const MKL_INT64* lwork ) NOTHROW;
void zlaqr3_64( const MKL_INT64* wantt, const MKL_INT64* wantz, const MKL_INT64* n,
             const MKL_INT64* ktop, const MKL_INT64* kbot, const MKL_INT64* nw,
             MKL_Complex16* h, const MKL_INT64* ldh, const MKL_INT64* iloz,
             const MKL_INT64* ihiz, MKL_Complex16* z, const MKL_INT64* ldz,
             MKL_INT64* ns, MKL_INT64* nd, MKL_Complex16* sh, MKL_Complex16* v,
             const MKL_INT64* ldv, const MKL_INT64* nh, MKL_Complex16* t,
             const MKL_INT64* ldt, const MKL_INT64* nv, MKL_Complex16* wv,
             const MKL_INT64* ldwv, MKL_Complex16* work, const MKL_INT64* lwork ) NOTHROW;

void ZLAQR4_64( const MKL_INT64* wantt, const MKL_INT64* wantz, const MKL_INT64* n,
             const MKL_INT64* ilo, const MKL_INT64* ihi, MKL_Complex16* h,
             const MKL_INT64* ldh, MKL_Complex16* w, MKL_INT64* iloz,
             MKL_INT64* ihiz, MKL_Complex16* z, const MKL_INT64* ldz,
             MKL_Complex16* work, const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;
void zlaqr4_64( const MKL_INT64* wantt, const MKL_INT64* wantz, const MKL_INT64* n,
             const MKL_INT64* ilo, const MKL_INT64* ihi, MKL_Complex16* h,
             const MKL_INT64* ldh, MKL_Complex16* w, MKL_INT64* iloz,
             MKL_INT64* ihiz, MKL_Complex16* z, const MKL_INT64* ldz,
             MKL_Complex16* work, const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;

void ZLAQR5_64( const MKL_INT64* wantt, const MKL_INT64* wantz, const MKL_INT64* kacc22,
             const MKL_INT64* n, const MKL_INT64* ktop, const MKL_INT64* kbot,
             const MKL_INT64* nshfts, MKL_Complex16* s, MKL_Complex16* h,
             const MKL_INT64* ldh, const MKL_INT64* iloz, const MKL_INT64* ihiz,
             MKL_Complex16* z, const MKL_INT64* ldz, MKL_Complex16* v,
             const MKL_INT64* ldv, MKL_Complex16* u, const MKL_INT64* ldu,
             const MKL_INT64* nv, MKL_Complex16* wv, const MKL_INT64* ldwv,
             const MKL_INT64* nh, MKL_Complex16* wh, const MKL_INT64* ldwh ) NOTHROW;
void zlaqr5_64( const MKL_INT64* wantt, const MKL_INT64* wantz, const MKL_INT64* kacc22,
             const MKL_INT64* n, const MKL_INT64* ktop, const MKL_INT64* kbot,
             const MKL_INT64* nshfts, MKL_Complex16* s, MKL_Complex16* h,
             const MKL_INT64* ldh, const MKL_INT64* iloz, const MKL_INT64* ihiz,
             MKL_Complex16* z, const MKL_INT64* ldz, MKL_Complex16* v,
             const MKL_INT64* ldv, MKL_Complex16* u, const MKL_INT64* ldu,
             const MKL_INT64* nv, MKL_Complex16* wv, const MKL_INT64* ldwv,
             const MKL_INT64* nh, MKL_Complex16* wh, const MKL_INT64* ldwh ) NOTHROW;

void ZLAQSB_64( const char* uplo, const MKL_INT64* n, const MKL_INT64* kd,
             MKL_Complex16* ab, const MKL_INT64* ldab, const double* s,
             const double* scond, const double* amax, char* equed ) NOTHROW;
void zlaqsb_64( const char* uplo, const MKL_INT64* n, const MKL_INT64* kd,
             MKL_Complex16* ab, const MKL_INT64* ldab, const double* s,
             const double* scond, const double* amax, char* equed ) NOTHROW;

void ZLAQSP_64( const char* uplo, const MKL_INT64* n, MKL_Complex16* ap,
             const double* s, const double* scond, const double* amax,
             char* equed ) NOTHROW;
void zlaqsp_64( const char* uplo, const MKL_INT64* n, MKL_Complex16* ap,
             const double* s, const double* scond, const double* amax,
             char* equed ) NOTHROW;

void ZLAQSY_64( const char* uplo, const MKL_INT64* n, MKL_Complex16* a,
             const MKL_INT64* lda, const double* s, const double* scond,
             const double* amax, char* equed ) NOTHROW;
void zlaqsy_64( const char* uplo, const MKL_INT64* n, MKL_Complex16* a,
             const MKL_INT64* lda, const double* s, const double* scond,
             const double* amax, char* equed ) NOTHROW;

void ZLAQZ0_64( const char* wants, const char* wantq, const char* wantz, const MKL_INT64* n,
             const MKL_INT64* ilo, const MKL_INT64* ihi, MKL_Complex16* a, const MKL_INT64* lda,
             MKL_Complex16* b, const MKL_INT64* ldb, MKL_Complex16* alpha, MKL_Complex16* beta,
             MKL_Complex16* q, const MKL_INT64* ldq, MKL_Complex16* z, const MKL_INT64* ldz,
             MKL_Complex16* work, const MKL_INT64* lwork, float* rwork, const MKL_INT64* rec,
             MKL_INT64* info) NOTHROW;
void zlaqz0_64( const char* wants, const char* wantq, const char* wantz, const MKL_INT64* n,
             const MKL_INT64* ilo, const MKL_INT64* ihi, MKL_Complex16* a, const MKL_INT64* lda,
             MKL_Complex16* b, const MKL_INT64* ldb, MKL_Complex16* alpha, MKL_Complex16* beta,
             MKL_Complex16* q, const MKL_INT64* ldq, MKL_Complex16* z, const MKL_INT64* ldz,
             MKL_Complex16* work, const MKL_INT64* lwork, float* rwork, const MKL_INT64* rec,
             MKL_INT64* info) NOTHROW;

void ZLAQZ1_64( const MKL_INT64* ilq, const MKL_INT64* ilz, const MKL_INT64* k, const MKL_INT64* istartm,
             const MKL_INT64* istopm, const MKL_INT64* ihi, MKL_Complex16* a, const MKL_INT64* lda,
             MKL_Complex16* b, const MKL_INT64* ldb, const MKL_INT64* nq,  const MKL_INT64* qstart,
             MKL_Complex16* q, const MKL_INT64* ldq, const MKL_INT64* nz,  const MKL_INT64* zstart,
             MKL_Complex16* z, const MKL_INT64* ldz) NOTHROW;
void zlaqz1_64( const MKL_INT64* ilq, const MKL_INT64* ilz, const MKL_INT64* k, const MKL_INT64* istartm,
             const MKL_INT64* istopm, const MKL_INT64* ihi, MKL_Complex16* a, const MKL_INT64* lda,
             MKL_Complex16* b, const MKL_INT64* ldb, const MKL_INT64* nq,  const MKL_INT64* qstart,
             MKL_Complex16* q, const MKL_INT64* ldq, const MKL_INT64* nz,  const MKL_INT64* zstart,
             MKL_Complex16* z, const MKL_INT64* ldz) NOTHROW;

void ZLAQZ2_64( const MKL_INT64* ilschur, const MKL_INT64* ilq, const MKL_INT64* ilz, const MKL_INT64* n,
             const MKL_INT64* ilo, const MKL_INT64* ihi, const MKL_INT64* nw,
             MKL_Complex16* a, const MKL_INT64* lda, MKL_Complex16* b, const MKL_INT64* ldb,
             MKL_Complex16* q, const MKL_INT64* ldq, MKL_Complex16* z, const MKL_INT64* ldz,
             MKL_INT64* ns, MKL_INT64* nd, MKL_Complex16* alpha, MKL_Complex16* beta,
             MKL_Complex16* qc, const MKL_INT64* ldqc, MKL_Complex16* zc, const MKL_INT64* ldzc,
             MKL_Complex16* work, const MKL_INT64* lwork, double* rwork, const MKL_INT64* rec,
             MKL_INT64* info) NOTHROW;
void zlaqz2_64( const MKL_INT64* ilschur, const MKL_INT64* ilq, const MKL_INT64* ilz, const MKL_INT64* n,
             const MKL_INT64* ilo, const MKL_INT64* ihi, const MKL_INT64* nw,
             MKL_Complex16* a, const MKL_INT64* lda, MKL_Complex16* b, const MKL_INT64* ldb,
             MKL_Complex16* q, const MKL_INT64* ldq, MKL_Complex16* z, const MKL_INT64* ldz,
             MKL_INT64* ns, MKL_INT64* nd, MKL_Complex16* alpha, MKL_Complex16* beta,
             MKL_Complex16* qc, const MKL_INT64* ldqc, MKL_Complex16* zc, const MKL_INT64* ldzc,
             MKL_Complex16* work, const MKL_INT64* lwork, double* rwork, const MKL_INT64* rec,
             MKL_INT64* info) NOTHROW;

void ZLAQZ3_64( const MKL_INT64* ilschur, const MKL_INT64* ilq, const MKL_INT64* ilz, const MKL_INT64* n,
             const MKL_INT64* ilo, const MKL_INT64* ihi, const MKL_INT64* nshifts, const MKL_INT64* nb,
             MKL_Complex16* alpha, MKL_Complex16* beta, MKL_Complex16* a, const MKL_INT64* lda,
             MKL_Complex16* b, const MKL_INT64* ldb, MKL_Complex16* q, const MKL_INT64* ldq,
             MKL_Complex16* z, const MKL_INT64* ldz, MKL_Complex16* qc, const MKL_INT64* ldqc,
             MKL_Complex16* zc, const MKL_INT64* ldzc, MKL_Complex16* work, const MKL_INT64* lwork,
             MKL_INT64* info) NOTHROW;
void zlaqz3_64( const MKL_INT64* ilschur, const MKL_INT64* ilq, const MKL_INT64* ilz, const MKL_INT64* n,
             const MKL_INT64* ilo, const MKL_INT64* ihi, const MKL_INT64* nshifts, const MKL_INT64* nb,
             MKL_Complex16* alpha, MKL_Complex16* beta, MKL_Complex16* a, const MKL_INT64* lda,
             MKL_Complex16* b, const MKL_INT64* ldb, MKL_Complex16* q, const MKL_INT64* ldq,
             MKL_Complex16* z, const MKL_INT64* ldz, MKL_Complex16* qc, const MKL_INT64* ldqc,
             MKL_Complex16* zc, const MKL_INT64* ldzc, MKL_Complex16* work, const MKL_INT64* lwork,
             MKL_INT64* info) NOTHROW;

void ZLAR1V_64( const MKL_INT64* n, const MKL_INT64* b1, const MKL_INT64* bn,
             const double* lambda, const double* d, const double* l,
             const double* ld, const double* lld, const double* pivmin,
             const double* gaptol, MKL_Complex16* z, const MKL_INT64* wantnc,
             MKL_INT64* negcnt, double* ztz, double* mingma, MKL_INT64* r,
             MKL_INT64* isuppz, double* nrminv, double* resid, double* rqcorr,
             double* work ) NOTHROW;
void zlar1v_64( const MKL_INT64* n, const MKL_INT64* b1, const MKL_INT64* bn,
             const double* lambda, const double* d, const double* l,
             const double* ld, const double* lld, const double* pivmin,
             const double* gaptol, MKL_Complex16* z, const MKL_INT64* wantnc,
             MKL_INT64* negcnt, double* ztz, double* mingma, MKL_INT64* r,
             MKL_INT64* isuppz, double* nrminv, double* resid, double* rqcorr,
             double* work ) NOTHROW;

void ZLAR2V_64( const MKL_INT64* n, MKL_Complex16* x, MKL_Complex16* y,
             MKL_Complex16* z, const MKL_INT64* incx, const double* c,
             const MKL_Complex16* s, const MKL_INT64* incc ) NOTHROW;
void zlar2v_64( const MKL_INT64* n, MKL_Complex16* x, MKL_Complex16* y,
             MKL_Complex16* z, const MKL_INT64* incx, const double* c,
             const MKL_Complex16* s, const MKL_INT64* incc ) NOTHROW;

void ZLARCM_64( const MKL_INT64* m, const MKL_INT64* n, const double* a,
             const MKL_INT64* lda, const MKL_Complex16* b, const MKL_INT64* ldb,
             MKL_Complex16* c, const MKL_INT64* ldc, double* rwork ) NOTHROW;
void zlarcm_64( const MKL_INT64* m, const MKL_INT64* n, const double* a,
             const MKL_INT64* lda, const MKL_Complex16* b, const MKL_INT64* ldb,
             MKL_Complex16* c, const MKL_INT64* ldc, double* rwork ) NOTHROW;

void ZLARFB_64( const char* side, const char* trans, const char* direct,
             const char* storev, const MKL_INT64* m, const MKL_INT64* n,
             const MKL_INT64* k, const MKL_Complex16* v, const MKL_INT64* ldv,
             const MKL_Complex16* t, const MKL_INT64* ldt, MKL_Complex16* c,
             const MKL_INT64* ldc, MKL_Complex16* work, const MKL_INT64* ldwork ) NOTHROW;
void zlarfb_64( const char* side, const char* trans, const char* direct,
             const char* storev, const MKL_INT64* m, const MKL_INT64* n,
             const MKL_INT64* k, const MKL_Complex16* v, const MKL_INT64* ldv,
             const MKL_Complex16* t, const MKL_INT64* ldt, MKL_Complex16* c,
             const MKL_INT64* ldc, MKL_Complex16* work, const MKL_INT64* ldwork ) NOTHROW;

void ZLARF_64( const char* side, const MKL_INT64* m, const MKL_INT64* n,
            const MKL_Complex16* v, const MKL_INT64* incv,
            const MKL_Complex16* tau, MKL_Complex16* c, const MKL_INT64* ldc,
            MKL_Complex16* work ) NOTHROW;
void zlarf_64( const char* side, const MKL_INT64* m, const MKL_INT64* n,
            const MKL_Complex16* v, const MKL_INT64* incv,
            const MKL_Complex16* tau, MKL_Complex16* c, const MKL_INT64* ldc,
            MKL_Complex16* work ) NOTHROW;

void ZLARFG_64( const MKL_INT64* n, MKL_Complex16* alpha, MKL_Complex16* x,
             const MKL_INT64* incx, MKL_Complex16* tau ) NOTHROW;
void zlarfg_64( const MKL_INT64* n, MKL_Complex16* alpha, MKL_Complex16* x,
             const MKL_INT64* incx, MKL_Complex16* tau ) NOTHROW;

void ZLARFGP_64( const MKL_INT64* n, MKL_Complex16* alpha, MKL_Complex16* x,
              const MKL_INT64* incx, MKL_Complex16* tau ) NOTHROW;
void zlarfgp_64( const MKL_INT64* n, MKL_Complex16* alpha, MKL_Complex16* x,
              const MKL_INT64* incx, MKL_Complex16* tau ) NOTHROW;

void ZLARFP_64( const MKL_INT64* n, MKL_Complex16* alpha, MKL_Complex16* x,
             const MKL_INT64* incx, MKL_Complex16* tau ) NOTHROW;
void zlarfp_64( const MKL_INT64* n, MKL_Complex16* alpha, MKL_Complex16* x,
             const MKL_INT64* incx, MKL_Complex16* tau ) NOTHROW;

void ZLARFT_64( const char* direct, const char* storev, const MKL_INT64* n,
             const MKL_INT64* k, const MKL_Complex16* v, const MKL_INT64* ldv,
             const MKL_Complex16* tau, MKL_Complex16* t, const MKL_INT64* ldt ) NOTHROW;
void zlarft_64( const char* direct, const char* storev, const MKL_INT64* n,
             const MKL_INT64* k, const MKL_Complex16* v, const MKL_INT64* ldv,
             const MKL_Complex16* tau, MKL_Complex16* t, const MKL_INT64* ldt ) NOTHROW;

void ZLARFX_64( const char* side, const MKL_INT64* m, const MKL_INT64* n,
             const MKL_Complex16* v, const MKL_Complex16* tau,
             MKL_Complex16* c, const MKL_INT64* ldc, MKL_Complex16* work ) NOTHROW;
void zlarfx_64( const char* side, const MKL_INT64* m, const MKL_INT64* n,
             const MKL_Complex16* v, const MKL_Complex16* tau,
             MKL_Complex16* c, const MKL_INT64* ldc, MKL_Complex16* work ) NOTHROW;

void ZLARGV_64( const MKL_INT64* n, MKL_Complex16* x, const MKL_INT64* incx,
             MKL_Complex16* y, const MKL_INT64* incy, double* c,
             const MKL_INT64* incc ) NOTHROW;
void zlargv_64( const MKL_INT64* n, MKL_Complex16* x, const MKL_INT64* incx,
             MKL_Complex16* y, const MKL_INT64* incy, double* c,
             const MKL_INT64* incc ) NOTHROW;

void ZLARNV_64( const MKL_INT64* idist, MKL_INT64* iseed, const MKL_INT64* n,
             MKL_Complex16* x ) NOTHROW;
void zlarnv_64( const MKL_INT64* idist, MKL_INT64* iseed, const MKL_INT64* n,
             MKL_Complex16* x ) NOTHROW;

void ZLARRV_64( const MKL_INT64* n, const double* vl, const double* vu, double* d,
             double* l, double* pivmin, const MKL_INT64* isplit,
             const MKL_INT64* m, const MKL_INT64* dol, const MKL_INT64* dou,
             const double* minrgp, const double* rtol1, const double* rtol2,
             double* w, double* werr, double* wgap, const MKL_INT64* iblock,
             const MKL_INT64* indexw, const double* gers, MKL_Complex16* z,
             const MKL_INT64* ldz, MKL_INT64* isuppz, double* work, MKL_INT64* iwork,
             MKL_INT64* info ) NOTHROW;
void zlarrv_64( const MKL_INT64* n, const double* vl, const double* vu, double* d,
             double* l, double* pivmin, const MKL_INT64* isplit,
             const MKL_INT64* m, const MKL_INT64* dol, const MKL_INT64* dou,
             const double* minrgp, const double* rtol1, const double* rtol2,
             double* w, double* werr, double* wgap, const MKL_INT64* iblock,
             const MKL_INT64* indexw, const double* gers, MKL_Complex16* z,
             const MKL_INT64* ldz, MKL_INT64* isuppz, double* work, MKL_INT64* iwork,
             MKL_INT64* info ) NOTHROW;

void ZLARSCL2_64( const MKL_INT64* m, const MKL_INT64* n, const double* d, MKL_Complex16* x,
               const MKL_INT64* ldx ) NOTHROW;
void zlarscl2_64( const MKL_INT64* m, const MKL_INT64* n, const double* d, MKL_Complex16* x,
               const MKL_INT64* ldx ) NOTHROW;

void ZLARTV_64( const MKL_INT64* n, MKL_Complex16* x, const MKL_INT64* incx,
             MKL_Complex16* y, const MKL_INT64* incy, const double* c,
             const MKL_Complex16* s, const MKL_INT64* incc ) NOTHROW;
void zlartv_64( const MKL_INT64* n, MKL_Complex16* x, const MKL_INT64* incx,
             MKL_Complex16* y, const MKL_INT64* incy, const double* c,
             const MKL_Complex16* s, const MKL_INT64* incc ) NOTHROW;

void ZLARZB_64( const char* side, const char* trans, const char* direct,
             const char* storev, const MKL_INT64* m, const MKL_INT64* n,
             const MKL_INT64* k, const MKL_INT64* l, const MKL_Complex16* v,
             const MKL_INT64* ldv, const MKL_Complex16* t, const MKL_INT64* ldt,
             MKL_Complex16* c, const MKL_INT64* ldc, MKL_Complex16* work,
             const MKL_INT64* ldwork ) NOTHROW;
void zlarzb_64( const char* side, const char* trans, const char* direct,
             const char* storev, const MKL_INT64* m, const MKL_INT64* n,
             const MKL_INT64* k, const MKL_INT64* l, const MKL_Complex16* v,
             const MKL_INT64* ldv, const MKL_Complex16* t, const MKL_INT64* ldt,
             MKL_Complex16* c, const MKL_INT64* ldc, MKL_Complex16* work,
             const MKL_INT64* ldwork ) NOTHROW;

void ZLARZ_64( const char* side, const MKL_INT64* m, const MKL_INT64* n,
            const MKL_INT64* l, const MKL_Complex16* v, const MKL_INT64* incv,
            const MKL_Complex16* tau, MKL_Complex16* c, const MKL_INT64* ldc,
            MKL_Complex16* work ) NOTHROW;
void zlarz_64( const char* side, const MKL_INT64* m, const MKL_INT64* n,
            const MKL_INT64* l, const MKL_Complex16* v, const MKL_INT64* incv,
            const MKL_Complex16* tau, MKL_Complex16* c, const MKL_INT64* ldc,
            MKL_Complex16* work ) NOTHROW;

void ZLARZT_64( const char* direct, const char* storev, const MKL_INT64* n,
             const MKL_INT64* k, MKL_Complex16* v, const MKL_INT64* ldv,
             const MKL_Complex16* tau, MKL_Complex16* t, const MKL_INT64* ldt ) NOTHROW;
void zlarzt_64( const char* direct, const char* storev, const MKL_INT64* n,
             const MKL_INT64* k, MKL_Complex16* v, const MKL_INT64* ldv,
             const MKL_Complex16* tau, MKL_Complex16* t, const MKL_INT64* ldt ) NOTHROW;

void ZLASCL_64( const char* type, const MKL_INT64* kl, const MKL_INT64* ku,
             const double* cfrom, const double* cto, const MKL_INT64* m,
             const MKL_INT64* n, MKL_Complex16* a, const MKL_INT64* lda,
             MKL_INT64* info ) NOTHROW;
void zlascl_64( const char* type, const MKL_INT64* kl, const MKL_INT64* ku,
             const double* cfrom, const double* cto, const MKL_INT64* m,
             const MKL_INT64* n, MKL_Complex16* a, const MKL_INT64* lda,
             MKL_INT64* info ) NOTHROW;

void ZLASCL2_64( const MKL_INT64* m, const MKL_INT64* n, const double* d, MKL_Complex16* x,
              const MKL_INT64* ldx ) NOTHROW;
void zlascl2_64( const MKL_INT64* m, const MKL_INT64* n, const double* d, MKL_Complex16* x,
              const MKL_INT64* ldx ) NOTHROW;

void ZLASET_64( const char* uplo, const MKL_INT64* m, const MKL_INT64* n,
             const MKL_Complex16* alpha, const MKL_Complex16* beta,
             MKL_Complex16* a, const MKL_INT64* lda ) NOTHROW;
void zlaset_64( const char* uplo, const MKL_INT64* m, const MKL_INT64* n,
             const MKL_Complex16* alpha, const MKL_Complex16* beta,
             MKL_Complex16* a, const MKL_INT64* lda ) NOTHROW;

void ZLASR_64( const char* side, const char* pivot, const char* direct,
            const MKL_INT64* m, const MKL_INT64* n, const double* c,
            const double* s, MKL_Complex16* a, const MKL_INT64* lda ) NOTHROW;
void zlasr_64( const char* side, const char* pivot, const char* direct,
            const MKL_INT64* m, const MKL_INT64* n, const double* c,
            const double* s, MKL_Complex16* a, const MKL_INT64* lda ) NOTHROW;

void ZLASSQ_64( const MKL_INT64* n, const MKL_Complex16* x, const MKL_INT64* incx,
             double* scale, double* sumsq ) NOTHROW;
void zlassq_64( const MKL_INT64* n, const MKL_Complex16* x, const MKL_INT64* incx,
             double* scale, double* sumsq ) NOTHROW;

void ZLASWP_64( const MKL_INT64* n, MKL_Complex16* a, const MKL_INT64* lda,
             const MKL_INT64* k1, const MKL_INT64* k2, const MKL_INT64* ipiv,
             const MKL_INT64* incx ) NOTHROW;
void zlaswp_64( const MKL_INT64* n, MKL_Complex16* a, const MKL_INT64* lda,
             const MKL_INT64* k1, const MKL_INT64* k2, const MKL_INT64* ipiv,
             const MKL_INT64* incx ) NOTHROW;

void ZLASYF_64( const char* uplo, const MKL_INT64* n, const MKL_INT64* nb,
             MKL_INT64* kb, MKL_Complex16* a, const MKL_INT64* lda, MKL_INT64* ipiv,
             MKL_Complex16* w, const MKL_INT64* ldw, MKL_INT64* info ) NOTHROW;
void zlasyf_64( const char* uplo, const MKL_INT64* n, const MKL_INT64* nb,
             MKL_INT64* kb, MKL_Complex16* a, const MKL_INT64* lda, MKL_INT64* ipiv,
             MKL_Complex16* w, const MKL_INT64* ldw, MKL_INT64* info ) NOTHROW;

void ZLAT2C_64( const char* uplo, const MKL_INT64* n, const MKL_Complex16* a,
             const MKL_INT64* lda, MKL_Complex8* sa, const MKL_INT64* ldsa,
             MKL_INT64* info ) NOTHROW;
void zlat2c_64( const char* uplo, const MKL_INT64* n, const MKL_Complex16* a,
             const MKL_INT64* lda, MKL_Complex8* sa, const MKL_INT64* ldsa,
             MKL_INT64* info ) NOTHROW;

void ZLATBS_64( const char* uplo, const char* trans, const char* diag,
             const char* normin, const MKL_INT64* n, const MKL_INT64* kd,
             const MKL_Complex16* ab, const MKL_INT64* ldab, MKL_Complex16* x,
             double* scale, double* cnorm, MKL_INT64* info ) NOTHROW;
void zlatbs_64( const char* uplo, const char* trans, const char* diag,
             const char* normin, const MKL_INT64* n, const MKL_INT64* kd,
             const MKL_Complex16* ab, const MKL_INT64* ldab, MKL_Complex16* x,
             double* scale, double* cnorm, MKL_INT64* info ) NOTHROW;

void ZLATDF_64( const MKL_INT64* ijob, const MKL_INT64* n, const MKL_Complex16* z,
             const MKL_INT64* ldz, MKL_Complex16* rhs, double* rdsum,
             double* rdscal, const MKL_INT64* ipiv, const MKL_INT64* jpiv ) NOTHROW;
void zlatdf_64( const MKL_INT64* ijob, const MKL_INT64* n, const MKL_Complex16* z,
             const MKL_INT64* ldz, MKL_Complex16* rhs, double* rdsum,
             double* rdscal, const MKL_INT64* ipiv, const MKL_INT64* jpiv ) NOTHROW;

void ZLATPS_64( const char* uplo, const char* trans, const char* diag,
             const char* normin, const MKL_INT64* n, const MKL_Complex16* ap,
             MKL_Complex16* x, double* scale, double* cnorm, MKL_INT64* info ) NOTHROW;
void zlatps_64( const char* uplo, const char* trans, const char* diag,
             const char* normin, const MKL_INT64* n, const MKL_Complex16* ap,
             MKL_Complex16* x, double* scale, double* cnorm, MKL_INT64* info ) NOTHROW;

void ZLATRD_64( const char* uplo, const MKL_INT64* n, const MKL_INT64* nb,
             MKL_Complex16* a, const MKL_INT64* lda, double* e,
             MKL_Complex16* tau, MKL_Complex16* w, const MKL_INT64* ldw ) NOTHROW;
void zlatrd_64( const char* uplo, const MKL_INT64* n, const MKL_INT64* nb,
             MKL_Complex16* a, const MKL_INT64* lda, double* e,
             MKL_Complex16* tau, MKL_Complex16* w, const MKL_INT64* ldw ) NOTHROW;

void ZLATRS_64( const char* uplo, const char* trans, const char* diag,
             const char* normin, const MKL_INT64* n, const MKL_Complex16* a,
             const MKL_INT64* lda, MKL_Complex16* x, double* scale,
             double* cnorm, MKL_INT64* info ) NOTHROW;
void zlatrs_64( const char* uplo, const char* trans, const char* diag,
             const char* normin, const MKL_INT64* n, const MKL_Complex16* a,
             const MKL_INT64* lda, MKL_Complex16* x, double* scale,
             double* cnorm, MKL_INT64* info ) NOTHROW;

void ZLATRZ_64( const MKL_INT64* m, const MKL_INT64* n, const MKL_INT64* l,
             MKL_Complex16* a, const MKL_INT64* lda, MKL_Complex16* tau,
             MKL_Complex16* work ) NOTHROW;
void zlatrz_64( const MKL_INT64* m, const MKL_INT64* n, const MKL_INT64* l,
             MKL_Complex16* a, const MKL_INT64* lda, MKL_Complex16* tau,
             MKL_Complex16* work ) NOTHROW;

void ZLATZM_64( const char* side, const MKL_INT64* m, const MKL_INT64* n,
             const MKL_Complex16* v, const MKL_INT64* incv,
             const MKL_Complex16* tau, MKL_Complex16* c1, MKL_Complex16* c2,
             const MKL_INT64* ldc, MKL_Complex16* work ) NOTHROW;
void zlatzm_64( const char* side, const MKL_INT64* m, const MKL_INT64* n,
             const MKL_Complex16* v, const MKL_INT64* incv,
             const MKL_Complex16* tau, MKL_Complex16* c1, MKL_Complex16* c2,
             const MKL_INT64* ldc, MKL_Complex16* work ) NOTHROW;

void ZLAUU2_64( const char* uplo, const MKL_INT64* n, MKL_Complex16* a,
             const MKL_INT64* lda, MKL_INT64* info ) NOTHROW;
void zlauu2_64( const char* uplo, const MKL_INT64* n, MKL_Complex16* a,
             const MKL_INT64* lda, MKL_INT64* info ) NOTHROW;

void ZLAUUM_64( const char* uplo, const MKL_INT64* n, MKL_Complex16* a,
             const MKL_INT64* lda, MKL_INT64* info ) NOTHROW;
void zlauum_64( const char* uplo, const MKL_INT64* n, MKL_Complex16* a,
             const MKL_INT64* lda, MKL_INT64* info ) NOTHROW;

void ZPBCON_64( const char* uplo, const MKL_INT64* n, const MKL_INT64* kd,
             const MKL_Complex16* ab, const MKL_INT64* ldab, const double* anorm,
             double* rcond, MKL_Complex16* work, double* rwork,
             MKL_INT64* info ) NOTHROW;
void zpbcon_64( const char* uplo, const MKL_INT64* n, const MKL_INT64* kd,
             const MKL_Complex16* ab, const MKL_INT64* ldab, const double* anorm,
             double* rcond, MKL_Complex16* work, double* rwork,
             MKL_INT64* info ) NOTHROW;

void ZPBEQU_64( const char* uplo, const MKL_INT64* n, const MKL_INT64* kd,
             const MKL_Complex16* ab, const MKL_INT64* ldab, double* s,
             double* scond, double* amax, MKL_INT64* info ) NOTHROW;
void zpbequ_64( const char* uplo, const MKL_INT64* n, const MKL_INT64* kd,
             const MKL_Complex16* ab, const MKL_INT64* ldab, double* s,
             double* scond, double* amax, MKL_INT64* info ) NOTHROW;

void ZPBRFS_64( const char* uplo, const MKL_INT64* n, const MKL_INT64* kd,
             const MKL_INT64* nrhs, const MKL_Complex16* ab, const MKL_INT64* ldab,
             const MKL_Complex16* afb, const MKL_INT64* ldafb,
             const MKL_Complex16* b, const MKL_INT64* ldb, MKL_Complex16* x,
             const MKL_INT64* ldx, double* ferr, double* berr,
             MKL_Complex16* work, double* rwork, MKL_INT64* info ) NOTHROW;
void zpbrfs_64( const char* uplo, const MKL_INT64* n, const MKL_INT64* kd,
             const MKL_INT64* nrhs, const MKL_Complex16* ab, const MKL_INT64* ldab,
             const MKL_Complex16* afb, const MKL_INT64* ldafb,
             const MKL_Complex16* b, const MKL_INT64* ldb, MKL_Complex16* x,
             const MKL_INT64* ldx, double* ferr, double* berr,
             MKL_Complex16* work, double* rwork, MKL_INT64* info ) NOTHROW;

void ZPBSTF_64( const char* uplo, const MKL_INT64* n, const MKL_INT64* kd,
             MKL_Complex16* ab, const MKL_INT64* ldab, MKL_INT64* info ) NOTHROW;
void zpbstf_64( const char* uplo, const MKL_INT64* n, const MKL_INT64* kd,
             MKL_Complex16* ab, const MKL_INT64* ldab, MKL_INT64* info ) NOTHROW;

void ZPBSV_64( const char* uplo, const MKL_INT64* n, const MKL_INT64* kd,
            const MKL_INT64* nrhs, MKL_Complex16* ab, const MKL_INT64* ldab,
            MKL_Complex16* b, const MKL_INT64* ldb, MKL_INT64* info ) NOTHROW;
void zpbsv_64( const char* uplo, const MKL_INT64* n, const MKL_INT64* kd,
            const MKL_INT64* nrhs, MKL_Complex16* ab, const MKL_INT64* ldab,
            MKL_Complex16* b, const MKL_INT64* ldb, MKL_INT64* info ) NOTHROW;

void ZPBSVX_64( const char* fact, const char* uplo, const MKL_INT64* n,
             const MKL_INT64* kd, const MKL_INT64* nrhs, MKL_Complex16* ab,
             const MKL_INT64* ldab, MKL_Complex16* afb, const MKL_INT64* ldafb,
             char* equed, double* s, MKL_Complex16* b, const MKL_INT64* ldb,
             MKL_Complex16* x, const MKL_INT64* ldx, double* rcond, double* ferr,
             double* berr, MKL_Complex16* work, double* rwork, MKL_INT64* info ) NOTHROW;
void zpbsvx_64( const char* fact, const char* uplo, const MKL_INT64* n,
             const MKL_INT64* kd, const MKL_INT64* nrhs, MKL_Complex16* ab,
             const MKL_INT64* ldab, MKL_Complex16* afb, const MKL_INT64* ldafb,
             char* equed, double* s, MKL_Complex16* b, const MKL_INT64* ldb,
             MKL_Complex16* x, const MKL_INT64* ldx, double* rcond, double* ferr,
             double* berr, MKL_Complex16* work, double* rwork, MKL_INT64* info ) NOTHROW;

void ZPBTF2_64( const char* uplo, const MKL_INT64* n, const MKL_INT64* kd,
             MKL_Complex16* ab, const MKL_INT64* ldab, MKL_INT64* info ) NOTHROW;
void zpbtf2_64( const char* uplo, const MKL_INT64* n, const MKL_INT64* kd,
             MKL_Complex16* ab, const MKL_INT64* ldab, MKL_INT64* info ) NOTHROW;

void ZPBTRF_64( const char* uplo, const MKL_INT64* n, const MKL_INT64* kd,
             MKL_Complex16* ab, const MKL_INT64* ldab, MKL_INT64* info ) NOTHROW;
void zpbtrf_64( const char* uplo, const MKL_INT64* n, const MKL_INT64* kd,
             MKL_Complex16* ab, const MKL_INT64* ldab, MKL_INT64* info ) NOTHROW;

void ZPBTRS_64( const char* uplo, const MKL_INT64* n, const MKL_INT64* kd,
             const MKL_INT64* nrhs, const MKL_Complex16* ab, const MKL_INT64* ldab,
             MKL_Complex16* b, const MKL_INT64* ldb, MKL_INT64* info ) NOTHROW;
void zpbtrs_64( const char* uplo, const MKL_INT64* n, const MKL_INT64* kd,
             const MKL_INT64* nrhs, const MKL_Complex16* ab, const MKL_INT64* ldab,
             MKL_Complex16* b, const MKL_INT64* ldb, MKL_INT64* info ) NOTHROW;

void ZPFTRF_64( const char* transr, const char* uplo, const MKL_INT64* n,
             MKL_Complex16* a, MKL_INT64* info ) NOTHROW;
void zpftrf_64( const char* transr, const char* uplo, const MKL_INT64* n,
             MKL_Complex16* a, MKL_INT64* info ) NOTHROW;

void ZPFTRI_64( const char* transr, const char* uplo, const MKL_INT64* n,
             MKL_Complex16* a, MKL_INT64* info ) NOTHROW;
void zpftri_64( const char* transr, const char* uplo, const MKL_INT64* n,
             MKL_Complex16* a, MKL_INT64* info ) NOTHROW;

void ZPFTRS_64( const char* transr, const char* uplo, const MKL_INT64* n,
             const MKL_INT64* nrhs, const MKL_Complex16* a, MKL_Complex16* b,
             const MKL_INT64* ldb, MKL_INT64* info ) NOTHROW;
void zpftrs_64( const char* transr, const char* uplo, const MKL_INT64* n,
             const MKL_INT64* nrhs, const MKL_Complex16* a, MKL_Complex16* b,
             const MKL_INT64* ldb, MKL_INT64* info ) NOTHROW;

void ZPOCON_64( const char* uplo, const MKL_INT64* n, const MKL_Complex16* a,
             const MKL_INT64* lda, const double* anorm, double* rcond,
             MKL_Complex16* work, double* rwork, MKL_INT64* info ) NOTHROW;
void zpocon_64( const char* uplo, const MKL_INT64* n, const MKL_Complex16* a,
             const MKL_INT64* lda, const double* anorm, double* rcond,
             MKL_Complex16* work, double* rwork, MKL_INT64* info ) NOTHROW;

void ZPOEQUB_64( const MKL_INT64* n, const MKL_Complex16* a, const MKL_INT64* lda,
              double* s, double* scond, double* amax, MKL_INT64* info ) NOTHROW;
void zpoequb_64( const MKL_INT64* n, const MKL_Complex16* a, const MKL_INT64* lda,
              double* s, double* scond, double* amax, MKL_INT64* info ) NOTHROW;

void ZPOEQU_64( const MKL_INT64* n, const MKL_Complex16* a, const MKL_INT64* lda,
             double* s, double* scond, double* amax, MKL_INT64* info ) NOTHROW;
void zpoequ_64( const MKL_INT64* n, const MKL_Complex16* a, const MKL_INT64* lda,
             double* s, double* scond, double* amax, MKL_INT64* info ) NOTHROW;

void ZPORFS_64( const char* uplo, const MKL_INT64* n, const MKL_INT64* nrhs,
             const MKL_Complex16* a, const MKL_INT64* lda,
             const MKL_Complex16* af, const MKL_INT64* ldaf,
             const MKL_Complex16* b, const MKL_INT64* ldb, MKL_Complex16* x,
             const MKL_INT64* ldx, double* ferr, double* berr,
             MKL_Complex16* work, double* rwork, MKL_INT64* info ) NOTHROW;
void zporfs_64( const char* uplo, const MKL_INT64* n, const MKL_INT64* nrhs,
             const MKL_Complex16* a, const MKL_INT64* lda,
             const MKL_Complex16* af, const MKL_INT64* ldaf,
             const MKL_Complex16* b, const MKL_INT64* ldb, MKL_Complex16* x,
             const MKL_INT64* ldx, double* ferr, double* berr,
             MKL_Complex16* work, double* rwork, MKL_INT64* info ) NOTHROW;

void ZPORFSX_64( const char* uplo, const char* equed, const MKL_INT64* n,
              const MKL_INT64* nrhs, const MKL_Complex16* a, const MKL_INT64* lda,
              const MKL_Complex16* af, const MKL_INT64* ldaf, double* s,
              const MKL_Complex16* b, const MKL_INT64* ldb, MKL_Complex16* x,
              const MKL_INT64* ldx, double* rcond, double* berr,
              const MKL_INT64* n_err_bnds, double* err_bnds_norm,
              double* err_bnds_comp, const MKL_INT64* nparams, double* params,
              MKL_Complex16* work, double* rwork, MKL_INT64* info ) NOTHROW;
void zporfsx_64( const char* uplo, const char* equed, const MKL_INT64* n,
              const MKL_INT64* nrhs, const MKL_Complex16* a, const MKL_INT64* lda,
              const MKL_Complex16* af, const MKL_INT64* ldaf, double* s,
              const MKL_Complex16* b, const MKL_INT64* ldb, MKL_Complex16* x,
              const MKL_INT64* ldx, double* rcond, double* berr,
              const MKL_INT64* n_err_bnds, double* err_bnds_norm,
              double* err_bnds_comp, const MKL_INT64* nparams, double* params,
              MKL_Complex16* work, double* rwork, MKL_INT64* info ) NOTHROW;

void ZPOSV_64( const char* uplo, const MKL_INT64* n, const MKL_INT64* nrhs,
            MKL_Complex16* a, const MKL_INT64* lda, MKL_Complex16* b,
            const MKL_INT64* ldb, MKL_INT64* info ) NOTHROW;
void zposv_64( const char* uplo, const MKL_INT64* n, const MKL_INT64* nrhs,
            MKL_Complex16* a, const MKL_INT64* lda, MKL_Complex16* b,
            const MKL_INT64* ldb, MKL_INT64* info ) NOTHROW;

void ZPOSVX_64( const char* fact, const char* uplo, const MKL_INT64* n,
             const MKL_INT64* nrhs, MKL_Complex16* a, const MKL_INT64* lda,
             MKL_Complex16* af, const MKL_INT64* ldaf, char* equed, double* s,
             MKL_Complex16* b, const MKL_INT64* ldb, MKL_Complex16* x,
             const MKL_INT64* ldx, double* rcond, double* ferr, double* berr,
             MKL_Complex16* work, double* rwork, MKL_INT64* info ) NOTHROW;
void zposvx_64( const char* fact, const char* uplo, const MKL_INT64* n,
             const MKL_INT64* nrhs, MKL_Complex16* a, const MKL_INT64* lda,
             MKL_Complex16* af, const MKL_INT64* ldaf, char* equed, double* s,
             MKL_Complex16* b, const MKL_INT64* ldb, MKL_Complex16* x,
             const MKL_INT64* ldx, double* rcond, double* ferr, double* berr,
             MKL_Complex16* work, double* rwork, MKL_INT64* info ) NOTHROW;

void ZPOSVXX_64( const char* fact, const char* uplo, const MKL_INT64* n,
              const MKL_INT64* nrhs, MKL_Complex16* a, const MKL_INT64* lda,
              MKL_Complex16* af, const MKL_INT64* ldaf, char* equed, double* s,
              MKL_Complex16* b, const MKL_INT64* ldb, MKL_Complex16* x,
              const MKL_INT64* ldx, double* rcond, double* rpvgrw, double* berr,
              const MKL_INT64* n_err_bnds, double* err_bnds_norm,
              double* err_bnds_comp, const MKL_INT64* nparams, double* params,
              MKL_Complex16* work, double* rwork, MKL_INT64* info ) NOTHROW;
void zposvxx_64( const char* fact, const char* uplo, const MKL_INT64* n,
              const MKL_INT64* nrhs, MKL_Complex16* a, const MKL_INT64* lda,
              MKL_Complex16* af, const MKL_INT64* ldaf, char* equed, double* s,
              MKL_Complex16* b, const MKL_INT64* ldb, MKL_Complex16* x,
              const MKL_INT64* ldx, double* rcond, double* rpvgrw, double* berr,
              const MKL_INT64* n_err_bnds, double* err_bnds_norm,
              double* err_bnds_comp, const MKL_INT64* nparams, double* params,
              MKL_Complex16* work, double* rwork, MKL_INT64* info ) NOTHROW;

void ZPOTF2_64( const char* uplo, const MKL_INT64* n, MKL_Complex16* a,
             const MKL_INT64* lda, MKL_INT64* info ) NOTHROW;
void zpotf2_64( const char* uplo, const MKL_INT64* n, MKL_Complex16* a,
             const MKL_INT64* lda, MKL_INT64* info ) NOTHROW;

void ZPOTRF_64( const char* uplo, const MKL_INT64* n, MKL_Complex16* a,
             const MKL_INT64* lda, MKL_INT64* info ) NOTHROW;
void zpotrf_64( const char* uplo, const MKL_INT64* n, MKL_Complex16* a,
             const MKL_INT64* lda, MKL_INT64* info ) NOTHROW;

void ZPOTRI_64( const char* uplo, const MKL_INT64* n, MKL_Complex16* a,
             const MKL_INT64* lda, MKL_INT64* info ) NOTHROW;
void zpotri_64( const char* uplo, const MKL_INT64* n, MKL_Complex16* a,
             const MKL_INT64* lda, MKL_INT64* info ) NOTHROW;

void ZPOTRS_64( const char* uplo, const MKL_INT64* n, const MKL_INT64* nrhs,
             const MKL_Complex16* a, const MKL_INT64* lda, MKL_Complex16* b,
             const MKL_INT64* ldb, MKL_INT64* info ) NOTHROW;
void zpotrs_64( const char* uplo, const MKL_INT64* n, const MKL_INT64* nrhs,
             const MKL_Complex16* a, const MKL_INT64* lda, MKL_Complex16* b,
             const MKL_INT64* ldb, MKL_INT64* info ) NOTHROW;

void ZPPCON_64( const char* uplo, const MKL_INT64* n, const MKL_Complex16* ap,
             const double* anorm, double* rcond, MKL_Complex16* work,
             double* rwork, MKL_INT64* info ) NOTHROW;
void zppcon_64( const char* uplo, const MKL_INT64* n, const MKL_Complex16* ap,
             const double* anorm, double* rcond, MKL_Complex16* work,
             double* rwork, MKL_INT64* info ) NOTHROW;

void ZPPEQU_64( const char* uplo, const MKL_INT64* n, const MKL_Complex16* ap,
             double* s, double* scond, double* amax, MKL_INT64* info ) NOTHROW;
void zppequ_64( const char* uplo, const MKL_INT64* n, const MKL_Complex16* ap,
             double* s, double* scond, double* amax, MKL_INT64* info ) NOTHROW;

void ZPPRFS_64( const char* uplo, const MKL_INT64* n, const MKL_INT64* nrhs,
             const MKL_Complex16* ap, const MKL_Complex16* afp,
             const MKL_Complex16* b, const MKL_INT64* ldb, MKL_Complex16* x,
             const MKL_INT64* ldx, double* ferr, double* berr,
             MKL_Complex16* work, double* rwork, MKL_INT64* info ) NOTHROW;
void zpprfs_64( const char* uplo, const MKL_INT64* n, const MKL_INT64* nrhs,
             const MKL_Complex16* ap, const MKL_Complex16* afp,
             const MKL_Complex16* b, const MKL_INT64* ldb, MKL_Complex16* x,
             const MKL_INT64* ldx, double* ferr, double* berr,
             MKL_Complex16* work, double* rwork, MKL_INT64* info ) NOTHROW;

void ZPPSV_64( const char* uplo, const MKL_INT64* n, const MKL_INT64* nrhs,
            MKL_Complex16* ap, MKL_Complex16* b, const MKL_INT64* ldb,
            MKL_INT64* info ) NOTHROW;
void zppsv_64( const char* uplo, const MKL_INT64* n, const MKL_INT64* nrhs,
            MKL_Complex16* ap, MKL_Complex16* b, const MKL_INT64* ldb,
            MKL_INT64* info ) NOTHROW;

void ZPPSVX_64( const char* fact, const char* uplo, const MKL_INT64* n,
             const MKL_INT64* nrhs, MKL_Complex16* ap, MKL_Complex16* afp,
             char* equed, double* s, MKL_Complex16* b, const MKL_INT64* ldb,
             MKL_Complex16* x, const MKL_INT64* ldx, double* rcond, double* ferr,
             double* berr, MKL_Complex16* work, double* rwork, MKL_INT64* info ) NOTHROW;
void zppsvx_64( const char* fact, const char* uplo, const MKL_INT64* n,
             const MKL_INT64* nrhs, MKL_Complex16* ap, MKL_Complex16* afp,
             char* equed, double* s, MKL_Complex16* b, const MKL_INT64* ldb,
             MKL_Complex16* x, const MKL_INT64* ldx, double* rcond, double* ferr,
             double* berr, MKL_Complex16* work, double* rwork, MKL_INT64* info ) NOTHROW;

void ZPPTRF_64( const char* uplo, const MKL_INT64* n, MKL_Complex16* ap,
             MKL_INT64* info ) NOTHROW;
void zpptrf_64( const char* uplo, const MKL_INT64* n, MKL_Complex16* ap,
             MKL_INT64* info ) NOTHROW;

void ZPPTRI_64( const char* uplo, const MKL_INT64* n, MKL_Complex16* ap,
             MKL_INT64* info ) NOTHROW;
void zpptri_64( const char* uplo, const MKL_INT64* n, MKL_Complex16* ap,
             MKL_INT64* info ) NOTHROW;

void ZPPTRS_64( const char* uplo, const MKL_INT64* n, const MKL_INT64* nrhs,
             const MKL_Complex16* ap, MKL_Complex16* b, const MKL_INT64* ldb,
             MKL_INT64* info ) NOTHROW;
void zpptrs_64( const char* uplo, const MKL_INT64* n, const MKL_INT64* nrhs,
             const MKL_Complex16* ap, MKL_Complex16* b, const MKL_INT64* ldb,
             MKL_INT64* info ) NOTHROW;

void ZPSTF2_64( const char* uplo, const MKL_INT64* n, MKL_Complex16* a,
             const MKL_INT64* lda, MKL_INT64* piv, MKL_INT64* rank,
             const double* tol, double* work, MKL_INT64* info ) NOTHROW;
void zpstf2_64( const char* uplo, const MKL_INT64* n, MKL_Complex16* a,
             const MKL_INT64* lda, MKL_INT64* piv, MKL_INT64* rank,
             const double* tol, double* work, MKL_INT64* info ) NOTHROW;

void ZPSTRF_64( const char* uplo, const MKL_INT64* n, MKL_Complex16* a,
             const MKL_INT64* lda, MKL_INT64* piv, MKL_INT64* rank,
             const double* tol, double* work, MKL_INT64* info ) NOTHROW;
void zpstrf_64( const char* uplo, const MKL_INT64* n, MKL_Complex16* a,
             const MKL_INT64* lda, MKL_INT64* piv, MKL_INT64* rank,
             const double* tol, double* work, MKL_INT64* info ) NOTHROW;

void ZPTCON_64( const MKL_INT64* n, const double* d, const MKL_Complex16* e,
             const double* anorm, double* rcond, double* rwork,
             MKL_INT64* info ) NOTHROW;
void zptcon_64( const MKL_INT64* n, const double* d, const MKL_Complex16* e,
             const double* anorm, double* rcond, double* rwork,
             MKL_INT64* info ) NOTHROW;

void ZPTEQR_64( const char* compz, const MKL_INT64* n, double* d, double* e,
             MKL_Complex16* z, const MKL_INT64* ldz, double* work,
             MKL_INT64* info ) NOTHROW;
void zpteqr_64( const char* compz, const MKL_INT64* n, double* d, double* e,
             MKL_Complex16* z, const MKL_INT64* ldz, double* work,
             MKL_INT64* info ) NOTHROW;

void ZPTRFS_64( const char* uplo, const MKL_INT64* n, const MKL_INT64* nrhs,
             const double* d, const MKL_Complex16* e, const double* df,
             const MKL_Complex16* ef, const MKL_Complex16* b,
             const MKL_INT64* ldb, MKL_Complex16* x, const MKL_INT64* ldx,
             double* ferr, double* berr, MKL_Complex16* work, double* rwork,
             MKL_INT64* info ) NOTHROW;
void zptrfs_64( const char* uplo, const MKL_INT64* n, const MKL_INT64* nrhs,
             const double* d, const MKL_Complex16* e, const double* df,
             const MKL_Complex16* ef, const MKL_Complex16* b,
             const MKL_INT64* ldb, MKL_Complex16* x, const MKL_INT64* ldx,
             double* ferr, double* berr, MKL_Complex16* work, double* rwork,
             MKL_INT64* info ) NOTHROW;

void ZPTSV_64( const MKL_INT64* n, const MKL_INT64* nrhs, double* d, MKL_Complex16* e,
            MKL_Complex16* b, const MKL_INT64* ldb, MKL_INT64* info ) NOTHROW;
void zptsv_64( const MKL_INT64* n, const MKL_INT64* nrhs, double* d, MKL_Complex16* e,
            MKL_Complex16* b, const MKL_INT64* ldb, MKL_INT64* info ) NOTHROW;

void ZPTSVX_64( const char* fact, const MKL_INT64* n, const MKL_INT64* nrhs,
             const double* d, const MKL_Complex16* e, double* df,
             MKL_Complex16* ef, const MKL_Complex16* b, const MKL_INT64* ldb,
             MKL_Complex16* x, const MKL_INT64* ldx, double* rcond, double* ferr,
             double* berr, MKL_Complex16* work, double* rwork, MKL_INT64* info ) NOTHROW;
void zptsvx_64( const char* fact, const MKL_INT64* n, const MKL_INT64* nrhs,
             const double* d, const MKL_Complex16* e, double* df,
             MKL_Complex16* ef, const MKL_Complex16* b, const MKL_INT64* ldb,
             MKL_Complex16* x, const MKL_INT64* ldx, double* rcond, double* ferr,
             double* berr, MKL_Complex16* work, double* rwork, MKL_INT64* info ) NOTHROW;

void ZPTTRF_64( const MKL_INT64* n, double* d, MKL_Complex16* e, MKL_INT64* info ) NOTHROW;
void zpttrf_64( const MKL_INT64* n, double* d, MKL_Complex16* e, MKL_INT64* info ) NOTHROW;

void ZPTTRS_64( const char* uplo, const MKL_INT64* n, const MKL_INT64* nrhs,
             const double* d, const MKL_Complex16* e, MKL_Complex16* b,
             const MKL_INT64* ldb, MKL_INT64* info ) NOTHROW;
void zpttrs_64( const char* uplo, const MKL_INT64* n, const MKL_INT64* nrhs,
             const double* d, const MKL_Complex16* e, MKL_Complex16* b,
             const MKL_INT64* ldb, MKL_INT64* info ) NOTHROW;

void ZPTTS2_64( const MKL_INT64* iuplo, const MKL_INT64* n, const MKL_INT64* nrhs,
             const double* d, const MKL_Complex16* e, MKL_Complex16* b,
             const MKL_INT64* ldb ) NOTHROW;
void zptts2_64( const MKL_INT64* iuplo, const MKL_INT64* n, const MKL_INT64* nrhs,
             const double* d, const MKL_Complex16* e, MKL_Complex16* b,
             const MKL_INT64* ldb ) NOTHROW;

void ZROT_64( const MKL_INT64* n, MKL_Complex16* cx, const MKL_INT64* incx,
           MKL_Complex16* cy, const MKL_INT64* incy, const double* c,
           const MKL_Complex16* s ) NOTHROW;
void zrot_64( const MKL_INT64* n, MKL_Complex16* cx, const MKL_INT64* incx,
           MKL_Complex16* cy, const MKL_INT64* incy, const double* c,
           const MKL_Complex16* s ) NOTHROW;

void ZSPCON_64( const char* uplo, const MKL_INT64* n, const MKL_Complex16* ap,
             const MKL_INT64* ipiv, const double* anorm, double* rcond,
             MKL_Complex16* work, MKL_INT64* info ) NOTHROW;
void zspcon_64( const char* uplo, const MKL_INT64* n, const MKL_Complex16* ap,
             const MKL_INT64* ipiv, const double* anorm, double* rcond,
             MKL_Complex16* work, MKL_INT64* info ) NOTHROW;

void ZSPMV_64( const char* uplo, const MKL_INT64* n, const MKL_Complex16* alpha,
            const MKL_Complex16* ap, const MKL_Complex16* x,
            const MKL_INT64* incx, const MKL_Complex16* beta, MKL_Complex16* y,
            const MKL_INT64* incy ) NOTHROW;
void zspmv_64( const char* uplo, const MKL_INT64* n, const MKL_Complex16* alpha,
            const MKL_Complex16* ap, const MKL_Complex16* x,
            const MKL_INT64* incx, const MKL_Complex16* beta, MKL_Complex16* y,
            const MKL_INT64* incy ) NOTHROW;

void ZSPR_64( const char* uplo, const MKL_INT64* n, const MKL_Complex16* alpha,
           const MKL_Complex16* x, const MKL_INT64* incx, MKL_Complex16* ap ) NOTHROW;
void zspr_64( const char* uplo, const MKL_INT64* n, const MKL_Complex16* alpha,
           const MKL_Complex16* x, const MKL_INT64* incx, MKL_Complex16* ap ) NOTHROW;

void ZSPRFS_64( const char* uplo, const MKL_INT64* n, const MKL_INT64* nrhs,
             const MKL_Complex16* ap, const MKL_Complex16* afp,
             const MKL_INT64* ipiv, const MKL_Complex16* b, const MKL_INT64* ldb,
             MKL_Complex16* x, const MKL_INT64* ldx, double* ferr, double* berr,
             MKL_Complex16* work, double* rwork, MKL_INT64* info ) NOTHROW;
void zsprfs_64( const char* uplo, const MKL_INT64* n, const MKL_INT64* nrhs,
             const MKL_Complex16* ap, const MKL_Complex16* afp,
             const MKL_INT64* ipiv, const MKL_Complex16* b, const MKL_INT64* ldb,
             MKL_Complex16* x, const MKL_INT64* ldx, double* ferr, double* berr,
             MKL_Complex16* work, double* rwork, MKL_INT64* info ) NOTHROW;

void ZSPSV_64( const char* uplo, const MKL_INT64* n, const MKL_INT64* nrhs,
            MKL_Complex16* ap, MKL_INT64* ipiv, MKL_Complex16* b,
            const MKL_INT64* ldb, MKL_INT64* info ) NOTHROW;
void zspsv_64( const char* uplo, const MKL_INT64* n, const MKL_INT64* nrhs,
            MKL_Complex16* ap, MKL_INT64* ipiv, MKL_Complex16* b,
            const MKL_INT64* ldb, MKL_INT64* info ) NOTHROW;

void ZSPSVX_64( const char* fact, const char* uplo, const MKL_INT64* n,
             const MKL_INT64* nrhs, const MKL_Complex16* ap, MKL_Complex16* afp,
             MKL_INT64* ipiv, const MKL_Complex16* b, const MKL_INT64* ldb,
             MKL_Complex16* x, const MKL_INT64* ldx, double* rcond, double* ferr,
             double* berr, MKL_Complex16* work, double* rwork, MKL_INT64* info ) NOTHROW;
void zspsvx_64( const char* fact, const char* uplo, const MKL_INT64* n,
             const MKL_INT64* nrhs, const MKL_Complex16* ap, MKL_Complex16* afp,
             MKL_INT64* ipiv, const MKL_Complex16* b, const MKL_INT64* ldb,
             MKL_Complex16* x, const MKL_INT64* ldx, double* rcond, double* ferr,
             double* berr, MKL_Complex16* work, double* rwork, MKL_INT64* info ) NOTHROW;

void ZSPTRF_64( const char* uplo, const MKL_INT64* n, MKL_Complex16* ap,
             MKL_INT64* ipiv, MKL_INT64* info ) NOTHROW;
void zsptrf_64( const char* uplo, const MKL_INT64* n, MKL_Complex16* ap,
             MKL_INT64* ipiv, MKL_INT64* info ) NOTHROW;

void ZSPTRI_64( const char* uplo, const MKL_INT64* n, MKL_Complex16* ap,
             const MKL_INT64* ipiv, MKL_Complex16* work, MKL_INT64* info ) NOTHROW;
void zsptri_64( const char* uplo, const MKL_INT64* n, MKL_Complex16* ap,
             const MKL_INT64* ipiv, MKL_Complex16* work, MKL_INT64* info ) NOTHROW;

void ZSPTRS_64( const char* uplo, const MKL_INT64* n, const MKL_INT64* nrhs,
             const MKL_Complex16* ap, const MKL_INT64* ipiv, MKL_Complex16* b,
             const MKL_INT64* ldb, MKL_INT64* info ) NOTHROW;
void zsptrs_64( const char* uplo, const MKL_INT64* n, const MKL_INT64* nrhs,
             const MKL_Complex16* ap, const MKL_INT64* ipiv, MKL_Complex16* b,
             const MKL_INT64* ldb, MKL_INT64* info ) NOTHROW;

void ZSTEDC_64( const char* compz, const MKL_INT64* n, double* d, double* e,
             MKL_Complex16* z, const MKL_INT64* ldz, MKL_Complex16* work,
             const MKL_INT64* lwork, double* rwork, const MKL_INT64* lrwork,
             MKL_INT64* iwork, const MKL_INT64* liwork, MKL_INT64* info ) NOTHROW;
void zstedc_64( const char* compz, const MKL_INT64* n, double* d, double* e,
             MKL_Complex16* z, const MKL_INT64* ldz, MKL_Complex16* work,
             const MKL_INT64* lwork, double* rwork, const MKL_INT64* lrwork,
             MKL_INT64* iwork, const MKL_INT64* liwork, MKL_INT64* info ) NOTHROW;

void ZSTEGR_64( const char* jobz, const char* range, const MKL_INT64* n, double* d,
             double* e, const double* vl, const double* vu, const MKL_INT64* il,
             const MKL_INT64* iu, const double* abstol, MKL_INT64* m, double* w,
             MKL_Complex16* z, const MKL_INT64* ldz, MKL_INT64* isuppz,
             double* work, const MKL_INT64* lwork, MKL_INT64* iwork,
             const MKL_INT64* liwork, MKL_INT64* info ) NOTHROW;
void zstegr_64( const char* jobz, const char* range, const MKL_INT64* n, double* d,
             double* e, const double* vl, const double* vu, const MKL_INT64* il,
             const MKL_INT64* iu, const double* abstol, MKL_INT64* m, double* w,
             MKL_Complex16* z, const MKL_INT64* ldz, MKL_INT64* isuppz,
             double* work, const MKL_INT64* lwork, MKL_INT64* iwork,
             const MKL_INT64* liwork, MKL_INT64* info ) NOTHROW;

void ZSTEIN_64( const MKL_INT64* n, const double* d, const double* e,
             const MKL_INT64* m, const double* w, const MKL_INT64* iblock,
             const MKL_INT64* isplit, MKL_Complex16* z, const MKL_INT64* ldz,
             double* work, MKL_INT64* iwork, MKL_INT64* ifail, MKL_INT64* info ) NOTHROW;
void zstein_64( const MKL_INT64* n, const double* d, const double* e,
             const MKL_INT64* m, const double* w, const MKL_INT64* iblock,
             const MKL_INT64* isplit, MKL_Complex16* z, const MKL_INT64* ldz,
             double* work, MKL_INT64* iwork, MKL_INT64* ifail, MKL_INT64* info ) NOTHROW;

void ZSTEMR_64( const char* jobz, const char* range, const MKL_INT64* n, double* d,
             double* e, const double* vl, const double* vu, const MKL_INT64* il,
             const MKL_INT64* iu, MKL_INT64* m, double* w, MKL_Complex16* z,
             const MKL_INT64* ldz, const MKL_INT64* nzc, MKL_INT64* isuppz,
             MKL_INT64* tryrac, double* work, const MKL_INT64* lwork,
             MKL_INT64* iwork, const MKL_INT64* liwork, MKL_INT64* info ) NOTHROW;
void zstemr_64( const char* jobz, const char* range, const MKL_INT64* n, double* d,
             double* e, const double* vl, const double* vu, const MKL_INT64* il,
             const MKL_INT64* iu, MKL_INT64* m, double* w, MKL_Complex16* z,
             const MKL_INT64* ldz, const MKL_INT64* nzc, MKL_INT64* isuppz,
             MKL_INT64* tryrac, double* work, const MKL_INT64* lwork,
             MKL_INT64* iwork, const MKL_INT64* liwork, MKL_INT64* info ) NOTHROW;

void ZSTEQR_64( const char* compz, const MKL_INT64* n, double* d, double* e,
             MKL_Complex16* z, const MKL_INT64* ldz, double* work,
             MKL_INT64* info ) NOTHROW;
void zsteqr_64( const char* compz, const MKL_INT64* n, double* d, double* e,
             MKL_Complex16* z, const MKL_INT64* ldz, double* work,
             MKL_INT64* info ) NOTHROW;

void ZSYCON_64( const char* uplo, const MKL_INT64* n, const MKL_Complex16* a,
             const MKL_INT64* lda, const MKL_INT64* ipiv, const double* anorm,
             double* rcond, MKL_Complex16* work, MKL_INT64* info ) NOTHROW;
void zsycon_64( const char* uplo, const MKL_INT64* n, const MKL_Complex16* a,
             const MKL_INT64* lda, const MKL_INT64* ipiv, const double* anorm,
             double* rcond, MKL_Complex16* work, MKL_INT64* info ) NOTHROW;

void ZSYEQUB_64( const char* uplo, const MKL_INT64* n, const MKL_Complex16* a,
              const MKL_INT64* lda, double* s, double* scond, double* amax,
              MKL_Complex16* work, MKL_INT64* info ) NOTHROW;
void zsyequb_64( const char* uplo, const MKL_INT64* n, const MKL_Complex16* a,
              const MKL_INT64* lda, double* s, double* scond, double* amax,
              MKL_Complex16* work, MKL_INT64* info ) NOTHROW;

void ZSYMV_64( const char* uplo, const MKL_INT64* n, const MKL_Complex16* alpha,
            const MKL_Complex16* a, const MKL_INT64* lda, const MKL_Complex16* x,
            const MKL_INT64* incx, const MKL_Complex16* beta, MKL_Complex16* y,
            const MKL_INT64* incy ) NOTHROW;
void zsymv_64( const char* uplo, const MKL_INT64* n, const MKL_Complex16* alpha,
            const MKL_Complex16* a, const MKL_INT64* lda, const MKL_Complex16* x,
            const MKL_INT64* incx, const MKL_Complex16* beta, MKL_Complex16* y,
            const MKL_INT64* incy ) NOTHROW;

void ZSYR_64( const char* uplo, const MKL_INT64* n, const MKL_Complex16* alpha,
           const MKL_Complex16* x, const MKL_INT64* incx, MKL_Complex16* a,
           const MKL_INT64* lda ) NOTHROW;
void zsyr_64( const char* uplo, const MKL_INT64* n, const MKL_Complex16* alpha,
           const MKL_Complex16* x, const MKL_INT64* incx, MKL_Complex16* a,
           const MKL_INT64* lda ) NOTHROW;

void ZSYRFS_64( const char* uplo, const MKL_INT64* n, const MKL_INT64* nrhs,
             const MKL_Complex16* a, const MKL_INT64* lda,
             const MKL_Complex16* af, const MKL_INT64* ldaf, const MKL_INT64* ipiv,
             const MKL_Complex16* b, const MKL_INT64* ldb, MKL_Complex16* x,
             const MKL_INT64* ldx, double* ferr, double* berr,
             MKL_Complex16* work, double* rwork, MKL_INT64* info ) NOTHROW;
void zsyrfs_64( const char* uplo, const MKL_INT64* n, const MKL_INT64* nrhs,
             const MKL_Complex16* a, const MKL_INT64* lda,
             const MKL_Complex16* af, const MKL_INT64* ldaf, const MKL_INT64* ipiv,
             const MKL_Complex16* b, const MKL_INT64* ldb, MKL_Complex16* x,
             const MKL_INT64* ldx, double* ferr, double* berr,
             MKL_Complex16* work, double* rwork, MKL_INT64* info ) NOTHROW;

void ZSYRFSX_64( const char* uplo, const char* equed, const MKL_INT64* n,
              const MKL_INT64* nrhs, const MKL_Complex16* a, const MKL_INT64* lda,
              const MKL_Complex16* af, const MKL_INT64* ldaf,
              const MKL_INT64* ipiv, double* s, const MKL_Complex16* b,
              const MKL_INT64* ldb, MKL_Complex16* x, const MKL_INT64* ldx,
              double* rcond, double* berr, const MKL_INT64* n_err_bnds,
              double* err_bnds_norm, double* err_bnds_comp,
              const MKL_INT64* nparams, double* params, MKL_Complex16* work,
              double* rwork, MKL_INT64* info ) NOTHROW;
void zsyrfsx_64( const char* uplo, const char* equed, const MKL_INT64* n,
              const MKL_INT64* nrhs, const MKL_Complex16* a, const MKL_INT64* lda,
              const MKL_Complex16* af, const MKL_INT64* ldaf,
              const MKL_INT64* ipiv, double* s, const MKL_Complex16* b,
              const MKL_INT64* ldb, MKL_Complex16* x, const MKL_INT64* ldx,
              double* rcond, double* berr, const MKL_INT64* n_err_bnds,
              double* err_bnds_norm, double* err_bnds_comp,
              const MKL_INT64* nparams, double* params, MKL_Complex16* work,
              double* rwork, MKL_INT64* info ) NOTHROW;

void ZSYSV_64( const char* uplo, const MKL_INT64* n, const MKL_INT64* nrhs,
            MKL_Complex16* a, const MKL_INT64* lda, MKL_INT64* ipiv,
            MKL_Complex16* b, const MKL_INT64* ldb, MKL_Complex16* work,
            const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;
void zsysv_64( const char* uplo, const MKL_INT64* n, const MKL_INT64* nrhs,
            MKL_Complex16* a, const MKL_INT64* lda, MKL_INT64* ipiv,
            MKL_Complex16* b, const MKL_INT64* ldb, MKL_Complex16* work,
            const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;

void ZSYSVX_64( const char* fact, const char* uplo, const MKL_INT64* n,
             const MKL_INT64* nrhs, const MKL_Complex16* a, const MKL_INT64* lda,
             MKL_Complex16* af, const MKL_INT64* ldaf, MKL_INT64* ipiv,
             const MKL_Complex16* b, const MKL_INT64* ldb, MKL_Complex16* x,
             const MKL_INT64* ldx, double* rcond, double* ferr, double* berr,
             MKL_Complex16* work, const MKL_INT64* lwork, double* rwork,
             MKL_INT64* info ) NOTHROW;
void zsysvx_64( const char* fact, const char* uplo, const MKL_INT64* n,
             const MKL_INT64* nrhs, const MKL_Complex16* a, const MKL_INT64* lda,
             MKL_Complex16* af, const MKL_INT64* ldaf, MKL_INT64* ipiv,
             const MKL_Complex16* b, const MKL_INT64* ldb, MKL_Complex16* x,
             const MKL_INT64* ldx, double* rcond, double* ferr, double* berr,
             MKL_Complex16* work, const MKL_INT64* lwork, double* rwork,
             MKL_INT64* info ) NOTHROW;

void ZSYSVXX_64( const char* fact, const char* uplo, const MKL_INT64* n,
              const MKL_INT64* nrhs, MKL_Complex16* a, const MKL_INT64* lda,
              MKL_Complex16* af, const MKL_INT64* ldaf, MKL_INT64* ipiv,
              char* equed, double* s, MKL_Complex16* b, const MKL_INT64* ldb,
              MKL_Complex16* x, const MKL_INT64* ldx, double* rcond,
              double* rpvgrw, double* berr, const MKL_INT64* n_err_bnds,
              double* err_bnds_norm, double* err_bnds_comp,
              const MKL_INT64* nparams, double* params, MKL_Complex16* work,
              double* rwork, MKL_INT64* info ) NOTHROW;
void zsysvxx_64( const char* fact, const char* uplo, const MKL_INT64* n,
              const MKL_INT64* nrhs, MKL_Complex16* a, const MKL_INT64* lda,
              MKL_Complex16* af, const MKL_INT64* ldaf, MKL_INT64* ipiv,
              char* equed, double* s, MKL_Complex16* b, const MKL_INT64* ldb,
              MKL_Complex16* x, const MKL_INT64* ldx, double* rcond,
              double* rpvgrw, double* berr, const MKL_INT64* n_err_bnds,
              double* err_bnds_norm, double* err_bnds_comp,
              const MKL_INT64* nparams, double* params, MKL_Complex16* work,
              double* rwork, MKL_INT64* info ) NOTHROW;

void ZSYTF2_64( const char* uplo, const MKL_INT64* n, MKL_Complex16* a,
             const MKL_INT64* lda, MKL_INT64* ipiv, MKL_INT64* info ) NOTHROW;
void zsytf2_64( const char* uplo, const MKL_INT64* n, MKL_Complex16* a,
             const MKL_INT64* lda, MKL_INT64* ipiv, MKL_INT64* info ) NOTHROW;

void ZSYTRF_64( const char* uplo, const MKL_INT64* n, MKL_Complex16* a,
             const MKL_INT64* lda, MKL_INT64* ipiv, MKL_Complex16* work,
             const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;
void zsytrf_64( const char* uplo, const MKL_INT64* n, MKL_Complex16* a,
             const MKL_INT64* lda, MKL_INT64* ipiv, MKL_Complex16* work,
             const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;

void ZSYTRI_64( const char* uplo, const MKL_INT64* n, MKL_Complex16* a,
             const MKL_INT64* lda, const MKL_INT64* ipiv, MKL_Complex16* work,
             MKL_INT64* info ) NOTHROW;
void zsytri_64( const char* uplo, const MKL_INT64* n, MKL_Complex16* a,
             const MKL_INT64* lda, const MKL_INT64* ipiv, MKL_Complex16* work,
             MKL_INT64* info ) NOTHROW;

void ZSYTRS_64( const char* uplo, const MKL_INT64* n, const MKL_INT64* nrhs,
             const MKL_Complex16* a, const MKL_INT64* lda, const MKL_INT64* ipiv,
             MKL_Complex16* b, const MKL_INT64* ldb, MKL_INT64* info ) NOTHROW;
void zsytrs_64( const char* uplo, const MKL_INT64* n, const MKL_INT64* nrhs,
             const MKL_Complex16* a, const MKL_INT64* lda, const MKL_INT64* ipiv,
             MKL_Complex16* b, const MKL_INT64* ldb, MKL_INT64* info ) NOTHROW;

void ZTBCON_64( const char* norm, const char* uplo, const char* diag,
             const MKL_INT64* n, const MKL_INT64* kd, const MKL_Complex16* ab,
             const MKL_INT64* ldab, double* rcond, MKL_Complex16* work,
             double* rwork, MKL_INT64* info ) NOTHROW;
void ztbcon_64( const char* norm, const char* uplo, const char* diag,
             const MKL_INT64* n, const MKL_INT64* kd, const MKL_Complex16* ab,
             const MKL_INT64* ldab, double* rcond, MKL_Complex16* work,
             double* rwork, MKL_INT64* info ) NOTHROW;

void ZTBRFS_64( const char* uplo, const char* trans, const char* diag,
             const MKL_INT64* n, const MKL_INT64* kd, const MKL_INT64* nrhs,
             const MKL_Complex16* ab, const MKL_INT64* ldab,
             const MKL_Complex16* b, const MKL_INT64* ldb,
             const MKL_Complex16* x, const MKL_INT64* ldx, double* ferr,
             double* berr, MKL_Complex16* work, double* rwork, MKL_INT64* info ) NOTHROW;
void ztbrfs_64( const char* uplo, const char* trans, const char* diag,
             const MKL_INT64* n, const MKL_INT64* kd, const MKL_INT64* nrhs,
             const MKL_Complex16* ab, const MKL_INT64* ldab,
             const MKL_Complex16* b, const MKL_INT64* ldb,
             const MKL_Complex16* x, const MKL_INT64* ldx, double* ferr,
             double* berr, MKL_Complex16* work, double* rwork, MKL_INT64* info ) NOTHROW;

void ZTBTRS_64( const char* uplo, const char* trans, const char* diag,
             const MKL_INT64* n, const MKL_INT64* kd, const MKL_INT64* nrhs,
             const MKL_Complex16* ab, const MKL_INT64* ldab, MKL_Complex16* b,
             const MKL_INT64* ldb, MKL_INT64* info ) NOTHROW;
void ztbtrs_64( const char* uplo, const char* trans, const char* diag,
             const MKL_INT64* n, const MKL_INT64* kd, const MKL_INT64* nrhs,
             const MKL_Complex16* ab, const MKL_INT64* ldab, MKL_Complex16* b,
             const MKL_INT64* ldb, MKL_INT64* info ) NOTHROW;

void ZTFSM_64( const char* transr, const char* side, const char* uplo,
            const char* trans, const char* diag, const MKL_INT64* m,
            const MKL_INT64* n, const MKL_Complex16* alpha,
            const MKL_Complex16* a, MKL_Complex16* b, const MKL_INT64* ldb ) NOTHROW;
void ztfsm_64( const char* transr, const char* side, const char* uplo,
            const char* trans, const char* diag, const MKL_INT64* m,
            const MKL_INT64* n, const MKL_Complex16* alpha,
            const MKL_Complex16* a, MKL_Complex16* b, const MKL_INT64* ldb ) NOTHROW;

void ZTFTRI_64( const char* transr, const char* uplo, const char* diag,
             const MKL_INT64* n, MKL_Complex16* a, MKL_INT64* info ) NOTHROW;
void ztftri_64( const char* transr, const char* uplo, const char* diag,
             const MKL_INT64* n, MKL_Complex16* a, MKL_INT64* info ) NOTHROW;

void ZTFTTP_64( const char* transr, const char* uplo, const MKL_INT64* n,
             const MKL_Complex16* arf, MKL_Complex16* ap, MKL_INT64* info ) NOTHROW;
void ztfttp_64( const char* transr, const char* uplo, const MKL_INT64* n,
             const MKL_Complex16* arf, MKL_Complex16* ap, MKL_INT64* info ) NOTHROW;

void ZTFTTR_64( const char* transr, const char* uplo, const MKL_INT64* n,
             const MKL_Complex16* arf, MKL_Complex16* a, const MKL_INT64* lda,
             MKL_INT64* info ) NOTHROW;
void ztfttr_64( const char* transr, const char* uplo, const MKL_INT64* n,
             const MKL_Complex16* arf, MKL_Complex16* a, const MKL_INT64* lda,
             MKL_INT64* info ) NOTHROW;

void ZTGEVC_64( const char* side, const char* howmny, const MKL_INT64* select,
             const MKL_INT64* n, const MKL_Complex16* s, const MKL_INT64* lds,
             const MKL_Complex16* p, const MKL_INT64* ldp, MKL_Complex16* vl,
             const MKL_INT64* ldvl, MKL_Complex16* vr, const MKL_INT64* ldvr,
             const MKL_INT64* mm, MKL_INT64* m, MKL_Complex16* work, double* rwork,
             MKL_INT64* info ) NOTHROW;
void ztgevc_64( const char* side, const char* howmny, const MKL_INT64* select,
             const MKL_INT64* n, const MKL_Complex16* s, const MKL_INT64* lds,
             const MKL_Complex16* p, const MKL_INT64* ldp, MKL_Complex16* vl,
             const MKL_INT64* ldvl, MKL_Complex16* vr, const MKL_INT64* ldvr,
             const MKL_INT64* mm, MKL_INT64* m, MKL_Complex16* work, double* rwork,
             MKL_INT64* info ) NOTHROW;

void ZTGEX2_64( const MKL_INT64* wantq, const MKL_INT64* wantz, const MKL_INT64* n,
             MKL_Complex16* a, const MKL_INT64* lda, MKL_Complex16* b,
             const MKL_INT64* ldb, MKL_Complex16* q, const MKL_INT64* ldq,
             MKL_Complex16* z, const MKL_INT64* ldz, const MKL_INT64* j1,
             MKL_INT64* info ) NOTHROW;
void ztgex2_64( const MKL_INT64* wantq, const MKL_INT64* wantz, const MKL_INT64* n,
             MKL_Complex16* a, const MKL_INT64* lda, MKL_Complex16* b,
             const MKL_INT64* ldb, MKL_Complex16* q, const MKL_INT64* ldq,
             MKL_Complex16* z, const MKL_INT64* ldz, const MKL_INT64* j1,
             MKL_INT64* info ) NOTHROW;

void ZTGEXC_64( const MKL_INT64* wantq, const MKL_INT64* wantz, const MKL_INT64* n,
             MKL_Complex16* a, const MKL_INT64* lda, MKL_Complex16* b,
             const MKL_INT64* ldb, MKL_Complex16* q, const MKL_INT64* ldq,
             MKL_Complex16* z, const MKL_INT64* ldz, const MKL_INT64* ifst,
             MKL_INT64* ilst, MKL_INT64* info ) NOTHROW;
void ztgexc_64( const MKL_INT64* wantq, const MKL_INT64* wantz, const MKL_INT64* n,
             MKL_Complex16* a, const MKL_INT64* lda, MKL_Complex16* b,
             const MKL_INT64* ldb, MKL_Complex16* q, const MKL_INT64* ldq,
             MKL_Complex16* z, const MKL_INT64* ldz, const MKL_INT64* ifst,
             MKL_INT64* ilst, MKL_INT64* info ) NOTHROW;

void ZTGSEN_64( const MKL_INT64* ijob, const MKL_INT64* wantq, const MKL_INT64* wantz,
             const MKL_INT64* select, const MKL_INT64* n, MKL_Complex16* a,
             const MKL_INT64* lda, MKL_Complex16* b, const MKL_INT64* ldb,
             MKL_Complex16* alpha, MKL_Complex16* beta, MKL_Complex16* q,
             const MKL_INT64* ldq, MKL_Complex16* z, const MKL_INT64* ldz,
             MKL_INT64* m, double* pl, double* pr, double* dif,
             MKL_Complex16* work, const MKL_INT64* lwork, MKL_INT64* iwork,
             const MKL_INT64* liwork, MKL_INT64* info ) NOTHROW;
void ztgsen_64( const MKL_INT64* ijob, const MKL_INT64* wantq, const MKL_INT64* wantz,
             const MKL_INT64* select, const MKL_INT64* n, MKL_Complex16* a,
             const MKL_INT64* lda, MKL_Complex16* b, const MKL_INT64* ldb,
             MKL_Complex16* alpha, MKL_Complex16* beta, MKL_Complex16* q,
             const MKL_INT64* ldq, MKL_Complex16* z, const MKL_INT64* ldz,
             MKL_INT64* m, double* pl, double* pr, double* dif,
             MKL_Complex16* work, const MKL_INT64* lwork, MKL_INT64* iwork,
             const MKL_INT64* liwork, MKL_INT64* info ) NOTHROW;

void ZTGSJA_64( const char* jobu, const char* jobv, const char* jobq,
             const MKL_INT64* m, const MKL_INT64* p, const MKL_INT64* n,
             const MKL_INT64* k, const MKL_INT64* l, MKL_Complex16* a,
             const MKL_INT64* lda, MKL_Complex16* b, const MKL_INT64* ldb,
             const double* tola, const double* tolb, double* alpha,
             double* beta, MKL_Complex16* u, const MKL_INT64* ldu,
             MKL_Complex16* v, const MKL_INT64* ldv, MKL_Complex16* q,
             const MKL_INT64* ldq, MKL_Complex16* work, MKL_INT64* ncycle,
             MKL_INT64* info ) NOTHROW;
void ztgsja_64( const char* jobu, const char* jobv, const char* jobq,
             const MKL_INT64* m, const MKL_INT64* p, const MKL_INT64* n,
             const MKL_INT64* k, const MKL_INT64* l, MKL_Complex16* a,
             const MKL_INT64* lda, MKL_Complex16* b, const MKL_INT64* ldb,
             const double* tola, const double* tolb, double* alpha,
             double* beta, MKL_Complex16* u, const MKL_INT64* ldu,
             MKL_Complex16* v, const MKL_INT64* ldv, MKL_Complex16* q,
             const MKL_INT64* ldq, MKL_Complex16* work, MKL_INT64* ncycle,
             MKL_INT64* info ) NOTHROW;

void ZTGSNA_64( const char* job, const char* howmny, const MKL_INT64* select,
             const MKL_INT64* n, const MKL_Complex16* a, const MKL_INT64* lda,
             const MKL_Complex16* b, const MKL_INT64* ldb,
             const MKL_Complex16* vl, const MKL_INT64* ldvl,
             const MKL_Complex16* vr, const MKL_INT64* ldvr, double* s,
             double* dif, const MKL_INT64* mm, MKL_INT64* m, MKL_Complex16* work,
             const MKL_INT64* lwork, MKL_INT64* iwork, MKL_INT64* info ) NOTHROW;
void ztgsna_64( const char* job, const char* howmny, const MKL_INT64* select,
             const MKL_INT64* n, const MKL_Complex16* a, const MKL_INT64* lda,
             const MKL_Complex16* b, const MKL_INT64* ldb,
             const MKL_Complex16* vl, const MKL_INT64* ldvl,
             const MKL_Complex16* vr, const MKL_INT64* ldvr, double* s,
             double* dif, const MKL_INT64* mm, MKL_INT64* m, MKL_Complex16* work,
             const MKL_INT64* lwork, MKL_INT64* iwork, MKL_INT64* info ) NOTHROW;

void ZTGSY2_64( const char* trans, const MKL_INT64* ijob, const MKL_INT64* m,
             const MKL_INT64* n, const MKL_Complex16* a, const MKL_INT64* lda,
             const MKL_Complex16* b, const MKL_INT64* ldb, MKL_Complex16* c,
             const MKL_INT64* ldc, const MKL_Complex16* d, const MKL_INT64* ldd,
             const MKL_Complex16* e, const MKL_INT64* lde, MKL_Complex16* f,
             const MKL_INT64* ldf, double* scale, double* rdsum, double* rdscal,
             MKL_INT64* info ) NOTHROW;
void ztgsy2_64( const char* trans, const MKL_INT64* ijob, const MKL_INT64* m,
             const MKL_INT64* n, const MKL_Complex16* a, const MKL_INT64* lda,
             const MKL_Complex16* b, const MKL_INT64* ldb, MKL_Complex16* c,
             const MKL_INT64* ldc, const MKL_Complex16* d, const MKL_INT64* ldd,
             const MKL_Complex16* e, const MKL_INT64* lde, MKL_Complex16* f,
             const MKL_INT64* ldf, double* scale, double* rdsum, double* rdscal,
             MKL_INT64* info ) NOTHROW;

void ZTGSYL_64( const char* trans, const MKL_INT64* ijob, const MKL_INT64* m,
             const MKL_INT64* n, const MKL_Complex16* a, const MKL_INT64* lda,
             const MKL_Complex16* b, const MKL_INT64* ldb, MKL_Complex16* c,
             const MKL_INT64* ldc, const MKL_Complex16* d, const MKL_INT64* ldd,
             const MKL_Complex16* e, const MKL_INT64* lde, MKL_Complex16* f,
             const MKL_INT64* ldf, double* scale, double* dif,
             MKL_Complex16* work, const MKL_INT64* lwork, MKL_INT64* iwork,
             MKL_INT64* info ) NOTHROW;
void ztgsyl_64( const char* trans, const MKL_INT64* ijob, const MKL_INT64* m,
             const MKL_INT64* n, const MKL_Complex16* a, const MKL_INT64* lda,
             const MKL_Complex16* b, const MKL_INT64* ldb, MKL_Complex16* c,
             const MKL_INT64* ldc, const MKL_Complex16* d, const MKL_INT64* ldd,
             const MKL_Complex16* e, const MKL_INT64* lde, MKL_Complex16* f,
             const MKL_INT64* ldf, double* scale, double* dif,
             MKL_Complex16* work, const MKL_INT64* lwork, MKL_INT64* iwork,
             MKL_INT64* info ) NOTHROW;

void ZTPCON_64( const char* norm, const char* uplo, const char* diag,
             const MKL_INT64* n, const MKL_Complex16* ap, double* rcond,
             MKL_Complex16* work, double* rwork, MKL_INT64* info ) NOTHROW;
void ztpcon_64( const char* norm, const char* uplo, const char* diag,
             const MKL_INT64* n, const MKL_Complex16* ap, double* rcond,
             MKL_Complex16* work, double* rwork, MKL_INT64* info ) NOTHROW;

void ZTPRFS_64( const char* uplo, const char* trans, const char* diag,
             const MKL_INT64* n, const MKL_INT64* nrhs, const MKL_Complex16* ap,
             const MKL_Complex16* b, const MKL_INT64* ldb,
             const MKL_Complex16* x, const MKL_INT64* ldx, double* ferr,
             double* berr, MKL_Complex16* work, double* rwork, MKL_INT64* info ) NOTHROW;
void ztprfs_64( const char* uplo, const char* trans, const char* diag,
             const MKL_INT64* n, const MKL_INT64* nrhs, const MKL_Complex16* ap,
             const MKL_Complex16* b, const MKL_INT64* ldb,
             const MKL_Complex16* x, const MKL_INT64* ldx, double* ferr,
             double* berr, MKL_Complex16* work, double* rwork, MKL_INT64* info ) NOTHROW;

void ZTPTRI_64( const char* uplo, const char* diag, const MKL_INT64* n,
             MKL_Complex16* ap, MKL_INT64* info ) NOTHROW;
void ztptri_64( const char* uplo, const char* diag, const MKL_INT64* n,
             MKL_Complex16* ap, MKL_INT64* info ) NOTHROW;

void ZTPTRS_64( const char* uplo, const char* trans, const char* diag,
             const MKL_INT64* n, const MKL_INT64* nrhs, const MKL_Complex16* ap,
             MKL_Complex16* b, const MKL_INT64* ldb, MKL_INT64* info ) NOTHROW;
void ztptrs_64( const char* uplo, const char* trans, const char* diag,
             const MKL_INT64* n, const MKL_INT64* nrhs, const MKL_Complex16* ap,
             MKL_Complex16* b, const MKL_INT64* ldb, MKL_INT64* info ) NOTHROW;

void ZTPTTF_64( const char* transr, const char* uplo, const MKL_INT64* n,
             const MKL_Complex16* ap, MKL_Complex16* arf, MKL_INT64* info ) NOTHROW;
void ztpttf_64( const char* transr, const char* uplo, const MKL_INT64* n,
             const MKL_Complex16* ap, MKL_Complex16* arf, MKL_INT64* info ) NOTHROW;

void ZTPTTR_64( const char* uplo, const MKL_INT64* n, const MKL_Complex16* ap,
             MKL_Complex16* a, const MKL_INT64* lda, MKL_INT64* info ) NOTHROW;
void ztpttr_64( const char* uplo, const MKL_INT64* n, const MKL_Complex16* ap,
             MKL_Complex16* a, const MKL_INT64* lda, MKL_INT64* info ) NOTHROW;

void ZTRCON_64( const char* norm, const char* uplo, const char* diag,
             const MKL_INT64* n, const MKL_Complex16* a, const MKL_INT64* lda,
             double* rcond, MKL_Complex16* work, double* rwork,
             MKL_INT64* info ) NOTHROW;
void ztrcon_64( const char* norm, const char* uplo, const char* diag,
             const MKL_INT64* n, const MKL_Complex16* a, const MKL_INT64* lda,
             double* rcond, MKL_Complex16* work, double* rwork,
             MKL_INT64* info ) NOTHROW;

void ZTREVC_64( const char* side, const char* howmny, const MKL_INT64* select,
             const MKL_INT64* n, MKL_Complex16* t, const MKL_INT64* ldt,
             MKL_Complex16* vl, const MKL_INT64* ldvl, MKL_Complex16* vr,
             const MKL_INT64* ldvr, const MKL_INT64* mm, MKL_INT64* m,
             MKL_Complex16* work, double* rwork, MKL_INT64* info ) NOTHROW;
void ztrevc_64( const char* side, const char* howmny, const MKL_INT64* select,
             const MKL_INT64* n, MKL_Complex16* t, const MKL_INT64* ldt,
             MKL_Complex16* vl, const MKL_INT64* ldvl, MKL_Complex16* vr,
             const MKL_INT64* ldvr, const MKL_INT64* mm, MKL_INT64* m,
             MKL_Complex16* work, double* rwork, MKL_INT64* info ) NOTHROW;

void ZTREXC_64( const char* compq, const MKL_INT64* n, MKL_Complex16* t,
             const MKL_INT64* ldt, MKL_Complex16* q, const MKL_INT64* ldq,
             const MKL_INT64* ifst, const MKL_INT64* ilst, MKL_INT64* info ) NOTHROW;
void ztrexc_64( const char* compq, const MKL_INT64* n, MKL_Complex16* t,
             const MKL_INT64* ldt, MKL_Complex16* q, const MKL_INT64* ldq,
             const MKL_INT64* ifst, const MKL_INT64* ilst, MKL_INT64* info ) NOTHROW;

void ZTRRFS_64( const char* uplo, const char* trans, const char* diag,
             const MKL_INT64* n, const MKL_INT64* nrhs, const MKL_Complex16* a,
             const MKL_INT64* lda, const MKL_Complex16* b, const MKL_INT64* ldb,
             const MKL_Complex16* x, const MKL_INT64* ldx, double* ferr,
             double* berr, MKL_Complex16* work, double* rwork, MKL_INT64* info ) NOTHROW;
void ztrrfs_64( const char* uplo, const char* trans, const char* diag,
             const MKL_INT64* n, const MKL_INT64* nrhs, const MKL_Complex16* a,
             const MKL_INT64* lda, const MKL_Complex16* b, const MKL_INT64* ldb,
             const MKL_Complex16* x, const MKL_INT64* ldx, double* ferr,
             double* berr, MKL_Complex16* work, double* rwork, MKL_INT64* info ) NOTHROW;

void ZTRSEN_64( const char* job, const char* compq, const MKL_INT64* select,
             const MKL_INT64* n, MKL_Complex16* t, const MKL_INT64* ldt,
             MKL_Complex16* q, const MKL_INT64* ldq, MKL_Complex16* w,
             MKL_INT64* m, double* s, double* sep, MKL_Complex16* work,
             const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;
void ztrsen_64( const char* job, const char* compq, const MKL_INT64* select,
             const MKL_INT64* n, MKL_Complex16* t, const MKL_INT64* ldt,
             MKL_Complex16* q, const MKL_INT64* ldq, MKL_Complex16* w,
             MKL_INT64* m, double* s, double* sep, MKL_Complex16* work,
             const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;

void ZTRSNA_64( const char* job, const char* howmny, const MKL_INT64* select,
             const MKL_INT64* n, const MKL_Complex16* t, const MKL_INT64* ldt,
             const MKL_Complex16* vl, const MKL_INT64* ldvl,
             const MKL_Complex16* vr, const MKL_INT64* ldvr, double* s,
             double* sep, const MKL_INT64* mm, MKL_INT64* m, MKL_Complex16* work,
             const MKL_INT64* ldwork, double* rwork, MKL_INT64* info ) NOTHROW;
void ztrsna_64( const char* job, const char* howmny, const MKL_INT64* select,
             const MKL_INT64* n, const MKL_Complex16* t, const MKL_INT64* ldt,
             const MKL_Complex16* vl, const MKL_INT64* ldvl,
             const MKL_Complex16* vr, const MKL_INT64* ldvr, double* s,
             double* sep, const MKL_INT64* mm, MKL_INT64* m, MKL_Complex16* work,
             const MKL_INT64* ldwork, double* rwork, MKL_INT64* info ) NOTHROW;

void ZTRSYL_64( const char* trana, const char* tranb, const MKL_INT64* isgn,
             const MKL_INT64* m, const MKL_INT64* n, const MKL_Complex16* a,
             const MKL_INT64* lda, const MKL_Complex16* b, const MKL_INT64* ldb,
             MKL_Complex16* c, const MKL_INT64* ldc, double* scale,
             MKL_INT64* info ) NOTHROW;
void ztrsyl_64( const char* trana, const char* tranb, const MKL_INT64* isgn,
             const MKL_INT64* m, const MKL_INT64* n, const MKL_Complex16* a,
             const MKL_INT64* lda, const MKL_Complex16* b, const MKL_INT64* ldb,
             MKL_Complex16* c, const MKL_INT64* ldc, double* scale,
             MKL_INT64* info ) NOTHROW;

void ZTRTI2_64( const char* uplo, const char* diag, const MKL_INT64* n,
             MKL_Complex16* a, const MKL_INT64* lda, MKL_INT64* info ) NOTHROW;
void ztrti2_64( const char* uplo, const char* diag, const MKL_INT64* n,
             MKL_Complex16* a, const MKL_INT64* lda, MKL_INT64* info ) NOTHROW;

void ZTRTRI_64( const char* uplo, const char* diag, const MKL_INT64* n,
             MKL_Complex16* a, const MKL_INT64* lda, MKL_INT64* info ) NOTHROW;
void ztrtri_64( const char* uplo, const char* diag, const MKL_INT64* n,
             MKL_Complex16* a, const MKL_INT64* lda, MKL_INT64* info ) NOTHROW;

void ZTRTRS_64( const char* uplo, const char* trans, const char* diag,
             const MKL_INT64* n, const MKL_INT64* nrhs, const MKL_Complex16* a,
             const MKL_INT64* lda, MKL_Complex16* b, const MKL_INT64* ldb,
             MKL_INT64* info ) NOTHROW;
void ztrtrs_64( const char* uplo, const char* trans, const char* diag,
             const MKL_INT64* n, const MKL_INT64* nrhs, const MKL_Complex16* a,
             const MKL_INT64* lda, MKL_Complex16* b, const MKL_INT64* ldb,
             MKL_INT64* info ) NOTHROW;

void ZTRTTF_64( const char* transr, const char* uplo, const MKL_INT64* n,
             const MKL_Complex16* a, const MKL_INT64* lda, MKL_Complex16* arf,
             MKL_INT64* info ) NOTHROW;
void ztrttf_64( const char* transr, const char* uplo, const MKL_INT64* n,
             const MKL_Complex16* a, const MKL_INT64* lda, MKL_Complex16* arf,
             MKL_INT64* info ) NOTHROW;

void ZTRTTP_64( const char* uplo, const MKL_INT64* n, const MKL_Complex16* a,
             const MKL_INT64* lda, MKL_Complex16* ap, MKL_INT64* info ) NOTHROW;
void ztrttp_64( const char* uplo, const MKL_INT64* n, const MKL_Complex16* a,
             const MKL_INT64* lda, MKL_Complex16* ap, MKL_INT64* info ) NOTHROW;

void ZTZRQF_64( const MKL_INT64* m, const MKL_INT64* n, MKL_Complex16* a,
             const MKL_INT64* lda, MKL_Complex16* tau, MKL_INT64* info ) NOTHROW;
void ztzrqf_64( const MKL_INT64* m, const MKL_INT64* n, MKL_Complex16* a,
             const MKL_INT64* lda, MKL_Complex16* tau, MKL_INT64* info ) NOTHROW;

void ZTZRZF_64( const MKL_INT64* m, const MKL_INT64* n, MKL_Complex16* a,
             const MKL_INT64* lda, MKL_Complex16* tau, MKL_Complex16* work,
             const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;
void ztzrzf_64( const MKL_INT64* m, const MKL_INT64* n, MKL_Complex16* a,
             const MKL_INT64* lda, MKL_Complex16* tau, MKL_Complex16* work,
             const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;

void ZUNG2L_64( const MKL_INT64* m, const MKL_INT64* n, const MKL_INT64* k,
             MKL_Complex16* a, const MKL_INT64* lda, const MKL_Complex16* tau,
             MKL_Complex16* work, MKL_INT64* info ) NOTHROW;
void zung2l_64( const MKL_INT64* m, const MKL_INT64* n, const MKL_INT64* k,
             MKL_Complex16* a, const MKL_INT64* lda, const MKL_Complex16* tau,
             MKL_Complex16* work, MKL_INT64* info ) NOTHROW;

void ZUNG2R_64( const MKL_INT64* m, const MKL_INT64* n, const MKL_INT64* k,
             MKL_Complex16* a, const MKL_INT64* lda, const MKL_Complex16* tau,
             MKL_Complex16* work, MKL_INT64* info ) NOTHROW;
void zung2r_64( const MKL_INT64* m, const MKL_INT64* n, const MKL_INT64* k,
             MKL_Complex16* a, const MKL_INT64* lda, const MKL_Complex16* tau,
             MKL_Complex16* work, MKL_INT64* info ) NOTHROW;

void ZUNGBR_64( const char* vect, const MKL_INT64* m, const MKL_INT64* n,
             const MKL_INT64* k, MKL_Complex16* a, const MKL_INT64* lda,
             const MKL_Complex16* tau, MKL_Complex16* work,
             const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;
void zungbr_64( const char* vect, const MKL_INT64* m, const MKL_INT64* n,
             const MKL_INT64* k, MKL_Complex16* a, const MKL_INT64* lda,
             const MKL_Complex16* tau, MKL_Complex16* work,
             const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;

void ZUNGHR_64( const MKL_INT64* n, const MKL_INT64* ilo, const MKL_INT64* ihi,
             MKL_Complex16* a, const MKL_INT64* lda, const MKL_Complex16* tau,
             MKL_Complex16* work, const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;
void zunghr_64( const MKL_INT64* n, const MKL_INT64* ilo, const MKL_INT64* ihi,
             MKL_Complex16* a, const MKL_INT64* lda, const MKL_Complex16* tau,
             MKL_Complex16* work, const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;

void ZUNGL2_64( const MKL_INT64* m, const MKL_INT64* n, const MKL_INT64* k,
             MKL_Complex16* a, const MKL_INT64* lda, const MKL_Complex16* tau,
             MKL_Complex16* work, MKL_INT64* info ) NOTHROW;
void zungl2_64( const MKL_INT64* m, const MKL_INT64* n, const MKL_INT64* k,
             MKL_Complex16* a, const MKL_INT64* lda, const MKL_Complex16* tau,
             MKL_Complex16* work, MKL_INT64* info ) NOTHROW;

void ZUNGLQ_64( const MKL_INT64* m, const MKL_INT64* n, const MKL_INT64* k,
             MKL_Complex16* a, const MKL_INT64* lda, const MKL_Complex16* tau,
             MKL_Complex16* work, const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;
void zunglq_64( const MKL_INT64* m, const MKL_INT64* n, const MKL_INT64* k,
             MKL_Complex16* a, const MKL_INT64* lda, const MKL_Complex16* tau,
             MKL_Complex16* work, const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;

void ZUNGQL_64( const MKL_INT64* m, const MKL_INT64* n, const MKL_INT64* k,
             MKL_Complex16* a, const MKL_INT64* lda, const MKL_Complex16* tau,
             MKL_Complex16* work, const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;
void zungql_64( const MKL_INT64* m, const MKL_INT64* n, const MKL_INT64* k,
             MKL_Complex16* a, const MKL_INT64* lda, const MKL_Complex16* tau,
             MKL_Complex16* work, const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;

void ZUNGQR_64( const MKL_INT64* m, const MKL_INT64* n, const MKL_INT64* k,
             MKL_Complex16* a, const MKL_INT64* lda, const MKL_Complex16* tau,
             MKL_Complex16* work, const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;
void zungqr_64( const MKL_INT64* m, const MKL_INT64* n, const MKL_INT64* k,
             MKL_Complex16* a, const MKL_INT64* lda, const MKL_Complex16* tau,
             MKL_Complex16* work, const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;

void ZUNGR2_64( const MKL_INT64* m, const MKL_INT64* n, const MKL_INT64* k,
             MKL_Complex16* a, const MKL_INT64* lda, const MKL_Complex16* tau,
             MKL_Complex16* work, MKL_INT64* info ) NOTHROW;
void zungr2_64( const MKL_INT64* m, const MKL_INT64* n, const MKL_INT64* k,
             MKL_Complex16* a, const MKL_INT64* lda, const MKL_Complex16* tau,
             MKL_Complex16* work, MKL_INT64* info ) NOTHROW;

void ZUNGRQ_64( const MKL_INT64* m, const MKL_INT64* n, const MKL_INT64* k,
             MKL_Complex16* a, const MKL_INT64* lda, const MKL_Complex16* tau,
             MKL_Complex16* work, const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;
void zungrq_64( const MKL_INT64* m, const MKL_INT64* n, const MKL_INT64* k,
             MKL_Complex16* a, const MKL_INT64* lda, const MKL_Complex16* tau,
             MKL_Complex16* work, const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;

void ZUNGTR_64( const char* uplo, const MKL_INT64* n, MKL_Complex16* a,
             const MKL_INT64* lda, const MKL_Complex16* tau, MKL_Complex16* work,
             const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;
void zungtr_64( const char* uplo, const MKL_INT64* n, MKL_Complex16* a,
             const MKL_INT64* lda, const MKL_Complex16* tau, MKL_Complex16* work,
             const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;

void ZUNM2L_64( const char* side, const char* trans, const MKL_INT64* m,
             const MKL_INT64* n, const MKL_INT64* k, const MKL_Complex16* a,
             const MKL_INT64* lda, const MKL_Complex16* tau, MKL_Complex16* c,
             const MKL_INT64* ldc, MKL_Complex16* work, MKL_INT64* info ) NOTHROW;
void zunm2l_64( const char* side, const char* trans, const MKL_INT64* m,
             const MKL_INT64* n, const MKL_INT64* k, const MKL_Complex16* a,
             const MKL_INT64* lda, const MKL_Complex16* tau, MKL_Complex16* c,
             const MKL_INT64* ldc, MKL_Complex16* work, MKL_INT64* info ) NOTHROW;

void ZUNM2R_64( const char* side, const char* trans, const MKL_INT64* m,
             const MKL_INT64* n, const MKL_INT64* k, const MKL_Complex16* a,
             const MKL_INT64* lda, const MKL_Complex16* tau, MKL_Complex16* c,
             const MKL_INT64* ldc, MKL_Complex16* work, MKL_INT64* info ) NOTHROW;
void zunm2r_64( const char* side, const char* trans, const MKL_INT64* m,
             const MKL_INT64* n, const MKL_INT64* k, const MKL_Complex16* a,
             const MKL_INT64* lda, const MKL_Complex16* tau, MKL_Complex16* c,
             const MKL_INT64* ldc, MKL_Complex16* work, MKL_INT64* info ) NOTHROW;

void ZUNMBR_64( const char* vect, const char* side, const char* trans,
             const MKL_INT64* m, const MKL_INT64* n, const MKL_INT64* k,
             const MKL_Complex16* a, const MKL_INT64* lda,
             const MKL_Complex16* tau, MKL_Complex16* c, const MKL_INT64* ldc,
             MKL_Complex16* work, const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;
void zunmbr_64( const char* vect, const char* side, const char* trans,
             const MKL_INT64* m, const MKL_INT64* n, const MKL_INT64* k,
             const MKL_Complex16* a, const MKL_INT64* lda,
             const MKL_Complex16* tau, MKL_Complex16* c, const MKL_INT64* ldc,
             MKL_Complex16* work, const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;

void ZUNMHR_64( const char* side, const char* trans, const MKL_INT64* m,
             const MKL_INT64* n, const MKL_INT64* ilo, const MKL_INT64* ihi,
             const MKL_Complex16* a, const MKL_INT64* lda,
             const MKL_Complex16* tau, MKL_Complex16* c, const MKL_INT64* ldc,
             MKL_Complex16* work, const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;
void zunmhr_64( const char* side, const char* trans, const MKL_INT64* m,
             const MKL_INT64* n, const MKL_INT64* ilo, const MKL_INT64* ihi,
             const MKL_Complex16* a, const MKL_INT64* lda,
             const MKL_Complex16* tau, MKL_Complex16* c, const MKL_INT64* ldc,
             MKL_Complex16* work, const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;

void ZUNML2_64( const char* side, const char* trans, const MKL_INT64* m,
             const MKL_INT64* n, const MKL_INT64* k, const MKL_Complex16* a,
             const MKL_INT64* lda, const MKL_Complex16* tau, MKL_Complex16* c,
             const MKL_INT64* ldc, MKL_Complex16* work, MKL_INT64* info ) NOTHROW;
void zunml2_64( const char* side, const char* trans, const MKL_INT64* m,
             const MKL_INT64* n, const MKL_INT64* k, const MKL_Complex16* a,
             const MKL_INT64* lda, const MKL_Complex16* tau, MKL_Complex16* c,
             const MKL_INT64* ldc, MKL_Complex16* work, MKL_INT64* info ) NOTHROW;

void ZUNMLQ_64( const char* side, const char* trans, const MKL_INT64* m,
             const MKL_INT64* n, const MKL_INT64* k, const MKL_Complex16* a,
             const MKL_INT64* lda, const MKL_Complex16* tau, MKL_Complex16* c,
             const MKL_INT64* ldc, MKL_Complex16* work, const MKL_INT64* lwork,
             MKL_INT64* info ) NOTHROW;
void zunmlq_64( const char* side, const char* trans, const MKL_INT64* m,
             const MKL_INT64* n, const MKL_INT64* k, const MKL_Complex16* a,
             const MKL_INT64* lda, const MKL_Complex16* tau, MKL_Complex16* c,
             const MKL_INT64* ldc, MKL_Complex16* work, const MKL_INT64* lwork,
             MKL_INT64* info ) NOTHROW;

void ZUNMQL_64( const char* side, const char* trans, const MKL_INT64* m,
             const MKL_INT64* n, const MKL_INT64* k, const MKL_Complex16* a,
             const MKL_INT64* lda, const MKL_Complex16* tau, MKL_Complex16* c,
             const MKL_INT64* ldc, MKL_Complex16* work, const MKL_INT64* lwork,
             MKL_INT64* info ) NOTHROW;
void zunmql_64( const char* side, const char* trans, const MKL_INT64* m,
             const MKL_INT64* n, const MKL_INT64* k, const MKL_Complex16* a,
             const MKL_INT64* lda, const MKL_Complex16* tau, MKL_Complex16* c,
             const MKL_INT64* ldc, MKL_Complex16* work, const MKL_INT64* lwork,
             MKL_INT64* info ) NOTHROW;

void ZUNMQR_64( const char* side, const char* trans, const MKL_INT64* m,
             const MKL_INT64* n, const MKL_INT64* k, const MKL_Complex16* a,
             const MKL_INT64* lda, const MKL_Complex16* tau, MKL_Complex16* c,
             const MKL_INT64* ldc, MKL_Complex16* work, const MKL_INT64* lwork,
             MKL_INT64* info ) NOTHROW;
void zunmqr_64( const char* side, const char* trans, const MKL_INT64* m,
             const MKL_INT64* n, const MKL_INT64* k, const MKL_Complex16* a,
             const MKL_INT64* lda, const MKL_Complex16* tau, MKL_Complex16* c,
             const MKL_INT64* ldc, MKL_Complex16* work, const MKL_INT64* lwork,
             MKL_INT64* info ) NOTHROW;

void ZUNMR2_64( const char* side, const char* trans, const MKL_INT64* m,
             const MKL_INT64* n, const MKL_INT64* k, const MKL_Complex16* a,
             const MKL_INT64* lda, const MKL_Complex16* tau, MKL_Complex16* c,
             const MKL_INT64* ldc, MKL_Complex16* work, MKL_INT64* info ) NOTHROW;
void zunmr2_64( const char* side, const char* trans, const MKL_INT64* m,
             const MKL_INT64* n, const MKL_INT64* k, const MKL_Complex16* a,
             const MKL_INT64* lda, const MKL_Complex16* tau, MKL_Complex16* c,
             const MKL_INT64* ldc, MKL_Complex16* work, MKL_INT64* info ) NOTHROW;

void ZUNMR3_64( const char* side, const char* trans, const MKL_INT64* m,
             const MKL_INT64* n, const MKL_INT64* k, const MKL_INT64* l,
             const MKL_Complex16* a, const MKL_INT64* lda,
             const MKL_Complex16* tau, MKL_Complex16* c, const MKL_INT64* ldc,
             MKL_Complex16* work, MKL_INT64* info ) NOTHROW;
void zunmr3_64( const char* side, const char* trans, const MKL_INT64* m,
             const MKL_INT64* n, const MKL_INT64* k, const MKL_INT64* l,
             const MKL_Complex16* a, const MKL_INT64* lda,
             const MKL_Complex16* tau, MKL_Complex16* c, const MKL_INT64* ldc,
             MKL_Complex16* work, MKL_INT64* info ) NOTHROW;

void ZUNMRQ_64( const char* side, const char* trans, const MKL_INT64* m,
             const MKL_INT64* n, const MKL_INT64* k, const MKL_Complex16* a,
             const MKL_INT64* lda, const MKL_Complex16* tau, MKL_Complex16* c,
             const MKL_INT64* ldc, MKL_Complex16* work, const MKL_INT64* lwork,
             MKL_INT64* info ) NOTHROW;
void zunmrq_64( const char* side, const char* trans, const MKL_INT64* m,
             const MKL_INT64* n, const MKL_INT64* k, const MKL_Complex16* a,
             const MKL_INT64* lda, const MKL_Complex16* tau, MKL_Complex16* c,
             const MKL_INT64* ldc, MKL_Complex16* work, const MKL_INT64* lwork,
             MKL_INT64* info ) NOTHROW;

void ZUNMRZ_64( const char* side, const char* trans, const MKL_INT64* m,
             const MKL_INT64* n, const MKL_INT64* k, const MKL_INT64* l,
             const MKL_Complex16* a, const MKL_INT64* lda,
             const MKL_Complex16* tau, MKL_Complex16* c, const MKL_INT64* ldc,
             MKL_Complex16* work, const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;
void zunmrz_64( const char* side, const char* trans, const MKL_INT64* m,
             const MKL_INT64* n, const MKL_INT64* k, const MKL_INT64* l,
             const MKL_Complex16* a, const MKL_INT64* lda,
             const MKL_Complex16* tau, MKL_Complex16* c, const MKL_INT64* ldc,
             MKL_Complex16* work, const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;

void ZUNMTR_64( const char* side, const char* uplo, const char* trans,
             const MKL_INT64* m, const MKL_INT64* n, const MKL_Complex16* a,
             const MKL_INT64* lda, const MKL_Complex16* tau, MKL_Complex16* c,
             const MKL_INT64* ldc, MKL_Complex16* work, const MKL_INT64* lwork,
             MKL_INT64* info ) NOTHROW;
void zunmtr_64( const char* side, const char* uplo, const char* trans,
             const MKL_INT64* m, const MKL_INT64* n, const MKL_Complex16* a,
             const MKL_INT64* lda, const MKL_Complex16* tau, MKL_Complex16* c,
             const MKL_INT64* ldc, MKL_Complex16* work, const MKL_INT64* lwork,
             MKL_INT64* info ) NOTHROW;

void ZUPGTR_64( const char* uplo, const MKL_INT64* n, const MKL_Complex16* ap,
             const MKL_Complex16* tau, MKL_Complex16* q, const MKL_INT64* ldq,
             MKL_Complex16* work, MKL_INT64* info ) NOTHROW;
void zupgtr_64( const char* uplo, const MKL_INT64* n, const MKL_Complex16* ap,
             const MKL_Complex16* tau, MKL_Complex16* q, const MKL_INT64* ldq,
             MKL_Complex16* work, MKL_INT64* info ) NOTHROW;

void ZUPMTR_64( const char* side, const char* uplo, const char* trans,
             const MKL_INT64* m, const MKL_INT64* n, const MKL_Complex16* ap,
             const MKL_Complex16* tau, MKL_Complex16* c, const MKL_INT64* ldc,
             MKL_Complex16* work, MKL_INT64* info ) NOTHROW;
void zupmtr_64( const char* side, const char* uplo, const char* trans,
             const MKL_INT64* m, const MKL_INT64* n, const MKL_Complex16* ap,
             const MKL_Complex16* tau, MKL_Complex16* c, const MKL_INT64* ldc,
             MKL_Complex16* work, MKL_INT64* info ) NOTHROW;


/* C-declaration of following routines is added in oneMKL 11.2 */

void CGEQRT2_64( const MKL_INT64* m, const MKL_INT64* n, MKL_Complex8* a,
              const MKL_INT64* lda, MKL_Complex8* t, const MKL_INT64* ldt,
              MKL_INT64* info ) NOTHROW;
void cgeqrt2_64( const MKL_INT64* m, const MKL_INT64* n, MKL_Complex8* a,
              const MKL_INT64* lda, MKL_Complex8* t, const MKL_INT64* ldt,
              MKL_INT64* info ) NOTHROW;

void CHESWAPR_64( const char* uplo, const MKL_INT64* n, MKL_Complex8* a,
               const MKL_INT64* lda, const MKL_INT64* i1, const MKL_INT64* i2 ) NOTHROW;
void cheswapr_64( const char* uplo, const MKL_INT64* n, MKL_Complex8* a,
               const MKL_INT64* lda, const MKL_INT64* i1, const MKL_INT64* i2 ) NOTHROW;

void CHETRI2_64( const char* uplo, const MKL_INT64* n, MKL_Complex8* a,
              const MKL_INT64* lda, const MKL_INT64* ipiv, MKL_Complex8* work,
              const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;
void chetri2_64( const char* uplo, const MKL_INT64* n, MKL_Complex8* a,
              const MKL_INT64* lda, const MKL_INT64* ipiv, MKL_Complex8* work,
              const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;

void CHETRI2X_64( const char* uplo, const MKL_INT64* n, MKL_Complex8* a,
               const MKL_INT64* lda, const MKL_INT64* ipiv, MKL_Complex8* work,
               const MKL_INT64* nb, MKL_INT64* info ) NOTHROW;
void chetri2x_64( const char* uplo, const MKL_INT64* n, MKL_Complex8* a,
               const MKL_INT64* lda, const MKL_INT64* ipiv, MKL_Complex8* work,
               const MKL_INT64* nb, MKL_INT64* info ) NOTHROW;

void CLA_GBAMV_64( const MKL_INT64* trans, const MKL_INT64* m, const MKL_INT64* n,
                const MKL_INT64* kl, const MKL_INT64* ku, const float* alpha,
                const MKL_Complex8* ab, const MKL_INT64* ldab,
                const MKL_Complex8* x, const MKL_INT64* incx, const float* beta,
                float* y, const MKL_INT64* incy ) NOTHROW;
void cla_gbamv_64( const MKL_INT64* trans, const MKL_INT64* m, const MKL_INT64* n,
                const MKL_INT64* kl, const MKL_INT64* ku, const float* alpha,
                const MKL_Complex8* ab, const MKL_INT64* ldab,
                const MKL_Complex8* x, const MKL_INT64* incx, const float* beta,
                float* y, const MKL_INT64* incy ) NOTHROW;

float CLA_GBRCOND_C_64( const char* trans, const MKL_INT64* n, const MKL_INT64* kl,
                     const MKL_INT64* ku, const MKL_Complex8* ab,
                     const MKL_INT64* ldab, const MKL_Complex8* afb,
                     const MKL_INT64* ldafb, const MKL_INT64* ipiv,
                     const float* c, const MKL_INT64* capply, MKL_INT64* info,
                     MKL_Complex8* work, float* rwork ) NOTHROW;
float cla_gbrcond_c_64( const char* trans, const MKL_INT64* n, const MKL_INT64* kl,
                     const MKL_INT64* ku, const MKL_Complex8* ab,
                     const MKL_INT64* ldab, const MKL_Complex8* afb,
                     const MKL_INT64* ldafb, const MKL_INT64* ipiv,
                     const float* c, const MKL_INT64* capply, MKL_INT64* info,
                     MKL_Complex8* work, float* rwork ) NOTHROW;

float CLA_GBRCOND_X_64( const char* trans, const MKL_INT64* n, const MKL_INT64* kl,
                     const MKL_INT64* ku, const MKL_Complex8* ab,
                     const MKL_INT64* ldab, const MKL_Complex8* afb,
                     const MKL_INT64* ldafb, const MKL_INT64* ipiv,
                     const MKL_Complex8* x, MKL_INT64* info, MKL_Complex8* work,
                     float* rwork ) NOTHROW;
float cla_gbrcond_x_64( const char* trans, const MKL_INT64* n, const MKL_INT64* kl,
                     const MKL_INT64* ku, const MKL_Complex8* ab,
                     const MKL_INT64* ldab, const MKL_Complex8* afb,
                     const MKL_INT64* ldafb, const MKL_INT64* ipiv,
                     const MKL_Complex8* x, MKL_INT64* info, MKL_Complex8* work,
                     float* rwork ) NOTHROW;

void CLA_GBRFSX_EXTENDED_64( const MKL_INT64* prec_type,
                          const MKL_INT64* trans_type, const MKL_INT64* n,
                          const MKL_INT64* kl, const MKL_INT64* ku,
                          const MKL_INT64* nrhs, const MKL_Complex8* ab,
                          const MKL_INT64* ldab, const MKL_Complex8* afb,
                          const MKL_INT64* ldafb, const MKL_INT64* ipiv,
                          const MKL_INT64* colequ, const float* c,
                          const MKL_Complex8* b, const MKL_INT64* ldb,
                          MKL_Complex8* y, const MKL_INT64* ldy,
                          float* berr_out, const MKL_INT64* n_norms,
                          float* err_bnds_norm, float* err_bnds_comp,
                          MKL_Complex8* res, float* ayb, MKL_Complex8* dy,
                          MKL_Complex8* y_tail, const float* rcond,
                          const MKL_INT64* ithresh, const float* rthresh,
                          const float* dz_ub, const MKL_INT64* ignore_cwise,
                          MKL_INT64* info ) NOTHROW;
void cla_gbrfsx_extended_64( const MKL_INT64* prec_type,
                          const MKL_INT64* trans_type, const MKL_INT64* n,
                          const MKL_INT64* kl, const MKL_INT64* ku,
                          const MKL_INT64* nrhs, const MKL_Complex8* ab,
                          const MKL_INT64* ldab, const MKL_Complex8* afb,
                          const MKL_INT64* ldafb, const MKL_INT64* ipiv,
                          const MKL_INT64* colequ, const float* c,
                          const MKL_Complex8* b, const MKL_INT64* ldb,
                          MKL_Complex8* y, const MKL_INT64* ldy,
                          float* berr_out, const MKL_INT64* n_norms,
                          float* err_bnds_norm, float* err_bnds_comp,
                          MKL_Complex8* res, float* ayb, MKL_Complex8* dy,
                          MKL_Complex8* y_tail, const float* rcond,
                          const MKL_INT64* ithresh, const float* rthresh,
                          const float* dz_ub, const MKL_INT64* ignore_cwise,
                          MKL_INT64* info ) NOTHROW;

float CLA_GBRPVGRW_64( const MKL_INT64* n, const MKL_INT64* kl, const MKL_INT64* ku,
                    const MKL_INT64* ncols, const MKL_Complex8* ab,
                    const MKL_INT64* ldab, const MKL_Complex8* afb,
                    const MKL_INT64* ldafb ) NOTHROW;
float cla_gbrpvgrw_64( const MKL_INT64* n, const MKL_INT64* kl, const MKL_INT64* ku,
                    const MKL_INT64* ncols, const MKL_Complex8* ab,
                    const MKL_INT64* ldab, const MKL_Complex8* afb,
                    const MKL_INT64* ldafb ) NOTHROW;

void CLA_GEAMV_64( const MKL_INT64* trans, const MKL_INT64* m, const MKL_INT64* n,
                const float* alpha, const MKL_Complex8* a, const MKL_INT64* lda,
                const MKL_Complex8* x, const MKL_INT64* incx, const float* beta,
                float* y, const MKL_INT64* incy ) NOTHROW;
void cla_geamv_64( const MKL_INT64* trans, const MKL_INT64* m, const MKL_INT64* n,
                const float* alpha, const MKL_Complex8* a, const MKL_INT64* lda,
                const MKL_Complex8* x, const MKL_INT64* incx, const float* beta,
                float* y, const MKL_INT64* incy ) NOTHROW;

float CLA_GERCOND_C_64( const char* trans, const MKL_INT64* n,
                     const MKL_Complex8* a, const MKL_INT64* lda,
                     const MKL_Complex8* af, const MKL_INT64* ldaf,
                     const MKL_INT64* ipiv, const float* c,
                     const MKL_INT64* capply, MKL_INT64* info, MKL_Complex8* work,
                     float* rwork ) NOTHROW;
float cla_gercond_c_64( const char* trans, const MKL_INT64* n,
                     const MKL_Complex8* a, const MKL_INT64* lda,
                     const MKL_Complex8* af, const MKL_INT64* ldaf,
                     const MKL_INT64* ipiv, const float* c,
                     const MKL_INT64* capply, MKL_INT64* info, MKL_Complex8* work,
                     float* rwork ) NOTHROW;

float CLA_GERCOND_X_64( const char* trans, const MKL_INT64* n,
                     const MKL_Complex8* a, const MKL_INT64* lda,
                     const MKL_Complex8* af, const MKL_INT64* ldaf,
                     const MKL_INT64* ipiv, const MKL_Complex8* x,
                     MKL_INT64* info, MKL_Complex8* work, float* rwork ) NOTHROW;
float cla_gercond_x_64( const char* trans, const MKL_INT64* n,
                     const MKL_Complex8* a, const MKL_INT64* lda,
                     const MKL_Complex8* af, const MKL_INT64* ldaf,
                     const MKL_INT64* ipiv, const MKL_Complex8* x,
                     MKL_INT64* info, MKL_Complex8* work, float* rwork ) NOTHROW;

void CLA_GERFSX_EXTENDED_64( const MKL_INT64* prec_type,
                          const MKL_INT64* trans_type, const MKL_INT64* n,
                          const MKL_INT64* nrhs, const MKL_Complex8* a,
                          const MKL_INT64* lda, const MKL_Complex8* af,
                          const MKL_INT64* ldaf, const MKL_INT64* ipiv,
                          const MKL_INT64* colequ, const float* c,
                          const MKL_Complex8* b, const MKL_INT64* ldb,
                          MKL_Complex8* y, const MKL_INT64* ldy,
                          float* berr_out, const MKL_INT64* n_norms,
                          float* errs_n, float* errs_c, MKL_Complex8* res,
                          float* ayb, MKL_Complex8* dy, MKL_Complex8* y_tail,
                          const float* rcond, const MKL_INT64* ithresh,
                          const float* rthresh, const float* dz_ub,
                          const MKL_INT64* ignore_cwise, MKL_INT64* info ) NOTHROW;
void cla_gerfsx_extended_64( const MKL_INT64* prec_type,
                          const MKL_INT64* trans_type, const MKL_INT64* n,
                          const MKL_INT64* nrhs, const MKL_Complex8* a,
                          const MKL_INT64* lda, const MKL_Complex8* af,
                          const MKL_INT64* ldaf, const MKL_INT64* ipiv,
                          const MKL_INT64* colequ, const float* c,
                          const MKL_Complex8* b, const MKL_INT64* ldb,
                          MKL_Complex8* y, const MKL_INT64* ldy,
                          float* berr_out, const MKL_INT64* n_norms,
                          float* errs_n, float* errs_c, MKL_Complex8* res,
                          float* ayb, MKL_Complex8* dy, MKL_Complex8* y_tail,
                          const float* rcond, const MKL_INT64* ithresh,
                          const float* rthresh, const float* dz_ub,
                          const MKL_INT64* ignore_cwise, MKL_INT64* info ) NOTHROW;

float CLA_GERPVGRW_64( const MKL_INT64* n, const MKL_INT64* ncols,
                    const MKL_Complex8* a, const MKL_INT64* lda,
                    const MKL_Complex8* af, const MKL_INT64* ldaf ) NOTHROW;
float cla_gerpvgrw_64( const MKL_INT64* n, const MKL_INT64* ncols,
                    const MKL_Complex8* a, const MKL_INT64* lda,
                    const MKL_Complex8* af, const MKL_INT64* ldaf ) NOTHROW;

void CLA_HEAMV_64( const MKL_INT64* uplo, const MKL_INT64* n, const float* alpha,
                const MKL_Complex8* a, const MKL_INT64* lda,
                const MKL_Complex8* x, const MKL_INT64* incx, const float* beta,
                float* y, const MKL_INT64* incy ) NOTHROW;
void cla_heamv_64( const MKL_INT64* uplo, const MKL_INT64* n, const float* alpha,
                const MKL_Complex8* a, const MKL_INT64* lda,
                const MKL_Complex8* x, const MKL_INT64* incx, const float* beta,
                float* y, const MKL_INT64* incy ) NOTHROW;

float CLA_HERCOND_C_64( const char* uplo, const MKL_INT64* n,
                     const MKL_Complex8* a, const MKL_INT64* lda,
                     const MKL_Complex8* af, const MKL_INT64* ldaf,
                     const MKL_INT64* ipiv, const float* c,
                     const MKL_INT64* capply, MKL_INT64* info, MKL_Complex8* work,
                     float* rwork ) NOTHROW;
float cla_hercond_c_64( const char* uplo, const MKL_INT64* n,
                     const MKL_Complex8* a, const MKL_INT64* lda,
                     const MKL_Complex8* af, const MKL_INT64* ldaf,
                     const MKL_INT64* ipiv, const float* c,
                     const MKL_INT64* capply, MKL_INT64* info, MKL_Complex8* work,
                     float* rwork ) NOTHROW;

float CLA_HERCOND_X_64( const char* uplo, const MKL_INT64* n,
                     const MKL_Complex8* a, const MKL_INT64* lda,
                     const MKL_Complex8* af, const MKL_INT64* ldaf,
                     const MKL_INT64* ipiv, const MKL_Complex8* x,
                     MKL_INT64* info, MKL_Complex8* work, float* rwork ) NOTHROW;
float cla_hercond_x_64( const char* uplo, const MKL_INT64* n,
                     const MKL_Complex8* a, const MKL_INT64* lda,
                     const MKL_Complex8* af, const MKL_INT64* ldaf,
                     const MKL_INT64* ipiv, const MKL_Complex8* x,
                     MKL_INT64* info, MKL_Complex8* work, float* rwork ) NOTHROW;

void CLA_HERFSX_EXTENDED_64( const MKL_INT64* prec_type, const char* uplo,
                          const MKL_INT64* n, const MKL_INT64* nrhs,
                          const MKL_Complex8* a, const MKL_INT64* lda,
                          const MKL_Complex8* af, const MKL_INT64* ldaf,
                          const MKL_INT64* ipiv, const MKL_INT64* colequ,
                          const float* c, const MKL_Complex8* b,
                          const MKL_INT64* ldb, MKL_Complex8* y,
                          const MKL_INT64* ldy, float* berr_out,
                          const MKL_INT64* n_norms, float* err_bnds_norm,
                          float* err_bnds_comp, MKL_Complex8* res, float* ayb,
                          MKL_Complex8* dy, MKL_Complex8* y_tail,
                          const float* rcond, const MKL_INT64* ithresh,
                          const float* rthresh, const float* dz_ub,
                          const MKL_INT64* ignore_cwise, MKL_INT64* info ) NOTHROW;
void cla_herfsx_extended_64( const MKL_INT64* prec_type, const char* uplo,
                          const MKL_INT64* n, const MKL_INT64* nrhs,
                          const MKL_Complex8* a, const MKL_INT64* lda,
                          const MKL_Complex8* af, const MKL_INT64* ldaf,
                          const MKL_INT64* ipiv, const MKL_INT64* colequ,
                          const float* c, const MKL_Complex8* b,
                          const MKL_INT64* ldb, MKL_Complex8* y,
                          const MKL_INT64* ldy, float* berr_out,
                          const MKL_INT64* n_norms, float* err_bnds_norm,
                          float* err_bnds_comp, MKL_Complex8* res, float* ayb,
                          MKL_Complex8* dy, MKL_Complex8* y_tail,
                          const float* rcond, const MKL_INT64* ithresh,
                          const float* rthresh, const float* dz_ub,
                          const MKL_INT64* ignore_cwise, MKL_INT64* info ) NOTHROW;

float CLA_HERPVGRW_64( const char* uplo, const MKL_INT64* n, const MKL_INT64* info,
                    const MKL_Complex8* a, const MKL_INT64* lda,
                    const MKL_Complex8* af, const MKL_INT64* ldaf,
                    const MKL_INT64* ipiv, float* work ) NOTHROW;
float cla_herpvgrw_64( const char* uplo, const MKL_INT64* n, const MKL_INT64* info,
                    const MKL_Complex8* a, const MKL_INT64* lda,
                    const MKL_Complex8* af, const MKL_INT64* ldaf,
                    const MKL_INT64* ipiv, float* work ) NOTHROW;

void CLA_LIN_BERR_64( const MKL_INT64* n, const MKL_INT64* nz, const MKL_INT64* nrhs,
                   const MKL_Complex8* res, const float* ayb, float* berr ) NOTHROW;
void cla_lin_berr_64( const MKL_INT64* n, const MKL_INT64* nz, const MKL_INT64* nrhs,
                   const MKL_Complex8* res, const float* ayb, float* berr ) NOTHROW;

float CLA_PORCOND_C_64( const char* uplo, const MKL_INT64* n,
                     const MKL_Complex8* a, const MKL_INT64* lda,
                     const MKL_Complex8* af, const MKL_INT64* ldaf,
                     const float* c, const MKL_INT64* capply, MKL_INT64* info,
                     MKL_Complex8* work, float* rwork ) NOTHROW;
float cla_porcond_c_64( const char* uplo, const MKL_INT64* n,
                     const MKL_Complex8* a, const MKL_INT64* lda,
                     const MKL_Complex8* af, const MKL_INT64* ldaf,
                     const float* c, const MKL_INT64* capply, MKL_INT64* info,
                     MKL_Complex8* work, float* rwork ) NOTHROW;

float CLA_PORCOND_X_64( const char* uplo, const MKL_INT64* n,
                     const MKL_Complex8* a, const MKL_INT64* lda,
                     const MKL_Complex8* af, const MKL_INT64* ldaf,
                     const MKL_Complex8* x, MKL_INT64* info, MKL_Complex8* work,
                     float* rwork ) NOTHROW;
float cla_porcond_x_64( const char* uplo, const MKL_INT64* n,
                     const MKL_Complex8* a, const MKL_INT64* lda,
                     const MKL_Complex8* af, const MKL_INT64* ldaf,
                     const MKL_Complex8* x, MKL_INT64* info, MKL_Complex8* work,
                     float* rwork ) NOTHROW;

void CLA_PORFSX_EXTENDED_64( const MKL_INT64* prec_type, const char* uplo,
                          const MKL_INT64* n, const MKL_INT64* nrhs,
                          const MKL_Complex8* a, const MKL_INT64* lda,
                          const MKL_Complex8* af, const MKL_INT64* ldaf,
                          const MKL_INT64* colequ, const float* c,
                          const MKL_Complex8* b, const MKL_INT64* ldb,
                          MKL_Complex8* y, const MKL_INT64* ldy,
                          float* berr_out, const MKL_INT64* n_norms,
                          float* err_bnds_norm, float* err_bnds_comp,
                          MKL_Complex8* res, float* ayb, MKL_Complex8* dy,
                          MKL_Complex8* y_tail, const float* rcond,
                          const MKL_INT64* ithresh, const float* rthresh,
                          const float* dz_ub, const MKL_INT64* ignore_cwise,
                          MKL_INT64* info ) NOTHROW;
void cla_porfsx_extended_64( const MKL_INT64* prec_type, const char* uplo,
                          const MKL_INT64* n, const MKL_INT64* nrhs,
                          const MKL_Complex8* a, const MKL_INT64* lda,
                          const MKL_Complex8* af, const MKL_INT64* ldaf,
                          const MKL_INT64* colequ, const float* c,
                          const MKL_Complex8* b, const MKL_INT64* ldb,
                          MKL_Complex8* y, const MKL_INT64* ldy,
                          float* berr_out, const MKL_INT64* n_norms,
                          float* err_bnds_norm, float* err_bnds_comp,
                          MKL_Complex8* res, float* ayb, MKL_Complex8* dy,
                          MKL_Complex8* y_tail, const float* rcond,
                          const MKL_INT64* ithresh, const float* rthresh,
                          const float* dz_ub, const MKL_INT64* ignore_cwise,
                          MKL_INT64* info ) NOTHROW;

float CLA_PORPVGRW_64( const char* uplo, const MKL_INT64* ncols,
                    const MKL_Complex8* a, const MKL_INT64* lda,
                    const MKL_Complex8* af, const MKL_INT64* ldaf, float* work ) NOTHROW;
float cla_porpvgrw_64( const char* uplo, const MKL_INT64* ncols,
                    const MKL_Complex8* a, const MKL_INT64* lda,
                    const MKL_Complex8* af, const MKL_INT64* ldaf, float* work ) NOTHROW;

void CLA_SYAMV_64( const MKL_INT64* uplo, const MKL_INT64* n, const float* alpha,
                const MKL_Complex8* a, const MKL_INT64* lda,
                const MKL_Complex8* x, const MKL_INT64* incx, const float* beta,
                float* y, const MKL_INT64* incy ) NOTHROW;
void cla_syamv_64( const MKL_INT64* uplo, const MKL_INT64* n, const float* alpha,
                const MKL_Complex8* a, const MKL_INT64* lda,
                const MKL_Complex8* x, const MKL_INT64* incx, const float* beta,
                float* y, const MKL_INT64* incy ) NOTHROW;

float CLA_SYRCOND_C_64( const char* uplo, const MKL_INT64* n,
                     const MKL_Complex8* a, const MKL_INT64* lda,
                     const MKL_Complex8* af, const MKL_INT64* ldaf,
                     const MKL_INT64* ipiv, const float* c,
                     const MKL_INT64* capply, MKL_INT64* info, MKL_Complex8* work,
                     float* rwork ) NOTHROW;
float cla_syrcond_c_64( const char* uplo, const MKL_INT64* n,
                     const MKL_Complex8* a, const MKL_INT64* lda,
                     const MKL_Complex8* af, const MKL_INT64* ldaf,
                     const MKL_INT64* ipiv, const float* c,
                     const MKL_INT64* capply, MKL_INT64* info, MKL_Complex8* work,
                     float* rwork ) NOTHROW;

float CLA_SYRCOND_X_64( const char* uplo, const MKL_INT64* n,
                     const MKL_Complex8* a, const MKL_INT64* lda,
                     const MKL_Complex8* af, const MKL_INT64* ldaf,
                     const MKL_INT64* ipiv, const MKL_Complex8* x,
                     MKL_INT64* info, MKL_Complex8* work, float* rwork ) NOTHROW;
float cla_syrcond_x_64( const char* uplo, const MKL_INT64* n,
                     const MKL_Complex8* a, const MKL_INT64* lda,
                     const MKL_Complex8* af, const MKL_INT64* ldaf,
                     const MKL_INT64* ipiv, const MKL_Complex8* x,
                     MKL_INT64* info, MKL_Complex8* work, float* rwork ) NOTHROW;

void CLA_SYRFSX_EXTENDED_64( const MKL_INT64* prec_type, const char* uplo,
                          const MKL_INT64* n, const MKL_INT64* nrhs,
                          const MKL_Complex8* a, const MKL_INT64* lda,
                          const MKL_Complex8* af, const MKL_INT64* ldaf,
                          const MKL_INT64* ipiv, const MKL_INT64* colequ,
                          const float* c, const MKL_Complex8* b,
                          const MKL_INT64* ldb, MKL_Complex8* y,
                          const MKL_INT64* ldy, float* berr_out,
                          const MKL_INT64* n_norms, float* err_bnds_norm,
                          float* err_bnds_comp, MKL_Complex8* res, float* ayb,
                          MKL_Complex8* dy, MKL_Complex8* y_tail,
                          const float* rcond, const MKL_INT64* ithresh,
                          const float* rthresh, const float* dz_ub,
                          const MKL_INT64* ignore_cwise, MKL_INT64* info ) NOTHROW;
void cla_syrfsx_extended_64( const MKL_INT64* prec_type, const char* uplo,
                          const MKL_INT64* n, const MKL_INT64* nrhs,
                          const MKL_Complex8* a, const MKL_INT64* lda,
                          const MKL_Complex8* af, const MKL_INT64* ldaf,
                          const MKL_INT64* ipiv, const MKL_INT64* colequ,
                          const float* c, const MKL_Complex8* b,
                          const MKL_INT64* ldb, MKL_Complex8* y,
                          const MKL_INT64* ldy, float* berr_out,
                          const MKL_INT64* n_norms, float* err_bnds_norm,
                          float* err_bnds_comp, MKL_Complex8* res, float* ayb,
                          MKL_Complex8* dy, MKL_Complex8* y_tail,
                          const float* rcond, const MKL_INT64* ithresh,
                          const float* rthresh, const float* dz_ub,
                          const MKL_INT64* ignore_cwise, MKL_INT64* info ) NOTHROW;

float CLA_SYRPVGRW_64( const char* uplo, const MKL_INT64* n, const MKL_INT64* info,
                    const MKL_Complex8* a, const MKL_INT64* lda,
                    const MKL_Complex8* af, const MKL_INT64* ldaf,
                    const MKL_INT64* ipiv, float* work ) NOTHROW;
float cla_syrpvgrw_64( const char* uplo, const MKL_INT64* n, const MKL_INT64* info,
                    const MKL_Complex8* a, const MKL_INT64* lda,
                    const MKL_Complex8* af, const MKL_INT64* ldaf,
                    const MKL_INT64* ipiv, float* work ) NOTHROW;

void CLA_WWADDW_64( const MKL_INT64* n, MKL_Complex8* x, MKL_Complex8* y,
                 const MKL_Complex8* w ) NOTHROW;
void cla_wwaddw_64( const MKL_INT64* n, MKL_Complex8* x, MKL_Complex8* y,
                 const MKL_Complex8* w ) NOTHROW;

void CTPRFB_64( const char* side, const char* trans, const char* direct,
             const char* storev, const MKL_INT64* m, const MKL_INT64* n,
             const MKL_INT64* k, const MKL_INT64* l, const MKL_Complex8* v,
             const MKL_INT64* ldv, const MKL_Complex8* t, const MKL_INT64* ldt,
             MKL_Complex8* a, const MKL_INT64* lda, MKL_Complex8* b,
             const MKL_INT64* ldb, MKL_Complex8* work, const MKL_INT64* ldwork ) NOTHROW;
void ctprfb_64( const char* side, const char* trans, const char* direct,
             const char* storev, const MKL_INT64* m, const MKL_INT64* n,
             const MKL_INT64* k, const MKL_INT64* l, const MKL_Complex8* v,
             const MKL_INT64* ldv, const MKL_Complex8* t, const MKL_INT64* ldt,
             MKL_Complex8* a, const MKL_INT64* lda, MKL_Complex8* b,
             const MKL_INT64* ldb, MKL_Complex8* work, const MKL_INT64* ldwork ) NOTHROW;

void DGEQRT2_64( const MKL_INT64* m, const MKL_INT64* n, double* a,
              const MKL_INT64* lda, double* t, const MKL_INT64* ldt, MKL_INT64* info ) NOTHROW;
void dgeqrt2_64( const MKL_INT64* m, const MKL_INT64* n, double* a,
              const MKL_INT64* lda, double* t, const MKL_INT64* ldt, MKL_INT64* info ) NOTHROW;

void DLA_GBAMV_64( const MKL_INT64* trans, const MKL_INT64* m, const MKL_INT64* n,
                const MKL_INT64* kl, const MKL_INT64* ku, const double* alpha,
                const double* ab, const MKL_INT64* ldab, const double* x,
                const MKL_INT64* incx, const double* beta, double* y,
                const MKL_INT64* incy ) NOTHROW;
void dla_gbamv_64( const MKL_INT64* trans, const MKL_INT64* m, const MKL_INT64* n,
                const MKL_INT64* kl, const MKL_INT64* ku, const double* alpha,
                const double* ab, const MKL_INT64* ldab, const double* x,
                const MKL_INT64* incx, const double* beta, double* y,
                const MKL_INT64* incy ) NOTHROW;

double DLA_GBRCOND_64( const char* trans, const MKL_INT64* n, const MKL_INT64* kl,
                    const MKL_INT64* ku, const double* ab, const MKL_INT64* ldab,
                    const double* afb, const MKL_INT64* ldafb,
                    const MKL_INT64* ipiv, const MKL_INT64* cmode,
                    const double* c, MKL_INT64* info, double* work,
                    MKL_INT64* iwork ) NOTHROW;
double dla_gbrcond_64( const char* trans, const MKL_INT64* n, const MKL_INT64* kl,
                    const MKL_INT64* ku, const double* ab, const MKL_INT64* ldab,
                    const double* afb, const MKL_INT64* ldafb,
                    const MKL_INT64* ipiv, const MKL_INT64* cmode,
                    const double* c, MKL_INT64* info, double* work,
                    MKL_INT64* iwork ) NOTHROW;

void DLA_GBRFSX_EXTENDED_64( const MKL_INT64* prec_type,
                          const MKL_INT64* trans_type, const MKL_INT64* n,
                          const MKL_INT64* kl, const MKL_INT64* ku,
                          const MKL_INT64* nrhs, const double* ab,
                          const MKL_INT64* ldab, const double* afb,
                          const MKL_INT64* ldafb, const MKL_INT64* ipiv,
                          const MKL_INT64* colequ, const double* c,
                          const double* b, const MKL_INT64* ldb, double* y,
                          const MKL_INT64* ldy, double* berr_out,
                          const MKL_INT64* n_norms, double* err_bnds_norm,
                          double* err_bnds_comp, double* res, double* ayb,
                          double* dy, double* y_tail, const double* rcond,
                          const MKL_INT64* ithresh, const double* rthresh,
                          const double* dz_ub, const MKL_INT64* ignore_cwise,
                          MKL_INT64* info ) NOTHROW;
void dla_gbrfsx_extended_64( const MKL_INT64* prec_type,
                          const MKL_INT64* trans_type, const MKL_INT64* n,
                          const MKL_INT64* kl, const MKL_INT64* ku,
                          const MKL_INT64* nrhs, const double* ab,
                          const MKL_INT64* ldab, const double* afb,
                          const MKL_INT64* ldafb, const MKL_INT64* ipiv,
                          const MKL_INT64* colequ, const double* c,
                          const double* b, const MKL_INT64* ldb, double* y,
                          const MKL_INT64* ldy, double* berr_out,
                          const MKL_INT64* n_norms, double* err_bnds_norm,
                          double* err_bnds_comp, double* res, double* ayb,
                          double* dy, double* y_tail, const double* rcond,
                          const MKL_INT64* ithresh, const double* rthresh,
                          const double* dz_ub, const MKL_INT64* ignore_cwise,
                          MKL_INT64* info ) NOTHROW;

double DLA_GBRPVGRW_64( const MKL_INT64* n, const MKL_INT64* kl, const MKL_INT64* ku,
                     const MKL_INT64* ncols, const double* ab,
                     const MKL_INT64* ldab, const double* afb,
                     const MKL_INT64* ldafb ) NOTHROW;
double dla_gbrpvgrw_64( const MKL_INT64* n, const MKL_INT64* kl, const MKL_INT64* ku,
                     const MKL_INT64* ncols, const double* ab,
                     const MKL_INT64* ldab, const double* afb,
                     const MKL_INT64* ldafb ) NOTHROW;

void DLA_GEAMV_64( const MKL_INT64* trans, const MKL_INT64* m, const MKL_INT64* n,
                const double* alpha, const double* a, const MKL_INT64* lda,
                const double* x, const MKL_INT64* incx, const double* beta,
                double* y, const MKL_INT64* incy ) NOTHROW;
void dla_geamv_64( const MKL_INT64* trans, const MKL_INT64* m, const MKL_INT64* n,
                const double* alpha, const double* a, const MKL_INT64* lda,
                const double* x, const MKL_INT64* incx, const double* beta,
                double* y, const MKL_INT64* incy ) NOTHROW;

double DLA_GERCOND_64( const char* trans, const MKL_INT64* n, const double* a,
                    const MKL_INT64* lda, const double* af, const MKL_INT64* ldaf,
                    const MKL_INT64* ipiv, const MKL_INT64* cmode,
                    const double* c, MKL_INT64* info, double* work,
                    MKL_INT64* iwork ) NOTHROW;
double dla_gercond_64( const char* trans, const MKL_INT64* n, const double* a,
                    const MKL_INT64* lda, const double* af, const MKL_INT64* ldaf,
                    const MKL_INT64* ipiv, const MKL_INT64* cmode,
                    const double* c, MKL_INT64* info, double* work,
                    MKL_INT64* iwork ) NOTHROW;

void DLA_GERFSX_EXTENDED_64( const MKL_INT64* prec_type,
                          const MKL_INT64* trans_type, const MKL_INT64* n,
                          const MKL_INT64* nrhs, const double* a,
                          const MKL_INT64* lda, const double* af,
                          const MKL_INT64* ldaf, const MKL_INT64* ipiv,
                          const MKL_INT64* colequ, const double* c,
                          const double* b, const MKL_INT64* ldb, double* y,
                          const MKL_INT64* ldy, double* berr_out,
                          const MKL_INT64* n_norms, double* errs_n,
                          double* errs_c, double* res, double* ayb, double* dy,
                          double* y_tail, const double* rcond,
                          const MKL_INT64* ithresh, const double* rthresh,
                          const double* dz_ub, const MKL_INT64* ignore_cwise,
                          MKL_INT64* info ) NOTHROW;
void dla_gerfsx_extended_64( const MKL_INT64* prec_type,
                          const MKL_INT64* trans_type, const MKL_INT64* n,
                          const MKL_INT64* nrhs, const double* a,
                          const MKL_INT64* lda, const double* af,
                          const MKL_INT64* ldaf, const MKL_INT64* ipiv,
                          const MKL_INT64* colequ, const double* c,
                          const double* b, const MKL_INT64* ldb, double* y,
                          const MKL_INT64* ldy, double* berr_out,
                          const MKL_INT64* n_norms, double* errs_n,
                          double* errs_c, double* res, double* ayb, double* dy,
                          double* y_tail, const double* rcond,
                          const MKL_INT64* ithresh, const double* rthresh,
                          const double* dz_ub, const MKL_INT64* ignore_cwise,
                          MKL_INT64* info ) NOTHROW;

double DLA_GERPVGRW_64( const MKL_INT64* n, const MKL_INT64* ncols, const double* a,
                     const MKL_INT64* lda, const double* af,
                     const MKL_INT64* ldaf ) NOTHROW;
double dla_gerpvgrw_64( const MKL_INT64* n, const MKL_INT64* ncols, const double* a,
                     const MKL_INT64* lda, const double* af,
                     const MKL_INT64* ldaf ) NOTHROW;

void DLA_LIN_BERR_64( const MKL_INT64* n, const MKL_INT64* nz, const MKL_INT64* nrhs,
                   const double* res, const double* ayb, double* berr ) NOTHROW;
void dla_lin_berr_64( const MKL_INT64* n, const MKL_INT64* nz, const MKL_INT64* nrhs,
                   const double* res, const double* ayb, double* berr ) NOTHROW;

double DLA_PORCOND_64( const char* uplo, const MKL_INT64* n, const double* a,
                    const MKL_INT64* lda, const double* af, const MKL_INT64* ldaf,
                    const MKL_INT64* cmode, const double* c, MKL_INT64* info,
                    double* work, MKL_INT64* iwork ) NOTHROW;
double dla_porcond_64( const char* uplo, const MKL_INT64* n, const double* a,
                    const MKL_INT64* lda, const double* af, const MKL_INT64* ldaf,
                    const MKL_INT64* cmode, const double* c, MKL_INT64* info,
                    double* work, MKL_INT64* iwork ) NOTHROW;

void DLA_PORFSX_EXTENDED_64( const MKL_INT64* prec_type, const char* uplo,
                          const MKL_INT64* n, const MKL_INT64* nrhs,
                          const double* a, const MKL_INT64* lda,
                          const double* af, const MKL_INT64* ldaf,
                          const MKL_INT64* colequ, const double* c,
                          const double* b, const MKL_INT64* ldb, double* y,
                          const MKL_INT64* ldy, double* berr_out,
                          const MKL_INT64* n_norms, double* err_bnds_norm,
                          double* err_bnds_comp, double* res, double* ayb,
                          double* dy, double* y_tail, const double* rcond,
                          const MKL_INT64* ithresh, const double* rthresh,
                          const double* dz_ub, const MKL_INT64* ignore_cwise,
                          MKL_INT64* info ) NOTHROW;
void dla_porfsx_extended_64( const MKL_INT64* prec_type, const char* uplo,
                          const MKL_INT64* n, const MKL_INT64* nrhs,
                          const double* a, const MKL_INT64* lda,
                          const double* af, const MKL_INT64* ldaf,
                          const MKL_INT64* colequ, const double* c,
                          const double* b, const MKL_INT64* ldb, double* y,
                          const MKL_INT64* ldy, double* berr_out,
                          const MKL_INT64* n_norms, double* err_bnds_norm,
                          double* err_bnds_comp, double* res, double* ayb,
                          double* dy, double* y_tail, const double* rcond,
                          const MKL_INT64* ithresh, const double* rthresh,
                          const double* dz_ub, const MKL_INT64* ignore_cwise,
                          MKL_INT64* info ) NOTHROW;

double DLA_PORPVGRW_64( const char* uplo, const MKL_INT64* ncols, const double* a,
                     const MKL_INT64* lda, const double* af,
                     const MKL_INT64* ldaf, double* work ) NOTHROW;
double dla_porpvgrw_64( const char* uplo, const MKL_INT64* ncols, const double* a,
                     const MKL_INT64* lda, const double* af,
                     const MKL_INT64* ldaf, double* work ) NOTHROW;

void DLA_SYAMV_64( const MKL_INT64* uplo, const MKL_INT64* n, const double* alpha,
                const double* a, const MKL_INT64* lda, const double* x,
                const MKL_INT64* incx, const double* beta, double* y,
                const MKL_INT64* incy ) NOTHROW;
void dla_syamv_64( const MKL_INT64* uplo, const MKL_INT64* n, const double* alpha,
                const double* a, const MKL_INT64* lda, const double* x,
                const MKL_INT64* incx, const double* beta, double* y,
                const MKL_INT64* incy ) NOTHROW;

double DLA_SYRCOND_64( const char* uplo, const MKL_INT64* n, const double* a,
                    const MKL_INT64* lda, const double* af, const MKL_INT64* ldaf,
                    const MKL_INT64* ipiv, const MKL_INT64* cmode,
                    const double* c, MKL_INT64* info, double* work,
                    MKL_INT64* iwork ) NOTHROW;
double dla_syrcond_64( const char* uplo, const MKL_INT64* n, const double* a,
                    const MKL_INT64* lda, const double* af, const MKL_INT64* ldaf,
                    const MKL_INT64* ipiv, const MKL_INT64* cmode,
                    const double* c, MKL_INT64* info, double* work,
                    MKL_INT64* iwork ) NOTHROW;

void DLA_SYRFSX_EXTENDED_64( const MKL_INT64* prec_type, const char* uplo,
                          const MKL_INT64* n, const MKL_INT64* nrhs,
                          const double* a, const MKL_INT64* lda,
                          const double* af, const MKL_INT64* ldaf,
                          const MKL_INT64* ipiv, const MKL_INT64* colequ,
                          const double* c, const double* b,
                          const MKL_INT64* ldb, double* y, const MKL_INT64* ldy,
                          double* berr_out, const MKL_INT64* n_norms,
                          double* err_bnds_norm, double* err_bnds_comp,
                          double* res, double* ayb, double* dy, double* y_tail,
                          const double* rcond, const MKL_INT64* ithresh,
                          const double* rthresh, const double* dz_ub,
                          const MKL_INT64* ignore_cwise, MKL_INT64* info ) NOTHROW;
void dla_syrfsx_extended_64( const MKL_INT64* prec_type, const char* uplo,
                          const MKL_INT64* n, const MKL_INT64* nrhs,
                          const double* a, const MKL_INT64* lda,
                          const double* af, const MKL_INT64* ldaf,
                          const MKL_INT64* ipiv, const MKL_INT64* colequ,
                          const double* c, const double* b,
                          const MKL_INT64* ldb, double* y, const MKL_INT64* ldy,
                          double* berr_out, const MKL_INT64* n_norms,
                          double* err_bnds_norm, double* err_bnds_comp,
                          double* res, double* ayb, double* dy, double* y_tail,
                          const double* rcond, const MKL_INT64* ithresh,
                          const double* rthresh, const double* dz_ub,
                          const MKL_INT64* ignore_cwise, MKL_INT64* info ) NOTHROW;

double DLA_SYRPVGRW_64( const char* uplo, const MKL_INT64* n, const MKL_INT64* info,
                     const double* a, const MKL_INT64* lda, const double* af,
                     const MKL_INT64* ldaf, const MKL_INT64* ipiv, double* work ) NOTHROW;
double dla_syrpvgrw_64( const char* uplo, const MKL_INT64* n, const MKL_INT64* info,
                     const double* a, const MKL_INT64* lda, const double* af,
                     const MKL_INT64* ldaf, const MKL_INT64* ipiv, double* work ) NOTHROW;

void DLA_WWADDW_64( const MKL_INT64* n, double* x, double* y, const double* w ) NOTHROW;
void dla_wwaddw_64( const MKL_INT64* n, double* x, double* y, const double* w ) NOTHROW;

void DTPRFB_64( const char* side, const char* trans, const char* direct,
             const char* storev, const MKL_INT64* m, const MKL_INT64* n,
             const MKL_INT64* k, const MKL_INT64* l, const double* v,
             const MKL_INT64* ldv, const double* t, const MKL_INT64* ldt,
             double* a, const MKL_INT64* lda, double* b, const MKL_INT64* ldb,
             double* work, const MKL_INT64* ldwork ) NOTHROW;
void dtprfb_64( const char* side, const char* trans, const char* direct,
             const char* storev, const MKL_INT64* m, const MKL_INT64* n,
             const MKL_INT64* k, const MKL_INT64* l, const double* v,
             const MKL_INT64* ldv, const double* t, const MKL_INT64* ldt,
             double* a, const MKL_INT64* lda, double* b, const MKL_INT64* ldb,
             double* work, const MKL_INT64* ldwork ) NOTHROW;

void SGEQRT2_64( const MKL_INT64* m, const MKL_INT64* n, float* a, const MKL_INT64* lda,
              float* t, const MKL_INT64* ldt, MKL_INT64* info ) NOTHROW;
void sgeqrt2_64( const MKL_INT64* m, const MKL_INT64* n, float* a, const MKL_INT64* lda,
              float* t, const MKL_INT64* ldt, MKL_INT64* info ) NOTHROW;

void SLA_GBAMV_64( const MKL_INT64* trans, const MKL_INT64* m, const MKL_INT64* n,
                const MKL_INT64* kl, const MKL_INT64* ku, const float* alpha,
                const float* ab, const MKL_INT64* ldab, const float* x,
                const MKL_INT64* incx, const float* beta, float* y,
                const MKL_INT64* incy ) NOTHROW;
void sla_gbamv_64( const MKL_INT64* trans, const MKL_INT64* m, const MKL_INT64* n,
                const MKL_INT64* kl, const MKL_INT64* ku, const float* alpha,
                const float* ab, const MKL_INT64* ldab, const float* x,
                const MKL_INT64* incx, const float* beta, float* y,
                const MKL_INT64* incy ) NOTHROW;

float SLA_GBRCOND_64( const char* trans, const MKL_INT64* n, const MKL_INT64* kl,
                   const MKL_INT64* ku, const float* ab, const MKL_INT64* ldab,
                   const float* afb, const MKL_INT64* ldafb,
                   const MKL_INT64* ipiv, const MKL_INT64* cmode, const float* c,
                   MKL_INT64* info, float* work, MKL_INT64* iwork ) NOTHROW;
float sla_gbrcond_64( const char* trans, const MKL_INT64* n, const MKL_INT64* kl,
                   const MKL_INT64* ku, const float* ab, const MKL_INT64* ldab,
                   const float* afb, const MKL_INT64* ldafb,
                   const MKL_INT64* ipiv, const MKL_INT64* cmode, const float* c,
                   MKL_INT64* info, float* work, MKL_INT64* iwork ) NOTHROW;

void SLA_GBRFSX_EXTENDED_64( const MKL_INT64* prec_type,
                          const MKL_INT64* trans_type, const MKL_INT64* n,
                          const MKL_INT64* kl, const MKL_INT64* ku,
                          const MKL_INT64* nrhs, const float* ab,
                          const MKL_INT64* ldab, const float* afb,
                          const MKL_INT64* ldafb, const MKL_INT64* ipiv,
                          const MKL_INT64* colequ, const float* c,
                          const float* b, const MKL_INT64* ldb, float* y,
                          const MKL_INT64* ldy, float* berr_out,
                          const MKL_INT64* n_norms, float* err_bnds_norm,
                          float* err_bnds_comp, float* res, float* ayb,
                          float* dy, float* y_tail, const float* rcond,
                          const MKL_INT64* ithresh, const float* rthresh,
                          const float* dz_ub, const MKL_INT64* ignore_cwise,
                          MKL_INT64* info ) NOTHROW;
void sla_gbrfsx_extended_64( const MKL_INT64* prec_type,
                          const MKL_INT64* trans_type, const MKL_INT64* n,
                          const MKL_INT64* kl, const MKL_INT64* ku,
                          const MKL_INT64* nrhs, const float* ab,
                          const MKL_INT64* ldab, const float* afb,
                          const MKL_INT64* ldafb, const MKL_INT64* ipiv,
                          const MKL_INT64* colequ, const float* c,
                          const float* b, const MKL_INT64* ldb, float* y,
                          const MKL_INT64* ldy, float* berr_out,
                          const MKL_INT64* n_norms, float* err_bnds_norm,
                          float* err_bnds_comp, float* res, float* ayb,
                          float* dy, float* y_tail, const float* rcond,
                          const MKL_INT64* ithresh, const float* rthresh,
                          const float* dz_ub, const MKL_INT64* ignore_cwise,
                          MKL_INT64* info ) NOTHROW;

float SLA_GBRPVGRW_64( const MKL_INT64* n, const MKL_INT64* kl, const MKL_INT64* ku,
                    const MKL_INT64* ncols, const float* ab,
                    const MKL_INT64* ldab, const float* afb,
                    const MKL_INT64* ldafb ) NOTHROW;
float sla_gbrpvgrw_64( const MKL_INT64* n, const MKL_INT64* kl, const MKL_INT64* ku,
                    const MKL_INT64* ncols, const float* ab,
                    const MKL_INT64* ldab, const float* afb,
                    const MKL_INT64* ldafb ) NOTHROW;

void SLA_GEAMV_64( const MKL_INT64* trans, const MKL_INT64* m, const MKL_INT64* n,
                const float* alpha, const float* a, const MKL_INT64* lda,
                const float* x, const MKL_INT64* incx, const float* beta,
                float* y, const MKL_INT64* incy ) NOTHROW;
void sla_geamv_64( const MKL_INT64* trans, const MKL_INT64* m, const MKL_INT64* n,
                const float* alpha, const float* a, const MKL_INT64* lda,
                const float* x, const MKL_INT64* incx, const float* beta,
                float* y, const MKL_INT64* incy ) NOTHROW;

float SLA_GERCOND_64( const char* trans, const MKL_INT64* n, const float* a,
                   const MKL_INT64* lda, const float* af, const MKL_INT64* ldaf,
                   const MKL_INT64* ipiv, const MKL_INT64* cmode, const float* c,
                   MKL_INT64* info, float* work, MKL_INT64* iwork ) NOTHROW;
float sla_gercond_64( const char* trans, const MKL_INT64* n, const float* a,
                   const MKL_INT64* lda, const float* af, const MKL_INT64* ldaf,
                   const MKL_INT64* ipiv, const MKL_INT64* cmode, const float* c,
                   MKL_INT64* info, float* work, MKL_INT64* iwork ) NOTHROW;

void SLA_GERFSX_EXTENDED_64( const MKL_INT64* prec_type,
                          const MKL_INT64* trans_type, const MKL_INT64* n,
                          const MKL_INT64* nrhs, const float* a,
                          const MKL_INT64* lda, const float* af,
                          const MKL_INT64* ldaf, const MKL_INT64* ipiv,
                          const MKL_INT64* colequ, const float* c,
                          const float* b, const MKL_INT64* ldb, float* y,
                          const MKL_INT64* ldy, float* berr_out,
                          const MKL_INT64* n_norms, float* errs_n,
                          float* errs_c, float* res, float* ayb, float* dy,
                          float* y_tail, const float* rcond,
                          const MKL_INT64* ithresh, const float* rthresh,
                          const float* dz_ub, const MKL_INT64* ignore_cwise,
                          MKL_INT64* info ) NOTHROW;
void sla_gerfsx_extended_64( const MKL_INT64* prec_type,
                          const MKL_INT64* trans_type, const MKL_INT64* n,
                          const MKL_INT64* nrhs, const float* a,
                          const MKL_INT64* lda, const float* af,
                          const MKL_INT64* ldaf, const MKL_INT64* ipiv,
                          const MKL_INT64* colequ, const float* c,
                          const float* b, const MKL_INT64* ldb, float* y,
                          const MKL_INT64* ldy, float* berr_out,
                          const MKL_INT64* n_norms, float* errs_n,
                          float* errs_c, float* res, float* ayb, float* dy,
                          float* y_tail, const float* rcond,
                          const MKL_INT64* ithresh, const float* rthresh,
                          const float* dz_ub, const MKL_INT64* ignore_cwise,
                          MKL_INT64* info ) NOTHROW;

float SLA_GERPVGRW_64( const MKL_INT64* n, const MKL_INT64* ncols, const float* a,
                    const MKL_INT64* lda, const float* af, const MKL_INT64* ldaf ) NOTHROW;
float sla_gerpvgrw_64( const MKL_INT64* n, const MKL_INT64* ncols, const float* a,
                    const MKL_INT64* lda, const float* af, const MKL_INT64* ldaf ) NOTHROW;

void SLA_LIN_BERR_64( const MKL_INT64* n, const MKL_INT64* nz, const MKL_INT64* nrhs,
                   const float* res, const float* ayb, float* berr ) NOTHROW;
void sla_lin_berr_64( const MKL_INT64* n, const MKL_INT64* nz, const MKL_INT64* nrhs,
                   const float* res, const float* ayb, float* berr ) NOTHROW;

float SLA_PORCOND_64( const char* uplo, const MKL_INT64* n, const float* a,
                   const MKL_INT64* lda, const float* af, const MKL_INT64* ldaf,
                   const MKL_INT64* cmode, const float* c, MKL_INT64* info,
                   float* work, MKL_INT64* iwork ) NOTHROW;
float sla_porcond_64( const char* uplo, const MKL_INT64* n, const float* a,
                   const MKL_INT64* lda, const float* af, const MKL_INT64* ldaf,
                   const MKL_INT64* cmode, const float* c, MKL_INT64* info,
                   float* work, MKL_INT64* iwork ) NOTHROW;

void SLA_PORFSX_EXTENDED_64( const MKL_INT64* prec_type, const char* uplo,
                          const MKL_INT64* n, const MKL_INT64* nrhs,
                          const float* a, const MKL_INT64* lda, const float* af,
                          const MKL_INT64* ldaf, const MKL_INT64* colequ,
                          const float* c, const float* b, const MKL_INT64* ldb,
                          float* y, const MKL_INT64* ldy, float* berr_out,
                          const MKL_INT64* n_norms, float* err_bnds_norm,
                          float* err_bnds_comp, float* res, float* ayb,
                          float* dy, float* y_tail, const float* rcond,
                          const MKL_INT64* ithresh, const float* rthresh,
                          const float* dz_ub, const MKL_INT64* ignore_cwise,
                          MKL_INT64* info ) NOTHROW;
void sla_porfsx_extended_64( const MKL_INT64* prec_type, const char* uplo,
                          const MKL_INT64* n, const MKL_INT64* nrhs,
                          const float* a, const MKL_INT64* lda, const float* af,
                          const MKL_INT64* ldaf, const MKL_INT64* colequ,
                          const float* c, const float* b, const MKL_INT64* ldb,
                          float* y, const MKL_INT64* ldy, float* berr_out,
                          const MKL_INT64* n_norms, float* err_bnds_norm,
                          float* err_bnds_comp, float* res, float* ayb,
                          float* dy, float* y_tail, const float* rcond,
                          const MKL_INT64* ithresh, const float* rthresh,
                          const float* dz_ub, const MKL_INT64* ignore_cwise,
                          MKL_INT64* info ) NOTHROW;

float SLA_PORPVGRW_64( const char* uplo, const MKL_INT64* ncols, const float* a,
                    const MKL_INT64* lda, const float* af, const MKL_INT64* ldaf,
                    float* work ) NOTHROW;
float sla_porpvgrw_64( const char* uplo, const MKL_INT64* ncols, const float* a,
                    const MKL_INT64* lda, const float* af, const MKL_INT64* ldaf,
                    float* work ) NOTHROW;

void SLA_SYAMV_64( const MKL_INT64* uplo, const MKL_INT64* n, const float* alpha,
                const float* a, const MKL_INT64* lda, const float* x,
                const MKL_INT64* incx, const float* beta, float* y,
                const MKL_INT64* incy ) NOTHROW;
void sla_syamv_64( const MKL_INT64* uplo, const MKL_INT64* n, const float* alpha,
                const float* a, const MKL_INT64* lda, const float* x,
                const MKL_INT64* incx, const float* beta, float* y,
                const MKL_INT64* incy ) NOTHROW;

float SLA_SYRCOND_64( const char* uplo, const MKL_INT64* n, const float* a,
                   const MKL_INT64* lda, const float* af, const MKL_INT64* ldaf,
                   const MKL_INT64* ipiv, const MKL_INT64* cmode, const float* c,
                   MKL_INT64* info, float* work, MKL_INT64* iwork ) NOTHROW;
float sla_syrcond_64( const char* uplo, const MKL_INT64* n, const float* a,
                   const MKL_INT64* lda, const float* af, const MKL_INT64* ldaf,
                   const MKL_INT64* ipiv, const MKL_INT64* cmode, const float* c,
                   MKL_INT64* info, float* work, MKL_INT64* iwork ) NOTHROW;

void SLA_SYRFSX_EXTENDED_64( const MKL_INT64* prec_type, const char* uplo,
                          const MKL_INT64* n, const MKL_INT64* nrhs,
                          const float* a, const MKL_INT64* lda, const float* af,
                          const MKL_INT64* ldaf, const MKL_INT64* ipiv,
                          const MKL_INT64* colequ, const float* c,
                          const float* b, const MKL_INT64* ldb, float* y,
                          const MKL_INT64* ldy, float* berr_out,
                          const MKL_INT64* n_norms, float* err_bnds_norm,
                          float* err_bnds_comp, float* res, float* ayb,
                          float* dy, float* y_tail, const float* rcond,
                          const MKL_INT64* ithresh, const float* rthresh,
                          const float* dz_ub, const MKL_INT64* ignore_cwise,
                          MKL_INT64* info ) NOTHROW;
void sla_syrfsx_extended_64( const MKL_INT64* prec_type, const char* uplo,
                          const MKL_INT64* n, const MKL_INT64* nrhs,
                          const float* a, const MKL_INT64* lda, const float* af,
                          const MKL_INT64* ldaf, const MKL_INT64* ipiv,
                          const MKL_INT64* colequ, const float* c,
                          const float* b, const MKL_INT64* ldb, float* y,
                          const MKL_INT64* ldy, float* berr_out,
                          const MKL_INT64* n_norms, float* err_bnds_norm,
                          float* err_bnds_comp, float* res, float* ayb,
                          float* dy, float* y_tail, const float* rcond,
                          const MKL_INT64* ithresh, const float* rthresh,
                          const float* dz_ub, const MKL_INT64* ignore_cwise,
                          MKL_INT64* info ) NOTHROW;

float SLA_SYRPVGRW_64( const char* uplo, const MKL_INT64* n, const MKL_INT64* info,
                    const float* a, const MKL_INT64* lda, const float* af,
                    const MKL_INT64* ldaf, const MKL_INT64* ipiv, float* work ) NOTHROW;
float sla_syrpvgrw_64( const char* uplo, const MKL_INT64* n, const MKL_INT64* info,
                    const float* a, const MKL_INT64* lda, const float* af,
                    const MKL_INT64* ldaf, const MKL_INT64* ipiv, float* work ) NOTHROW;

void SLA_WWADDW_64( const MKL_INT64* n, float* x, float* y, const float* w ) NOTHROW;
void sla_wwaddw_64( const MKL_INT64* n, float* x, float* y, const float* w ) NOTHROW;

void STPRFB_64( const char* side, const char* trans, const char* direct,
             const char* storev, const MKL_INT64* m, const MKL_INT64* n,
             const MKL_INT64* k, const MKL_INT64* l, const float* v,
             const MKL_INT64* ldv, const float* t, const MKL_INT64* ldt, float* a,
             const MKL_INT64* lda, float* b, const MKL_INT64* ldb, float* work,
             const MKL_INT64* ldwork ) NOTHROW;
void stprfb_64( const char* side, const char* trans, const char* direct,
             const char* storev, const MKL_INT64* m, const MKL_INT64* n,
             const MKL_INT64* k, const MKL_INT64* l, const float* v,
             const MKL_INT64* ldv, const float* t, const MKL_INT64* ldt, float* a,
             const MKL_INT64* lda, float* b, const MKL_INT64* ldb, float* work,
             const MKL_INT64* ldwork ) NOTHROW;

void ZGEQRT2_64( const MKL_INT64* m, const MKL_INT64* n, MKL_Complex16* a,
              const MKL_INT64* lda, MKL_Complex16* t, const MKL_INT64* ldt,
              MKL_INT64* info ) NOTHROW;
void zgeqrt2_64( const MKL_INT64* m, const MKL_INT64* n, MKL_Complex16* a,
              const MKL_INT64* lda, MKL_Complex16* t, const MKL_INT64* ldt,
              MKL_INT64* info ) NOTHROW;

void ZHESWAPR_64( const char* uplo, const MKL_INT64* n, MKL_Complex16* a,
               const MKL_INT64* lda, const MKL_INT64* i1, const MKL_INT64* i2 ) NOTHROW;
void zheswapr_64( const char* uplo, const MKL_INT64* n, MKL_Complex16* a,
               const MKL_INT64* lda, const MKL_INT64* i1, const MKL_INT64* i2 ) NOTHROW;

void ZHETRI2_64( const char* uplo, const MKL_INT64* n, MKL_Complex16* a,
              const MKL_INT64* lda, const MKL_INT64* ipiv, MKL_Complex16* work,
              const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;
void zhetri2_64( const char* uplo, const MKL_INT64* n, MKL_Complex16* a,
              const MKL_INT64* lda, const MKL_INT64* ipiv, MKL_Complex16* work,
              const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;

void ZHETRI2X_64( const char* uplo, const MKL_INT64* n, MKL_Complex16* a,
               const MKL_INT64* lda, const MKL_INT64* ipiv, MKL_Complex16* work,
               const MKL_INT64* nb, MKL_INT64* info ) NOTHROW;
void zhetri2x_64( const char* uplo, const MKL_INT64* n, MKL_Complex16* a,
               const MKL_INT64* lda, const MKL_INT64* ipiv, MKL_Complex16* work,
               const MKL_INT64* nb, MKL_INT64* info ) NOTHROW;

void ZLA_GBAMV_64( const MKL_INT64* trans, const MKL_INT64* m, const MKL_INT64* n,
                const MKL_INT64* kl, const MKL_INT64* ku, const double* alpha,
                const MKL_Complex16* ab, const MKL_INT64* ldab,
                const MKL_Complex16* x, const MKL_INT64* incx,
                const double* beta, double* y, const MKL_INT64* incy ) NOTHROW;
void zla_gbamv_64( const MKL_INT64* trans, const MKL_INT64* m, const MKL_INT64* n,
                const MKL_INT64* kl, const MKL_INT64* ku, const double* alpha,
                const MKL_Complex16* ab, const MKL_INT64* ldab,
                const MKL_Complex16* x, const MKL_INT64* incx,
                const double* beta, double* y, const MKL_INT64* incy ) NOTHROW;

double ZLA_GBRCOND_C_64( const char* trans, const MKL_INT64* n, const MKL_INT64* kl,
                      const MKL_INT64* ku, const MKL_Complex16* ab,
                      const MKL_INT64* ldab, const MKL_Complex16* afb,
                      const MKL_INT64* ldafb, const MKL_INT64* ipiv,
                      const double* c, const MKL_INT64* capply, MKL_INT64* info,
                      MKL_Complex16* work, double* rwork ) NOTHROW;
double zla_gbrcond_c_64( const char* trans, const MKL_INT64* n, const MKL_INT64* kl,
                      const MKL_INT64* ku, const MKL_Complex16* ab,
                      const MKL_INT64* ldab, const MKL_Complex16* afb,
                      const MKL_INT64* ldafb, const MKL_INT64* ipiv,
                      const double* c, const MKL_INT64* capply, MKL_INT64* info,
                      MKL_Complex16* work, double* rwork ) NOTHROW;

double ZLA_GBRCOND_X_64( const char* trans, const MKL_INT64* n, const MKL_INT64* kl,
                      const MKL_INT64* ku, const MKL_Complex16* ab,
                      const MKL_INT64* ldab, const MKL_Complex16* afb,
                      const MKL_INT64* ldafb, const MKL_INT64* ipiv,
                      const MKL_Complex16* x, MKL_INT64* info,
                      MKL_Complex16* work, double* rwork ) NOTHROW;
double zla_gbrcond_x_64( const char* trans, const MKL_INT64* n, const MKL_INT64* kl,
                      const MKL_INT64* ku, const MKL_Complex16* ab,
                      const MKL_INT64* ldab, const MKL_Complex16* afb,
                      const MKL_INT64* ldafb, const MKL_INT64* ipiv,
                      const MKL_Complex16* x, MKL_INT64* info,
                      MKL_Complex16* work, double* rwork ) NOTHROW;

void ZLA_GBRFSX_EXTENDED_64( const MKL_INT64* prec_type,
                          const MKL_INT64* trans_type, const MKL_INT64* n,
                          const MKL_INT64* kl, const MKL_INT64* ku,
                          const MKL_INT64* nrhs, const MKL_Complex16* ab,
                          const MKL_INT64* ldab, const MKL_Complex16* afb,
                          const MKL_INT64* ldafb, const MKL_INT64* ipiv,
                          const MKL_INT64* colequ, const double* c,
                          const MKL_Complex16* b, const MKL_INT64* ldb,
                          MKL_Complex16* y, const MKL_INT64* ldy,
                          double* berr_out, const MKL_INT64* n_norms,
                          double* err_bnds_norm, double* err_bnds_comp,
                          MKL_Complex16* res, double* ayb, MKL_Complex16* dy,
                          MKL_Complex16* y_tail, const double* rcond,
                          const MKL_INT64* ithresh, const double* rthresh,
                          const double* dz_ub, const MKL_INT64* ignore_cwise,
                          MKL_INT64* info ) NOTHROW;
void zla_gbrfsx_extended_64( const MKL_INT64* prec_type,
                          const MKL_INT64* trans_type, const MKL_INT64* n,
                          const MKL_INT64* kl, const MKL_INT64* ku,
                          const MKL_INT64* nrhs, const MKL_Complex16* ab,
                          const MKL_INT64* ldab, const MKL_Complex16* afb,
                          const MKL_INT64* ldafb, const MKL_INT64* ipiv,
                          const MKL_INT64* colequ, const double* c,
                          const MKL_Complex16* b, const MKL_INT64* ldb,
                          MKL_Complex16* y, const MKL_INT64* ldy,
                          double* berr_out, const MKL_INT64* n_norms,
                          double* err_bnds_norm, double* err_bnds_comp,
                          MKL_Complex16* res, double* ayb, MKL_Complex16* dy,
                          MKL_Complex16* y_tail, const double* rcond,
                          const MKL_INT64* ithresh, const double* rthresh,
                          const double* dz_ub, const MKL_INT64* ignore_cwise,
                          MKL_INT64* info ) NOTHROW;

double ZLA_GBRPVGRW_64( const MKL_INT64* n, const MKL_INT64* kl, const MKL_INT64* ku,
                     const MKL_INT64* ncols, const MKL_Complex16* ab,
                     const MKL_INT64* ldab, const MKL_Complex16* afb,
                     const MKL_INT64* ldafb ) NOTHROW;
double zla_gbrpvgrw_64( const MKL_INT64* n, const MKL_INT64* kl, const MKL_INT64* ku,
                     const MKL_INT64* ncols, const MKL_Complex16* ab,
                     const MKL_INT64* ldab, const MKL_Complex16* afb,
                     const MKL_INT64* ldafb ) NOTHROW;

void ZLA_GEAMV_64( const MKL_INT64* trans, const MKL_INT64* m, const MKL_INT64* n,
                const double* alpha, const MKL_Complex16* a,
                const MKL_INT64* lda, const MKL_Complex16* x,
                const MKL_INT64* incx, const double* beta, double* y,
                const MKL_INT64* incy ) NOTHROW;
void zla_geamv_64( const MKL_INT64* trans, const MKL_INT64* m, const MKL_INT64* n,
                const double* alpha, const MKL_Complex16* a,
                const MKL_INT64* lda, const MKL_Complex16* x,
                const MKL_INT64* incx, const double* beta, double* y,
                const MKL_INT64* incy ) NOTHROW;

double ZLA_GERCOND_C_64( const char* trans, const MKL_INT64* n,
                      const MKL_Complex16* a, const MKL_INT64* lda,
                      const MKL_Complex16* af, const MKL_INT64* ldaf,
                      const MKL_INT64* ipiv, const double* c,
                      const MKL_INT64* capply, MKL_INT64* info,
                      MKL_Complex16* work, double* rwork ) NOTHROW;
double zla_gercond_c_64( const char* trans, const MKL_INT64* n,
                      const MKL_Complex16* a, const MKL_INT64* lda,
                      const MKL_Complex16* af, const MKL_INT64* ldaf,
                      const MKL_INT64* ipiv, const double* c,
                      const MKL_INT64* capply, MKL_INT64* info,
                      MKL_Complex16* work, double* rwork ) NOTHROW;

double ZLA_GERCOND_X_64( const char* trans, const MKL_INT64* n,
                      const MKL_Complex16* a, const MKL_INT64* lda,
                      const MKL_Complex16* af, const MKL_INT64* ldaf,
                      const MKL_INT64* ipiv, const MKL_Complex16* x,
                      MKL_INT64* info, MKL_Complex16* work, double* rwork ) NOTHROW;
double zla_gercond_x_64( const char* trans, const MKL_INT64* n,
                      const MKL_Complex16* a, const MKL_INT64* lda,
                      const MKL_Complex16* af, const MKL_INT64* ldaf,
                      const MKL_INT64* ipiv, const MKL_Complex16* x,
                      MKL_INT64* info, MKL_Complex16* work, double* rwork ) NOTHROW;

void ZLA_GERFSX_EXTENDED_64( const MKL_INT64* prec_type,
                          const MKL_INT64* trans_type, const MKL_INT64* n,
                          const MKL_INT64* nrhs, const MKL_Complex16* a,
                          const MKL_INT64* lda, const MKL_Complex16* af,
                          const MKL_INT64* ldaf, const MKL_INT64* ipiv,
                          const MKL_INT64* colequ, const double* c,
                          const MKL_Complex16* b, const MKL_INT64* ldb,
                          MKL_Complex16* y, const MKL_INT64* ldy,
                          double* berr_out, const MKL_INT64* n_norms,
                          double* errs_n, double* errs_c, MKL_Complex16* res,
                          double* ayb, MKL_Complex16* dy,
                          MKL_Complex16* y_tail, const double* rcond,
                          const MKL_INT64* ithresh, const double* rthresh,
                          const double* dz_ub, const MKL_INT64* ignore_cwise,
                          MKL_INT64* info ) NOTHROW;
void zla_gerfsx_extended_64( const MKL_INT64* prec_type,
                          const MKL_INT64* trans_type, const MKL_INT64* n,
                          const MKL_INT64* nrhs, const MKL_Complex16* a,
                          const MKL_INT64* lda, const MKL_Complex16* af,
                          const MKL_INT64* ldaf, const MKL_INT64* ipiv,
                          const MKL_INT64* colequ, const double* c,
                          const MKL_Complex16* b, const MKL_INT64* ldb,
                          MKL_Complex16* y, const MKL_INT64* ldy,
                          double* berr_out, const MKL_INT64* n_norms,
                          double* errs_n, double* errs_c, MKL_Complex16* res,
                          double* ayb, MKL_Complex16* dy,
                          MKL_Complex16* y_tail, const double* rcond,
                          const MKL_INT64* ithresh, const double* rthresh,
                          const double* dz_ub, const MKL_INT64* ignore_cwise,
                          MKL_INT64* info ) NOTHROW;

double ZLA_GERPVGRW_64( const MKL_INT64* n, const MKL_INT64* ncols,
                     const MKL_Complex16* a, const MKL_INT64* lda,
                     const MKL_Complex16* af, const MKL_INT64* ldaf ) NOTHROW;
double zla_gerpvgrw_64( const MKL_INT64* n, const MKL_INT64* ncols,
                     const MKL_Complex16* a, const MKL_INT64* lda,
                     const MKL_Complex16* af, const MKL_INT64* ldaf ) NOTHROW;

void ZLA_HEAMV_64( const MKL_INT64* uplo, const MKL_INT64* n, const double* alpha,
                const MKL_Complex16* a, const MKL_INT64* lda,
                const MKL_Complex16* x, const MKL_INT64* incx,
                const double* beta, double* y, const MKL_INT64* incy ) NOTHROW;
void zla_heamv_64( const MKL_INT64* uplo, const MKL_INT64* n, const double* alpha,
                const MKL_Complex16* a, const MKL_INT64* lda,
                const MKL_Complex16* x, const MKL_INT64* incx,
                const double* beta, double* y, const MKL_INT64* incy ) NOTHROW;

double ZLA_HERCOND_C_64( const char* uplo, const MKL_INT64* n,
                      const MKL_Complex16* a, const MKL_INT64* lda,
                      const MKL_Complex16* af, const MKL_INT64* ldaf,
                      const MKL_INT64* ipiv, const double* c,
                      const MKL_INT64* capply, MKL_INT64* info,
                      MKL_Complex16* work, double* rwork ) NOTHROW;
double zla_hercond_c_64( const char* uplo, const MKL_INT64* n,
                      const MKL_Complex16* a, const MKL_INT64* lda,
                      const MKL_Complex16* af, const MKL_INT64* ldaf,
                      const MKL_INT64* ipiv, const double* c,
                      const MKL_INT64* capply, MKL_INT64* info,
                      MKL_Complex16* work, double* rwork ) NOTHROW;

double ZLA_HERCOND_X_64( const char* uplo, const MKL_INT64* n,
                      const MKL_Complex16* a, const MKL_INT64* lda,
                      const MKL_Complex16* af, const MKL_INT64* ldaf,
                      const MKL_INT64* ipiv, const MKL_Complex16* x,
                      MKL_INT64* info, MKL_Complex16* work, double* rwork ) NOTHROW;
double zla_hercond_x_64( const char* uplo, const MKL_INT64* n,
                      const MKL_Complex16* a, const MKL_INT64* lda,
                      const MKL_Complex16* af, const MKL_INT64* ldaf,
                      const MKL_INT64* ipiv, const MKL_Complex16* x,
                      MKL_INT64* info, MKL_Complex16* work, double* rwork ) NOTHROW;

void ZLA_HERFSX_EXTENDED_64( const MKL_INT64* prec_type, const char* uplo,
                          const MKL_INT64* n, const MKL_INT64* nrhs,
                          const MKL_Complex16* a, const MKL_INT64* lda,
                          const MKL_Complex16* af, const MKL_INT64* ldaf,
                          const MKL_INT64* ipiv, const MKL_INT64* colequ,
                          const double* c, const MKL_Complex16* b,
                          const MKL_INT64* ldb, MKL_Complex16* y,
                          const MKL_INT64* ldy, double* berr_out,
                          const MKL_INT64* n_norms, double* err_bnds_norm,
                          double* err_bnds_comp, MKL_Complex16* res,
                          double* ayb, MKL_Complex16* dy,
                          MKL_Complex16* y_tail, const double* rcond,
                          const MKL_INT64* ithresh, const double* rthresh,
                          const double* dz_ub, const MKL_INT64* ignore_cwise,
                          MKL_INT64* info ) NOTHROW;
void zla_herfsx_extended_64( const MKL_INT64* prec_type, const char* uplo,
                          const MKL_INT64* n, const MKL_INT64* nrhs,
                          const MKL_Complex16* a, const MKL_INT64* lda,
                          const MKL_Complex16* af, const MKL_INT64* ldaf,
                          const MKL_INT64* ipiv, const MKL_INT64* colequ,
                          const double* c, const MKL_Complex16* b,
                          const MKL_INT64* ldb, MKL_Complex16* y,
                          const MKL_INT64* ldy, double* berr_out,
                          const MKL_INT64* n_norms, double* err_bnds_norm,
                          double* err_bnds_comp, MKL_Complex16* res,
                          double* ayb, MKL_Complex16* dy,
                          MKL_Complex16* y_tail, const double* rcond,
                          const MKL_INT64* ithresh, const double* rthresh,
                          const double* dz_ub, const MKL_INT64* ignore_cwise,
                          MKL_INT64* info ) NOTHROW;

double ZLA_HERPVGRW_64( const char* uplo, const MKL_INT64* n, const MKL_INT64* info,
                     const MKL_Complex16* a, const MKL_INT64* lda,
                     const MKL_Complex16* af, const MKL_INT64* ldaf,
                     const MKL_INT64* ipiv, double* work ) NOTHROW;
double zla_herpvgrw_64( const char* uplo, const MKL_INT64* n, const MKL_INT64* info,
                     const MKL_Complex16* a, const MKL_INT64* lda,
                     const MKL_Complex16* af, const MKL_INT64* ldaf,
                     const MKL_INT64* ipiv, double* work ) NOTHROW;

void ZLA_LIN_BERR_64( const MKL_INT64* n, const MKL_INT64* nz, const MKL_INT64* nrhs,
                   const MKL_Complex16* res, const double* ayb, double* berr ) NOTHROW;
void zla_lin_berr_64( const MKL_INT64* n, const MKL_INT64* nz, const MKL_INT64* nrhs,
                   const MKL_Complex16* res, const double* ayb, double* berr ) NOTHROW;

double ZLA_PORCOND_C_64( const char* uplo, const MKL_INT64* n,
                      const MKL_Complex16* a, const MKL_INT64* lda,
                      const MKL_Complex16* af, const MKL_INT64* ldaf,
                      const double* c, const MKL_INT64* capply, MKL_INT64* info,
                      MKL_Complex16* work, double* rwork ) NOTHROW;
double zla_porcond_c_64( const char* uplo, const MKL_INT64* n,
                      const MKL_Complex16* a, const MKL_INT64* lda,
                      const MKL_Complex16* af, const MKL_INT64* ldaf,
                      const double* c, const MKL_INT64* capply, MKL_INT64* info,
                      MKL_Complex16* work, double* rwork ) NOTHROW;

double ZLA_PORCOND_X_64( const char* uplo, const MKL_INT64* n,
                      const MKL_Complex16* a, const MKL_INT64* lda,
                      const MKL_Complex16* af, const MKL_INT64* ldaf,
                      const MKL_Complex16* x, MKL_INT64* info,
                      MKL_Complex16* work, double* rwork ) NOTHROW;
double zla_porcond_x_64( const char* uplo, const MKL_INT64* n,
                      const MKL_Complex16* a, const MKL_INT64* lda,
                      const MKL_Complex16* af, const MKL_INT64* ldaf,
                      const MKL_Complex16* x, MKL_INT64* info,
                      MKL_Complex16* work, double* rwork ) NOTHROW;

void ZLA_PORFSX_EXTENDED_64( const MKL_INT64* prec_type, const char* uplo,
                          const MKL_INT64* n, const MKL_INT64* nrhs,
                          const MKL_Complex16* a, const MKL_INT64* lda,
                          const MKL_Complex16* af, const MKL_INT64* ldaf,
                          const MKL_INT64* colequ, const double* c,
                          const MKL_Complex16* b, const MKL_INT64* ldb,
                          MKL_Complex16* y, const MKL_INT64* ldy,
                          double* berr_out, const MKL_INT64* n_norms,
                          double* err_bnds_norm, double* err_bnds_comp,
                          MKL_Complex16* res, double* ayb, MKL_Complex16* dy,
                          MKL_Complex16* y_tail, const double* rcond,
                          const MKL_INT64* ithresh, const double* rthresh,
                          const double* dz_ub, const MKL_INT64* ignore_cwise,
                          MKL_INT64* info ) NOTHROW;
void zla_porfsx_extended_64( const MKL_INT64* prec_type, const char* uplo,
                          const MKL_INT64* n, const MKL_INT64* nrhs,
                          const MKL_Complex16* a, const MKL_INT64* lda,
                          const MKL_Complex16* af, const MKL_INT64* ldaf,
                          const MKL_INT64* colequ, const double* c,
                          const MKL_Complex16* b, const MKL_INT64* ldb,
                          MKL_Complex16* y, const MKL_INT64* ldy,
                          double* berr_out, const MKL_INT64* n_norms,
                          double* err_bnds_norm, double* err_bnds_comp,
                          MKL_Complex16* res, double* ayb, MKL_Complex16* dy,
                          MKL_Complex16* y_tail, const double* rcond,
                          const MKL_INT64* ithresh, const double* rthresh,
                          const double* dz_ub, const MKL_INT64* ignore_cwise,
                          MKL_INT64* info ) NOTHROW;

double ZLA_PORPVGRW_64( const char* uplo, const MKL_INT64* ncols,
                     const MKL_Complex16* a, const MKL_INT64* lda,
                     const MKL_Complex16* af, const MKL_INT64* ldaf,
                     double* work ) NOTHROW;
double zla_porpvgrw_64( const char* uplo, const MKL_INT64* ncols,
                     const MKL_Complex16* a, const MKL_INT64* lda,
                     const MKL_Complex16* af, const MKL_INT64* ldaf,
                     double* work ) NOTHROW;

void ZLA_SYAMV_64( const MKL_INT64* uplo, const MKL_INT64* n, const double* alpha,
                const MKL_Complex16* a, const MKL_INT64* lda,
                const MKL_Complex16* x, const MKL_INT64* incx,
                const double* beta, double* y, const MKL_INT64* incy ) NOTHROW;
void zla_syamv_64( const MKL_INT64* uplo, const MKL_INT64* n, const double* alpha,
                const MKL_Complex16* a, const MKL_INT64* lda,
                const MKL_Complex16* x, const MKL_INT64* incx,
                const double* beta, double* y, const MKL_INT64* incy ) NOTHROW;

double ZLA_SYRCOND_C_64( const char* uplo, const MKL_INT64* n,
                      const MKL_Complex16* a, const MKL_INT64* lda,
                      const MKL_Complex16* af, const MKL_INT64* ldaf,
                      const MKL_INT64* ipiv, const double* c,
                      const MKL_INT64* capply, MKL_INT64* info,
                      MKL_Complex16* work, double* rwork ) NOTHROW;
double zla_syrcond_c_64( const char* uplo, const MKL_INT64* n,
                      const MKL_Complex16* a, const MKL_INT64* lda,
                      const MKL_Complex16* af, const MKL_INT64* ldaf,
                      const MKL_INT64* ipiv, const double* c,
                      const MKL_INT64* capply, MKL_INT64* info,
                      MKL_Complex16* work, double* rwork ) NOTHROW;

double ZLA_SYRCOND_X_64( const char* uplo, const MKL_INT64* n,
                      const MKL_Complex16* a, const MKL_INT64* lda,
                      const MKL_Complex16* af, const MKL_INT64* ldaf,
                      const MKL_INT64* ipiv, const MKL_Complex16* x,
                      MKL_INT64* info, MKL_Complex16* work, double* rwork ) NOTHROW;
double zla_syrcond_x_64( const char* uplo, const MKL_INT64* n,
                      const MKL_Complex16* a, const MKL_INT64* lda,
                      const MKL_Complex16* af, const MKL_INT64* ldaf,
                      const MKL_INT64* ipiv, const MKL_Complex16* x,
                      MKL_INT64* info, MKL_Complex16* work, double* rwork ) NOTHROW;

void ZLA_SYRFSX_EXTENDED_64( const MKL_INT64* prec_type, const char* uplo,
                          const MKL_INT64* n, const MKL_INT64* nrhs,
                          const MKL_Complex16* a, const MKL_INT64* lda,
                          const MKL_Complex16* af, const MKL_INT64* ldaf,
                          const MKL_INT64* ipiv, const MKL_INT64* colequ,
                          const double* c, const MKL_Complex16* b,
                          const MKL_INT64* ldb, MKL_Complex16* y,
                          const MKL_INT64* ldy, double* berr_out,
                          const MKL_INT64* n_norms, double* err_bnds_norm,
                          double* err_bnds_comp, MKL_Complex16* res,
                          double* ayb, MKL_Complex16* dy,
                          MKL_Complex16* y_tail, const double* rcond,
                          const MKL_INT64* ithresh, const double* rthresh,
                          const double* dz_ub, const MKL_INT64* ignore_cwise,
                          MKL_INT64* info ) NOTHROW;
void zla_syrfsx_extended_64( const MKL_INT64* prec_type, const char* uplo,
                          const MKL_INT64* n, const MKL_INT64* nrhs,
                          const MKL_Complex16* a, const MKL_INT64* lda,
                          const MKL_Complex16* af, const MKL_INT64* ldaf,
                          const MKL_INT64* ipiv, const MKL_INT64* colequ,
                          const double* c, const MKL_Complex16* b,
                          const MKL_INT64* ldb, MKL_Complex16* y,
                          const MKL_INT64* ldy, double* berr_out,
                          const MKL_INT64* n_norms, double* err_bnds_norm,
                          double* err_bnds_comp, MKL_Complex16* res,
                          double* ayb, MKL_Complex16* dy,
                          MKL_Complex16* y_tail, const double* rcond,
                          const MKL_INT64* ithresh, const double* rthresh,
                          const double* dz_ub, const MKL_INT64* ignore_cwise,
                          MKL_INT64* info ) NOTHROW;

double ZLA_SYRPVGRW_64( const char* uplo, const MKL_INT64* n, const MKL_INT64* info,
                     const MKL_Complex16* a, const MKL_INT64* lda,
                     const MKL_Complex16* af, const MKL_INT64* ldaf,
                     const MKL_INT64* ipiv, double* work ) NOTHROW;
double zla_syrpvgrw_64( const char* uplo, const MKL_INT64* n, const MKL_INT64* info,
                     const MKL_Complex16* a, const MKL_INT64* lda,
                     const MKL_Complex16* af, const MKL_INT64* ldaf,
                     const MKL_INT64* ipiv, double* work ) NOTHROW;

void ZLA_WWADDW_64( const MKL_INT64* n, MKL_Complex16* x, MKL_Complex16* y,
                 const MKL_Complex16* w ) NOTHROW;
void zla_wwaddw_64( const MKL_INT64* n, MKL_Complex16* x, MKL_Complex16* y,
                 const MKL_Complex16* w ) NOTHROW;

void ZTPRFB_64( const char* side, const char* trans, const char* direct,
             const char* storev, const MKL_INT64* m, const MKL_INT64* n,
             const MKL_INT64* k, const MKL_INT64* l, const MKL_Complex16* v,
             const MKL_INT64* ldv, const MKL_Complex16* t, const MKL_INT64* ldt,
             MKL_Complex16* a, const MKL_INT64* lda, MKL_Complex16* b,
             const MKL_INT64* ldb, MKL_Complex16* work, const MKL_INT64* ldwork ) NOTHROW;
void ztprfb_64( const char* side, const char* trans, const char* direct,
             const char* storev, const MKL_INT64* m, const MKL_INT64* n,
             const MKL_INT64* k, const MKL_INT64* l, const MKL_Complex16* v,
             const MKL_INT64* ldv, const MKL_Complex16* t, const MKL_INT64* ldt,
             MKL_Complex16* a, const MKL_INT64* lda, MKL_Complex16* b,
             const MKL_INT64* ldb, MKL_Complex16* work, const MKL_INT64* ldwork ) NOTHROW;

/* oneMKL specific routines */

/* Tridiagonalization using Successive Bandwidth Reduction */

void CHERDB_64( const char* jobz, const char* uplo, const MKL_INT64* n,
             const MKL_INT64* kd, MKL_Complex8* a, const MKL_INT64* lda, float* d,
             float* e, MKL_Complex8* tau, MKL_Complex8* z, const MKL_INT64* ldz,
             MKL_Complex8* work, const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;
void cherdb_64( const char* jobz, const char* uplo, const MKL_INT64* n,
             const MKL_INT64* kd, MKL_Complex8* a, const MKL_INT64* lda, float* d,
             float* e, MKL_Complex8* tau, MKL_Complex8* z, const MKL_INT64* ldz,
             MKL_Complex8* work, const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;

void DSYRDB_64( const char* jobz, const char* uplo, const MKL_INT64* n,
             const MKL_INT64* kd, double* a, const MKL_INT64* lda, double* d,
             double* e, double* tau, double* z, const MKL_INT64* ldz,
             double* work, const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;
void dsyrdb_64( const char* jobz, const char* uplo, const MKL_INT64* n,
             const MKL_INT64* kd, double* a, const MKL_INT64* lda, double* d,
             double* e, double* tau, double* z, const MKL_INT64* ldz,
             double* work, const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;

void SSYRDB_64( const char* jobz, const char* uplo, const MKL_INT64* n,
             const MKL_INT64* kd, float* a, const MKL_INT64* lda, float* d,
             float* e, float* tau, float* z, const MKL_INT64* ldz, float* work,
             const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;
void ssyrdb_64( const char* jobz, const char* uplo, const MKL_INT64* n,
             const MKL_INT64* kd, float* a, const MKL_INT64* lda, float* d,
             float* e, float* tau, float* z, const MKL_INT64* ldz, float* work,
             const MKL_INT64* lwork, MKL_INT64* info ) NOTHROW;

void ZHERDB_64( const char* jobz, const char* uplo, const MKL_INT64* n,
             const MKL_INT64* kd, MKL_Complex16* a, const MKL_INT64* lda,
             double* d, double* e, MKL_Complex16* tau, MKL_Complex16* z,
             const MKL_INT64* ldz, MKL_Complex16* work, const MKL_INT64* lwork,
             MKL_INT64* info ) NOTHROW;
void zherdb_64( const char* jobz, const char* uplo, const MKL_INT64* n,
             const MKL_INT64* kd, MKL_Complex16* a, const MKL_INT64* lda,
             double* d, double* e, MKL_Complex16* tau, MKL_Complex16* z,
             const MKL_INT64* ldz, MKL_Complex16* work, const MKL_INT64* lwork,
             MKL_INT64* info ) NOTHROW;

/* Tridiagonal diagonally-dominant linear equations solver
   using the BABE algorithm _64(Burning At Both Ends) NOTHROW; */

void CDTSVB_64( const MKL_INT64* n, const MKL_INT64* nrhs, MKL_Complex8* dl,
             MKL_Complex8* d, const MKL_Complex8* du, MKL_Complex8* b,
             const MKL_INT64* ldb, MKL_INT64* info ) NOTHROW;
void cdtsvb_64( const MKL_INT64* n, const MKL_INT64* nrhs, MKL_Complex8* dl,
             MKL_Complex8* d, const MKL_Complex8* du, MKL_Complex8* b,
             const MKL_INT64* ldb, MKL_INT64* info ) NOTHROW;

void CDTTRFB_64( const MKL_INT64* n, MKL_Complex8* dl, MKL_Complex8* d,
              const MKL_Complex8* du, MKL_INT64* info ) NOTHROW;
void cdttrfb_64( const MKL_INT64* n, MKL_Complex8* dl, MKL_Complex8* d,
              const MKL_Complex8* du, MKL_INT64* info ) NOTHROW;

void CDTTRSB_64( const char* trans, const MKL_INT64* n, const MKL_INT64* nrhs,
              const MKL_Complex8* dl, const MKL_Complex8* d,
              const MKL_Complex8* du, MKL_Complex8* b, const MKL_INT64* ldb,
              MKL_INT64* info ) NOTHROW;
void cdttrsb_64( const char* trans, const MKL_INT64* n, const MKL_INT64* nrhs,
              const MKL_Complex8* dl, const MKL_Complex8* d,
              const MKL_Complex8* du, MKL_Complex8* b, const MKL_INT64* ldb,
              MKL_INT64* info ) NOTHROW;

void DDTSVB_64( const MKL_INT64* n, const MKL_INT64* nrhs, double* dl, double* d,
             const double* du, double* b, const MKL_INT64* ldb, MKL_INT64* info ) NOTHROW;
void ddtsvb_64( const MKL_INT64* n, const MKL_INT64* nrhs, double* dl, double* d,
             const double* du, double* b, const MKL_INT64* ldb, MKL_INT64* info ) NOTHROW;

void DDTTRFB_64( const MKL_INT64* n, double* dl, double* d, const double* du,
              MKL_INT64* info ) NOTHROW;
void ddttrfb_64( const MKL_INT64* n, double* dl, double* d, const double* du,
              MKL_INT64* info ) NOTHROW;

void DDTTRSB_64( const char* trans, const MKL_INT64* n, const MKL_INT64* nrhs,
              const double* dl, const double* d, const double* du, double* b,
              const MKL_INT64* ldb, MKL_INT64* info ) NOTHROW;
void ddttrsb_64( const char* trans, const MKL_INT64* n, const MKL_INT64* nrhs,
              const double* dl, const double* d, const double* du, double* b,
              const MKL_INT64* ldb, MKL_INT64* info ) NOTHROW;

void SDTSVB_64( const MKL_INT64* n, const MKL_INT64* nrhs, float* dl, float* d,
             const float* du, float* b, const MKL_INT64* ldb, MKL_INT64* info ) NOTHROW;
void sdtsvb_64( const MKL_INT64* n, const MKL_INT64* nrhs, float* dl, float* d,
             const float* du, float* b, const MKL_INT64* ldb, MKL_INT64* info ) NOTHROW;

void SDTTRFB_64( const MKL_INT64* n, float* dl, float* d, const float* du,
              MKL_INT64* info ) NOTHROW;
void sdttrfb_64( const MKL_INT64* n, float* dl, float* d, const float* du,
              MKL_INT64* info ) NOTHROW;

void SDTTRSB_64( const char* trans, const MKL_INT64* n, const MKL_INT64* nrhs,
              const float* dl, const float* d, const float* du, float* b,
              const MKL_INT64* ldb, MKL_INT64* info ) NOTHROW;
void sdttrsb_64( const char* trans, const MKL_INT64* n, const MKL_INT64* nrhs,
              const float* dl, const float* d, const float* du, float* b,
              const MKL_INT64* ldb, MKL_INT64* info ) NOTHROW;

void ZDTSVB_64( const MKL_INT64* n, const MKL_INT64* nrhs, MKL_Complex16* dl,
             MKL_Complex16* d, const MKL_Complex16* du, MKL_Complex16* b,
             const MKL_INT64* ldb, MKL_INT64* info ) NOTHROW;
void zdtsvb_64( const MKL_INT64* n, const MKL_INT64* nrhs, MKL_Complex16* dl,
             MKL_Complex16* d, const MKL_Complex16* du, MKL_Complex16* b,
             const MKL_INT64* ldb, MKL_INT64* info ) NOTHROW;

void ZDTTRFB_64( const MKL_INT64* n, MKL_Complex16* dl, MKL_Complex16* d,
              const MKL_Complex16* du, MKL_INT64* info ) NOTHROW;
void zdttrfb_64( const MKL_INT64* n, MKL_Complex16* dl, MKL_Complex16* d,
              const MKL_Complex16* du, MKL_INT64* info ) NOTHROW;

void ZDTTRSB_64( const char* trans, const MKL_INT64* n, const MKL_INT64* nrhs,
              const MKL_Complex16* dl, const MKL_Complex16* d,
              const MKL_Complex16* du, MKL_Complex16* b, const MKL_INT64* ldb,
              MKL_INT64* info ) NOTHROW;
void zdttrsb_64( const char* trans, const MKL_INT64* n, const MKL_INT64* nrhs,
              const MKL_Complex16* dl, const MKL_Complex16* d,
              const MKL_Complex16* du, MKL_Complex16* b, const MKL_INT64* ldb,
              MKL_INT64* info ) NOTHROW;

/* Converters for standard packed format */

void MKL_CTPPACK_64( const char* uplo, const char* trans, const MKL_INT64* n,
                  MKL_Complex8* ap, const MKL_INT64* i, const MKL_INT64* j,
                  const MKL_INT64* rows, const MKL_INT64* cols,
                  const MKL_Complex8* a, const MKL_INT64* lda, MKL_INT64* info ) NOTHROW;
void MKL_CTPPACK_64_( const char* uplo, const char* trans, const MKL_INT64* n,
                   MKL_Complex8* ap, const MKL_INT64* i, const MKL_INT64* j,
                   const MKL_INT64* rows, const MKL_INT64* cols,
                   const MKL_Complex8* a, const MKL_INT64* lda, MKL_INT64* info ) NOTHROW;
void mkl_ctppack_64( const char* uplo, const char* trans, const MKL_INT64* n,
                  MKL_Complex8* ap, const MKL_INT64* i, const MKL_INT64* j,
                  const MKL_INT64* rows, const MKL_INT64* cols,
                  const MKL_Complex8* a, const MKL_INT64* lda, MKL_INT64* info ) NOTHROW;
void mkl_ctppack_64_( const char* uplo, const char* trans, const MKL_INT64* n,
                   MKL_Complex8* ap, const MKL_INT64* i, const MKL_INT64* j,
                   const MKL_INT64* rows, const MKL_INT64* cols,
                   const MKL_Complex8* a, const MKL_INT64* lda, MKL_INT64* info ) NOTHROW;

void MKL_DTPPACK_64( const char* uplo, const char* trans, const MKL_INT64* n,
                  double* ap, const MKL_INT64* i, const MKL_INT64* j,
                  const MKL_INT64* rows, const MKL_INT64* cols,
                  const double* a, const MKL_INT64* lda, MKL_INT64* info ) NOTHROW;
void MKL_DTPPACK_64_( const char* uplo, const char* trans, const MKL_INT64* n,
                   double* ap, const MKL_INT64* i, const MKL_INT64* j,
                   const MKL_INT64* rows, const MKL_INT64* cols,
                   const double* a, const MKL_INT64* lda, MKL_INT64* info ) NOTHROW;
void mkl_dtppack_64( const char* uplo, const char* trans, const MKL_INT64* n,
                  double* ap, const MKL_INT64* i, const MKL_INT64* j,
                  const MKL_INT64* rows, const MKL_INT64* cols,
                  const double* a, const MKL_INT64* lda, MKL_INT64* info ) NOTHROW;
void mkl_dtppack_64_( const char* uplo, const char* trans, const MKL_INT64* n,
                   double* ap, const MKL_INT64* i, const MKL_INT64* j,
                   const MKL_INT64* rows, const MKL_INT64* cols,
                   const double* a, const MKL_INT64* lda, MKL_INT64* info ) NOTHROW;

void MKL_STPPACK_64( const char* uplo, const char* trans, const MKL_INT64* n,
                  float* ap, const MKL_INT64* i, const MKL_INT64* j,
                  const MKL_INT64* rows, const MKL_INT64* cols,
                  const float* a, const MKL_INT64* lda, MKL_INT64* info ) NOTHROW;
void MKL_STPPACK_64_( const char* uplo, const char* trans, const MKL_INT64* n,
                   float* ap, const MKL_INT64* i, const MKL_INT64* j,
                   const MKL_INT64* rows, const MKL_INT64* cols,
                   const float* a, const MKL_INT64* lda, MKL_INT64* info ) NOTHROW;
void mkl_stppack_64( const char* uplo, const char* trans, const MKL_INT64* n,
                  float* ap, const MKL_INT64* i, const MKL_INT64* j,
                  const MKL_INT64* rows, const MKL_INT64* cols,
                  const float* a, const MKL_INT64* lda, MKL_INT64* info ) NOTHROW;
void mkl_stppack_64_( const char* uplo, const char* trans, const MKL_INT64* n,
                   float* ap, const MKL_INT64* i, const MKL_INT64* j,
                   const MKL_INT64* rows, const MKL_INT64* cols,
                   const float* a, const MKL_INT64* lda, MKL_INT64* info ) NOTHROW;

void MKL_ZTPPACK_64( const char* uplo, const char* trans, const MKL_INT64* n,
                  MKL_Complex16* ap, const MKL_INT64* i, const MKL_INT64* j,
                  const MKL_INT64* rows, const MKL_INT64* cols,
                  const MKL_Complex16* a, const MKL_INT64* lda, MKL_INT64* info ) NOTHROW;
void MKL_ZTPPACK_64_( const char* uplo, const char* trans, const MKL_INT64* n,
                   MKL_Complex16* ap, const MKL_INT64* i, const MKL_INT64* j,
                   const MKL_INT64* rows, const MKL_INT64* cols,
                   const MKL_Complex16* a, const MKL_INT64* lda, MKL_INT64* info ) NOTHROW;
void mkl_ztppack_64( const char* uplo, const char* trans, const MKL_INT64* n,
                  MKL_Complex16* ap, const MKL_INT64* i, const MKL_INT64* j,
                  const MKL_INT64* rows, const MKL_INT64* cols,
                  const MKL_Complex16* a, const MKL_INT64* lda, MKL_INT64* info ) NOTHROW;
void mkl_ztppack_64_( const char* uplo, const char* trans, const MKL_INT64* n,
                   MKL_Complex16* ap, const MKL_INT64* i, const MKL_INT64* j,
                   const MKL_INT64* rows, const MKL_INT64* cols,
                   const MKL_Complex16* a, const MKL_INT64* lda, MKL_INT64* info ) NOTHROW;

void MKL_CTPUNPACK_64( const char* uplo, const char* trans, const MKL_INT64* n,
                    const MKL_Complex8* ap, const MKL_INT64* i, const MKL_INT64* j,
                    const MKL_INT64* rows, const MKL_INT64* cols,
                    MKL_Complex8* a, const MKL_INT64* lda, MKL_INT64* info ) NOTHROW;
void MKL_CTPUNPACK_64_( const char* uplo, const char* trans, const MKL_INT64* n,
                     const MKL_Complex8* ap, const MKL_INT64* i, const MKL_INT64* j,
                     const MKL_INT64* rows, const MKL_INT64* cols,
                     MKL_Complex8* a, const MKL_INT64* lda, MKL_INT64* info ) NOTHROW;
void mkl_ctpunpack_64( const char* uplo, const char* trans, const MKL_INT64* n,
                    const MKL_Complex8* ap, const MKL_INT64* i, const MKL_INT64* j,
                    const MKL_INT64* rows, const MKL_INT64* cols,
                    MKL_Complex8* a, const MKL_INT64* lda, MKL_INT64* info ) NOTHROW;
void mkl_ctpunpack_64_( const char* uplo, const char* trans, const MKL_INT64* n,
                     const MKL_Complex8* ap, const MKL_INT64* i, const MKL_INT64* j,
                     const MKL_INT64* rows, const MKL_INT64* cols,
                     MKL_Complex8* a, const MKL_INT64* lda, MKL_INT64* info ) NOTHROW;

void MKL_DTPUNPACK_64( const char* uplo, const char* trans, const MKL_INT64* n,
                    const double* ap, const MKL_INT64* i, const MKL_INT64* j,
                    const MKL_INT64* rows, const MKL_INT64* cols,
                    double* a, const MKL_INT64* lda, MKL_INT64* info ) NOTHROW;
void MKL_DTPUNPACK_64_( const char* uplo, const char* trans, const MKL_INT64* n,
                     const double* ap, const MKL_INT64* i, const MKL_INT64* j,
                     const MKL_INT64* rows, const MKL_INT64* cols,
                     double* a, const MKL_INT64* lda, MKL_INT64* info ) NOTHROW;
void mkl_dtpunpack_64( const char* uplo, const char* trans, const MKL_INT64* n,
                    const double* ap, const MKL_INT64* i, const MKL_INT64* j,
                    const MKL_INT64* rows, const MKL_INT64* cols,
                    double* a, const MKL_INT64* lda, MKL_INT64* info ) NOTHROW;
void mkl_dtpunpack_64_( const char* uplo, const char* trans, const MKL_INT64* n,
                     const double* ap, const MKL_INT64* i, const MKL_INT64* j,
                     const MKL_INT64* rows, const MKL_INT64* cols,
                     double* a, const MKL_INT64* lda, MKL_INT64* info ) NOTHROW;

void MKL_STPUNPACK_64( const char* uplo, const char* trans, const MKL_INT64* n,
                    const float* ap, const MKL_INT64* i, const MKL_INT64* j,
                    const MKL_INT64* rows, const MKL_INT64* cols,
                    float* a, const MKL_INT64* lda, MKL_INT64* info ) NOTHROW;
void MKL_STPUNPACK_64_( const char* uplo, const char* trans, const MKL_INT64* n,
                     const float* ap, const MKL_INT64* i, const MKL_INT64* j,
                     const MKL_INT64* rows, const MKL_INT64* cols,
                     float* a, const MKL_INT64* lda, MKL_INT64* info ) NOTHROW;
void mkl_stpunpack_64( const char* uplo, const char* trans, const MKL_INT64* n,
                    const float* ap, const MKL_INT64* i, const MKL_INT64* j,
                    const MKL_INT64* rows, const MKL_INT64* cols,
                    float* a, const MKL_INT64* lda, MKL_INT64* info ) NOTHROW;
void mkl_stpunpack_64_( const char* uplo, const char* trans, const MKL_INT64* n,
                     const float* ap, const MKL_INT64* i, const MKL_INT64* j,
                     const MKL_INT64* rows, const MKL_INT64* cols,
                     float* a, const MKL_INT64* lda, MKL_INT64* info ) NOTHROW;

void MKL_ZTPUNPACK_64( const char* uplo, const char* trans, const MKL_INT64* n,
                    const MKL_Complex16* ap, const MKL_INT64* i, const MKL_INT64* j,
                    const MKL_INT64* rows, const MKL_INT64* cols,
                    MKL_Complex16* a, const MKL_INT64* lda, MKL_INT64* info ) NOTHROW;
void MKL_ZTPUNPACK_64_( const char* uplo, const char* trans, const MKL_INT64* n,
                     const MKL_Complex16* ap, const MKL_INT64* i, const MKL_INT64* j,
                     const MKL_INT64* rows, const MKL_INT64* cols,
                     MKL_Complex16* a, const MKL_INT64* lda, MKL_INT64* info ) NOTHROW;
void mkl_ztpunpack_64( const char* uplo, const char* trans, const MKL_INT64* n,
                    const MKL_Complex16* ap, const MKL_INT64* i, const MKL_INT64* j,
                    const MKL_INT64* rows, const MKL_INT64* cols,
                    MKL_Complex16* a, const MKL_INT64* lda, MKL_INT64* info ) NOTHROW;
void mkl_ztpunpack_64_( const char* uplo, const char* trans, const MKL_INT64* n,
                     const MKL_Complex16* ap, const MKL_INT64* i, const MKL_INT64* j,
                     const MKL_INT64* rows, const MKL_INT64* cols,
                     MKL_Complex16* a, const MKL_INT64* lda, MKL_INT64* info ) NOTHROW;

/* LAPACK MATGEN routines */
void DLATM1_64( const MKL_INT64* mode, const double* cond, const MKL_INT64* irsign,
             const MKL_INT64* idist, MKL_INT64* iseed, double* d,
             const MKL_INT64* n, MKL_INT64* info ) NOTHROW;
void dlatm1_64( const MKL_INT64* mode, const double* cond, const MKL_INT64* irsign,
             const MKL_INT64* idist, MKL_INT64* iseed, double* d,
             const MKL_INT64* n, MKL_INT64* info ) NOTHROW;

void SLATM1_64( const MKL_INT64* mode, const float* cond, const MKL_INT64* irsign,
             const MKL_INT64* idist, MKL_INT64* iseed, float* d,
             const MKL_INT64* n, MKL_INT64* info ) NOTHROW;
void slatm1_64( const MKL_INT64* mode, const float* cond, const MKL_INT64* irsign,
             const MKL_INT64* idist, MKL_INT64* iseed, float* d,
             const MKL_INT64* n, MKL_INT64* info ) NOTHROW;

void CLATM1_64( const MKL_INT64* mode, const float* cond, const MKL_INT64* irsign,
             const MKL_INT64* idist, MKL_INT64* iseed, MKL_Complex8* d,
             const MKL_INT64* n, MKL_INT64* info ) NOTHROW;
void clatm1_64( const MKL_INT64* mode, const float* cond, const MKL_INT64* irsign,
             const MKL_INT64* idist, MKL_INT64* iseed, MKL_Complex8* d,
             const MKL_INT64* n, MKL_INT64* info ) NOTHROW;

void ZLATM1_64( const MKL_INT64* mode, const double* cond, const MKL_INT64* irsign,
             const MKL_INT64* idist, MKL_INT64* iseed, MKL_Complex16* d,
             const MKL_INT64* n, MKL_INT64* info ) NOTHROW;
void zlatm1_64( const MKL_INT64* mode, const double* cond, const MKL_INT64* irsign,
             const MKL_INT64* idist, MKL_INT64* iseed, MKL_Complex16* d,
             const MKL_INT64* n, MKL_INT64* info ) NOTHROW;

double DLATM2_64( const MKL_INT64* m, const MKL_INT64* n, MKL_INT64* ii,
               const MKL_INT64* j, const MKL_INT64* kl, const MKL_INT64* ku,
               const MKL_INT64* idist, MKL_INT64* iseed, const double* d,
               const MKL_INT64* igrade, const double* dl, const double* dr,
               const MKL_INT64* ipvtng, MKL_INT64* iwork, const double* sparse ) NOTHROW;
double dlatm2_64( const MKL_INT64* m, const MKL_INT64* n, MKL_INT64* ii,
               const MKL_INT64* j, const MKL_INT64* kl, const MKL_INT64* ku,
               const MKL_INT64* idist, MKL_INT64* iseed, const double* d,
               const MKL_INT64* igrade, const double* dl, const double* dr,
               const MKL_INT64* ipvtng, MKL_INT64* iwork, const double* sparse ) NOTHROW;

float SLATM2_64( const MKL_INT64* m, const MKL_INT64* n, MKL_INT64* ii,
              const MKL_INT64* j, const MKL_INT64* kl, const MKL_INT64* ku,
              const MKL_INT64* idist, MKL_INT64* iseed, const float* d,
              const MKL_INT64* igrade, const float* dl, const float* dr,
              const MKL_INT64* ipvtng, MKL_INT64* iwork, const float* sparse ) NOTHROW;
float slatm2_64( const MKL_INT64* m, const MKL_INT64* n, MKL_INT64* ii,
              const MKL_INT64* j, const MKL_INT64* kl, const MKL_INT64* ku,
              const MKL_INT64* idist, MKL_INT64* iseed, const float* d,
              const MKL_INT64* igrade, const float* dl, const float* dr,
              const MKL_INT64* ipvtng, MKL_INT64* iwork, const float* sparse ) NOTHROW;

void CLATM2_64( MKL_Complex8* retval, const MKL_INT64* m, const MKL_INT64* n,
             MKL_INT64* ii, const MKL_INT64* j, const MKL_INT64* kl,
             const MKL_INT64* ku, const MKL_INT64* idist, MKL_INT64* iseed,
             const MKL_Complex8* d, const MKL_INT64* igrade,
             const MKL_Complex8* dl, const MKL_Complex8* dr,
             const MKL_INT64* ipvtng, MKL_INT64* iwork, const float* sparse ) NOTHROW;
void clatm2_64( MKL_Complex8* retval, const MKL_INT64* m, const MKL_INT64* n,
             MKL_INT64* ii, const MKL_INT64* j, const MKL_INT64* kl,
             const MKL_INT64* ku, const MKL_INT64* idist, MKL_INT64* iseed,
             const MKL_Complex8* d, const MKL_INT64* igrade,
             const MKL_Complex8* dl, const MKL_Complex8* dr,
             const MKL_INT64* ipvtng, MKL_INT64* iwork, const float* sparse ) NOTHROW;

void ZLATM2_64( MKL_Complex16* retval, const MKL_INT64* m, const MKL_INT64* n,
             MKL_INT64* ii, const MKL_INT64* j, const MKL_INT64* kl,
             const MKL_INT64* ku, const MKL_INT64* idist, MKL_INT64* iseed,
             const MKL_Complex16* d, const MKL_INT64* igrade,
             const MKL_Complex16* dl, const MKL_Complex16* dr,
             const MKL_INT64* ipvtng, MKL_INT64* iwork, const double* sparse ) NOTHROW;
void zlatm2_64( MKL_Complex16* retval, const MKL_INT64* m, const MKL_INT64* n,
             MKL_INT64* ii, const MKL_INT64* j, const MKL_INT64* kl,
             const MKL_INT64* ku, const MKL_INT64* idist, MKL_INT64* iseed,
             const MKL_Complex16* d, const MKL_INT64* igrade,
             const MKL_Complex16* dl, const MKL_Complex16* dr,
             const MKL_INT64* ipvtng, MKL_INT64* iwork, const double* sparse ) NOTHROW;

double DLATM3_64( const MKL_INT64* m, const MKL_INT64* n, MKL_INT64* ii,
               const MKL_INT64* j, MKL_INT64* isub, MKL_INT64* jsub,
               const MKL_INT64* kl, const MKL_INT64* ku, const MKL_INT64* idist,
               MKL_INT64* iseed, const double* d, const MKL_INT64* igrade,
               const double* dl, const double* dr, const MKL_INT64* ipvtng,
               const MKL_INT64* iwork, const double* sparse ) NOTHROW;
double dlatm3_64( const MKL_INT64* m, const MKL_INT64* n, MKL_INT64* ii,
               const MKL_INT64* j, MKL_INT64* isub, MKL_INT64* jsub,
               const MKL_INT64* kl, const MKL_INT64* ku, const MKL_INT64* idist,
               MKL_INT64* iseed, const double* d, const MKL_INT64* igrade,
               const double* dl, const double* dr, const MKL_INT64* ipvtng,
               const MKL_INT64* iwork, const double* sparse ) NOTHROW;

float SLATM3_64( const MKL_INT64* m, const MKL_INT64* n, MKL_INT64* ii,
              const MKL_INT64* j, MKL_INT64* isub, MKL_INT64* jsub,
              const MKL_INT64* kl, const MKL_INT64* ku, const MKL_INT64* idist,
              MKL_INT64* iseed, const float* d, const MKL_INT64* igrade,
              const float* dl, const float* dr, const MKL_INT64* ipvtng,
              const MKL_INT64* iwork, const float* sparse ) NOTHROW;
float slatm3_64( const MKL_INT64* m, const MKL_INT64* n, MKL_INT64* ii,
              const MKL_INT64* j, MKL_INT64* isub, MKL_INT64* jsub,
              const MKL_INT64* kl, const MKL_INT64* ku, const MKL_INT64* idist,
              MKL_INT64* iseed, const float* d, const MKL_INT64* igrade,
              const float* dl, const float* dr, const MKL_INT64* ipvtng,
              const MKL_INT64* iwork, const float* sparse ) NOTHROW;

void CLATM3_64( MKL_Complex8* retval, const MKL_INT64* m, const MKL_INT64* n,
             MKL_INT64* ii, const MKL_INT64* j, MKL_INT64* isub, MKL_INT64* jsub,
             const MKL_INT64* kl, const MKL_INT64* ku, const MKL_INT64* idist,
             MKL_INT64* iseed, const MKL_Complex8* d, const MKL_INT64* igrade,
             const MKL_Complex8* dl, const MKL_Complex8* dr,
             const MKL_INT64* ipvtng, const MKL_INT64* iwork,
             const float* sparse ) NOTHROW;
void clatm3_64( MKL_Complex8* retval, const MKL_INT64* m, const MKL_INT64* n,
             MKL_INT64* ii, const MKL_INT64* j, MKL_INT64* isub, MKL_INT64* jsub,
             const MKL_INT64* kl, const MKL_INT64* ku, const MKL_INT64* idist,
             MKL_INT64* iseed, const MKL_Complex8* d, const MKL_INT64* igrade,
             const MKL_Complex8* dl, const MKL_Complex8* dr,
             const MKL_INT64* ipvtng, const MKL_INT64* iwork,
             const float* sparse ) NOTHROW;

void ZLATM3_64( MKL_Complex16* retval, const MKL_INT64* m, const MKL_INT64* n,
             MKL_INT64* ii, const MKL_INT64* j, MKL_INT64* isub, MKL_INT64* jsub,
             const MKL_INT64* kl, const MKL_INT64* ku, const MKL_INT64* idist,
             MKL_INT64* iseed, const MKL_Complex16* d, const MKL_INT64* igrade,
             const MKL_Complex16* dl, const MKL_Complex16* dr,
             const MKL_INT64* ipvtng, const MKL_INT64* iwork,
             const double* sparse ) NOTHROW;
void zlatm3_64( MKL_Complex16* retval, const MKL_INT64* m, const MKL_INT64* n,
             MKL_INT64* ii, const MKL_INT64* j, MKL_INT64* isub, MKL_INT64* jsub,
             const MKL_INT64* kl, const MKL_INT64* ku, const MKL_INT64* idist,
             MKL_INT64* iseed, const MKL_Complex16* d, const MKL_INT64* igrade,
             const MKL_Complex16* dl, const MKL_Complex16* dr,
             const MKL_INT64* ipvtng, const MKL_INT64* iwork,
             const double* sparse ) NOTHROW;

void DLATM5_64( const MKL_INT64* prtype, const MKL_INT64* m, const MKL_INT64* n,
             double* a, const MKL_INT64* lda, double* b, const MKL_INT64* ldb,
             double* c, const MKL_INT64* ldc, double* d, const MKL_INT64* ldd,
             double* e, const MKL_INT64* lde, double* f, const MKL_INT64* ldf,
             double* r, const MKL_INT64* ldr, double* l, const MKL_INT64* ldl,
             const double* alpha, const MKL_INT64* qblcka,
             const MKL_INT64* qblckb ) NOTHROW;
void dlatm5_64( const MKL_INT64* prtype, const MKL_INT64* m, const MKL_INT64* n,
             double* a, const MKL_INT64* lda, double* b, const MKL_INT64* ldb,
             double* c, const MKL_INT64* ldc, double* d, const MKL_INT64* ldd,
             double* e, const MKL_INT64* lde, double* f, const MKL_INT64* ldf,
             double* r, const MKL_INT64* ldr, double* l, const MKL_INT64* ldl,
             const double* alpha, const MKL_INT64* qblcka,
             const MKL_INT64* qblckb ) NOTHROW;

void SLATM5_64( const MKL_INT64* prtype, const MKL_INT64* m, const MKL_INT64* n,
             float* a, const MKL_INT64* lda, float* b, const MKL_INT64* ldb,
             float* c, const MKL_INT64* ldc, float* d, const MKL_INT64* ldd,
             float* e, const MKL_INT64* lde, float* f, const MKL_INT64* ldf,
             float* r, const MKL_INT64* ldr, float* l, const MKL_INT64* ldl,
             const float* alpha, const MKL_INT64* qblcka,
             const MKL_INT64* qblckb ) NOTHROW;
void slatm5_64( const MKL_INT64* prtype, const MKL_INT64* m, const MKL_INT64* n,
             float* a, const MKL_INT64* lda, float* b, const MKL_INT64* ldb,
             float* c, const MKL_INT64* ldc, float* d, const MKL_INT64* ldd,
             float* e, const MKL_INT64* lde, float* f, const MKL_INT64* ldf,
             float* r, const MKL_INT64* ldr, float* l, const MKL_INT64* ldl,
             const float* alpha, const MKL_INT64* qblcka,
             const MKL_INT64* qblckb ) NOTHROW;

void CLATM5_64( const MKL_INT64* prtype, const MKL_INT64* m, const MKL_INT64* n,
             MKL_Complex8* a, const MKL_INT64* lda, MKL_Complex8* b,
             const MKL_INT64* ldb, MKL_Complex8* c, const MKL_INT64* ldc,
             MKL_Complex8* d, const MKL_INT64* ldd, MKL_Complex8* e,
             const MKL_INT64* lde, MKL_Complex8* f, const MKL_INT64* ldf,
             MKL_Complex8* r, const MKL_INT64* ldr, MKL_Complex8* l,
             const MKL_INT64* ldl, const float* alpha, const MKL_INT64* qblcka,
             const MKL_INT64* qblckb ) NOTHROW;
void clatm5_64( const MKL_INT64* prtype, const MKL_INT64* m, const MKL_INT64* n,
             MKL_Complex8* a, const MKL_INT64* lda, MKL_Complex8* b,
             const MKL_INT64* ldb, MKL_Complex8* c, const MKL_INT64* ldc,
             MKL_Complex8* d, const MKL_INT64* ldd, MKL_Complex8* e,
             const MKL_INT64* lde, MKL_Complex8* f, const MKL_INT64* ldf,
             MKL_Complex8* r, const MKL_INT64* ldr, MKL_Complex8* l,
             const MKL_INT64* ldl, const float* alpha, const MKL_INT64* qblcka,
             const MKL_INT64* qblckb ) NOTHROW;

void ZLATM5_64( const MKL_INT64* prtype, const MKL_INT64* m, const MKL_INT64* n,
             MKL_Complex16* a, const MKL_INT64* lda, MKL_Complex16* b,
             const MKL_INT64* ldb, MKL_Complex16* c, const MKL_INT64* ldc,
             MKL_Complex16* d, const MKL_INT64* ldd, MKL_Complex16* e,
             const MKL_INT64* lde, MKL_Complex16* f, const MKL_INT64* ldf,
             MKL_Complex16* r, const MKL_INT64* ldr, MKL_Complex16* l,
             const MKL_INT64* ldl, const double* alpha, const MKL_INT64* qblcka,
             const MKL_INT64* qblckb ) NOTHROW;
void zlatm5_64( const MKL_INT64* prtype, const MKL_INT64* m, const MKL_INT64* n,
             MKL_Complex16* a, const MKL_INT64* lda, MKL_Complex16* b,
             const MKL_INT64* ldb, MKL_Complex16* c, const MKL_INT64* ldc,
             MKL_Complex16* d, const MKL_INT64* ldd, MKL_Complex16* e,
             const MKL_INT64* lde, MKL_Complex16* f, const MKL_INT64* ldf,
             MKL_Complex16* r, const MKL_INT64* ldr, MKL_Complex16* l,
             const MKL_INT64* ldl, const double* alpha, const MKL_INT64* qblcka,
             const MKL_INT64* qblckb ) NOTHROW;

void DLATM6_64( const MKL_INT64* type, const MKL_INT64* n, double* a,
             const MKL_INT64* lda, double* b, double* x, const MKL_INT64* ldx,
             double* y, const MKL_INT64* ldy, const double* alpha,
             const double* beta, const double* wx, const double* wy, double* s,
             double* dif ) NOTHROW;
void dlatm6_64( const MKL_INT64* type, const MKL_INT64* n, double* a,
             const MKL_INT64* lda, double* b, double* x, const MKL_INT64* ldx,
             double* y, const MKL_INT64* ldy, const double* alpha,
             const double* beta, const double* wx, const double* wy, double* s,
             double* dif ) NOTHROW;

void SLATM6_64( const MKL_INT64* type, const MKL_INT64* n, float* a,
             const MKL_INT64* lda, float* b, float* x, const MKL_INT64* ldx,
             float* y, const MKL_INT64* ldy, const float* alpha,
             const float* beta, const float* wx, const float* wy, float* s,
             float* dif ) NOTHROW;
void slatm6_64( const MKL_INT64* type, const MKL_INT64* n, float* a,
             const MKL_INT64* lda, float* b, float* x, const MKL_INT64* ldx,
             float* y, const MKL_INT64* ldy, const float* alpha,
             const float* beta, const float* wx, const float* wy, float* s,
             float* dif ) NOTHROW;

void CLATM6_64( const MKL_INT64* type, const MKL_INT64* n, MKL_Complex8* a,
             const MKL_INT64* lda, MKL_Complex8* b, MKL_Complex8* x,
             const MKL_INT64* ldx, MKL_Complex8* y, const MKL_INT64* ldy,
             const MKL_Complex8* alpha, const MKL_Complex8* beta,
             const MKL_Complex8* wx, const MKL_Complex8* wy, float* s,
             float* dif ) NOTHROW;
void clatm6_64( const MKL_INT64* type, const MKL_INT64* n, MKL_Complex8* a,
             const MKL_INT64* lda, MKL_Complex8* b, MKL_Complex8* x,
             const MKL_INT64* ldx, MKL_Complex8* y, const MKL_INT64* ldy,
             const MKL_Complex8* alpha, const MKL_Complex8* beta,
             const MKL_Complex8* wx, const MKL_Complex8* wy, float* s,
             float* dif ) NOTHROW;

void ZLATM6_64( const MKL_INT64* type, const MKL_INT64* n, MKL_Complex16* a,
             const MKL_INT64* lda, MKL_Complex16* b, MKL_Complex16* x,
             const MKL_INT64* ldx, MKL_Complex16* y, const MKL_INT64* ldy,
             const MKL_Complex16* alpha, const MKL_Complex16* beta,
             const MKL_Complex16* wx, const MKL_Complex16* wy, double* s,
             double* dif ) NOTHROW;
void zlatm6_64( const MKL_INT64* type, const MKL_INT64* n, MKL_Complex16* a,
             const MKL_INT64* lda, MKL_Complex16* b, MKL_Complex16* x,
             const MKL_INT64* ldx, MKL_Complex16* y, const MKL_INT64* ldy,
             const MKL_Complex16* alpha, const MKL_Complex16* beta,
             const MKL_Complex16* wx, const MKL_Complex16* wy, double* s,
             double* dif ) NOTHROW;

void DLATME_64( const MKL_INT64* n, const char* dist, MKL_INT64* iseed, double* d,
             const MKL_INT64* mode, const double* cond, const double* dmax,
             const char* ei, const char* rsign, const char* upper,
             const char* sim, double* ds, const MKL_INT64* modes,
             const double* conds, const MKL_INT64* kl, const MKL_INT64* ku,
             const double* anorm, double* a, const MKL_INT64* lda, double* work,
             MKL_INT64* info ) NOTHROW;
void dlatme_64( const MKL_INT64* n, const char* dist, MKL_INT64* iseed, double* d,
             const MKL_INT64* mode, const double* cond, const double* dmax,
             const char* ei, const char* rsign, const char* upper,
             const char* sim, double* ds, const MKL_INT64* modes,
             const double* conds, const MKL_INT64* kl, const MKL_INT64* ku,
             const double* anorm, double* a, const MKL_INT64* lda, double* work,
             MKL_INT64* info ) NOTHROW;

void SLATME_64( const MKL_INT64* n, const char* dist, MKL_INT64* iseed, float* d,
             const MKL_INT64* mode, const float* cond, const float* dmax,
             const char* ei, const char* rsign, const char* upper,
             const char* sim, float* ds, const MKL_INT64* modes,
             const float* conds, const MKL_INT64* kl, const MKL_INT64* ku,
             const float* anorm, float* a, const MKL_INT64* lda, float* work,
             MKL_INT64* info ) NOTHROW;
void slatme_64( const MKL_INT64* n, const char* dist, MKL_INT64* iseed, float* d,
             const MKL_INT64* mode, const float* cond, const float* dmax,
             const char* ei, const char* rsign, const char* upper,
             const char* sim, float* ds, const MKL_INT64* modes,
             const float* conds, const MKL_INT64* kl, const MKL_INT64* ku,
             const float* anorm, float* a, const MKL_INT64* lda, float* work,
             MKL_INT64* info ) NOTHROW;

void CLATME_64( const MKL_INT64* n, const char* dist, MKL_INT64* iseed,
             MKL_Complex8* d, const MKL_INT64* mode, const float* cond,
             const MKL_Complex8* dmax, const char* rsign, const char* upper,
             const char* sim, float* ds, const MKL_INT64* modes,
             const float* conds, const MKL_INT64* kl, const MKL_INT64* ku,
             const float* anorm, MKL_Complex8* a, const MKL_INT64* lda,
             MKL_Complex8* work, MKL_INT64* info ) NOTHROW;
void clatme_64( const MKL_INT64* n, const char* dist, MKL_INT64* iseed,
             MKL_Complex8* d, const MKL_INT64* mode, const float* cond,
             const MKL_Complex8* dmax, const char* rsign, const char* upper,
             const char* sim, float* ds, const MKL_INT64* modes,
             const float* conds, const MKL_INT64* kl, const MKL_INT64* ku,
             const float* anorm, MKL_Complex8* a, const MKL_INT64* lda,
             MKL_Complex8* work, MKL_INT64* info ) NOTHROW;

void ZLATME_64( const MKL_INT64* n, const char* dist, MKL_INT64* iseed,
             MKL_Complex16* d, const MKL_INT64* mode, const double* cond,
             const MKL_Complex16* dmax, const char* rsign, const char* upper,
             const char* sim, double* ds, const MKL_INT64* modes,
             const double* conds, const MKL_INT64* kl, const MKL_INT64* ku,
             const double* anorm, MKL_Complex16* a, const MKL_INT64* lda,
             MKL_Complex16* work, MKL_INT64* info ) NOTHROW;
void zlatme_64( const MKL_INT64* n, const char* dist, MKL_INT64* iseed,
             MKL_Complex16* d, const MKL_INT64* mode, const double* cond,
             const MKL_Complex16* dmax, const char* rsign, const char* upper,
             const char* sim, double* ds, const MKL_INT64* modes,
             const double* conds, const MKL_INT64* kl, const MKL_INT64* ku,
             const double* anorm, MKL_Complex16* a, const MKL_INT64* lda,
             MKL_Complex16* work, MKL_INT64* info ) NOTHROW;

void DLATMR_64( const MKL_INT64* m, const MKL_INT64* n, const char* dist,
             MKL_INT64* iseed, const char* sym, double* d, const MKL_INT64* mode,
             const double* cond, const double* dmax, const char* rsign,
             const char* grade, double* dl, const MKL_INT64* model,
             const double* condl, double* dr, const MKL_INT64* moder,
             const double* condr, const char* pivtng, const MKL_INT64* ipivot,
             const MKL_INT64* kl, const MKL_INT64* ku, const double* sparse,
             const double* anorm, const char* pack, double* a,
             const MKL_INT64* lda, MKL_INT64* iwork, MKL_INT64* info ) NOTHROW;
void dlatmr_64( const MKL_INT64* m, const MKL_INT64* n, const char* dist,
             MKL_INT64* iseed, const char* sym, double* d, const MKL_INT64* mode,
             const double* cond, const double* dmax, const char* rsign,
             const char* grade, double* dl, const MKL_INT64* model,
             const double* condl, double* dr, const MKL_INT64* moder,
             const double* condr, const char* pivtng, const MKL_INT64* ipivot,
             const MKL_INT64* kl, const MKL_INT64* ku, const double* sparse,
             const double* anorm, const char* pack, double* a,
             const MKL_INT64* lda, MKL_INT64* iwork, MKL_INT64* info ) NOTHROW;

void SLATMR_64( const MKL_INT64* m, const MKL_INT64* n, const char* dist,
             MKL_INT64* iseed, const char* sym, const float* d,
             const MKL_INT64* mode, const float* cond, const float* dmax,
             const char* rsign, const char* grade, float* dl,
             const MKL_INT64* model, const float* condl, float* dr,
             const MKL_INT64* moder, const float* condr, const char* pivtng,
             const MKL_INT64* ipivot, const MKL_INT64* kl, const MKL_INT64* ku,
             const float* sparse, const float* anorm, const char* pack,
             float* a, const MKL_INT64* lda, MKL_INT64* iwork, MKL_INT64* info ) NOTHROW;
void slatmr_64( const MKL_INT64* m, const MKL_INT64* n, const char* dist,
             MKL_INT64* iseed, const char* sym, const float* d,
             const MKL_INT64* mode, const float* cond, const float* dmax,
             const char* rsign, const char* grade, float* dl,
             const MKL_INT64* model, const float* condl, float* dr,
             const MKL_INT64* moder, const float* condr, const char* pivtng,
             const MKL_INT64* ipivot, const MKL_INT64* kl, const MKL_INT64* ku,
             const float* sparse, const float* anorm, const char* pack,
             float* a, const MKL_INT64* lda, MKL_INT64* iwork, MKL_INT64* info ) NOTHROW;

void CLATMR_64( const MKL_INT64* m, const MKL_INT64* n, const char* dist,
             MKL_INT64* iseed, const char* sym, MKL_Complex8* d,
             const MKL_INT64* mode, const float* cond,
             const MKL_Complex8* dmax, const char* rsign, const char* grade,
             MKL_Complex8* dl, const MKL_INT64* model, const float* condl,
             MKL_Complex8* dr, const MKL_INT64* moder, const float* condr,
             const char* pivtng, const MKL_INT64* ipivot, const MKL_INT64* kl,
             const MKL_INT64* ku, const float* sparse, const float* anorm,
             const char* pack, MKL_Complex8* a, const MKL_INT64* lda,
             MKL_INT64* iwork, MKL_INT64* info ) NOTHROW;
void clatmr_64( const MKL_INT64* m, const MKL_INT64* n, const char* dist,
             MKL_INT64* iseed, const char* sym, MKL_Complex8* d,
             const MKL_INT64* mode, const float* cond,
             const MKL_Complex8* dmax, const char* rsign, const char* grade,
             MKL_Complex8* dl, const MKL_INT64* model, const float* condl,
             MKL_Complex8* dr, const MKL_INT64* moder, const float* condr,
             const char* pivtng, const MKL_INT64* ipivot, const MKL_INT64* kl,
             const MKL_INT64* ku, const float* sparse, const float* anorm,
             const char* pack, MKL_Complex8* a, const MKL_INT64* lda,
             MKL_INT64* iwork, MKL_INT64* info ) NOTHROW;

void ZLATMR_64( const MKL_INT64* m, const MKL_INT64* n, const char* dist,
             MKL_INT64* iseed, const char* sym, MKL_Complex16* d,
             const MKL_INT64* mode, const double* cond,
             const MKL_Complex16* dmax, const char* rsign, const char* grade,
             MKL_Complex16* dl, const MKL_INT64* model, const double* condl,
             MKL_Complex16* dr, const MKL_INT64* moder, const double* condr,
             const char* pivtng, const MKL_INT64* ipivot, const MKL_INT64* kl,
             const MKL_INT64* ku, const double* sparse, const double* anorm,
             const char* pack, MKL_Complex16* a, const MKL_INT64* lda,
             MKL_INT64* iwork, MKL_INT64* info ) NOTHROW;
void zlatmr_64( const MKL_INT64* m, const MKL_INT64* n, const char* dist,
             MKL_INT64* iseed, const char* sym, MKL_Complex16* d,
             const MKL_INT64* mode, const double* cond,
             const MKL_Complex16* dmax, const char* rsign, const char* grade,
             MKL_Complex16* dl, const MKL_INT64* model, const double* condl,
             MKL_Complex16* dr, const MKL_INT64* moder, const double* condr,
             const char* pivtng, const MKL_INT64* ipivot, const MKL_INT64* kl,
             const MKL_INT64* ku, const double* sparse, const double* anorm,
             const char* pack, MKL_Complex16* a, const MKL_INT64* lda,
             MKL_INT64* iwork, MKL_INT64* info ) NOTHROW;

void DLATMS_64( const MKL_INT64* m, const MKL_INT64* n, const char* dist,
             MKL_INT64* iseed, const char* sym, double* d, const MKL_INT64* mode,
             const double* cond, const double* dmax, const MKL_INT64* kl,
             const MKL_INT64* ku, const char* pack, double* a,
             const MKL_INT64* lda, double* work, MKL_INT64* info ) NOTHROW;
void dlatms_64( const MKL_INT64* m, const MKL_INT64* n, const char* dist,
             MKL_INT64* iseed, const char* sym, double* d, const MKL_INT64* mode,
             const double* cond, const double* dmax, const MKL_INT64* kl,
             const MKL_INT64* ku, const char* pack, double* a,
             const MKL_INT64* lda, double* work, MKL_INT64* info ) NOTHROW;

void SLATMS_64( const MKL_INT64* m, const MKL_INT64* n, const char* dist,
             MKL_INT64* iseed, const char* sym, float* d, const MKL_INT64* mode,
             const float* cond, const float* dmax, const MKL_INT64* kl,
             const MKL_INT64* ku, const char* pack, float* a,
             const MKL_INT64* lda, float* work, MKL_INT64* info ) NOTHROW;
void slatms_64( const MKL_INT64* m, const MKL_INT64* n, const char* dist,
             MKL_INT64* iseed, const char* sym, float* d, const MKL_INT64* mode,
             const float* cond, const float* dmax, const MKL_INT64* kl,
             const MKL_INT64* ku, const char* pack, float* a,
             const MKL_INT64* lda, float* work, MKL_INT64* info ) NOTHROW;

void CLATMS_64( const MKL_INT64* m, const MKL_INT64* n, const char* dist,
             MKL_INT64* iseed, const char* sym, float* d, const MKL_INT64* mode,
             const float* cond, const float* dmax, const MKL_INT64* kl,
             const MKL_INT64* ku, const char* pack, MKL_Complex8* a,
             const MKL_INT64* lda, MKL_Complex8* work, MKL_INT64* info ) NOTHROW;
void clatms_64( const MKL_INT64* m, const MKL_INT64* n, const char* dist,
             MKL_INT64* iseed, const char* sym, float* d, const MKL_INT64* mode,
             const float* cond, const float* dmax, const MKL_INT64* kl,
             const MKL_INT64* ku, const char* pack, MKL_Complex8* a,
             const MKL_INT64* lda, MKL_Complex8* work, MKL_INT64* info ) NOTHROW;

void ZLATMS_64( const MKL_INT64* m, const MKL_INT64* n, const char* dist,
             MKL_INT64* iseed, const char* sym, double* d, const MKL_INT64* mode,
             const double* cond, const double* dmax, const MKL_INT64* kl,
             const MKL_INT64* ku, const char* pack, MKL_Complex16* a,
             const MKL_INT64* lda, MKL_Complex16* work, MKL_INT64* info ) NOTHROW;
void zlatms_64( const MKL_INT64* m, const MKL_INT64* n, const char* dist,
             MKL_INT64* iseed, const char* sym, double* d, const MKL_INT64* mode,
             const double* cond, const double* dmax, const MKL_INT64* kl,
             const MKL_INT64* ku, const char* pack, MKL_Complex16* a,
             const MKL_INT64* lda, MKL_Complex16* work, MKL_INT64* info ) NOTHROW;

void DLAKF2_64( const MKL_INT64* m, const MKL_INT64* n, const double* a,
             const MKL_INT64* lda, const double* b, const double* d,
             const double* e, double* z, const MKL_INT64* ldz ) NOTHROW;
void dlakf2_64( const MKL_INT64* m, const MKL_INT64* n, const double* a,
             const MKL_INT64* lda, const double* b, const double* d,
             const double* e, double* z, const MKL_INT64* ldz ) NOTHROW;

void SLAKF2_64( const MKL_INT64* m, const MKL_INT64* n, const float* a,
             const MKL_INT64* lda, const float* b, const float* d,
             const float* e, float* z, const MKL_INT64* ldz ) NOTHROW;
void slakf2_64( const MKL_INT64* m, const MKL_INT64* n, const float* a,
             const MKL_INT64* lda, const float* b, const float* d,
             const float* e, float* z, const MKL_INT64* ldz ) NOTHROW;

void CLAKF2_64( const MKL_INT64* m, const MKL_INT64* n, const MKL_Complex8* a,
             const MKL_INT64* lda, const MKL_Complex8* b,
             const MKL_Complex8* d, const MKL_Complex8* e, MKL_Complex8* z,
             const MKL_INT64* ldz ) NOTHROW;
void clakf2_64( const MKL_INT64* m, const MKL_INT64* n, const MKL_Complex8* a,
             const MKL_INT64* lda, const MKL_Complex8* b,
             const MKL_Complex8* d, const MKL_Complex8* e, MKL_Complex8* z,
             const MKL_INT64* ldz ) NOTHROW;

void ZLAKF2_64( const MKL_INT64* m, const MKL_INT64* n, const MKL_Complex16* a,
             const MKL_INT64* lda, const MKL_Complex16* b,
             const MKL_Complex16* d, const MKL_Complex16* e,
             MKL_Complex16* z, const MKL_INT64* ldz ) NOTHROW;
void zlakf2_64( const MKL_INT64* m, const MKL_INT64* n, const MKL_Complex16* a,
             const MKL_INT64* lda, const MKL_Complex16* b,
             const MKL_Complex16* d, const MKL_Complex16* e,
             MKL_Complex16* z, const MKL_INT64* ldz ) NOTHROW;

void DLARGE_64( const MKL_INT64* n, double* a, const MKL_INT64* lda,
             MKL_INT64* iseed, double* work, MKL_INT64* info ) NOTHROW;
void dlarge_64( const MKL_INT64* n, double* a, const MKL_INT64* lda,
             MKL_INT64* iseed, double* work, MKL_INT64* info ) NOTHROW;

void SLARGE_64( const MKL_INT64* n, float* a, const MKL_INT64* lda, MKL_INT64* iseed,
             float* work, MKL_INT64* info ) NOTHROW;
void slarge_64( const MKL_INT64* n, float* a, const MKL_INT64* lda, MKL_INT64* iseed,
             float* work, MKL_INT64* info ) NOTHROW;

void CLARGE_64( const MKL_INT64* n, MKL_Complex8* a, const MKL_INT64* lda,
             MKL_INT64* iseed, MKL_Complex8* work, MKL_INT64* info ) NOTHROW;
void clarge_64( const MKL_INT64* n, MKL_Complex8* a, const MKL_INT64* lda,
             MKL_INT64* iseed, MKL_Complex8* work, MKL_INT64* info ) NOTHROW;

void ZLARGE_64( const MKL_INT64* n, MKL_Complex16* a, const MKL_INT64* lda,
             MKL_INT64* iseed, MKL_Complex16* work, MKL_INT64* info ) NOTHROW;
void zlarge_64( const MKL_INT64* n, MKL_Complex16* a, const MKL_INT64* lda,
             MKL_INT64* iseed, MKL_Complex16* work, MKL_INT64* info ) NOTHROW;

double DLARND_64( const MKL_INT64* idist, MKL_INT64* iseed ) NOTHROW;
double dlarnd_64( const MKL_INT64* idist, MKL_INT64* iseed ) NOTHROW;

float SLARND_64( const MKL_INT64* idist, MKL_INT64* iseed ) NOTHROW;
float slarnd_64( const MKL_INT64* idist, MKL_INT64* iseed ) NOTHROW;

void CLARND_64( MKL_Complex8* retval, const MKL_INT64* idist, MKL_INT64* iseed ) NOTHROW;
void clarnd_64( MKL_Complex8* retval, const MKL_INT64* idist, MKL_INT64* iseed ) NOTHROW;

void ZLARND_64( MKL_Complex16* retval, const MKL_INT64* idist, MKL_INT64* iseed ) NOTHROW;
void zlarnd_64( MKL_Complex16* retval, const MKL_INT64* idist, MKL_INT64* iseed ) NOTHROW;

void DLAROR_64( const char* side, const char* init, const MKL_INT64* m,
             const MKL_INT64* n, double* a, const MKL_INT64* lda,
             MKL_INT64* iseed, double* x, MKL_INT64* info ) NOTHROW;
void dlaror_64( const char* side, const char* init, const MKL_INT64* m,
             const MKL_INT64* n, double* a, const MKL_INT64* lda,
             MKL_INT64* iseed, double* x, MKL_INT64* info ) NOTHROW;

void SLAROR_64( const char* side, const char* init, const MKL_INT64* m,
             const MKL_INT64* n, float* a, const MKL_INT64* lda, MKL_INT64* iseed,
             float* x, MKL_INT64* info ) NOTHROW;
void slaror_64( const char* side, const char* init, const MKL_INT64* m,
             const MKL_INT64* n, float* a, const MKL_INT64* lda, MKL_INT64* iseed,
             float* x, MKL_INT64* info ) NOTHROW;

void CLAROR_64( const char* side, const char* init, const MKL_INT64* m,
             const MKL_INT64* n, MKL_Complex8* a, const MKL_INT64* lda,
             MKL_INT64* iseed, MKL_Complex8* x, MKL_INT64* info ) NOTHROW;
void claror_64( const char* side, const char* init, const MKL_INT64* m,
             const MKL_INT64* n, MKL_Complex8* a, const MKL_INT64* lda,
             MKL_INT64* iseed, MKL_Complex8* x, MKL_INT64* info ) NOTHROW;

void ZLAROR_64( const char* side, const char* init, const MKL_INT64* m,
             const MKL_INT64* n, MKL_Complex16* a, const MKL_INT64* lda,
             MKL_INT64* iseed, MKL_Complex16* x, MKL_INT64* info ) NOTHROW;
void zlaror_64( const char* side, const char* init, const MKL_INT64* m,
             const MKL_INT64* n, MKL_Complex16* a, const MKL_INT64* lda,
             MKL_INT64* iseed, MKL_Complex16* x, MKL_INT64* info ) NOTHROW;

void DLAROT_64( const MKL_INT64* lrows, const MKL_INT64* lleft,
             const MKL_INT64* lright, const MKL_INT64* nl, const double* c,
             const double* s, double* a, const MKL_INT64* lda, double* xleft,
             double* xright ) NOTHROW;
void dlarot_64( const MKL_INT64* lrows, const MKL_INT64* lleft,
             const MKL_INT64* lright, const MKL_INT64* nl, const double* c,
             const double* s, double* a, const MKL_INT64* lda, double* xleft,
             double* xright ) NOTHROW;

void SLAROT_64( const MKL_INT64* lrows, const MKL_INT64* lleft,
             const MKL_INT64* lright, const MKL_INT64* nl, const float* c,
             const float* s, float* a, const MKL_INT64* lda, float* xleft,
             float* xright ) NOTHROW;
void slarot_64( const MKL_INT64* lrows, const MKL_INT64* lleft,
             const MKL_INT64* lright, const MKL_INT64* nl, const float* c,
             const float* s, float* a, const MKL_INT64* lda, float* xleft,
             float* xright ) NOTHROW;

void CLAROT_64( const MKL_INT64* lrows, const MKL_INT64* lleft, MKL_INT64* lright,
             const MKL_INT64* nl, const MKL_Complex8* c,
             const MKL_Complex8* s, MKL_Complex8* a, const MKL_INT64* lda,
             MKL_Complex8* xleft, MKL_Complex8* xright ) NOTHROW;
void clarot_64( const MKL_INT64* lrows, const MKL_INT64* lleft, MKL_INT64* lright,
             const MKL_INT64* nl, const MKL_Complex8* c,
             const MKL_Complex8* s, MKL_Complex8* a, const MKL_INT64* lda,
             MKL_Complex8* xleft, MKL_Complex8* xright ) NOTHROW;

void ZLAROT_64( const MKL_INT64* lrows, const MKL_INT64* lleft,
             const MKL_INT64* lright, const MKL_INT64* nl,
             const MKL_Complex16* c, const MKL_Complex16* s,
             MKL_Complex16* a, const MKL_INT64* lda, MKL_Complex16* xleft,
             MKL_Complex16* xright ) NOTHROW;
void zlarot_64( const MKL_INT64* lrows, const MKL_INT64* lleft,
             const MKL_INT64* lright, const MKL_INT64* nl,
             const MKL_Complex16* c, const MKL_Complex16* s,
             MKL_Complex16* a, const MKL_INT64* lda, MKL_Complex16* xleft,
             MKL_Complex16* xright ) NOTHROW;

double DLARAN_64( MKL_INT64* iseed ) NOTHROW;
double dlaran_64( MKL_INT64* iseed ) NOTHROW;

float SLARAN_64( MKL_INT64* iseed ) NOTHROW;
float slaran_64( MKL_INT64* iseed ) NOTHROW;

void DLAGGE_64( const MKL_INT64* m, const MKL_INT64* n, const MKL_INT64* kl,
             const MKL_INT64* ku, const double* d, double* a,
             const MKL_INT64* lda, MKL_INT64* iseed, double* work,
             MKL_INT64* info ) NOTHROW;
void dlagge_64( const MKL_INT64* m, const MKL_INT64* n, const MKL_INT64* kl,
             const MKL_INT64* ku, const double* d, double* a,
             const MKL_INT64* lda, MKL_INT64* iseed, double* work,
             MKL_INT64* info ) NOTHROW;

void SLAGGE_64( const MKL_INT64* m, const MKL_INT64* n, const MKL_INT64* kl,
             const MKL_INT64* ku, const float* d, float* a, const MKL_INT64* lda,
             MKL_INT64* iseed, float* work, MKL_INT64* info ) NOTHROW;
void slagge_64( const MKL_INT64* m, const MKL_INT64* n, const MKL_INT64* kl,
             const MKL_INT64* ku, const float* d, float* a, const MKL_INT64* lda,
             MKL_INT64* iseed, float* work, MKL_INT64* info ) NOTHROW;

void CLAGGE_64( const MKL_INT64* m, const MKL_INT64* n, const MKL_INT64* kl,
             const MKL_INT64* ku, const float* d, MKL_Complex8* a,
             const MKL_INT64* lda, MKL_INT64* iseed, MKL_Complex8* work,
             MKL_INT64* info ) NOTHROW;
void clagge_64( const MKL_INT64* m, const MKL_INT64* n, const MKL_INT64* kl,
             const MKL_INT64* ku, const float* d, MKL_Complex8* a,
             const MKL_INT64* lda, MKL_INT64* iseed, MKL_Complex8* work,
             MKL_INT64* info ) NOTHROW;

void ZLAGGE_64( const MKL_INT64* m, const MKL_INT64* n, const MKL_INT64* kl,
             const MKL_INT64* ku, const double* d, MKL_Complex16* a,
             const MKL_INT64* lda, MKL_INT64* iseed, MKL_Complex16* work,
             MKL_INT64* info ) NOTHROW;
void zlagge_64( const MKL_INT64* m, const MKL_INT64* n, const MKL_INT64* kl,
             const MKL_INT64* ku, const double* d, MKL_Complex16* a,
             const MKL_INT64* lda, MKL_INT64* iseed, MKL_Complex16* work,
             MKL_INT64* info ) NOTHROW;

void CLAGSY_64( const MKL_INT64* n, const MKL_INT64* k, const float* d,
             MKL_Complex8* a, const MKL_INT64* lda, MKL_INT64* iseed,
             MKL_Complex8* work, MKL_INT64* info ) NOTHROW;
void clagsy_64( const MKL_INT64* n, const MKL_INT64* k, const float* d,
             MKL_Complex8* a, const MKL_INT64* lda, MKL_INT64* iseed,
             MKL_Complex8* work, MKL_INT64* info ) NOTHROW;

void DLAGSY_64( const MKL_INT64* n, const MKL_INT64* k, const double* d,
             double* a, const MKL_INT64* lda, MKL_INT64* iseed, double* work,
             MKL_INT64* info ) NOTHROW;
void dlagsy_64( const MKL_INT64* n, const MKL_INT64* k, const double* d,
             double* a, const MKL_INT64* lda, MKL_INT64* iseed, double* work,
             MKL_INT64* info ) NOTHROW;

void SLAGSY_64( const MKL_INT64* n, const MKL_INT64* k, const float* d,
             float* a, const MKL_INT64* lda, MKL_INT64* iseed, float* work,
             MKL_INT64* info ) NOTHROW;
void slagsy_64( const MKL_INT64* n, const MKL_INT64* k, const float* d,
             float* a, const MKL_INT64* lda, MKL_INT64* iseed, float* work,
             MKL_INT64* info ) NOTHROW;

void ZLAGSY_64( const MKL_INT64* n, const MKL_INT64* k, const double* d,
             MKL_Complex16* a, const MKL_INT64* lda, MKL_INT64* iseed,
             MKL_Complex16* work, MKL_INT64* info ) NOTHROW;
void zlagsy_64( const MKL_INT64* n, const MKL_INT64* k, const double* d,
             MKL_Complex16* a, const MKL_INT64* lda, MKL_INT64* iseed,
             MKL_Complex16* work, MKL_INT64* info ) NOTHROW;

void CLAGHE_64( const MKL_INT64* n, const MKL_INT64* k, const float* d,
             MKL_Complex8* a, const MKL_INT64* lda, MKL_INT64* iseed,
             MKL_Complex8* work, MKL_INT64* info ) NOTHROW;
void claghe_64( const MKL_INT64* n, const MKL_INT64* k, const float* d,
             MKL_Complex8* a, const MKL_INT64* lda, MKL_INT64* iseed,
             MKL_Complex8* work, MKL_INT64* info ) NOTHROW;

void ZLAGHE_64( const MKL_INT64* n, const MKL_INT64* k, const double* d,
             MKL_Complex16* a, const MKL_INT64* lda, MKL_INT64* iseed,
             MKL_Complex16* work, MKL_INT64* info ) NOTHROW;
void zlaghe_64( const MKL_INT64* n, const MKL_INT64* k, const double* d,
             MKL_Complex16* a, const MKL_INT64* lda, MKL_INT64* iseed,
             MKL_Complex16* work, MKL_INT64* info ) NOTHROW;


#endif /* defined(_WIN64) || defined(__MINGW64__) || defined(__x86_64__) */

#ifdef __cplusplus
}
#endif /* __cplusplus */

#endif /* _MKL_LAPACK_H_ */
