diff --git a/lapack-ffi.cabal b/lapack-ffi.cabal
--- a/lapack-ffi.cabal
+++ b/lapack-ffi.cabal
@@ -1,5 +1,5 @@
 Name:             lapack-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/lapack-ffi/
 
diff --git a/src/Numeric/LAPACK/FFI/Double.hs b/src/Numeric/LAPACK/FFI/Double.hs
--- a/src/Numeric/LAPACK/FFI/Double.hs
+++ b/src/Numeric/LAPACK/FFI/Double.hs
@@ -306,10 +306,114 @@
 foreign import ccall "dgtts2_"
    gtts2 :: Ptr CInt -> Ptr CInt -> Ptr CInt -> Ptr Double -> Ptr Double -> Ptr Double -> Ptr Double -> Ptr CInt -> Ptr Double -> Ptr CInt -> IO ()
 
+-- | <http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/dsbev.f>
+foreign import ccall "dsbev_"
+   sbev :: Ptr CChar -> Ptr CChar -> Ptr CInt -> Ptr CInt -> Ptr Double -> Ptr CInt -> Ptr Double -> Ptr Double -> Ptr CInt -> Ptr Double -> Ptr CInt -> IO ()
+
+-- | <http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/dsbevd.f>
+foreign import ccall "dsbevd_"
+   sbevd :: Ptr CChar -> Ptr CChar -> Ptr CInt -> Ptr CInt -> Ptr Double -> Ptr CInt -> Ptr Double -> Ptr Double -> Ptr CInt -> Ptr Double -> Ptr CInt -> Ptr CInt -> Ptr CInt -> Ptr CInt -> IO ()
+
+-- | <http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/dsbevx.f>
+foreign import ccall "dsbevx_"
+   sbevx :: Ptr CChar -> Ptr CChar -> Ptr CChar -> Ptr CInt -> Ptr CInt -> Ptr Double -> Ptr CInt -> Ptr Double -> Ptr CInt -> Ptr Double -> Ptr Double -> Ptr CInt -> Ptr CInt -> Ptr Double -> Ptr CInt -> Ptr Double -> Ptr Double -> Ptr CInt -> Ptr Double -> Ptr CInt -> Ptr CInt -> Ptr CInt -> IO ()
+
+-- | <http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/dsbgst.f>
+foreign import ccall "dsbgst_"
+   sbgst :: Ptr CChar -> Ptr CChar -> Ptr CInt -> Ptr CInt -> Ptr CInt -> Ptr Double -> Ptr CInt -> Ptr Double -> Ptr CInt -> Ptr Double -> Ptr CInt -> Ptr Double -> Ptr CInt -> IO ()
+
+-- | <http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/dsbgv.f>
+foreign import ccall "dsbgv_"
+   sbgv :: Ptr CChar -> Ptr CChar -> Ptr CInt -> Ptr CInt -> Ptr CInt -> Ptr Double -> Ptr CInt -> Ptr Double -> Ptr CInt -> Ptr Double -> Ptr Double -> Ptr CInt -> Ptr Double -> Ptr CInt -> IO ()
+
+-- | <http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/dsbgvd.f>
+foreign import ccall "dsbgvd_"
+   sbgvd :: Ptr CChar -> Ptr CChar -> Ptr CInt -> Ptr CInt -> Ptr CInt -> Ptr Double -> Ptr CInt -> Ptr Double -> Ptr CInt -> Ptr Double -> Ptr Double -> Ptr CInt -> Ptr Double -> Ptr CInt -> Ptr CInt -> Ptr CInt -> Ptr CInt -> IO ()
+
+-- | <http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/dsbgvx.f>
+foreign import ccall "dsbgvx_"
+   sbgvx :: Ptr CChar -> Ptr CChar -> Ptr CChar -> Ptr CInt -> Ptr CInt -> Ptr CInt -> Ptr Double -> Ptr CInt -> Ptr Double -> Ptr CInt -> Ptr Double -> Ptr CInt -> Ptr Double -> Ptr Double -> Ptr CInt -> Ptr CInt -> Ptr Double -> Ptr CInt -> Ptr Double -> Ptr Double -> Ptr CInt -> Ptr Double -> Ptr CInt -> Ptr CInt -> Ptr CInt -> IO ()
+
+-- | <http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/dsbtrd.f>
+foreign import ccall "dsbtrd_"
+   sbtrd :: Ptr CChar -> Ptr CChar -> Ptr CInt -> Ptr CInt -> Ptr Double -> Ptr CInt -> Ptr Double -> Ptr Double -> Ptr Double -> Ptr CInt -> Ptr Double -> Ptr CInt -> IO ()
+
+-- | <http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/dsyev.f>
+foreign import ccall "dsyev_"
+   syev :: Ptr CChar -> Ptr CChar -> Ptr CInt -> Ptr Double -> Ptr CInt -> Ptr Double -> Ptr Double -> Ptr CInt -> Ptr CInt -> IO ()
+
+-- | <http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/dsyevd.f>
+foreign import ccall "dsyevd_"
+   syevd :: Ptr CChar -> Ptr CChar -> Ptr CInt -> Ptr Double -> Ptr CInt -> Ptr Double -> Ptr Double -> Ptr CInt -> Ptr CInt -> Ptr CInt -> Ptr CInt -> IO ()
+
+-- | <http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/dsyevr.f>
+foreign import ccall "dsyevr_"
+   syevr :: Ptr CChar -> Ptr CChar -> Ptr CChar -> Ptr CInt -> Ptr Double -> Ptr CInt -> Ptr Double -> Ptr Double -> Ptr CInt -> Ptr CInt -> Ptr Double -> Ptr CInt -> Ptr Double -> Ptr Double -> Ptr CInt -> Ptr CInt -> Ptr Double -> Ptr CInt -> Ptr CInt -> Ptr CInt -> Ptr CInt -> IO ()
+
+-- | <http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/dsyevx.f>
+foreign import ccall "dsyevx_"
+   syevx :: Ptr CChar -> Ptr CChar -> Ptr CChar -> Ptr CInt -> Ptr Double -> Ptr CInt -> Ptr Double -> Ptr Double -> Ptr CInt -> Ptr CInt -> Ptr Double -> Ptr CInt -> Ptr Double -> Ptr Double -> Ptr CInt -> Ptr Double -> Ptr CInt -> Ptr CInt -> Ptr CInt -> Ptr CInt -> IO ()
+
+-- | <http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/dsygs2.f>
+foreign import ccall "dsygs2_"
+   sygs2 :: Ptr CInt -> Ptr CChar -> Ptr CInt -> Ptr Double -> Ptr CInt -> Ptr Double -> Ptr CInt -> Ptr CInt -> IO ()
+
+-- | <http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/dsygst.f>
+foreign import ccall "dsygst_"
+   sygst :: Ptr CInt -> Ptr CChar -> Ptr CInt -> Ptr Double -> Ptr CInt -> Ptr Double -> Ptr CInt -> Ptr CInt -> IO ()
+
+-- | <http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/dsygv.f>
+foreign import ccall "dsygv_"
+   sygv :: Ptr CInt -> Ptr CChar -> Ptr CChar -> Ptr CInt -> Ptr Double -> Ptr CInt -> Ptr Double -> Ptr CInt -> Ptr Double -> Ptr Double -> Ptr CInt -> Ptr CInt -> IO ()
+
+-- | <http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/dsygvd.f>
+foreign import ccall "dsygvd_"
+   sygvd :: Ptr CInt -> Ptr CChar -> Ptr CChar -> Ptr CInt -> Ptr Double -> Ptr CInt -> Ptr Double -> Ptr CInt -> Ptr Double -> Ptr Double -> Ptr CInt -> Ptr CInt -> Ptr CInt -> Ptr CInt -> IO ()
+
+-- | <http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/dsygvx.f>
+foreign import ccall "dsygvx_"
+   sygvx :: Ptr CInt -> Ptr CChar -> Ptr CChar -> Ptr CChar -> Ptr CInt -> Ptr Double -> Ptr CInt -> Ptr Double -> Ptr CInt -> Ptr Double -> Ptr Double -> Ptr CInt -> Ptr CInt -> Ptr Double -> Ptr CInt -> Ptr Double -> Ptr Double -> Ptr CInt -> Ptr Double -> Ptr CInt -> Ptr CInt -> Ptr CInt -> Ptr CInt -> IO ()
+
+-- | <http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/dsfrk.f>
+foreign import ccall "dsfrk_"
+   sfrk :: Ptr CChar -> Ptr CChar -> Ptr CChar -> Ptr CInt -> Ptr CInt -> Ptr Double -> Ptr Double -> Ptr CInt -> Ptr Double -> Ptr Double -> IO ()
+
 -- | <http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/dhgeqz.f>
 foreign import ccall "dhgeqz_"
    hgeqz :: Ptr CChar -> Ptr CChar -> Ptr CChar -> Ptr CInt -> Ptr CInt -> Ptr CInt -> Ptr Double -> Ptr CInt -> Ptr Double -> Ptr CInt -> Ptr Double -> Ptr Double -> Ptr Double -> Ptr Double -> Ptr CInt -> Ptr Double -> Ptr CInt -> Ptr Double -> Ptr CInt -> Ptr CInt -> IO ()
 
+-- | <http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/dspev.f>
+foreign import ccall "dspev_"
+   spev :: Ptr CChar -> Ptr CChar -> Ptr CInt -> Ptr Double -> Ptr Double -> Ptr Double -> Ptr CInt -> Ptr Double -> Ptr CInt -> IO ()
+
+-- | <http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/dspevd.f>
+foreign import ccall "dspevd_"
+   spevd :: Ptr CChar -> Ptr CChar -> Ptr CInt -> Ptr Double -> Ptr Double -> Ptr Double -> Ptr CInt -> Ptr Double -> Ptr CInt -> Ptr CInt -> Ptr CInt -> Ptr CInt -> IO ()
+
+-- | <http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/dspevx.f>
+foreign import ccall "dspevx_"
+   spevx :: Ptr CChar -> Ptr CChar -> Ptr CChar -> Ptr CInt -> Ptr Double -> Ptr Double -> Ptr Double -> Ptr CInt -> Ptr CInt -> Ptr Double -> Ptr CInt -> Ptr Double -> Ptr Double -> Ptr CInt -> Ptr Double -> Ptr CInt -> Ptr CInt -> Ptr CInt -> IO ()
+
+-- | <http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/dspgst.f>
+foreign import ccall "dspgst_"
+   spgst :: Ptr CInt -> Ptr CChar -> Ptr CInt -> Ptr Double -> Ptr Double -> Ptr CInt -> IO ()
+
+-- | <http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/dspgv.f>
+foreign import ccall "dspgv_"
+   spgv :: Ptr CInt -> Ptr CChar -> Ptr CChar -> Ptr CInt -> Ptr Double -> Ptr Double -> Ptr Double -> Ptr Double -> Ptr CInt -> Ptr Double -> Ptr CInt -> IO ()
+
+-- | <http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/dspgvd.f>
+foreign import ccall "dspgvd_"
+   spgvd :: Ptr CInt -> Ptr CChar -> Ptr CChar -> Ptr CInt -> Ptr Double -> Ptr Double -> Ptr Double -> Ptr Double -> Ptr CInt -> Ptr Double -> Ptr CInt -> Ptr CInt -> Ptr CInt -> Ptr CInt -> IO ()
+
+-- | <http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/dspgvx.f>
+foreign import ccall "dspgvx_"
+   spgvx :: Ptr CInt -> Ptr CChar -> Ptr CChar -> Ptr CChar -> Ptr CInt -> Ptr Double -> Ptr Double -> Ptr Double -> Ptr Double -> Ptr CInt -> Ptr CInt -> Ptr Double -> Ptr CInt -> Ptr Double -> Ptr Double -> Ptr CInt -> Ptr Double -> Ptr CInt -> Ptr CInt -> Ptr CInt -> IO ()
+
+-- | <http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/dsptrd.f>
+foreign import ccall "dsptrd_"
+   sptrd :: Ptr CChar -> Ptr CInt -> Ptr Double -> Ptr Double -> Ptr Double -> Ptr Double -> Ptr CInt -> IO ()
+
 -- | <http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/dhsein.f>
 foreign import ccall "dhsein_"
    hsein :: Ptr CChar -> Ptr CChar -> Ptr CChar -> Ptr Bool -> Ptr CInt -> Ptr Double -> Ptr CInt -> Ptr Double -> Ptr Double -> Ptr Double -> Ptr CInt -> Ptr Double -> Ptr CInt -> Ptr CInt -> Ptr CInt -> Ptr Double -> Ptr CInt -> Ptr CInt -> Ptr CInt -> IO ()
@@ -870,14 +974,6 @@
 foreign import ccall "dlauum_"
    lauum :: Ptr CChar -> Ptr CInt -> Ptr Double -> Ptr CInt -> Ptr CInt -> IO ()
 
--- | <http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/dopgtr.f>
-foreign import ccall "dopgtr_"
-   opgtr :: Ptr CChar -> Ptr CInt -> Ptr Double -> Ptr Double -> Ptr Double -> Ptr CInt -> Ptr Double -> Ptr CInt -> IO ()
-
--- | <http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/dopmtr.f>
-foreign import ccall "dopmtr_"
-   opmtr :: Ptr CChar -> Ptr CChar -> Ptr CChar -> Ptr CInt -> Ptr CInt -> Ptr Double -> Ptr Double -> Ptr Double -> Ptr CInt -> Ptr Double -> Ptr CInt -> IO ()
-
 -- | <http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/dorbdb.f>
 foreign import ccall "dorbdb_"
    orbdb :: Ptr CChar -> Ptr CChar -> Ptr CInt -> Ptr CInt -> Ptr CInt -> Ptr Double -> Ptr CInt -> Ptr Double -> Ptr CInt -> Ptr Double -> Ptr CInt -> Ptr Double -> Ptr CInt -> Ptr Double -> Ptr Double -> Ptr Double -> Ptr Double -> Ptr Double -> Ptr Double -> Ptr Double -> Ptr CInt -> Ptr CInt -> IO ()
@@ -886,102 +982,6 @@
 foreign import ccall "dorcsd_"
    orcsd :: Ptr CChar -> Ptr CChar -> Ptr CChar -> Ptr CChar -> Ptr CChar -> Ptr CChar -> Ptr CInt -> Ptr CInt -> Ptr CInt -> Ptr Double -> Ptr CInt -> Ptr Double -> Ptr CInt -> Ptr Double -> Ptr CInt -> Ptr Double -> Ptr CInt -> Ptr Double -> Ptr Double -> Ptr CInt -> Ptr Double -> Ptr CInt -> Ptr Double -> Ptr CInt -> Ptr Double -> Ptr CInt -> Ptr Double -> Ptr CInt -> Ptr CInt -> Ptr CInt -> IO ()
 
--- | <http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/dorg2l.f>
-foreign import ccall "dorg2l_"
-   org2l :: Ptr CInt -> Ptr CInt -> Ptr CInt -> Ptr Double -> Ptr CInt -> Ptr Double -> Ptr Double -> Ptr CInt -> IO ()
-
--- | <http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/dorg2r.f>
-foreign import ccall "dorg2r_"
-   org2r :: Ptr CInt -> Ptr CInt -> Ptr CInt -> Ptr Double -> Ptr CInt -> Ptr Double -> Ptr Double -> Ptr CInt -> IO ()
-
--- | <http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/dorgbr.f>
-foreign import ccall "dorgbr_"
-   orgbr :: Ptr CChar -> Ptr CInt -> Ptr CInt -> Ptr CInt -> Ptr Double -> Ptr CInt -> Ptr Double -> Ptr Double -> Ptr CInt -> Ptr CInt -> IO ()
-
--- | <http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/dorghr.f>
-foreign import ccall "dorghr_"
-   orghr :: Ptr CInt -> Ptr CInt -> Ptr CInt -> Ptr Double -> Ptr CInt -> Ptr Double -> Ptr Double -> Ptr CInt -> Ptr CInt -> IO ()
-
--- | <http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/dorgl2.f>
-foreign import ccall "dorgl2_"
-   orgl2 :: Ptr CInt -> Ptr CInt -> Ptr CInt -> Ptr Double -> Ptr CInt -> Ptr Double -> Ptr Double -> Ptr CInt -> IO ()
-
--- | <http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/dorglq.f>
-foreign import ccall "dorglq_"
-   orglq :: Ptr CInt -> Ptr CInt -> Ptr CInt -> Ptr Double -> Ptr CInt -> Ptr Double -> Ptr Double -> Ptr CInt -> Ptr CInt -> IO ()
-
--- | <http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/dorgql.f>
-foreign import ccall "dorgql_"
-   orgql :: Ptr CInt -> Ptr CInt -> Ptr CInt -> Ptr Double -> Ptr CInt -> Ptr Double -> Ptr Double -> Ptr CInt -> Ptr CInt -> IO ()
-
--- | <http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/dorgqr.f>
-foreign import ccall "dorgqr_"
-   orgqr :: Ptr CInt -> Ptr CInt -> Ptr CInt -> Ptr Double -> Ptr CInt -> Ptr Double -> Ptr Double -> Ptr CInt -> Ptr CInt -> IO ()
-
--- | <http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/dorgr2.f>
-foreign import ccall "dorgr2_"
-   orgr2 :: Ptr CInt -> Ptr CInt -> Ptr CInt -> Ptr Double -> Ptr CInt -> Ptr Double -> Ptr Double -> Ptr CInt -> IO ()
-
--- | <http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/dorgrq.f>
-foreign import ccall "dorgrq_"
-   orgrq :: Ptr CInt -> Ptr CInt -> Ptr CInt -> Ptr Double -> Ptr CInt -> Ptr Double -> Ptr Double -> Ptr CInt -> Ptr CInt -> IO ()
-
--- | <http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/dorgtr.f>
-foreign import ccall "dorgtr_"
-   orgtr :: Ptr CChar -> Ptr CInt -> Ptr Double -> Ptr CInt -> Ptr Double -> Ptr Double -> Ptr CInt -> Ptr CInt -> IO ()
-
--- | <http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/dorm2l.f>
-foreign import ccall "dorm2l_"
-   orm2l :: Ptr CChar -> Ptr CChar -> Ptr CInt -> Ptr CInt -> Ptr CInt -> Ptr Double -> Ptr CInt -> Ptr Double -> Ptr Double -> Ptr CInt -> Ptr Double -> Ptr CInt -> IO ()
-
--- | <http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/dorm2r.f>
-foreign import ccall "dorm2r_"
-   orm2r :: Ptr CChar -> Ptr CChar -> Ptr CInt -> Ptr CInt -> Ptr CInt -> Ptr Double -> Ptr CInt -> Ptr Double -> Ptr Double -> Ptr CInt -> Ptr Double -> Ptr CInt -> IO ()
-
--- | <http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/dormbr.f>
-foreign import ccall "dormbr_"
-   ormbr :: Ptr CChar -> Ptr CChar -> Ptr CChar -> Ptr CInt -> Ptr CInt -> Ptr CInt -> Ptr Double -> Ptr CInt -> Ptr Double -> Ptr Double -> Ptr CInt -> Ptr Double -> Ptr CInt -> Ptr CInt -> IO ()
-
--- | <http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/dormhr.f>
-foreign import ccall "dormhr_"
-   ormhr :: Ptr CChar -> Ptr CChar -> Ptr CInt -> Ptr CInt -> Ptr CInt -> Ptr CInt -> Ptr Double -> Ptr CInt -> Ptr Double -> Ptr Double -> Ptr CInt -> Ptr Double -> Ptr CInt -> Ptr CInt -> IO ()
-
--- | <http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/dorml2.f>
-foreign import ccall "dorml2_"
-   orml2 :: Ptr CChar -> Ptr CChar -> Ptr CInt -> Ptr CInt -> Ptr CInt -> Ptr Double -> Ptr CInt -> Ptr Double -> Ptr Double -> Ptr CInt -> Ptr Double -> Ptr CInt -> IO ()
-
--- | <http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/dormlq.f>
-foreign import ccall "dormlq_"
-   ormlq :: Ptr CChar -> Ptr CChar -> Ptr CInt -> Ptr CInt -> Ptr CInt -> Ptr Double -> Ptr CInt -> Ptr Double -> Ptr Double -> Ptr CInt -> Ptr Double -> Ptr CInt -> Ptr CInt -> IO ()
-
--- | <http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/dormql.f>
-foreign import ccall "dormql_"
-   ormql :: Ptr CChar -> Ptr CChar -> Ptr CInt -> Ptr CInt -> Ptr CInt -> Ptr Double -> Ptr CInt -> Ptr Double -> Ptr Double -> Ptr CInt -> Ptr Double -> Ptr CInt -> Ptr CInt -> IO ()
-
--- | <http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/dormqr.f>
-foreign import ccall "dormqr_"
-   ormqr :: Ptr CChar -> Ptr CChar -> Ptr CInt -> Ptr CInt -> Ptr CInt -> Ptr Double -> Ptr CInt -> Ptr Double -> Ptr Double -> Ptr CInt -> Ptr Double -> Ptr CInt -> Ptr CInt -> IO ()
-
--- | <http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/dormr2.f>
-foreign import ccall "dormr2_"
-   ormr2 :: Ptr CChar -> Ptr CChar -> Ptr CInt -> Ptr CInt -> Ptr CInt -> Ptr Double -> Ptr CInt -> Ptr Double -> Ptr Double -> Ptr CInt -> Ptr Double -> Ptr CInt -> IO ()
-
--- | <http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/dormr3.f>
-foreign import ccall "dormr3_"
-   ormr3 :: Ptr CChar -> Ptr CChar -> Ptr CInt -> Ptr CInt -> Ptr CInt -> Ptr CInt -> Ptr Double -> Ptr CInt -> Ptr Double -> Ptr Double -> Ptr CInt -> Ptr Double -> Ptr CInt -> IO ()
-
--- | <http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/dormrq.f>
-foreign import ccall "dormrq_"
-   ormrq :: Ptr CChar -> Ptr CChar -> Ptr CInt -> Ptr CInt -> Ptr CInt -> Ptr Double -> Ptr CInt -> Ptr Double -> Ptr Double -> Ptr CInt -> Ptr Double -> Ptr CInt -> Ptr CInt -> IO ()
-
--- | <http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/dormrz.f>
-foreign import ccall "dormrz_"
-   ormrz :: Ptr CChar -> Ptr CChar -> Ptr CInt -> Ptr CInt -> Ptr CInt -> Ptr CInt -> Ptr Double -> Ptr CInt -> Ptr Double -> Ptr Double -> Ptr CInt -> Ptr Double -> Ptr CInt -> Ptr CInt -> IO ()
-
--- | <http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/dormtr.f>
-foreign import ccall "dormtr_"
-   ormtr :: Ptr CChar -> Ptr CChar -> Ptr CChar -> Ptr CInt -> Ptr CInt -> Ptr Double -> Ptr CInt -> Ptr Double -> Ptr Double -> Ptr CInt -> Ptr Double -> Ptr CInt -> Ptr CInt -> IO ()
-
 -- | <http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/dpbcon.f>
 foreign import ccall "dpbcon_"
    pbcon :: Ptr CChar -> Ptr CInt -> Ptr CInt -> Ptr Double -> Ptr CInt -> Ptr Double -> Ptr Double -> Ptr Double -> Ptr CInt -> Ptr CInt -> IO ()
