diff --git a/blas-ffi.cabal b/blas-ffi.cabal
--- a/blas-ffi.cabal
+++ b/blas-ffi.cabal
@@ -1,5 +1,5 @@
 Name:             blas-ffi
-Version:          0.0
+Version:          0.0.1
 License:          BSD3
 License-File:     LICENSE
 Author:           Henning Thielemann <haskell@henning-thielemann.de>
@@ -18,11 +18,11 @@
   but instead Haskell 98 code
   generated by the custom @lapack-ffi-tools@ package.
 Tested-With:      GHC==7.4.2, GHC==7.8.4
-Cabal-Version:    >=1.14
+Cabal-Version:    1.14
 Build-Type:       Simple
 
 Source-Repository this
-  Tag:         0.0
+  Tag:         0.0.1
   Type:        darcs
   Location:    http://hub.darcs.net/thielema/blas-ffi/
 
diff --git a/src/Numeric/BLAS/FFI/Double.hs b/src/Numeric/BLAS/FFI/Double.hs
--- a/src/Numeric/BLAS/FFI/Double.hs
+++ b/src/Numeric/BLAS/FFI/Double.hs
@@ -30,6 +30,27 @@
 foreign import ccall "dger_"
    ger :: Ptr CInt -> Ptr CInt -> Ptr Double -> Ptr Double -> Ptr CInt -> Ptr Double -> Ptr CInt -> Ptr Double -> Ptr CInt -> IO ()
 
+foreign import ccall "dsbmv_"
+   sbmv :: Ptr CChar -> Ptr CInt -> Ptr CInt -> Ptr Double -> Ptr Double -> Ptr CInt -> Ptr Double -> Ptr CInt -> Ptr Double -> Ptr Double -> Ptr CInt -> IO ()
+
+foreign import ccall "dsymv_"
+   symv :: Ptr CChar -> Ptr CInt -> Ptr Double -> Ptr Double -> Ptr CInt -> Ptr Double -> Ptr CInt -> Ptr Double -> Ptr Double -> Ptr CInt -> IO ()
+
+foreign import ccall "dsyr_"
+   syr :: Ptr CChar -> Ptr CInt -> Ptr Double -> Ptr Double -> Ptr CInt -> Ptr Double -> Ptr CInt -> IO ()
+
+foreign import ccall "dsyr2_"
+   syr2 :: Ptr CChar -> Ptr CInt -> Ptr Double -> Ptr Double -> Ptr CInt -> Ptr Double -> Ptr CInt -> Ptr Double -> Ptr CInt -> IO ()
+
+foreign import ccall "dspmv_"
+   spmv :: Ptr CChar -> Ptr CInt -> Ptr Double -> Ptr Double -> Ptr Double -> Ptr CInt -> Ptr Double -> Ptr Double -> Ptr CInt -> IO ()
+
+foreign import ccall "dspr_"
+   spr :: Ptr CChar -> Ptr CInt -> Ptr Double -> Ptr Double -> Ptr CInt -> Ptr Double -> IO ()
+
+foreign import ccall "dspr2_"
+   spr2 :: Ptr CChar -> Ptr CInt -> Ptr Double -> Ptr Double -> Ptr CInt -> Ptr Double -> Ptr CInt -> Ptr Double -> IO ()
+
 foreign import ccall "idamax_"
    iamax :: Ptr CInt -> Ptr Double -> Ptr CInt -> IO CInt
 
@@ -48,38 +69,17 @@
 foreign import ccall "drotmg_"
    rotmg :: Ptr Double -> Ptr Double -> Ptr Double -> Ptr Double -> Ptr Double -> IO ()
 