@@ -1146,42 +1146,6 @@
 foreign import ccall "drscl_"
    rscl :: Ptr CInt -> Ptr Double -> Ptr Double -> Ptr CInt -> IO ()
 
--- | <http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/dsbev.f>
-foreign import ccall "dsbev_"
-   sbev :: Ptr CChar -> Ptr CChar -> Ptr CInt -> Ptr CInt -> Ptr Double -> Ptr CInt -> Ptr Double -> Ptr Double -> Ptr CInt -> Ptr Double -> Ptr CInt -> IO ()
-
--- | <http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/dsbevd.f>
-foreign import ccall "dsbevd_"
-   sbevd :: Ptr CChar -> Ptr CChar -> Ptr CInt -> Ptr CInt -> Ptr Double -> Ptr CInt -> Ptr Double -> Ptr Double -> Ptr CInt -> Ptr Double -> Ptr CInt -> Ptr CInt -> Ptr CInt -> Ptr CInt -> IO ()
-
--- | <http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/dsbevx.f>
-foreign import ccall "dsbevx_"
-   sbevx :: Ptr CChar -> Ptr CChar -> Ptr CChar -> Ptr CInt -> Ptr CInt -> Ptr Double -> Ptr CInt -> Ptr Double -> Ptr CInt -> Ptr Double -> Ptr Double -> Ptr CInt -> Ptr CInt -> Ptr Double -> Ptr CInt -> Ptr Double -> Ptr Double -> Ptr CInt -> Ptr Double -> Ptr CInt -> Ptr CInt -> Ptr CInt -> IO ()
-
--- | <http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/dsbgst.f>
-foreign import ccall "dsbgst_"
-   sbgst :: Ptr CChar -> Ptr CChar -> Ptr CInt -> Ptr CInt -> Ptr CInt -> Ptr Double -> Ptr CInt -> Ptr Double -> Ptr CInt -> Ptr Double -> Ptr CInt -> Ptr Double -> Ptr CInt -> IO ()
-
--- | <http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/dsbgv.f>
-foreign import ccall "dsbgv_"
-   sbgv :: Ptr CChar -> Ptr CChar -> Ptr CInt -> Ptr CInt -> Ptr CInt -> Ptr Double -> Ptr CInt -> Ptr Double -> Ptr CInt -> Ptr Double -> Ptr Double -> Ptr CInt -> Ptr Double -> Ptr CInt -> IO ()
-
--- | <http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/dsbgvd.f>
-foreign import ccall "dsbgvd_"
-   sbgvd :: Ptr CChar -> Ptr CChar -> Ptr CInt -> Ptr CInt -> Ptr CInt -> Ptr Double -> Ptr CInt -> Ptr Double -> Ptr CInt -> Ptr Double -> Ptr Double -> Ptr CInt -> Ptr Double -> Ptr CInt -> Ptr CInt -> Ptr CInt -> Ptr CInt -> IO ()
-
--- | <http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/dsbgvx.f>
-foreign import ccall "dsbgvx_"
-   sbgvx :: Ptr CChar -> Ptr CChar -> Ptr CChar -> Ptr CInt -> Ptr CInt -> Ptr CInt -> Ptr Double -> Ptr CInt -> Ptr Double -> Ptr CInt -> Ptr Double -> Ptr CInt -> Ptr Double -> Ptr Double -> Ptr CInt -> Ptr CInt -> Ptr Double -> Ptr CInt -> Ptr Double -> Ptr Double -> Ptr CInt -> Ptr Double -> Ptr CInt -> Ptr CInt -> Ptr CInt -> IO ()
-
--- | <http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/dsbtrd.f>
-foreign import ccall "dsbtrd_"
-   sbtrd :: Ptr CChar -> Ptr CChar -> Ptr CInt -> Ptr CInt -> Ptr Double -> Ptr CInt -> Ptr Double -> Ptr Double -> Ptr Double -> Ptr CInt -> Ptr Double -> Ptr CInt -> IO ()
-
--- | <http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/dsfrk.f>
-foreign import ccall "dsfrk_"
-   sfrk :: Ptr CChar -> Ptr CChar -> Ptr CChar -> Ptr CInt -> Ptr CInt -> Ptr Double -> Ptr Double -> Ptr CInt -> Ptr Double -> Ptr Double -> IO ()
-
 -- | <http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/dsgesv.f>
 foreign import ccall "dsgesv_"
    sgesv :: Ptr CInt -> Ptr CInt -> Ptr Double -> Ptr CInt -> Ptr CInt -> Ptr Double -> Ptr CInt -> Ptr Double -> Ptr CInt -> Ptr Double -> Ptr Float -> Ptr CInt -> Ptr CInt -> IO ()
@@ -1190,34 +1154,6 @@
 foreign import ccall "dspcon_"
    spcon :: Ptr CChar -> Ptr CInt -> Ptr Double -> Ptr CInt -> Ptr Double -> Ptr Double -> Ptr Double -> Ptr CInt -> Ptr CInt -> IO ()
 
--- | <http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/dspev.f>
-foreign import ccall "dspev_"
-   spev :: Ptr CChar -> Ptr CChar -> Ptr CInt -> Ptr Double -> Ptr Double -> Ptr Double -> Ptr CInt -> Ptr Double -> Ptr CInt -> IO ()
-
--- | <http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/dspevd.f>
-foreign import ccall "dspevd_"
-   spevd :: Ptr CChar -> Ptr CChar -> Ptr CInt -> Ptr Double -> Ptr Double -> Ptr Double -> Ptr CInt -> Ptr Double -> Ptr CInt -> Ptr CInt -> Ptr CInt -> Ptr CInt -> IO ()
-
--- | <http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/dspevx.f>
-foreign import ccall "dspevx_"
-   spevx :: Ptr CChar -> Ptr CChar -> Ptr CChar -> Ptr CInt -> Ptr Double -> Ptr Double -> Ptr Double -> Ptr CInt -> Ptr CInt -> Ptr Double -> Ptr CInt -> Ptr Double -> Ptr Double -> Ptr CInt -> Ptr Double -> Ptr CInt -> Ptr CInt -> Ptr CInt -> IO ()
-
--- | <http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/dspgst.f>
-foreign import ccall "dspgst_"
-   spgst :: Ptr CInt -> Ptr CChar -> Ptr CInt -> Ptr Double -> Ptr Double -> Ptr CInt -> IO ()
-
--- | <http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/dspgv.f>
-foreign import ccall "dspgv_"
-   spgv :: Ptr CInt -> Ptr CChar -> Ptr CChar -> Ptr CInt -> Ptr Double -> Ptr Double -> Ptr Double -> Ptr Double -> Ptr CInt -> Ptr Double -> Ptr CInt -> IO ()
-
--- | <http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/dspgvd.f>
-foreign import ccall "dspgvd_"
-   spgvd :: Ptr CInt -> Ptr CChar -> Ptr CChar -> Ptr CInt -> Ptr Double -> Ptr Double -> Ptr Double -> Ptr Double -> Ptr CInt -> Ptr Double -> Ptr CInt -> Ptr CInt -> Ptr CInt -> Ptr CInt -> IO ()
-
--- | <http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/dspgvx.f>
-foreign import ccall "dspgvx_"
-   spgvx :: Ptr CInt -> Ptr CChar -> Ptr CChar -> Ptr CChar -> Ptr CInt -> Ptr Double -> Ptr Double -> Ptr Double -> Ptr Double -> Ptr CInt -> Ptr CInt -> Ptr Double -> Ptr CInt -> Ptr Double -> Ptr Double -> Ptr CInt -> Ptr Double -> Ptr CInt -> Ptr CInt -> Ptr CInt -> IO ()
-
 -- | <http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/dsposv.f>
 foreign import ccall "dsposv_"
    sposv :: Ptr CChar -> Ptr CInt -> Ptr CInt -> Ptr Double -> Ptr CInt -> Ptr Double -> Ptr CInt -> Ptr Double -> Ptr CInt -> Ptr Double -> Ptr Float -> Ptr CInt -> Ptr CInt -> IO ()
@@ -1234,10 +1170,6 @@
 foreign import ccall "dspsvx_"
    spsvx :: Ptr CChar -> Ptr CChar -> Ptr CInt -> Ptr CInt -> Ptr Double -> Ptr Double -> Ptr CInt -> Ptr Double -> Ptr CInt -> Ptr Double -> Ptr CInt -> Ptr Double -> Ptr Double -> Ptr Double -> Ptr Double -> Ptr CInt -> Ptr CInt -> IO ()
 
--- | <http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/dsptrd.f>
-foreign import ccall "dsptrd_"
-   sptrd :: Ptr CChar -> Ptr CInt -> Ptr Double -> Ptr Double -> Ptr Double -> Ptr Double -> Ptr CInt -> IO ()
-
 -- | <http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/dsptrf.f>
 foreign import ccall "dsptrf_"
    sptrf :: Ptr CChar -> Ptr CInt -> Ptr Double -> Ptr CInt -> Ptr CInt -> IO ()
@@ -1306,42 +1238,6 @@
 foreign import ccall "dsyequb_"
    syequb :: Ptr CChar -> Ptr CInt -> Ptr Double -> Ptr CInt -> Ptr Double -> Ptr Double -> Ptr Double -> Ptr Double -> Ptr CInt -> IO ()
 
--- | <http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/dsyev.f>
-foreign import ccall "dsyev_"
-   syev :: Ptr CChar -> Ptr CChar -> Ptr CInt -> Ptr Double -> Ptr CInt -> Ptr Double -> Ptr Double -> Ptr CInt -> Ptr CInt -> IO ()
-
--- | <http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/dsyevd.f>
-foreign import ccall "dsyevd_"
-   syevd :: Ptr CChar -> Ptr CChar -> Ptr CInt -> Ptr Double -> Ptr CInt -> Ptr Double -> Ptr Double -> Ptr CInt -> Ptr CInt -> Ptr CInt -> Ptr CInt -> IO ()
-
--- | <http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/dsyevr.f>
-foreign import ccall "dsyevr_"
-   syevr :: Ptr CChar -> Ptr CChar -> Ptr CChar -> Ptr CInt -> Ptr Double -> Ptr CInt -> Ptr Double -> Ptr Double -> Ptr CInt -> Ptr CInt -> Ptr Double -> Ptr CInt -> Ptr Double -> Ptr Double -> Ptr CInt -> Ptr CInt -> Ptr Double -> Ptr CInt -> Ptr CInt -> Ptr CInt -> Ptr CInt -> IO ()
-
--- | <http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/dsyevx.f>
-foreign import ccall "dsyevx_"
-   syevx :: Ptr CChar -> Ptr CChar -> Ptr CChar -> Ptr CInt -> Ptr Double -> Ptr CInt -> Ptr Double -> Ptr Double -> Ptr CInt -> Ptr CInt -> Ptr Double -> Ptr CInt -> Ptr Double -> Ptr Double -> Ptr CInt -> Ptr Double -> Ptr CInt -> Ptr CInt -> Ptr CInt -> Ptr CInt -> IO ()
-
--- | <http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/dsygs2.f>
-foreign import ccall "dsygs2_"
-   sygs2 :: Ptr CInt -> Ptr CChar -> Ptr CInt -> Ptr Double -> Ptr CInt -> Ptr Double -> Ptr CInt -> Ptr CInt -> IO ()
-
--- | <http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/dsygst.f>
-foreign import ccall "dsygst_"
-   sygst :: Ptr CInt -> Ptr CChar -> Ptr CInt -> Ptr Double -> Ptr CInt -> Ptr Double -> Ptr CInt -> Ptr CInt -> IO ()
-
--- | <http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/dsygv.f>
-foreign import ccall "dsygv_"
-   sygv :: Ptr CInt -> Ptr CChar -> Ptr CChar -> Ptr CInt -> Ptr Double -> Ptr CInt -> Ptr Double -> Ptr CInt -> Ptr Double -> Ptr Double -> Ptr CInt -> Ptr CInt -> IO ()
-
--- | <http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/dsygvd.f>
-foreign import ccall "dsygvd_"
-   sygvd :: Ptr CInt -> Ptr CChar -> Ptr CChar -> Ptr CInt -> Ptr Double -> Ptr CInt -> Ptr Double -> Ptr CInt -> Ptr Double -> Ptr Double -> Ptr CInt -> Ptr CInt -> Ptr CInt -> Ptr CInt -> IO ()
-
--- | <http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/dsygvx.f>
-foreign import ccall "dsygvx_"
-   sygvx :: Ptr CInt -> Ptr CChar -> Ptr CChar -> Ptr CChar -> Ptr CInt -> Ptr Double -> Ptr CInt -> Ptr Double -> Ptr CInt -> Ptr Double -> Ptr Double -> Ptr CInt -> Ptr CInt -> Ptr Double -> Ptr CInt -> Ptr Double -> Ptr Double -> Ptr CInt -> Ptr Double -> Ptr CInt -> Ptr CInt -> Ptr CInt -> Ptr CInt -> IO ()
-
 -- | <http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/dsyrfs.f>
 foreign import ccall "dsyrfs_"
    syrfs :: Ptr CChar -> Ptr CInt -> Ptr CInt -> Ptr Double -> Ptr CInt -> Ptr Double -> Ptr CInt -> Ptr CInt -> Ptr Double -> Ptr CInt -> Ptr Double -> Ptr CInt -> Ptr Double -> Ptr Double -> Ptr Double -> Ptr CInt -> Ptr CInt -> IO ()
@@ -1529,3 +1425,107 @@
 -- | <http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/dtzrzf.f>
 foreign import ccall "dtzrzf_"
    tzrzf :: Ptr CInt -> Ptr CInt -> Ptr Double -> Ptr CInt -> Ptr Double -> Ptr Double -> Ptr CInt -> Ptr CInt -> IO ()
+
+-- | <http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/dorg2l.f>
+foreign import ccall "dorg2l_"
+   org2l :: Ptr CInt -> Ptr CInt -> Ptr CInt -> Ptr Double -> Ptr CInt -> Ptr Double -> Ptr Double -> Ptr CInt -> IO ()
+
+-- | <http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/dorg2r.f>
+foreign import ccall "dorg2r_"
+   org2r :: Ptr CInt -> Ptr CInt -> Ptr CInt -> Ptr Double -> Ptr CInt -> Ptr Double -> Ptr Double -> Ptr CInt -> IO ()
+
+-- | <http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/dorgbr.f>
+foreign import ccall "dorgbr_"
+   orgbr :: Ptr CChar -> Ptr CInt -> Ptr CInt -> Ptr CInt -> Ptr Double -> Ptr CInt -> Ptr Double -> Ptr Double -> Ptr CInt -> Ptr CInt -> IO ()
+
+-- | <http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/dorghr.f>
+foreign import ccall "dorghr_"
+   orghr :: Ptr CInt -> Ptr CInt -> Ptr CInt -> Ptr Double -> Ptr CInt -> Ptr Double -> Ptr Double -> Ptr CInt -> Ptr CInt -> IO ()
+
+-- | <http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/dorgl2.f>
+foreign import ccall "dorgl2_"
+   orgl2 :: Ptr CInt -> Ptr CInt -> Ptr CInt -> Ptr Double -> Ptr CInt -> Ptr Double -> Ptr Double -> Ptr CInt -> IO ()
+
+-- | <http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/dorglq.f>
+foreign import ccall "dorglq_"
+   orglq :: Ptr CInt -> Ptr CInt -> Ptr CInt -> Ptr Double -> Ptr CInt -> Ptr Double -> Ptr Double -> Ptr CInt -> Ptr CInt -> IO ()
+
+-- | <http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/dorgql.f>
+foreign import ccall "dorgql_"
+   orgql :: Ptr CInt -> Ptr CInt -> Ptr CInt -> Ptr Double -> Ptr CInt -> Ptr Double -> Ptr Double -> Ptr CInt -> Ptr CInt -> IO ()
+
+-- | <http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/dorgqr.f>
+foreign import ccall "dorgqr_"
+   orgqr :: Ptr CInt -> Ptr CInt -> Ptr CInt -> Ptr Double -> Ptr CInt -> Ptr Double -> Ptr Double -> Ptr CInt -> Ptr CInt -> IO ()
+
+-- | <http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/dorgr2.f>
+foreign import ccall "dorgr2_"
+   orgr2 :: Ptr CInt -> Ptr CInt -> Ptr CInt -> Ptr Double -> Ptr CInt -> Ptr Double -> Ptr Double -> Ptr CInt -> IO ()
+
+-- | <http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/dorgrq.f>
+foreign import ccall "dorgrq_"
+   orgrq :: Ptr CInt -> Ptr CInt -> Ptr CInt -> Ptr Double -> Ptr CInt -> Ptr Double -> Ptr Double -> Ptr CInt -> Ptr CInt -> IO ()
+
+-- | <http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/dorgtr.f>
+foreign import ccall "dorgtr_"
+   orgtr :: Ptr CChar -> Ptr CInt -> Ptr Double -> Ptr CInt -> Ptr Double -> Ptr Double -> Ptr CInt -> Ptr CInt -> IO ()
+
+-- | <http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/dorm2l.f>
+foreign import ccall "dorm2l_"
+   orm2l :: Ptr CChar -> Ptr CChar -> Ptr CInt -> Ptr CInt -> Ptr CInt -> Ptr Double -> Ptr CInt -> Ptr Double -> Ptr Double -> Ptr CInt -> Ptr Double -> Ptr CInt -> IO ()
+
+-- | <http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/dorm2r.f>
+foreign import ccall "dorm2r_"
+   orm2r :: Ptr CChar -> Ptr CChar -> Ptr CInt -> Ptr CInt -> Ptr CInt -> Ptr Double -> Ptr CInt -> Ptr Double -> Ptr Double -> Ptr CInt -> Ptr Double -> Ptr CInt -> IO ()
+
+-- | <http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/dormbr.f>
+foreign import ccall "dormbr_"
+   ormbr :: Ptr CChar -> Ptr CChar -> Ptr CChar -> Ptr CInt -> Ptr CInt -> Ptr CInt -> Ptr Double -> Ptr CInt -> Ptr Double -> Ptr Double -> Ptr CInt -> Ptr Double -> Ptr CInt -> Ptr CInt -> IO ()
+
+-- | <http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/dormhr.f>
+foreign import ccall "dormhr_"
+   ormhr :: Ptr CChar -> Ptr CChar -> Ptr CInt -> Ptr CInt -> Ptr CInt -> Ptr CInt -> Ptr Double -> Ptr CInt -> Ptr Double -> Ptr Double -> Ptr CInt -> Ptr Double -> Ptr CInt -> Ptr CInt -> IO ()
+
+-- | <http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/dorml2.f>
+foreign import ccall "dorml2_"
+   orml2 :: Ptr CChar -> Ptr CChar -> Ptr CInt -> Ptr CInt -> Ptr CInt -> Ptr Double -> Ptr CInt -> Ptr Double -> Ptr Double -> Ptr CInt -> Ptr Double -> Ptr CInt -> IO ()
+
+-- | <http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/dormlq.f>
+foreign import ccall "dormlq_"
+   ormlq :: Ptr CChar -> Ptr CChar -> Ptr CInt -> Ptr CInt -> Ptr CInt -> Ptr Double -> Ptr CInt -> Ptr Double -> Ptr Double -> Ptr CInt -> Ptr Double -> Ptr CInt -> Ptr CInt -> IO ()
+
+-- | <http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/dormql.f>
+foreign import ccall "dormql_"
+   ormql :: Ptr CChar -> Ptr CChar -> Ptr CInt -> Ptr CInt -> Ptr CInt -> Ptr Double -> Ptr CInt -> Ptr Double -> Ptr Double -> Ptr CInt -> Ptr Double -> Ptr CInt -> Ptr CInt -> IO ()
+
+-- | <http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/dormqr.f>
+foreign import ccall "dormqr_"
+   ormqr :: Ptr CChar -> Ptr CChar -> Ptr CInt -> Ptr CInt -> Ptr CInt -> Ptr Double -> Ptr CInt -> Ptr Double -> Ptr Double -> Ptr CInt -> Ptr Double -> Ptr CInt -> Ptr CInt -> IO ()
+
+-- | <http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/dormr2.f>
+foreign import ccall "dormr2_"
+   ormr2 :: Ptr CChar -> Ptr CChar -> Ptr CInt -> Ptr CInt -> Ptr CInt -> Ptr Double -> Ptr CInt -> Ptr Double -> Ptr Double -> Ptr CInt -> Ptr Double -> Ptr CInt -> IO ()
+
+-- | <http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/dormr3.f>
+foreign import ccall "dormr3_"
+   ormr3 :: Ptr CChar -> Ptr CChar -> Ptr CInt -> Ptr CInt -> Ptr CInt -> Ptr CInt -> Ptr Double -> Ptr CInt -> Ptr Double -> Ptr Double -> Ptr CInt -> Ptr Double -> Ptr CInt -> IO ()
+
+-- | <http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/dormrq.f>
+foreign import ccall "dormrq_"
+   ormrq :: Ptr CChar -> Ptr CChar -> Ptr CInt -> Ptr CInt -> Ptr CInt -> Ptr Double -> Ptr CInt -> Ptr Double -> Ptr Double -> Ptr CInt -> Ptr Double -> Ptr CInt -> Ptr CInt -> IO ()
+
+-- | <http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/dormrz.f>
+foreign import ccall "dormrz_"
+   ormrz :: Ptr CChar -> Ptr CChar -> Ptr CInt -> Ptr CInt -> Ptr CInt -> Ptr CInt -> Ptr Double -> Ptr CInt -> Ptr Double -> Ptr Double -> Ptr CInt -> Ptr Double -> Ptr CInt -> Ptr CInt -> IO ()
+
+-- | <http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/dormtr.f>
+foreign import ccall "dormtr_"
+   ormtr :: Ptr CChar -> Ptr CChar -> Ptr CChar -> Ptr CInt -> Ptr CInt -> Ptr Double -> Ptr CInt -> Ptr Double -> Ptr Double -> Ptr CInt -> Ptr Double -> Ptr CInt -> Ptr CInt -> IO ()
+
+-- | <http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/dopgtr.f>
+foreign import ccall "dopgtr_"
+   opgtr :: Ptr CChar -> Ptr CInt -> Ptr Double -> Ptr Double -> Ptr Double -> Ptr CInt -> Ptr Double -> Ptr CInt -> IO ()
+
+-- | <http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/dopmtr.f>
+foreign import ccall "dopmtr_"
+   opmtr :: Ptr CChar -> Ptr CChar -> Ptr CChar -> Ptr CInt -> Ptr CInt -> Ptr Double -> Ptr Double -> Ptr Double -> Ptr CInt -> Ptr Double -> Ptr CInt -> IO ()
diff --git a/src/Numeric/LAPACK/FFI/Float.hs b/src/Numeric/LAPACK/FFI/Float.hs
--- a/src/Numeric/LAPACK/FFI/Float.hs
+++ b/src/Numeric/LAPACK/FFI/Float.hs
@@ -306,10 +306,114 @@
 foreign import ccall "sgtts2_"
    gtts2 :: Ptr CInt -> Ptr CInt -> Ptr CInt -> Ptr Float -> Ptr Float -> Ptr Float -> Ptr Float -> Ptr CInt -> Ptr Float -> Ptr CInt -> IO ()
 
+-- | <http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/ssbev.f>
+foreign import ccall "ssbev_"
+   sbev :: Ptr CChar -> Ptr CChar -> Ptr CInt -> Ptr CInt -> Ptr Float -> Ptr CInt -> Ptr Float -> Ptr Float -> Ptr CInt -> Ptr Float -> Ptr CInt -> IO ()
+
+-- | <http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/ssbevd.f>
+foreign import ccall "ssbevd_"
+   sbevd :: Ptr CChar -> Ptr CChar -> Ptr CInt -> Ptr CInt -> Ptr Float -> Ptr CInt -> Ptr Float -> Ptr Float -> Ptr CInt -> Ptr Float -> Ptr CInt -> Ptr CInt -> Ptr CInt -> Ptr CInt -> IO ()
+
+-- | <http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/ssbevx.f>
+foreign import ccall "ssbevx_"
+   sbevx :: Ptr CChar -> Ptr CChar -> Ptr CChar -> Ptr CInt -> Ptr CInt -> Ptr Float -> Ptr CInt -> Ptr Float -> Ptr CInt -> Ptr Float -> Ptr Float -> Ptr CInt -> Ptr CInt -> Ptr Float -> Ptr CInt -> Ptr Float -> Ptr Float -> Ptr CInt -> Ptr Float -> Ptr CInt -> Ptr CInt -> Ptr CInt -> IO ()
+
+-- | <http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/ssbgst.f>
+foreign import ccall "ssbgst_"
+   sbgst :: Ptr CChar -> Ptr CChar -> Ptr CInt -> Ptr CInt -> Ptr CInt -> Ptr Float -> Ptr CInt -> Ptr Float -> Ptr CInt -> Ptr Float -> Ptr CInt -> Ptr Float -> Ptr CInt -> IO ()
+
+-- | <http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/ssbgv.f>
+foreign import ccall "ssbgv_"
+   sbgv :: Ptr CChar -> Ptr CChar -> Ptr CInt -> Ptr CInt -> Ptr CInt -> Ptr Float -> Ptr CInt -> Ptr Float -> Ptr CInt -> Ptr Float -> Ptr Float -> Ptr CInt -> Ptr Float -> Ptr CInt -> IO ()
+
+-- | <http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/ssbgvd.f>
+foreign import ccall "ssbgvd_"
+   sbgvd :: Ptr CChar -> Ptr CChar -> Ptr CInt -> Ptr CInt -> Ptr CInt -> Ptr Float -> Ptr CInt -> Ptr Float -> Ptr CInt -> Ptr Float -> Ptr Float -> Ptr CInt -> Ptr Float -> Ptr CInt -> Ptr CInt -> Ptr CInt -> Ptr CInt -> IO ()
+
+-- | <http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/ssbgvx.f>
+foreign import ccall "ssbgvx_"
+   sbgvx :: Ptr CChar -> Ptr CChar -> Ptr CChar -> Ptr CInt -> Ptr CInt -> Ptr CInt -> Ptr Float -> Ptr CInt -> Ptr Float -> Ptr CInt -> Ptr Float -> Ptr CInt -> Ptr Float -> Ptr Float -> Ptr CInt -> Ptr CInt -> Ptr Float -> Ptr CInt -> Ptr Float -> Ptr Float -> Ptr CInt -> Ptr Float -> Ptr CInt -> Ptr CInt -> Ptr CInt -> IO ()
+
+-- | <http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/ssbtrd.f>
+foreign import ccall "ssbtrd_"
+   sbtrd :: Ptr CChar -> Ptr CChar -> Ptr CInt -> Ptr CInt -> Ptr Float -> Ptr CInt -> Ptr Float -> Ptr Float -> Ptr Float -> Ptr CInt -> Ptr Float -> Ptr CInt -> IO ()
+
+-- | <http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/ssyev.f>
+foreign import ccall "ssyev_"
+   syev :: Ptr CChar -> Ptr CChar -> Ptr CInt -> Ptr Float -> Ptr CInt -> Ptr Float -> Ptr Float -> Ptr CInt -> Ptr CInt -> IO ()
+
+-- | <http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/ssyevd.f>
+foreign import ccall "ssyevd_"
+   syevd :: Ptr CChar -> Ptr CChar -> Ptr CInt -> Ptr Float -> Ptr CInt -> Ptr Float -> Ptr Float -> Ptr CInt -> Ptr CInt -> Ptr CInt -> Ptr CInt -> IO ()
+
+-- | <http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/ssyevr.f>
+foreign import ccall "ssyevr_"
+   syevr :: Ptr CChar -> Ptr CChar -> Ptr CChar -> Ptr CInt -> Ptr Float -> Ptr CInt -> Ptr Float -> Ptr Float -> Ptr CInt -> Ptr CInt -> Ptr Float -> Ptr CInt -> Ptr Float -> Ptr Float -> Ptr CInt -> Ptr CInt -> Ptr Float -> Ptr CInt -> Ptr CInt -> Ptr CInt -> Ptr CInt -> IO ()
+
+-- | <http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/ssyevx.f>
+foreign import ccall "ssyevx_"
+   syevx :: Ptr CChar -> Ptr CChar -> Ptr CChar -> Ptr CInt -> Ptr Float -> Ptr CInt -> Ptr Float -> Ptr Float -> Ptr CInt -> Ptr CInt -> Ptr Float -> Ptr CInt -> Ptr Float -> Ptr Float -> Ptr CInt -> Ptr Float -> Ptr CInt -> Ptr CInt -> Ptr CInt -> Ptr CInt -> IO ()
+
+-- | <http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/ssygs2.f>
+foreign import ccall "ssygs2_"
+   sygs2 :: Ptr CInt -> Ptr CChar -> Ptr CInt -> Ptr Float -> Ptr CInt -> Ptr Float -> Ptr CInt -> Ptr CInt -> IO ()
+
+-- | <http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/ssygst.f>
+foreign import ccall "ssygst_"
+   sygst :: Ptr CInt -> Ptr CChar -> Ptr CInt -> Ptr Float -> Ptr CInt -> Ptr Float -> Ptr CInt -> Ptr CInt -> IO ()
+
+-- | <http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/ssygv.f>
+foreign import ccall "ssygv_"
+   sygv :: Ptr CInt -> Ptr CChar -> Ptr CChar -> Ptr CInt -> Ptr Float -> Ptr CInt -> Ptr Float -> Ptr CInt -> Ptr Float -> Ptr Float -> Ptr CInt -> Ptr CInt -> IO ()
+
+-- | <http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/ssygvd.f>
+foreign import ccall "ssygvd_"
+   sygvd :: Ptr CInt -> Ptr CChar -> Ptr CChar -> Ptr CInt -> Ptr Float -> Ptr CInt -> Ptr Float -> Ptr CInt -> Ptr Float -> Ptr Float -> Ptr CInt -> Ptr CInt -> Ptr CInt -> Ptr CInt -> IO ()
+
+-- | <http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/ssygvx.f>
+foreign import ccall "ssygvx_"
+   sygvx :: Ptr CInt -> Ptr CChar -> Ptr CChar -> Ptr CChar -> Ptr CInt -> Ptr Float -> Ptr CInt -> Ptr Float -> Ptr CInt -> Ptr Float -> Ptr Float -> Ptr CInt -> Ptr CInt -> Ptr Float -> Ptr CInt -> Ptr Float -> Ptr Float -> Ptr CInt -> Ptr Float -> Ptr CInt -> Ptr CInt -> Ptr CInt -> Ptr CInt -> IO ()
+
+-- | <http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/ssfrk.f>
+foreign import ccall "ssfrk_"
+   sfrk :: Ptr CChar -> Ptr CChar -> Ptr CChar -> Ptr CInt -> Ptr CInt -> Ptr Float -> Ptr Float -> Ptr CInt -> Ptr Float -> Ptr Float -> IO ()
+
 -- | <http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/shgeqz.f>
 foreign import ccall "shgeqz_"
    hgeqz :: Ptr CChar -> Ptr CChar -> Ptr CChar -> Ptr CInt -> Ptr CInt -> Ptr CInt -> Ptr Float -> Ptr CInt -> Ptr Float -> Ptr CInt -> Ptr Float -> Ptr Float -> Ptr Float -> Ptr Float -> Ptr CInt -> Ptr Float -> Ptr CInt -> Ptr Float -> Ptr CInt -> Ptr CInt -> IO ()
 
+-- | <http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/sspev.f>
+foreign import ccall "sspev_"
+   spev :: Ptr CChar -> Ptr CChar -> Ptr CInt -> Ptr Float -> Ptr Float -> Ptr Float -> Ptr CInt -> Ptr Float -> Ptr CInt -> IO ()
+
+-- | <http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/sspevd.f>
+foreign import ccall "sspevd_"
+   spevd :: Ptr CChar -> Ptr CChar -> Ptr CInt -> Ptr Float -> Ptr Float -> Ptr Float -> Ptr CInt -> Ptr Float -> Ptr CInt -> Ptr CInt -> Ptr CInt -> Ptr CInt -> IO ()
+
+-- | <http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/sspevx.f>
+foreign import ccall "sspevx_"
+   spevx :: Ptr CChar -> Ptr CChar -> Ptr CChar -> Ptr CInt -> Ptr Float -> Ptr Float -> Ptr Float -> Ptr CInt -> Ptr CInt -> Ptr Float -> Ptr CInt -> Ptr Float -> Ptr Float -> Ptr CInt -> Ptr Float -> Ptr CInt -> Ptr CInt -> Ptr CInt -> IO ()
+
+-- | <http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/sspgst.f>
+foreign import ccall "sspgst_"
+   spgst :: Ptr CInt -> Ptr CChar -> Ptr CInt -> Ptr Float -> Ptr Float -> Ptr CInt -> IO ()
+
+-- | <http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/sspgv.f>
+foreign import ccall "sspgv_"
+   spgv :: Ptr CInt -> Ptr CChar -> Ptr CChar -> Ptr CInt -> Ptr Float -> Ptr Float -> Ptr Float -> Ptr Float -> Ptr CInt -> Ptr Float -> Ptr CInt -> IO ()
+
+-- | <http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/sspgvd.f>
+foreign import ccall "sspgvd_"
+   spgvd :: Ptr CInt -> Ptr CChar -> Ptr CChar -> Ptr CInt -> Ptr Float -> Ptr Float -> Ptr Float -> Ptr Float -> Ptr CInt -> Ptr Float -> Ptr CInt -> Ptr CInt -> Ptr CInt -> Ptr CInt -> IO ()
+
+-- | <http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/sspgvx.f>
+foreign import ccall "sspgvx_"
+   spgvx :: Ptr CInt -> Ptr CChar -> Ptr CChar -> Ptr CChar -> Ptr CInt -> Ptr Float -> Ptr Float -> Ptr Float -> Ptr Float -> Ptr CInt -> Ptr CInt -> Ptr Float -> Ptr CInt -> Ptr Float -> Ptr Float -> Ptr CInt -> Ptr Float -> Ptr CInt -> Ptr CInt -> Ptr CInt -> IO ()
+
+-- | <http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/ssptrd.f>
+foreign import ccall "ssptrd_"
+   sptrd :: Ptr CChar -> Ptr CInt -> Ptr Float -> Ptr Float -> Ptr Float -> Ptr Float -> Ptr CInt -> IO ()
+
 -- | <http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/shsein.f>
 foreign import ccall "shsein_"
    hsein :: Ptr CChar -> Ptr CChar -> Ptr CChar -> Ptr Bool -> Ptr CInt -> Ptr Float -> Ptr CInt -> Ptr Float -> Ptr Float -> Ptr Float -> Ptr CInt -> Ptr Float -> Ptr CInt -> Ptr CInt -> Ptr CInt -> Ptr Float -> Ptr CInt -> Ptr CInt -> Ptr CInt -> IO ()
@@ -866,14 +970,6 @@
 foreign import ccall "slauum_"
    lauum :: Ptr CChar -> Ptr CInt -> Ptr Float -> Ptr CInt -> Ptr CInt -> IO ()
 
--- | <http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/sopgtr.f>
-foreign import ccall "sopgtr_"
-   opgtr :: Ptr CChar -> Ptr CInt -> Ptr Float -> Ptr Float -> Ptr Float -> Ptr CInt -> Ptr Float -> Ptr CInt -> IO ()
-
--- | <http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/sopmtr.f>
-foreign import ccall "sopmtr_"
-   opmtr :: Ptr CChar -> Ptr CChar -> Ptr CChar -> Ptr CInt -> Ptr CInt -> Ptr Float -> Ptr Float -> Ptr Float -> Ptr CInt -> Ptr Float -> Ptr CInt -> IO ()
-
 -- | <http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/sorbdb.f>
 foreign import ccall "sorbdb_"
    orbdb :: Ptr CChar -> Ptr CChar -> Ptr CInt -> Ptr CInt -> Ptr CInt -> Ptr Float -> Ptr CInt -> Ptr Float -> Ptr CInt -> Ptr Float -> Ptr CInt -> Ptr Float -> Ptr CInt -> Ptr Float -> Ptr Float -> Ptr Float -> Ptr Float -> Ptr Float -> Ptr Float -> Ptr Float -> Ptr CInt -> Ptr CInt -> IO ()
@@ -882,102 +978,6 @@
 foreign import ccall "sorcsd_"
    orcsd :: Ptr CChar -> Ptr CChar -> Ptr CChar -> Ptr CChar -> Ptr CChar -> Ptr CChar -> Ptr CInt -> Ptr CInt -> Ptr CInt -> Ptr Float -> Ptr CInt -> Ptr Float -> Ptr CInt -> Ptr Float -> Ptr CInt -> Ptr Float -> Ptr CInt -> Ptr Float -> Ptr Float -> Ptr CInt -> Ptr Float -> Ptr CInt -> Ptr Float -> Ptr CInt -> Ptr Float -> Ptr CInt -> Ptr Float -> Ptr CInt -> Ptr CInt -> Ptr CInt -> IO ()
 
--- | <http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/sorg2l.f>
-foreign import ccall "sorg2l_"
-   org2l :: Ptr CInt -> Ptr CInt -> Ptr CInt -> Ptr Float -> Ptr CInt -> Ptr Float -> Ptr Float -> Ptr CInt -> IO ()
-
--- | <http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/sorg2r.f>
-foreign import ccall "sorg2r_"
-   org2r :: Ptr CInt -> Ptr CInt -> Ptr CInt -> Ptr Float -> Ptr CInt -> Ptr Float -> Ptr Float -> Ptr CInt -> IO ()
-
--- | <http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/sorgbr.f>
-foreign import ccall "sorgbr_"
-   orgbr :: Ptr CChar -> Ptr CInt -> Ptr CInt -> Ptr CInt -> Ptr Float -> Ptr CInt -> Ptr Float -> Ptr Float -> Ptr CInt -> Ptr CInt -> IO ()
-
--- | <http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/sorghr.f>
-foreign import ccall "sorghr_"
-   orghr :: Ptr CInt -> Ptr CInt -> Ptr CInt -> Ptr Float -> Ptr CInt -> Ptr Float -> Ptr Float -> Ptr CInt -> Ptr CInt -> IO ()
-
--- | <http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/sorgl2.f>
-foreign import ccall "sorgl2_"
-   orgl2 :: Ptr CInt -> Ptr CInt -> Ptr CInt -> Ptr Float -> Ptr CInt -> Ptr Float -> Ptr Float -> Ptr CInt -> IO ()
-
--- | <http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/sorglq.f>
-foreign import ccall "sorglq_"
-   orglq :: Ptr CInt -> Ptr CInt -> Ptr CInt -> Ptr Float -> Ptr CInt -> Ptr Float -> Ptr Float -> Ptr CInt -> Ptr CInt -> IO ()
-
--- | <http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/sorgql.f>
-foreign import ccall "sorgql_"
-   orgql :: Ptr CInt -> Ptr CInt -> Ptr CInt -> Ptr Float -> Ptr CInt -> Ptr Float -> Ptr Float -> Ptr CInt -> Ptr CInt -> IO ()
-
--- | <http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/sorgqr.f>
-foreign import ccall "sorgqr_"
-   orgqr :: Ptr CInt -> Ptr CInt -> Ptr CInt -> Ptr Float -> Ptr CInt -> Ptr Float -> Ptr Float -> Ptr CInt -> Ptr CInt -> IO ()
-
--- | <http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/sorgr2.f>
-foreign import ccall "sorgr2_"
-   orgr2 :: Ptr CInt -> Ptr CInt -> Ptr CInt -> Ptr Float -> Ptr CInt -> Ptr Float -> Ptr Float -> Ptr CInt -> IO ()
-
--- | <http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/sorgrq.f>
-foreign import ccall "sorgrq_"
-   orgrq :: Ptr CInt -> Ptr CInt -> Ptr CInt -> Ptr Float -> Ptr CInt -> Ptr Float -> Ptr Float -> Ptr CInt -> Ptr CInt -> IO ()
-
--- | <http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/sorgtr.f>
-foreign import ccall "sorgtr_"
-   orgtr :: Ptr CChar -> Ptr CInt -> Ptr Float -> Ptr CInt -> Ptr Float -> Ptr Float -> Ptr CInt -> Ptr CInt -> IO ()
-
--- | <http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/sorm2l.f>
-foreign import ccall "sorm2l_"
-   orm2l :: Ptr CChar -> Ptr CChar -> Ptr CInt -> Ptr CInt -> Ptr CInt -> Ptr Float -> Ptr CInt -> Ptr Float -> Ptr Float -> Ptr CInt -> Ptr Float -> Ptr CInt -> IO ()
-
--- | <http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/sorm2r.f>
-foreign import ccall "sorm2r_"
-   orm2r :: Ptr CChar -> Ptr CChar -> Ptr CInt -> Ptr CInt -> Ptr CInt -> Ptr Float -> Ptr CInt -> Ptr Float -> Ptr Float -> Ptr CInt -> Ptr Float -> Ptr CInt -> IO ()
-
--- | <http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/sormbr.f>
-foreign import ccall "sormbr_"
-   ormbr :: Ptr CChar -> Ptr CChar -> Ptr CChar -> Ptr CInt -> Ptr CInt -> Ptr CInt -> Ptr Float -> Ptr CInt -> Ptr Float -> Ptr Float -> Ptr CInt -> Ptr Float -> Ptr CInt -> Ptr CInt -> IO ()
-
--- | <http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/sormhr.f>
-foreign import ccall "sormhr_"
-   ormhr :: Ptr CChar -> Ptr CChar -> Ptr CInt -> Ptr CInt -> Ptr CInt -> Ptr CInt -> Ptr Float -> Ptr CInt -> Ptr Float -> Ptr Float -> Ptr CInt -> Ptr Float -> Ptr CInt -> Ptr CInt -> IO ()
-
--- | <http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/sorml2.f>
-foreign import ccall "sorml2_"
-   orml2 :: Ptr CChar -> Ptr CChar -> Ptr CInt -> Ptr CInt -> Ptr CInt -> Ptr Float -> Ptr CInt -> Ptr Float -> Ptr Float -> Ptr CInt -> Ptr Float -> Ptr CInt -> IO ()
-
--- | <http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/sormlq.f>
-foreign import ccall "sormlq_"
-   ormlq :: Ptr CChar -> Ptr CChar -> Ptr CInt -> Ptr CInt -> Ptr CInt -> Ptr Float -> Ptr CInt -> Ptr Float -> Ptr Float -> Ptr CInt -> Ptr Float -> Ptr CInt -> Ptr CInt -> IO ()
-
--- | <http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/sormql.f>
-foreign import ccall "sormql_"
-   ormql :: Ptr CChar -> Ptr CChar -> Ptr CInt -> Ptr CInt -> Ptr CInt -> Ptr Float -> Ptr CInt -> Ptr Float -> Ptr Float -> Ptr CInt -> Ptr Float -> Ptr CInt -> Ptr CInt -> IO ()
-
--- | <http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/sormqr.f>
-foreign import ccall "sormqr_"
-   ormqr :: Ptr CChar -> Ptr CChar -> Ptr CInt -> Ptr CInt -> Ptr CInt -> Ptr Float -> Ptr CInt -> Ptr Float -> Ptr Float -> Ptr CInt -> Ptr Float -> Ptr CInt -> Ptr CInt -> IO ()
-
--- | <http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/sormr2.f>
-foreign import ccall "sormr2_"
-   ormr2 :: Ptr CChar -> Ptr CChar -> Ptr CInt -> Ptr CInt -> Ptr CInt -> Ptr Float -> Ptr CInt -> Ptr Float -> Ptr Float -> Ptr CInt -> Ptr Float -> Ptr CInt -> IO ()
-
--- | <http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/sormr3.f>
-foreign import ccall "sormr3_"
-   ormr3 :: Ptr CChar -> Ptr CChar -> Ptr CInt -> Ptr CInt -> Ptr CInt -> Ptr CInt -> Ptr Float -> Ptr CInt -> Ptr Float -> Ptr Float -> Ptr CInt -> Ptr Float -> Ptr CInt -> IO ()
-
--- | <http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/sormrq.f>
-foreign import ccall "sormrq_"
-   ormrq :: Ptr CChar -> Ptr CChar -> Ptr CInt -> Ptr CInt -> Ptr CInt -> Ptr Float -> Ptr CInt -> Ptr Float -> Ptr Float -> Ptr CInt -> Ptr Float -> Ptr CInt -> Ptr CInt -> IO ()
-
--- | <http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/sormrz.f>
-foreign import ccall "sormrz_"
-   ormrz :: Ptr CChar -> Ptr CChar -> Ptr CInt -> Ptr CInt -> Ptr CInt -> Ptr CInt -> Ptr Float -> Ptr CInt -> Ptr Float -> Ptr Float -> Ptr CInt -> Ptr Float -> Ptr CInt -> Ptr CInt -> IO ()
-
--- | <http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/sormtr.f>
-foreign import ccall "sormtr_"
-   ormtr :: Ptr CChar -> Ptr CChar -> Ptr CChar -> Ptr CInt -> Ptr CInt -> Ptr Float -> Ptr CInt -> Ptr Float -> Ptr Float -> Ptr CInt -> Ptr Float -> Ptr CInt -> Ptr CInt -> IO ()
-
 -- | <http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/spbcon.f>
 foreign import ccall "spbcon_"
    pbcon :: Ptr CChar -> Ptr CInt -> Ptr CInt -> Ptr Float -> Ptr CInt -> Ptr Float -> Ptr Float -> Ptr Float -> Ptr CInt -> Ptr CInt -> IO ()