-foreign import ccall "dsbmv_"
-   sbmv :: Ptr CChar -> Ptr CInt -> Ptr CInt -> Ptr Double -> Ptr Double -> Ptr CInt -> Ptr Double -> Ptr CInt -> Ptr Double -> Ptr Double -> Ptr CInt -> IO ()
-
 foreign import ccall "dscal_"
    scal :: Ptr CInt -> Ptr Double -> Ptr Double -> Ptr CInt -> IO ()
 
 foreign import ccall "dsdot_"
    sdot :: Ptr CInt -> Ptr Float -> Ptr CInt -> Ptr Float -> Ptr CInt -> IO Double
 
-foreign import ccall "dspmv_"
-   spmv :: Ptr CChar -> Ptr CInt -> Ptr Double -> Ptr Double -> Ptr Double -> Ptr CInt -> Ptr Double -> Ptr Double -> Ptr CInt -> IO ()
-
-foreign import ccall "dspr_"
-   spr :: Ptr CChar -> Ptr CInt -> Ptr Double -> Ptr Double -> Ptr CInt -> Ptr Double -> IO ()
-
-foreign import ccall "dspr2_"
-   spr2 :: Ptr CChar -> Ptr CInt -> Ptr Double -> Ptr Double -> Ptr CInt -> Ptr Double -> Ptr CInt -> Ptr Double -> IO ()
-
 foreign import ccall "dswap_"
    swap :: Ptr CInt -> Ptr Double -> Ptr CInt -> Ptr Double -> Ptr CInt -> IO ()
 
 foreign import ccall "dsymm_"
    symm :: Ptr CChar -> Ptr CChar -> Ptr CInt -> Ptr CInt -> Ptr Double -> Ptr Double -> Ptr CInt -> Ptr Double -> Ptr CInt -> Ptr Double -> Ptr Double -> Ptr CInt -> IO ()
-
-foreign import ccall "dsymv_"
-   symv :: Ptr CChar -> Ptr CInt -> Ptr Double -> Ptr Double -> Ptr CInt -> Ptr Double -> Ptr CInt -> Ptr Double -> Ptr Double -> Ptr CInt -> IO ()
-
-foreign import ccall "dsyr_"
-   syr :: Ptr CChar -> Ptr CInt -> Ptr Double -> Ptr Double -> Ptr CInt -> Ptr Double -> Ptr CInt -> IO ()
-
-foreign import ccall "dsyr2_"
-   syr2 :: Ptr CChar -> Ptr CInt -> Ptr Double -> Ptr Double -> Ptr CInt -> Ptr Double -> Ptr CInt -> Ptr Double -> Ptr CInt -> IO ()
 
 foreign import ccall "dsyr2k_"
    syr2k :: Ptr CChar -> Ptr CChar -> Ptr CInt -> Ptr CInt -> Ptr Double -> Ptr Double -> Ptr CInt -> Ptr Double -> Ptr CInt -> Ptr Double -> Ptr Double -> Ptr CInt -> IO ()
diff --git a/src/Numeric/BLAS/FFI/Float.hs b/src/Numeric/BLAS/FFI/Float.hs
--- a/src/Numeric/BLAS/FFI/Float.hs
+++ b/src/Numeric/BLAS/FFI/Float.hs
@@ -33,6 +33,27 @@
 foreign import ccall "sger_"
    ger :: Ptr CInt -> Ptr CInt -> Ptr Float -> Ptr Float -> Ptr CInt -> Ptr Float -> Ptr CInt -> Ptr Float -> Ptr CInt -> IO ()
 
+foreign import ccall "ssbmv_"
+   sbmv :: Ptr CChar -> Ptr CInt -> Ptr CInt -> Ptr Float -> Ptr Float -> Ptr CInt -> Ptr Float -> Ptr CInt -> Ptr Float -> Ptr Float -> Ptr CInt -> IO ()
+
+foreign import ccall "ssymv_"
+   symv :: Ptr CChar -> Ptr CInt -> Ptr Float -> Ptr Float -> Ptr CInt -> Ptr Float -> Ptr CInt -> Ptr Float -> Ptr Float -> Ptr CInt -> IO ()
+
+foreign import ccall "ssyr_"
+   syr :: Ptr CChar -> Ptr CInt -> Ptr Float -> Ptr Float -> Ptr CInt -> Ptr Float -> Ptr CInt -> IO ()
+
+foreign import ccall "ssyr2_"
+   syr2 :: Ptr CChar -> Ptr CInt -> Ptr Float -> Ptr Float -> Ptr CInt -> Ptr Float -> Ptr CInt -> Ptr Float -> Ptr CInt -> IO ()
+
+foreign import ccall "sspmv_"
+   spmv :: Ptr CChar -> Ptr CInt -> Ptr Float -> Ptr Float -> Ptr Float -> Ptr CInt -> Ptr Float -> Ptr Float -> Ptr CInt -> IO ()
+
+foreign import ccall "sspr_"
+   spr :: Ptr CChar -> Ptr CInt -> Ptr Float -> Ptr Float -> Ptr CInt -> Ptr Float -> IO ()
+
+foreign import ccall "sspr2_"
+   spr2 :: Ptr CChar -> Ptr CInt -> Ptr Float -> Ptr Float -> Ptr CInt -> Ptr Float -> Ptr CInt -> Ptr Float -> IO ()
+
 foreign import ccall "isamax_"
    iamax :: Ptr CInt -> Ptr Float -> Ptr CInt -> IO CInt
 
@@ -51,35 +72,14 @@
 foreign import ccall "srotmg_"
    rotmg :: Ptr Float -> Ptr Float -> Ptr Float -> Ptr Float -> Ptr Float -> IO ()
 
-foreign import ccall "ssbmv_"
-   sbmv :: Ptr CChar -> Ptr CInt -> Ptr CInt -> Ptr Float -> Ptr Float -> Ptr CInt -> Ptr Float -> Ptr CInt -> Ptr Float -> Ptr Float -> Ptr CInt -> IO ()
-
 foreign import ccall "sscal_"
    scal :: Ptr CInt -> Ptr Float -> Ptr Float -> Ptr CInt -> IO ()
 
-foreign import ccall "sspmv_"
-   spmv :: Ptr CChar -> Ptr CInt -> Ptr Float -> Ptr Float -> Ptr Float -> Ptr CInt -> Ptr Float -> Ptr Float -> Ptr CInt -> IO ()
-
-foreign import ccall "sspr_"
-   spr :: Ptr CChar -> Ptr CInt -> Ptr Float -> Ptr Float -> Ptr CInt -> Ptr Float -> IO ()
-
-foreign import ccall "sspr2_"
-   spr2 :: Ptr CChar -> Ptr CInt -> Ptr Float -> Ptr Float -> Ptr CInt -> Ptr Float -> Ptr CInt -> Ptr Float -> IO ()
-
 foreign import ccall "sswap_"
    swap :: Ptr CInt -> Ptr Float -> Ptr CInt -> Ptr Float -> Ptr CInt -> IO ()
 
 foreign import ccall "ssymm_"
    symm :: Ptr CChar -> Ptr CChar -> Ptr CInt -> Ptr CInt -> Ptr Float -> Ptr Float -> Ptr CInt -> Ptr Float -> Ptr CInt -> Ptr Float -> Ptr Float -> Ptr CInt -> IO ()
-
-foreign import ccall "ssymv_"
-   symv :: Ptr CChar -> Ptr CInt -> Ptr Float -> Ptr Float -> Ptr CInt -> Ptr Float -> Ptr CInt -> Ptr Float -> Ptr Float -> Ptr CInt -> IO ()
-
-foreign import ccall "ssyr_"
-   syr :: Ptr CChar -> Ptr CInt -> Ptr Float -> Ptr Float -> Ptr CInt -> Ptr Float -> Ptr CInt -> IO ()
-
-foreign import ccall "ssyr2_"
-   syr2 :: Ptr CChar -> Ptr CInt -> Ptr Float -> Ptr Float -> Ptr CInt -> Ptr Float -> Ptr CInt -> Ptr Float -> Ptr CInt -> IO ()
 
 foreign import ccall "ssyr2k_"
    syr2k :: Ptr CChar -> Ptr CChar -> Ptr CInt -> Ptr CInt -> Ptr Float -> Ptr Float -> Ptr CInt -> Ptr Float -> Ptr CInt -> Ptr Float -> Ptr Float -> Ptr CInt -> IO ()