@@ -1142,74 +1142,10 @@
 foreign import ccall "srscl_"
    rscl :: Ptr CInt -> Ptr Float -> Ptr Float -> Ptr CInt -> IO ()
 
--- | <http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/ssbev.f>
-foreign import ccall "ssbev_"
-   sbev :: Ptr CChar -> Ptr CChar -> Ptr CInt -> Ptr CInt -> Ptr Float -> Ptr CInt -> Ptr Float -> Ptr Float -> Ptr CInt -> Ptr Float -> Ptr CInt -> IO ()
-
--- | <http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/ssbevd.f>
-foreign import ccall "ssbevd_"
-   sbevd :: Ptr CChar -> Ptr CChar -> Ptr CInt -> Ptr CInt -> Ptr Float -> Ptr CInt -> Ptr Float -> Ptr Float -> Ptr CInt -> Ptr Float -> Ptr CInt -> Ptr CInt -> Ptr CInt -> Ptr CInt -> IO ()
-
--- | <http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/ssbevx.f>
-foreign import ccall "ssbevx_"
-   sbevx :: Ptr CChar -> Ptr CChar -> Ptr CChar -> Ptr CInt -> Ptr CInt -> Ptr Float -> Ptr CInt -> Ptr Float -> Ptr CInt -> Ptr Float -> Ptr Float -> Ptr CInt -> Ptr CInt -> Ptr Float -> Ptr CInt -> Ptr Float -> Ptr Float -> Ptr CInt -> Ptr Float -> Ptr CInt -> Ptr CInt -> Ptr CInt -> IO ()
-
--- | <http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/ssbgst.f>
-foreign import ccall "ssbgst_"
-   sbgst :: Ptr CChar -> Ptr CChar -> Ptr CInt -> Ptr CInt -> Ptr CInt -> Ptr Float -> Ptr CInt -> Ptr Float -> Ptr CInt -> Ptr Float -> Ptr CInt -> Ptr Float -> Ptr CInt -> IO ()
-
--- | <http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/ssbgv.f>
-foreign import ccall "ssbgv_"
-   sbgv :: Ptr CChar -> Ptr CChar -> Ptr CInt -> Ptr CInt -> Ptr CInt -> Ptr Float -> Ptr CInt -> Ptr Float -> Ptr CInt -> Ptr Float -> Ptr Float -> Ptr CInt -> Ptr Float -> Ptr CInt -> IO ()
-
--- | <http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/ssbgvd.f>
-foreign import ccall "ssbgvd_"
-   sbgvd :: Ptr CChar -> Ptr CChar -> Ptr CInt -> Ptr CInt -> Ptr CInt -> Ptr Float -> Ptr CInt -> Ptr Float -> Ptr CInt -> Ptr Float -> Ptr Float -> Ptr CInt -> Ptr Float -> Ptr CInt -> Ptr CInt -> Ptr CInt -> Ptr CInt -> IO ()
-
--- | <http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/ssbgvx.f>
-foreign import ccall "ssbgvx_"
-   sbgvx :: Ptr CChar -> Ptr CChar -> Ptr CChar -> Ptr CInt -> Ptr CInt -> Ptr CInt -> Ptr Float -> Ptr CInt -> Ptr Float -> Ptr CInt -> Ptr Float -> Ptr CInt -> Ptr Float -> Ptr Float -> Ptr CInt -> Ptr CInt -> Ptr Float -> Ptr CInt -> Ptr Float -> Ptr Float -> Ptr CInt -> Ptr Float -> Ptr CInt -> Ptr CInt -> Ptr CInt -> IO ()
-
--- | <http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/ssbtrd.f>
-foreign import ccall "ssbtrd_"
-   sbtrd :: Ptr CChar -> Ptr CChar -> Ptr CInt -> Ptr CInt -> Ptr Float -> Ptr CInt -> Ptr Float -> Ptr Float -> Ptr Float -> Ptr CInt -> Ptr Float -> Ptr CInt -> IO ()
-
--- | <http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/ssfrk.f>
-foreign import ccall "ssfrk_"
-   sfrk :: Ptr CChar -> Ptr CChar -> Ptr CChar -> Ptr CInt -> Ptr CInt -> Ptr Float -> Ptr Float -> Ptr CInt -> Ptr Float -> Ptr Float -> IO ()
-
 -- | <http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/sspcon.f>
 foreign import ccall "sspcon_"
    spcon :: Ptr CChar -> Ptr CInt -> Ptr Float -> Ptr CInt -> Ptr Float -> Ptr Float -> Ptr Float -> Ptr CInt -> Ptr CInt -> IO ()
 
--- | <http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/sspev.f>
-foreign import ccall "sspev_"
-   spev :: Ptr CChar -> Ptr CChar -> Ptr CInt -> Ptr Float -> Ptr Float -> Ptr Float -> Ptr CInt -> Ptr Float -> Ptr CInt -> IO ()
-
--- | <http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/sspevd.f>
-foreign import ccall "sspevd_"
-   spevd :: Ptr CChar -> Ptr CChar -> Ptr CInt -> Ptr Float -> Ptr Float -> Ptr Float -> Ptr CInt -> Ptr Float -> Ptr CInt -> Ptr CInt -> Ptr CInt -> Ptr CInt -> IO ()
-
--- | <http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/sspevx.f>
-foreign import ccall "sspevx_"
-   spevx :: Ptr CChar -> Ptr CChar -> Ptr CChar -> Ptr CInt -> Ptr Float -> Ptr Float -> Ptr Float -> Ptr CInt -> Ptr CInt -> Ptr Float -> Ptr CInt -> Ptr Float -> Ptr Float -> Ptr CInt -> Ptr Float -> Ptr CInt -> Ptr CInt -> Ptr CInt -> IO ()
-
--- | <http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/sspgst.f>
-foreign import ccall "sspgst_"
-   spgst :: Ptr CInt -> Ptr CChar -> Ptr CInt -> Ptr Float -> Ptr Float -> Ptr CInt -> IO ()
-
--- | <http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/sspgv.f>
-foreign import ccall "sspgv_"
-   spgv :: Ptr CInt -> Ptr CChar -> Ptr CChar -> Ptr CInt -> Ptr Float -> Ptr Float -> Ptr Float -> Ptr Float -> Ptr CInt -> Ptr Float -> Ptr CInt -> IO ()
-
--- | <http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/sspgvd.f>
-foreign import ccall "sspgvd_"
-   spgvd :: Ptr CInt -> Ptr CChar -> Ptr CChar -> Ptr CInt -> Ptr Float -> Ptr Float -> Ptr Float -> Ptr Float -> Ptr CInt -> Ptr Float -> Ptr CInt -> Ptr CInt -> Ptr CInt -> Ptr CInt -> IO ()
-
--- | <http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/sspgvx.f>
-foreign import ccall "sspgvx_"
-   spgvx :: Ptr CInt -> Ptr CChar -> Ptr CChar -> Ptr CChar -> Ptr CInt -> Ptr Float -> Ptr Float -> Ptr Float -> Ptr Float -> Ptr CInt -> Ptr CInt -> Ptr Float -> Ptr CInt -> Ptr Float -> Ptr Float -> Ptr CInt -> Ptr Float -> Ptr CInt -> Ptr CInt -> Ptr CInt -> IO ()
-
 -- | <http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/ssprfs.f>
 foreign import ccall "ssprfs_"
    sprfs :: Ptr CChar -> Ptr CInt -> Ptr CInt -> Ptr Float -> Ptr Float -> Ptr CInt -> Ptr Float -> Ptr CInt -> Ptr Float -> Ptr CInt -> Ptr Float -> Ptr Float -> Ptr Float -> Ptr CInt -> Ptr CInt -> IO ()
@@ -1222,10 +1158,6 @@
 foreign import ccall "sspsvx_"
    spsvx :: Ptr CChar -> Ptr CChar -> Ptr CInt -> Ptr CInt -> Ptr Float -> Ptr Float -> Ptr CInt -> Ptr Float -> Ptr CInt -> Ptr Float -> Ptr CInt -> Ptr Float -> Ptr Float -> Ptr Float -> Ptr Float -> Ptr CInt -> Ptr CInt -> IO ()
 
--- | <http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/ssptrd.f>
-foreign import ccall "ssptrd_"
-   sptrd :: Ptr CChar -> Ptr CInt -> Ptr Float -> Ptr Float -> Ptr Float -> Ptr Float -> Ptr CInt -> IO ()
-
 -- | <http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/ssptrf.f>
 foreign import ccall "ssptrf_"
    sptrf :: Ptr CChar -> Ptr CInt -> Ptr Float -> Ptr CInt -> Ptr CInt -> IO ()
@@ -1294,42 +1226,6 @@
 foreign import ccall "ssyequb_"
    syequb :: Ptr CChar -> Ptr CInt -> Ptr Float -> Ptr CInt -> Ptr Float -> Ptr Float -> Ptr Float -> Ptr Float -> Ptr CInt -> IO ()
 
--- | <http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/ssyev.f>
-foreign import ccall "ssyev_"
-   syev :: Ptr CChar -> Ptr CChar -> Ptr CInt -> Ptr Float -> Ptr CInt -> Ptr Float -> Ptr Float -> Ptr CInt -> Ptr CInt -> IO ()
-
--- | <http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/ssyevd.f>
-foreign import ccall "ssyevd_"
-   syevd :: Ptr CChar -> Ptr CChar -> Ptr CInt -> Ptr Float -> Ptr CInt -> Ptr Float -> Ptr Float -> Ptr CInt -> Ptr CInt -> Ptr CInt -> Ptr CInt -> IO ()
-
--- | <http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/ssyevr.f>
-foreign import ccall "ssyevr_"
-   syevr :: Ptr CChar -> Ptr CChar -> Ptr CChar -> Ptr CInt -> Ptr Float -> Ptr CInt -> Ptr Float -> Ptr Float -> Ptr CInt -> Ptr CInt -> Ptr Float -> Ptr CInt -> Ptr Float -> Ptr Float -> Ptr CInt -> Ptr CInt -> Ptr Float -> Ptr CInt -> Ptr CInt -> Ptr CInt -> Ptr CInt -> IO ()
-
--- | <http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/ssyevx.f>
-foreign import ccall "ssyevx_"
-   syevx :: Ptr CChar -> Ptr CChar -> Ptr CChar -> Ptr CInt -> Ptr Float -> Ptr CInt -> Ptr Float -> Ptr Float -> Ptr CInt -> Ptr CInt -> Ptr Float -> Ptr CInt -> Ptr Float -> Ptr Float -> Ptr CInt -> Ptr Float -> Ptr CInt -> Ptr CInt -> Ptr CInt -> Ptr CInt -> IO ()
-
--- | <http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/ssygs2.f>
-foreign import ccall "ssygs2_"
-   sygs2 :: Ptr CInt -> Ptr CChar -> Ptr CInt -> Ptr Float -> Ptr CInt -> Ptr Float -> Ptr CInt -> Ptr CInt -> IO ()
-
--- | <http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/ssygst.f>
-foreign import ccall "ssygst_"
-   sygst :: Ptr CInt -> Ptr CChar -> Ptr CInt -> Ptr Float -> Ptr CInt -> Ptr Float -> Ptr CInt -> Ptr CInt -> IO ()
-
--- | <http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/ssygv.f>
-foreign import ccall "ssygv_"
-   sygv :: Ptr CInt -> Ptr CChar -> Ptr CChar -> Ptr CInt -> Ptr Float -> Ptr CInt -> Ptr Float -> Ptr CInt -> Ptr Float -> Ptr Float -> Ptr CInt -> Ptr CInt -> IO ()
-
--- | <http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/ssygvd.f>
-foreign import ccall "ssygvd_"
-   sygvd :: Ptr CInt -> Ptr CChar -> Ptr CChar -> Ptr CInt -> Ptr Float -> Ptr CInt -> Ptr Float -> Ptr CInt -> Ptr Float -> Ptr Float -> Ptr CInt -> Ptr CInt -> Ptr CInt -> Ptr CInt -> IO ()
-
--- | <http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/ssygvx.f>
-foreign import ccall "ssygvx_"
-   sygvx :: Ptr CInt -> Ptr CChar -> Ptr CChar -> Ptr CChar -> Ptr CInt -> Ptr Float -> Ptr CInt -> Ptr Float -> Ptr CInt -> Ptr Float -> Ptr Float -> Ptr CInt -> Ptr CInt -> Ptr Float -> Ptr CInt -> Ptr Float -> Ptr Float -> Ptr CInt -> Ptr Float -> Ptr CInt -> Ptr CInt -> Ptr CInt -> Ptr CInt -> IO ()
-
 -- | <http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/ssyrfs.f>
 foreign import ccall "ssyrfs_"
    syrfs :: Ptr CChar -> Ptr CInt -> Ptr CInt -> Ptr Float -> Ptr CInt -> Ptr Float -> Ptr CInt -> Ptr CInt -> Ptr Float -> Ptr CInt -> Ptr Float -> Ptr CInt -> Ptr Float -> Ptr Float -> Ptr Float -> Ptr CInt -> Ptr CInt -> IO ()
@@ -1517,3 +1413,107 @@
 -- | <http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/stzrzf.f>
 foreign import ccall "stzrzf_"
    tzrzf :: Ptr CInt -> Ptr CInt -> Ptr Float -> Ptr CInt -> Ptr Float -> Ptr Float -> Ptr CInt -> Ptr CInt -> IO ()
+
+-- | <http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/sorg2l.f>
+foreign import ccall "sorg2l_"
+   org2l :: Ptr CInt -> Ptr CInt -> Ptr CInt -> Ptr Float -> Ptr CInt -> Ptr Float -> Ptr Float -> Ptr CInt -> IO ()
+
+-- | <http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/sorg2r.f>
+foreign import ccall "sorg2r_"
+   org2r :: Ptr CInt -> Ptr CInt -> Ptr CInt -> Ptr Float -> Ptr CInt -> Ptr Float -> Ptr Float -> Ptr CInt -> IO ()
+
+-- | <http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/sorgbr.f>
+foreign import ccall "sorgbr_"
+   orgbr :: Ptr CChar -> Ptr CInt -> Ptr CInt -> Ptr CInt -> Ptr Float -> Ptr CInt -> Ptr Float -> Ptr Float -> Ptr CInt -> Ptr CInt -> IO ()
+
+-- | <http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/sorghr.f>
+foreign import ccall "sorghr_"
+   orghr :: Ptr CInt -> Ptr CInt -> Ptr CInt -> Ptr Float -> Ptr CInt -> Ptr Float -> Ptr Float -> Ptr CInt -> Ptr CInt -> IO ()
+
+-- | <http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/sorgl2.f>
+foreign import ccall "sorgl2_"
+   orgl2 :: Ptr CInt -> Ptr CInt -> Ptr CInt -> Ptr Float -> Ptr CInt -> Ptr Float -> Ptr Float -> Ptr CInt -> IO ()
+
+-- | <http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/sorglq.f>
+foreign import ccall "sorglq_"
+   orglq :: Ptr CInt -> Ptr CInt -> Ptr CInt -> Ptr Float -> Ptr CInt -> Ptr Float -> Ptr Float -> Ptr CInt -> Ptr CInt -> IO ()
+
+-- | <http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/sorgql.f>
+foreign import ccall "sorgql_"
+   orgql :: Ptr CInt -> Ptr CInt -> Ptr CInt -> Ptr Float -> Ptr CInt -> Ptr Float -> Ptr Float -> Ptr CInt -> Ptr CInt -> IO ()
+
+-- | <http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/sorgqr.f>
+foreign import ccall "sorgqr_"
+   orgqr :: Ptr CInt -> Ptr CInt -> Ptr CInt -> Ptr Float -> Ptr CInt -> Ptr Float -> Ptr Float -> Ptr CInt -> Ptr CInt -> IO ()
+
+-- | <http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/sorgr2.f>
+foreign import ccall "sorgr2_"
+   orgr2 :: Ptr CInt -> Ptr CInt -> Ptr CInt -> Ptr Float -> Ptr CInt -> Ptr Float -> Ptr Float -> Ptr CInt -> IO ()
+
+-- | <http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/sorgrq.f>
+foreign import ccall "sorgrq_"
+   orgrq :: Ptr CInt -> Ptr CInt -> Ptr CInt -> Ptr Float -> Ptr CInt -> Ptr Float -> Ptr Float -> Ptr CInt -> Ptr CInt -> IO ()
+
+-- | <http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/sorgtr.f>
+foreign import ccall "sorgtr_"
+   orgtr :: Ptr CChar -> Ptr CInt -> Ptr Float -> Ptr CInt -> Ptr Float -> Ptr Float -> Ptr CInt -> Ptr CInt -> IO ()
+
+-- | <http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/sorm2l.f>
+foreign import ccall "sorm2l_"
+   orm2l :: Ptr CChar -> Ptr CChar -> Ptr CInt -> Ptr CInt -> Ptr CInt -> Ptr Float -> Ptr CInt -> Ptr Float -> Ptr Float -> Ptr CInt -> Ptr Float -> Ptr CInt -> IO ()
+
+-- | <http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/sorm2r.f>
+foreign import ccall "sorm2r_"
+   orm2r :: Ptr CChar -> Ptr CChar -> Ptr CInt -> Ptr CInt -> Ptr CInt -> Ptr Float -> Ptr CInt -> Ptr Float -> Ptr Float -> Ptr CInt -> Ptr Float -> Ptr CInt -> IO ()
+
+-- | <http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/sormbr.f>
+foreign import ccall "sormbr_"
+   ormbr :: Ptr CChar -> Ptr CChar -> Ptr CChar -> Ptr CInt -> Ptr CInt -> Ptr CInt -> Ptr Float -> Ptr CInt -> Ptr Float -> Ptr Float -> Ptr CInt -> Ptr Float -> Ptr CInt -> Ptr CInt -> IO ()
+
+-- | <http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/sormhr.f>
+foreign import ccall "sormhr_"
+   ormhr :: Ptr CChar -> Ptr CChar -> Ptr CInt -> Ptr CInt -> Ptr CInt -> Ptr CInt -> Ptr Float -> Ptr CInt -> Ptr Float -> Ptr Float -> Ptr CInt -> Ptr Float -> Ptr CInt -> Ptr CInt -> IO ()
+
+-- | <http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/sorml2.f>
+foreign import ccall "sorml2_"
+   orml2 :: Ptr CChar -> Ptr CChar -> Ptr CInt -> Ptr CInt -> Ptr CInt -> Ptr Float -> Ptr CInt -> Ptr Float -> Ptr Float -> Ptr CInt -> Ptr Float -> Ptr CInt -> IO ()
+
+-- | <http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/sormlq.f>
+foreign import ccall "sormlq_"
+   ormlq :: Ptr CChar -> Ptr CChar -> Ptr CInt -> Ptr CInt -> Ptr CInt -> Ptr Float -> Ptr CInt -> Ptr Float -> Ptr Float -> Ptr CInt -> Ptr Float -> Ptr CInt -> Ptr CInt -> IO ()
+
+-- | <http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/sormql.f>
+foreign import ccall "sormql_"
+   ormql :: Ptr CChar -> Ptr CChar -> Ptr CInt -> Ptr CInt -> Ptr CInt -> Ptr Float -> Ptr CInt -> Ptr Float -> Ptr Float -> Ptr CInt -> Ptr Float -> Ptr CInt -> Ptr CInt -> IO ()
+
+-- | <http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/sormqr.f>
+foreign import ccall "sormqr_"
+   ormqr :: Ptr CChar -> Ptr CChar -> Ptr CInt -> Ptr CInt -> Ptr CInt -> Ptr Float -> Ptr CInt -> Ptr Float -> Ptr Float -> Ptr CInt -> Ptr Float -> Ptr CInt -> Ptr CInt -> IO ()
+
+-- | <http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/sormr2.f>
+foreign import ccall "sormr2_"
+   ormr2 :: Ptr CChar -> Ptr CChar -> Ptr CInt -> Ptr CInt -> Ptr CInt -> Ptr Float -> Ptr CInt -> Ptr Float -> Ptr Float -> Ptr CInt -> Ptr Float -> Ptr CInt -> IO ()
+
+-- | <http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/sormr3.f>
+foreign import ccall "sormr3_"
+   ormr3 :: Ptr CChar -> Ptr CChar -> Ptr CInt -> Ptr CInt -> Ptr CInt -> Ptr CInt -> Ptr Float -> Ptr CInt -> Ptr Float -> Ptr Float -> Ptr CInt -> Ptr Float -> Ptr CInt -> IO ()
+
+-- | <http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/sormrq.f>
+foreign import ccall "sormrq_"
+   ormrq :: Ptr CChar -> Ptr CChar -> Ptr CInt -> Ptr CInt -> Ptr CInt -> Ptr Float -> Ptr CInt -> Ptr Float -> Ptr Float -> Ptr CInt -> Ptr Float -> Ptr CInt -> Ptr CInt -> IO ()
+
+-- | <http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/sormrz.f>
+foreign import ccall "sormrz_"
+   ormrz :: Ptr CChar -> Ptr CChar -> Ptr CInt -> Ptr CInt -> Ptr CInt -> Ptr CInt -> Ptr Float -> Ptr CInt -> Ptr Float -> Ptr Float -> Ptr CInt -> Ptr Float -> Ptr CInt -> Ptr CInt -> IO ()
+
+-- | <http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/sormtr.f>
+foreign import ccall "sormtr_"
+   ormtr :: Ptr CChar -> Ptr CChar -> Ptr CChar -> Ptr CInt -> Ptr CInt -> Ptr Float -> Ptr CInt -> Ptr Float -> Ptr Float -> Ptr CInt -> Ptr Float -> Ptr CInt -> Ptr CInt -> IO ()
+
+-- | <http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/sopgtr.f>
+foreign import ccall "sopgtr_"
+   opgtr :: Ptr CChar -> Ptr CInt -> Ptr Float -> Ptr Float -> Ptr Float -> Ptr CInt -> Ptr Float -> Ptr CInt -> IO ()
+
+-- | <http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/sopmtr.f>
+foreign import ccall "sopmtr_"
+   opmtr :: Ptr CChar -> Ptr CChar -> Ptr CChar -> Ptr CInt -> Ptr CInt -> Ptr Float -> Ptr Float -> Ptr Float -> Ptr CInt -> Ptr Float -> Ptr CInt -> IO ()
diff --git a/src/Numeric/LAPACK/FFI/Generic.hs b/src/Numeric/LAPACK/FFI/Generic.hs
--- a/src/Numeric/LAPACK/FFI/Generic.hs
+++ b/src/Numeric/LAPACK/FFI/Generic.hs
@@ -32,6 +32,9 @@
    gttrf,
    gttrs,
    gtts2,