diff --git a/src/Numeric/BLAS/FFI/Generic.hs b/src/Numeric/BLAS/FFI/Generic.hs
--- a/src/Numeric/BLAS/FFI/Generic.hs
+++ b/src/Numeric/BLAS/FFI/Generic.hs
@@ -5,6 +5,14 @@
    gbmv,
    gemm,
    gemv,
+   gerc,
+   geru,
+   hbmv,
+   hemm,
+   hemv,
+   her2,
+   hpmv,
+   hpr2,
    iamax,
    scal,
    swap,
@@ -61,6 +69,54 @@
 
 gemv :: Class.Floating a => Ptr CChar -> Ptr CInt -> Ptr CInt -> Ptr a -> Ptr a -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr a -> Ptr a -> Ptr CInt -> IO ()
 gemv = getGEMV $ Class.switchFloating (GEMV S.gemv) (GEMV D.gemv) (GEMV C.gemv) (GEMV Z.gemv)
+
+
+newtype GERC a = GERC {getGERC :: Ptr CInt -> Ptr CInt -> Ptr a -> Ptr a -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr a -> Ptr CInt -> IO ()}
+
+gerc :: Class.Floating a => Ptr CInt -> Ptr CInt -> Ptr a -> Ptr a -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr a -> Ptr CInt -> IO ()
+gerc = getGERC $ Class.switchFloating (GERC S.ger) (GERC D.ger) (GERC C.gerc) (GERC Z.gerc)
+
+
+newtype GERU a = GERU {getGERU :: Ptr CInt -> Ptr CInt -> Ptr a -> Ptr a -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr a -> Ptr CInt -> IO ()}
+
+geru :: Class.Floating a => Ptr CInt -> Ptr CInt -> Ptr a -> Ptr a -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr a -> Ptr CInt -> IO ()
+geru = getGERU $ Class.switchFloating (GERU S.ger) (GERU D.ger) (GERU C.geru) (GERU Z.geru)
+
+
+newtype HBMV a = HBMV {getHBMV :: Ptr CChar -> Ptr CInt -> Ptr CInt -> Ptr a -> Ptr a -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr a -> Ptr a -> Ptr CInt -> IO ()}
+
+hbmv :: Class.Floating a => Ptr CChar -> Ptr CInt -> Ptr CInt -> Ptr a -> Ptr a -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr a -> Ptr a -> Ptr CInt -> IO ()
+hbmv = getHBMV $ Class.switchFloating (HBMV S.sbmv) (HBMV D.sbmv) (HBMV C.hbmv) (HBMV Z.hbmv)
+
+
+newtype HEMM a = HEMM {getHEMM :: Ptr CChar -> Ptr CChar -> Ptr CInt -> Ptr CInt -> Ptr a -> Ptr a -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr a -> Ptr a -> Ptr CInt -> IO ()}
+
+hemm :: Class.Floating a => Ptr CChar -> Ptr CChar -> Ptr CInt -> Ptr CInt -> Ptr a -> Ptr a -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr a -> Ptr a -> Ptr CInt -> IO ()
+hemm = getHEMM $ Class.switchFloating (HEMM S.symm) (HEMM D.symm) (HEMM C.hemm) (HEMM Z.hemm)
+
+
+newtype HEMV a = HEMV {getHEMV :: Ptr CChar -> Ptr CInt -> Ptr a -> Ptr a -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr a -> Ptr a -> Ptr CInt -> IO ()}
+
+hemv :: Class.Floating a => Ptr CChar -> Ptr CInt -> Ptr a -> Ptr a -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr a -> Ptr a -> Ptr CInt -> IO ()
+hemv = getHEMV $ Class.switchFloating (HEMV S.symv) (HEMV D.symv) (HEMV C.hemv) (HEMV Z.hemv)
+
+
+newtype HER2 a = HER2 {getHER2 :: Ptr CChar -> Ptr CInt -> Ptr a -> Ptr a -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr a -> Ptr CInt -> IO ()}
+
+her2 :: Class.Floating a => Ptr CChar -> Ptr CInt -> Ptr a -> Ptr a -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr a -> Ptr CInt -> IO ()
+her2 = getHER2 $ Class.switchFloating (HER2 S.syr2) (HER2 D.syr2) (HER2 C.her2) (HER2 Z.her2)
+
+
+newtype HPMV a = HPMV {getHPMV :: Ptr CChar -> Ptr CInt -> Ptr a -> Ptr a -> Ptr a -> Ptr CInt -> Ptr a -> Ptr a -> Ptr CInt -> IO ()}
+
+hpmv :: Class.Floating a => Ptr CChar -> Ptr CInt -> Ptr a -> Ptr a -> Ptr a -> Ptr CInt -> Ptr a -> Ptr a -> Ptr CInt -> IO ()
+hpmv = getHPMV $ Class.switchFloating (HPMV S.spmv) (HPMV D.spmv) (HPMV C.hpmv) (HPMV Z.hpmv)
+
+
+newtype HPR2 a = HPR2 {getHPR2 :: Ptr CChar -> Ptr CInt -> Ptr a -> Ptr a -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr a -> IO ()}
+
+hpr2 :: Class.Floating a => Ptr CChar -> Ptr CInt -> Ptr a -> Ptr a -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr a -> IO ()
+hpr2 = getHPR2 $ Class.switchFloating (HPR2 S.spr2) (HPR2 D.spr2) (HPR2 C.hpr2) (HPR2 Z.hpr2)
 
 
 newtype IAMAX a = IAMAX {getIAMAX :: Ptr CInt -> Ptr a -> Ptr CInt -> IO CInt}
diff --git a/src/Numeric/BLAS/FFI/Real.hs b/src/Numeric/BLAS/FFI/Real.hs
--- a/src/Numeric/BLAS/FFI/Real.hs
+++ b/src/Numeric/BLAS/FFI/Real.hs
@@ -8,22 +8,22 @@
    gemm,
    gemv,
    ger,
+   sbmv,
+   symv,
+   syr,
+   syr2,
+   spmv,
+   spr,
+   spr2,
    iamax,
    nrm2,
    rot,
    rotg,
    rotm,
    rotmg,
-   sbmv,
    scal,
-   spmv,
-   spr,
-   spr2,
    swap,
    symm,
-   symv,
-   syr,
-   syr2,
    syr2k,
    syrk,
    tbmv,
@@ -94,6 +94,48 @@
 ger = getGER $ Class.switchReal (GER S.ger) (GER D.ger)
 
 
+newtype SBMV a = SBMV {getSBMV :: Ptr CChar -> Ptr CInt -> Ptr CInt -> Ptr a -> Ptr a -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr a -> Ptr a -> Ptr CInt -> IO ()}
+
+sbmv :: Class.Real a => Ptr CChar -> Ptr CInt -> Ptr CInt -> Ptr a -> Ptr a -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr a -> Ptr a -> Ptr CInt -> IO ()
+sbmv = getSBMV $ Class.switchReal (SBMV S.sbmv) (SBMV D.sbmv)
+
+
+newtype SYMV a = SYMV {getSYMV :: Ptr CChar -> Ptr CInt -> Ptr a -> Ptr a -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr a -> Ptr a -> Ptr CInt -> IO ()}
+
+symv :: Class.Real a => Ptr CChar -> Ptr CInt -> Ptr a -> Ptr a -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr a -> Ptr a -> Ptr CInt -> IO ()
+symv = getSYMV $ Class.switchReal (SYMV S.symv) (SYMV D.symv)
+
+
+newtype SYR a = SYR {getSYR :: Ptr CChar -> Ptr CInt -> Ptr a -> Ptr a -> Ptr CInt -> Ptr a -> Ptr CInt -> IO ()}
+
+syr :: Class.Real a => Ptr CChar -> Ptr CInt -> Ptr a -> Ptr a -> Ptr CInt -> Ptr a -> Ptr CInt -> IO ()
+syr = getSYR $ Class.switchReal (SYR S.syr) (SYR D.syr)
+
+
+newtype SYR2 a = SYR2 {getSYR2 :: Ptr CChar -> Ptr CInt -> Ptr a -> Ptr a -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr a -> Ptr CInt -> IO ()}
+
+syr2 :: Class.Real a => Ptr CChar -> Ptr CInt -> Ptr a -> Ptr a -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr a -> Ptr CInt -> IO ()
+syr2 = getSYR2 $ Class.switchReal (SYR2 S.syr2) (SYR2 D.syr2)
+
+
+newtype SPMV a = SPMV {getSPMV :: Ptr CChar -> Ptr CInt -> Ptr a -> Ptr a -> Ptr a -> Ptr CInt -> Ptr a -> Ptr a -> Ptr CInt -> IO ()}
+
+spmv :: Class.Real a => Ptr CChar -> Ptr CInt -> Ptr a -> Ptr a -> Ptr a -> Ptr CInt -> Ptr a -> Ptr a -> Ptr CInt -> IO ()
+spmv = getSPMV $ Class.switchReal (SPMV S.spmv) (SPMV D.spmv)
+
+
+newtype SPR a = SPR {getSPR :: Ptr CChar -> Ptr CInt -> Ptr a -> Ptr a -> Ptr CInt -> Ptr a -> IO ()}
+
+spr :: Class.Real a => Ptr CChar -> Ptr CInt -> Ptr a -> Ptr a -> Ptr CInt -> Ptr a -> IO ()
+spr = getSPR $ Class.switchReal (SPR S.spr) (SPR D.spr)
+
+
+newtype SPR2 a = SPR2 {getSPR2 :: Ptr CChar -> Ptr CInt -> Ptr a -> Ptr a -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr a -> IO ()}
+
+spr2 :: Class.Real a => Ptr CChar -> Ptr CInt -> Ptr a -> Ptr a -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr a -> IO ()
+spr2 = getSPR2 $ Class.switchReal (SPR2 S.spr2) (SPR2 D.spr2)
+
+
 newtype IAMAX a = IAMAX {getIAMAX :: Ptr CInt -> Ptr a -> Ptr CInt -> IO CInt}
 
 iamax :: Class.Real a => Ptr CInt -> Ptr a -> Ptr CInt -> IO CInt