+   hegs2,
+   hegst,
+   hpgst,
    ilalc,
    ilalr,
    lacpy,
@@ -100,6 +103,32 @@
    trttf,
    trttp,
    tzrzf,
+   ung2l,
+   ung2r,
+   ungbr,
+   unghr,
+   ungl2,
+   unglq,
+   ungql,
+   ungqr,
+   ungr2,
+   ungrq,
+   ungtr,
+   unm2l,
+   unm2r,
+   unmbr,
+   unmhr,
+   unml2,
+   unmlq,
+   unmql,
+   unmqr,
+   unmr2,
+   unmr3,
+   unmrq,
+   unmrz,
+   unmtr,
+   upgtr,
+   upmtr,
    ) where
 
 import qualified Numeric.LAPACK.FFI.ComplexFloat as C
@@ -306,6 +335,24 @@
 gtts2 = getGTTS2 $ Class.switchFloating (GTTS2 S.gtts2) (GTTS2 D.gtts2) (GTTS2 C.gtts2) (GTTS2 Z.gtts2)
 
 
+newtype HEGS2 a = HEGS2 {getHEGS2 :: Ptr CInt -> Ptr CChar -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr CInt -> IO ()}
+
+hegs2 :: Class.Floating a => Ptr CInt -> Ptr CChar -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr CInt -> IO ()
+hegs2 = getHEGS2 $ Class.switchFloating (HEGS2 S.sygs2) (HEGS2 D.sygs2) (HEGS2 C.hegs2) (HEGS2 Z.hegs2)
+
+
+newtype HEGST a = HEGST {getHEGST :: Ptr CInt -> Ptr CChar -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr CInt -> IO ()}
+
+hegst :: Class.Floating a => Ptr CInt -> Ptr CChar -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr CInt -> IO ()
+hegst = getHEGST $ Class.switchFloating (HEGST S.sygst) (HEGST D.sygst) (HEGST C.hegst) (HEGST Z.hegst)
+
+
+newtype HPGST a = HPGST {getHPGST :: Ptr CInt -> Ptr CChar -> Ptr CInt -> Ptr a -> Ptr a -> Ptr CInt -> IO ()}
+
+hpgst :: Class.Floating a => Ptr CInt -> Ptr CChar -> Ptr CInt -> Ptr a -> Ptr a -> Ptr CInt -> IO ()
+hpgst = getHPGST $ Class.switchFloating (HPGST S.spgst) (HPGST D.spgst) (HPGST C.hpgst) (HPGST Z.hpgst)
+
+
 newtype ILALC a = ILALC {getILALC :: Ptr CInt -> Ptr CInt -> Ptr a -> Ptr CInt -> IO CInt}
 
 ilalc :: Class.Floating a => Ptr CInt -> Ptr CInt -> Ptr a -> Ptr CInt -> IO CInt
@@ -712,3 +759,159 @@
 
 tzrzf :: Class.Floating a => Ptr CInt -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr a -> Ptr a -> Ptr CInt -> Ptr CInt -> IO ()
 tzrzf = getTZRZF $ Class.switchFloating (TZRZF S.tzrzf) (TZRZF D.tzrzf) (TZRZF C.tzrzf) (TZRZF Z.tzrzf)
+
+
+newtype UNG2L a = UNG2L {getUNG2L :: Ptr CInt -> Ptr CInt -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr a -> Ptr a -> Ptr CInt -> IO ()}
+
+ung2l :: Class.Floating a => Ptr CInt -> Ptr CInt -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr a -> Ptr a -> Ptr CInt -> IO ()
+ung2l = getUNG2L $ Class.switchFloating (UNG2L S.org2l) (UNG2L D.org2l) (UNG2L C.ung2l) (UNG2L Z.ung2l)
+
+
+newtype UNG2R a = UNG2R {getUNG2R :: Ptr CInt -> Ptr CInt -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr a -> Ptr a -> Ptr CInt -> IO ()}
+
+ung2r :: Class.Floating a => Ptr CInt -> Ptr CInt -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr a -> Ptr a -> Ptr CInt -> IO ()
+ung2r = getUNG2R $ Class.switchFloating (UNG2R S.org2r) (UNG2R D.org2r) (UNG2R C.ung2r) (UNG2R Z.ung2r)
+
+
+newtype UNGBR a = UNGBR {getUNGBR :: Ptr CChar -> Ptr CInt -> Ptr CInt -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr a -> Ptr a -> Ptr CInt -> Ptr CInt -> IO ()}
+
+ungbr :: Class.Floating a => Ptr CChar -> Ptr CInt -> Ptr CInt -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr a -> Ptr a -> Ptr CInt -> Ptr CInt -> IO ()
+ungbr = getUNGBR $ Class.switchFloating (UNGBR S.orgbr) (UNGBR D.orgbr) (UNGBR C.ungbr) (UNGBR Z.ungbr)
+
+
+newtype UNGHR a = UNGHR {getUNGHR :: Ptr CInt -> Ptr CInt -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr a -> Ptr a -> Ptr CInt -> Ptr CInt -> IO ()}
+
+unghr :: Class.Floating a => Ptr CInt -> Ptr CInt -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr a -> Ptr a -> Ptr CInt -> Ptr CInt -> IO ()
+unghr = getUNGHR $ Class.switchFloating (UNGHR S.orghr) (UNGHR D.orghr) (UNGHR C.unghr) (UNGHR Z.unghr)
+
+
+newtype UNGL2 a = UNGL2 {getUNGL2 :: Ptr CInt -> Ptr CInt -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr a -> Ptr a -> Ptr CInt -> IO ()}
+
+ungl2 :: Class.Floating a => Ptr CInt -> Ptr CInt -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr a -> Ptr a -> Ptr CInt -> IO ()
+ungl2 = getUNGL2 $ Class.switchFloating (UNGL2 S.orgl2) (UNGL2 D.orgl2) (UNGL2 C.ungl2) (UNGL2 Z.ungl2)
+
+
+newtype UNGLQ a = UNGLQ {getUNGLQ :: Ptr CInt -> Ptr CInt -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr a -> Ptr a -> Ptr CInt -> Ptr CInt -> IO ()}
+
+unglq :: Class.Floating a => Ptr CInt -> Ptr CInt -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr a -> Ptr a -> Ptr CInt -> Ptr CInt -> IO ()
+unglq = getUNGLQ $ Class.switchFloating (UNGLQ S.orglq) (UNGLQ D.orglq) (UNGLQ C.unglq) (UNGLQ Z.unglq)
+
+
+newtype UNGQL a = UNGQL {getUNGQL :: Ptr CInt -> Ptr CInt -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr a -> Ptr a -> Ptr CInt -> Ptr CInt -> IO ()}
+
+ungql :: Class.Floating a => Ptr CInt -> Ptr CInt -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr a -> Ptr a -> Ptr CInt -> Ptr CInt -> IO ()
+ungql = getUNGQL $ Class.switchFloating (UNGQL S.orgql) (UNGQL D.orgql) (UNGQL C.ungql) (UNGQL Z.ungql)
+
+
+newtype UNGQR a = UNGQR {getUNGQR :: Ptr CInt -> Ptr CInt -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr a -> Ptr a -> Ptr CInt -> Ptr CInt -> IO ()}
+
+ungqr :: Class.Floating a => Ptr CInt -> Ptr CInt -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr a -> Ptr a -> Ptr CInt -> Ptr CInt -> IO ()
+ungqr = getUNGQR $ Class.switchFloating (UNGQR S.orgqr) (UNGQR D.orgqr) (UNGQR C.ungqr) (UNGQR Z.ungqr)
+
+
+newtype UNGR2 a = UNGR2 {getUNGR2 :: Ptr CInt -> Ptr CInt -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr a -> Ptr a -> Ptr CInt -> IO ()}
+
+ungr2 :: Class.Floating a => Ptr CInt -> Ptr CInt -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr a -> Ptr a -> Ptr CInt -> IO ()
+ungr2 = getUNGR2 $ Class.switchFloating (UNGR2 S.orgr2) (UNGR2 D.orgr2) (UNGR2 C.ungr2) (UNGR2 Z.ungr2)
+
+
+newtype UNGRQ a = UNGRQ {getUNGRQ :: Ptr CInt -> Ptr CInt -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr a -> Ptr a -> Ptr CInt -> Ptr CInt -> IO ()}
+
+ungrq :: Class.Floating a => Ptr CInt -> Ptr CInt -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr a -> Ptr a -> Ptr CInt -> Ptr CInt -> IO ()
+ungrq = getUNGRQ $ Class.switchFloating (UNGRQ S.orgrq) (UNGRQ D.orgrq) (UNGRQ C.ungrq) (UNGRQ Z.ungrq)
+
+
+newtype UNGTR a = UNGTR {getUNGTR :: Ptr CChar -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr a -> Ptr a -> Ptr CInt -> Ptr CInt -> IO ()}
+
+ungtr :: Class.Floating a => Ptr CChar -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr a -> Ptr a -> Ptr CInt -> Ptr CInt -> IO ()
+ungtr = getUNGTR $ Class.switchFloating (UNGTR S.orgtr) (UNGTR D.orgtr) (UNGTR C.ungtr) (UNGTR Z.ungtr)
+
+
+newtype UNM2L a = UNM2L {getUNM2L :: Ptr CChar -> Ptr CChar -> Ptr CInt -> Ptr CInt -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr a -> Ptr a -> Ptr CInt -> Ptr a -> Ptr CInt -> IO ()}
+
+unm2l :: Class.Floating a => Ptr CChar -> Ptr CChar -> Ptr CInt -> Ptr CInt -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr a -> Ptr a -> Ptr CInt -> Ptr a -> Ptr CInt -> IO ()
+unm2l = getUNM2L $ Class.switchFloating (UNM2L S.orm2l) (UNM2L D.orm2l) (UNM2L C.unm2l) (UNM2L Z.unm2l)
+
+
+newtype UNM2R a = UNM2R {getUNM2R :: Ptr CChar -> Ptr CChar -> Ptr CInt -> Ptr CInt -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr a -> Ptr a -> Ptr CInt -> Ptr a -> Ptr CInt -> IO ()}
+
+unm2r :: Class.Floating a => Ptr CChar -> Ptr CChar -> Ptr CInt -> Ptr CInt -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr a -> Ptr a -> Ptr CInt -> Ptr a -> Ptr CInt -> IO ()
+unm2r = getUNM2R $ Class.switchFloating (UNM2R S.orm2r) (UNM2R D.orm2r) (UNM2R C.unm2r) (UNM2R Z.unm2r)
+
+
+newtype UNMBR a = UNMBR {getUNMBR :: Ptr CChar -> Ptr CChar -> Ptr CChar -> Ptr CInt -> Ptr CInt -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr a -> Ptr a -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr CInt -> IO ()}
+
+unmbr :: Class.Floating a => Ptr CChar -> Ptr CChar -> Ptr CChar -> Ptr CInt -> Ptr CInt -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr a -> Ptr a -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr CInt -> IO ()
+unmbr = getUNMBR $ Class.switchFloating (UNMBR S.ormbr) (UNMBR D.ormbr) (UNMBR C.unmbr) (UNMBR Z.unmbr)
+
+
+newtype UNMHR a = UNMHR {getUNMHR :: Ptr CChar -> Ptr CChar -> Ptr CInt -> Ptr CInt -> Ptr CInt -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr a -> Ptr a -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr CInt -> IO ()}
+
+unmhr :: Class.Floating a => Ptr CChar -> Ptr CChar -> Ptr CInt -> Ptr CInt -> Ptr CInt -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr a -> Ptr a -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr CInt -> IO ()
+unmhr = getUNMHR $ Class.switchFloating (UNMHR S.ormhr) (UNMHR D.ormhr) (UNMHR C.unmhr) (UNMHR Z.unmhr)
+
+
+newtype UNML2 a = UNML2 {getUNML2 :: Ptr CChar -> Ptr CChar -> Ptr CInt -> Ptr CInt -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr a -> Ptr a -> Ptr CInt -> Ptr a -> Ptr CInt -> IO ()}
+
+unml2 :: Class.Floating a => Ptr CChar -> Ptr CChar -> Ptr CInt -> Ptr CInt -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr a -> Ptr a -> Ptr CInt -> Ptr a -> Ptr CInt -> IO ()
+unml2 = getUNML2 $ Class.switchFloating (UNML2 S.orml2) (UNML2 D.orml2) (UNML2 C.unml2) (UNML2 Z.unml2)
+
+
+newtype UNMLQ a = UNMLQ {getUNMLQ :: Ptr CChar -> Ptr CChar -> Ptr CInt -> Ptr CInt -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr a -> Ptr a -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr CInt -> IO ()}
+
+unmlq :: Class.Floating a => Ptr CChar -> Ptr CChar -> Ptr CInt -> Ptr CInt -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr a -> Ptr a -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr CInt -> IO ()
+unmlq = getUNMLQ $ Class.switchFloating (UNMLQ S.ormlq) (UNMLQ D.ormlq) (UNMLQ C.unmlq) (UNMLQ Z.unmlq)
+
+
+newtype UNMQL a = UNMQL {getUNMQL :: Ptr CChar -> Ptr CChar -> Ptr CInt -> Ptr CInt -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr a -> Ptr a -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr CInt -> IO ()}
+
+unmql :: Class.Floating a => Ptr CChar -> Ptr CChar -> Ptr CInt -> Ptr CInt -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr a -> Ptr a -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr CInt -> IO ()
+unmql = getUNMQL $ Class.switchFloating (UNMQL S.ormql) (UNMQL D.ormql) (UNMQL C.unmql) (UNMQL Z.unmql)
+
+
+newtype UNMQR a = UNMQR {getUNMQR :: Ptr CChar -> Ptr CChar -> Ptr CInt -> Ptr CInt -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr a -> Ptr a -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr CInt -> IO ()}
+
+unmqr :: Class.Floating a => Ptr CChar -> Ptr CChar -> Ptr CInt -> Ptr CInt -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr a -> Ptr a -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr CInt -> IO ()
+unmqr = getUNMQR $ Class.switchFloating (UNMQR S.ormqr) (UNMQR D.ormqr) (UNMQR C.unmqr) (UNMQR Z.unmqr)
+
+
+newtype UNMR2 a = UNMR2 {getUNMR2 :: Ptr CChar -> Ptr CChar -> Ptr CInt -> Ptr CInt -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr a -> Ptr a -> Ptr CInt -> Ptr a -> Ptr CInt -> IO ()}
+
+unmr2 :: Class.Floating a => Ptr CChar -> Ptr CChar -> Ptr CInt -> Ptr CInt -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr a -> Ptr a -> Ptr CInt -> Ptr a -> Ptr CInt -> IO ()
+unmr2 = getUNMR2 $ Class.switchFloating (UNMR2 S.ormr2) (UNMR2 D.ormr2) (UNMR2 C.unmr2) (UNMR2 Z.unmr2)
+
+
+newtype UNMR3 a = UNMR3 {getUNMR3 :: Ptr CChar -> Ptr CChar -> Ptr CInt -> Ptr CInt -> Ptr CInt -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr a -> Ptr a -> Ptr CInt -> Ptr a -> Ptr CInt -> IO ()}
+
+unmr3 :: Class.Floating a => Ptr CChar -> Ptr CChar -> Ptr CInt -> Ptr CInt -> Ptr CInt -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr a -> Ptr a -> Ptr CInt -> Ptr a -> Ptr CInt -> IO ()
+unmr3 = getUNMR3 $ Class.switchFloating (UNMR3 S.ormr3) (UNMR3 D.ormr3) (UNMR3 C.unmr3) (UNMR3 Z.unmr3)
+
+
+newtype UNMRQ a = UNMRQ {getUNMRQ :: Ptr CChar -> Ptr CChar -> Ptr CInt -> Ptr CInt -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr a -> Ptr a -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr CInt -> IO ()}
+
+unmrq :: Class.Floating a => Ptr CChar -> Ptr CChar -> Ptr CInt -> Ptr CInt -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr a -> Ptr a -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr CInt -> IO ()
+unmrq = getUNMRQ $ Class.switchFloating (UNMRQ S.ormrq) (UNMRQ D.ormrq) (UNMRQ C.unmrq) (UNMRQ Z.unmrq)
+
+
+newtype UNMRZ a = UNMRZ {getUNMRZ :: Ptr CChar -> Ptr CChar -> Ptr CInt -> Ptr CInt -> Ptr CInt -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr a -> Ptr a -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr CInt -> IO ()}
+
+unmrz :: Class.Floating a => Ptr CChar -> Ptr CChar -> Ptr CInt -> Ptr CInt -> Ptr CInt -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr a -> Ptr a -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr CInt -> IO ()
+unmrz = getUNMRZ $ Class.switchFloating (UNMRZ S.ormrz) (UNMRZ D.ormrz) (UNMRZ C.unmrz) (UNMRZ Z.unmrz)
+
+
+newtype UNMTR a = UNMTR {getUNMTR :: Ptr CChar -> Ptr CChar -> Ptr CChar -> Ptr CInt -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr a -> Ptr a -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr CInt -> IO ()}
+
+unmtr :: Class.Floating a => Ptr CChar -> Ptr CChar -> Ptr CChar -> Ptr CInt -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr a -> Ptr a -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr CInt -> IO ()
+unmtr = getUNMTR $ Class.switchFloating (UNMTR S.ormtr) (UNMTR D.ormtr) (UNMTR C.unmtr) (UNMTR Z.unmtr)
+
+
+newtype UPGTR a = UPGTR {getUPGTR :: Ptr CChar -> Ptr CInt -> Ptr a -> Ptr a -> Ptr a -> Ptr CInt -> Ptr a -> Ptr CInt -> IO ()}
+
+upgtr :: Class.Floating a => Ptr CChar -> Ptr CInt -> Ptr a -> Ptr a -> Ptr a -> Ptr CInt -> Ptr a -> Ptr CInt -> IO ()
+upgtr = getUPGTR $ Class.switchFloating (UPGTR S.opgtr) (UPGTR D.opgtr) (UPGTR C.upgtr) (UPGTR Z.upgtr)
+
+
+newtype UPMTR a = UPMTR {getUPMTR :: Ptr CChar -> Ptr CChar -> Ptr CChar -> Ptr CInt -> Ptr CInt -> Ptr a -> Ptr a -> Ptr a -> Ptr CInt -> Ptr a -> Ptr CInt -> IO ()}
+
+upmtr :: Class.Floating a => Ptr CChar -> Ptr CChar -> Ptr CChar -> Ptr CInt -> Ptr CInt -> Ptr a -> Ptr a -> Ptr a -> Ptr CInt -> Ptr a -> Ptr CInt -> IO ()
+upmtr = getUPMTR $ Class.switchFloating (UPMTR S.opmtr) (UPMTR D.opmtr) (UPMTR C.upmtr) (UPMTR Z.upmtr)
diff --git a/src/Numeric/LAPACK/FFI/Real.hs b/src/Numeric/LAPACK/FFI/Real.hs
--- a/src/Numeric/LAPACK/FFI/Real.hs
+++ b/src/Numeric/LAPACK/FFI/Real.hs
@@ -75,7 +75,33 @@
    gttrf,
    gttrs,
    gtts2,
+   sbev,
+   sbevd,
+   sbevx,
+   sbgst,
+   sbgv,
+   sbgvd,
+   sbgvx,
+   sbtrd,
+   syev,
+   syevd,
+   syevr,
+   syevx,
+   sygs2,
+   sygst,
+   sygv,
+   sygvd,
+   sygvx,
+   sfrk,
    hgeqz,
+   spev,
+   spevd,
+   spevx,
+   spgst,
+   spgv,
+   spgvd,
+   spgvx,
+   sptrd,
    hsein,
    hseqr,
    ilalc,
@@ -213,34 +239,8 @@
    latrz,
    lauu2,
    lauum,
-   opgtr,
-   opmtr,
    orbdb,
    orcsd,
-   org2l,
-   org2r,
-   orgbr,
-   orghr,
-   orgl2,
-   orglq,
-   orgql,
-   orgqr,
-   orgr2,
-   orgrq,
-   orgtr,
-   orm2l,
-   orm2r,
-   ormbr,
-   ormhr,
-   orml2,
-   ormlq,
-   ormql,
-   ormqr,
-   ormr2,
-   ormr3,
-   ormrq,
-   ormrz,
-   ormtr,
    pbcon,
    pbequ,
    pbrfs,
@@ -282,27 +282,10 @@
    pttrs,
    ptts2,
    rscl,
-   sbev,
-   sbevd,
-   sbevx,
-   sbgst,
-   sbgv,
-   sbgvd,
-   sbgvx,
-   sbtrd,
-   sfrk,
    spcon,
-   spev,
-   spevd,
-   spevx,
-   spgst,
-   spgv,
-   spgvd,
-   spgvx,
    sprfs,
    spsv,
    spsvx,
-   sptrd,
    sptrf,
    sptri,
    sptrs,
@@ -320,15 +303,6 @@
    sycon,
    syconv,
    syequb,
-   syev,
-   syevd,
-   syevr,
-   syevx,
-   sygs2,
-   sygst,
-   sygv,
-   sygvd,
-   sygvx,
    syrfs,
    sysv,
    sysvx,
@@ -376,6 +350,32 @@
    trttf,
    trttp,
    tzrzf,
+   org2l,
+   org2r,
+   orgbr,
+   orghr,
+   orgl2,
+   orglq,
+   orgql,
+   orgqr,
+   orgr2,
+   orgrq,
+   orgtr,
+   orm2l,
+   orm2r,
+   ormbr,
+   ormhr,
+   orml2,
+   ormlq,
+   ormql,
+   ormqr,
+   ormr2,
+   ormr3,
+   ormrq,
+   ormrz,
+   ormtr,
+   opgtr,
+   opmtr,
    ) where
 
 import qualified Numeric.LAPACK.FFI.Float as S
@@ -838,12 +838,168 @@
 gtts2 = getGTTS2 $ Class.switchReal (GTTS2 S.gtts2) (GTTS2 D.gtts2)
 
 
+newtype SBEV a = SBEV {getSBEV :: Ptr CChar -> Ptr CChar -> Ptr CInt -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr a -> Ptr a -> Ptr CInt -> Ptr a -> Ptr CInt -> IO ()}
+
+sbev :: Class.Real a => Ptr CChar -> Ptr CChar -> Ptr CInt -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr a -> Ptr a -> Ptr CInt -> Ptr a -> Ptr CInt -> IO ()
+sbev = getSBEV $ Class.switchReal (SBEV S.sbev) (SBEV D.sbev)
+
+
+newtype SBEVD a = SBEVD {getSBEVD :: Ptr CChar -> Ptr CChar -> Ptr CInt -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr a -> Ptr a -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr CInt -> Ptr CInt -> Ptr CInt -> IO ()}
+
+sbevd :: Class.Real a => Ptr CChar -> Ptr CChar -> Ptr CInt -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr a -> Ptr a -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr CInt -> Ptr CInt -> Ptr CInt -> IO ()
+sbevd = getSBEVD $ Class.switchReal (SBEVD S.sbevd) (SBEVD D.sbevd)
+
+
+newtype SBEVX a = SBEVX {getSBEVX :: Ptr CChar -> Ptr CChar -> Ptr CChar -> Ptr CInt -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr a -> Ptr a -> Ptr CInt -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr a -> Ptr a -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr CInt -> Ptr CInt -> IO ()}
+
+sbevx :: Class.Real a => Ptr CChar -> Ptr CChar -> Ptr CChar -> Ptr CInt -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr a -> Ptr a -> Ptr CInt -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr a -> Ptr a -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr CInt -> Ptr CInt -> IO ()
+sbevx = getSBEVX $ Class.switchReal (SBEVX S.sbevx) (SBEVX D.sbevx)
+
+
+newtype SBGST a = SBGST {getSBGST :: Ptr CChar -> Ptr CChar -> Ptr CInt -> Ptr CInt -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr a -> Ptr CInt -> IO ()}
+
+sbgst :: Class.Real a => Ptr CChar -> Ptr CChar -> Ptr CInt -> Ptr CInt -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr a -> Ptr CInt -> IO ()
+sbgst = getSBGST $ Class.switchReal (SBGST S.sbgst) (SBGST D.sbgst)
+
+
+newtype SBGV a = SBGV {getSBGV :: Ptr CChar -> Ptr CChar -> Ptr CInt -> Ptr CInt -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr a -> Ptr a -> Ptr CInt -> Ptr a -> Ptr CInt -> IO ()}
+
+sbgv :: Class.Real a => Ptr CChar -> Ptr CChar -> Ptr CInt -> Ptr CInt -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr a -> Ptr a -> Ptr CInt -> Ptr a -> Ptr CInt -> IO ()
+sbgv = getSBGV $ Class.switchReal (SBGV S.sbgv) (SBGV D.sbgv)
+
+
+newtype SBGVD a = SBGVD {getSBGVD :: Ptr CChar -> Ptr CChar -> Ptr CInt -> Ptr CInt -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr a -> Ptr a -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr CInt -> Ptr CInt -> Ptr CInt -> IO ()}
+
+sbgvd :: Class.Real a => Ptr CChar -> Ptr CChar -> Ptr CInt -> Ptr CInt -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr a -> Ptr a -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr CInt -> Ptr CInt -> Ptr CInt -> IO ()
+sbgvd = getSBGVD $ Class.switchReal (SBGVD S.sbgvd) (SBGVD D.sbgvd)
+
+
+newtype SBGVX a = SBGVX {getSBGVX :: Ptr CChar -> Ptr CChar -> Ptr CChar -> Ptr CInt -> Ptr CInt -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr a -> Ptr a -> Ptr CInt -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr a -> Ptr a -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr CInt -> Ptr CInt -> IO ()}
+
+sbgvx :: Class.Real a => Ptr CChar -> Ptr CChar -> Ptr CChar -> Ptr CInt -> Ptr CInt -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr a -> Ptr a -> Ptr CInt -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr a -> Ptr a -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr CInt -> Ptr CInt -> IO ()
+sbgvx = getSBGVX $ Class.switchReal (SBGVX S.sbgvx) (SBGVX D.sbgvx)
+
+
+newtype SBTRD a = SBTRD {getSBTRD :: Ptr CChar -> Ptr CChar -> Ptr CInt -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr a -> Ptr a -> Ptr a -> Ptr CInt -> Ptr a -> Ptr CInt -> IO ()}
+
+sbtrd :: Class.Real a => Ptr CChar -> Ptr CChar -> Ptr CInt -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr a -> Ptr a -> Ptr a -> Ptr CInt -> Ptr a -> Ptr CInt -> IO ()
+sbtrd = getSBTRD $ Class.switchReal (SBTRD S.sbtrd) (SBTRD D.sbtrd)
+
+
+newtype SYEV a = SYEV {getSYEV :: Ptr CChar -> Ptr CChar -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr a -> Ptr a -> Ptr CInt -> Ptr CInt -> IO ()}
+
+syev :: Class.Real a => Ptr CChar -> Ptr CChar -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr a -> Ptr a -> Ptr CInt -> Ptr CInt -> IO ()
+syev = getSYEV $ Class.switchReal (SYEV S.syev) (SYEV D.syev)
+
+
+newtype SYEVD a = SYEVD {getSYEVD :: Ptr CChar -> Ptr CChar -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr a -> Ptr a -> Ptr CInt -> Ptr CInt -> Ptr CInt -> Ptr CInt -> IO ()}
+
+syevd :: Class.Real a => Ptr CChar -> Ptr CChar -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr a -> Ptr a -> Ptr CInt -> Ptr CInt -> Ptr CInt -> Ptr CInt -> IO ()
+syevd = getSYEVD $ Class.switchReal (SYEVD S.syevd) (SYEVD D.syevd)
+
+
+newtype SYEVR a = SYEVR {getSYEVR :: Ptr CChar -> Ptr CChar -> Ptr CChar -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr a -> Ptr a -> Ptr CInt -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr a -> Ptr a -> Ptr CInt -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr CInt -> Ptr CInt -> Ptr CInt -> IO ()}
+
+syevr :: Class.Real a => Ptr CChar -> Ptr CChar -> Ptr CChar -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr a -> Ptr a -> Ptr CInt -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr a -> Ptr a -> Ptr CInt -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr CInt -> Ptr CInt -> Ptr CInt -> IO ()
+syevr = getSYEVR $ Class.switchReal (SYEVR S.syevr) (SYEVR D.syevr)
+
+
+newtype SYEVX a = SYEVX {getSYEVX :: Ptr CChar -> Ptr CChar -> Ptr CChar -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr a -> Ptr a -> Ptr CInt -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr a -> Ptr a -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr CInt -> Ptr CInt -> Ptr CInt -> IO ()}
+
+syevx :: Class.Real a => Ptr CChar -> Ptr CChar -> Ptr CChar -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr a -> Ptr a -> Ptr CInt -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr a -> Ptr a -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr CInt -> Ptr CInt -> Ptr CInt -> IO ()
+syevx = getSYEVX $ Class.switchReal (SYEVX S.syevx) (SYEVX D.syevx)
+
+
+newtype SYGS2 a = SYGS2 {getSYGS2 :: Ptr CInt -> Ptr CChar -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr CInt -> IO ()}
+
+sygs2 :: Class.Real a => Ptr CInt -> Ptr CChar -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr CInt -> IO ()
+sygs2 = getSYGS2 $ Class.switchReal (SYGS2 S.sygs2) (SYGS2 D.sygs2)
+
+
+newtype SYGST a = SYGST {getSYGST :: Ptr CInt -> Ptr CChar -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr CInt -> IO ()}
+
+sygst :: Class.Real a => Ptr CInt -> Ptr CChar -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr CInt -> IO ()
+sygst = getSYGST $ Class.switchReal (SYGST S.sygst) (SYGST D.sygst)
+
+
+newtype SYGV a = SYGV {getSYGV :: Ptr CInt -> Ptr CChar -> Ptr CChar -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr a -> Ptr a -> Ptr CInt -> Ptr CInt -> IO ()}
+
+sygv :: Class.Real a => Ptr CInt -> Ptr CChar -> Ptr CChar -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr a -> Ptr a -> Ptr CInt -> Ptr CInt -> IO ()
+sygv = getSYGV $ Class.switchReal (SYGV S.sygv) (SYGV D.sygv)
+
+
+newtype SYGVD a = SYGVD {getSYGVD :: Ptr CInt -> Ptr CChar -> Ptr CChar -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr a -> Ptr a -> Ptr CInt -> Ptr CInt -> Ptr CInt -> Ptr CInt -> IO ()}
+
+sygvd :: Class.Real a => Ptr CInt -> Ptr CChar -> Ptr CChar -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr a -> Ptr a -> Ptr CInt -> Ptr CInt -> Ptr CInt -> Ptr CInt -> IO ()
+sygvd = getSYGVD $ Class.switchReal (SYGVD S.sygvd) (SYGVD D.sygvd)
+
+
+newtype SYGVX a = SYGVX {getSYGVX :: Ptr CInt -> Ptr CChar -> Ptr CChar -> Ptr CChar -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr a -> Ptr a -> Ptr CInt -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr a -> Ptr a -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr CInt -> Ptr CInt -> Ptr CInt -> IO ()}
+
+sygvx :: Class.Real a => Ptr CInt -> Ptr CChar -> Ptr CChar -> Ptr CChar -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr a -> Ptr a -> Ptr CInt -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr a -> Ptr a -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr CInt -> Ptr CInt -> Ptr CInt -> IO ()
+sygvx = getSYGVX $ Class.switchReal (SYGVX S.sygvx) (SYGVX D.sygvx)
+
+
+newtype SFRK a = SFRK {getSFRK :: Ptr CChar -> Ptr CChar -> Ptr CChar -> Ptr CInt -> Ptr CInt -> Ptr a -> Ptr a -> Ptr CInt -> Ptr a -> Ptr a -> IO ()}
+
+sfrk :: Class.Real a => Ptr CChar -> Ptr CChar -> Ptr CChar -> Ptr CInt -> Ptr CInt -> Ptr a -> Ptr a -> Ptr CInt -> Ptr a -> Ptr a -> IO ()
+sfrk = getSFRK $ Class.switchReal (SFRK S.sfrk) (SFRK D.sfrk)
+
+
 newtype HGEQZ a = HGEQZ {getHGEQZ :: Ptr CChar -> Ptr CChar -> Ptr CChar -> Ptr CInt -> Ptr CInt -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr a -> Ptr a -> Ptr a -> Ptr a -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr CInt -> IO ()}
 
 hgeqz :: Class.Real a => Ptr CChar -> Ptr CChar -> Ptr CChar -> Ptr CInt -> Ptr CInt -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr a -> Ptr a -> Ptr a -> Ptr a -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr CInt -> IO ()
 hgeqz = getHGEQZ $ Class.switchReal (HGEQZ S.hgeqz) (HGEQZ D.hgeqz)
 
 
+newtype SPEV a = SPEV {getSPEV :: Ptr CChar -> Ptr CChar -> Ptr CInt -> Ptr a -> Ptr a -> Ptr a -> Ptr CInt -> Ptr a -> Ptr CInt -> IO ()}
+
+spev :: Class.Real a => Ptr CChar -> Ptr CChar -> Ptr CInt -> Ptr a -> Ptr a -> Ptr a -> Ptr CInt -> Ptr a -> Ptr CInt -> IO ()
+spev = getSPEV $ Class.switchReal (SPEV S.spev) (SPEV D.spev)
+
+
+newtype SPEVD a = SPEVD {getSPEVD :: Ptr CChar -> Ptr CChar -> Ptr CInt -> Ptr a -> Ptr a -> Ptr a -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr CInt -> Ptr CInt -> Ptr CInt -> IO ()}
+
+spevd :: Class.Real a => Ptr CChar -> Ptr CChar -> Ptr CInt -> Ptr a -> Ptr a -> Ptr a -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr CInt -> Ptr CInt -> Ptr CInt -> IO ()
+spevd = getSPEVD $ Class.switchReal (SPEVD S.spevd) (SPEVD D.spevd)
+
+
+newtype SPEVX a = SPEVX {getSPEVX :: Ptr CChar -> Ptr CChar -> Ptr CChar -> Ptr CInt -> Ptr a -> Ptr a -> Ptr a -> Ptr CInt -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr a -> Ptr a -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr CInt -> Ptr CInt -> IO ()}
+
+spevx :: Class.Real a => Ptr CChar -> Ptr CChar -> Ptr CChar -> Ptr CInt -> Ptr a -> Ptr a -> Ptr a -> Ptr CInt -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr a -> Ptr a -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr CInt -> Ptr CInt -> IO ()
+spevx = getSPEVX $ Class.switchReal (SPEVX S.spevx) (SPEVX D.spevx)
+
+
+newtype SPGST a = SPGST {getSPGST :: Ptr CInt -> Ptr CChar -> Ptr CInt -> Ptr a -> Ptr a -> Ptr CInt -> IO ()}
+
+spgst :: Class.Real a => Ptr CInt -> Ptr CChar -> Ptr CInt -> Ptr a -> Ptr a -> Ptr CInt -> IO ()
+spgst = getSPGST $ Class.switchReal (SPGST S.spgst) (SPGST D.spgst)
+
+
+newtype SPGV a = SPGV {getSPGV :: Ptr CInt -> Ptr CChar -> Ptr CChar -> Ptr CInt -> Ptr a -> Ptr a -> Ptr a -> Ptr a -> Ptr CInt -> Ptr a -> Ptr CInt -> IO ()}
+
+spgv :: Class.Real a => Ptr CInt -> Ptr CChar -> Ptr CChar -> Ptr CInt -> Ptr a -> Ptr a -> Ptr a -> Ptr a -> Ptr CInt -> Ptr a -> Ptr CInt -> IO ()
+spgv = getSPGV $ Class.switchReal (SPGV S.spgv) (SPGV D.spgv)
+
+
+newtype SPGVD a = SPGVD {getSPGVD :: Ptr CInt -> Ptr CChar -> Ptr CChar -> Ptr CInt -> Ptr a -> Ptr a -> Ptr a -> Ptr a -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr CInt -> Ptr CInt -> Ptr CInt -> IO ()}
+
+spgvd :: Class.Real a => Ptr CInt -> Ptr CChar -> Ptr CChar -> Ptr CInt -> Ptr a -> Ptr a -> Ptr a -> Ptr a -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr CInt -> Ptr CInt -> Ptr CInt -> IO ()
+spgvd = getSPGVD $ Class.switchReal (SPGVD S.spgvd) (SPGVD D.spgvd)
+
+
+newtype SPGVX a = SPGVX {getSPGVX :: Ptr CInt -> Ptr CChar -> Ptr CChar -> Ptr CChar -> Ptr CInt -> Ptr a -> Ptr a -> Ptr a -> Ptr a -> Ptr CInt -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr a -> Ptr a -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr CInt -> Ptr CInt -> IO ()}
+
+spgvx :: Class.Real a => Ptr CInt -> Ptr CChar -> Ptr CChar -> Ptr CChar -> Ptr CInt -> Ptr a -> Ptr a -> Ptr a -> Ptr a -> Ptr CInt -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr a -> Ptr a -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr CInt -> Ptr CInt -> IO ()
+spgvx = getSPGVX $ Class.switchReal (SPGVX S.spgvx) (SPGVX D.spgvx)
+
+
+newtype SPTRD a = SPTRD {getSPTRD :: Ptr CChar -> Ptr CInt -> Ptr a -> Ptr a -> Ptr a -> Ptr a -> Ptr CInt -> IO ()}
+
+sptrd :: Class.Real a => Ptr CChar -> Ptr CInt -> Ptr a -> Ptr a -> Ptr a -> Ptr a -> Ptr CInt -> IO ()
+sptrd = getSPTRD $ Class.switchReal (SPTRD S.sptrd) (SPTRD D.sptrd)
+
+
 newtype HSEIN a = HSEIN {getHSEIN :: Ptr CChar -> Ptr CChar -> Ptr CChar -> Ptr Bool -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr a -> Ptr a -> Ptr a -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr CInt -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr CInt -> Ptr CInt -> IO ()}
 
 hsein :: Class.Real a => Ptr CChar -> Ptr CChar -> Ptr CChar -> Ptr Bool -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr a -> Ptr a -> Ptr a -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr CInt -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr CInt -> Ptr CInt -> IO ()
@@ -1666,18 +1822,6 @@
 lauum = getLAUUM $ Class.switchReal (LAUUM S.lauum) (LAUUM D.lauum)
 
 
-newtype OPGTR a = OPGTR {getOPGTR :: Ptr CChar -> Ptr CInt -> Ptr a -> Ptr a -> Ptr a -> Ptr CInt -> Ptr a -> Ptr CInt -> IO ()}
-
-opgtr :: Class.Real a => Ptr CChar -> Ptr CInt -> Ptr a -> Ptr a -> Ptr a -> Ptr CInt -> Ptr a -> Ptr CInt -> IO ()
-opgtr = getOPGTR $ Class.switchReal (OPGTR S.opgtr) (OPGTR D.opgtr)
-
-
-newtype OPMTR a = OPMTR {getOPMTR :: Ptr CChar -> Ptr CChar -> Ptr CChar -> Ptr CInt -> Ptr CInt -> Ptr a -> Ptr a -> Ptr a -> Ptr CInt -> Ptr a -> Ptr CInt -> IO ()}
-
-opmtr :: Class.Real a => Ptr CChar -> Ptr CChar -> Ptr CChar -> Ptr CInt -> Ptr CInt -> Ptr a -> Ptr a -> Ptr a -> Ptr CInt -> Ptr a -> Ptr CInt -> IO ()
-opmtr = getOPMTR $ Class.switchReal (OPMTR S.opmtr) (OPMTR D.opmtr)
-
-
 newtype ORBDB a = ORBDB {getORBDB :: Ptr CChar -> Ptr CChar -> Ptr CInt -> Ptr CInt -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr a -> Ptr a -> Ptr a -> Ptr a -> Ptr a -> Ptr a -> Ptr a -> Ptr CInt -> Ptr CInt -> IO ()}
 
 orbdb :: Class.Real a => Ptr CChar -> Ptr CChar -> Ptr CInt -> Ptr CInt -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr a -> Ptr a -> Ptr a -> Ptr a -> Ptr a -> Ptr a -> Ptr a -> Ptr CInt -> Ptr CInt -> IO ()
@@ -1690,150 +1834,6 @@
 orcsd = getORCSD $ Class.switchReal (ORCSD S.orcsd) (ORCSD D.orcsd)
 
 