@@ -130,36 +172,12 @@
 rotmg = getROTMG $ Class.switchReal (ROTMG S.rotmg) (ROTMG D.rotmg)
 
 
-newtype SBMV a = SBMV {getSBMV :: Ptr CChar -> Ptr CInt -> Ptr CInt -> Ptr a -> Ptr a -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr a -> Ptr a -> Ptr CInt -> IO ()}
-
-sbmv :: Class.Real a => Ptr CChar -> Ptr CInt -> Ptr CInt -> Ptr a -> Ptr a -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr a -> Ptr a -> Ptr CInt -> IO ()
-sbmv = getSBMV $ Class.switchReal (SBMV S.sbmv) (SBMV D.sbmv)
-
-
 newtype SCAL a = SCAL {getSCAL :: Ptr CInt -> Ptr a -> Ptr a -> Ptr CInt -> IO ()}
 
 scal :: Class.Real a => Ptr CInt -> Ptr a -> Ptr a -> Ptr CInt -> IO ()
 scal = getSCAL $ Class.switchReal (SCAL S.scal) (SCAL D.scal)
 
 
-newtype SPMV a = SPMV {getSPMV :: Ptr CChar -> Ptr CInt -> Ptr a -> Ptr a -> Ptr a -> Ptr CInt -> Ptr a -> Ptr a -> Ptr CInt -> IO ()}
-
-spmv :: Class.Real a => Ptr CChar -> Ptr CInt -> Ptr a -> Ptr a -> Ptr a -> Ptr CInt -> Ptr a -> Ptr a -> Ptr CInt -> IO ()
-spmv = getSPMV $ Class.switchReal (SPMV S.spmv) (SPMV D.spmv)
-
-
-newtype SPR a = SPR {getSPR :: Ptr CChar -> Ptr CInt -> Ptr a -> Ptr a -> Ptr CInt -> Ptr a -> IO ()}
-
-spr :: Class.Real a => Ptr CChar -> Ptr CInt -> Ptr a -> Ptr a -> Ptr CInt -> Ptr a -> IO ()
-spr = getSPR $ Class.switchReal (SPR S.spr) (SPR D.spr)
-
-
-newtype SPR2 a = SPR2 {getSPR2 :: Ptr CChar -> Ptr CInt -> Ptr a -> Ptr a -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr a -> IO ()}
-
-spr2 :: Class.Real a => Ptr CChar -> Ptr CInt -> Ptr a -> Ptr a -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr a -> IO ()
-spr2 = getSPR2 $ Class.switchReal (SPR2 S.spr2) (SPR2 D.spr2)
-
-
 newtype SWAP a = SWAP {getSWAP :: Ptr CInt -> Ptr a -> Ptr CInt -> Ptr a -> Ptr CInt -> IO ()}
 
 swap :: Class.Real a => Ptr CInt -> Ptr a -> Ptr CInt -> Ptr a -> Ptr CInt -> IO ()