-newtype ORG2L a = ORG2L {getORG2L :: Ptr CInt -> Ptr CInt -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr a -> Ptr a -> Ptr CInt -> IO ()}
-
-org2l :: Class.Real a => Ptr CInt -> Ptr CInt -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr a -> Ptr a -> Ptr CInt -> IO ()
-org2l = getORG2L $ Class.switchReal (ORG2L S.org2l) (ORG2L D.org2l)
-
-
-newtype ORG2R a = ORG2R {getORG2R :: Ptr CInt -> Ptr CInt -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr a -> Ptr a -> Ptr CInt -> IO ()}
-
-org2r :: Class.Real a => Ptr CInt -> Ptr CInt -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr a -> Ptr a -> Ptr CInt -> IO ()
-org2r = getORG2R $ Class.switchReal (ORG2R S.org2r) (ORG2R D.org2r)
-
-
-newtype ORGBR a = ORGBR {getORGBR :: Ptr CChar -> Ptr CInt -> Ptr CInt -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr a -> Ptr a -> Ptr CInt -> Ptr CInt -> IO ()}
-
-orgbr :: Class.Real a => Ptr CChar -> Ptr CInt -> Ptr CInt -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr a -> Ptr a -> Ptr CInt -> Ptr CInt -> IO ()
-orgbr = getORGBR $ Class.switchReal (ORGBR S.orgbr) (ORGBR D.orgbr)
-
-
-newtype ORGHR a = ORGHR {getORGHR :: Ptr CInt -> Ptr CInt -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr a -> Ptr a -> Ptr CInt -> Ptr CInt -> IO ()}
-
-orghr :: Class.Real a => Ptr CInt -> Ptr CInt -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr a -> Ptr a -> Ptr CInt -> Ptr CInt -> IO ()
-orghr = getORGHR $ Class.switchReal (ORGHR S.orghr) (ORGHR D.orghr)
-
-
-newtype ORGL2 a = ORGL2 {getORGL2 :: Ptr CInt -> Ptr CInt -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr a -> Ptr a -> Ptr CInt -> IO ()}
-
-orgl2 :: Class.Real a => Ptr CInt -> Ptr CInt -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr a -> Ptr a -> Ptr CInt -> IO ()
-orgl2 = getORGL2 $ Class.switchReal (ORGL2 S.orgl2) (ORGL2 D.orgl2)
-
-
-newtype ORGLQ a = ORGLQ {getORGLQ :: Ptr CInt -> Ptr CInt -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr a -> Ptr a -> Ptr CInt -> Ptr CInt -> IO ()}
-
-orglq :: Class.Real a => Ptr CInt -> Ptr CInt -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr a -> Ptr a -> Ptr CInt -> Ptr CInt -> IO ()
-orglq = getORGLQ $ Class.switchReal (ORGLQ S.orglq) (ORGLQ D.orglq)
-
-
-newtype ORGQL a = ORGQL {getORGQL :: Ptr CInt -> Ptr CInt -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr a -> Ptr a -> Ptr CInt -> Ptr CInt -> IO ()}
-
-orgql :: Class.Real a => Ptr CInt -> Ptr CInt -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr a -> Ptr a -> Ptr CInt -> Ptr CInt -> IO ()
-orgql = getORGQL $ Class.switchReal (ORGQL S.orgql) (ORGQL D.orgql)
-
-
-newtype ORGQR a = ORGQR {getORGQR :: Ptr CInt -> Ptr CInt -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr a -> Ptr a -> Ptr CInt -> Ptr CInt -> IO ()}
-
-orgqr :: Class.Real a => Ptr CInt -> Ptr CInt -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr a -> Ptr a -> Ptr CInt -> Ptr CInt -> IO ()
-orgqr = getORGQR $ Class.switchReal (ORGQR S.orgqr) (ORGQR D.orgqr)
-
-
-newtype ORGR2 a = ORGR2 {getORGR2 :: Ptr CInt -> Ptr CInt -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr a -> Ptr a -> Ptr CInt -> IO ()}
-
-orgr2 :: Class.Real a => Ptr CInt -> Ptr CInt -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr a -> Ptr a -> Ptr CInt -> IO ()
-orgr2 = getORGR2 $ Class.switchReal (ORGR2 S.orgr2) (ORGR2 D.orgr2)
-
-
-newtype ORGRQ a = ORGRQ {getORGRQ :: Ptr CInt -> Ptr CInt -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr a -> Ptr a -> Ptr CInt -> Ptr CInt -> IO ()}
-
-orgrq :: Class.Real a => Ptr CInt -> Ptr CInt -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr a -> Ptr a -> Ptr CInt -> Ptr CInt -> IO ()
-orgrq = getORGRQ $ Class.switchReal (ORGRQ S.orgrq) (ORGRQ D.orgrq)
-
-
-newtype ORGTR a = ORGTR {getORGTR :: Ptr CChar -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr a -> Ptr a -> Ptr CInt -> Ptr CInt -> IO ()}
-
-orgtr :: Class.Real a => Ptr CChar -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr a -> Ptr a -> Ptr CInt -> Ptr CInt -> IO ()
-orgtr = getORGTR $ Class.switchReal (ORGTR S.orgtr) (ORGTR D.orgtr)
-
-
-newtype ORM2L a = ORM2L {getORM2L :: Ptr CChar -> Ptr CChar -> Ptr CInt -> Ptr CInt -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr a -> Ptr a -> Ptr CInt -> Ptr a -> Ptr CInt -> IO ()}
-
-orm2l :: Class.Real a => Ptr CChar -> Ptr CChar -> Ptr CInt -> Ptr CInt -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr a -> Ptr a -> Ptr CInt -> Ptr a -> Ptr CInt -> IO ()
-orm2l = getORM2L $ Class.switchReal (ORM2L S.orm2l) (ORM2L D.orm2l)
-
-
-newtype ORM2R a = ORM2R {getORM2R :: Ptr CChar -> Ptr CChar -> Ptr CInt -> Ptr CInt -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr a -> Ptr a -> Ptr CInt -> Ptr a -> Ptr CInt -> IO ()}
-
-orm2r :: Class.Real a => Ptr CChar -> Ptr CChar -> Ptr CInt -> Ptr CInt -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr a -> Ptr a -> Ptr CInt -> Ptr a -> Ptr CInt -> IO ()
-orm2r = getORM2R $ Class.switchReal (ORM2R S.orm2r) (ORM2R D.orm2r)
-
-
-newtype ORMBR a = ORMBR {getORMBR :: Ptr CChar -> Ptr CChar -> Ptr CChar -> Ptr CInt -> Ptr CInt -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr a -> Ptr a -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr CInt -> IO ()}
-
-ormbr :: Class.Real a => Ptr CChar -> Ptr CChar -> Ptr CChar -> Ptr CInt -> Ptr CInt -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr a -> Ptr a -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr CInt -> IO ()
-ormbr = getORMBR $ Class.switchReal (ORMBR S.ormbr) (ORMBR D.ormbr)
-
-
-newtype ORMHR a = ORMHR {getORMHR :: Ptr CChar -> Ptr CChar -> Ptr CInt -> Ptr CInt -> Ptr CInt -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr a -> Ptr a -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr CInt -> IO ()}
-
-ormhr :: Class.Real a => Ptr CChar -> Ptr CChar -> Ptr CInt -> Ptr CInt -> Ptr CInt -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr a -> Ptr a -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr CInt -> IO ()
-ormhr = getORMHR $ Class.switchReal (ORMHR S.ormhr) (ORMHR D.ormhr)
-
-
-newtype ORML2 a = ORML2 {getORML2 :: Ptr CChar -> Ptr CChar -> Ptr CInt -> Ptr CInt -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr a -> Ptr a -> Ptr CInt -> Ptr a -> Ptr CInt -> IO ()}
-
-orml2 :: Class.Real a => Ptr CChar -> Ptr CChar -> Ptr CInt -> Ptr CInt -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr a -> Ptr a -> Ptr CInt -> Ptr a -> Ptr CInt -> IO ()
-orml2 = getORML2 $ Class.switchReal (ORML2 S.orml2) (ORML2 D.orml2)
-
-
-newtype ORMLQ a = ORMLQ {getORMLQ :: Ptr CChar -> Ptr CChar -> Ptr CInt -> Ptr CInt -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr a -> Ptr a -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr CInt -> IO ()}
-
-ormlq :: Class.Real a => Ptr CChar -> Ptr CChar -> Ptr CInt -> Ptr CInt -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr a -> Ptr a -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr CInt -> IO ()
-ormlq = getORMLQ $ Class.switchReal (ORMLQ S.ormlq) (ORMLQ D.ormlq)
-
-
-newtype ORMQL a = ORMQL {getORMQL :: Ptr CChar -> Ptr CChar -> Ptr CInt -> Ptr CInt -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr a -> Ptr a -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr CInt -> IO ()}
-
-ormql :: Class.Real a => Ptr CChar -> Ptr CChar -> Ptr CInt -> Ptr CInt -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr a -> Ptr a -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr CInt -> IO ()
-ormql = getORMQL $ Class.switchReal (ORMQL S.ormql) (ORMQL D.ormql)
-
-
-newtype ORMQR a = ORMQR {getORMQR :: Ptr CChar -> Ptr CChar -> Ptr CInt -> Ptr CInt -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr a -> Ptr a -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr CInt -> IO ()}
-
-ormqr :: Class.Real a => Ptr CChar -> Ptr CChar -> Ptr CInt -> Ptr CInt -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr a -> Ptr a -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr CInt -> IO ()
-ormqr = getORMQR $ Class.switchReal (ORMQR S.ormqr) (ORMQR D.ormqr)
-
-
-newtype ORMR2 a = ORMR2 {getORMR2 :: Ptr CChar -> Ptr CChar -> Ptr CInt -> Ptr CInt -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr a -> Ptr a -> Ptr CInt -> Ptr a -> Ptr CInt -> IO ()}
-
-ormr2 :: Class.Real a => Ptr CChar -> Ptr CChar -> Ptr CInt -> Ptr CInt -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr a -> Ptr a -> Ptr CInt -> Ptr a -> Ptr CInt -> IO ()
-ormr2 = getORMR2 $ Class.switchReal (ORMR2 S.ormr2) (ORMR2 D.ormr2)
-
-
-newtype ORMR3 a = ORMR3 {getORMR3 :: Ptr CChar -> Ptr CChar -> Ptr CInt -> Ptr CInt -> Ptr CInt -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr a -> Ptr a -> Ptr CInt -> Ptr a -> Ptr CInt -> IO ()}
-
-ormr3 :: Class.Real a => Ptr CChar -> Ptr CChar -> Ptr CInt -> Ptr CInt -> Ptr CInt -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr a -> Ptr a -> Ptr CInt -> Ptr a -> Ptr CInt -> IO ()
-ormr3 = getORMR3 $ Class.switchReal (ORMR3 S.ormr3) (ORMR3 D.ormr3)
-
-
-newtype ORMRQ a = ORMRQ {getORMRQ :: Ptr CChar -> Ptr CChar -> Ptr CInt -> Ptr CInt -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr a -> Ptr a -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr CInt -> IO ()}
-
-ormrq :: Class.Real a => Ptr CChar -> Ptr CChar -> Ptr CInt -> Ptr CInt -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr a -> Ptr a -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr CInt -> IO ()
-ormrq = getORMRQ $ Class.switchReal (ORMRQ S.ormrq) (ORMRQ D.ormrq)
-
-
-newtype ORMRZ a = ORMRZ {getORMRZ :: Ptr CChar -> Ptr CChar -> Ptr CInt -> Ptr CInt -> Ptr CInt -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr a -> Ptr a -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr CInt -> IO ()}
-
-ormrz :: Class.Real a => Ptr CChar -> Ptr CChar -> Ptr CInt -> Ptr CInt -> Ptr CInt -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr a -> Ptr a -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr CInt -> IO ()
-ormrz = getORMRZ $ Class.switchReal (ORMRZ S.ormrz) (ORMRZ D.ormrz)
-
-
-newtype ORMTR a = ORMTR {getORMTR :: Ptr CChar -> Ptr CChar -> Ptr CChar -> Ptr CInt -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr a -> Ptr a -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr CInt -> IO ()}
-
-ormtr :: Class.Real a => Ptr CChar -> Ptr CChar -> Ptr CChar -> Ptr CInt -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr a -> Ptr a -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr CInt -> IO ()
-ormtr = getORMTR $ Class.switchReal (ORMTR S.ormtr) (ORMTR D.ormtr)
-
-
 newtype PBCON a = PBCON {getPBCON :: Ptr CChar -> Ptr CInt -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr a -> Ptr a -> Ptr a -> Ptr CInt -> Ptr CInt -> IO ()}
 
 pbcon :: Class.Real a => Ptr CChar -> Ptr CInt -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr a -> Ptr a -> Ptr a -> Ptr CInt -> Ptr CInt -> IO ()
@@ -2080,108 +2080,12 @@
 rscl = getRSCL $ Class.switchReal (RSCL S.rscl) (RSCL D.rscl)
 
 
-newtype SBEV a = SBEV {getSBEV :: Ptr CChar -> Ptr CChar -> Ptr CInt -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr a -> Ptr a -> Ptr CInt -> Ptr a -> Ptr CInt -> IO ()}
-
-sbev :: Class.Real a => Ptr CChar -> Ptr CChar -> Ptr CInt -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr a -> Ptr a -> Ptr CInt -> Ptr a -> Ptr CInt -> IO ()
-sbev = getSBEV $ Class.switchReal (SBEV S.sbev) (SBEV D.sbev)
-
-
-newtype SBEVD a = SBEVD {getSBEVD :: Ptr CChar -> Ptr CChar -> Ptr CInt -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr a -> Ptr a -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr CInt -> Ptr CInt -> Ptr CInt -> IO ()}
-
-sbevd :: Class.Real a => Ptr CChar -> Ptr CChar -> Ptr CInt -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr a -> Ptr a -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr CInt -> Ptr CInt -> Ptr CInt -> IO ()
-sbevd = getSBEVD $ Class.switchReal (SBEVD S.sbevd) (SBEVD D.sbevd)
-
-
-newtype SBEVX a = SBEVX {getSBEVX :: Ptr CChar -> Ptr CChar -> Ptr CChar -> Ptr CInt -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr a -> Ptr a -> Ptr CInt -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr a -> Ptr a -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr CInt -> Ptr CInt -> IO ()}
-
-sbevx :: Class.Real a => Ptr CChar -> Ptr CChar -> Ptr CChar -> Ptr CInt -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr a -> Ptr a -> Ptr CInt -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr a -> Ptr a -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr CInt -> Ptr CInt -> IO ()
-sbevx = getSBEVX $ Class.switchReal (SBEVX S.sbevx) (SBEVX D.sbevx)
-
-
-newtype SBGST a = SBGST {getSBGST :: Ptr CChar -> Ptr CChar -> Ptr CInt -> Ptr CInt -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr a -> Ptr CInt -> IO ()}
-
-sbgst :: Class.Real a => Ptr CChar -> Ptr CChar -> Ptr CInt -> Ptr CInt -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr a -> Ptr CInt -> IO ()
-sbgst = getSBGST $ Class.switchReal (SBGST S.sbgst) (SBGST D.sbgst)
-
-
-newtype SBGV a = SBGV {getSBGV :: Ptr CChar -> Ptr CChar -> Ptr CInt -> Ptr CInt -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr a -> Ptr a -> Ptr CInt -> Ptr a -> Ptr CInt -> IO ()}
-
-sbgv :: Class.Real a => Ptr CChar -> Ptr CChar -> Ptr CInt -> Ptr CInt -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr a -> Ptr a -> Ptr CInt -> Ptr a -> Ptr CInt -> IO ()
-sbgv = getSBGV $ Class.switchReal (SBGV S.sbgv) (SBGV D.sbgv)
-
-
-newtype SBGVD a = SBGVD {getSBGVD :: Ptr CChar -> Ptr CChar -> Ptr CInt -> Ptr CInt -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr a -> Ptr a -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr CInt -> Ptr CInt -> Ptr CInt -> IO ()}
-
-sbgvd :: Class.Real a => Ptr CChar -> Ptr CChar -> Ptr CInt -> Ptr CInt -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr a -> Ptr a -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr CInt -> Ptr CInt -> Ptr CInt -> IO ()
-sbgvd = getSBGVD $ Class.switchReal (SBGVD S.sbgvd) (SBGVD D.sbgvd)
-
-
-newtype SBGVX a = SBGVX {getSBGVX :: Ptr CChar -> Ptr CChar -> Ptr CChar -> Ptr CInt -> Ptr CInt -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr a -> Ptr a -> Ptr CInt -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr a -> Ptr a -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr CInt -> Ptr CInt -> IO ()}
-
-sbgvx :: Class.Real a => Ptr CChar -> Ptr CChar -> Ptr CChar -> Ptr CInt -> Ptr CInt -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr a -> Ptr a -> Ptr CInt -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr a -> Ptr a -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr CInt -> Ptr CInt -> IO ()
-sbgvx = getSBGVX $ Class.switchReal (SBGVX S.sbgvx) (SBGVX D.sbgvx)
-
-
-newtype SBTRD a = SBTRD {getSBTRD :: Ptr CChar -> Ptr CChar -> Ptr CInt -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr a -> Ptr a -> Ptr a -> Ptr CInt -> Ptr a -> Ptr CInt -> IO ()}
-
-sbtrd :: Class.Real a => Ptr CChar -> Ptr CChar -> Ptr CInt -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr a -> Ptr a -> Ptr a -> Ptr CInt -> Ptr a -> Ptr CInt -> IO ()
-sbtrd = getSBTRD $ Class.switchReal (SBTRD S.sbtrd) (SBTRD D.sbtrd)
-
-
-newtype SFRK a = SFRK {getSFRK :: Ptr CChar -> Ptr CChar -> Ptr CChar -> Ptr CInt -> Ptr CInt -> Ptr a -> Ptr a -> Ptr CInt -> Ptr a -> Ptr a -> IO ()}
-
-sfrk :: Class.Real a => Ptr CChar -> Ptr CChar -> Ptr CChar -> Ptr CInt -> Ptr CInt -> Ptr a -> Ptr a -> Ptr CInt -> Ptr a -> Ptr a -> IO ()
-sfrk = getSFRK $ Class.switchReal (SFRK S.sfrk) (SFRK D.sfrk)
-
-
 newtype SPCON a = SPCON {getSPCON :: Ptr CChar -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr a -> Ptr a -> Ptr a -> Ptr CInt -> Ptr CInt -> IO ()}
 
 spcon :: Class.Real a => Ptr CChar -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr a -> Ptr a -> Ptr a -> Ptr CInt -> Ptr CInt -> IO ()
 spcon = getSPCON $ Class.switchReal (SPCON S.spcon) (SPCON D.spcon)
 
 
-newtype SPEV a = SPEV {getSPEV :: Ptr CChar -> Ptr CChar -> Ptr CInt -> Ptr a -> Ptr a -> Ptr a -> Ptr CInt -> Ptr a -> Ptr CInt -> IO ()}
-
-spev :: Class.Real a => Ptr CChar -> Ptr CChar -> Ptr CInt -> Ptr a -> Ptr a -> Ptr a -> Ptr CInt -> Ptr a -> Ptr CInt -> IO ()
-spev = getSPEV $ Class.switchReal (SPEV S.spev) (SPEV D.spev)
-
-
-newtype SPEVD a = SPEVD {getSPEVD :: Ptr CChar -> Ptr CChar -> Ptr CInt -> Ptr a -> Ptr a -> Ptr a -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr CInt -> Ptr CInt -> Ptr CInt -> IO ()}
-
-spevd :: Class.Real a => Ptr CChar -> Ptr CChar -> Ptr CInt -> Ptr a -> Ptr a -> Ptr a -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr CInt -> Ptr CInt -> Ptr CInt -> IO ()
-spevd = getSPEVD $ Class.switchReal (SPEVD S.spevd) (SPEVD D.spevd)
-
-
-newtype SPEVX a = SPEVX {getSPEVX :: Ptr CChar -> Ptr CChar -> Ptr CChar -> Ptr CInt -> Ptr a -> Ptr a -> Ptr a -> Ptr CInt -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr a -> Ptr a -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr CInt -> Ptr CInt -> IO ()}
-
-spevx :: Class.Real a => Ptr CChar -> Ptr CChar -> Ptr CChar -> Ptr CInt -> Ptr a -> Ptr a -> Ptr a -> Ptr CInt -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr a -> Ptr a -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr CInt -> Ptr CInt -> IO ()
-spevx = getSPEVX $ Class.switchReal (SPEVX S.spevx) (SPEVX D.spevx)
-
-
-newtype SPGST a = SPGST {getSPGST :: Ptr CInt -> Ptr CChar -> Ptr CInt -> Ptr a -> Ptr a -> Ptr CInt -> IO ()}
-
-spgst :: Class.Real a => Ptr CInt -> Ptr CChar -> Ptr CInt -> Ptr a -> Ptr a -> Ptr CInt -> IO ()
-spgst = getSPGST $ Class.switchReal (SPGST S.spgst) (SPGST D.spgst)
-
-
-newtype SPGV a = SPGV {getSPGV :: Ptr CInt -> Ptr CChar -> Ptr CChar -> Ptr CInt -> Ptr a -> Ptr a -> Ptr a -> Ptr a -> Ptr CInt -> Ptr a -> Ptr CInt -> IO ()}
-
-spgv :: Class.Real a => Ptr CInt -> Ptr CChar -> Ptr CChar -> Ptr CInt -> Ptr a -> Ptr a -> Ptr a -> Ptr a -> Ptr CInt -> Ptr a -> Ptr CInt -> IO ()
-spgv = getSPGV $ Class.switchReal (SPGV S.spgv) (SPGV D.spgv)
-
-
-newtype SPGVD a = SPGVD {getSPGVD :: Ptr CInt -> Ptr CChar -> Ptr CChar -> Ptr CInt -> Ptr a -> Ptr a -> Ptr a -> Ptr a -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr CInt -> Ptr CInt -> Ptr CInt -> IO ()}
-
-spgvd :: Class.Real a => Ptr CInt -> Ptr CChar -> Ptr CChar -> Ptr CInt -> Ptr a -> Ptr a -> Ptr a -> Ptr a -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr CInt -> Ptr CInt -> Ptr CInt -> IO ()
-spgvd = getSPGVD $ Class.switchReal (SPGVD S.spgvd) (SPGVD D.spgvd)
-
-
-newtype SPGVX a = SPGVX {getSPGVX :: Ptr CInt -> Ptr CChar -> Ptr CChar -> Ptr CChar -> Ptr CInt -> Ptr a -> Ptr a -> Ptr a -> Ptr a -> Ptr CInt -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr a -> Ptr a -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr CInt -> Ptr CInt -> IO ()}
-
-spgvx :: Class.Real a => Ptr CInt -> Ptr CChar -> Ptr CChar -> Ptr CChar -> Ptr CInt -> Ptr a -> Ptr a -> Ptr a -> Ptr a -> Ptr CInt -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr a -> Ptr a -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr CInt -> Ptr CInt -> IO ()
-spgvx = getSPGVX $ Class.switchReal (SPGVX S.spgvx) (SPGVX D.spgvx)
-
-
 newtype SPRFS a = SPRFS {getSPRFS :: Ptr CChar -> Ptr CInt -> Ptr CInt -> Ptr a -> Ptr a -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr a -> Ptr a -> Ptr a -> Ptr CInt -> Ptr CInt -> IO ()}
 
 sprfs :: Class.Real a => Ptr CChar -> Ptr CInt -> Ptr CInt -> Ptr a -> Ptr a -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr a -> Ptr a -> Ptr a -> Ptr CInt -> Ptr CInt -> IO ()