@@ -170,24 +188,6 @@
 
 symm :: Class.Real a => Ptr CChar -> Ptr CChar -> Ptr CInt -> Ptr CInt -> Ptr a -> Ptr a -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr a -> Ptr a -> Ptr CInt -> IO ()
 symm = getSYMM $ Class.switchReal (SYMM S.symm) (SYMM D.symm)
-
-
-newtype SYMV a = SYMV {getSYMV :: Ptr CChar -> Ptr CInt -> Ptr a -> Ptr a -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr a -> Ptr a -> Ptr CInt -> IO ()}
-
-symv :: Class.Real a => Ptr CChar -> Ptr CInt -> Ptr a -> Ptr a -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr a -> Ptr a -> Ptr CInt -> IO ()
-symv = getSYMV $ Class.switchReal (SYMV S.symv) (SYMV D.symv)
-
-
-newtype SYR a = SYR {getSYR :: Ptr CChar -> Ptr CInt -> Ptr a -> Ptr a -> Ptr CInt -> Ptr a -> Ptr CInt -> IO ()}
-
-syr :: Class.Real a => Ptr CChar -> Ptr CInt -> Ptr a -> Ptr a -> Ptr CInt -> Ptr a -> Ptr CInt -> IO ()
-syr = getSYR $ Class.switchReal (SYR S.syr) (SYR D.syr)
-
-
-newtype SYR2 a = SYR2 {getSYR2 :: Ptr CChar -> Ptr CInt -> Ptr a -> Ptr a -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr a -> Ptr CInt -> IO ()}
-
-syr2 :: Class.Real a => Ptr CChar -> Ptr CInt -> Ptr a -> Ptr a -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr a -> Ptr CInt -> IO ()
-syr2 = getSYR2 $ Class.switchReal (SYR2 S.syr2) (SYR2 D.syr2)
 
 
 newtype SYR2K a = SYR2K {getSYR2K :: Ptr CChar -> Ptr CChar -> Ptr CInt -> Ptr CInt -> Ptr a -> Ptr a -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr a -> Ptr a -> Ptr CInt -> IO ()}