@@ -2200,12 +2104,6 @@
 spsvx = getSPSVX $ Class.switchReal (SPSVX S.spsvx) (SPSVX D.spsvx)
 
 
-newtype SPTRD a = SPTRD {getSPTRD :: Ptr CChar -> Ptr CInt -> Ptr a -> Ptr a -> Ptr a -> Ptr a -> Ptr CInt -> IO ()}
-
-sptrd :: Class.Real a => Ptr CChar -> Ptr CInt -> Ptr a -> Ptr a -> Ptr a -> Ptr a -> Ptr CInt -> IO ()
-sptrd = getSPTRD $ Class.switchReal (SPTRD S.sptrd) (SPTRD D.sptrd)
-
-
 newtype SPTRF a = SPTRF {getSPTRF :: Ptr CChar -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr CInt -> IO ()}
 
 sptrf :: Class.Real a => Ptr CChar -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr CInt -> IO ()
@@ -2308,60 +2206,6 @@
 syequb = getSYEQUB $ Class.switchReal (SYEQUB S.syequb) (SYEQUB D.syequb)
 
 
-newtype SYEV a = SYEV {getSYEV :: Ptr CChar -> Ptr CChar -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr a -> Ptr a -> Ptr CInt -> Ptr CInt -> IO ()}
-
-syev :: Class.Real a => Ptr CChar -> Ptr CChar -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr a -> Ptr a -> Ptr CInt -> Ptr CInt -> IO ()
-syev = getSYEV $ Class.switchReal (SYEV S.syev) (SYEV D.syev)
-
-
-newtype SYEVD a = SYEVD {getSYEVD :: Ptr CChar -> Ptr CChar -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr a -> Ptr a -> Ptr CInt -> Ptr CInt -> Ptr CInt -> Ptr CInt -> IO ()}
-
-syevd :: Class.Real a => Ptr CChar -> Ptr CChar -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr a -> Ptr a -> Ptr CInt -> Ptr CInt -> Ptr CInt -> Ptr CInt -> IO ()
-syevd = getSYEVD $ Class.switchReal (SYEVD S.syevd) (SYEVD D.syevd)
-
-
-newtype SYEVR a = SYEVR {getSYEVR :: Ptr CChar -> Ptr CChar -> Ptr CChar -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr a -> Ptr a -> Ptr CInt -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr a -> Ptr a -> Ptr CInt -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr CInt -> Ptr CInt -> Ptr CInt -> IO ()}
-
-syevr :: Class.Real a => Ptr CChar -> Ptr CChar -> Ptr CChar -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr a -> Ptr a -> Ptr CInt -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr a -> Ptr a -> Ptr CInt -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr CInt -> Ptr CInt -> Ptr CInt -> IO ()
-syevr = getSYEVR $ Class.switchReal (SYEVR S.syevr) (SYEVR D.syevr)
-
-
-newtype SYEVX a = SYEVX {getSYEVX :: Ptr CChar -> Ptr CChar -> Ptr CChar -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr a -> Ptr a -> Ptr CInt -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr a -> Ptr a -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr CInt -> Ptr CInt -> Ptr CInt -> IO ()}
-
-syevx :: Class.Real a => Ptr CChar -> Ptr CChar -> Ptr CChar -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr a -> Ptr a -> Ptr CInt -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr a -> Ptr a -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr CInt -> Ptr CInt -> Ptr CInt -> IO ()
-syevx = getSYEVX $ Class.switchReal (SYEVX S.syevx) (SYEVX D.syevx)
-
-
-newtype SYGS2 a = SYGS2 {getSYGS2 :: Ptr CInt -> Ptr CChar -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr CInt -> IO ()}
-
-sygs2 :: Class.Real a => Ptr CInt -> Ptr CChar -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr CInt -> IO ()
-sygs2 = getSYGS2 $ Class.switchReal (SYGS2 S.sygs2) (SYGS2 D.sygs2)
-
-
-newtype SYGST a = SYGST {getSYGST :: Ptr CInt -> Ptr CChar -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr CInt -> IO ()}
-
-sygst :: Class.Real a => Ptr CInt -> Ptr CChar -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr CInt -> IO ()
-sygst = getSYGST $ Class.switchReal (SYGST S.sygst) (SYGST D.sygst)
-
-
-newtype SYGV a = SYGV {getSYGV :: Ptr CInt -> Ptr CChar -> Ptr CChar -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr a -> Ptr a -> Ptr CInt -> Ptr CInt -> IO ()}
-
-sygv :: Class.Real a => Ptr CInt -> Ptr CChar -> Ptr CChar -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr a -> Ptr a -> Ptr CInt -> Ptr CInt -> IO ()
-sygv = getSYGV $ Class.switchReal (SYGV S.sygv) (SYGV D.sygv)
-
-
-newtype SYGVD a = SYGVD {getSYGVD :: Ptr CInt -> Ptr CChar -> Ptr CChar -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr a -> Ptr a -> Ptr CInt -> Ptr CInt -> Ptr CInt -> Ptr CInt -> IO ()}
-
-sygvd :: Class.Real a => Ptr CInt -> Ptr CChar -> Ptr CChar -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr a -> Ptr a -> Ptr CInt -> Ptr CInt -> Ptr CInt -> Ptr CInt -> IO ()
-sygvd = getSYGVD $ Class.switchReal (SYGVD S.sygvd) (SYGVD D.sygvd)
-
-
-newtype SYGVX a = SYGVX {getSYGVX :: Ptr CInt -> Ptr CChar -> Ptr CChar -> Ptr CChar -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr a -> Ptr a -> Ptr CInt -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr a -> Ptr a -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr CInt -> Ptr CInt -> Ptr CInt -> IO ()}
-
-sygvx :: Class.Real a => Ptr CInt -> Ptr CChar -> Ptr CChar -> Ptr CChar -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr a -> Ptr a -> Ptr CInt -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr a -> Ptr a -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr CInt -> Ptr CInt -> Ptr CInt -> IO ()
-sygvx = getSYGVX $ Class.switchReal (SYGVX S.sygvx) (SYGVX D.sygvx)
-
-
 newtype SYRFS a = SYRFS {getSYRFS :: Ptr CChar -> Ptr CInt -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr a -> Ptr a -> Ptr a -> Ptr CInt -> Ptr CInt -> IO ()}
 
 syrfs :: Class.Real a => Ptr CChar -> Ptr CInt -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr a -> Ptr a -> Ptr a -> Ptr CInt -> Ptr CInt -> IO ()
@@ -2642,3 +2486,159 @@
 
 tzrzf :: Class.Real a => Ptr CInt -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr a -> Ptr a -> Ptr CInt -> Ptr CInt -> IO ()
 tzrzf = getTZRZF $ Class.switchReal (TZRZF S.tzrzf) (TZRZF D.tzrzf)
+
+
+newtype ORG2L a = ORG2L {getORG2L :: Ptr CInt -> Ptr CInt -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr a -> Ptr a -> Ptr CInt -> IO ()}
+
+org2l :: Class.Real a => Ptr CInt -> Ptr CInt -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr a -> Ptr a -> Ptr CInt -> IO ()
+org2l = getORG2L $ Class.switchReal (ORG2L S.org2l) (ORG2L D.org2l)
+
+
+newtype ORG2R a = ORG2R {getORG2R :: Ptr CInt -> Ptr CInt -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr a -> Ptr a -> Ptr CInt -> IO ()}
+
+org2r :: Class.Real a => Ptr CInt -> Ptr CInt -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr a -> Ptr a -> Ptr CInt -> IO ()
+org2r = getORG2R $ Class.switchReal (ORG2R S.org2r) (ORG2R D.org2r)
+
+
+newtype ORGBR a = ORGBR {getORGBR :: Ptr CChar -> Ptr CInt -> Ptr CInt -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr a -> Ptr a -> Ptr CInt -> Ptr CInt -> IO ()}
+
+orgbr :: Class.Real a => Ptr CChar -> Ptr CInt -> Ptr CInt -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr a -> Ptr a -> Ptr CInt -> Ptr CInt -> IO ()
+orgbr = getORGBR $ Class.switchReal (ORGBR S.orgbr) (ORGBR D.orgbr)
+
+
+newtype ORGHR a = ORGHR {getORGHR :: Ptr CInt -> Ptr CInt -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr a -> Ptr a -> Ptr CInt -> Ptr CInt -> IO ()}
+
+orghr :: Class.Real a => Ptr CInt -> Ptr CInt -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr a -> Ptr a -> Ptr CInt -> Ptr CInt -> IO ()
+orghr = getORGHR $ Class.switchReal (ORGHR S.orghr) (ORGHR D.orghr)
+
+
+newtype ORGL2 a = ORGL2 {getORGL2 :: Ptr CInt -> Ptr CInt -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr a -> Ptr a -> Ptr CInt -> IO ()}
+
+orgl2 :: Class.Real a => Ptr CInt -> Ptr CInt -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr a -> Ptr a -> Ptr CInt -> IO ()
+orgl2 = getORGL2 $ Class.switchReal (ORGL2 S.orgl2) (ORGL2 D.orgl2)
+
+
+newtype ORGLQ a = ORGLQ {getORGLQ :: Ptr CInt -> Ptr CInt -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr a -> Ptr a -> Ptr CInt -> Ptr CInt -> IO ()}
+
+orglq :: Class.Real a => Ptr CInt -> Ptr CInt -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr a -> Ptr a -> Ptr CInt -> Ptr CInt -> IO ()
+orglq = getORGLQ $ Class.switchReal (ORGLQ S.orglq) (ORGLQ D.orglq)
+
+
+newtype ORGQL a = ORGQL {getORGQL :: Ptr CInt -> Ptr CInt -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr a -> Ptr a -> Ptr CInt -> Ptr CInt -> IO ()}
+
+orgql :: Class.Real a => Ptr CInt -> Ptr CInt -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr a -> Ptr a -> Ptr CInt -> Ptr CInt -> IO ()
+orgql = getORGQL $ Class.switchReal (ORGQL S.orgql) (ORGQL D.orgql)
+
+
+newtype ORGQR a = ORGQR {getORGQR :: Ptr CInt -> Ptr CInt -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr a -> Ptr a -> Ptr CInt -> Ptr CInt -> IO ()}
+
+orgqr :: Class.Real a => Ptr CInt -> Ptr CInt -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr a -> Ptr a -> Ptr CInt -> Ptr CInt -> IO ()
+orgqr = getORGQR $ Class.switchReal (ORGQR S.orgqr) (ORGQR D.orgqr)
+
+
+newtype ORGR2 a = ORGR2 {getORGR2 :: Ptr CInt -> Ptr CInt -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr a -> Ptr a -> Ptr CInt -> IO ()}
+
+orgr2 :: Class.Real a => Ptr CInt -> Ptr CInt -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr a -> Ptr a -> Ptr CInt -> IO ()
+orgr2 = getORGR2 $ Class.switchReal (ORGR2 S.orgr2) (ORGR2 D.orgr2)
+
+
+newtype ORGRQ a = ORGRQ {getORGRQ :: Ptr CInt -> Ptr CInt -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr a -> Ptr a -> Ptr CInt -> Ptr CInt -> IO ()}
+
+orgrq :: Class.Real a => Ptr CInt -> Ptr CInt -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr a -> Ptr a -> Ptr CInt -> Ptr CInt -> IO ()
+orgrq = getORGRQ $ Class.switchReal (ORGRQ S.orgrq) (ORGRQ D.orgrq)
+
+
+newtype ORGTR a = ORGTR {getORGTR :: Ptr CChar -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr a -> Ptr a -> Ptr CInt -> Ptr CInt -> IO ()}
+
+orgtr :: Class.Real a => Ptr CChar -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr a -> Ptr a -> Ptr CInt -> Ptr CInt -> IO ()
+orgtr = getORGTR $ Class.switchReal (ORGTR S.orgtr) (ORGTR D.orgtr)
+
+
+newtype ORM2L a = ORM2L {getORM2L :: Ptr CChar -> Ptr CChar -> Ptr CInt -> Ptr CInt -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr a -> Ptr a -> Ptr CInt -> Ptr a -> Ptr CInt -> IO ()}
+
+orm2l :: Class.Real a => Ptr CChar -> Ptr CChar -> Ptr CInt -> Ptr CInt -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr a -> Ptr a -> Ptr CInt -> Ptr a -> Ptr CInt -> IO ()
+orm2l = getORM2L $ Class.switchReal (ORM2L S.orm2l) (ORM2L D.orm2l)
+
+
+newtype ORM2R a = ORM2R {getORM2R :: Ptr CChar -> Ptr CChar -> Ptr CInt -> Ptr CInt -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr a -> Ptr a -> Ptr CInt -> Ptr a -> Ptr CInt -> IO ()}
+
+orm2r :: Class.Real a => Ptr CChar -> Ptr CChar -> Ptr CInt -> Ptr CInt -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr a -> Ptr a -> Ptr CInt -> Ptr a -> Ptr CInt -> IO ()
+orm2r = getORM2R $ Class.switchReal (ORM2R S.orm2r) (ORM2R D.orm2r)
+
+
+newtype ORMBR a = ORMBR {getORMBR :: Ptr CChar -> Ptr CChar -> Ptr CChar -> Ptr CInt -> Ptr CInt -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr a -> Ptr a -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr CInt -> IO ()}
+
+ormbr :: Class.Real a => Ptr CChar -> Ptr CChar -> Ptr CChar -> Ptr CInt -> Ptr CInt -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr a -> Ptr a -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr CInt -> IO ()
+ormbr = getORMBR $ Class.switchReal (ORMBR S.ormbr) (ORMBR D.ormbr)
+
+
+newtype ORMHR a = ORMHR {getORMHR :: Ptr CChar -> Ptr CChar -> Ptr CInt -> Ptr CInt -> Ptr CInt -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr a -> Ptr a -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr CInt -> IO ()}
+
+ormhr :: Class.Real a => Ptr CChar -> Ptr CChar -> Ptr CInt -> Ptr CInt -> Ptr CInt -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr a -> Ptr a -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr CInt -> IO ()
+ormhr = getORMHR $ Class.switchReal (ORMHR S.ormhr) (ORMHR D.ormhr)
+
+
+newtype ORML2 a = ORML2 {getORML2 :: Ptr CChar -> Ptr CChar -> Ptr CInt -> Ptr CInt -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr a -> Ptr a -> Ptr CInt -> Ptr a -> Ptr CInt -> IO ()}
+
+orml2 :: Class.Real a => Ptr CChar -> Ptr CChar -> Ptr CInt -> Ptr CInt -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr a -> Ptr a -> Ptr CInt -> Ptr a -> Ptr CInt -> IO ()
+orml2 = getORML2 $ Class.switchReal (ORML2 S.orml2) (ORML2 D.orml2)
+
+
+newtype ORMLQ a = ORMLQ {getORMLQ :: Ptr CChar -> Ptr CChar -> Ptr CInt -> Ptr CInt -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr a -> Ptr a -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr CInt -> IO ()}
+
+ormlq :: Class.Real a => Ptr CChar -> Ptr CChar -> Ptr CInt -> Ptr CInt -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr a -> Ptr a -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr CInt -> IO ()
+ormlq = getORMLQ $ Class.switchReal (ORMLQ S.ormlq) (ORMLQ D.ormlq)
+
+
+newtype ORMQL a = ORMQL {getORMQL :: Ptr CChar -> Ptr CChar -> Ptr CInt -> Ptr CInt -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr a -> Ptr a -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr CInt -> IO ()}
+
+ormql :: Class.Real a => Ptr CChar -> Ptr CChar -> Ptr CInt -> Ptr CInt -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr a -> Ptr a -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr CInt -> IO ()
+ormql = getORMQL $ Class.switchReal (ORMQL S.ormql) (ORMQL D.ormql)
+
+
+newtype ORMQR a = ORMQR {getORMQR :: Ptr CChar -> Ptr CChar -> Ptr CInt -> Ptr CInt -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr a -> Ptr a -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr CInt -> IO ()}
+
+ormqr :: Class.Real a => Ptr CChar -> Ptr CChar -> Ptr CInt -> Ptr CInt -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr a -> Ptr a -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr CInt -> IO ()
+ormqr = getORMQR $ Class.switchReal (ORMQR S.ormqr) (ORMQR D.ormqr)
+
+
+newtype ORMR2 a = ORMR2 {getORMR2 :: Ptr CChar -> Ptr CChar -> Ptr CInt -> Ptr CInt -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr a -> Ptr a -> Ptr CInt -> Ptr a -> Ptr CInt -> IO ()}
+
+ormr2 :: Class.Real a => Ptr CChar -> Ptr CChar -> Ptr CInt -> Ptr CInt -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr a -> Ptr a -> Ptr CInt -> Ptr a -> Ptr CInt -> IO ()
+ormr2 = getORMR2 $ Class.switchReal (ORMR2 S.ormr2) (ORMR2 D.ormr2)
+
+
+newtype ORMR3 a = ORMR3 {getORMR3 :: Ptr CChar -> Ptr CChar -> Ptr CInt -> Ptr CInt -> Ptr CInt -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr a -> Ptr a -> Ptr CInt -> Ptr a -> Ptr CInt -> IO ()}
+
+ormr3 :: Class.Real a => Ptr CChar -> Ptr CChar -> Ptr CInt -> Ptr CInt -> Ptr CInt -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr a -> Ptr a -> Ptr CInt -> Ptr a -> Ptr CInt -> IO ()
+ormr3 = getORMR3 $ Class.switchReal (ORMR3 S.ormr3) (ORMR3 D.ormr3)
+
+
+newtype ORMRQ a = ORMRQ {getORMRQ :: Ptr CChar -> Ptr CChar -> Ptr CInt -> Ptr CInt -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr a -> Ptr a -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr CInt -> IO ()}
+
+ormrq :: Class.Real a => Ptr CChar -> Ptr CChar -> Ptr CInt -> Ptr CInt -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr a -> Ptr a -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr CInt -> IO ()
+ormrq = getORMRQ $ Class.switchReal (ORMRQ S.ormrq) (ORMRQ D.ormrq)
+
+
+newtype ORMRZ a = ORMRZ {getORMRZ :: Ptr CChar -> Ptr CChar -> Ptr CInt -> Ptr CInt -> Ptr CInt -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr a -> Ptr a -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr CInt -> IO ()}
+
+ormrz :: Class.Real a => Ptr CChar -> Ptr CChar -> Ptr CInt -> Ptr CInt -> Ptr CInt -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr a -> Ptr a -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr CInt -> IO ()
+ormrz = getORMRZ $ Class.switchReal (ORMRZ S.ormrz) (ORMRZ D.ormrz)
+
+
+newtype ORMTR a = ORMTR {getORMTR :: Ptr CChar -> Ptr CChar -> Ptr CChar -> Ptr CInt -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr a -> Ptr a -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr CInt -> IO ()}
+
+ormtr :: Class.Real a => Ptr CChar -> Ptr CChar -> Ptr CChar -> Ptr CInt -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr a -> Ptr a -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr CInt -> IO ()
+ormtr = getORMTR $ Class.switchReal (ORMTR S.ormtr) (ORMTR D.ormtr)
+
+
+newtype OPGTR a = OPGTR {getOPGTR :: Ptr CChar -> Ptr CInt -> Ptr a -> Ptr a -> Ptr a -> Ptr CInt -> Ptr a -> Ptr CInt -> IO ()}
+
+opgtr :: Class.Real a => Ptr CChar -> Ptr CInt -> Ptr a -> Ptr a -> Ptr a -> Ptr CInt -> Ptr a -> Ptr CInt -> IO ()
+opgtr = getOPGTR $ Class.switchReal (OPGTR S.opgtr) (OPGTR D.opgtr)
+
+
+newtype OPMTR a = OPMTR {getOPMTR :: Ptr CChar -> Ptr CChar -> Ptr CChar -> Ptr CInt -> Ptr CInt -> Ptr a -> Ptr a -> Ptr a -> Ptr CInt -> Ptr a -> Ptr CInt -> IO ()}
+
+opmtr :: Class.Real a => Ptr CChar -> Ptr CChar -> Ptr CChar -> Ptr CInt -> Ptr CInt -> Ptr a -> Ptr a -> Ptr a -> Ptr CInt -> Ptr a -> Ptr CInt -> IO ()
+opmtr = getOPMTR $ Class.switchReal (OPMTR S.opmtr) (OPMTR D.opmtr)
