-- GENERATED by C->Haskell Compiler, version 0.23.1 Snowbounder, 31 Oct 2014 (Haskell)
-- Edit the ORIGNAL .chs file instead!


{-# LINE 1 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}
{-# LANGUAGE ForeignFunctionInterface #-}

module Numeric.Jalla.Foreign.LAPACKE
       --(CblasOrder (..),
       -- CblasTranspose (..),
       -- CblasUplo (..),
       -- CblasDiag (..),
       -- CblasSide (..),
       -- CblasIndex)
       where

-- import C2HS
import Foreign.C.Types
import Foreign.Ptr
import Foreign.Storable
import Foreign.Marshal
import Numeric.Jalla.Types
import Data.Complex








castComplexToPtr :: Ptr (Complex CFloat) -> Ptr a 
castComplexToPtr = castPtr

castZomplexToPtr :: Ptr (Complex CDouble) -> Ptr a
castZomplexToPtr = castPtr

castChar = toEnum . fromEnum

withSingleCharPtr :: Ptr CChar -> (Char -> IO a) -> IO a
withSingleCharPtr pc act = peek pc >>= \c -> act (toEnum (fromEnum c))

withSingleChar :: Char -> (Ptr CChar -> IO a) -> IO a
withSingleChar c act = alloca $ \pc -> poke pc (toEnum (fromEnum c)) >> act pc

cgbbrd :: (Int) -> (CChar) -> (Int) -> (Int) -> (Int) -> (Int) -> (Int) -> (Ptr (Complex CFloat)) -> (Int) -> (Ptr CFloat) -> (Ptr CFloat) -> (Ptr (Complex CFloat)) -> (Int) -> (Ptr (Complex CFloat)) -> (Int) -> (Ptr (Complex CFloat)) -> (Int) -> IO ((Int))
cgbbrd a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 a15 a16 a17 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = fromIntegral a6} in 
  let {a7' = fromIntegral a7} in 
  let {a8' = castComplexToPtr a8} in 
  let {a9' = fromIntegral a9} in 
  let {a10' = id a10} in 
  let {a11' = id a11} in 
  let {a12' = castComplexToPtr a12} in 
  let {a13' = fromIntegral a13} in 
  let {a14' = castComplexToPtr a14} in 
  let {a15' = fromIntegral a15} in 
  let {a16' = castComplexToPtr a16} in 
  let {a17' = fromIntegral a17} in 
  cgbbrd'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' a12' a13' a14' a15' a16' a17' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 41 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

dgbbrd :: (Int) -> (CChar) -> (Int) -> (Int) -> (Int) -> (Int) -> (Int) -> (Ptr CDouble) -> (Int) -> (Ptr CDouble) -> (Ptr CDouble) -> (Ptr CDouble) -> (Int) -> (Ptr CDouble) -> (Int) -> (Ptr CDouble) -> (Int) -> IO ((Int))
dgbbrd a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 a15 a16 a17 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = fromIntegral a6} in 
  let {a7' = fromIntegral a7} in 
  let {a8' = id a8} in 
  let {a9' = fromIntegral a9} in 
  let {a10' = id a10} in 
  let {a11' = id a11} in 
  let {a12' = id a12} in 
  let {a13' = fromIntegral a13} in 
  let {a14' = id a14} in 
  let {a15' = fromIntegral a15} in 
  let {a16' = id a16} in 
  let {a17' = fromIntegral a17} in 
  dgbbrd'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' a12' a13' a14' a15' a16' a17' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 42 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

sgbbrd :: (Int) -> (CChar) -> (Int) -> (Int) -> (Int) -> (Int) -> (Int) -> (Ptr CFloat) -> (Int) -> (Ptr CFloat) -> (Ptr CFloat) -> (Ptr CFloat) -> (Int) -> (Ptr CFloat) -> (Int) -> (Ptr CFloat) -> (Int) -> IO ((Int))
sgbbrd a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 a15 a16 a17 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = fromIntegral a6} in 
  let {a7' = fromIntegral a7} in 
  let {a8' = id a8} in 
  let {a9' = fromIntegral a9} in 
  let {a10' = id a10} in 
  let {a11' = id a11} in 
  let {a12' = id a12} in 
  let {a13' = fromIntegral a13} in 
  let {a14' = id a14} in 
  let {a15' = fromIntegral a15} in 
  let {a16' = id a16} in 
  let {a17' = fromIntegral a17} in 
  sgbbrd'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' a12' a13' a14' a15' a16' a17' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 43 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

zgbbrd :: (Int) -> (CChar) -> (Int) -> (Int) -> (Int) -> (Int) -> (Int) -> (Ptr (Complex CDouble)) -> (Int) -> (Ptr CDouble) -> (Ptr CDouble) -> (Ptr (Complex CDouble)) -> (Int) -> (Ptr (Complex CDouble)) -> (Int) -> (Ptr (Complex CDouble)) -> (Int) -> IO ((Int))
zgbbrd a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 a15 a16 a17 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = fromIntegral a6} in 
  let {a7' = fromIntegral a7} in 
  let {a8' = castZomplexToPtr a8} in 
  let {a9' = fromIntegral a9} in 
  let {a10' = id a10} in 
  let {a11' = id a11} in 
  let {a12' = castZomplexToPtr a12} in 
  let {a13' = fromIntegral a13} in 
  let {a14' = castZomplexToPtr a14} in 
  let {a15' = fromIntegral a15} in 
  let {a16' = castZomplexToPtr a16} in 
  let {a17' = fromIntegral a17} in 
  zgbbrd'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' a12' a13' a14' a15' a16' a17' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 44 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

cgebrd :: (Int) -> (Int) -> (Int) -> (Ptr (Complex CFloat)) -> (Int) -> (Ptr CFloat) -> (Ptr CFloat) -> (Ptr (Complex CFloat)) -> (Ptr (Complex CFloat)) -> IO ((Int))
cgebrd a1 a2 a3 a4 a5 a6 a7 a8 a9 =
  let {a1' = fromIntegral a1} in 
  let {a2' = fromIntegral a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = castComplexToPtr a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = id a6} in 
  let {a7' = id a7} in 
  let {a8' = castComplexToPtr a8} in 
  let {a9' = castComplexToPtr a9} in 
  cgebrd'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 45 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

dgebrd :: (Int) -> (Int) -> (Int) -> (Ptr CDouble) -> (Int) -> (Ptr CDouble) -> (Ptr CDouble) -> (Ptr CDouble) -> (Ptr CDouble) -> IO ((Int))
dgebrd a1 a2 a3 a4 a5 a6 a7 a8 a9 =
  let {a1' = fromIntegral a1} in 
  let {a2' = fromIntegral a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = id a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = id a6} in 
  let {a7' = id a7} in 
  let {a8' = id a8} in 
  let {a9' = id a9} in 
  dgebrd'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 46 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

sgebrd :: (Int) -> (Int) -> (Int) -> (Ptr CFloat) -> (Int) -> (Ptr CFloat) -> (Ptr CFloat) -> (Ptr CFloat) -> (Ptr CFloat) -> IO ((Int))
sgebrd a1 a2 a3 a4 a5 a6 a7 a8 a9 =
  let {a1' = fromIntegral a1} in 
  let {a2' = fromIntegral a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = id a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = id a6} in 
  let {a7' = id a7} in 
  let {a8' = id a8} in 
  let {a9' = id a9} in 
  sgebrd'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 47 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

zgebrd :: (Int) -> (Int) -> (Int) -> (Ptr (Complex CDouble)) -> (Int) -> (Ptr CDouble) -> (Ptr CDouble) -> (Ptr (Complex CDouble)) -> (Ptr (Complex CDouble)) -> IO ((Int))
zgebrd a1 a2 a3 a4 a5 a6 a7 a8 a9 =
  let {a1' = fromIntegral a1} in 
  let {a2' = fromIntegral a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = castZomplexToPtr a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = id a6} in 
  let {a7' = id a7} in 
  let {a8' = castZomplexToPtr a8} in 
  let {a9' = castZomplexToPtr a9} in 
  zgebrd'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 48 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

cgebak :: (Int) -> (CChar) -> (CChar) -> (Int) -> (Int) -> (Int) -> (Ptr CFloat) -> (Int) -> (Ptr (Complex CFloat)) -> (Int) -> IO ((Int))
cgebak a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = castChar a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = fromIntegral a6} in 
  let {a7' = id a7} in 
  let {a8' = fromIntegral a8} in 
  let {a9' = castComplexToPtr a9} in 
  let {a10' = fromIntegral a10} in 
  cgebak'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 49 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

dgebak :: (Int) -> (CChar) -> (CChar) -> (Int) -> (Int) -> (Int) -> (Ptr CDouble) -> (Int) -> (Ptr CDouble) -> (Int) -> IO ((Int))
dgebak a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = castChar a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = fromIntegral a6} in 
  let {a7' = id a7} in 
  let {a8' = fromIntegral a8} in 
  let {a9' = id a9} in 
  let {a10' = fromIntegral a10} in 
  dgebak'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 50 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

sgebak :: (Int) -> (CChar) -> (CChar) -> (Int) -> (Int) -> (Int) -> (Ptr CFloat) -> (Int) -> (Ptr CFloat) -> (Int) -> IO ((Int))
sgebak a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = castChar a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = fromIntegral a6} in 
  let {a7' = id a7} in 
  let {a8' = fromIntegral a8} in 
  let {a9' = id a9} in 
  let {a10' = fromIntegral a10} in 
  sgebak'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 51 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

zgebak :: (Int) -> (CChar) -> (CChar) -> (Int) -> (Int) -> (Int) -> (Ptr CDouble) -> (Int) -> (Ptr (Complex CDouble)) -> (Int) -> IO ((Int))
zgebak a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = castChar a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = fromIntegral a6} in 
  let {a7' = id a7} in 
  let {a8' = fromIntegral a8} in 
  let {a9' = castZomplexToPtr a9} in 
  let {a10' = fromIntegral a10} in 
  zgebak'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 52 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

cgebal :: (Int) -> (CChar) -> (Int) -> (Ptr (Complex CFloat)) -> (Int) -> (Ptr CInt) -> (Ptr CInt) -> (Ptr CFloat) -> IO ((Int))
cgebal a1 a2 a3 a4 a5 a6 a7 a8 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = castComplexToPtr a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = id a6} in 
  let {a7' = id a7} in 
  let {a8' = id a8} in 
  cgebal'_ a1' a2' a3' a4' a5' a6' a7' a8' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 53 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

dgebal :: (Int) -> (CChar) -> (Int) -> (Ptr CDouble) -> (Int) -> (Ptr CInt) -> (Ptr CInt) -> (Ptr CDouble) -> IO ((Int))
dgebal a1 a2 a3 a4 a5 a6 a7 a8 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = id a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = id a6} in 
  let {a7' = id a7} in 
  let {a8' = id a8} in 
  dgebal'_ a1' a2' a3' a4' a5' a6' a7' a8' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 54 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

sgebal :: (Int) -> (CChar) -> (Int) -> (Ptr CFloat) -> (Int) -> (Ptr CInt) -> (Ptr CInt) -> (Ptr CFloat) -> IO ((Int))
sgebal a1 a2 a3 a4 a5 a6 a7 a8 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = id a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = id a6} in 
  let {a7' = id a7} in 
  let {a8' = id a8} in 
  sgebal'_ a1' a2' a3' a4' a5' a6' a7' a8' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 55 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

zgebal :: (Int) -> (CChar) -> (Int) -> (Ptr (Complex CDouble)) -> (Int) -> (Ptr CInt) -> (Ptr CInt) -> (Ptr CDouble) -> IO ((Int))
zgebal a1 a2 a3 a4 a5 a6 a7 a8 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = castZomplexToPtr a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = id a6} in 
  let {a7' = id a7} in 
  let {a8' = id a8} in 
  zgebal'_ a1' a2' a3' a4' a5' a6' a7' a8' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 56 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

cggbak :: (Int) -> (CChar) -> (CChar) -> (Int) -> (Int) -> (Int) -> (Ptr CFloat) -> (Ptr CFloat) -> (Int) -> (Ptr (Complex CFloat)) -> (Int) -> IO ((Int))
cggbak a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = castChar a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = fromIntegral a6} in 
  let {a7' = id a7} in 
  let {a8' = id a8} in 
  let {a9' = fromIntegral a9} in 
  let {a10' = castComplexToPtr a10} in 
  let {a11' = fromIntegral a11} in 
  cggbak'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 57 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

dggbak :: (Int) -> (CChar) -> (CChar) -> (Int) -> (Int) -> (Int) -> (Ptr CDouble) -> (Ptr CDouble) -> (Int) -> (Ptr CDouble) -> (Int) -> IO ((Int))
dggbak a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = castChar a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = fromIntegral a6} in 
  let {a7' = id a7} in 
  let {a8' = id a8} in 
  let {a9' = fromIntegral a9} in 
  let {a10' = id a10} in 
  let {a11' = fromIntegral a11} in 
  dggbak'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 58 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

sggbak :: (Int) -> (CChar) -> (CChar) -> (Int) -> (Int) -> (Int) -> (Ptr CFloat) -> (Ptr CFloat) -> (Int) -> (Ptr CFloat) -> (Int) -> IO ((Int))
sggbak a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = castChar a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = fromIntegral a6} in 
  let {a7' = id a7} in 
  let {a8' = id a8} in 
  let {a9' = fromIntegral a9} in 
  let {a10' = id a10} in 
  let {a11' = fromIntegral a11} in 
  sggbak'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 59 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

zggbak :: (Int) -> (CChar) -> (CChar) -> (Int) -> (Int) -> (Int) -> (Ptr CDouble) -> (Ptr CDouble) -> (Int) -> (Ptr (Complex CDouble)) -> (Int) -> IO ((Int))
zggbak a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = castChar a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = fromIntegral a6} in 
  let {a7' = id a7} in 
  let {a8' = id a8} in 
  let {a9' = fromIntegral a9} in 
  let {a10' = castZomplexToPtr a10} in 
  let {a11' = fromIntegral a11} in 
  zggbak'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 60 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

cggbal :: (Int) -> (CChar) -> (Int) -> (Ptr (Complex CFloat)) -> (Int) -> (Ptr (Complex CFloat)) -> (Int) -> (Ptr CInt) -> (Ptr CInt) -> (Ptr CFloat) -> (Ptr CFloat) -> IO ((Int))
cggbal a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = castComplexToPtr a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = castComplexToPtr a6} in 
  let {a7' = fromIntegral a7} in 
  let {a8' = id a8} in 
  let {a9' = id a9} in 
  let {a10' = id a10} in 
  let {a11' = id a11} in 
  cggbal'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 61 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

dggbal :: (Int) -> (CChar) -> (Int) -> (Ptr CDouble) -> (Int) -> (Ptr CDouble) -> (Int) -> (Ptr CInt) -> (Ptr CInt) -> (Ptr CDouble) -> (Ptr CDouble) -> IO ((Int))
dggbal a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = id a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = id a6} in 
  let {a7' = fromIntegral a7} in 
  let {a8' = id a8} in 
  let {a9' = id a9} in 
  let {a10' = id a10} in 
  let {a11' = id a11} in 
  dggbal'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 62 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

sggbal :: (Int) -> (CChar) -> (Int) -> (Ptr CFloat) -> (Int) -> (Ptr CFloat) -> (Int) -> (Ptr CInt) -> (Ptr CInt) -> (Ptr CFloat) -> (Ptr CFloat) -> IO ((Int))
sggbal a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = id a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = id a6} in 
  let {a7' = fromIntegral a7} in 
  let {a8' = id a8} in 
  let {a9' = id a9} in 
  let {a10' = id a10} in 
  let {a11' = id a11} in 
  sggbal'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 63 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

zggbal :: (Int) -> (CChar) -> (Int) -> (Ptr (Complex CDouble)) -> (Int) -> (Ptr (Complex CDouble)) -> (Int) -> (Ptr CInt) -> (Ptr CInt) -> (Ptr CDouble) -> (Ptr CDouble) -> IO ((Int))
zggbal a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = castZomplexToPtr a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = castZomplexToPtr a6} in 
  let {a7' = fromIntegral a7} in 
  let {a8' = id a8} in 
  let {a9' = id a9} in 
  let {a10' = id a10} in 
  let {a11' = id a11} in 
  zggbal'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 64 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

cgbcon :: (Int) -> (CChar) -> (Int) -> (Int) -> (Int) -> (Ptr (Complex CFloat)) -> (Int) -> (Ptr CInt) -> (CFloat) -> (Ptr CFloat) -> IO ((Int))
cgbcon a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = castComplexToPtr a6} in 
  let {a7' = fromIntegral a7} in 
  let {a8' = id a8} in 
  let {a9' = id a9} in 
  let {a10' = id a10} in 
  cgbcon'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 65 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

dgbcon :: (Int) -> (CChar) -> (Int) -> (Int) -> (Int) -> (Ptr CDouble) -> (Int) -> (Ptr CInt) -> (CDouble) -> (Ptr CDouble) -> IO ((Int))
dgbcon a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = id a6} in 
  let {a7' = fromIntegral a7} in 
  let {a8' = id a8} in 
  let {a9' = id a9} in 
  let {a10' = id a10} in 
  dgbcon'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 66 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

sgbcon :: (Int) -> (CChar) -> (Int) -> (Int) -> (Int) -> (Ptr CFloat) -> (Int) -> (Ptr CInt) -> (CFloat) -> (Ptr CFloat) -> IO ((Int))
sgbcon a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = id a6} in 
  let {a7' = fromIntegral a7} in 
  let {a8' = id a8} in 
  let {a9' = id a9} in 
  let {a10' = id a10} in 
  sgbcon'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 67 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

zgbcon :: (Int) -> (CChar) -> (Int) -> (Int) -> (Int) -> (Ptr (Complex CDouble)) -> (Int) -> (Ptr CInt) -> (CDouble) -> (Ptr CDouble) -> IO ((Int))
zgbcon a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = castZomplexToPtr a6} in 
  let {a7' = fromIntegral a7} in 
  let {a8' = id a8} in 
  let {a9' = id a9} in 
  let {a10' = id a10} in 
  zgbcon'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 68 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

cpbcon :: (Int) -> (CChar) -> (Int) -> (Int) -> (Ptr (Complex CFloat)) -> (Int) -> (CFloat) -> (Ptr CFloat) -> IO ((Int))
cpbcon a1 a2 a3 a4 a5 a6 a7 a8 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = castComplexToPtr a5} in 
  let {a6' = fromIntegral a6} in 
  let {a7' = id a7} in 
  let {a8' = id a8} in 
  cpbcon'_ a1' a2' a3' a4' a5' a6' a7' a8' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 69 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

dpbcon :: (Int) -> (CChar) -> (Int) -> (Int) -> (Ptr CDouble) -> (Int) -> (CDouble) -> (Ptr CDouble) -> IO ((Int))
dpbcon a1 a2 a3 a4 a5 a6 a7 a8 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = id a5} in 
  let {a6' = fromIntegral a6} in 
  let {a7' = id a7} in 
  let {a8' = id a8} in 
  dpbcon'_ a1' a2' a3' a4' a5' a6' a7' a8' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 70 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

spbcon :: (Int) -> (CChar) -> (Int) -> (Int) -> (Ptr CFloat) -> (Int) -> (CFloat) -> (Ptr CFloat) -> IO ((Int))
spbcon a1 a2 a3 a4 a5 a6 a7 a8 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = id a5} in 
  let {a6' = fromIntegral a6} in 
  let {a7' = id a7} in 
  let {a8' = id a8} in 
  spbcon'_ a1' a2' a3' a4' a5' a6' a7' a8' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 71 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

zpbcon :: (Int) -> (CChar) -> (Int) -> (Int) -> (Ptr (Complex CDouble)) -> (Int) -> (CDouble) -> (Ptr CDouble) -> IO ((Int))
zpbcon a1 a2 a3 a4 a5 a6 a7 a8 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = castZomplexToPtr a5} in 
  let {a6' = fromIntegral a6} in 
  let {a7' = id a7} in 
  let {a8' = id a8} in 
  zpbcon'_ a1' a2' a3' a4' a5' a6' a7' a8' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 72 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

ctbcon :: (Int) -> (CChar) -> (CChar) -> (CChar) -> (Int) -> (Int) -> (Ptr (Complex CFloat)) -> (Int) -> (Ptr CFloat) -> IO ((Int))
ctbcon a1 a2 a3 a4 a5 a6 a7 a8 a9 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = castChar a3} in 
  let {a4' = castChar a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = fromIntegral a6} in 
  let {a7' = castComplexToPtr a7} in 
  let {a8' = fromIntegral a8} in 
  let {a9' = id a9} in 
  ctbcon'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 73 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

dtbcon :: (Int) -> (CChar) -> (CChar) -> (CChar) -> (Int) -> (Int) -> (Ptr CDouble) -> (Int) -> (Ptr CDouble) -> IO ((Int))
dtbcon a1 a2 a3 a4 a5 a6 a7 a8 a9 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = castChar a3} in 
  let {a4' = castChar a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = fromIntegral a6} in 
  let {a7' = id a7} in 
  let {a8' = fromIntegral a8} in 
  let {a9' = id a9} in 
  dtbcon'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 74 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

stbcon :: (Int) -> (CChar) -> (CChar) -> (CChar) -> (Int) -> (Int) -> (Ptr CFloat) -> (Int) -> (Ptr CFloat) -> IO ((Int))
stbcon a1 a2 a3 a4 a5 a6 a7 a8 a9 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = castChar a3} in 
  let {a4' = castChar a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = fromIntegral a6} in 
  let {a7' = id a7} in 
  let {a8' = fromIntegral a8} in 
  let {a9' = id a9} in 
  stbcon'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 75 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

ztbcon :: (Int) -> (CChar) -> (CChar) -> (CChar) -> (Int) -> (Int) -> (Ptr (Complex CDouble)) -> (Int) -> (Ptr CDouble) -> IO ((Int))
ztbcon a1 a2 a3 a4 a5 a6 a7 a8 a9 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = castChar a3} in 
  let {a4' = castChar a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = fromIntegral a6} in 
  let {a7' = castZomplexToPtr a7} in 
  let {a8' = fromIntegral a8} in 
  let {a9' = id a9} in 
  ztbcon'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 76 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

cgecon :: (Int) -> (CChar) -> (Int) -> (Ptr (Complex CFloat)) -> (Int) -> (CFloat) -> (Ptr CFloat) -> IO ((Int))
cgecon a1 a2 a3 a4 a5 a6 a7 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = castComplexToPtr a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = id a6} in 
  let {a7' = id a7} in 
  cgecon'_ a1' a2' a3' a4' a5' a6' a7' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 77 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

dgecon :: (Int) -> (CChar) -> (Int) -> (Ptr CDouble) -> (Int) -> (CDouble) -> (Ptr CDouble) -> IO ((Int))
dgecon a1 a2 a3 a4 a5 a6 a7 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = id a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = id a6} in 
  let {a7' = id a7} in 
  dgecon'_ a1' a2' a3' a4' a5' a6' a7' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 78 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

sgecon :: (Int) -> (CChar) -> (Int) -> (Ptr CFloat) -> (Int) -> (CFloat) -> (Ptr CFloat) -> IO ((Int))
sgecon a1 a2 a3 a4 a5 a6 a7 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = id a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = id a6} in 
  let {a7' = id a7} in 
  sgecon'_ a1' a2' a3' a4' a5' a6' a7' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 79 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

zgecon :: (Int) -> (CChar) -> (Int) -> (Ptr (Complex CDouble)) -> (Int) -> (CDouble) -> (Ptr CDouble) -> IO ((Int))
zgecon a1 a2 a3 a4 a5 a6 a7 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = castZomplexToPtr a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = id a6} in 
  let {a7' = id a7} in 
  zgecon'_ a1' a2' a3' a4' a5' a6' a7' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 80 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

checon :: (Int) -> (CChar) -> (Int) -> (Ptr (Complex CFloat)) -> (Int) -> (Ptr CInt) -> (CFloat) -> (Ptr CFloat) -> IO ((Int))
checon a1 a2 a3 a4 a5 a6 a7 a8 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = castComplexToPtr a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = id a6} in 
  let {a7' = id a7} in 
  let {a8' = id a8} in 
  checon'_ a1' a2' a3' a4' a5' a6' a7' a8' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 81 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

zhecon :: (Int) -> (CChar) -> (Int) -> (Ptr (Complex CDouble)) -> (Int) -> (Ptr CInt) -> (CDouble) -> (Ptr CDouble) -> IO ((Int))
zhecon a1 a2 a3 a4 a5 a6 a7 a8 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = castZomplexToPtr a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = id a6} in 
  let {a7' = id a7} in 
  let {a8' = id a8} in 
  zhecon'_ a1' a2' a3' a4' a5' a6' a7' a8' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 82 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

cpocon :: (Int) -> (CChar) -> (Int) -> (Ptr (Complex CFloat)) -> (Int) -> (CFloat) -> (Ptr CFloat) -> IO ((Int))
cpocon a1 a2 a3 a4 a5 a6 a7 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = castComplexToPtr a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = id a6} in 
  let {a7' = id a7} in 
  cpocon'_ a1' a2' a3' a4' a5' a6' a7' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 83 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

dpocon :: (Int) -> (CChar) -> (Int) -> (Ptr CDouble) -> (Int) -> (CDouble) -> (Ptr CDouble) -> IO ((Int))
dpocon a1 a2 a3 a4 a5 a6 a7 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = id a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = id a6} in 
  let {a7' = id a7} in 
  dpocon'_ a1' a2' a3' a4' a5' a6' a7' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 84 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

spocon :: (Int) -> (CChar) -> (Int) -> (Ptr CFloat) -> (Int) -> (CFloat) -> (Ptr CFloat) -> IO ((Int))
spocon a1 a2 a3 a4 a5 a6 a7 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = id a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = id a6} in 
  let {a7' = id a7} in 
  spocon'_ a1' a2' a3' a4' a5' a6' a7' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 85 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

zpocon :: (Int) -> (CChar) -> (Int) -> (Ptr (Complex CDouble)) -> (Int) -> (CDouble) -> (Ptr CDouble) -> IO ((Int))
zpocon a1 a2 a3 a4 a5 a6 a7 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = castZomplexToPtr a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = id a6} in 
  let {a7' = id a7} in 
  zpocon'_ a1' a2' a3' a4' a5' a6' a7' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 86 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

chpcon :: (Int) -> (CChar) -> (Int) -> (Ptr (Complex CFloat)) -> (Ptr CInt) -> (CFloat) -> (Ptr CFloat) -> IO ((Int))
chpcon a1 a2 a3 a4 a5 a6 a7 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = castComplexToPtr a4} in 
  let {a5' = id a5} in 
  let {a6' = id a6} in 
  let {a7' = id a7} in 
  chpcon'_ a1' a2' a3' a4' a5' a6' a7' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 87 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

zhpcon :: (Int) -> (CChar) -> (Int) -> (Ptr (Complex CDouble)) -> (Ptr CInt) -> (CDouble) -> (Ptr CDouble) -> IO ((Int))
zhpcon a1 a2 a3 a4 a5 a6 a7 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = castZomplexToPtr a4} in 
  let {a5' = id a5} in 
  let {a6' = id a6} in 
  let {a7' = id a7} in 
  zhpcon'_ a1' a2' a3' a4' a5' a6' a7' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 88 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

cppcon :: (Int) -> (CChar) -> (Int) -> (Ptr (Complex CFloat)) -> (CFloat) -> (Ptr CFloat) -> IO ((Int))
cppcon a1 a2 a3 a4 a5 a6 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = castComplexToPtr a4} in 
  let {a5' = id a5} in 
  let {a6' = id a6} in 
  cppcon'_ a1' a2' a3' a4' a5' a6' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 89 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

dppcon :: (Int) -> (CChar) -> (Int) -> (Ptr CDouble) -> (CDouble) -> (Ptr CDouble) -> IO ((Int))
dppcon a1 a2 a3 a4 a5 a6 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = id a4} in 
  let {a5' = id a5} in 
  let {a6' = id a6} in 
  dppcon'_ a1' a2' a3' a4' a5' a6' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 90 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

sppcon :: (Int) -> (CChar) -> (Int) -> (Ptr CFloat) -> (CFloat) -> (Ptr CFloat) -> IO ((Int))
sppcon a1 a2 a3 a4 a5 a6 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = id a4} in 
  let {a5' = id a5} in 
  let {a6' = id a6} in 
  sppcon'_ a1' a2' a3' a4' a5' a6' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 91 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

zppcon :: (Int) -> (CChar) -> (Int) -> (Ptr (Complex CDouble)) -> (CDouble) -> (Ptr CDouble) -> IO ((Int))
zppcon a1 a2 a3 a4 a5 a6 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = castZomplexToPtr a4} in 
  let {a5' = id a5} in 
  let {a6' = id a6} in 
  zppcon'_ a1' a2' a3' a4' a5' a6' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 92 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

cspcon :: (Int) -> (CChar) -> (Int) -> (Ptr (Complex CFloat)) -> (Ptr CInt) -> (CFloat) -> (Ptr CFloat) -> IO ((Int))
cspcon a1 a2 a3 a4 a5 a6 a7 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = castComplexToPtr a4} in 
  let {a5' = id a5} in 
  let {a6' = id a6} in 
  let {a7' = id a7} in 
  cspcon'_ a1' a2' a3' a4' a5' a6' a7' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 93 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

dspcon :: (Int) -> (CChar) -> (Int) -> (Ptr CDouble) -> (Ptr CInt) -> (CDouble) -> (Ptr CDouble) -> IO ((Int))
dspcon a1 a2 a3 a4 a5 a6 a7 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = id a4} in 
  let {a5' = id a5} in 
  let {a6' = id a6} in 
  let {a7' = id a7} in 
  dspcon'_ a1' a2' a3' a4' a5' a6' a7' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 94 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

sspcon :: (Int) -> (CChar) -> (Int) -> (Ptr CFloat) -> (Ptr CInt) -> (CFloat) -> (Ptr CFloat) -> IO ((Int))
sspcon a1 a2 a3 a4 a5 a6 a7 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = id a4} in 
  let {a5' = id a5} in 
  let {a6' = id a6} in 
  let {a7' = id a7} in 
  sspcon'_ a1' a2' a3' a4' a5' a6' a7' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 95 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

zspcon :: (Int) -> (CChar) -> (Int) -> (Ptr (Complex CDouble)) -> (Ptr CInt) -> (CDouble) -> (Ptr CDouble) -> IO ((Int))
zspcon a1 a2 a3 a4 a5 a6 a7 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = castZomplexToPtr a4} in 
  let {a5' = id a5} in 
  let {a6' = id a6} in 
  let {a7' = id a7} in 
  zspcon'_ a1' a2' a3' a4' a5' a6' a7' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 96 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

ctpcon :: (Int) -> (CChar) -> (CChar) -> (CChar) -> (Int) -> (Ptr (Complex CFloat)) -> (Ptr CFloat) -> IO ((Int))
ctpcon a1 a2 a3 a4 a5 a6 a7 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = castChar a3} in 
  let {a4' = castChar a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = castComplexToPtr a6} in 
  let {a7' = id a7} in 
  ctpcon'_ a1' a2' a3' a4' a5' a6' a7' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 97 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

dtpcon :: (Int) -> (CChar) -> (CChar) -> (CChar) -> (Int) -> (Ptr CDouble) -> (Ptr CDouble) -> IO ((Int))
dtpcon a1 a2 a3 a4 a5 a6 a7 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = castChar a3} in 
  let {a4' = castChar a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = id a6} in 
  let {a7' = id a7} in 
  dtpcon'_ a1' a2' a3' a4' a5' a6' a7' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 98 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

stpcon :: (Int) -> (CChar) -> (CChar) -> (CChar) -> (Int) -> (Ptr CFloat) -> (Ptr CFloat) -> IO ((Int))
stpcon a1 a2 a3 a4 a5 a6 a7 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = castChar a3} in 
  let {a4' = castChar a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = id a6} in 
  let {a7' = id a7} in 
  stpcon'_ a1' a2' a3' a4' a5' a6' a7' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 99 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

ztpcon :: (Int) -> (CChar) -> (CChar) -> (CChar) -> (Int) -> (Ptr (Complex CDouble)) -> (Ptr CDouble) -> IO ((Int))
ztpcon a1 a2 a3 a4 a5 a6 a7 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = castChar a3} in 
  let {a4' = castChar a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = castZomplexToPtr a6} in 
  let {a7' = id a7} in 
  ztpcon'_ a1' a2' a3' a4' a5' a6' a7' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 100 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

ctrcon :: (Int) -> (CChar) -> (CChar) -> (CChar) -> (Int) -> (Ptr (Complex CFloat)) -> (Int) -> (Ptr CFloat) -> IO ((Int))
ctrcon a1 a2 a3 a4 a5 a6 a7 a8 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = castChar a3} in 
  let {a4' = castChar a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = castComplexToPtr a6} in 
  let {a7' = fromIntegral a7} in 
  let {a8' = id a8} in 
  ctrcon'_ a1' a2' a3' a4' a5' a6' a7' a8' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 101 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

dtrcon :: (Int) -> (CChar) -> (CChar) -> (CChar) -> (Int) -> (Ptr CDouble) -> (Int) -> (Ptr CDouble) -> IO ((Int))
dtrcon a1 a2 a3 a4 a5 a6 a7 a8 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = castChar a3} in 
  let {a4' = castChar a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = id a6} in 
  let {a7' = fromIntegral a7} in 
  let {a8' = id a8} in 
  dtrcon'_ a1' a2' a3' a4' a5' a6' a7' a8' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 102 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

strcon :: (Int) -> (CChar) -> (CChar) -> (CChar) -> (Int) -> (Ptr CFloat) -> (Int) -> (Ptr CFloat) -> IO ((Int))
strcon a1 a2 a3 a4 a5 a6 a7 a8 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = castChar a3} in 
  let {a4' = castChar a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = id a6} in 
  let {a7' = fromIntegral a7} in 
  let {a8' = id a8} in 
  strcon'_ a1' a2' a3' a4' a5' a6' a7' a8' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 103 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

ztrcon :: (Int) -> (CChar) -> (CChar) -> (CChar) -> (Int) -> (Ptr (Complex CDouble)) -> (Int) -> (Ptr CDouble) -> IO ((Int))
ztrcon a1 a2 a3 a4 a5 a6 a7 a8 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = castChar a3} in 
  let {a4' = castChar a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = castZomplexToPtr a6} in 
  let {a7' = fromIntegral a7} in 
  let {a8' = id a8} in 
  ztrcon'_ a1' a2' a3' a4' a5' a6' a7' a8' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 104 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

cgtcon :: (CChar) -> (Int) -> (Ptr (Complex CFloat)) -> (Ptr (Complex CFloat)) -> (Ptr (Complex CFloat)) -> (Ptr (Complex CFloat)) -> (Ptr CInt) -> (CFloat) -> (Ptr CFloat) -> IO ((Int))
cgtcon a1 a2 a3 a4 a5 a6 a7 a8 a9 =
  let {a1' = castChar a1} in 
  let {a2' = fromIntegral a2} in 
  let {a3' = castComplexToPtr a3} in 
  let {a4' = castComplexToPtr a4} in 
  let {a5' = castComplexToPtr a5} in 
  let {a6' = castComplexToPtr a6} in 
  let {a7' = id a7} in 
  let {a8' = id a8} in 
  let {a9' = id a9} in 
  cgtcon'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 105 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

dgtcon :: (CChar) -> (Int) -> (Ptr CDouble) -> (Ptr CDouble) -> (Ptr CDouble) -> (Ptr CDouble) -> (Ptr CInt) -> (CDouble) -> (Ptr CDouble) -> IO ((Int))
dgtcon a1 a2 a3 a4 a5 a6 a7 a8 a9 =
  let {a1' = castChar a1} in 
  let {a2' = fromIntegral a2} in 
  let {a3' = id a3} in 
  let {a4' = id a4} in 
  let {a5' = id a5} in 
  let {a6' = id a6} in 
  let {a7' = id a7} in 
  let {a8' = id a8} in 
  let {a9' = id a9} in 
  dgtcon'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 106 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

sgtcon :: (CChar) -> (Int) -> (Ptr CFloat) -> (Ptr CFloat) -> (Ptr CFloat) -> (Ptr CFloat) -> (Ptr CInt) -> (CFloat) -> (Ptr CFloat) -> IO ((Int))
sgtcon a1 a2 a3 a4 a5 a6 a7 a8 a9 =
  let {a1' = castChar a1} in 
  let {a2' = fromIntegral a2} in 
  let {a3' = id a3} in 
  let {a4' = id a4} in 
  let {a5' = id a5} in 
  let {a6' = id a6} in 
  let {a7' = id a7} in 
  let {a8' = id a8} in 
  let {a9' = id a9} in 
  sgtcon'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 107 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

zgtcon :: (CChar) -> (Int) -> (Ptr (Complex CDouble)) -> (Ptr (Complex CDouble)) -> (Ptr (Complex CDouble)) -> (Ptr (Complex CDouble)) -> (Ptr CInt) -> (CDouble) -> (Ptr CDouble) -> IO ((Int))
zgtcon a1 a2 a3 a4 a5 a6 a7 a8 a9 =
  let {a1' = castChar a1} in 
  let {a2' = fromIntegral a2} in 
  let {a3' = castZomplexToPtr a3} in 
  let {a4' = castZomplexToPtr a4} in 
  let {a5' = castZomplexToPtr a5} in 
  let {a6' = castZomplexToPtr a6} in 
  let {a7' = id a7} in 
  let {a8' = id a8} in 
  let {a9' = id a9} in 
  zgtcon'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 108 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

cptcon :: (Int) -> (Ptr CFloat) -> (Ptr (Complex CFloat)) -> (CFloat) -> (Ptr CFloat) -> IO ((Int))
cptcon a1 a2 a3 a4 a5 =
  let {a1' = fromIntegral a1} in 
  let {a2' = id a2} in 
  let {a3' = castComplexToPtr a3} in 
  let {a4' = id a4} in 
  let {a5' = id a5} in 
  cptcon'_ a1' a2' a3' a4' a5' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 109 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

dptcon :: (Int) -> (Ptr CDouble) -> (Ptr CDouble) -> (CDouble) -> (Ptr CDouble) -> IO ((Int))
dptcon a1 a2 a3 a4 a5 =
  let {a1' = fromIntegral a1} in 
  let {a2' = id a2} in 
  let {a3' = id a3} in 
  let {a4' = id a4} in 
  let {a5' = id a5} in 
  dptcon'_ a1' a2' a3' a4' a5' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 110 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

sptcon :: (Int) -> (Ptr CFloat) -> (Ptr CFloat) -> (CFloat) -> (Ptr CFloat) -> IO ((Int))
sptcon a1 a2 a3 a4 a5 =
  let {a1' = fromIntegral a1} in 
  let {a2' = id a2} in 
  let {a3' = id a3} in 
  let {a4' = id a4} in 
  let {a5' = id a5} in 
  sptcon'_ a1' a2' a3' a4' a5' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 111 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

zptcon :: (Int) -> (Ptr CDouble) -> (Ptr (Complex CDouble)) -> (CDouble) -> (Ptr CDouble) -> IO ((Int))
zptcon a1 a2 a3 a4 a5 =
  let {a1' = fromIntegral a1} in 
  let {a2' = id a2} in 
  let {a3' = castZomplexToPtr a3} in 
  let {a4' = id a4} in 
  let {a5' = id a5} in 
  zptcon'_ a1' a2' a3' a4' a5' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 112 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

csycon :: (Int) -> (CChar) -> (Int) -> (Ptr (Complex CFloat)) -> (Int) -> (Ptr CInt) -> (CFloat) -> (Ptr CFloat) -> IO ((Int))
csycon a1 a2 a3 a4 a5 a6 a7 a8 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = castComplexToPtr a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = id a6} in 
  let {a7' = id a7} in 
  let {a8' = id a8} in 
  csycon'_ a1' a2' a3' a4' a5' a6' a7' a8' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 113 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

dsycon :: (Int) -> (CChar) -> (Int) -> (Ptr CDouble) -> (Int) -> (Ptr CInt) -> (CDouble) -> (Ptr CDouble) -> IO ((Int))
dsycon a1 a2 a3 a4 a5 a6 a7 a8 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = id a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = id a6} in 
  let {a7' = id a7} in 
  let {a8' = id a8} in 
  dsycon'_ a1' a2' a3' a4' a5' a6' a7' a8' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 114 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

ssycon :: (Int) -> (CChar) -> (Int) -> (Ptr CFloat) -> (Int) -> (Ptr CInt) -> (CFloat) -> (Ptr CFloat) -> IO ((Int))
ssycon a1 a2 a3 a4 a5 a6 a7 a8 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = id a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = id a6} in 
  let {a7' = id a7} in 
  let {a8' = id a8} in 
  ssycon'_ a1' a2' a3' a4' a5' a6' a7' a8' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 115 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

zsycon :: (Int) -> (CChar) -> (Int) -> (Ptr (Complex CDouble)) -> (Int) -> (Ptr CInt) -> (CDouble) -> (Ptr CDouble) -> IO ((Int))
zsycon a1 a2 a3 a4 a5 a6 a7 a8 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = castZomplexToPtr a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = id a6} in 
  let {a7' = id a7} in 
  let {a8' = id a8} in 
  zsycon'_ a1' a2' a3' a4' a5' a6' a7' a8' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 116 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

chbev :: (Int) -> (CChar) -> (CChar) -> (Int) -> (Int) -> (Ptr (Complex CFloat)) -> (Int) -> (Ptr CFloat) -> (Ptr (Complex CFloat)) -> (Int) -> IO ((Int))
chbev a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = castChar a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = castComplexToPtr a6} in 
  let {a7' = fromIntegral a7} in 
  let {a8' = id a8} in 
  let {a9' = castComplexToPtr a9} in 
  let {a10' = fromIntegral a10} in 
  chbev'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 117 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

zhbev :: (Int) -> (CChar) -> (CChar) -> (Int) -> (Int) -> (Ptr (Complex CDouble)) -> (Int) -> (Ptr CDouble) -> (Ptr (Complex CDouble)) -> (Int) -> IO ((Int))
zhbev a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = castChar a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = castZomplexToPtr a6} in 
  let {a7' = fromIntegral a7} in 
  let {a8' = id a8} in 
  let {a9' = castZomplexToPtr a9} in 
  let {a10' = fromIntegral a10} in 
  zhbev'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 118 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

dsbev :: (Int) -> (CChar) -> (CChar) -> (Int) -> (Int) -> (Ptr CDouble) -> (Int) -> (Ptr CDouble) -> (Ptr CDouble) -> (Int) -> IO ((Int))
dsbev a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = castChar a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = id a6} in 
  let {a7' = fromIntegral a7} in 
  let {a8' = id a8} in 
  let {a9' = id a9} in 
  let {a10' = fromIntegral a10} in 
  dsbev'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 119 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

ssbev :: (Int) -> (CChar) -> (CChar) -> (Int) -> (Int) -> (Ptr CFloat) -> (Int) -> (Ptr CFloat) -> (Ptr CFloat) -> (Int) -> IO ((Int))
ssbev a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = castChar a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = id a6} in 
  let {a7' = fromIntegral a7} in 
  let {a8' = id a8} in 
  let {a9' = id a9} in 
  let {a10' = fromIntegral a10} in 
  ssbev'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 120 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

chbevd :: (Int) -> (CChar) -> (CChar) -> (Int) -> (Int) -> (Ptr (Complex CFloat)) -> (Int) -> (Ptr CFloat) -> (Ptr (Complex CFloat)) -> (Int) -> IO ((Int))
chbevd a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = castChar a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = castComplexToPtr a6} in 
  let {a7' = fromIntegral a7} in 
  let {a8' = id a8} in 
  let {a9' = castComplexToPtr a9} in 
  let {a10' = fromIntegral a10} in 
  chbevd'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 121 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

zhbevd :: (Int) -> (CChar) -> (CChar) -> (Int) -> (Int) -> (Ptr (Complex CDouble)) -> (Int) -> (Ptr CDouble) -> (Ptr (Complex CDouble)) -> (Int) -> IO ((Int))
zhbevd a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = castChar a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = castZomplexToPtr a6} in 
  let {a7' = fromIntegral a7} in 
  let {a8' = id a8} in 
  let {a9' = castZomplexToPtr a9} in 
  let {a10' = fromIntegral a10} in 
  zhbevd'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 122 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

dsbevd :: (Int) -> (CChar) -> (CChar) -> (Int) -> (Int) -> (Ptr CDouble) -> (Int) -> (Ptr CDouble) -> (Ptr CDouble) -> (Int) -> IO ((Int))
dsbevd a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = castChar a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = id a6} in 
  let {a7' = fromIntegral a7} in 
  let {a8' = id a8} in 
  let {a9' = id a9} in 
  let {a10' = fromIntegral a10} in 
  dsbevd'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 123 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

ssbevd :: (Int) -> (CChar) -> (CChar) -> (Int) -> (Int) -> (Ptr CFloat) -> (Int) -> (Ptr CFloat) -> (Ptr CFloat) -> (Int) -> IO ((Int))
ssbevd a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = castChar a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = id a6} in 
  let {a7' = fromIntegral a7} in 
  let {a8' = id a8} in 
  let {a9' = id a9} in 
  let {a10' = fromIntegral a10} in 
  ssbevd'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 124 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

cgbequ :: (Int) -> (Int) -> (Int) -> (Int) -> (Int) -> (Ptr (Complex CFloat)) -> (Int) -> (Ptr CFloat) -> (Ptr CFloat) -> (Ptr CFloat) -> (Ptr CFloat) -> (Ptr CFloat) -> IO ((Int))
cgbequ a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 =
  let {a1' = fromIntegral a1} in 
  let {a2' = fromIntegral a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = castComplexToPtr a6} in 
  let {a7' = fromIntegral a7} in 
  let {a8' = id a8} in 
  let {a9' = id a9} in 
  let {a10' = id a10} in 
  let {a11' = id a11} in 
  let {a12' = id a12} in 
  cgbequ'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' a12' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 125 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

dgbequ :: (Int) -> (Int) -> (Int) -> (Int) -> (Int) -> (Ptr CDouble) -> (Int) -> (Ptr CDouble) -> (Ptr CDouble) -> (Ptr CDouble) -> (Ptr CDouble) -> (Ptr CDouble) -> IO ((Int))
dgbequ a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 =
  let {a1' = fromIntegral a1} in 
  let {a2' = fromIntegral a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = id a6} in 
  let {a7' = fromIntegral a7} in 
  let {a8' = id a8} in 
  let {a9' = id a9} in 
  let {a10' = id a10} in 
  let {a11' = id a11} in 
  let {a12' = id a12} in 
  dgbequ'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' a12' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 126 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

sgbequ :: (Int) -> (Int) -> (Int) -> (Int) -> (Int) -> (Ptr CFloat) -> (Int) -> (Ptr CFloat) -> (Ptr CFloat) -> (Ptr CFloat) -> (Ptr CFloat) -> (Ptr CFloat) -> IO ((Int))
sgbequ a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 =
  let {a1' = fromIntegral a1} in 
  let {a2' = fromIntegral a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = id a6} in 
  let {a7' = fromIntegral a7} in 
  let {a8' = id a8} in 
  let {a9' = id a9} in 
  let {a10' = id a10} in 
  let {a11' = id a11} in 
  let {a12' = id a12} in 
  sgbequ'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' a12' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 127 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

zgbequ :: (Int) -> (Int) -> (Int) -> (Int) -> (Int) -> (Ptr (Complex CDouble)) -> (Int) -> (Ptr CDouble) -> (Ptr CDouble) -> (Ptr CDouble) -> (Ptr CDouble) -> (Ptr CDouble) -> IO ((Int))
zgbequ a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 =
  let {a1' = fromIntegral a1} in 
  let {a2' = fromIntegral a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = castZomplexToPtr a6} in 
  let {a7' = fromIntegral a7} in 
  let {a8' = id a8} in 
  let {a9' = id a9} in 
  let {a10' = id a10} in 
  let {a11' = id a11} in 
  let {a12' = id a12} in 
  zgbequ'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' a12' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 128 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

chbevx :: (Int) -> (CChar) -> (CChar) -> (CChar) -> (Int) -> (Int) -> (Ptr (Complex CFloat)) -> (Int) -> (Ptr (Complex CFloat)) -> (Int) -> (CFloat) -> (CFloat) -> (Int) -> (Int) -> (CFloat) -> (Ptr CInt) -> (Ptr CFloat) -> (Ptr (Complex CFloat)) -> (Int) -> (Ptr CInt) -> IO ((Int))
chbevx a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 a15 a16 a17 a18 a19 a20 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = castChar a3} in 
  let {a4' = castChar a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = fromIntegral a6} in 
  let {a7' = castComplexToPtr a7} in 
  let {a8' = fromIntegral a8} in 
  let {a9' = castComplexToPtr a9} in 
  let {a10' = fromIntegral a10} in 
  let {a11' = id a11} in 
  let {a12' = id a12} in 
  let {a13' = fromIntegral a13} in 
  let {a14' = fromIntegral a14} in 
  let {a15' = id a15} in 
  let {a16' = id a16} in 
  let {a17' = id a17} in 
  let {a18' = castComplexToPtr a18} in 
  let {a19' = fromIntegral a19} in 
  let {a20' = id a20} in 
  chbevx'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' a12' a13' a14' a15' a16' a17' a18' a19' a20' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 129 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

zhbevx :: (Int) -> (CChar) -> (CChar) -> (CChar) -> (Int) -> (Int) -> (Ptr (Complex CDouble)) -> (Int) -> (Ptr (Complex CDouble)) -> (Int) -> (CDouble) -> (CDouble) -> (Int) -> (Int) -> (CDouble) -> (Ptr CInt) -> (Ptr CDouble) -> (Ptr (Complex CDouble)) -> (Int) -> (Ptr CInt) -> IO ((Int))
zhbevx a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 a15 a16 a17 a18 a19 a20 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = castChar a3} in 
  let {a4' = castChar a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = fromIntegral a6} in 
  let {a7' = castZomplexToPtr a7} in 
  let {a8' = fromIntegral a8} in 
  let {a9' = castZomplexToPtr a9} in 
  let {a10' = fromIntegral a10} in 
  let {a11' = id a11} in 
  let {a12' = id a12} in 
  let {a13' = fromIntegral a13} in 
  let {a14' = fromIntegral a14} in 
  let {a15' = id a15} in 
  let {a16' = id a16} in 
  let {a17' = id a17} in 
  let {a18' = castZomplexToPtr a18} in 
  let {a19' = fromIntegral a19} in 
  let {a20' = id a20} in 
  zhbevx'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' a12' a13' a14' a15' a16' a17' a18' a19' a20' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 130 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

cpbequ :: (Int) -> (CChar) -> (Int) -> (Int) -> (Ptr (Complex CFloat)) -> (Int) -> (Ptr CFloat) -> (Ptr CFloat) -> (Ptr CFloat) -> IO ((Int))
cpbequ a1 a2 a3 a4 a5 a6 a7 a8 a9 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = castComplexToPtr a5} in 
  let {a6' = fromIntegral a6} in 
  let {a7' = id a7} in 
  let {a8' = id a8} in 
  let {a9' = id a9} in 
  cpbequ'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 131 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

dpbequ :: (Int) -> (CChar) -> (Int) -> (Int) -> (Ptr CDouble) -> (Int) -> (Ptr CDouble) -> (Ptr CDouble) -> (Ptr CDouble) -> IO ((Int))
dpbequ a1 a2 a3 a4 a5 a6 a7 a8 a9 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = id a5} in 
  let {a6' = fromIntegral a6} in 
  let {a7' = id a7} in 
  let {a8' = id a8} in 
  let {a9' = id a9} in 
  dpbequ'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 132 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

spbequ :: (Int) -> (CChar) -> (Int) -> (Int) -> (Ptr CFloat) -> (Int) -> (Ptr CFloat) -> (Ptr CFloat) -> (Ptr CFloat) -> IO ((Int))
spbequ a1 a2 a3 a4 a5 a6 a7 a8 a9 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = id a5} in 
  let {a6' = fromIntegral a6} in 
  let {a7' = id a7} in 
  let {a8' = id a8} in 
  let {a9' = id a9} in 
  spbequ'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 133 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

zpbequ :: (Int) -> (CChar) -> (Int) -> (Int) -> (Ptr (Complex CDouble)) -> (Int) -> (Ptr CDouble) -> (Ptr CDouble) -> (Ptr CDouble) -> IO ((Int))
zpbequ a1 a2 a3 a4 a5 a6 a7 a8 a9 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = castZomplexToPtr a5} in 
  let {a6' = fromIntegral a6} in 
  let {a7' = id a7} in 
  let {a8' = id a8} in 
  let {a9' = id a9} in 
  zpbequ'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 134 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

dsbevx :: (Int) -> (CChar) -> (CChar) -> (CChar) -> (Int) -> (Int) -> (Ptr CDouble) -> (Int) -> (Ptr CDouble) -> (Int) -> (CDouble) -> (CDouble) -> (Int) -> (Int) -> (CDouble) -> (Ptr CInt) -> (Ptr CDouble) -> (Ptr CDouble) -> (Int) -> (Ptr CInt) -> IO ((Int))
dsbevx a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 a15 a16 a17 a18 a19 a20 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = castChar a3} in 
  let {a4' = castChar a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = fromIntegral a6} in 
  let {a7' = id a7} in 
  let {a8' = fromIntegral a8} in 
  let {a9' = id a9} in 
  let {a10' = fromIntegral a10} in 
  let {a11' = id a11} in 
  let {a12' = id a12} in 
  let {a13' = fromIntegral a13} in 
  let {a14' = fromIntegral a14} in 
  let {a15' = id a15} in 
  let {a16' = id a16} in 
  let {a17' = id a17} in 
  let {a18' = id a18} in 
  let {a19' = fromIntegral a19} in 
  let {a20' = id a20} in 
  dsbevx'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' a12' a13' a14' a15' a16' a17' a18' a19' a20' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 135 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

ssbevx :: (Int) -> (CChar) -> (CChar) -> (CChar) -> (Int) -> (Int) -> (Ptr CFloat) -> (Int) -> (Ptr CFloat) -> (Int) -> (CFloat) -> (CFloat) -> (Int) -> (Int) -> (CFloat) -> (Ptr CInt) -> (Ptr CFloat) -> (Ptr CFloat) -> (Int) -> (Ptr CInt) -> IO ((Int))
ssbevx a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 a15 a16 a17 a18 a19 a20 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = castChar a3} in 
  let {a4' = castChar a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = fromIntegral a6} in 
  let {a7' = id a7} in 
  let {a8' = fromIntegral a8} in 
  let {a9' = id a9} in 
  let {a10' = fromIntegral a10} in 
  let {a11' = id a11} in 
  let {a12' = id a12} in 
  let {a13' = fromIntegral a13} in 
  let {a14' = fromIntegral a14} in 
  let {a15' = id a15} in 
  let {a16' = id a16} in 
  let {a17' = id a17} in 
  let {a18' = id a18} in 
  let {a19' = fromIntegral a19} in 
  let {a20' = id a20} in 
  ssbevx'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' a12' a13' a14' a15' a16' a17' a18' a19' a20' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 136 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

cgeev :: (Int) -> (CChar) -> (CChar) -> (Int) -> (Ptr (Complex CFloat)) -> (Int) -> (Ptr (Complex CFloat)) -> (Ptr (Complex CFloat)) -> (Int) -> (Ptr (Complex CFloat)) -> (Int) -> IO ((Int))
cgeev a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = castChar a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = castComplexToPtr a5} in 
  let {a6' = fromIntegral a6} in 
  let {a7' = castComplexToPtr a7} in 
  let {a8' = castComplexToPtr a8} in 
  let {a9' = fromIntegral a9} in 
  let {a10' = castComplexToPtr a10} in 
  let {a11' = fromIntegral a11} in 
  cgeev'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 137 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

dgeev :: (Int) -> (CChar) -> (CChar) -> (Int) -> (Ptr CDouble) -> (Int) -> (Ptr CDouble) -> (Ptr CDouble) -> (Ptr CDouble) -> (Int) -> (Ptr CDouble) -> (Int) -> IO ((Int))
dgeev a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = castChar a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = id a5} in 
  let {a6' = fromIntegral a6} in 
  let {a7' = id a7} in 
  let {a8' = id a8} in 
  let {a9' = id a9} in 
  let {a10' = fromIntegral a10} in 
  let {a11' = id a11} in 
  let {a12' = fromIntegral a12} in 
  dgeev'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' a12' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 138 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

sgeev :: (Int) -> (CChar) -> (CChar) -> (Int) -> (Ptr CFloat) -> (Int) -> (Ptr CFloat) -> (Ptr CFloat) -> (Ptr CFloat) -> (Int) -> (Ptr CFloat) -> (Int) -> IO ((Int))
sgeev a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = castChar a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = id a5} in 
  let {a6' = fromIntegral a6} in 
  let {a7' = id a7} in 
  let {a8' = id a8} in 
  let {a9' = id a9} in 
  let {a10' = fromIntegral a10} in 
  let {a11' = id a11} in 
  let {a12' = fromIntegral a12} in 
  sgeev'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' a12' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 139 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

zgeev :: (Int) -> (CChar) -> (CChar) -> (Int) -> (Ptr (Complex CDouble)) -> (Int) -> (Ptr (Complex CDouble)) -> (Ptr (Complex CDouble)) -> (Int) -> (Ptr (Complex CDouble)) -> (Int) -> IO ((Int))
zgeev a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = castChar a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = castZomplexToPtr a5} in 
  let {a6' = fromIntegral a6} in 
  let {a7' = castZomplexToPtr a7} in 
  let {a8' = castZomplexToPtr a8} in 
  let {a9' = fromIntegral a9} in 
  let {a10' = castZomplexToPtr a10} in 
  let {a11' = fromIntegral a11} in 
  zgeev'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 140 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

cheev :: (Int) -> (CChar) -> (CChar) -> (Int) -> (Ptr (Complex CFloat)) -> (Int) -> (Ptr CFloat) -> IO ((Int))
cheev a1 a2 a3 a4 a5 a6 a7 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = castChar a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = castComplexToPtr a5} in 
  let {a6' = fromIntegral a6} in 
  let {a7' = id a7} in 
  cheev'_ a1' a2' a3' a4' a5' a6' a7' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 141 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

zheev :: (Int) -> (CChar) -> (CChar) -> (Int) -> (Ptr (Complex CDouble)) -> (Int) -> (Ptr CDouble) -> IO ((Int))
zheev a1 a2 a3 a4 a5 a6 a7 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = castChar a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = castZomplexToPtr a5} in 
  let {a6' = fromIntegral a6} in 
  let {a7' = id a7} in 
  zheev'_ a1' a2' a3' a4' a5' a6' a7' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 142 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

cheevd :: (Int) -> (CChar) -> (CChar) -> (Int) -> (Ptr (Complex CFloat)) -> (Int) -> (Ptr CFloat) -> IO ((Int))
cheevd a1 a2 a3 a4 a5 a6 a7 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = castChar a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = castComplexToPtr a5} in 
  let {a6' = fromIntegral a6} in 
  let {a7' = id a7} in 
  cheevd'_ a1' a2' a3' a4' a5' a6' a7' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 143 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

zheevd :: (Int) -> (CChar) -> (CChar) -> (Int) -> (Ptr (Complex CDouble)) -> (Int) -> (Ptr CDouble) -> IO ((Int))
zheevd a1 a2 a3 a4 a5 a6 a7 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = castChar a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = castZomplexToPtr a5} in 
  let {a6' = fromIntegral a6} in 
  let {a7' = id a7} in 
  zheevd'_ a1' a2' a3' a4' a5' a6' a7' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 144 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

cheevr :: (Int) -> (CChar) -> (CChar) -> (CChar) -> (Int) -> (Ptr (Complex CFloat)) -> (Int) -> (CFloat) -> (CFloat) -> (Int) -> (Int) -> (CFloat) -> (Ptr CInt) -> (Ptr CFloat) -> (Ptr (Complex CFloat)) -> (Int) -> (Ptr CInt) -> IO ((Int))
cheevr a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 a15 a16 a17 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = castChar a3} in 
  let {a4' = castChar a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = castComplexToPtr a6} in 
  let {a7' = fromIntegral a7} in 
  let {a8' = id a8} in 
  let {a9' = id a9} in 
  let {a10' = fromIntegral a10} in 
  let {a11' = fromIntegral a11} in 
  let {a12' = id a12} in 
  let {a13' = id a13} in 
  let {a14' = id a14} in 
  let {a15' = castComplexToPtr a15} in 
  let {a16' = fromIntegral a16} in 
  let {a17' = id a17} in 
  cheevr'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' a12' a13' a14' a15' a16' a17' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 145 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

zheevr :: (Int) -> (CChar) -> (CChar) -> (CChar) -> (Int) -> (Ptr (Complex CDouble)) -> (Int) -> (CDouble) -> (CDouble) -> (Int) -> (Int) -> (CDouble) -> (Ptr CInt) -> (Ptr CDouble) -> (Ptr (Complex CDouble)) -> (Int) -> (Ptr CInt) -> IO ((Int))
zheevr a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 a15 a16 a17 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = castChar a3} in 
  let {a4' = castChar a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = castZomplexToPtr a6} in 
  let {a7' = fromIntegral a7} in 
  let {a8' = id a8} in 
  let {a9' = id a9} in 
  let {a10' = fromIntegral a10} in 
  let {a11' = fromIntegral a11} in 
  let {a12' = id a12} in 
  let {a13' = id a13} in 
  let {a14' = id a14} in 
  let {a15' = castZomplexToPtr a15} in 
  let {a16' = fromIntegral a16} in 
  let {a17' = id a17} in 
  zheevr'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' a12' a13' a14' a15' a16' a17' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 146 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

cgeequ :: (Int) -> (Int) -> (Int) -> (Ptr (Complex CFloat)) -> (Int) -> (Ptr CFloat) -> (Ptr CFloat) -> (Ptr CFloat) -> (Ptr CFloat) -> (Ptr CFloat) -> IO ((Int))
cgeequ a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 =
  let {a1' = fromIntegral a1} in 
  let {a2' = fromIntegral a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = castComplexToPtr a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = id a6} in 
  let {a7' = id a7} in 
  let {a8' = id a8} in 
  let {a9' = id a9} in 
  let {a10' = id a10} in 
  cgeequ'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 147 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

dgeequ :: (Int) -> (Int) -> (Int) -> (Ptr CDouble) -> (Int) -> (Ptr CDouble) -> (Ptr CDouble) -> (Ptr CDouble) -> (Ptr CDouble) -> (Ptr CDouble) -> IO ((Int))
dgeequ a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 =
  let {a1' = fromIntegral a1} in 
  let {a2' = fromIntegral a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = id a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = id a6} in 
  let {a7' = id a7} in 
  let {a8' = id a8} in 
  let {a9' = id a9} in 
  let {a10' = id a10} in 
  dgeequ'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 148 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

sgeequ :: (Int) -> (Int) -> (Int) -> (Ptr CFloat) -> (Int) -> (Ptr CFloat) -> (Ptr CFloat) -> (Ptr CFloat) -> (Ptr CFloat) -> (Ptr CFloat) -> IO ((Int))
sgeequ a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 =
  let {a1' = fromIntegral a1} in 
  let {a2' = fromIntegral a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = id a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = id a6} in 
  let {a7' = id a7} in 
  let {a8' = id a8} in 
  let {a9' = id a9} in 
  let {a10' = id a10} in 
  sgeequ'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 149 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

zgeequ :: (Int) -> (Int) -> (Int) -> (Ptr (Complex CDouble)) -> (Int) -> (Ptr CDouble) -> (Ptr CDouble) -> (Ptr CDouble) -> (Ptr CDouble) -> (Ptr CDouble) -> IO ((Int))
zgeequ a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 =
  let {a1' = fromIntegral a1} in 
  let {a2' = fromIntegral a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = castZomplexToPtr a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = id a6} in 
  let {a7' = id a7} in 
  let {a8' = id a8} in 
  let {a9' = id a9} in 
  let {a10' = id a10} in 
  zgeequ'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 150 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

cgeevx :: (Int) -> (CChar) -> (CChar) -> (CChar) -> (CChar) -> (Int) -> (Ptr (Complex CFloat)) -> (Int) -> (Ptr (Complex CFloat)) -> (Ptr (Complex CFloat)) -> (Int) -> (Ptr (Complex CFloat)) -> (Int) -> (Ptr CInt) -> (Ptr CInt) -> (Ptr CFloat) -> (Ptr CFloat) -> (Ptr CFloat) -> (Ptr CFloat) -> IO ((Int))
cgeevx a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 a15 a16 a17 a18 a19 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = castChar a3} in 
  let {a4' = castChar a4} in 
  let {a5' = castChar a5} in 
  let {a6' = fromIntegral a6} in 
  let {a7' = castComplexToPtr a7} in 
  let {a8' = fromIntegral a8} in 
  let {a9' = castComplexToPtr a9} in 
  let {a10' = castComplexToPtr a10} in 
  let {a11' = fromIntegral a11} in 
  let {a12' = castComplexToPtr a12} in 
  let {a13' = fromIntegral a13} in 
  let {a14' = id a14} in 
  let {a15' = id a15} in 
  let {a16' = id a16} in 
  let {a17' = id a17} in 
  let {a18' = id a18} in 
  let {a19' = id a19} in 
  cgeevx'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' a12' a13' a14' a15' a16' a17' a18' a19' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 151 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

dgeevx :: (Int) -> (CChar) -> (CChar) -> (CChar) -> (CChar) -> (Int) -> (Ptr CDouble) -> (Int) -> (Ptr CDouble) -> (Ptr CDouble) -> (Ptr CDouble) -> (Int) -> (Ptr CDouble) -> (Int) -> (Ptr CInt) -> (Ptr CInt) -> (Ptr CDouble) -> (Ptr CDouble) -> (Ptr CDouble) -> (Ptr CDouble) -> IO ((Int))
dgeevx a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 a15 a16 a17 a18 a19 a20 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = castChar a3} in 
  let {a4' = castChar a4} in 
  let {a5' = castChar a5} in 
  let {a6' = fromIntegral a6} in 
  let {a7' = id a7} in 
  let {a8' = fromIntegral a8} in 
  let {a9' = id a9} in 
  let {a10' = id a10} in 
  let {a11' = id a11} in 
  let {a12' = fromIntegral a12} in 
  let {a13' = id a13} in 
  let {a14' = fromIntegral a14} in 
  let {a15' = id a15} in 
  let {a16' = id a16} in 
  let {a17' = id a17} in 
  let {a18' = id a18} in 
  let {a19' = id a19} in 
  let {a20' = id a20} in 
  dgeevx'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' a12' a13' a14' a15' a16' a17' a18' a19' a20' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 152 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

sgeevx :: (Int) -> (CChar) -> (CChar) -> (CChar) -> (CChar) -> (Int) -> (Ptr CFloat) -> (Int) -> (Ptr CFloat) -> (Ptr CFloat) -> (Ptr CFloat) -> (Int) -> (Ptr CFloat) -> (Int) -> (Ptr CInt) -> (Ptr CInt) -> (Ptr CFloat) -> (Ptr CFloat) -> (Ptr CFloat) -> (Ptr CFloat) -> IO ((Int))
sgeevx a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 a15 a16 a17 a18 a19 a20 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = castChar a3} in 
  let {a4' = castChar a4} in 
  let {a5' = castChar a5} in 
  let {a6' = fromIntegral a6} in 
  let {a7' = id a7} in 
  let {a8' = fromIntegral a8} in 
  let {a9' = id a9} in 
  let {a10' = id a10} in 
  let {a11' = id a11} in 
  let {a12' = fromIntegral a12} in 
  let {a13' = id a13} in 
  let {a14' = fromIntegral a14} in 
  let {a15' = id a15} in 
  let {a16' = id a16} in 
  let {a17' = id a17} in 
  let {a18' = id a18} in 
  let {a19' = id a19} in 
  let {a20' = id a20} in 
  sgeevx'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' a12' a13' a14' a15' a16' a17' a18' a19' a20' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 153 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

zgeevx :: (Int) -> (CChar) -> (CChar) -> (CChar) -> (CChar) -> (Int) -> (Ptr (Complex CDouble)) -> (Int) -> (Ptr (Complex CDouble)) -> (Ptr (Complex CDouble)) -> (Int) -> (Ptr (Complex CDouble)) -> (Int) -> (Ptr CInt) -> (Ptr CInt) -> (Ptr CDouble) -> (Ptr CDouble) -> (Ptr CDouble) -> (Ptr CDouble) -> IO ((Int))
zgeevx a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 a15 a16 a17 a18 a19 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = castChar a3} in 
  let {a4' = castChar a4} in 
  let {a5' = castChar a5} in 
  let {a6' = fromIntegral a6} in 
  let {a7' = castZomplexToPtr a7} in 
  let {a8' = fromIntegral a8} in 
  let {a9' = castZomplexToPtr a9} in 
  let {a10' = castZomplexToPtr a10} in 
  let {a11' = fromIntegral a11} in 
  let {a12' = castZomplexToPtr a12} in 
  let {a13' = fromIntegral a13} in 
  let {a14' = id a14} in 
  let {a15' = id a15} in 
  let {a16' = id a16} in 
  let {a17' = id a17} in 
  let {a18' = id a18} in 
  let {a19' = id a19} in 
  zgeevx'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' a12' a13' a14' a15' a16' a17' a18' a19' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 154 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

cheevx :: (Int) -> (CChar) -> (CChar) -> (CChar) -> (Int) -> (Ptr (Complex CFloat)) -> (Int) -> (CFloat) -> (CFloat) -> (Int) -> (Int) -> (CFloat) -> (Ptr CInt) -> (Ptr CFloat) -> (Ptr (Complex CFloat)) -> (Int) -> (Ptr CInt) -> IO ((Int))
cheevx a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 a15 a16 a17 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = castChar a3} in 
  let {a4' = castChar a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = castComplexToPtr a6} in 
  let {a7' = fromIntegral a7} in 
  let {a8' = id a8} in 
  let {a9' = id a9} in 
  let {a10' = fromIntegral a10} in 
  let {a11' = fromIntegral a11} in 
  let {a12' = id a12} in 
  let {a13' = id a13} in 
  let {a14' = id a14} in 
  let {a15' = castComplexToPtr a15} in 
  let {a16' = fromIntegral a16} in 
  let {a17' = id a17} in 
  cheevx'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' a12' a13' a14' a15' a16' a17' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 155 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

zheevx :: (Int) -> (CChar) -> (CChar) -> (CChar) -> (Int) -> (Ptr (Complex CDouble)) -> (Int) -> (CDouble) -> (CDouble) -> (Int) -> (Int) -> (CDouble) -> (Ptr CInt) -> (Ptr CDouble) -> (Ptr (Complex CDouble)) -> (Int) -> (Ptr CInt) -> IO ((Int))
zheevx a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 a15 a16 a17 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = castChar a3} in 
  let {a4' = castChar a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = castZomplexToPtr a6} in 
  let {a7' = fromIntegral a7} in 
  let {a8' = id a8} in 
  let {a9' = id a9} in 
  let {a10' = fromIntegral a10} in 
  let {a11' = fromIntegral a11} in 
  let {a12' = id a12} in 
  let {a13' = id a13} in 
  let {a14' = id a14} in 
  let {a15' = castZomplexToPtr a15} in 
  let {a16' = fromIntegral a16} in 
  let {a17' = id a17} in 
  zheevx'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' a12' a13' a14' a15' a16' a17' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 156 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

cggev :: (Int) -> (CChar) -> (CChar) -> (Int) -> (Ptr (Complex CFloat)) -> (Int) -> (Ptr (Complex CFloat)) -> (Int) -> (Ptr (Complex CFloat)) -> (Ptr (Complex CFloat)) -> (Ptr (Complex CFloat)) -> (Int) -> (Ptr (Complex CFloat)) -> (Int) -> IO ((Int))
cggev a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = castChar a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = castComplexToPtr a5} in 
  let {a6' = fromIntegral a6} in 
  let {a7' = castComplexToPtr a7} in 
  let {a8' = fromIntegral a8} in 
  let {a9' = castComplexToPtr a9} in 
  let {a10' = castComplexToPtr a10} in 
  let {a11' = castComplexToPtr a11} in 
  let {a12' = fromIntegral a12} in 
  let {a13' = castComplexToPtr a13} in 
  let {a14' = fromIntegral a14} in 
  cggev'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' a12' a13' a14' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 157 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

dggev :: (Int) -> (CChar) -> (CChar) -> (Int) -> (Ptr CDouble) -> (Int) -> (Ptr CDouble) -> (Int) -> (Ptr CDouble) -> (Ptr CDouble) -> (Ptr CDouble) -> (Ptr CDouble) -> (Int) -> (Ptr CDouble) -> (Int) -> IO ((Int))
dggev a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 a15 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = castChar a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = id a5} in 
  let {a6' = fromIntegral a6} in 
  let {a7' = id a7} in 
  let {a8' = fromIntegral a8} in 
  let {a9' = id a9} in 
  let {a10' = id a10} in 
  let {a11' = id a11} in 
  let {a12' = id a12} in 
  let {a13' = fromIntegral a13} in 
  let {a14' = id a14} in 
  let {a15' = fromIntegral a15} in 
  dggev'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' a12' a13' a14' a15' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 158 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

sggev :: (Int) -> (CChar) -> (CChar) -> (Int) -> (Ptr CFloat) -> (Int) -> (Ptr CFloat) -> (Int) -> (Ptr CFloat) -> (Ptr CFloat) -> (Ptr CFloat) -> (Ptr CFloat) -> (Int) -> (Ptr CFloat) -> (Int) -> IO ((Int))
sggev a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 a15 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = castChar a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = id a5} in 
  let {a6' = fromIntegral a6} in 
  let {a7' = id a7} in 
  let {a8' = fromIntegral a8} in 
  let {a9' = id a9} in 
  let {a10' = id a10} in 
  let {a11' = id a11} in 
  let {a12' = id a12} in 
  let {a13' = fromIntegral a13} in 
  let {a14' = id a14} in 
  let {a15' = fromIntegral a15} in 
  sggev'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' a12' a13' a14' a15' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 159 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

zggev :: (Int) -> (CChar) -> (CChar) -> (Int) -> (Ptr (Complex CDouble)) -> (Int) -> (Ptr (Complex CDouble)) -> (Int) -> (Ptr (Complex CDouble)) -> (Ptr (Complex CDouble)) -> (Ptr (Complex CDouble)) -> (Int) -> (Ptr (Complex CDouble)) -> (Int) -> IO ((Int))
zggev a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = castChar a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = castZomplexToPtr a5} in 
  let {a6' = fromIntegral a6} in 
  let {a7' = castZomplexToPtr a7} in 
  let {a8' = fromIntegral a8} in 
  let {a9' = castZomplexToPtr a9} in 
  let {a10' = castZomplexToPtr a10} in 
  let {a11' = castZomplexToPtr a11} in 
  let {a12' = fromIntegral a12} in 
  let {a13' = castZomplexToPtr a13} in 
  let {a14' = fromIntegral a14} in 
  zggev'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' a12' a13' a14' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 160 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

ctgevc :: (Int) -> (CChar) -> (CChar) -> (Ptr CInt) -> (Int) -> (Ptr (Complex CFloat)) -> (Int) -> (Ptr (Complex CFloat)) -> (Int) -> (Ptr (Complex CFloat)) -> (Int) -> (Ptr (Complex CFloat)) -> (Int) -> (Int) -> (Ptr CInt) -> IO ((Int))
ctgevc a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 a15 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = castChar a3} in 
  let {a4' = id a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = castComplexToPtr a6} in 
  let {a7' = fromIntegral a7} in 
  let {a8' = castComplexToPtr a8} in 
  let {a9' = fromIntegral a9} in 
  let {a10' = castComplexToPtr a10} in 
  let {a11' = fromIntegral a11} in 
  let {a12' = castComplexToPtr a12} in 
  let {a13' = fromIntegral a13} in 
  let {a14' = fromIntegral a14} in 
  let {a15' = id a15} in 
  ctgevc'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' a12' a13' a14' a15' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 161 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

dtgevc :: (Int) -> (CChar) -> (CChar) -> (Ptr CInt) -> (Int) -> (Ptr CDouble) -> (Int) -> (Ptr CDouble) -> (Int) -> (Ptr CDouble) -> (Int) -> (Ptr CDouble) -> (Int) -> (Int) -> (Ptr CInt) -> IO ((Int))
dtgevc a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 a15 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = castChar a3} in 
  let {a4' = id a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = id a6} in 
  let {a7' = fromIntegral a7} in 
  let {a8' = id a8} in 
  let {a9' = fromIntegral a9} in 
  let {a10' = id a10} in 
  let {a11' = fromIntegral a11} in 
  let {a12' = id a12} in 
  let {a13' = fromIntegral a13} in 
  let {a14' = fromIntegral a14} in 
  let {a15' = id a15} in 
  dtgevc'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' a12' a13' a14' a15' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 162 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

ctgexc :: (Int) -> (Int) -> (Int) -> (Int) -> (Ptr (Complex CFloat)) -> (Int) -> (Ptr (Complex CFloat)) -> (Int) -> (Ptr (Complex CFloat)) -> (Int) -> (Ptr (Complex CFloat)) -> (Int) -> (Int) -> (Int) -> IO ((Int))
ctgexc a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 =
  let {a1' = fromIntegral a1} in 
  let {a2' = fromIntegral a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = castComplexToPtr a5} in 
  let {a6' = fromIntegral a6} in 
  let {a7' = castComplexToPtr a7} in 
  let {a8' = fromIntegral a8} in 
  let {a9' = castComplexToPtr a9} in 
  let {a10' = fromIntegral a10} in 
  let {a11' = castComplexToPtr a11} in 
  let {a12' = fromIntegral a12} in 
  let {a13' = fromIntegral a13} in 
  let {a14' = fromIntegral a14} in 
  ctgexc'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' a12' a13' a14' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 163 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

dtgexc :: (Int) -> (Int) -> (Int) -> (Int) -> (Ptr CDouble) -> (Int) -> (Ptr CDouble) -> (Int) -> (Ptr CDouble) -> (Int) -> (Ptr CDouble) -> (Int) -> (Ptr CInt) -> (Ptr CInt) -> IO ((Int))
dtgexc a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 =
  let {a1' = fromIntegral a1} in 
  let {a2' = fromIntegral a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = id a5} in 
  let {a6' = fromIntegral a6} in 
  let {a7' = id a7} in 
  let {a8' = fromIntegral a8} in 
  let {a9' = id a9} in 
  let {a10' = fromIntegral a10} in 
  let {a11' = id a11} in 
  let {a12' = fromIntegral a12} in 
  let {a13' = id a13} in 
  let {a14' = id a14} in 
  dtgexc'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' a12' a13' a14' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 164 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

stgevc :: (Int) -> (CChar) -> (CChar) -> (Ptr CInt) -> (Int) -> (Ptr CFloat) -> (Int) -> (Ptr CFloat) -> (Int) -> (Ptr CFloat) -> (Int) -> (Ptr CFloat) -> (Int) -> (Int) -> (Ptr CInt) -> IO ((Int))
stgevc a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 a15 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = castChar a3} in 
  let {a4' = id a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = id a6} in 
  let {a7' = fromIntegral a7} in 
  let {a8' = id a8} in 
  let {a9' = fromIntegral a9} in 
  let {a10' = id a10} in 
  let {a11' = fromIntegral a11} in 
  let {a12' = id a12} in 
  let {a13' = fromIntegral a13} in 
  let {a14' = fromIntegral a14} in 
  let {a15' = id a15} in 
  stgevc'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' a12' a13' a14' a15' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 165 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

stgexc :: (Int) -> (Int) -> (Int) -> (Int) -> (Ptr CFloat) -> (Int) -> (Ptr CFloat) -> (Int) -> (Ptr CFloat) -> (Int) -> (Ptr CFloat) -> (Int) -> (Ptr CInt) -> (Ptr CInt) -> IO ((Int))
stgexc a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 =
  let {a1' = fromIntegral a1} in 
  let {a2' = fromIntegral a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = id a5} in 
  let {a6' = fromIntegral a6} in 
  let {a7' = id a7} in 
  let {a8' = fromIntegral a8} in 
  let {a9' = id a9} in 
  let {a10' = fromIntegral a10} in 
  let {a11' = id a11} in 
  let {a12' = fromIntegral a12} in 
  let {a13' = id a13} in 
  let {a14' = id a14} in 
  stgexc'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' a12' a13' a14' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 166 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

ztgevc :: (Int) -> (CChar) -> (CChar) -> (Ptr CInt) -> (Int) -> (Ptr (Complex CDouble)) -> (Int) -> (Ptr (Complex CDouble)) -> (Int) -> (Ptr (Complex CDouble)) -> (Int) -> (Ptr (Complex CDouble)) -> (Int) -> (Int) -> (Ptr CInt) -> IO ((Int))
ztgevc a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 a15 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = castChar a3} in 
  let {a4' = id a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = castZomplexToPtr a6} in 
  let {a7' = fromIntegral a7} in 
  let {a8' = castZomplexToPtr a8} in 
  let {a9' = fromIntegral a9} in 
  let {a10' = castZomplexToPtr a10} in 
  let {a11' = fromIntegral a11} in 
  let {a12' = castZomplexToPtr a12} in 
  let {a13' = fromIntegral a13} in 
  let {a14' = fromIntegral a14} in 
  let {a15' = id a15} in 
  ztgevc'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' a12' a13' a14' a15' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 167 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

ztgexc :: (Int) -> (Int) -> (Int) -> (Int) -> (Ptr (Complex CDouble)) -> (Int) -> (Ptr (Complex CDouble)) -> (Int) -> (Ptr (Complex CDouble)) -> (Int) -> (Ptr (Complex CDouble)) -> (Int) -> (Int) -> (Int) -> IO ((Int))
ztgexc a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 =
  let {a1' = fromIntegral a1} in 
  let {a2' = fromIntegral a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = castZomplexToPtr a5} in 
  let {a6' = fromIntegral a6} in 
  let {a7' = castZomplexToPtr a7} in 
  let {a8' = fromIntegral a8} in 
  let {a9' = castZomplexToPtr a9} in 
  let {a10' = fromIntegral a10} in 
  let {a11' = castZomplexToPtr a11} in 
  let {a12' = fromIntegral a12} in 
  let {a13' = fromIntegral a13} in 
  let {a14' = fromIntegral a14} in 
  ztgexc'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' a12' a13' a14' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 168 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

zcgesv :: (Int) -> (Int) -> (Int) -> (Ptr (Complex CDouble)) -> (Int) -> (Ptr CInt) -> (Ptr (Complex CDouble)) -> (Int) -> (Ptr (Complex CDouble)) -> (Int) -> (Ptr CInt) -> IO ((Int))
zcgesv a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 =
  let {a1' = fromIntegral a1} in 
  let {a2' = fromIntegral a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = castZomplexToPtr a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = id a6} in 
  let {a7' = castZomplexToPtr a7} in 
  let {a8' = fromIntegral a8} in 
  let {a9' = castZomplexToPtr a9} in 
  let {a10' = fromIntegral a10} in 
  let {a11' = id a11} in 
  zcgesv'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 169 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

cggevx :: (Int) -> (CChar) -> (CChar) -> (CChar) -> (CChar) -> (Int) -> (Ptr (Complex CFloat)) -> (Int) -> (Ptr (Complex CFloat)) -> (Int) -> (Ptr (Complex CFloat)) -> (Ptr (Complex CFloat)) -> (Ptr (Complex CFloat)) -> (Int) -> (Ptr (Complex CFloat)) -> (Int) -> (Ptr CInt) -> (Ptr CInt) -> (Ptr CFloat) -> (Ptr CFloat) -> (Ptr CFloat) -> (Ptr CFloat) -> (Ptr CFloat) -> (Ptr CFloat) -> IO ((Int))
cggevx a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 a15 a16 a17 a18 a19 a20 a21 a22 a23 a24 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = castChar a3} in 
  let {a4' = castChar a4} in 
  let {a5' = castChar a5} in 
  let {a6' = fromIntegral a6} in 
  let {a7' = castComplexToPtr a7} in 
  let {a8' = fromIntegral a8} in 
  let {a9' = castComplexToPtr a9} in 
  let {a10' = fromIntegral a10} in 
  let {a11' = castComplexToPtr a11} in 
  let {a12' = castComplexToPtr a12} in 
  let {a13' = castComplexToPtr a13} in 
  let {a14' = fromIntegral a14} in 
  let {a15' = castComplexToPtr a15} in 
  let {a16' = fromIntegral a16} in 
  let {a17' = id a17} in 
  let {a18' = id a18} in 
  let {a19' = id a19} in 
  let {a20' = id a20} in 
  let {a21' = id a21} in 
  let {a22' = id a22} in 
  let {a23' = id a23} in 
  let {a24' = id a24} in 
  cggevx'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' a12' a13' a14' a15' a16' a17' a18' a19' a20' a21' a22' a23' a24' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 170 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

dggevx :: (Int) -> (CChar) -> (CChar) -> (CChar) -> (CChar) -> (Int) -> (Ptr CDouble) -> (Int) -> (Ptr CDouble) -> (Int) -> (Ptr CDouble) -> (Ptr CDouble) -> (Ptr CDouble) -> (Ptr CDouble) -> (Int) -> (Ptr CDouble) -> (Int) -> (Ptr CInt) -> (Ptr CInt) -> (Ptr CDouble) -> (Ptr CDouble) -> (Ptr CDouble) -> (Ptr CDouble) -> (Ptr CDouble) -> (Ptr CDouble) -> IO ((Int))
dggevx a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 a15 a16 a17 a18 a19 a20 a21 a22 a23 a24 a25 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = castChar a3} in 
  let {a4' = castChar a4} in 
  let {a5' = castChar a5} in 
  let {a6' = fromIntegral a6} in 
  let {a7' = id a7} in 
  let {a8' = fromIntegral a8} in 
  let {a9' = id a9} in 
  let {a10' = fromIntegral a10} in 
  let {a11' = id a11} in 
  let {a12' = id a12} in 
  let {a13' = id a13} in 
  let {a14' = id a14} in 
  let {a15' = fromIntegral a15} in 
  let {a16' = id a16} in 
  let {a17' = fromIntegral a17} in 
  let {a18' = id a18} in 
  let {a19' = id a19} in 
  let {a20' = id a20} in 
  let {a21' = id a21} in 
  let {a22' = id a22} in 
  let {a23' = id a23} in 
  let {a24' = id a24} in 
  let {a25' = id a25} in 
  dggevx'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' a12' a13' a14' a15' a16' a17' a18' a19' a20' a21' a22' a23' a24' a25' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 171 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

sggevx :: (Int) -> (CChar) -> (CChar) -> (CChar) -> (CChar) -> (Int) -> (Ptr CFloat) -> (Int) -> (Ptr CFloat) -> (Int) -> (Ptr CFloat) -> (Ptr CFloat) -> (Ptr CFloat) -> (Ptr CFloat) -> (Int) -> (Ptr CFloat) -> (Int) -> (Ptr CInt) -> (Ptr CInt) -> (Ptr CFloat) -> (Ptr CFloat) -> (Ptr CFloat) -> (Ptr CFloat) -> (Ptr CFloat) -> (Ptr CFloat) -> IO ((Int))
sggevx a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 a15 a16 a17 a18 a19 a20 a21 a22 a23 a24 a25 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = castChar a3} in 
  let {a4' = castChar a4} in 
  let {a5' = castChar a5} in 
  let {a6' = fromIntegral a6} in 
  let {a7' = id a7} in 
  let {a8' = fromIntegral a8} in 
  let {a9' = id a9} in 
  let {a10' = fromIntegral a10} in 
  let {a11' = id a11} in 
  let {a12' = id a12} in 
  let {a13' = id a13} in 
  let {a14' = id a14} in 
  let {a15' = fromIntegral a15} in 
  let {a16' = id a16} in 
  let {a17' = fromIntegral a17} in 
  let {a18' = id a18} in 
  let {a19' = id a19} in 
  let {a20' = id a20} in 
  let {a21' = id a21} in 
  let {a22' = id a22} in 
  let {a23' = id a23} in 
  let {a24' = id a24} in 
  let {a25' = id a25} in 
  sggevx'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' a12' a13' a14' a15' a16' a17' a18' a19' a20' a21' a22' a23' a24' a25' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 172 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

zggevx :: (Int) -> (CChar) -> (CChar) -> (CChar) -> (CChar) -> (Int) -> (Ptr (Complex CDouble)) -> (Int) -> (Ptr (Complex CDouble)) -> (Int) -> (Ptr (Complex CDouble)) -> (Ptr (Complex CDouble)) -> (Ptr (Complex CDouble)) -> (Int) -> (Ptr (Complex CDouble)) -> (Int) -> (Ptr CInt) -> (Ptr CInt) -> (Ptr CDouble) -> (Ptr CDouble) -> (Ptr CDouble) -> (Ptr CDouble) -> (Ptr CDouble) -> (Ptr CDouble) -> IO ((Int))
zggevx a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 a15 a16 a17 a18 a19 a20 a21 a22 a23 a24 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = castChar a3} in 
  let {a4' = castChar a4} in 
  let {a5' = castChar a5} in 
  let {a6' = fromIntegral a6} in 
  let {a7' = castZomplexToPtr a7} in 
  let {a8' = fromIntegral a8} in 
  let {a9' = castZomplexToPtr a9} in 
  let {a10' = fromIntegral a10} in 
  let {a11' = castZomplexToPtr a11} in 
  let {a12' = castZomplexToPtr a12} in 
  let {a13' = castZomplexToPtr a13} in 
  let {a14' = fromIntegral a14} in 
  let {a15' = castZomplexToPtr a15} in 
  let {a16' = fromIntegral a16} in 
  let {a17' = id a17} in 
  let {a18' = id a18} in 
  let {a19' = id a19} in 
  let {a20' = id a20} in 
  let {a21' = id a21} in 
  let {a22' = id a22} in 
  let {a23' = id a23} in 
  let {a24' = id a24} in 
  zggevx'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' a12' a13' a14' a15' a16' a17' a18' a19' a20' a21' a22' a23' a24' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 173 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

chgeqz :: (Int) -> (CChar) -> (CChar) -> (CChar) -> (Int) -> (Int) -> (Int) -> (Ptr (Complex CFloat)) -> (Int) -> (Ptr (Complex CFloat)) -> (Int) -> (Ptr (Complex CFloat)) -> (Ptr (Complex CFloat)) -> (Ptr (Complex CFloat)) -> (Int) -> (Ptr (Complex CFloat)) -> (Int) -> IO ((Int))
chgeqz a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 a15 a16 a17 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = castChar a3} in 
  let {a4' = castChar a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = fromIntegral a6} in 
  let {a7' = fromIntegral a7} in 
  let {a8' = castComplexToPtr a8} in 
  let {a9' = fromIntegral a9} in 
  let {a10' = castComplexToPtr a10} in 
  let {a11' = fromIntegral a11} in 
  let {a12' = castComplexToPtr a12} in 
  let {a13' = castComplexToPtr a13} in 
  let {a14' = castComplexToPtr a14} in 
  let {a15' = fromIntegral a15} in 
  let {a16' = castComplexToPtr a16} in 
  let {a17' = fromIntegral a17} in 
  chgeqz'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' a12' a13' a14' a15' a16' a17' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 174 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

dhgeqz :: (Int) -> (CChar) -> (CChar) -> (CChar) -> (Int) -> (Int) -> (Int) -> (Ptr CDouble) -> (Int) -> (Ptr CDouble) -> (Int) -> (Ptr CDouble) -> (Ptr CDouble) -> (Ptr CDouble) -> (Ptr CDouble) -> (Int) -> (Ptr CDouble) -> (Int) -> IO ((Int))
dhgeqz a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 a15 a16 a17 a18 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = castChar a3} in 
  let {a4' = castChar a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = fromIntegral a6} in 
  let {a7' = fromIntegral a7} in 
  let {a8' = id a8} in 
  let {a9' = fromIntegral a9} in 
  let {a10' = id a10} in 
  let {a11' = fromIntegral a11} in 
  let {a12' = id a12} in 
  let {a13' = id a13} in 
  let {a14' = id a14} in 
  let {a15' = id a15} in 
  let {a16' = fromIntegral a16} in 
  let {a17' = id a17} in 
  let {a18' = fromIntegral a18} in 
  dhgeqz'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' a12' a13' a14' a15' a16' a17' a18' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 175 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

shgeqz :: (Int) -> (CChar) -> (CChar) -> (CChar) -> (Int) -> (Int) -> (Int) -> (Ptr CFloat) -> (Int) -> (Ptr CFloat) -> (Int) -> (Ptr CFloat) -> (Ptr CFloat) -> (Ptr CFloat) -> (Ptr CFloat) -> (Int) -> (Ptr CFloat) -> (Int) -> IO ((Int))
shgeqz a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 a15 a16 a17 a18 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = castChar a3} in 
  let {a4' = castChar a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = fromIntegral a6} in 
  let {a7' = fromIntegral a7} in 
  let {a8' = id a8} in 
  let {a9' = fromIntegral a9} in 
  let {a10' = id a10} in 
  let {a11' = fromIntegral a11} in 
  let {a12' = id a12} in 
  let {a13' = id a13} in 
  let {a14' = id a14} in 
  let {a15' = id a15} in 
  let {a16' = fromIntegral a16} in 
  let {a17' = id a17} in 
  let {a18' = fromIntegral a18} in 
  shgeqz'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' a12' a13' a14' a15' a16' a17' a18' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 176 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

zhgeqz :: (Int) -> (CChar) -> (CChar) -> (CChar) -> (Int) -> (Int) -> (Int) -> (Ptr (Complex CDouble)) -> (Int) -> (Ptr (Complex CDouble)) -> (Int) -> (Ptr (Complex CDouble)) -> (Ptr (Complex CDouble)) -> (Ptr (Complex CDouble)) -> (Int) -> (Ptr (Complex CDouble)) -> (Int) -> IO ((Int))
zhgeqz a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 a15 a16 a17 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = castChar a3} in 
  let {a4' = castChar a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = fromIntegral a6} in 
  let {a7' = fromIntegral a7} in 
  let {a8' = castZomplexToPtr a8} in 
  let {a9' = fromIntegral a9} in 
  let {a10' = castZomplexToPtr a10} in 
  let {a11' = fromIntegral a11} in 
  let {a12' = castZomplexToPtr a12} in 
  let {a13' = castZomplexToPtr a13} in 
  let {a14' = castZomplexToPtr a14} in 
  let {a15' = fromIntegral a15} in 
  let {a16' = castZomplexToPtr a16} in 
  let {a17' = fromIntegral a17} in 
  zhgeqz'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' a12' a13' a14' a15' a16' a17' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 177 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

dsgesv :: (Int) -> (Int) -> (Int) -> (Ptr CDouble) -> (Int) -> (Ptr CInt) -> (Ptr CDouble) -> (Int) -> (Ptr CDouble) -> (Int) -> (Ptr CInt) -> IO ((Int))
dsgesv a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 =
  let {a1' = fromIntegral a1} in 
  let {a2' = fromIntegral a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = id a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = id a6} in 
  let {a7' = id a7} in 
  let {a8' = fromIntegral a8} in 
  let {a9' = id a9} in 
  let {a10' = fromIntegral a10} in 
  let {a11' = id a11} in 
  dsgesv'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 178 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

cpoequ :: (Int) -> (Int) -> (Ptr (Complex CFloat)) -> (Int) -> (Ptr CFloat) -> (Ptr CFloat) -> (Ptr CFloat) -> IO ((Int))
cpoequ a1 a2 a3 a4 a5 a6 a7 =
  let {a1' = fromIntegral a1} in 
  let {a2' = fromIntegral a2} in 
  let {a3' = castComplexToPtr a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = id a5} in 
  let {a6' = id a6} in 
  let {a7' = id a7} in 
  cpoequ'_ a1' a2' a3' a4' a5' a6' a7' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 179 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

dpoequ :: (Int) -> (Int) -> (Ptr CDouble) -> (Int) -> (Ptr CDouble) -> (Ptr CDouble) -> (Ptr CDouble) -> IO ((Int))
dpoequ a1 a2 a3 a4 a5 a6 a7 =
  let {a1' = fromIntegral a1} in 
  let {a2' = fromIntegral a2} in 
  let {a3' = id a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = id a5} in 
  let {a6' = id a6} in 
  let {a7' = id a7} in 
  dpoequ'_ a1' a2' a3' a4' a5' a6' a7' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 180 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

spoequ :: (Int) -> (Int) -> (Ptr CFloat) -> (Int) -> (Ptr CFloat) -> (Ptr CFloat) -> (Ptr CFloat) -> IO ((Int))
spoequ a1 a2 a3 a4 a5 a6 a7 =
  let {a1' = fromIntegral a1} in 
  let {a2' = fromIntegral a2} in 
  let {a3' = id a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = id a5} in 
  let {a6' = id a6} in 
  let {a7' = id a7} in 
  spoequ'_ a1' a2' a3' a4' a5' a6' a7' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 181 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

zpoequ :: (Int) -> (Int) -> (Ptr (Complex CDouble)) -> (Int) -> (Ptr CDouble) -> (Ptr CDouble) -> (Ptr CDouble) -> IO ((Int))
zpoequ a1 a2 a3 a4 a5 a6 a7 =
  let {a1' = fromIntegral a1} in 
  let {a2' = fromIntegral a2} in 
  let {a3' = castZomplexToPtr a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = id a5} in 
  let {a6' = id a6} in 
  let {a7' = id a7} in 
  zpoequ'_ a1' a2' a3' a4' a5' a6' a7' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 182 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

chpev :: (Int) -> (CChar) -> (CChar) -> (Int) -> (Ptr (Complex CFloat)) -> (Ptr CFloat) -> (Ptr (Complex CFloat)) -> (Int) -> IO ((Int))
chpev a1 a2 a3 a4 a5 a6 a7 a8 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = castChar a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = castComplexToPtr a5} in 
  let {a6' = id a6} in 
  let {a7' = castComplexToPtr a7} in 
  let {a8' = fromIntegral a8} in 
  chpev'_ a1' a2' a3' a4' a5' a6' a7' a8' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 183 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

zhpev :: (Int) -> (CChar) -> (CChar) -> (Int) -> (Ptr (Complex CDouble)) -> (Ptr CDouble) -> (Ptr (Complex CDouble)) -> (Int) -> IO ((Int))
zhpev a1 a2 a3 a4 a5 a6 a7 a8 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = castChar a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = castZomplexToPtr a5} in 
  let {a6' = id a6} in 
  let {a7' = castZomplexToPtr a7} in 
  let {a8' = fromIntegral a8} in 
  zhpev'_ a1' a2' a3' a4' a5' a6' a7' a8' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 184 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

dspev :: (Int) -> (CChar) -> (CChar) -> (Int) -> (Ptr CDouble) -> (Ptr CDouble) -> (Ptr CDouble) -> (Int) -> IO ((Int))
dspev a1 a2 a3 a4 a5 a6 a7 a8 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = castChar a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = id a5} in 
  let {a6' = id a6} in 
  let {a7' = id a7} in 
  let {a8' = fromIntegral a8} in 
  dspev'_ a1' a2' a3' a4' a5' a6' a7' a8' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 185 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

sspev :: (Int) -> (CChar) -> (CChar) -> (Int) -> (Ptr CFloat) -> (Ptr CFloat) -> (Ptr CFloat) -> (Int) -> IO ((Int))
sspev a1 a2 a3 a4 a5 a6 a7 a8 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = castChar a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = id a5} in 
  let {a6' = id a6} in 
  let {a7' = id a7} in 
  let {a8' = fromIntegral a8} in 
  sspev'_ a1' a2' a3' a4' a5' a6' a7' a8' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 186 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

chpevd :: (Int) -> (CChar) -> (CChar) -> (Int) -> (Ptr (Complex CFloat)) -> (Ptr CFloat) -> (Ptr (Complex CFloat)) -> (Int) -> IO ((Int))
chpevd a1 a2 a3 a4 a5 a6 a7 a8 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = castChar a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = castComplexToPtr a5} in 
  let {a6' = id a6} in 
  let {a7' = castComplexToPtr a7} in 
  let {a8' = fromIntegral a8} in 
  chpevd'_ a1' a2' a3' a4' a5' a6' a7' a8' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 187 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

zhpevd :: (Int) -> (CChar) -> (CChar) -> (Int) -> (Ptr (Complex CDouble)) -> (Ptr CDouble) -> (Ptr (Complex CDouble)) -> (Int) -> IO ((Int))
zhpevd a1 a2 a3 a4 a5 a6 a7 a8 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = castChar a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = castZomplexToPtr a5} in 
  let {a6' = id a6} in 
  let {a7' = castZomplexToPtr a7} in 
  let {a8' = fromIntegral a8} in 
  zhpevd'_ a1' a2' a3' a4' a5' a6' a7' a8' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 188 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

dspevd :: (Int) -> (CChar) -> (CChar) -> (Int) -> (Ptr CDouble) -> (Ptr CDouble) -> (Ptr CDouble) -> (Int) -> IO ((Int))
dspevd a1 a2 a3 a4 a5 a6 a7 a8 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = castChar a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = id a5} in 
  let {a6' = id a6} in 
  let {a7' = id a7} in 
  let {a8' = fromIntegral a8} in 
  dspevd'_ a1' a2' a3' a4' a5' a6' a7' a8' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 189 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

sspevd :: (Int) -> (CChar) -> (CChar) -> (Int) -> (Ptr CFloat) -> (Ptr CFloat) -> (Ptr CFloat) -> (Int) -> IO ((Int))
sspevd a1 a2 a3 a4 a5 a6 a7 a8 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = castChar a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = id a5} in 
  let {a6' = id a6} in 
  let {a7' = id a7} in 
  let {a8' = fromIntegral a8} in 
  sspevd'_ a1' a2' a3' a4' a5' a6' a7' a8' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 190 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

chpevx :: (Int) -> (CChar) -> (CChar) -> (CChar) -> (Int) -> (Ptr (Complex CFloat)) -> (CFloat) -> (CFloat) -> (Int) -> (Int) -> (CFloat) -> (Ptr CInt) -> (Ptr CFloat) -> (Ptr (Complex CFloat)) -> (Int) -> (Ptr CInt) -> IO ((Int))
chpevx a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 a15 a16 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = castChar a3} in 
  let {a4' = castChar a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = castComplexToPtr a6} in 
  let {a7' = id a7} in 
  let {a8' = id a8} in 
  let {a9' = fromIntegral a9} in 
  let {a10' = fromIntegral a10} in 
  let {a11' = id a11} in 
  let {a12' = id a12} in 
  let {a13' = id a13} in 
  let {a14' = castComplexToPtr a14} in 
  let {a15' = fromIntegral a15} in 
  let {a16' = id a16} in 
  chpevx'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' a12' a13' a14' a15' a16' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 191 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

zhpevx :: (Int) -> (CChar) -> (CChar) -> (CChar) -> (Int) -> (Ptr (Complex CDouble)) -> (CDouble) -> (CDouble) -> (Int) -> (Int) -> (CDouble) -> (Ptr CInt) -> (Ptr CDouble) -> (Ptr (Complex CDouble)) -> (Int) -> (Ptr CInt) -> IO ((Int))
zhpevx a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 a15 a16 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = castChar a3} in 
  let {a4' = castChar a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = castZomplexToPtr a6} in 
  let {a7' = id a7} in 
  let {a8' = id a8} in 
  let {a9' = fromIntegral a9} in 
  let {a10' = fromIntegral a10} in 
  let {a11' = id a11} in 
  let {a12' = id a12} in 
  let {a13' = id a13} in 
  let {a14' = castZomplexToPtr a14} in 
  let {a15' = fromIntegral a15} in 
  let {a16' = id a16} in 
  zhpevx'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' a12' a13' a14' a15' a16' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 192 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

cppequ :: (Int) -> (CChar) -> (Int) -> (Ptr (Complex CFloat)) -> (Ptr CFloat) -> (Ptr CFloat) -> (Ptr CFloat) -> IO ((Int))
cppequ a1 a2 a3 a4 a5 a6 a7 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = castComplexToPtr a4} in 
  let {a5' = id a5} in 
  let {a6' = id a6} in 
  let {a7' = id a7} in 
  cppequ'_ a1' a2' a3' a4' a5' a6' a7' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 193 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

dppequ :: (Int) -> (CChar) -> (Int) -> (Ptr CDouble) -> (Ptr CDouble) -> (Ptr CDouble) -> (Ptr CDouble) -> IO ((Int))
dppequ a1 a2 a3 a4 a5 a6 a7 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = id a4} in 
  let {a5' = id a5} in 
  let {a6' = id a6} in 
  let {a7' = id a7} in 
  dppequ'_ a1' a2' a3' a4' a5' a6' a7' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 194 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

sppequ :: (Int) -> (CChar) -> (Int) -> (Ptr CFloat) -> (Ptr CFloat) -> (Ptr CFloat) -> (Ptr CFloat) -> IO ((Int))
sppequ a1 a2 a3 a4 a5 a6 a7 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = id a4} in 
  let {a5' = id a5} in 
  let {a6' = id a6} in 
  let {a7' = id a7} in 
  sppequ'_ a1' a2' a3' a4' a5' a6' a7' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 195 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

zppequ :: (Int) -> (CChar) -> (Int) -> (Ptr (Complex CDouble)) -> (Ptr CDouble) -> (Ptr CDouble) -> (Ptr CDouble) -> IO ((Int))
zppequ a1 a2 a3 a4 a5 a6 a7 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = castZomplexToPtr a4} in 
  let {a5' = id a5} in 
  let {a6' = id a6} in 
  let {a7' = id a7} in 
  zppequ'_ a1' a2' a3' a4' a5' a6' a7' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 196 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

dspevx :: (Int) -> (CChar) -> (CChar) -> (CChar) -> (Int) -> (Ptr CDouble) -> (CDouble) -> (CDouble) -> (Int) -> (Int) -> (CDouble) -> (Ptr CInt) -> (Ptr CDouble) -> (Ptr CDouble) -> (Int) -> (Ptr CInt) -> IO ((Int))
dspevx a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 a15 a16 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = castChar a3} in 
  let {a4' = castChar a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = id a6} in 
  let {a7' = id a7} in 
  let {a8' = id a8} in 
  let {a9' = fromIntegral a9} in 
  let {a10' = fromIntegral a10} in 
  let {a11' = id a11} in 
  let {a12' = id a12} in 
  let {a13' = id a13} in 
  let {a14' = id a14} in 
  let {a15' = fromIntegral a15} in 
  let {a16' = id a16} in 
  dspevx'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' a12' a13' a14' a15' a16' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 197 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

sspevx :: (Int) -> (CChar) -> (CChar) -> (CChar) -> (Int) -> (Ptr CFloat) -> (CFloat) -> (CFloat) -> (Int) -> (Int) -> (CFloat) -> (Ptr CInt) -> (Ptr CFloat) -> (Ptr CFloat) -> (Int) -> (Ptr CInt) -> IO ((Int))
sspevx a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 a15 a16 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = castChar a3} in 
  let {a4' = castChar a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = id a6} in 
  let {a7' = id a7} in 
  let {a8' = id a8} in 
  let {a9' = fromIntegral a9} in 
  let {a10' = fromIntegral a10} in 
  let {a11' = id a11} in 
  let {a12' = id a12} in 
  let {a13' = id a13} in 
  let {a14' = id a14} in 
  let {a15' = fromIntegral a15} in 
  let {a16' = id a16} in 
  sspevx'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' a12' a13' a14' a15' a16' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 198 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

ctrevc :: (Int) -> (CChar) -> (CChar) -> (Ptr CInt) -> (Int) -> (Ptr (Complex CFloat)) -> (Int) -> (Ptr (Complex CFloat)) -> (Int) -> (Ptr (Complex CFloat)) -> (Int) -> (Int) -> (Ptr CInt) -> IO ((Int))
ctrevc a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = castChar a3} in 
  let {a4' = id a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = castComplexToPtr a6} in 
  let {a7' = fromIntegral a7} in 
  let {a8' = castComplexToPtr a8} in 
  let {a9' = fromIntegral a9} in 
  let {a10' = castComplexToPtr a10} in 
  let {a11' = fromIntegral a11} in 
  let {a12' = fromIntegral a12} in 
  let {a13' = id a13} in 
  ctrevc'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' a12' a13' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 199 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

dtrevc :: (Int) -> (CChar) -> (CChar) -> (Ptr CInt) -> (Int) -> (Ptr CDouble) -> (Int) -> (Ptr CDouble) -> (Int) -> (Ptr CDouble) -> (Int) -> (Int) -> (Ptr CInt) -> IO ((Int))
dtrevc a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = castChar a3} in 
  let {a4' = id a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = id a6} in 
  let {a7' = fromIntegral a7} in 
  let {a8' = id a8} in 
  let {a9' = fromIntegral a9} in 
  let {a10' = id a10} in 
  let {a11' = fromIntegral a11} in 
  let {a12' = fromIntegral a12} in 
  let {a13' = id a13} in 
  dtrevc'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' a12' a13' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 200 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

ctrexc :: (Int) -> (CChar) -> (Int) -> (Ptr (Complex CFloat)) -> (Int) -> (Ptr (Complex CFloat)) -> (Int) -> (Int) -> (Int) -> IO ((Int))
ctrexc a1 a2 a3 a4 a5 a6 a7 a8 a9 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = castComplexToPtr a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = castComplexToPtr a6} in 
  let {a7' = fromIntegral a7} in 
  let {a8' = fromIntegral a8} in 
  let {a9' = fromIntegral a9} in 
  ctrexc'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 201 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

dtrexc :: (Int) -> (CChar) -> (Int) -> (Ptr CDouble) -> (Int) -> (Ptr CDouble) -> (Int) -> (Ptr CInt) -> (Ptr CInt) -> IO ((Int))
dtrexc a1 a2 a3 a4 a5 a6 a7 a8 a9 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = id a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = id a6} in 
  let {a7' = fromIntegral a7} in 
  let {a8' = id a8} in 
  let {a9' = id a9} in 
  dtrexc'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 202 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

strevc :: (Int) -> (CChar) -> (CChar) -> (Ptr CInt) -> (Int) -> (Ptr CFloat) -> (Int) -> (Ptr CFloat) -> (Int) -> (Ptr CFloat) -> (Int) -> (Int) -> (Ptr CInt) -> IO ((Int))
strevc a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = castChar a3} in 
  let {a4' = id a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = id a6} in 
  let {a7' = fromIntegral a7} in 
  let {a8' = id a8} in 
  let {a9' = fromIntegral a9} in 
  let {a10' = id a10} in 
  let {a11' = fromIntegral a11} in 
  let {a12' = fromIntegral a12} in 
  let {a13' = id a13} in 
  strevc'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' a12' a13' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 203 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

strexc :: (Int) -> (CChar) -> (Int) -> (Ptr CFloat) -> (Int) -> (Ptr CFloat) -> (Int) -> (Ptr CInt) -> (Ptr CInt) -> IO ((Int))
strexc a1 a2 a3 a4 a5 a6 a7 a8 a9 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = id a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = id a6} in 
  let {a7' = fromIntegral a7} in 
  let {a8' = id a8} in 
  let {a9' = id a9} in 
  strexc'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 204 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

ztrevc :: (Int) -> (CChar) -> (CChar) -> (Ptr CInt) -> (Int) -> (Ptr (Complex CDouble)) -> (Int) -> (Ptr (Complex CDouble)) -> (Int) -> (Ptr (Complex CDouble)) -> (Int) -> (Int) -> (Ptr CInt) -> IO ((Int))
ztrevc a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = castChar a3} in 
  let {a4' = id a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = castZomplexToPtr a6} in 
  let {a7' = fromIntegral a7} in 
  let {a8' = castZomplexToPtr a8} in 
  let {a9' = fromIntegral a9} in 
  let {a10' = castZomplexToPtr a10} in 
  let {a11' = fromIntegral a11} in 
  let {a12' = fromIntegral a12} in 
  let {a13' = id a13} in 
  ztrevc'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' a12' a13' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 205 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

ztrexc :: (Int) -> (CChar) -> (Int) -> (Ptr (Complex CDouble)) -> (Int) -> (Ptr (Complex CDouble)) -> (Int) -> (Int) -> (Int) -> IO ((Int))
ztrexc a1 a2 a3 a4 a5 a6 a7 a8 a9 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = castZomplexToPtr a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = castZomplexToPtr a6} in 
  let {a7' = fromIntegral a7} in 
  let {a8' = fromIntegral a8} in 
  let {a9' = fromIntegral a9} in 
  ztrexc'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 206 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

chsein :: (Int) -> (CChar) -> (CChar) -> (CChar) -> (Ptr CInt) -> (Int) -> (Ptr (Complex CFloat)) -> (Int) -> (Ptr (Complex CFloat)) -> (Ptr (Complex CFloat)) -> (Int) -> (Ptr (Complex CFloat)) -> (Int) -> (Int) -> (Ptr CInt) -> (Ptr CInt) -> (Ptr CInt) -> IO ((Int))
chsein a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 a15 a16 a17 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = castChar a3} in 
  let {a4' = castChar a4} in 
  let {a5' = id a5} in 
  let {a6' = fromIntegral a6} in 
  let {a7' = castComplexToPtr a7} in 
  let {a8' = fromIntegral a8} in 
  let {a9' = castComplexToPtr a9} in 
  let {a10' = castComplexToPtr a10} in 
  let {a11' = fromIntegral a11} in 
  let {a12' = castComplexToPtr a12} in 
  let {a13' = fromIntegral a13} in 
  let {a14' = fromIntegral a14} in 
  let {a15' = id a15} in 
  let {a16' = id a16} in 
  let {a17' = id a17} in 
  chsein'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' a12' a13' a14' a15' a16' a17' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 207 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

dhsein :: (Int) -> (CChar) -> (CChar) -> (CChar) -> (Ptr CInt) -> (Int) -> (Ptr CDouble) -> (Int) -> (Ptr CDouble) -> (Ptr CDouble) -> (Ptr CDouble) -> (Int) -> (Ptr CDouble) -> (Int) -> (Int) -> (Ptr CInt) -> (Ptr CInt) -> (Ptr CInt) -> IO ((Int))
dhsein a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 a15 a16 a17 a18 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = castChar a3} in 
  let {a4' = castChar a4} in 
  let {a5' = id a5} in 
  let {a6' = fromIntegral a6} in 
  let {a7' = id a7} in 
  let {a8' = fromIntegral a8} in 
  let {a9' = id a9} in 
  let {a10' = id a10} in 
  let {a11' = id a11} in 
  let {a12' = fromIntegral a12} in 
  let {a13' = id a13} in 
  let {a14' = fromIntegral a14} in 
  let {a15' = fromIntegral a15} in 
  let {a16' = id a16} in 
  let {a17' = id a17} in 
  let {a18' = id a18} in 
  dhsein'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' a12' a13' a14' a15' a16' a17' a18' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 208 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

shsein :: (Int) -> (CChar) -> (CChar) -> (CChar) -> (Ptr CInt) -> (Int) -> (Ptr CFloat) -> (Int) -> (Ptr CFloat) -> (Ptr CFloat) -> (Ptr CFloat) -> (Int) -> (Ptr CFloat) -> (Int) -> (Int) -> (Ptr CInt) -> (Ptr CInt) -> (Ptr CInt) -> IO ((Int))
shsein a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 a15 a16 a17 a18 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = castChar a3} in 
  let {a4' = castChar a4} in 
  let {a5' = id a5} in 
  let {a6' = fromIntegral a6} in 
  let {a7' = id a7} in 
  let {a8' = fromIntegral a8} in 
  let {a9' = id a9} in 
  let {a10' = id a10} in 
  let {a11' = id a11} in 
  let {a12' = fromIntegral a12} in 
  let {a13' = id a13} in 
  let {a14' = fromIntegral a14} in 
  let {a15' = fromIntegral a15} in 
  let {a16' = id a16} in 
  let {a17' = id a17} in 
  let {a18' = id a18} in 
  shsein'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' a12' a13' a14' a15' a16' a17' a18' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 209 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

zhsein :: (Int) -> (CChar) -> (CChar) -> (CChar) -> (Ptr CInt) -> (Int) -> (Ptr (Complex CDouble)) -> (Int) -> (Ptr (Complex CDouble)) -> (Ptr (Complex CDouble)) -> (Int) -> (Ptr (Complex CDouble)) -> (Int) -> (Int) -> (Ptr CInt) -> (Ptr CInt) -> (Ptr CInt) -> IO ((Int))
zhsein a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 a15 a16 a17 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = castChar a3} in 
  let {a4' = castChar a4} in 
  let {a5' = id a5} in 
  let {a6' = fromIntegral a6} in 
  let {a7' = castZomplexToPtr a7} in 
  let {a8' = fromIntegral a8} in 
  let {a9' = castZomplexToPtr a9} in 
  let {a10' = castZomplexToPtr a10} in 
  let {a11' = fromIntegral a11} in 
  let {a12' = castZomplexToPtr a12} in 
  let {a13' = fromIntegral a13} in 
  let {a14' = fromIntegral a14} in 
  let {a15' = id a15} in 
  let {a16' = id a16} in 
  let {a17' = id a17} in 
  zhsein'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' a12' a13' a14' a15' a16' a17' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 210 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

chseqr :: (Int) -> (CChar) -> (CChar) -> (Int) -> (Int) -> (Int) -> (Ptr (Complex CFloat)) -> (Int) -> (Ptr (Complex CFloat)) -> (Ptr (Complex CFloat)) -> (Int) -> IO ((Int))
chseqr a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = castChar a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = fromIntegral a6} in 
  let {a7' = castComplexToPtr a7} in 
  let {a8' = fromIntegral a8} in 
  let {a9' = castComplexToPtr a9} in 
  let {a10' = castComplexToPtr a10} in 
  let {a11' = fromIntegral a11} in 
  chseqr'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 211 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

dhseqr :: (Int) -> (CChar) -> (CChar) -> (Int) -> (Int) -> (Int) -> (Ptr CDouble) -> (Int) -> (Ptr CDouble) -> (Ptr CDouble) -> (Ptr CDouble) -> (Int) -> IO ((Int))
dhseqr a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = castChar a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = fromIntegral a6} in 
  let {a7' = id a7} in 
  let {a8' = fromIntegral a8} in 
  let {a9' = id a9} in 
  let {a10' = id a10} in 
  let {a11' = id a11} in 
  let {a12' = fromIntegral a12} in 
  dhseqr'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' a12' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 212 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

shseqr :: (Int) -> (CChar) -> (CChar) -> (Int) -> (Int) -> (Int) -> (Ptr CFloat) -> (Int) -> (Ptr CFloat) -> (Ptr CFloat) -> (Ptr CFloat) -> (Int) -> IO ((Int))
shseqr a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = castChar a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = fromIntegral a6} in 
  let {a7' = id a7} in 
  let {a8' = fromIntegral a8} in 
  let {a9' = id a9} in 
  let {a10' = id a10} in 
  let {a11' = id a11} in 
  let {a12' = fromIntegral a12} in 
  shseqr'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' a12' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 213 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

zhseqr :: (Int) -> (CChar) -> (CChar) -> (Int) -> (Int) -> (Int) -> (Ptr (Complex CDouble)) -> (Int) -> (Ptr (Complex CDouble)) -> (Ptr (Complex CDouble)) -> (Int) -> IO ((Int))
zhseqr a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = castChar a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = fromIntegral a6} in 
  let {a7' = castZomplexToPtr a7} in 
  let {a8' = fromIntegral a8} in 
  let {a9' = castZomplexToPtr a9} in 
  let {a10' = castZomplexToPtr a10} in 
  let {a11' = fromIntegral a11} in 
  zhseqr'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 214 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

dstev :: (Int) -> (CChar) -> (Int) -> (Ptr CDouble) -> (Ptr CDouble) -> (Ptr CDouble) -> (Int) -> IO ((Int))
dstev a1 a2 a3 a4 a5 a6 a7 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = id a4} in 
  let {a5' = id a5} in 
  let {a6' = id a6} in 
  let {a7' = fromIntegral a7} in 
  dstev'_ a1' a2' a3' a4' a5' a6' a7' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 215 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

sstev :: (Int) -> (CChar) -> (Int) -> (Ptr CFloat) -> (Ptr CFloat) -> (Ptr CFloat) -> (Int) -> IO ((Int))
sstev a1 a2 a3 a4 a5 a6 a7 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = id a4} in 
  let {a5' = id a5} in 
  let {a6' = id a6} in 
  let {a7' = fromIntegral a7} in 
  sstev'_ a1' a2' a3' a4' a5' a6' a7' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 216 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

cstedc :: (Int) -> (CChar) -> (Int) -> (Ptr CFloat) -> (Ptr CFloat) -> (Ptr (Complex CFloat)) -> (Int) -> IO ((Int))
cstedc a1 a2 a3 a4 a5 a6 a7 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = id a4} in 
  let {a5' = id a5} in 
  let {a6' = castComplexToPtr a6} in 
  let {a7' = fromIntegral a7} in 
  cstedc'_ a1' a2' a3' a4' a5' a6' a7' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 217 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

dstedc :: (Int) -> (CChar) -> (Int) -> (Ptr CDouble) -> (Ptr CDouble) -> (Ptr CDouble) -> (Int) -> IO ((Int))
dstedc a1 a2 a3 a4 a5 a6 a7 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = id a4} in 
  let {a5' = id a5} in 
  let {a6' = id a6} in 
  let {a7' = fromIntegral a7} in 
  dstedc'_ a1' a2' a3' a4' a5' a6' a7' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 218 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

sstedc :: (Int) -> (CChar) -> (Int) -> (Ptr CFloat) -> (Ptr CFloat) -> (Ptr CFloat) -> (Int) -> IO ((Int))
sstedc a1 a2 a3 a4 a5 a6 a7 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = id a4} in 
  let {a5' = id a5} in 
  let {a6' = id a6} in 
  let {a7' = fromIntegral a7} in 
  sstedc'_ a1' a2' a3' a4' a5' a6' a7' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 219 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

zstedc :: (Int) -> (CChar) -> (Int) -> (Ptr CDouble) -> (Ptr CDouble) -> (Ptr (Complex CDouble)) -> (Int) -> IO ((Int))
zstedc a1 a2 a3 a4 a5 a6 a7 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = id a4} in 
  let {a5' = id a5} in 
  let {a6' = castZomplexToPtr a6} in 
  let {a7' = fromIntegral a7} in 
  zstedc'_ a1' a2' a3' a4' a5' a6' a7' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 220 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

dstevd :: (Int) -> (CChar) -> (Int) -> (Ptr CDouble) -> (Ptr CDouble) -> (Ptr CDouble) -> (Int) -> IO ((Int))
dstevd a1 a2 a3 a4 a5 a6 a7 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = id a4} in 
  let {a5' = id a5} in 
  let {a6' = id a6} in 
  let {a7' = fromIntegral a7} in 
  dstevd'_ a1' a2' a3' a4' a5' a6' a7' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 221 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

sstevd :: (Int) -> (CChar) -> (Int) -> (Ptr CFloat) -> (Ptr CFloat) -> (Ptr CFloat) -> (Int) -> IO ((Int))
sstevd a1 a2 a3 a4 a5 a6 a7 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = id a4} in 
  let {a5' = id a5} in 
  let {a6' = id a6} in 
  let {a7' = fromIntegral a7} in 
  sstevd'_ a1' a2' a3' a4' a5' a6' a7' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 222 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

dsterf :: (Int) -> (Ptr CDouble) -> (Ptr CDouble) -> IO ((Int))
dsterf a1 a2 a3 =
  let {a1' = fromIntegral a1} in 
  let {a2' = id a2} in 
  let {a3' = id a3} in 
  dsterf'_ a1' a2' a3' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 223 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

ssterf :: (Int) -> (Ptr CFloat) -> (Ptr CFloat) -> IO ((Int))
ssterf a1 a2 a3 =
  let {a1' = fromIntegral a1} in 
  let {a2' = id a2} in 
  let {a3' = id a3} in 
  ssterf'_ a1' a2' a3' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 224 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

cstein :: (Int) -> (Int) -> (Ptr CFloat) -> (Ptr CFloat) -> (Int) -> (Ptr CFloat) -> (Ptr CInt) -> (Ptr CInt) -> (Ptr (Complex CFloat)) -> (Int) -> (Ptr CInt) -> IO ((Int))
cstein a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 =
  let {a1' = fromIntegral a1} in 
  let {a2' = fromIntegral a2} in 
  let {a3' = id a3} in 
  let {a4' = id a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = id a6} in 
  let {a7' = id a7} in 
  let {a8' = id a8} in 
  let {a9' = castComplexToPtr a9} in 
  let {a10' = fromIntegral a10} in 
  let {a11' = id a11} in 
  cstein'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 225 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

dstein :: (Int) -> (Int) -> (Ptr CDouble) -> (Ptr CDouble) -> (Int) -> (Ptr CDouble) -> (Ptr CInt) -> (Ptr CInt) -> (Ptr CDouble) -> (Int) -> (Ptr CInt) -> IO ((Int))
dstein a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 =
  let {a1' = fromIntegral a1} in 
  let {a2' = fromIntegral a2} in 
  let {a3' = id a3} in 
  let {a4' = id a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = id a6} in 
  let {a7' = id a7} in 
  let {a8' = id a8} in 
  let {a9' = id a9} in 
  let {a10' = fromIntegral a10} in 
  let {a11' = id a11} in 
  dstein'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 226 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

sstein :: (Int) -> (Int) -> (Ptr CFloat) -> (Ptr CFloat) -> (Int) -> (Ptr CFloat) -> (Ptr CInt) -> (Ptr CInt) -> (Ptr CFloat) -> (Int) -> (Ptr CInt) -> IO ((Int))
sstein a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 =
  let {a1' = fromIntegral a1} in 
  let {a2' = fromIntegral a2} in 
  let {a3' = id a3} in 
  let {a4' = id a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = id a6} in 
  let {a7' = id a7} in 
  let {a8' = id a8} in 
  let {a9' = id a9} in 
  let {a10' = fromIntegral a10} in 
  let {a11' = id a11} in 
  sstein'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 227 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

zstein :: (Int) -> (Int) -> (Ptr CDouble) -> (Ptr CDouble) -> (Int) -> (Ptr CDouble) -> (Ptr CInt) -> (Ptr CInt) -> (Ptr (Complex CDouble)) -> (Int) -> (Ptr CInt) -> IO ((Int))
zstein a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 =
  let {a1' = fromIntegral a1} in 
  let {a2' = fromIntegral a2} in 
  let {a3' = id a3} in 
  let {a4' = id a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = id a6} in 
  let {a7' = id a7} in 
  let {a8' = id a8} in 
  let {a9' = castZomplexToPtr a9} in 
  let {a10' = fromIntegral a10} in 
  let {a11' = id a11} in 
  zstein'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 228 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

cpteqr :: (Int) -> (CChar) -> (Int) -> (Ptr CFloat) -> (Ptr CFloat) -> (Ptr (Complex CFloat)) -> (Int) -> IO ((Int))
cpteqr a1 a2 a3 a4 a5 a6 a7 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = id a4} in 
  let {a5' = id a5} in 
  let {a6' = castComplexToPtr a6} in 
  let {a7' = fromIntegral a7} in 
  cpteqr'_ a1' a2' a3' a4' a5' a6' a7' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 229 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

dpteqr :: (Int) -> (CChar) -> (Int) -> (Ptr CDouble) -> (Ptr CDouble) -> (Ptr CDouble) -> (Int) -> IO ((Int))
dpteqr a1 a2 a3 a4 a5 a6 a7 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = id a4} in 
  let {a5' = id a5} in 
  let {a6' = id a6} in 
  let {a7' = fromIntegral a7} in 
  dpteqr'_ a1' a2' a3' a4' a5' a6' a7' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 230 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

spteqr :: (Int) -> (CChar) -> (Int) -> (Ptr CFloat) -> (Ptr CFloat) -> (Ptr CFloat) -> (Int) -> IO ((Int))
spteqr a1 a2 a3 a4 a5 a6 a7 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = id a4} in 
  let {a5' = id a5} in 
  let {a6' = id a6} in 
  let {a7' = fromIntegral a7} in 
  spteqr'_ a1' a2' a3' a4' a5' a6' a7' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 231 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

zpteqr :: (Int) -> (CChar) -> (Int) -> (Ptr CDouble) -> (Ptr CDouble) -> (Ptr (Complex CDouble)) -> (Int) -> IO ((Int))
zpteqr a1 a2 a3 a4 a5 a6 a7 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = id a4} in 
  let {a5' = id a5} in 
  let {a6' = castZomplexToPtr a6} in 
  let {a7' = fromIntegral a7} in 
  zpteqr'_ a1' a2' a3' a4' a5' a6' a7' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 232 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

cstegr :: (Int) -> (CChar) -> (CChar) -> (Int) -> (Ptr CFloat) -> (Ptr CFloat) -> (CFloat) -> (CFloat) -> (Int) -> (Int) -> (CFloat) -> (Ptr CInt) -> (Ptr CFloat) -> (Ptr (Complex CFloat)) -> (Int) -> (Ptr CInt) -> IO ((Int))
cstegr a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 a15 a16 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = castChar a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = id a5} in 
  let {a6' = id a6} in 
  let {a7' = id a7} in 
  let {a8' = id a8} in 
  let {a9' = fromIntegral a9} in 
  let {a10' = fromIntegral a10} in 
  let {a11' = id a11} in 
  let {a12' = id a12} in 
  let {a13' = id a13} in 
  let {a14' = castComplexToPtr a14} in 
  let {a15' = fromIntegral a15} in 
  let {a16' = id a16} in 
  cstegr'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' a12' a13' a14' a15' a16' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 233 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

dstegr :: (Int) -> (CChar) -> (CChar) -> (Int) -> (Ptr CDouble) -> (Ptr CDouble) -> (CDouble) -> (CDouble) -> (Int) -> (Int) -> (CDouble) -> (Ptr CInt) -> (Ptr CDouble) -> (Ptr CDouble) -> (Int) -> (Ptr CInt) -> IO ((Int))
dstegr a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 a15 a16 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = castChar a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = id a5} in 
  let {a6' = id a6} in 
  let {a7' = id a7} in 
  let {a8' = id a8} in 
  let {a9' = fromIntegral a9} in 
  let {a10' = fromIntegral a10} in 
  let {a11' = id a11} in 
  let {a12' = id a12} in 
  let {a13' = id a13} in 
  let {a14' = id a14} in 
  let {a15' = fromIntegral a15} in 
  let {a16' = id a16} in 
  dstegr'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' a12' a13' a14' a15' a16' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 234 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

cstemr :: (Int) -> (CChar) -> (CChar) -> (Int) -> (Ptr CFloat) -> (Ptr CFloat) -> (CFloat) -> (CFloat) -> (Int) -> (Int) -> (Ptr CInt) -> (Ptr CFloat) -> (Ptr (Complex CFloat)) -> (Int) -> (Int) -> (Ptr CInt) -> (Ptr CInt) -> IO ((Int))
cstemr a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 a15 a16 a17 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = castChar a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = id a5} in 
  let {a6' = id a6} in 
  let {a7' = id a7} in 
  let {a8' = id a8} in 
  let {a9' = fromIntegral a9} in 
  let {a10' = fromIntegral a10} in 
  let {a11' = id a11} in 
  let {a12' = id a12} in 
  let {a13' = castComplexToPtr a13} in 
  let {a14' = fromIntegral a14} in 
  let {a15' = fromIntegral a15} in 
  let {a16' = id a16} in 
  let {a17' = id a17} in 
  cstemr'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' a12' a13' a14' a15' a16' a17' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 235 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

dstemr :: (Int) -> (CChar) -> (CChar) -> (Int) -> (Ptr CDouble) -> (Ptr CDouble) -> (CDouble) -> (CDouble) -> (Int) -> (Int) -> (Ptr CInt) -> (Ptr CDouble) -> (Ptr CDouble) -> (Int) -> (Int) -> (Ptr CInt) -> (Ptr CInt) -> IO ((Int))
dstemr a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 a15 a16 a17 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = castChar a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = id a5} in 
  let {a6' = id a6} in 
  let {a7' = id a7} in 
  let {a8' = id a8} in 
  let {a9' = fromIntegral a9} in 
  let {a10' = fromIntegral a10} in 
  let {a11' = id a11} in 
  let {a12' = id a12} in 
  let {a13' = id a13} in 
  let {a14' = fromIntegral a14} in 
  let {a15' = fromIntegral a15} in 
  let {a16' = id a16} in 
  let {a17' = id a17} in 
  dstemr'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' a12' a13' a14' a15' a16' a17' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 236 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

csteqr :: (Int) -> (CChar) -> (Int) -> (Ptr CFloat) -> (Ptr CFloat) -> (Ptr (Complex CFloat)) -> (Int) -> IO ((Int))
csteqr a1 a2 a3 a4 a5 a6 a7 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = id a4} in 
  let {a5' = id a5} in 
  let {a6' = castComplexToPtr a6} in 
  let {a7' = fromIntegral a7} in 
  csteqr'_ a1' a2' a3' a4' a5' a6' a7' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 237 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

dsteqr :: (Int) -> (CChar) -> (Int) -> (Ptr CDouble) -> (Ptr CDouble) -> (Ptr CDouble) -> (Int) -> IO ((Int))
dsteqr a1 a2 a3 a4 a5 a6 a7 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = id a4} in 
  let {a5' = id a5} in 
  let {a6' = id a6} in 
  let {a7' = fromIntegral a7} in 
  dsteqr'_ a1' a2' a3' a4' a5' a6' a7' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 238 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

dstevr :: (Int) -> (CChar) -> (CChar) -> (Int) -> (Ptr CDouble) -> (Ptr CDouble) -> (CDouble) -> (CDouble) -> (Int) -> (Int) -> (CDouble) -> (Ptr CInt) -> (Ptr CDouble) -> (Ptr CDouble) -> (Int) -> (Ptr CInt) -> IO ((Int))
dstevr a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 a15 a16 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = castChar a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = id a5} in 
  let {a6' = id a6} in 
  let {a7' = id a7} in 
  let {a8' = id a8} in 
  let {a9' = fromIntegral a9} in 
  let {a10' = fromIntegral a10} in 
  let {a11' = id a11} in 
  let {a12' = id a12} in 
  let {a13' = id a13} in 
  let {a14' = id a14} in 
  let {a15' = fromIntegral a15} in 
  let {a16' = id a16} in 
  dstevr'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' a12' a13' a14' a15' a16' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 239 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

sstegr :: (Int) -> (CChar) -> (CChar) -> (Int) -> (Ptr CFloat) -> (Ptr CFloat) -> (CFloat) -> (CFloat) -> (Int) -> (Int) -> (CFloat) -> (Ptr CInt) -> (Ptr CFloat) -> (Ptr CFloat) -> (Int) -> (Ptr CInt) -> IO ((Int))
sstegr a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 a15 a16 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = castChar a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = id a5} in 
  let {a6' = id a6} in 
  let {a7' = id a7} in 
  let {a8' = id a8} in 
  let {a9' = fromIntegral a9} in 
  let {a10' = fromIntegral a10} in 
  let {a11' = id a11} in 
  let {a12' = id a12} in 
  let {a13' = id a13} in 
  let {a14' = id a14} in 
  let {a15' = fromIntegral a15} in 
  let {a16' = id a16} in 
  sstegr'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' a12' a13' a14' a15' a16' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 240 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

sstemr :: (Int) -> (CChar) -> (CChar) -> (Int) -> (Ptr CFloat) -> (Ptr CFloat) -> (CFloat) -> (CFloat) -> (Int) -> (Int) -> (Ptr CInt) -> (Ptr CFloat) -> (Ptr CFloat) -> (Int) -> (Int) -> (Ptr CInt) -> (Ptr CInt) -> IO ((Int))
sstemr a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 a15 a16 a17 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = castChar a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = id a5} in 
  let {a6' = id a6} in 
  let {a7' = id a7} in 
  let {a8' = id a8} in 
  let {a9' = fromIntegral a9} in 
  let {a10' = fromIntegral a10} in 
  let {a11' = id a11} in 
  let {a12' = id a12} in 
  let {a13' = id a13} in 
  let {a14' = fromIntegral a14} in 
  let {a15' = fromIntegral a15} in 
  let {a16' = id a16} in 
  let {a17' = id a17} in 
  sstemr'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' a12' a13' a14' a15' a16' a17' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 241 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

zstegr :: (Int) -> (CChar) -> (CChar) -> (Int) -> (Ptr CDouble) -> (Ptr CDouble) -> (CDouble) -> (CDouble) -> (Int) -> (Int) -> (CDouble) -> (Ptr CInt) -> (Ptr CDouble) -> (Ptr (Complex CDouble)) -> (Int) -> (Ptr CInt) -> IO ((Int))
zstegr a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 a15 a16 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = castChar a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = id a5} in 
  let {a6' = id a6} in 
  let {a7' = id a7} in 
  let {a8' = id a8} in 
  let {a9' = fromIntegral a9} in 
  let {a10' = fromIntegral a10} in 
  let {a11' = id a11} in 
  let {a12' = id a12} in 
  let {a13' = id a13} in 
  let {a14' = castZomplexToPtr a14} in 
  let {a15' = fromIntegral a15} in 
  let {a16' = id a16} in 
  zstegr'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' a12' a13' a14' a15' a16' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 242 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

ssteqr :: (Int) -> (CChar) -> (Int) -> (Ptr CFloat) -> (Ptr CFloat) -> (Ptr CFloat) -> (Int) -> IO ((Int))
ssteqr a1 a2 a3 a4 a5 a6 a7 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = id a4} in 
  let {a5' = id a5} in 
  let {a6' = id a6} in 
  let {a7' = fromIntegral a7} in 
  ssteqr'_ a1' a2' a3' a4' a5' a6' a7' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 243 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

zstemr :: (Int) -> (CChar) -> (CChar) -> (Int) -> (Ptr CDouble) -> (Ptr CDouble) -> (CDouble) -> (CDouble) -> (Int) -> (Int) -> (Ptr CInt) -> (Ptr CDouble) -> (Ptr (Complex CDouble)) -> (Int) -> (Int) -> (Ptr CInt) -> (Ptr CInt) -> IO ((Int))
zstemr a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 a15 a16 a17 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = castChar a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = id a5} in 
  let {a6' = id a6} in 
  let {a7' = id a7} in 
  let {a8' = id a8} in 
  let {a9' = fromIntegral a9} in 
  let {a10' = fromIntegral a10} in 
  let {a11' = id a11} in 
  let {a12' = id a12} in 
  let {a13' = castZomplexToPtr a13} in 
  let {a14' = fromIntegral a14} in 
  let {a15' = fromIntegral a15} in 
  let {a16' = id a16} in 
  let {a17' = id a17} in 
  zstemr'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' a12' a13' a14' a15' a16' a17' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 244 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

sstevr :: (Int) -> (CChar) -> (CChar) -> (Int) -> (Ptr CFloat) -> (Ptr CFloat) -> (CFloat) -> (CFloat) -> (Int) -> (Int) -> (CFloat) -> (Ptr CInt) -> (Ptr CFloat) -> (Ptr CFloat) -> (Int) -> (Ptr CInt) -> IO ((Int))
sstevr a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 a15 a16 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = castChar a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = id a5} in 
  let {a6' = id a6} in 
  let {a7' = id a7} in 
  let {a8' = id a8} in 
  let {a9' = fromIntegral a9} in 
  let {a10' = fromIntegral a10} in 
  let {a11' = id a11} in 
  let {a12' = id a12} in 
  let {a13' = id a13} in 
  let {a14' = id a14} in 
  let {a15' = fromIntegral a15} in 
  let {a16' = id a16} in 
  sstevr'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' a12' a13' a14' a15' a16' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 245 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

zsteqr :: (Int) -> (CChar) -> (Int) -> (Ptr CDouble) -> (Ptr CDouble) -> (Ptr (Complex CDouble)) -> (Int) -> IO ((Int))
zsteqr a1 a2 a3 a4 a5 a6 a7 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = id a4} in 
  let {a5' = id a5} in 
  let {a6' = castZomplexToPtr a6} in 
  let {a7' = fromIntegral a7} in 
  zsteqr'_ a1' a2' a3' a4' a5' a6' a7' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 246 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

dstevx :: (Int) -> (CChar) -> (CChar) -> (Int) -> (Ptr CDouble) -> (Ptr CDouble) -> (CDouble) -> (CDouble) -> (Int) -> (Int) -> (CDouble) -> (Ptr CInt) -> (Ptr CDouble) -> (Ptr CDouble) -> (Int) -> (Ptr CInt) -> IO ((Int))
dstevx a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 a15 a16 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = castChar a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = id a5} in 
  let {a6' = id a6} in 
  let {a7' = id a7} in 
  let {a8' = id a8} in 
  let {a9' = fromIntegral a9} in 
  let {a10' = fromIntegral a10} in 
  let {a11' = id a11} in 
  let {a12' = id a12} in 
  let {a13' = id a13} in 
  let {a14' = id a14} in 
  let {a15' = fromIntegral a15} in 
  let {a16' = id a16} in 
  dstevx'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' a12' a13' a14' a15' a16' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 247 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

sstevx :: (Int) -> (CChar) -> (CChar) -> (Int) -> (Ptr CFloat) -> (Ptr CFloat) -> (CFloat) -> (CFloat) -> (Int) -> (Int) -> (CFloat) -> (Ptr CInt) -> (Ptr CFloat) -> (Ptr CFloat) -> (Int) -> (Ptr CInt) -> IO ((Int))
sstevx a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 a15 a16 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = castChar a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = id a5} in 
  let {a6' = id a6} in 
  let {a7' = id a7} in 
  let {a8' = id a8} in 
  let {a9' = fromIntegral a9} in 
  let {a10' = fromIntegral a10} in 
  let {a11' = id a11} in 
  let {a12' = id a12} in 
  let {a13' = id a13} in 
  let {a14' = id a14} in 
  let {a15' = fromIntegral a15} in 
  let {a16' = id a16} in 
  sstevx'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' a12' a13' a14' a15' a16' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 248 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

dstebz :: (CChar) -> (CChar) -> (Int) -> (CDouble) -> (CDouble) -> (Int) -> (Int) -> (CDouble) -> (Ptr CDouble) -> (Ptr CDouble) -> (Ptr CInt) -> (Ptr CInt) -> (Ptr CDouble) -> (Ptr CInt) -> (Ptr CInt) -> IO ((Int))
dstebz a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 a15 =
  let {a1' = castChar a1} in 
  let {a2' = castChar a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = id a4} in 
  let {a5' = id a5} in 
  let {a6' = fromIntegral a6} in 
  let {a7' = fromIntegral a7} in 
  let {a8' = id a8} in 
  let {a9' = id a9} in 
  let {a10' = id a10} in 
  let {a11' = id a11} in 
  let {a12' = id a12} in 
  let {a13' = id a13} in 
  let {a14' = id a14} in 
  let {a15' = id a15} in 
  dstebz'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' a12' a13' a14' a15' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 249 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

sstebz :: (CChar) -> (CChar) -> (Int) -> (CFloat) -> (CFloat) -> (Int) -> (Int) -> (CFloat) -> (Ptr CFloat) -> (Ptr CFloat) -> (Ptr CInt) -> (Ptr CInt) -> (Ptr CFloat) -> (Ptr CInt) -> (Ptr CInt) -> IO ((Int))
sstebz a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 a15 =
  let {a1' = castChar a1} in 
  let {a2' = castChar a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = id a4} in 
  let {a5' = id a5} in 
  let {a6' = fromIntegral a6} in 
  let {a7' = fromIntegral a7} in 
  let {a8' = id a8} in 
  let {a9' = id a9} in 
  let {a10' = id a10} in 
  let {a11' = id a11} in 
  let {a12' = id a12} in 
  let {a13' = id a13} in 
  let {a14' = id a14} in 
  let {a15' = id a15} in 
  sstebz'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' a12' a13' a14' a15' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 250 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

dsyev :: (Int) -> (CChar) -> (CChar) -> (Int) -> (Ptr CDouble) -> (Int) -> (Ptr CDouble) -> IO ((Int))
dsyev a1 a2 a3 a4 a5 a6 a7 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = castChar a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = id a5} in 
  let {a6' = fromIntegral a6} in 
  let {a7' = id a7} in 
  dsyev'_ a1' a2' a3' a4' a5' a6' a7' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 251 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

ssyev :: (Int) -> (CChar) -> (CChar) -> (Int) -> (Ptr CFloat) -> (Int) -> (Ptr CFloat) -> IO ((Int))
ssyev a1 a2 a3 a4 a5 a6 a7 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = castChar a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = id a5} in 
  let {a6' = fromIntegral a6} in 
  let {a7' = id a7} in 
  ssyev'_ a1' a2' a3' a4' a5' a6' a7' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 252 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

dsyevd :: (Int) -> (CChar) -> (CChar) -> (Int) -> (Ptr CDouble) -> (Int) -> (Ptr CDouble) -> IO ((Int))
dsyevd a1 a2 a3 a4 a5 a6 a7 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = castChar a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = id a5} in 
  let {a6' = fromIntegral a6} in 
  let {a7' = id a7} in 
  dsyevd'_ a1' a2' a3' a4' a5' a6' a7' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 253 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

ssyevd :: (Int) -> (CChar) -> (CChar) -> (Int) -> (Ptr CFloat) -> (Int) -> (Ptr CFloat) -> IO ((Int))
ssyevd a1 a2 a3 a4 a5 a6 a7 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = castChar a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = id a5} in 
  let {a6' = fromIntegral a6} in 
  let {a7' = id a7} in 
  ssyevd'_ a1' a2' a3' a4' a5' a6' a7' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 254 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

dsyevr :: (Int) -> (CChar) -> (CChar) -> (CChar) -> (Int) -> (Ptr CDouble) -> (Int) -> (CDouble) -> (CDouble) -> (Int) -> (Int) -> (CDouble) -> (Ptr CInt) -> (Ptr CDouble) -> (Ptr CDouble) -> (Int) -> (Ptr CInt) -> IO ((Int))
dsyevr a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 a15 a16 a17 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = castChar a3} in 
  let {a4' = castChar a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = id a6} in 
  let {a7' = fromIntegral a7} in 
  let {a8' = id a8} in 
  let {a9' = id a9} in 
  let {a10' = fromIntegral a10} in 
  let {a11' = fromIntegral a11} in 
  let {a12' = id a12} in 
  let {a13' = id a13} in 
  let {a14' = id a14} in 
  let {a15' = id a15} in 
  let {a16' = fromIntegral a16} in 
  let {a17' = id a17} in 
  dsyevr'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' a12' a13' a14' a15' a16' a17' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 255 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

ssyevr :: (Int) -> (CChar) -> (CChar) -> (CChar) -> (Int) -> (Ptr CFloat) -> (Int) -> (CFloat) -> (CFloat) -> (Int) -> (Int) -> (CFloat) -> (Ptr CInt) -> (Ptr CFloat) -> (Ptr CFloat) -> (Int) -> (Ptr CInt) -> IO ((Int))
ssyevr a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 a15 a16 a17 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = castChar a3} in 
  let {a4' = castChar a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = id a6} in 
  let {a7' = fromIntegral a7} in 
  let {a8' = id a8} in 
  let {a9' = id a9} in 
  let {a10' = fromIntegral a10} in 
  let {a11' = fromIntegral a11} in 
  let {a12' = id a12} in 
  let {a13' = id a13} in 
  let {a14' = id a14} in 
  let {a15' = id a15} in 
  let {a16' = fromIntegral a16} in 
  let {a17' = id a17} in 
  ssyevr'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' a12' a13' a14' a15' a16' a17' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 256 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

dsyevx :: (Int) -> (CChar) -> (CChar) -> (CChar) -> (Int) -> (Ptr CDouble) -> (Int) -> (CDouble) -> (CDouble) -> (Int) -> (Int) -> (CDouble) -> (Ptr CInt) -> (Ptr CDouble) -> (Ptr CDouble) -> (Int) -> (Ptr CInt) -> IO ((Int))
dsyevx a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 a15 a16 a17 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = castChar a3} in 
  let {a4' = castChar a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = id a6} in 
  let {a7' = fromIntegral a7} in 
  let {a8' = id a8} in 
  let {a9' = id a9} in 
  let {a10' = fromIntegral a10} in 
  let {a11' = fromIntegral a11} in 
  let {a12' = id a12} in 
  let {a13' = id a13} in 
  let {a14' = id a14} in 
  let {a15' = id a15} in 
  let {a16' = fromIntegral a16} in 
  let {a17' = id a17} in 
  dsyevx'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' a12' a13' a14' a15' a16' a17' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 257 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

ssyevx :: (Int) -> (CChar) -> (CChar) -> (CChar) -> (Int) -> (Ptr CFloat) -> (Int) -> (CFloat) -> (CFloat) -> (Int) -> (Int) -> (CFloat) -> (Ptr CInt) -> (Ptr CFloat) -> (Ptr CFloat) -> (Int) -> (Ptr CInt) -> IO ((Int))
ssyevx a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 a15 a16 a17 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = castChar a3} in 
  let {a4' = castChar a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = id a6} in 
  let {a7' = fromIntegral a7} in 
  let {a8' = id a8} in 
  let {a9' = id a9} in 
  let {a10' = fromIntegral a10} in 
  let {a11' = fromIntegral a11} in 
  let {a12' = id a12} in 
  let {a13' = id a13} in 
  let {a14' = id a14} in 
  let {a15' = id a15} in 
  let {a16' = fromIntegral a16} in 
  let {a17' = id a17} in 
  ssyevx'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' a12' a13' a14' a15' a16' a17' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 258 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

cgbequb :: (Int) -> (Int) -> (Int) -> (Int) -> (Int) -> (Ptr (Complex CFloat)) -> (Int) -> (Ptr CFloat) -> (Ptr CFloat) -> (Ptr CFloat) -> (Ptr CFloat) -> (Ptr CFloat) -> IO ((Int))
cgbequb a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 =
  let {a1' = fromIntegral a1} in 
  let {a2' = fromIntegral a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = castComplexToPtr a6} in 
  let {a7' = fromIntegral a7} in 
  let {a8' = id a8} in 
  let {a9' = id a9} in 
  let {a10' = id a10} in 
  let {a11' = id a11} in 
  let {a12' = id a12} in 
  cgbequb'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' a12' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 259 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

dgbequb :: (Int) -> (Int) -> (Int) -> (Int) -> (Int) -> (Ptr CDouble) -> (Int) -> (Ptr CDouble) -> (Ptr CDouble) -> (Ptr CDouble) -> (Ptr CDouble) -> (Ptr CDouble) -> IO ((Int))
dgbequb a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 =
  let {a1' = fromIntegral a1} in 
  let {a2' = fromIntegral a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = id a6} in 
  let {a7' = fromIntegral a7} in 
  let {a8' = id a8} in 
  let {a9' = id a9} in 
  let {a10' = id a10} in 
  let {a11' = id a11} in 
  let {a12' = id a12} in 
  dgbequb'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' a12' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 260 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

sgbequb :: (Int) -> (Int) -> (Int) -> (Int) -> (Int) -> (Ptr CFloat) -> (Int) -> (Ptr CFloat) -> (Ptr CFloat) -> (Ptr CFloat) -> (Ptr CFloat) -> (Ptr CFloat) -> IO ((Int))
sgbequb a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 =
  let {a1' = fromIntegral a1} in 
  let {a2' = fromIntegral a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = id a6} in 
  let {a7' = fromIntegral a7} in 
  let {a8' = id a8} in 
  let {a9' = id a9} in 
  let {a10' = id a10} in 
  let {a11' = id a11} in 
  let {a12' = id a12} in 
  sgbequb'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' a12' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 261 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

zgbequb :: (Int) -> (Int) -> (Int) -> (Int) -> (Int) -> (Ptr (Complex CDouble)) -> (Int) -> (Ptr CDouble) -> (Ptr CDouble) -> (Ptr CDouble) -> (Ptr CDouble) -> (Ptr CDouble) -> IO ((Int))
zgbequb a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 =
  let {a1' = fromIntegral a1} in 
  let {a2' = fromIntegral a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = castZomplexToPtr a6} in 
  let {a7' = fromIntegral a7} in 
  let {a8' = id a8} in 
  let {a9' = id a9} in 
  let {a10' = id a10} in 
  let {a11' = id a11} in 
  let {a12' = id a12} in 
  zgbequb'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' a12' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 262 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

cgeequb :: (Int) -> (Int) -> (Int) -> (Ptr (Complex CFloat)) -> (Int) -> (Ptr CFloat) -> (Ptr CFloat) -> (Ptr CFloat) -> (Ptr CFloat) -> (Ptr CFloat) -> IO ((Int))
cgeequb a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 =
  let {a1' = fromIntegral a1} in 
  let {a2' = fromIntegral a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = castComplexToPtr a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = id a6} in 
  let {a7' = id a7} in 
  let {a8' = id a8} in 
  let {a9' = id a9} in 
  let {a10' = id a10} in 
  cgeequb'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 263 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

dgeequb :: (Int) -> (Int) -> (Int) -> (Ptr CDouble) -> (Int) -> (Ptr CDouble) -> (Ptr CDouble) -> (Ptr CDouble) -> (Ptr CDouble) -> (Ptr CDouble) -> IO ((Int))
dgeequb a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 =
  let {a1' = fromIntegral a1} in 
  let {a2' = fromIntegral a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = id a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = id a6} in 
  let {a7' = id a7} in 
  let {a8' = id a8} in 
  let {a9' = id a9} in 
  let {a10' = id a10} in 
  dgeequb'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 264 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

sgeequb :: (Int) -> (Int) -> (Int) -> (Ptr CFloat) -> (Int) -> (Ptr CFloat) -> (Ptr CFloat) -> (Ptr CFloat) -> (Ptr CFloat) -> (Ptr CFloat) -> IO ((Int))
sgeequb a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 =
  let {a1' = fromIntegral a1} in 
  let {a2' = fromIntegral a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = id a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = id a6} in 
  let {a7' = id a7} in 
  let {a8' = id a8} in 
  let {a9' = id a9} in 
  let {a10' = id a10} in 
  sgeequb'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 265 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

zgeequb :: (Int) -> (Int) -> (Int) -> (Ptr (Complex CDouble)) -> (Int) -> (Ptr CDouble) -> (Ptr CDouble) -> (Ptr CDouble) -> (Ptr CDouble) -> (Ptr CDouble) -> IO ((Int))
zgeequb a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 =
  let {a1' = fromIntegral a1} in 
  let {a2' = fromIntegral a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = castZomplexToPtr a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = id a6} in 
  let {a7' = id a7} in 
  let {a8' = id a8} in 
  let {a9' = id a9} in 
  let {a10' = id a10} in 
  zgeequb'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 266 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

cheequb :: (Int) -> (CChar) -> (Int) -> (Ptr (Complex CFloat)) -> (Int) -> (Ptr CFloat) -> (Ptr CFloat) -> (Ptr CFloat) -> IO ((Int))
cheequb a1 a2 a3 a4 a5 a6 a7 a8 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = castComplexToPtr a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = id a6} in 
  let {a7' = id a7} in 
  let {a8' = id a8} in 
  cheequb'_ a1' a2' a3' a4' a5' a6' a7' a8' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 267 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

zheequb :: (Int) -> (CChar) -> (Int) -> (Ptr (Complex CDouble)) -> (Int) -> (Ptr CDouble) -> (Ptr CDouble) -> (Ptr CDouble) -> IO ((Int))
zheequb a1 a2 a3 a4 a5 a6 a7 a8 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = castZomplexToPtr a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = id a6} in 
  let {a7' = id a7} in 
  let {a8' = id a8} in 
  zheequb'_ a1' a2' a3' a4' a5' a6' a7' a8' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 268 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

cpoequb :: (Int) -> (Int) -> (Ptr (Complex CFloat)) -> (Int) -> (Ptr CFloat) -> (Ptr CFloat) -> (Ptr CFloat) -> IO ((Int))
cpoequb a1 a2 a3 a4 a5 a6 a7 =
  let {a1' = fromIntegral a1} in 
  let {a2' = fromIntegral a2} in 
  let {a3' = castComplexToPtr a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = id a5} in 
  let {a6' = id a6} in 
  let {a7' = id a7} in 
  cpoequb'_ a1' a2' a3' a4' a5' a6' a7' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 269 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

dpoequb :: (Int) -> (Int) -> (Ptr CDouble) -> (Int) -> (Ptr CDouble) -> (Ptr CDouble) -> (Ptr CDouble) -> IO ((Int))
dpoequb a1 a2 a3 a4 a5 a6 a7 =
  let {a1' = fromIntegral a1} in 
  let {a2' = fromIntegral a2} in 
  let {a3' = id a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = id a5} in 
  let {a6' = id a6} in 
  let {a7' = id a7} in 
  dpoequb'_ a1' a2' a3' a4' a5' a6' a7' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 270 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

spoequb :: (Int) -> (Int) -> (Ptr CFloat) -> (Int) -> (Ptr CFloat) -> (Ptr CFloat) -> (Ptr CFloat) -> IO ((Int))
spoequb a1 a2 a3 a4 a5 a6 a7 =
  let {a1' = fromIntegral a1} in 
  let {a2' = fromIntegral a2} in 
  let {a3' = id a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = id a5} in 
  let {a6' = id a6} in 
  let {a7' = id a7} in 
  spoequb'_ a1' a2' a3' a4' a5' a6' a7' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 271 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

zpoequb :: (Int) -> (Int) -> (Ptr (Complex CDouble)) -> (Int) -> (Ptr CDouble) -> (Ptr CDouble) -> (Ptr CDouble) -> IO ((Int))
zpoequb a1 a2 a3 a4 a5 a6 a7 =
  let {a1' = fromIntegral a1} in 
  let {a2' = fromIntegral a2} in 
  let {a3' = castZomplexToPtr a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = id a5} in 
  let {a6' = id a6} in 
  let {a7' = id a7} in 
  zpoequb'_ a1' a2' a3' a4' a5' a6' a7' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 272 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

csyequb :: (Int) -> (CChar) -> (Int) -> (Ptr (Complex CFloat)) -> (Int) -> (Ptr CFloat) -> (Ptr CFloat) -> (Ptr CFloat) -> IO ((Int))
csyequb a1 a2 a3 a4 a5 a6 a7 a8 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = castComplexToPtr a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = id a6} in 
  let {a7' = id a7} in 
  let {a8' = id a8} in 
  csyequb'_ a1' a2' a3' a4' a5' a6' a7' a8' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 273 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

dsyequb :: (Int) -> (CChar) -> (Int) -> (Ptr CDouble) -> (Int) -> (Ptr CDouble) -> (Ptr CDouble) -> (Ptr CDouble) -> IO ((Int))
dsyequb a1 a2 a3 a4 a5 a6 a7 a8 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = id a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = id a6} in 
  let {a7' = id a7} in 
  let {a8' = id a8} in 
  dsyequb'_ a1' a2' a3' a4' a5' a6' a7' a8' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 274 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

ssyequb :: (Int) -> (CChar) -> (Int) -> (Ptr CFloat) -> (Int) -> (Ptr CFloat) -> (Ptr CFloat) -> (Ptr CFloat) -> IO ((Int))
ssyequb a1 a2 a3 a4 a5 a6 a7 a8 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = id a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = id a6} in 
  let {a7' = id a7} in 
  let {a8' = id a8} in 
  ssyequb'_ a1' a2' a3' a4' a5' a6' a7' a8' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 275 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

zsyequb :: (Int) -> (CChar) -> (Int) -> (Ptr (Complex CDouble)) -> (Int) -> (Ptr CDouble) -> (Ptr CDouble) -> (Ptr CDouble) -> IO ((Int))
zsyequb a1 a2 a3 a4 a5 a6 a7 a8 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = castZomplexToPtr a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = id a6} in 
  let {a7' = id a7} in 
  let {a8' = id a8} in 
  zsyequb'_ a1' a2' a3' a4' a5' a6' a7' a8' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 276 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

chbgv :: (Int) -> (CChar) -> (CChar) -> (Int) -> (Int) -> (Int) -> (Ptr (Complex CFloat)) -> (Int) -> (Ptr (Complex CFloat)) -> (Int) -> (Ptr CFloat) -> (Ptr (Complex CFloat)) -> (Int) -> IO ((Int))
chbgv a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = castChar a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = fromIntegral a6} in 
  let {a7' = castComplexToPtr a7} in 
  let {a8' = fromIntegral a8} in 
  let {a9' = castComplexToPtr a9} in 
  let {a10' = fromIntegral a10} in 
  let {a11' = id a11} in 
  let {a12' = castComplexToPtr a12} in 
  let {a13' = fromIntegral a13} in 
  chbgv'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' a12' a13' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 277 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

zhbgv :: (Int) -> (CChar) -> (CChar) -> (Int) -> (Int) -> (Int) -> (Ptr (Complex CDouble)) -> (Int) -> (Ptr (Complex CDouble)) -> (Int) -> (Ptr CDouble) -> (Ptr (Complex CDouble)) -> (Int) -> IO ((Int))
zhbgv a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = castChar a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = fromIntegral a6} in 
  let {a7' = castZomplexToPtr a7} in 
  let {a8' = fromIntegral a8} in 
  let {a9' = castZomplexToPtr a9} in 
  let {a10' = fromIntegral a10} in 
  let {a11' = id a11} in 
  let {a12' = castZomplexToPtr a12} in 
  let {a13' = fromIntegral a13} in 
  zhbgv'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' a12' a13' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 278 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

dsbgv :: (Int) -> (CChar) -> (CChar) -> (Int) -> (Int) -> (Int) -> (Ptr CDouble) -> (Int) -> (Ptr CDouble) -> (Int) -> (Ptr CDouble) -> (Ptr CDouble) -> (Int) -> IO ((Int))
dsbgv a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = castChar a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = fromIntegral a6} in 
  let {a7' = id a7} in 
  let {a8' = fromIntegral a8} in 
  let {a9' = id a9} in 
  let {a10' = fromIntegral a10} in 
  let {a11' = id a11} in 
  let {a12' = id a12} in 
  let {a13' = fromIntegral a13} in 
  dsbgv'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' a12' a13' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 279 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

ssbgv :: (Int) -> (CChar) -> (CChar) -> (Int) -> (Int) -> (Int) -> (Ptr CFloat) -> (Int) -> (Ptr CFloat) -> (Int) -> (Ptr CFloat) -> (Ptr CFloat) -> (Int) -> IO ((Int))
ssbgv a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = castChar a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = fromIntegral a6} in 
  let {a7' = id a7} in 
  let {a8' = fromIntegral a8} in 
  let {a9' = id a9} in 
  let {a10' = fromIntegral a10} in 
  let {a11' = id a11} in 
  let {a12' = id a12} in 
  let {a13' = fromIntegral a13} in 
  ssbgv'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' a12' a13' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 280 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

chbgvd :: (Int) -> (CChar) -> (CChar) -> (Int) -> (Int) -> (Int) -> (Ptr (Complex CFloat)) -> (Int) -> (Ptr (Complex CFloat)) -> (Int) -> (Ptr CFloat) -> (Ptr (Complex CFloat)) -> (Int) -> IO ((Int))
chbgvd a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = castChar a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = fromIntegral a6} in 
  let {a7' = castComplexToPtr a7} in 
  let {a8' = fromIntegral a8} in 
  let {a9' = castComplexToPtr a9} in 
  let {a10' = fromIntegral a10} in 
  let {a11' = id a11} in 
  let {a12' = castComplexToPtr a12} in 
  let {a13' = fromIntegral a13} in 
  chbgvd'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' a12' a13' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 281 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

zhbgvd :: (Int) -> (CChar) -> (CChar) -> (Int) -> (Int) -> (Int) -> (Ptr (Complex CDouble)) -> (Int) -> (Ptr (Complex CDouble)) -> (Int) -> (Ptr CDouble) -> (Ptr (Complex CDouble)) -> (Int) -> IO ((Int))
zhbgvd a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = castChar a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = fromIntegral a6} in 
  let {a7' = castZomplexToPtr a7} in 
  let {a8' = fromIntegral a8} in 
  let {a9' = castZomplexToPtr a9} in 
  let {a10' = fromIntegral a10} in 
  let {a11' = id a11} in 
  let {a12' = castZomplexToPtr a12} in 
  let {a13' = fromIntegral a13} in 
  zhbgvd'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' a12' a13' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 282 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

dsbgvd :: (Int) -> (CChar) -> (CChar) -> (Int) -> (Int) -> (Int) -> (Ptr CDouble) -> (Int) -> (Ptr CDouble) -> (Int) -> (Ptr CDouble) -> (Ptr CDouble) -> (Int) -> IO ((Int))
dsbgvd a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = castChar a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = fromIntegral a6} in 
  let {a7' = id a7} in 
  let {a8' = fromIntegral a8} in 
  let {a9' = id a9} in 
  let {a10' = fromIntegral a10} in 
  let {a11' = id a11} in 
  let {a12' = id a12} in 
  let {a13' = fromIntegral a13} in 
  dsbgvd'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' a12' a13' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 283 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

ssbgvd :: (Int) -> (CChar) -> (CChar) -> (Int) -> (Int) -> (Int) -> (Ptr CFloat) -> (Int) -> (Ptr CFloat) -> (Int) -> (Ptr CFloat) -> (Ptr CFloat) -> (Int) -> IO ((Int))
ssbgvd a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = castChar a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = fromIntegral a6} in 
  let {a7' = id a7} in 
  let {a8' = fromIntegral a8} in 
  let {a9' = id a9} in 
  let {a10' = fromIntegral a10} in 
  let {a11' = id a11} in 
  let {a12' = id a12} in 
  let {a13' = fromIntegral a13} in 
  ssbgvd'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' a12' a13' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 284 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

chbgst :: (Int) -> (CChar) -> (CChar) -> (Int) -> (Int) -> (Int) -> (Ptr (Complex CFloat)) -> (Int) -> (Ptr (Complex CFloat)) -> (Int) -> (Ptr (Complex CFloat)) -> (Int) -> IO ((Int))
chbgst a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = castChar a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = fromIntegral a6} in 
  let {a7' = castComplexToPtr a7} in 
  let {a8' = fromIntegral a8} in 
  let {a9' = castComplexToPtr a9} in 
  let {a10' = fromIntegral a10} in 
  let {a11' = castComplexToPtr a11} in 
  let {a12' = fromIntegral a12} in 
  chbgst'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' a12' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 285 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

zhbgst :: (Int) -> (CChar) -> (CChar) -> (Int) -> (Int) -> (Int) -> (Ptr (Complex CDouble)) -> (Int) -> (Ptr (Complex CDouble)) -> (Int) -> (Ptr (Complex CDouble)) -> (Int) -> IO ((Int))
zhbgst a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = castChar a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = fromIntegral a6} in 
  let {a7' = castZomplexToPtr a7} in 
  let {a8' = fromIntegral a8} in 
  let {a9' = castZomplexToPtr a9} in 
  let {a10' = fromIntegral a10} in 
  let {a11' = castZomplexToPtr a11} in 
  let {a12' = fromIntegral a12} in 
  zhbgst'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' a12' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 286 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

chbgvx :: (Int) -> (CChar) -> (CChar) -> (CChar) -> (Int) -> (Int) -> (Int) -> (Ptr (Complex CFloat)) -> (Int) -> (Ptr (Complex CFloat)) -> (Int) -> (Ptr (Complex CFloat)) -> (Int) -> (CFloat) -> (CFloat) -> (Int) -> (Int) -> (CFloat) -> (Ptr CInt) -> (Ptr CFloat) -> (Ptr (Complex CFloat)) -> (Int) -> (Ptr CInt) -> IO ((Int))
chbgvx a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 a15 a16 a17 a18 a19 a20 a21 a22 a23 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = castChar a3} in 
  let {a4' = castChar a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = fromIntegral a6} in 
  let {a7' = fromIntegral a7} in 
  let {a8' = castComplexToPtr a8} in 
  let {a9' = fromIntegral a9} in 
  let {a10' = castComplexToPtr a10} in 
  let {a11' = fromIntegral a11} in 
  let {a12' = castComplexToPtr a12} in 
  let {a13' = fromIntegral a13} in 
  let {a14' = id a14} in 
  let {a15' = id a15} in 
  let {a16' = fromIntegral a16} in 
  let {a17' = fromIntegral a17} in 
  let {a18' = id a18} in 
  let {a19' = id a19} in 
  let {a20' = id a20} in 
  let {a21' = castComplexToPtr a21} in 
  let {a22' = fromIntegral a22} in 
  let {a23' = id a23} in 
  chbgvx'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' a12' a13' a14' a15' a16' a17' a18' a19' a20' a21' a22' a23' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 287 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

zhbgvx :: (Int) -> (CChar) -> (CChar) -> (CChar) -> (Int) -> (Int) -> (Int) -> (Ptr (Complex CDouble)) -> (Int) -> (Ptr (Complex CDouble)) -> (Int) -> (Ptr (Complex CDouble)) -> (Int) -> (CDouble) -> (CDouble) -> (Int) -> (Int) -> (CDouble) -> (Ptr CInt) -> (Ptr CDouble) -> (Ptr (Complex CDouble)) -> (Int) -> (Ptr CInt) -> IO ((Int))
zhbgvx a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 a15 a16 a17 a18 a19 a20 a21 a22 a23 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = castChar a3} in 
  let {a4' = castChar a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = fromIntegral a6} in 
  let {a7' = fromIntegral a7} in 
  let {a8' = castZomplexToPtr a8} in 
  let {a9' = fromIntegral a9} in 
  let {a10' = castZomplexToPtr a10} in 
  let {a11' = fromIntegral a11} in 
  let {a12' = castZomplexToPtr a12} in 
  let {a13' = fromIntegral a13} in 
  let {a14' = id a14} in 
  let {a15' = id a15} in 
  let {a16' = fromIntegral a16} in 
  let {a17' = fromIntegral a17} in 
  let {a18' = id a18} in 
  let {a19' = id a19} in 
  let {a20' = id a20} in 
  let {a21' = castZomplexToPtr a21} in 
  let {a22' = fromIntegral a22} in 
  let {a23' = id a23} in 
  zhbgvx'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' a12' a13' a14' a15' a16' a17' a18' a19' a20' a21' a22' a23' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 288 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

dsbgst :: (Int) -> (CChar) -> (CChar) -> (Int) -> (Int) -> (Int) -> (Ptr CDouble) -> (Int) -> (Ptr CDouble) -> (Int) -> (Ptr CDouble) -> (Int) -> IO ((Int))
dsbgst a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = castChar a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = fromIntegral a6} in 
  let {a7' = id a7} in 
  let {a8' = fromIntegral a8} in 
  let {a9' = id a9} in 
  let {a10' = fromIntegral a10} in 
  let {a11' = id a11} in 
  let {a12' = fromIntegral a12} in 
  dsbgst'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' a12' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 289 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

ssbgst :: (Int) -> (CChar) -> (CChar) -> (Int) -> (Int) -> (Int) -> (Ptr CFloat) -> (Int) -> (Ptr CFloat) -> (Int) -> (Ptr CFloat) -> (Int) -> IO ((Int))
ssbgst a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = castChar a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = fromIntegral a6} in 
  let {a7' = id a7} in 
  let {a8' = fromIntegral a8} in 
  let {a9' = id a9} in 
  let {a10' = fromIntegral a10} in 
  let {a11' = id a11} in 
  let {a12' = fromIntegral a12} in 
  ssbgst'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' a12' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 290 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

dsbgvx :: (Int) -> (CChar) -> (CChar) -> (CChar) -> (Int) -> (Int) -> (Int) -> (Ptr CDouble) -> (Int) -> (Ptr CDouble) -> (Int) -> (Ptr CDouble) -> (Int) -> (CDouble) -> (CDouble) -> (Int) -> (Int) -> (CDouble) -> (Ptr CInt) -> (Ptr CDouble) -> (Ptr CDouble) -> (Int) -> (Ptr CInt) -> IO ((Int))
dsbgvx a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 a15 a16 a17 a18 a19 a20 a21 a22 a23 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = castChar a3} in 
  let {a4' = castChar a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = fromIntegral a6} in 
  let {a7' = fromIntegral a7} in 
  let {a8' = id a8} in 
  let {a9' = fromIntegral a9} in 
  let {a10' = id a10} in 
  let {a11' = fromIntegral a11} in 
  let {a12' = id a12} in 
  let {a13' = fromIntegral a13} in 
  let {a14' = id a14} in 
  let {a15' = id a15} in 
  let {a16' = fromIntegral a16} in 
  let {a17' = fromIntegral a17} in 
  let {a18' = id a18} in 
  let {a19' = id a19} in 
  let {a20' = id a20} in 
  let {a21' = id a21} in 
  let {a22' = fromIntegral a22} in 
  let {a23' = id a23} in 
  dsbgvx'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' a12' a13' a14' a15' a16' a17' a18' a19' a20' a21' a22' a23' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 291 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

ssbgvx :: (Int) -> (CChar) -> (CChar) -> (CChar) -> (Int) -> (Int) -> (Int) -> (Ptr CFloat) -> (Int) -> (Ptr CFloat) -> (Int) -> (Ptr CFloat) -> (Int) -> (CFloat) -> (CFloat) -> (Int) -> (Int) -> (CFloat) -> (Ptr CInt) -> (Ptr CFloat) -> (Ptr CFloat) -> (Int) -> (Ptr CInt) -> IO ((Int))
ssbgvx a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 a15 a16 a17 a18 a19 a20 a21 a22 a23 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = castChar a3} in 
  let {a4' = castChar a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = fromIntegral a6} in 
  let {a7' = fromIntegral a7} in 
  let {a8' = id a8} in 
  let {a9' = fromIntegral a9} in 
  let {a10' = id a10} in 
  let {a11' = fromIntegral a11} in 
  let {a12' = id a12} in 
  let {a13' = fromIntegral a13} in 
  let {a14' = id a14} in 
  let {a15' = id a15} in 
  let {a16' = fromIntegral a16} in 
  let {a17' = fromIntegral a17} in 
  let {a18' = id a18} in 
  let {a19' = id a19} in 
  let {a20' = id a20} in 
  let {a21' = id a21} in 
  let {a22' = fromIntegral a22} in 
  let {a23' = id a23} in 
  ssbgvx'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' a12' a13' a14' a15' a16' a17' a18' a19' a20' a21' a22' a23' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 292 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

chegv :: (Int) -> (Int) -> (CChar) -> (CChar) -> (Int) -> (Ptr (Complex CFloat)) -> (Int) -> (Ptr (Complex CFloat)) -> (Int) -> (Ptr CFloat) -> IO ((Int))
chegv a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 =
  let {a1' = fromIntegral a1} in 
  let {a2' = fromIntegral a2} in 
  let {a3' = castChar a3} in 
  let {a4' = castChar a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = castComplexToPtr a6} in 
  let {a7' = fromIntegral a7} in 
  let {a8' = castComplexToPtr a8} in 
  let {a9' = fromIntegral a9} in 
  let {a10' = id a10} in 
  chegv'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 293 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

zhegv :: (Int) -> (Int) -> (CChar) -> (CChar) -> (Int) -> (Ptr (Complex CDouble)) -> (Int) -> (Ptr (Complex CDouble)) -> (Int) -> (Ptr CDouble) -> IO ((Int))
zhegv a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 =
  let {a1' = fromIntegral a1} in 
  let {a2' = fromIntegral a2} in 
  let {a3' = castChar a3} in 
  let {a4' = castChar a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = castZomplexToPtr a6} in 
  let {a7' = fromIntegral a7} in 
  let {a8' = castZomplexToPtr a8} in 
  let {a9' = fromIntegral a9} in 
  let {a10' = id a10} in 
  zhegv'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 294 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

chegvd :: (Int) -> (Int) -> (CChar) -> (CChar) -> (Int) -> (Ptr (Complex CFloat)) -> (Int) -> (Ptr (Complex CFloat)) -> (Int) -> (Ptr CFloat) -> IO ((Int))
chegvd a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 =
  let {a1' = fromIntegral a1} in 
  let {a2' = fromIntegral a2} in 
  let {a3' = castChar a3} in 
  let {a4' = castChar a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = castComplexToPtr a6} in 
  let {a7' = fromIntegral a7} in 
  let {a8' = castComplexToPtr a8} in 
  let {a9' = fromIntegral a9} in 
  let {a10' = id a10} in 
  chegvd'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 295 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

zhegvd :: (Int) -> (Int) -> (CChar) -> (CChar) -> (Int) -> (Ptr (Complex CDouble)) -> (Int) -> (Ptr (Complex CDouble)) -> (Int) -> (Ptr CDouble) -> IO ((Int))
zhegvd a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 =
  let {a1' = fromIntegral a1} in 
  let {a2' = fromIntegral a2} in 
  let {a3' = castChar a3} in 
  let {a4' = castChar a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = castZomplexToPtr a6} in 
  let {a7' = fromIntegral a7} in 
  let {a8' = castZomplexToPtr a8} in 
  let {a9' = fromIntegral a9} in 
  let {a10' = id a10} in 
  zhegvd'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 296 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

chegst :: (Int) -> (Int) -> (CChar) -> (Int) -> (Ptr (Complex CFloat)) -> (Int) -> (Ptr (Complex CFloat)) -> (Int) -> IO ((Int))
chegst a1 a2 a3 a4 a5 a6 a7 a8 =
  let {a1' = fromIntegral a1} in 
  let {a2' = fromIntegral a2} in 
  let {a3' = castChar a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = castComplexToPtr a5} in 
  let {a6' = fromIntegral a6} in 
  let {a7' = castComplexToPtr a7} in 
  let {a8' = fromIntegral a8} in 
  chegst'_ a1' a2' a3' a4' a5' a6' a7' a8' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 297 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

zhegst :: (Int) -> (Int) -> (CChar) -> (Int) -> (Ptr (Complex CDouble)) -> (Int) -> (Ptr (Complex CDouble)) -> (Int) -> IO ((Int))
zhegst a1 a2 a3 a4 a5 a6 a7 a8 =
  let {a1' = fromIntegral a1} in 
  let {a2' = fromIntegral a2} in 
  let {a3' = castChar a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = castZomplexToPtr a5} in 
  let {a6' = fromIntegral a6} in 
  let {a7' = castZomplexToPtr a7} in 
  let {a8' = fromIntegral a8} in 
  zhegst'_ a1' a2' a3' a4' a5' a6' a7' a8' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 298 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

chegvx :: (Int) -> (Int) -> (CChar) -> (CChar) -> (CChar) -> (Int) -> (Ptr (Complex CFloat)) -> (Int) -> (Ptr (Complex CFloat)) -> (Int) -> (CFloat) -> (CFloat) -> (Int) -> (Int) -> (CFloat) -> (Ptr CInt) -> (Ptr CFloat) -> (Ptr (Complex CFloat)) -> (Int) -> (Ptr CInt) -> IO ((Int))
chegvx a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 a15 a16 a17 a18 a19 a20 =
  let {a1' = fromIntegral a1} in 
  let {a2' = fromIntegral a2} in 
  let {a3' = castChar a3} in 
  let {a4' = castChar a4} in 
  let {a5' = castChar a5} in 
  let {a6' = fromIntegral a6} in 
  let {a7' = castComplexToPtr a7} in 
  let {a8' = fromIntegral a8} in 
  let {a9' = castComplexToPtr a9} in 
  let {a10' = fromIntegral a10} in 
  let {a11' = id a11} in 
  let {a12' = id a12} in 
  let {a13' = fromIntegral a13} in 
  let {a14' = fromIntegral a14} in 
  let {a15' = id a15} in 
  let {a16' = id a16} in 
  let {a17' = id a17} in 
  let {a18' = castComplexToPtr a18} in 
  let {a19' = fromIntegral a19} in 
  let {a20' = id a20} in 
  chegvx'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' a12' a13' a14' a15' a16' a17' a18' a19' a20' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 299 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

zhegvx :: (Int) -> (Int) -> (CChar) -> (CChar) -> (CChar) -> (Int) -> (Ptr (Complex CDouble)) -> (Int) -> (Ptr (Complex CDouble)) -> (Int) -> (CDouble) -> (CDouble) -> (Int) -> (Int) -> (CDouble) -> (Ptr CInt) -> (Ptr CDouble) -> (Ptr (Complex CDouble)) -> (Int) -> (Ptr CInt) -> IO ((Int))
zhegvx a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 a15 a16 a17 a18 a19 a20 =
  let {a1' = fromIntegral a1} in 
  let {a2' = fromIntegral a2} in 
  let {a3' = castChar a3} in 
  let {a4' = castChar a4} in 
  let {a5' = castChar a5} in 
  let {a6' = fromIntegral a6} in 
  let {a7' = castZomplexToPtr a7} in 
  let {a8' = fromIntegral a8} in 
  let {a9' = castZomplexToPtr a9} in 
  let {a10' = fromIntegral a10} in 
  let {a11' = id a11} in 
  let {a12' = id a12} in 
  let {a13' = fromIntegral a13} in 
  let {a14' = fromIntegral a14} in 
  let {a15' = id a15} in 
  let {a16' = id a16} in 
  let {a17' = id a17} in 
  let {a18' = castZomplexToPtr a18} in 
  let {a19' = fromIntegral a19} in 
  let {a20' = id a20} in 
  zhegvx'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' a12' a13' a14' a15' a16' a17' a18' a19' a20' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 300 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

cggglm :: (Int) -> (Int) -> (Int) -> (Int) -> (Ptr (Complex CFloat)) -> (Int) -> (Ptr (Complex CFloat)) -> (Int) -> (Ptr (Complex CFloat)) -> (Ptr (Complex CFloat)) -> (Ptr (Complex CFloat)) -> IO ((Int))
cggglm a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 =
  let {a1' = fromIntegral a1} in 
  let {a2' = fromIntegral a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = castComplexToPtr a5} in 
  let {a6' = fromIntegral a6} in 
  let {a7' = castComplexToPtr a7} in 
  let {a8' = fromIntegral a8} in 
  let {a9' = castComplexToPtr a9} in 
  let {a10' = castComplexToPtr a10} in 
  let {a11' = castComplexToPtr a11} in 
  cggglm'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 301 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

dggglm :: (Int) -> (Int) -> (Int) -> (Int) -> (Ptr CDouble) -> (Int) -> (Ptr CDouble) -> (Int) -> (Ptr CDouble) -> (Ptr CDouble) -> (Ptr CDouble) -> IO ((Int))
dggglm a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 =
  let {a1' = fromIntegral a1} in 
  let {a2' = fromIntegral a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = id a5} in 
  let {a6' = fromIntegral a6} in 
  let {a7' = id a7} in 
  let {a8' = fromIntegral a8} in 
  let {a9' = id a9} in 
  let {a10' = id a10} in 
  let {a11' = id a11} in 
  dggglm'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 302 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

sggglm :: (Int) -> (Int) -> (Int) -> (Int) -> (Ptr CFloat) -> (Int) -> (Ptr CFloat) -> (Int) -> (Ptr CFloat) -> (Ptr CFloat) -> (Ptr CFloat) -> IO ((Int))
sggglm a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 =
  let {a1' = fromIntegral a1} in 
  let {a2' = fromIntegral a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = id a5} in 
  let {a6' = fromIntegral a6} in 
  let {a7' = id a7} in 
  let {a8' = fromIntegral a8} in 
  let {a9' = id a9} in 
  let {a10' = id a10} in 
  let {a11' = id a11} in 
  sggglm'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 303 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

zggglm :: (Int) -> (Int) -> (Int) -> (Int) -> (Ptr (Complex CDouble)) -> (Int) -> (Ptr (Complex CDouble)) -> (Int) -> (Ptr (Complex CDouble)) -> (Ptr (Complex CDouble)) -> (Ptr (Complex CDouble)) -> IO ((Int))
zggglm a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 =
  let {a1' = fromIntegral a1} in 
  let {a2' = fromIntegral a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = castZomplexToPtr a5} in 
  let {a6' = fromIntegral a6} in 
  let {a7' = castZomplexToPtr a7} in 
  let {a8' = fromIntegral a8} in 
  let {a9' = castZomplexToPtr a9} in 
  let {a10' = castZomplexToPtr a10} in 
  let {a11' = castZomplexToPtr a11} in 
  zggglm'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 304 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

cungql :: (Int) -> (Int) -> (Int) -> (Int) -> (Ptr (Complex CFloat)) -> (Int) -> (Ptr (Complex CFloat)) -> IO ((Int))
cungql a1 a2 a3 a4 a5 a6 a7 =
  let {a1' = fromIntegral a1} in 
  let {a2' = fromIntegral a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = castComplexToPtr a5} in 
  let {a6' = fromIntegral a6} in 
  let {a7' = castComplexToPtr a7} in 
  cungql'_ a1' a2' a3' a4' a5' a6' a7' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 305 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

zungql :: (Int) -> (Int) -> (Int) -> (Int) -> (Ptr (Complex CDouble)) -> (Int) -> (Ptr (Complex CDouble)) -> IO ((Int))
zungql a1 a2 a3 a4 a5 a6 a7 =
  let {a1' = fromIntegral a1} in 
  let {a2' = fromIntegral a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = castZomplexToPtr a5} in 
  let {a6' = fromIntegral a6} in 
  let {a7' = castZomplexToPtr a7} in 
  zungql'_ a1' a2' a3' a4' a5' a6' a7' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 306 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

cunglq :: (Int) -> (Int) -> (Int) -> (Int) -> (Ptr (Complex CFloat)) -> (Int) -> (Ptr (Complex CFloat)) -> IO ((Int))
cunglq a1 a2 a3 a4 a5 a6 a7 =
  let {a1' = fromIntegral a1} in 
  let {a2' = fromIntegral a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = castComplexToPtr a5} in 
  let {a6' = fromIntegral a6} in 
  let {a7' = castComplexToPtr a7} in 
  cunglq'_ a1' a2' a3' a4' a5' a6' a7' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 307 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

cungrq :: (Int) -> (Int) -> (Int) -> (Int) -> (Ptr (Complex CFloat)) -> (Int) -> (Ptr (Complex CFloat)) -> IO ((Int))
cungrq a1 a2 a3 a4 a5 a6 a7 =
  let {a1' = fromIntegral a1} in 
  let {a2' = fromIntegral a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = castComplexToPtr a5} in 
  let {a6' = fromIntegral a6} in 
  let {a7' = castComplexToPtr a7} in 
  cungrq'_ a1' a2' a3' a4' a5' a6' a7' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 308 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

zunglq :: (Int) -> (Int) -> (Int) -> (Int) -> (Ptr (Complex CDouble)) -> (Int) -> (Ptr (Complex CDouble)) -> IO ((Int))
zunglq a1 a2 a3 a4 a5 a6 a7 =
  let {a1' = fromIntegral a1} in 
  let {a2' = fromIntegral a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = castZomplexToPtr a5} in 
  let {a6' = fromIntegral a6} in 
  let {a7' = castZomplexToPtr a7} in 
  zunglq'_ a1' a2' a3' a4' a5' a6' a7' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 309 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

zungrq :: (Int) -> (Int) -> (Int) -> (Int) -> (Ptr (Complex CDouble)) -> (Int) -> (Ptr (Complex CDouble)) -> IO ((Int))
zungrq a1 a2 a3 a4 a5 a6 a7 =
  let {a1' = fromIntegral a1} in 
  let {a2' = fromIntegral a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = castZomplexToPtr a5} in 
  let {a6' = fromIntegral a6} in 
  let {a7' = castZomplexToPtr a7} in 
  zungrq'_ a1' a2' a3' a4' a5' a6' a7' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 310 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

cungbr :: (Int) -> (CChar) -> (Int) -> (Int) -> (Int) -> (Ptr (Complex CFloat)) -> (Int) -> (Ptr (Complex CFloat)) -> IO ((Int))
cungbr a1 a2 a3 a4 a5 a6 a7 a8 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = castComplexToPtr a6} in 
  let {a7' = fromIntegral a7} in 
  let {a8' = castComplexToPtr a8} in 
  cungbr'_ a1' a2' a3' a4' a5' a6' a7' a8' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 311 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

cunghr :: (Int) -> (Int) -> (Int) -> (Int) -> (Ptr (Complex CFloat)) -> (Int) -> (Ptr (Complex CFloat)) -> IO ((Int))
cunghr a1 a2 a3 a4 a5 a6 a7 =
  let {a1' = fromIntegral a1} in 
  let {a2' = fromIntegral a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = castComplexToPtr a5} in 
  let {a6' = fromIntegral a6} in 
  let {a7' = castComplexToPtr a7} in 
  cunghr'_ a1' a2' a3' a4' a5' a6' a7' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 312 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

cungqr :: (Int) -> (Int) -> (Int) -> (Int) -> (Ptr (Complex CFloat)) -> (Int) -> (Ptr (Complex CFloat)) -> IO ((Int))
cungqr a1 a2 a3 a4 a5 a6 a7 =
  let {a1' = fromIntegral a1} in 
  let {a2' = fromIntegral a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = castComplexToPtr a5} in 
  let {a6' = fromIntegral a6} in 
  let {a7' = castComplexToPtr a7} in 
  cungqr'_ a1' a2' a3' a4' a5' a6' a7' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 313 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

cungtr :: (Int) -> (CChar) -> (Int) -> (Ptr (Complex CFloat)) -> (Int) -> (Ptr (Complex CFloat)) -> IO ((Int))
cungtr a1 a2 a3 a4 a5 a6 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = castComplexToPtr a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = castComplexToPtr a6} in 
  cungtr'_ a1' a2' a3' a4' a5' a6' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 314 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

zungbr :: (Int) -> (CChar) -> (Int) -> (Int) -> (Int) -> (Ptr (Complex CDouble)) -> (Int) -> (Ptr (Complex CDouble)) -> IO ((Int))
zungbr a1 a2 a3 a4 a5 a6 a7 a8 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = castZomplexToPtr a6} in 
  let {a7' = fromIntegral a7} in 
  let {a8' = castZomplexToPtr a8} in 
  zungbr'_ a1' a2' a3' a4' a5' a6' a7' a8' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 315 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

zunghr :: (Int) -> (Int) -> (Int) -> (Int) -> (Ptr (Complex CDouble)) -> (Int) -> (Ptr (Complex CDouble)) -> IO ((Int))
zunghr a1 a2 a3 a4 a5 a6 a7 =
  let {a1' = fromIntegral a1} in 
  let {a2' = fromIntegral a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = castZomplexToPtr a5} in 
  let {a6' = fromIntegral a6} in 
  let {a7' = castZomplexToPtr a7} in 
  zunghr'_ a1' a2' a3' a4' a5' a6' a7' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 316 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

zungqr :: (Int) -> (Int) -> (Int) -> (Int) -> (Ptr (Complex CDouble)) -> (Int) -> (Ptr (Complex CDouble)) -> IO ((Int))
zungqr a1 a2 a3 a4 a5 a6 a7 =
  let {a1' = fromIntegral a1} in 
  let {a2' = fromIntegral a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = castZomplexToPtr a5} in 
  let {a6' = fromIntegral a6} in 
  let {a7' = castZomplexToPtr a7} in 
  zungqr'_ a1' a2' a3' a4' a5' a6' a7' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 317 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

zungtr :: (Int) -> (CChar) -> (Int) -> (Ptr (Complex CDouble)) -> (Int) -> (Ptr (Complex CDouble)) -> IO ((Int))
zungtr a1 a2 a3 a4 a5 a6 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = castZomplexToPtr a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = castZomplexToPtr a6} in 
  zungtr'_ a1' a2' a3' a4' a5' a6' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 318 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

chpgv :: (Int) -> (Int) -> (CChar) -> (CChar) -> (Int) -> (Ptr (Complex CFloat)) -> (Ptr (Complex CFloat)) -> (Ptr CFloat) -> (Ptr (Complex CFloat)) -> (Int) -> IO ((Int))
chpgv a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 =
  let {a1' = fromIntegral a1} in 
  let {a2' = fromIntegral a2} in 
  let {a3' = castChar a3} in 
  let {a4' = castChar a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = castComplexToPtr a6} in 
  let {a7' = castComplexToPtr a7} in 
  let {a8' = id a8} in 
  let {a9' = castComplexToPtr a9} in 
  let {a10' = fromIntegral a10} in 
  chpgv'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 319 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

zhpgv :: (Int) -> (Int) -> (CChar) -> (CChar) -> (Int) -> (Ptr (Complex CDouble)) -> (Ptr (Complex CDouble)) -> (Ptr CDouble) -> (Ptr (Complex CDouble)) -> (Int) -> IO ((Int))
zhpgv a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 =
  let {a1' = fromIntegral a1} in 
  let {a2' = fromIntegral a2} in 
  let {a3' = castChar a3} in 
  let {a4' = castChar a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = castZomplexToPtr a6} in 
  let {a7' = castZomplexToPtr a7} in 
  let {a8' = id a8} in 
  let {a9' = castZomplexToPtr a9} in 
  let {a10' = fromIntegral a10} in 
  zhpgv'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 320 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

dspgv :: (Int) -> (Int) -> (CChar) -> (CChar) -> (Int) -> (Ptr CDouble) -> (Ptr CDouble) -> (Ptr CDouble) -> (Ptr CDouble) -> (Int) -> IO ((Int))
dspgv a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 =
  let {a1' = fromIntegral a1} in 
  let {a2' = fromIntegral a2} in 
  let {a3' = castChar a3} in 
  let {a4' = castChar a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = id a6} in 
  let {a7' = id a7} in 
  let {a8' = id a8} in 
  let {a9' = id a9} in 
  let {a10' = fromIntegral a10} in 
  dspgv'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 321 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

sspgv :: (Int) -> (Int) -> (CChar) -> (CChar) -> (Int) -> (Ptr CFloat) -> (Ptr CFloat) -> (Ptr CFloat) -> (Ptr CFloat) -> (Int) -> IO ((Int))
sspgv a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 =
  let {a1' = fromIntegral a1} in 
  let {a2' = fromIntegral a2} in 
  let {a3' = castChar a3} in 
  let {a4' = castChar a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = id a6} in 
  let {a7' = id a7} in 
  let {a8' = id a8} in 
  let {a9' = id a9} in 
  let {a10' = fromIntegral a10} in 
  sspgv'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 322 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

chpgvd :: (Int) -> (Int) -> (CChar) -> (CChar) -> (Int) -> (Ptr (Complex CFloat)) -> (Ptr (Complex CFloat)) -> (Ptr CFloat) -> (Ptr (Complex CFloat)) -> (Int) -> IO ((Int))
chpgvd a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 =
  let {a1' = fromIntegral a1} in 
  let {a2' = fromIntegral a2} in 
  let {a3' = castChar a3} in 
  let {a4' = castChar a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = castComplexToPtr a6} in 
  let {a7' = castComplexToPtr a7} in 
  let {a8' = id a8} in 
  let {a9' = castComplexToPtr a9} in 
  let {a10' = fromIntegral a10} in 
  chpgvd'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 323 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

zhpgvd :: (Int) -> (Int) -> (CChar) -> (CChar) -> (Int) -> (Ptr (Complex CDouble)) -> (Ptr (Complex CDouble)) -> (Ptr CDouble) -> (Ptr (Complex CDouble)) -> (Int) -> IO ((Int))
zhpgvd a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 =
  let {a1' = fromIntegral a1} in 
  let {a2' = fromIntegral a2} in 
  let {a3' = castChar a3} in 
  let {a4' = castChar a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = castZomplexToPtr a6} in 
  let {a7' = castZomplexToPtr a7} in 
  let {a8' = id a8} in 
  let {a9' = castZomplexToPtr a9} in 
  let {a10' = fromIntegral a10} in 
  zhpgvd'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 324 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

dspgvd :: (Int) -> (Int) -> (CChar) -> (CChar) -> (Int) -> (Ptr CDouble) -> (Ptr CDouble) -> (Ptr CDouble) -> (Ptr CDouble) -> (Int) -> IO ((Int))
dspgvd a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 =
  let {a1' = fromIntegral a1} in 
  let {a2' = fromIntegral a2} in 
  let {a3' = castChar a3} in 
  let {a4' = castChar a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = id a6} in 
  let {a7' = id a7} in 
  let {a8' = id a8} in 
  let {a9' = id a9} in 
  let {a10' = fromIntegral a10} in 
  dspgvd'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 325 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

sspgvd :: (Int) -> (Int) -> (CChar) -> (CChar) -> (Int) -> (Ptr CFloat) -> (Ptr CFloat) -> (Ptr CFloat) -> (Ptr CFloat) -> (Int) -> IO ((Int))
sspgvd a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 =
  let {a1' = fromIntegral a1} in 
  let {a2' = fromIntegral a2} in 
  let {a3' = castChar a3} in 
  let {a4' = castChar a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = id a6} in 
  let {a7' = id a7} in 
  let {a8' = id a8} in 
  let {a9' = id a9} in 
  let {a10' = fromIntegral a10} in 
  sspgvd'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 326 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

chpgst :: (Int) -> (Int) -> (CChar) -> (Int) -> (Ptr (Complex CFloat)) -> (Ptr (Complex CFloat)) -> IO ((Int))
chpgst a1 a2 a3 a4 a5 a6 =
  let {a1' = fromIntegral a1} in 
  let {a2' = fromIntegral a2} in 
  let {a3' = castChar a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = castComplexToPtr a5} in 
  let {a6' = castComplexToPtr a6} in 
  chpgst'_ a1' a2' a3' a4' a5' a6' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 327 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

zhpgst :: (Int) -> (Int) -> (CChar) -> (Int) -> (Ptr (Complex CDouble)) -> (Ptr (Complex CDouble)) -> IO ((Int))
zhpgst a1 a2 a3 a4 a5 a6 =
  let {a1' = fromIntegral a1} in 
  let {a2' = fromIntegral a2} in 
  let {a3' = castChar a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = castZomplexToPtr a5} in 
  let {a6' = castZomplexToPtr a6} in 
  zhpgst'_ a1' a2' a3' a4' a5' a6' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 328 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

chpgvx :: (Int) -> (Int) -> (CChar) -> (CChar) -> (CChar) -> (Int) -> (Ptr (Complex CFloat)) -> (Ptr (Complex CFloat)) -> (CFloat) -> (CFloat) -> (Int) -> (Int) -> (CFloat) -> (Ptr CInt) -> (Ptr CFloat) -> (Ptr (Complex CFloat)) -> (Int) -> (Ptr CInt) -> IO ((Int))
chpgvx a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 a15 a16 a17 a18 =
  let {a1' = fromIntegral a1} in 
  let {a2' = fromIntegral a2} in 
  let {a3' = castChar a3} in 
  let {a4' = castChar a4} in 
  let {a5' = castChar a5} in 
  let {a6' = fromIntegral a6} in 
  let {a7' = castComplexToPtr a7} in 
  let {a8' = castComplexToPtr a8} in 
  let {a9' = id a9} in 
  let {a10' = id a10} in 
  let {a11' = fromIntegral a11} in 
  let {a12' = fromIntegral a12} in 
  let {a13' = id a13} in 
  let {a14' = id a14} in 
  let {a15' = id a15} in 
  let {a16' = castComplexToPtr a16} in 
  let {a17' = fromIntegral a17} in 
  let {a18' = id a18} in 
  chpgvx'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' a12' a13' a14' a15' a16' a17' a18' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 329 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

zhpgvx :: (Int) -> (Int) -> (CChar) -> (CChar) -> (CChar) -> (Int) -> (Ptr (Complex CDouble)) -> (Ptr (Complex CDouble)) -> (CDouble) -> (CDouble) -> (Int) -> (Int) -> (CDouble) -> (Ptr CInt) -> (Ptr CDouble) -> (Ptr (Complex CDouble)) -> (Int) -> (Ptr CInt) -> IO ((Int))
zhpgvx a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 a15 a16 a17 a18 =
  let {a1' = fromIntegral a1} in 
  let {a2' = fromIntegral a2} in 
  let {a3' = castChar a3} in 
  let {a4' = castChar a4} in 
  let {a5' = castChar a5} in 
  let {a6' = fromIntegral a6} in 
  let {a7' = castZomplexToPtr a7} in 
  let {a8' = castZomplexToPtr a8} in 
  let {a9' = id a9} in 
  let {a10' = id a10} in 
  let {a11' = fromIntegral a11} in 
  let {a12' = fromIntegral a12} in 
  let {a13' = id a13} in 
  let {a14' = id a14} in 
  let {a15' = id a15} in 
  let {a16' = castZomplexToPtr a16} in 
  let {a17' = fromIntegral a17} in 
  let {a18' = id a18} in 
  zhpgvx'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' a12' a13' a14' a15' a16' a17' a18' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 330 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

dopgtr :: (Int) -> (CChar) -> (Int) -> (Ptr CDouble) -> (Ptr CDouble) -> (Ptr CDouble) -> (Int) -> IO ((Int))
dopgtr a1 a2 a3 a4 a5 a6 a7 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = id a4} in 
  let {a5' = id a5} in 
  let {a6' = id a6} in 
  let {a7' = fromIntegral a7} in 
  dopgtr'_ a1' a2' a3' a4' a5' a6' a7' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 331 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

sopgtr :: (Int) -> (CChar) -> (Int) -> (Ptr CFloat) -> (Ptr CFloat) -> (Ptr CFloat) -> (Int) -> IO ((Int))
sopgtr a1 a2 a3 a4 a5 a6 a7 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = id a4} in 
  let {a5' = id a5} in 
  let {a6' = id a6} in 
  let {a7' = fromIntegral a7} in 
  sopgtr'_ a1' a2' a3' a4' a5' a6' a7' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 332 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

cupgtr :: (Int) -> (CChar) -> (Int) -> (Ptr (Complex CFloat)) -> (Ptr (Complex CFloat)) -> (Ptr (Complex CFloat)) -> (Int) -> IO ((Int))
cupgtr a1 a2 a3 a4 a5 a6 a7 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = castComplexToPtr a4} in 
  let {a5' = castComplexToPtr a5} in 
  let {a6' = castComplexToPtr a6} in 
  let {a7' = fromIntegral a7} in 
  cupgtr'_ a1' a2' a3' a4' a5' a6' a7' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 333 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

dspgst :: (Int) -> (Int) -> (CChar) -> (Int) -> (Ptr CDouble) -> (Ptr CDouble) -> IO ((Int))
dspgst a1 a2 a3 a4 a5 a6 =
  let {a1' = fromIntegral a1} in 
  let {a2' = fromIntegral a2} in 
  let {a3' = castChar a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = id a5} in 
  let {a6' = id a6} in 
  dspgst'_ a1' a2' a3' a4' a5' a6' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 334 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

sspgst :: (Int) -> (Int) -> (CChar) -> (Int) -> (Ptr CFloat) -> (Ptr CFloat) -> IO ((Int))
sspgst a1 a2 a3 a4 a5 a6 =
  let {a1' = fromIntegral a1} in 
  let {a2' = fromIntegral a2} in 
  let {a3' = castChar a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = id a5} in 
  let {a6' = id a6} in 
  sspgst'_ a1' a2' a3' a4' a5' a6' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 335 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

zupgtr :: (Int) -> (CChar) -> (Int) -> (Ptr (Complex CDouble)) -> (Ptr (Complex CDouble)) -> (Ptr (Complex CDouble)) -> (Int) -> IO ((Int))
zupgtr a1 a2 a3 a4 a5 a6 a7 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = castZomplexToPtr a4} in 
  let {a5' = castZomplexToPtr a5} in 
  let {a6' = castZomplexToPtr a6} in 
  let {a7' = fromIntegral a7} in 
  zupgtr'_ a1' a2' a3' a4' a5' a6' a7' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 336 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

dspgvx :: (Int) -> (Int) -> (CChar) -> (CChar) -> (CChar) -> (Int) -> (Ptr CDouble) -> (Ptr CDouble) -> (CDouble) -> (CDouble) -> (Int) -> (Int) -> (CDouble) -> (Ptr CInt) -> (Ptr CDouble) -> (Ptr CDouble) -> (Int) -> (Ptr CInt) -> IO ((Int))
dspgvx a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 a15 a16 a17 a18 =
  let {a1' = fromIntegral a1} in 
  let {a2' = fromIntegral a2} in 
  let {a3' = castChar a3} in 
  let {a4' = castChar a4} in 
  let {a5' = castChar a5} in 
  let {a6' = fromIntegral a6} in 
  let {a7' = id a7} in 
  let {a8' = id a8} in 
  let {a9' = id a9} in 
  let {a10' = id a10} in 
  let {a11' = fromIntegral a11} in 
  let {a12' = fromIntegral a12} in 
  let {a13' = id a13} in 
  let {a14' = id a14} in 
  let {a15' = id a15} in 
  let {a16' = id a16} in 
  let {a17' = fromIntegral a17} in 
  let {a18' = id a18} in 
  dspgvx'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' a12' a13' a14' a15' a16' a17' a18' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 337 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

sspgvx :: (Int) -> (Int) -> (CChar) -> (CChar) -> (CChar) -> (Int) -> (Ptr CFloat) -> (Ptr CFloat) -> (CFloat) -> (CFloat) -> (Int) -> (Int) -> (CFloat) -> (Ptr CInt) -> (Ptr CFloat) -> (Ptr CFloat) -> (Int) -> (Ptr CInt) -> IO ((Int))
sspgvx a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 a15 a16 a17 a18 =
  let {a1' = fromIntegral a1} in 
  let {a2' = fromIntegral a2} in 
  let {a3' = castChar a3} in 
  let {a4' = castChar a4} in 
  let {a5' = castChar a5} in 
  let {a6' = fromIntegral a6} in 
  let {a7' = id a7} in 
  let {a8' = id a8} in 
  let {a9' = id a9} in 
  let {a10' = id a10} in 
  let {a11' = fromIntegral a11} in 
  let {a12' = fromIntegral a12} in 
  let {a13' = id a13} in 
  let {a14' = id a14} in 
  let {a15' = id a15} in 
  let {a16' = id a16} in 
  let {a17' = fromIntegral a17} in 
  let {a18' = id a18} in 
  sspgvx'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' a12' a13' a14' a15' a16' a17' a18' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 338 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

dorgql :: (Int) -> (Int) -> (Int) -> (Int) -> (Ptr CDouble) -> (Int) -> (Ptr CDouble) -> IO ((Int))
dorgql a1 a2 a3 a4 a5 a6 a7 =
  let {a1' = fromIntegral a1} in 
  let {a2' = fromIntegral a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = id a5} in 
  let {a6' = fromIntegral a6} in 
  let {a7' = id a7} in 
  dorgql'_ a1' a2' a3' a4' a5' a6' a7' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 339 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

sorgql :: (Int) -> (Int) -> (Int) -> (Int) -> (Ptr CFloat) -> (Int) -> (Ptr CFloat) -> IO ((Int))
sorgql a1 a2 a3 a4 a5 a6 a7 =
  let {a1' = fromIntegral a1} in 
  let {a2' = fromIntegral a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = id a5} in 
  let {a6' = fromIntegral a6} in 
  let {a7' = id a7} in 
  sorgql'_ a1' a2' a3' a4' a5' a6' a7' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 340 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

dorglq :: (Int) -> (Int) -> (Int) -> (Int) -> (Ptr CDouble) -> (Int) -> (Ptr CDouble) -> IO ((Int))
dorglq a1 a2 a3 a4 a5 a6 a7 =
  let {a1' = fromIntegral a1} in 
  let {a2' = fromIntegral a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = id a5} in 
  let {a6' = fromIntegral a6} in 
  let {a7' = id a7} in 
  dorglq'_ a1' a2' a3' a4' a5' a6' a7' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 341 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

dorgrq :: (Int) -> (Int) -> (Int) -> (Int) -> (Ptr CDouble) -> (Int) -> (Ptr CDouble) -> IO ((Int))
dorgrq a1 a2 a3 a4 a5 a6 a7 =
  let {a1' = fromIntegral a1} in 
  let {a2' = fromIntegral a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = id a5} in 
  let {a6' = fromIntegral a6} in 
  let {a7' = id a7} in 
  dorgrq'_ a1' a2' a3' a4' a5' a6' a7' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 342 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

sorglq :: (Int) -> (Int) -> (Int) -> (Int) -> (Ptr CFloat) -> (Int) -> (Ptr CFloat) -> IO ((Int))
sorglq a1 a2 a3 a4 a5 a6 a7 =
  let {a1' = fromIntegral a1} in 
  let {a2' = fromIntegral a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = id a5} in 
  let {a6' = fromIntegral a6} in 
  let {a7' = id a7} in 
  sorglq'_ a1' a2' a3' a4' a5' a6' a7' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 343 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

sorgrq :: (Int) -> (Int) -> (Int) -> (Int) -> (Ptr CFloat) -> (Int) -> (Ptr CFloat) -> IO ((Int))
sorgrq a1 a2 a3 a4 a5 a6 a7 =
  let {a1' = fromIntegral a1} in 
  let {a2' = fromIntegral a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = id a5} in 
  let {a6' = fromIntegral a6} in 
  let {a7' = id a7} in 
  sorgrq'_ a1' a2' a3' a4' a5' a6' a7' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 344 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

dorgbr :: (Int) -> (CChar) -> (Int) -> (Int) -> (Int) -> (Ptr CDouble) -> (Int) -> (Ptr CDouble) -> IO ((Int))
dorgbr a1 a2 a3 a4 a5 a6 a7 a8 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = id a6} in 
  let {a7' = fromIntegral a7} in 
  let {a8' = id a8} in 
  dorgbr'_ a1' a2' a3' a4' a5' a6' a7' a8' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 345 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

dorghr :: (Int) -> (Int) -> (Int) -> (Int) -> (Ptr CDouble) -> (Int) -> (Ptr CDouble) -> IO ((Int))
dorghr a1 a2 a3 a4 a5 a6 a7 =
  let {a1' = fromIntegral a1} in 
  let {a2' = fromIntegral a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = id a5} in 
  let {a6' = fromIntegral a6} in 
  let {a7' = id a7} in 
  dorghr'_ a1' a2' a3' a4' a5' a6' a7' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 346 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

dorgqr :: (Int) -> (Int) -> (Int) -> (Int) -> (Ptr CDouble) -> (Int) -> (Ptr CDouble) -> IO ((Int))
dorgqr a1 a2 a3 a4 a5 a6 a7 =
  let {a1' = fromIntegral a1} in 
  let {a2' = fromIntegral a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = id a5} in 
  let {a6' = fromIntegral a6} in 
  let {a7' = id a7} in 
  dorgqr'_ a1' a2' a3' a4' a5' a6' a7' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 347 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

sorgbr :: (Int) -> (CChar) -> (Int) -> (Int) -> (Int) -> (Ptr CFloat) -> (Int) -> (Ptr CFloat) -> IO ((Int))
sorgbr a1 a2 a3 a4 a5 a6 a7 a8 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = id a6} in 
  let {a7' = fromIntegral a7} in 
  let {a8' = id a8} in 
  sorgbr'_ a1' a2' a3' a4' a5' a6' a7' a8' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 348 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

dorgtr :: (Int) -> (CChar) -> (Int) -> (Ptr CDouble) -> (Int) -> (Ptr CDouble) -> IO ((Int))
dorgtr a1 a2 a3 a4 a5 a6 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = id a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = id a6} in 
  dorgtr'_ a1' a2' a3' a4' a5' a6' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 349 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

sorghr :: (Int) -> (Int) -> (Int) -> (Int) -> (Ptr CFloat) -> (Int) -> (Ptr CFloat) -> IO ((Int))
sorghr a1 a2 a3 a4 a5 a6 a7 =
  let {a1' = fromIntegral a1} in 
  let {a2' = fromIntegral a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = id a5} in 
  let {a6' = fromIntegral a6} in 
  let {a7' = id a7} in 
  sorghr'_ a1' a2' a3' a4' a5' a6' a7' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 350 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

sorgqr :: (Int) -> (Int) -> (Int) -> (Int) -> (Ptr CFloat) -> (Int) -> (Ptr CFloat) -> IO ((Int))
sorgqr a1 a2 a3 a4 a5 a6 a7 =
  let {a1' = fromIntegral a1} in 
  let {a2' = fromIntegral a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = id a5} in 
  let {a6' = fromIntegral a6} in 
  let {a7' = id a7} in 
  sorgqr'_ a1' a2' a3' a4' a5' a6' a7' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 351 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

sorgtr :: (Int) -> (CChar) -> (Int) -> (Ptr CFloat) -> (Int) -> (Ptr CFloat) -> IO ((Int))
sorgtr a1 a2 a3 a4 a5 a6 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = id a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = id a6} in 
  sorgtr'_ a1' a2' a3' a4' a5' a6' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 352 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

dsygv :: (Int) -> (Int) -> (CChar) -> (CChar) -> (Int) -> (Ptr CDouble) -> (Int) -> (Ptr CDouble) -> (Int) -> (Ptr CDouble) -> IO ((Int))
dsygv a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 =
  let {a1' = fromIntegral a1} in 
  let {a2' = fromIntegral a2} in 
  let {a3' = castChar a3} in 
  let {a4' = castChar a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = id a6} in 
  let {a7' = fromIntegral a7} in 
  let {a8' = id a8} in 
  let {a9' = fromIntegral a9} in 
  let {a10' = id a10} in 
  dsygv'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 353 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

ssygv :: (Int) -> (Int) -> (CChar) -> (CChar) -> (Int) -> (Ptr CFloat) -> (Int) -> (Ptr CFloat) -> (Int) -> (Ptr CFloat) -> IO ((Int))
ssygv a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 =
  let {a1' = fromIntegral a1} in 
  let {a2' = fromIntegral a2} in 
  let {a3' = castChar a3} in 
  let {a4' = castChar a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = id a6} in 
  let {a7' = fromIntegral a7} in 
  let {a8' = id a8} in 
  let {a9' = fromIntegral a9} in 
  let {a10' = id a10} in 
  ssygv'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 354 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

dsygvd :: (Int) -> (Int) -> (CChar) -> (CChar) -> (Int) -> (Ptr CDouble) -> (Int) -> (Ptr CDouble) -> (Int) -> (Ptr CDouble) -> IO ((Int))
dsygvd a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 =
  let {a1' = fromIntegral a1} in 
  let {a2' = fromIntegral a2} in 
  let {a3' = castChar a3} in 
  let {a4' = castChar a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = id a6} in 
  let {a7' = fromIntegral a7} in 
  let {a8' = id a8} in 
  let {a9' = fromIntegral a9} in 
  let {a10' = id a10} in 
  dsygvd'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 355 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

ssygvd :: (Int) -> (Int) -> (CChar) -> (CChar) -> (Int) -> (Ptr CFloat) -> (Int) -> (Ptr CFloat) -> (Int) -> (Ptr CFloat) -> IO ((Int))
ssygvd a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 =
  let {a1' = fromIntegral a1} in 
  let {a2' = fromIntegral a2} in 
  let {a3' = castChar a3} in 
  let {a4' = castChar a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = id a6} in 
  let {a7' = fromIntegral a7} in 
  let {a8' = id a8} in 
  let {a9' = fromIntegral a9} in 
  let {a10' = id a10} in 
  ssygvd'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 356 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

dsygst :: (Int) -> (Int) -> (CChar) -> (Int) -> (Ptr CDouble) -> (Int) -> (Ptr CDouble) -> (Int) -> IO ((Int))
dsygst a1 a2 a3 a4 a5 a6 a7 a8 =
  let {a1' = fromIntegral a1} in 
  let {a2' = fromIntegral a2} in 
  let {a3' = castChar a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = id a5} in 
  let {a6' = fromIntegral a6} in 
  let {a7' = id a7} in 
  let {a8' = fromIntegral a8} in 
  dsygst'_ a1' a2' a3' a4' a5' a6' a7' a8' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 357 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

ssygst :: (Int) -> (Int) -> (CChar) -> (Int) -> (Ptr CFloat) -> (Int) -> (Ptr CFloat) -> (Int) -> IO ((Int))
ssygst a1 a2 a3 a4 a5 a6 a7 a8 =
  let {a1' = fromIntegral a1} in 
  let {a2' = fromIntegral a2} in 
  let {a3' = castChar a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = id a5} in 
  let {a6' = fromIntegral a6} in 
  let {a7' = id a7} in 
  let {a8' = fromIntegral a8} in 
  ssygst'_ a1' a2' a3' a4' a5' a6' a7' a8' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 358 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

dsygvx :: (Int) -> (Int) -> (CChar) -> (CChar) -> (CChar) -> (Int) -> (Ptr CDouble) -> (Int) -> (Ptr CDouble) -> (Int) -> (CDouble) -> (CDouble) -> (Int) -> (Int) -> (CDouble) -> (Ptr CInt) -> (Ptr CDouble) -> (Ptr CDouble) -> (Int) -> (Ptr CInt) -> IO ((Int))
dsygvx a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 a15 a16 a17 a18 a19 a20 =
  let {a1' = fromIntegral a1} in 
  let {a2' = fromIntegral a2} in 
  let {a3' = castChar a3} in 
  let {a4' = castChar a4} in 
  let {a5' = castChar a5} in 
  let {a6' = fromIntegral a6} in 
  let {a7' = id a7} in 
  let {a8' = fromIntegral a8} in 
  let {a9' = id a9} in 
  let {a10' = fromIntegral a10} in 
  let {a11' = id a11} in 
  let {a12' = id a12} in 
  let {a13' = fromIntegral a13} in 
  let {a14' = fromIntegral a14} in 
  let {a15' = id a15} in 
  let {a16' = id a16} in 
  let {a17' = id a17} in 
  let {a18' = id a18} in 
  let {a19' = fromIntegral a19} in 
  let {a20' = id a20} in 
  dsygvx'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' a12' a13' a14' a15' a16' a17' a18' a19' a20' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 359 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

ssygvx :: (Int) -> (Int) -> (CChar) -> (CChar) -> (CChar) -> (Int) -> (Ptr CFloat) -> (Int) -> (Ptr CFloat) -> (Int) -> (CFloat) -> (CFloat) -> (Int) -> (Int) -> (CFloat) -> (Ptr CInt) -> (Ptr CFloat) -> (Ptr CFloat) -> (Int) -> (Ptr CInt) -> IO ((Int))
ssygvx a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 a15 a16 a17 a18 a19 a20 =
  let {a1' = fromIntegral a1} in 
  let {a2' = fromIntegral a2} in 
  let {a3' = castChar a3} in 
  let {a4' = castChar a4} in 
  let {a5' = castChar a5} in 
  let {a6' = fromIntegral a6} in 
  let {a7' = id a7} in 
  let {a8' = fromIntegral a8} in 
  let {a9' = id a9} in 
  let {a10' = fromIntegral a10} in 
  let {a11' = id a11} in 
  let {a12' = id a12} in 
  let {a13' = fromIntegral a13} in 
  let {a14' = fromIntegral a14} in 
  let {a15' = id a15} in 
  let {a16' = id a16} in 
  let {a17' = id a17} in 
  let {a18' = id a18} in 
  let {a19' = fromIntegral a19} in 
  let {a20' = id a20} in 
  ssygvx'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' a12' a13' a14' a15' a16' a17' a18' a19' a20' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 360 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

cgehrd :: (Int) -> (Int) -> (Int) -> (Int) -> (Ptr (Complex CFloat)) -> (Int) -> (Ptr (Complex CFloat)) -> IO ((Int))
cgehrd a1 a2 a3 a4 a5 a6 a7 =
  let {a1' = fromIntegral a1} in 
  let {a2' = fromIntegral a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = castComplexToPtr a5} in 
  let {a6' = fromIntegral a6} in 
  let {a7' = castComplexToPtr a7} in 
  cgehrd'_ a1' a2' a3' a4' a5' a6' a7' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 361 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

dgehrd :: (Int) -> (Int) -> (Int) -> (Int) -> (Ptr CDouble) -> (Int) -> (Ptr CDouble) -> IO ((Int))
dgehrd a1 a2 a3 a4 a5 a6 a7 =
  let {a1' = fromIntegral a1} in 
  let {a2' = fromIntegral a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = id a5} in 
  let {a6' = fromIntegral a6} in 
  let {a7' = id a7} in 
  dgehrd'_ a1' a2' a3' a4' a5' a6' a7' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 362 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

sgehrd :: (Int) -> (Int) -> (Int) -> (Int) -> (Ptr CFloat) -> (Int) -> (Ptr CFloat) -> IO ((Int))
sgehrd a1 a2 a3 a4 a5 a6 a7 =
  let {a1' = fromIntegral a1} in 
  let {a2' = fromIntegral a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = id a5} in 
  let {a6' = fromIntegral a6} in 
  let {a7' = id a7} in 
  sgehrd'_ a1' a2' a3' a4' a5' a6' a7' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 363 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

zgehrd :: (Int) -> (Int) -> (Int) -> (Int) -> (Ptr (Complex CDouble)) -> (Int) -> (Ptr (Complex CDouble)) -> IO ((Int))
zgehrd a1 a2 a3 a4 a5 a6 a7 =
  let {a1' = fromIntegral a1} in 
  let {a2' = fromIntegral a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = castZomplexToPtr a5} in 
  let {a6' = fromIntegral a6} in 
  let {a7' = castZomplexToPtr a7} in 
  zgehrd'_ a1' a2' a3' a4' a5' a6' a7' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 364 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

cgghrd :: (Int) -> (CChar) -> (CChar) -> (Int) -> (Int) -> (Int) -> (Ptr (Complex CFloat)) -> (Int) -> (Ptr (Complex CFloat)) -> (Int) -> (Ptr (Complex CFloat)) -> (Int) -> (Ptr (Complex CFloat)) -> (Int) -> IO ((Int))
cgghrd a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = castChar a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = fromIntegral a6} in 
  let {a7' = castComplexToPtr a7} in 
  let {a8' = fromIntegral a8} in 
  let {a9' = castComplexToPtr a9} in 
  let {a10' = fromIntegral a10} in 
  let {a11' = castComplexToPtr a11} in 
  let {a12' = fromIntegral a12} in 
  let {a13' = castComplexToPtr a13} in 
  let {a14' = fromIntegral a14} in 
  cgghrd'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' a12' a13' a14' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 365 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

dgghrd :: (Int) -> (CChar) -> (CChar) -> (Int) -> (Int) -> (Int) -> (Ptr CDouble) -> (Int) -> (Ptr CDouble) -> (Int) -> (Ptr CDouble) -> (Int) -> (Ptr CDouble) -> (Int) -> IO ((Int))
dgghrd a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = castChar a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = fromIntegral a6} in 
  let {a7' = id a7} in 
  let {a8' = fromIntegral a8} in 
  let {a9' = id a9} in 
  let {a10' = fromIntegral a10} in 
  let {a11' = id a11} in 
  let {a12' = fromIntegral a12} in 
  let {a13' = id a13} in 
  let {a14' = fromIntegral a14} in 
  dgghrd'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' a12' a13' a14' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 366 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

sgghrd :: (Int) -> (CChar) -> (CChar) -> (Int) -> (Int) -> (Int) -> (Ptr CFloat) -> (Int) -> (Ptr CFloat) -> (Int) -> (Ptr CFloat) -> (Int) -> (Ptr CFloat) -> (Int) -> IO ((Int))
sgghrd a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = castChar a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = fromIntegral a6} in 
  let {a7' = id a7} in 
  let {a8' = fromIntegral a8} in 
  let {a9' = id a9} in 
  let {a10' = fromIntegral a10} in 
  let {a11' = id a11} in 
  let {a12' = fromIntegral a12} in 
  let {a13' = id a13} in 
  let {a14' = fromIntegral a14} in 
  sgghrd'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' a12' a13' a14' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 367 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

zgghrd :: (Int) -> (CChar) -> (CChar) -> (Int) -> (Int) -> (Int) -> (Ptr (Complex CDouble)) -> (Int) -> (Ptr (Complex CDouble)) -> (Int) -> (Ptr (Complex CDouble)) -> (Int) -> (Ptr (Complex CDouble)) -> (Int) -> IO ((Int))
zgghrd a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = castChar a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = fromIntegral a6} in 
  let {a7' = castZomplexToPtr a7} in 
  let {a8' = fromIntegral a8} in 
  let {a9' = castZomplexToPtr a9} in 
  let {a10' = fromIntegral a10} in 
  let {a11' = castZomplexToPtr a11} in 
  let {a12' = fromIntegral a12} in 
  let {a13' = castZomplexToPtr a13} in 
  let {a14' = fromIntegral a14} in 
  zgghrd'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' a12' a13' a14' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 368 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

dgejsv :: (Int) -> (CChar) -> (CChar) -> (CChar) -> (CChar) -> (CChar) -> (CChar) -> (Int) -> (Int) -> (Ptr CDouble) -> (Int) -> (Ptr CDouble) -> (Ptr CDouble) -> (Int) -> (Ptr CDouble) -> (Int) -> (Ptr CDouble) -> (Ptr CInt) -> IO ((Int))
dgejsv a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 a15 a16 a17 a18 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = castChar a3} in 
  let {a4' = castChar a4} in 
  let {a5' = castChar a5} in 
  let {a6' = castChar a6} in 
  let {a7' = castChar a7} in 
  let {a8' = fromIntegral a8} in 
  let {a9' = fromIntegral a9} in 
  let {a10' = id a10} in 
  let {a11' = fromIntegral a11} in 
  let {a12' = id a12} in 
  let {a13' = id a13} in 
  let {a14' = fromIntegral a14} in 
  let {a15' = id a15} in 
  let {a16' = fromIntegral a16} in 
  let {a17' = id a17} in 
  let {a18' = id a18} in 
  dgejsv'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' a12' a13' a14' a15' a16' a17' a18' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 369 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

sgejsv :: (Int) -> (CChar) -> (CChar) -> (CChar) -> (CChar) -> (CChar) -> (CChar) -> (Int) -> (Int) -> (Ptr CFloat) -> (Int) -> (Ptr CFloat) -> (Ptr CFloat) -> (Int) -> (Ptr CFloat) -> (Int) -> (Ptr CFloat) -> (Ptr CInt) -> IO ((Int))
sgejsv a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 a15 a16 a17 a18 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = castChar a3} in 
  let {a4' = castChar a4} in 
  let {a5' = castChar a5} in 
  let {a6' = castChar a6} in 
  let {a7' = castChar a7} in 
  let {a8' = fromIntegral a8} in 
  let {a9' = fromIntegral a9} in 
  let {a10' = id a10} in 
  let {a11' = fromIntegral a11} in 
  let {a12' = id a12} in 
  let {a13' = id a13} in 
  let {a14' = fromIntegral a14} in 
  let {a15' = id a15} in 
  let {a16' = fromIntegral a16} in 
  let {a17' = id a17} in 
  let {a18' = id a18} in 
  sgejsv'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' a12' a13' a14' a15' a16' a17' a18' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 370 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

cgels :: (Int) -> (CChar) -> (Int) -> (Int) -> (Int) -> (Ptr (Complex CFloat)) -> (Int) -> (Ptr (Complex CFloat)) -> (Int) -> IO ((Int))
cgels a1 a2 a3 a4 a5 a6 a7 a8 a9 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = castComplexToPtr a6} in 
  let {a7' = fromIntegral a7} in 
  let {a8' = castComplexToPtr a8} in 
  let {a9' = fromIntegral a9} in 
  cgels'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 371 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

dgels :: (Int) -> (CChar) -> (Int) -> (Int) -> (Int) -> (Ptr CDouble) -> (Int) -> (Ptr CDouble) -> (Int) -> IO ((Int))
dgels a1 a2 a3 a4 a5 a6 a7 a8 a9 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = id a6} in 
  let {a7' = fromIntegral a7} in 
  let {a8' = id a8} in 
  let {a9' = fromIntegral a9} in 
  dgels'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 372 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

sgels :: (Int) -> (CChar) -> (Int) -> (Int) -> (Int) -> (Ptr CFloat) -> (Int) -> (Ptr CFloat) -> (Int) -> IO ((Int))
sgels a1 a2 a3 a4 a5 a6 a7 a8 a9 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = id a6} in 
  let {a7' = fromIntegral a7} in 
  let {a8' = id a8} in 
  let {a9' = fromIntegral a9} in 
  sgels'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 373 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

zgels :: (Int) -> (CChar) -> (Int) -> (Int) -> (Int) -> (Ptr (Complex CDouble)) -> (Int) -> (Ptr (Complex CDouble)) -> (Int) -> IO ((Int))
zgels a1 a2 a3 a4 a5 a6 a7 a8 a9 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = castZomplexToPtr a6} in 
  let {a7' = fromIntegral a7} in 
  let {a8' = castZomplexToPtr a8} in 
  let {a9' = fromIntegral a9} in 
  zgels'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 374 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

cgelsd :: (Int) -> (Int) -> (Int) -> (Int) -> (Ptr (Complex CFloat)) -> (Int) -> (Ptr (Complex CFloat)) -> (Int) -> (Ptr CFloat) -> (CFloat) -> (Ptr CInt) -> IO ((Int))
cgelsd a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 =
  let {a1' = fromIntegral a1} in 
  let {a2' = fromIntegral a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = castComplexToPtr a5} in 
  let {a6' = fromIntegral a6} in 
  let {a7' = castComplexToPtr a7} in 
  let {a8' = fromIntegral a8} in 
  let {a9' = id a9} in 
  let {a10' = id a10} in 
  let {a11' = id a11} in 
  cgelsd'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 375 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

dgelsd :: (Int) -> (Int) -> (Int) -> (Int) -> (Ptr CDouble) -> (Int) -> (Ptr CDouble) -> (Int) -> (Ptr CDouble) -> (CDouble) -> (Ptr CInt) -> IO ((Int))
dgelsd a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 =
  let {a1' = fromIntegral a1} in 
  let {a2' = fromIntegral a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = id a5} in 
  let {a6' = fromIntegral a6} in 
  let {a7' = id a7} in 
  let {a8' = fromIntegral a8} in 
  let {a9' = id a9} in 
  let {a10' = id a10} in 
  let {a11' = id a11} in 
  dgelsd'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 376 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

sgelsd :: (Int) -> (Int) -> (Int) -> (Int) -> (Ptr CFloat) -> (Int) -> (Ptr CFloat) -> (Int) -> (Ptr CFloat) -> (CFloat) -> (Ptr CInt) -> IO ((Int))
sgelsd a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 =
  let {a1' = fromIntegral a1} in 
  let {a2' = fromIntegral a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = id a5} in 
  let {a6' = fromIntegral a6} in 
  let {a7' = id a7} in 
  let {a8' = fromIntegral a8} in 
  let {a9' = id a9} in 
  let {a10' = id a10} in 
  let {a11' = id a11} in 
  sgelsd'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 377 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

zgelsd :: (Int) -> (Int) -> (Int) -> (Int) -> (Ptr (Complex CDouble)) -> (Int) -> (Ptr (Complex CDouble)) -> (Int) -> (Ptr CDouble) -> (CDouble) -> (Ptr CInt) -> IO ((Int))
zgelsd a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 =
  let {a1' = fromIntegral a1} in 
  let {a2' = fromIntegral a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = castZomplexToPtr a5} in 
  let {a6' = fromIntegral a6} in 
  let {a7' = castZomplexToPtr a7} in 
  let {a8' = fromIntegral a8} in 
  let {a9' = id a9} in 
  let {a10' = id a10} in 
  let {a11' = id a11} in 
  zgelsd'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 378 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

cgelqf :: (Int) -> (Int) -> (Int) -> (Ptr (Complex CFloat)) -> (Int) -> (Ptr (Complex CFloat)) -> IO ((Int))
cgelqf a1 a2 a3 a4 a5 a6 =
  let {a1' = fromIntegral a1} in 
  let {a2' = fromIntegral a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = castComplexToPtr a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = castComplexToPtr a6} in 
  cgelqf'_ a1' a2' a3' a4' a5' a6' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 379 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

dgelqf :: (Int) -> (Int) -> (Int) -> (Ptr CDouble) -> (Int) -> (Ptr CDouble) -> IO ((Int))
dgelqf a1 a2 a3 a4 a5 a6 =
  let {a1' = fromIntegral a1} in 
  let {a2' = fromIntegral a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = id a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = id a6} in 
  dgelqf'_ a1' a2' a3' a4' a5' a6' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 380 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

sgelqf :: (Int) -> (Int) -> (Int) -> (Ptr CFloat) -> (Int) -> (Ptr CFloat) -> IO ((Int))
sgelqf a1 a2 a3 a4 a5 a6 =
  let {a1' = fromIntegral a1} in 
  let {a2' = fromIntegral a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = id a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = id a6} in 
  sgelqf'_ a1' a2' a3' a4' a5' a6' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 381 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

zgelqf :: (Int) -> (Int) -> (Int) -> (Ptr (Complex CDouble)) -> (Int) -> (Ptr (Complex CDouble)) -> IO ((Int))
zgelqf a1 a2 a3 a4 a5 a6 =
  let {a1' = fromIntegral a1} in 
  let {a2' = fromIntegral a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = castZomplexToPtr a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = castZomplexToPtr a6} in 
  zgelqf'_ a1' a2' a3' a4' a5' a6' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 382 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

cgelss :: (Int) -> (Int) -> (Int) -> (Int) -> (Ptr (Complex CFloat)) -> (Int) -> (Ptr (Complex CFloat)) -> (Int) -> (Ptr CFloat) -> (CFloat) -> (Ptr CInt) -> IO ((Int))
cgelss a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 =
  let {a1' = fromIntegral a1} in 
  let {a2' = fromIntegral a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = castComplexToPtr a5} in 
  let {a6' = fromIntegral a6} in 
  let {a7' = castComplexToPtr a7} in 
  let {a8' = fromIntegral a8} in 
  let {a9' = id a9} in 
  let {a10' = id a10} in 
  let {a11' = id a11} in 
  cgelss'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 383 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

dgelss :: (Int) -> (Int) -> (Int) -> (Int) -> (Ptr CDouble) -> (Int) -> (Ptr CDouble) -> (Int) -> (Ptr CDouble) -> (CDouble) -> (Ptr CInt) -> IO ((Int))
dgelss a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 =
  let {a1' = fromIntegral a1} in 
  let {a2' = fromIntegral a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = id a5} in 
  let {a6' = fromIntegral a6} in 
  let {a7' = id a7} in 
  let {a8' = fromIntegral a8} in 
  let {a9' = id a9} in 
  let {a10' = id a10} in 
  let {a11' = id a11} in 
  dgelss'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 384 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

sgelss :: (Int) -> (Int) -> (Int) -> (Int) -> (Ptr CFloat) -> (Int) -> (Ptr CFloat) -> (Int) -> (Ptr CFloat) -> (CFloat) -> (Ptr CInt) -> IO ((Int))
sgelss a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 =
  let {a1' = fromIntegral a1} in 
  let {a2' = fromIntegral a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = id a5} in 
  let {a6' = fromIntegral a6} in 
  let {a7' = id a7} in 
  let {a8' = fromIntegral a8} in 
  let {a9' = id a9} in 
  let {a10' = id a10} in 
  let {a11' = id a11} in 
  sgelss'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 385 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

zgelss :: (Int) -> (Int) -> (Int) -> (Int) -> (Ptr (Complex CDouble)) -> (Int) -> (Ptr (Complex CDouble)) -> (Int) -> (Ptr CDouble) -> (CDouble) -> (Ptr CInt) -> IO ((Int))
zgelss a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 =
  let {a1' = fromIntegral a1} in 
  let {a2' = fromIntegral a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = castZomplexToPtr a5} in 
  let {a6' = fromIntegral a6} in 
  let {a7' = castZomplexToPtr a7} in 
  let {a8' = fromIntegral a8} in 
  let {a9' = id a9} in 
  let {a10' = id a10} in 
  let {a11' = id a11} in 
  zgelss'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 386 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

cgelsy :: (Int) -> (Int) -> (Int) -> (Int) -> (Ptr (Complex CFloat)) -> (Int) -> (Ptr (Complex CFloat)) -> (Int) -> (Ptr CInt) -> (CFloat) -> (Ptr CInt) -> IO ((Int))
cgelsy a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 =
  let {a1' = fromIntegral a1} in 
  let {a2' = fromIntegral a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = castComplexToPtr a5} in 
  let {a6' = fromIntegral a6} in 
  let {a7' = castComplexToPtr a7} in 
  let {a8' = fromIntegral a8} in 
  let {a9' = id a9} in 
  let {a10' = id a10} in 
  let {a11' = id a11} in 
  cgelsy'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 387 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

dgelsy :: (Int) -> (Int) -> (Int) -> (Int) -> (Ptr CDouble) -> (Int) -> (Ptr CDouble) -> (Int) -> (Ptr CInt) -> (CDouble) -> (Ptr CInt) -> IO ((Int))
dgelsy a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 =
  let {a1' = fromIntegral a1} in 
  let {a2' = fromIntegral a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = id a5} in 
  let {a6' = fromIntegral a6} in 
  let {a7' = id a7} in 
  let {a8' = fromIntegral a8} in 
  let {a9' = id a9} in 
  let {a10' = id a10} in 
  let {a11' = id a11} in 
  dgelsy'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 388 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

sgelsy :: (Int) -> (Int) -> (Int) -> (Int) -> (Ptr CFloat) -> (Int) -> (Ptr CFloat) -> (Int) -> (Ptr CInt) -> (CFloat) -> (Ptr CInt) -> IO ((Int))
sgelsy a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 =
  let {a1' = fromIntegral a1} in 
  let {a2' = fromIntegral a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = id a5} in 
  let {a6' = fromIntegral a6} in 
  let {a7' = id a7} in 
  let {a8' = fromIntegral a8} in 
  let {a9' = id a9} in 
  let {a10' = id a10} in 
  let {a11' = id a11} in 
  sgelsy'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 389 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

zgelsy :: (Int) -> (Int) -> (Int) -> (Int) -> (Ptr (Complex CDouble)) -> (Int) -> (Ptr (Complex CDouble)) -> (Int) -> (Ptr CInt) -> (CDouble) -> (Ptr CInt) -> IO ((Int))
zgelsy a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 =
  let {a1' = fromIntegral a1} in 
  let {a2' = fromIntegral a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = castZomplexToPtr a5} in 
  let {a6' = fromIntegral a6} in 
  let {a7' = castZomplexToPtr a7} in 
  let {a8' = fromIntegral a8} in 
  let {a9' = id a9} in 
  let {a10' = id a10} in 
  let {a11' = id a11} in 
  zgelsy'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 390 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

cgglse :: (Int) -> (Int) -> (Int) -> (Int) -> (Ptr (Complex CFloat)) -> (Int) -> (Ptr (Complex CFloat)) -> (Int) -> (Ptr (Complex CFloat)) -> (Ptr (Complex CFloat)) -> (Ptr (Complex CFloat)) -> IO ((Int))
cgglse a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 =
  let {a1' = fromIntegral a1} in 
  let {a2' = fromIntegral a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = castComplexToPtr a5} in 
  let {a6' = fromIntegral a6} in 
  let {a7' = castComplexToPtr a7} in 
  let {a8' = fromIntegral a8} in 
  let {a9' = castComplexToPtr a9} in 
  let {a10' = castComplexToPtr a10} in 
  let {a11' = castComplexToPtr a11} in 
  cgglse'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 391 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

dgglse :: (Int) -> (Int) -> (Int) -> (Int) -> (Ptr CDouble) -> (Int) -> (Ptr CDouble) -> (Int) -> (Ptr CDouble) -> (Ptr CDouble) -> (Ptr CDouble) -> IO ((Int))
dgglse a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 =
  let {a1' = fromIntegral a1} in 
  let {a2' = fromIntegral a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = id a5} in 
  let {a6' = fromIntegral a6} in 
  let {a7' = id a7} in 
  let {a8' = fromIntegral a8} in 
  let {a9' = id a9} in 
  let {a10' = id a10} in 
  let {a11' = id a11} in 
  dgglse'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 392 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

sgglse :: (Int) -> (Int) -> (Int) -> (Int) -> (Ptr CFloat) -> (Int) -> (Ptr CFloat) -> (Int) -> (Ptr CFloat) -> (Ptr CFloat) -> (Ptr CFloat) -> IO ((Int))
sgglse a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 =
  let {a1' = fromIntegral a1} in 
  let {a2' = fromIntegral a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = id a5} in 
  let {a6' = fromIntegral a6} in 
  let {a7' = id a7} in 
  let {a8' = fromIntegral a8} in 
  let {a9' = id a9} in 
  let {a10' = id a10} in 
  let {a11' = id a11} in 
  sgglse'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 393 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

zgglse :: (Int) -> (Int) -> (Int) -> (Int) -> (Ptr (Complex CDouble)) -> (Int) -> (Ptr (Complex CDouble)) -> (Int) -> (Ptr (Complex CDouble)) -> (Ptr (Complex CDouble)) -> (Ptr (Complex CDouble)) -> IO ((Int))
zgglse a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 =
  let {a1' = fromIntegral a1} in 
  let {a2' = fromIntegral a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = castZomplexToPtr a5} in 
  let {a6' = fromIntegral a6} in 
  let {a7' = castZomplexToPtr a7} in 
  let {a8' = fromIntegral a8} in 
  let {a9' = castZomplexToPtr a9} in 
  let {a10' = castZomplexToPtr a10} in 
  let {a11' = castZomplexToPtr a11} in 
  zgglse'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 394 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

cunmql :: (Int) -> (CChar) -> (CChar) -> (Int) -> (Int) -> (Int) -> (Ptr (Complex CFloat)) -> (Int) -> (Ptr (Complex CFloat)) -> (Ptr (Complex CFloat)) -> (Int) -> IO ((Int))
cunmql a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = castChar a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = fromIntegral a6} in 
  let {a7' = castComplexToPtr a7} in 
  let {a8' = fromIntegral a8} in 
  let {a9' = castComplexToPtr a9} in 
  let {a10' = castComplexToPtr a10} in 
  let {a11' = fromIntegral a11} in 
  cunmql'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 395 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

zunmql :: (Int) -> (CChar) -> (CChar) -> (Int) -> (Int) -> (Int) -> (Ptr (Complex CDouble)) -> (Int) -> (Ptr (Complex CDouble)) -> (Ptr (Complex CDouble)) -> (Int) -> IO ((Int))
zunmql a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = castChar a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = fromIntegral a6} in 
  let {a7' = castZomplexToPtr a7} in 
  let {a8' = fromIntegral a8} in 
  let {a9' = castZomplexToPtr a9} in 
  let {a10' = castZomplexToPtr a10} in 
  let {a11' = fromIntegral a11} in 
  zunmql'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 396 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

cunmlq :: (Int) -> (CChar) -> (CChar) -> (Int) -> (Int) -> (Int) -> (Ptr (Complex CFloat)) -> (Int) -> (Ptr (Complex CFloat)) -> (Ptr (Complex CFloat)) -> (Int) -> IO ((Int))
cunmlq a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = castChar a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = fromIntegral a6} in 
  let {a7' = castComplexToPtr a7} in 
  let {a8' = fromIntegral a8} in 
  let {a9' = castComplexToPtr a9} in 
  let {a10' = castComplexToPtr a10} in 
  let {a11' = fromIntegral a11} in 
  cunmlq'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 397 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

cunmrq :: (Int) -> (CChar) -> (CChar) -> (Int) -> (Int) -> (Int) -> (Ptr (Complex CFloat)) -> (Int) -> (Ptr (Complex CFloat)) -> (Ptr (Complex CFloat)) -> (Int) -> IO ((Int))
cunmrq a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = castChar a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = fromIntegral a6} in 
  let {a7' = castComplexToPtr a7} in 
  let {a8' = fromIntegral a8} in 
  let {a9' = castComplexToPtr a9} in 
  let {a10' = castComplexToPtr a10} in 
  let {a11' = fromIntegral a11} in 
  cunmrq'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 398 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

zunmlq :: (Int) -> (CChar) -> (CChar) -> (Int) -> (Int) -> (Int) -> (Ptr (Complex CDouble)) -> (Int) -> (Ptr (Complex CDouble)) -> (Ptr (Complex CDouble)) -> (Int) -> IO ((Int))
zunmlq a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = castChar a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = fromIntegral a6} in 
  let {a7' = castZomplexToPtr a7} in 
  let {a8' = fromIntegral a8} in 
  let {a9' = castZomplexToPtr a9} in 
  let {a10' = castZomplexToPtr a10} in 
  let {a11' = fromIntegral a11} in 
  zunmlq'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 399 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

zunmrq :: (Int) -> (CChar) -> (CChar) -> (Int) -> (Int) -> (Int) -> (Ptr (Complex CDouble)) -> (Int) -> (Ptr (Complex CDouble)) -> (Ptr (Complex CDouble)) -> (Int) -> IO ((Int))
zunmrq a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = castChar a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = fromIntegral a6} in 
  let {a7' = castZomplexToPtr a7} in 
  let {a8' = fromIntegral a8} in 
  let {a9' = castZomplexToPtr a9} in 
  let {a10' = castZomplexToPtr a10} in 
  let {a11' = fromIntegral a11} in 
  zunmrq'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 400 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

cunmbr :: (Int) -> (CChar) -> (CChar) -> (CChar) -> (Int) -> (Int) -> (Int) -> (Ptr (Complex CFloat)) -> (Int) -> (Ptr (Complex CFloat)) -> (Ptr (Complex CFloat)) -> (Int) -> IO ((Int))
cunmbr a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = castChar a3} in 
  let {a4' = castChar a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = fromIntegral a6} in 
  let {a7' = fromIntegral a7} in 
  let {a8' = castComplexToPtr a8} in 
  let {a9' = fromIntegral a9} in 
  let {a10' = castComplexToPtr a10} in 
  let {a11' = castComplexToPtr a11} in 
  let {a12' = fromIntegral a12} in 
  cunmbr'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' a12' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 401 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

cunmhr :: (Int) -> (CChar) -> (CChar) -> (Int) -> (Int) -> (Int) -> (Int) -> (Ptr (Complex CFloat)) -> (Int) -> (Ptr (Complex CFloat)) -> (Ptr (Complex CFloat)) -> (Int) -> IO ((Int))
cunmhr a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = castChar a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = fromIntegral a6} in 
  let {a7' = fromIntegral a7} in 
  let {a8' = castComplexToPtr a8} in 
  let {a9' = fromIntegral a9} in 
  let {a10' = castComplexToPtr a10} in 
  let {a11' = castComplexToPtr a11} in 
  let {a12' = fromIntegral a12} in 
  cunmhr'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' a12' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 402 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

cunmqr :: (Int) -> (CChar) -> (CChar) -> (Int) -> (Int) -> (Int) -> (Ptr (Complex CFloat)) -> (Int) -> (Ptr (Complex CFloat)) -> (Ptr (Complex CFloat)) -> (Int) -> IO ((Int))
cunmqr a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = castChar a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = fromIntegral a6} in 
  let {a7' = castComplexToPtr a7} in 
  let {a8' = fromIntegral a8} in 
  let {a9' = castComplexToPtr a9} in 
  let {a10' = castComplexToPtr a10} in 
  let {a11' = fromIntegral a11} in 
  cunmqr'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 403 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

cunmtr :: (Int) -> (CChar) -> (CChar) -> (CChar) -> (Int) -> (Int) -> (Ptr (Complex CFloat)) -> (Int) -> (Ptr (Complex CFloat)) -> (Ptr (Complex CFloat)) -> (Int) -> IO ((Int))
cunmtr a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = castChar a3} in 
  let {a4' = castChar a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = fromIntegral a6} in 
  let {a7' = castComplexToPtr a7} in 
  let {a8' = fromIntegral a8} in 
  let {a9' = castComplexToPtr a9} in 
  let {a10' = castComplexToPtr a10} in 
  let {a11' = fromIntegral a11} in 
  cunmtr'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 404 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

zunmbr :: (Int) -> (CChar) -> (CChar) -> (CChar) -> (Int) -> (Int) -> (Int) -> (Ptr (Complex CDouble)) -> (Int) -> (Ptr (Complex CDouble)) -> (Ptr (Complex CDouble)) -> (Int) -> IO ((Int))
zunmbr a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = castChar a3} in 
  let {a4' = castChar a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = fromIntegral a6} in 
  let {a7' = fromIntegral a7} in 
  let {a8' = castZomplexToPtr a8} in 
  let {a9' = fromIntegral a9} in 
  let {a10' = castZomplexToPtr a10} in 
  let {a11' = castZomplexToPtr a11} in 
  let {a12' = fromIntegral a12} in 
  zunmbr'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' a12' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 405 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

zunmhr :: (Int) -> (CChar) -> (CChar) -> (Int) -> (Int) -> (Int) -> (Int) -> (Ptr (Complex CDouble)) -> (Int) -> (Ptr (Complex CDouble)) -> (Ptr (Complex CDouble)) -> (Int) -> IO ((Int))
zunmhr a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = castChar a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = fromIntegral a6} in 
  let {a7' = fromIntegral a7} in 
  let {a8' = castZomplexToPtr a8} in 
  let {a9' = fromIntegral a9} in 
  let {a10' = castZomplexToPtr a10} in 
  let {a11' = castZomplexToPtr a11} in 
  let {a12' = fromIntegral a12} in 
  zunmhr'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' a12' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 406 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

zunmqr :: (Int) -> (CChar) -> (CChar) -> (Int) -> (Int) -> (Int) -> (Ptr (Complex CDouble)) -> (Int) -> (Ptr (Complex CDouble)) -> (Ptr (Complex CDouble)) -> (Int) -> IO ((Int))
zunmqr a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = castChar a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = fromIntegral a6} in 
  let {a7' = castZomplexToPtr a7} in 
  let {a8' = fromIntegral a8} in 
  let {a9' = castZomplexToPtr a9} in 
  let {a10' = castZomplexToPtr a10} in 
  let {a11' = fromIntegral a11} in 
  zunmqr'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 407 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

zunmtr :: (Int) -> (CChar) -> (CChar) -> (CChar) -> (Int) -> (Int) -> (Ptr (Complex CDouble)) -> (Int) -> (Ptr (Complex CDouble)) -> (Ptr (Complex CDouble)) -> (Int) -> IO ((Int))
zunmtr a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = castChar a3} in 
  let {a4' = castChar a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = fromIntegral a6} in 
  let {a7' = castZomplexToPtr a7} in 
  let {a8' = fromIntegral a8} in 
  let {a9' = castZomplexToPtr a9} in 
  let {a10' = castZomplexToPtr a10} in 
  let {a11' = fromIntegral a11} in 
  zunmtr'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 408 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

cunmrz :: (Int) -> (CChar) -> (CChar) -> (Int) -> (Int) -> (Int) -> (Int) -> (Ptr (Complex CFloat)) -> (Int) -> (Ptr (Complex CFloat)) -> (Ptr (Complex CFloat)) -> (Int) -> IO ((Int))
cunmrz a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = castChar a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = fromIntegral a6} in 
  let {a7' = fromIntegral a7} in 
  let {a8' = castComplexToPtr a8} in 
  let {a9' = fromIntegral a9} in 
  let {a10' = castComplexToPtr a10} in 
  let {a11' = castComplexToPtr a11} in 
  let {a12' = fromIntegral a12} in 
  cunmrz'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' a12' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 409 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

zunmrz :: (Int) -> (CChar) -> (CChar) -> (Int) -> (Int) -> (Int) -> (Int) -> (Ptr (Complex CDouble)) -> (Int) -> (Ptr (Complex CDouble)) -> (Ptr (Complex CDouble)) -> (Int) -> IO ((Int))
zunmrz a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = castChar a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = fromIntegral a6} in 
  let {a7' = fromIntegral a7} in 
  let {a8' = castZomplexToPtr a8} in 
  let {a9' = fromIntegral a9} in 
  let {a10' = castZomplexToPtr a10} in 
  let {a11' = castZomplexToPtr a11} in 
  let {a12' = fromIntegral a12} in 
  zunmrz'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' a12' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 410 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

dopmtr :: (Int) -> (CChar) -> (CChar) -> (CChar) -> (Int) -> (Int) -> (Ptr CDouble) -> (Ptr CDouble) -> (Ptr CDouble) -> (Int) -> IO ((Int))
dopmtr a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = castChar a3} in 
  let {a4' = castChar a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = fromIntegral a6} in 
  let {a7' = id a7} in 
  let {a8' = id a8} in 
  let {a9' = id a9} in 
  let {a10' = fromIntegral a10} in 
  dopmtr'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 411 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

sopmtr :: (Int) -> (CChar) -> (CChar) -> (CChar) -> (Int) -> (Int) -> (Ptr CFloat) -> (Ptr CFloat) -> (Ptr CFloat) -> (Int) -> IO ((Int))
sopmtr a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = castChar a3} in 
  let {a4' = castChar a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = fromIntegral a6} in 
  let {a7' = id a7} in 
  let {a8' = id a8} in 
  let {a9' = id a9} in 
  let {a10' = fromIntegral a10} in 
  sopmtr'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 412 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

cupmtr :: (Int) -> (CChar) -> (CChar) -> (CChar) -> (Int) -> (Int) -> (Ptr (Complex CFloat)) -> (Ptr (Complex CFloat)) -> (Ptr (Complex CFloat)) -> (Int) -> IO ((Int))
cupmtr a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = castChar a3} in 
  let {a4' = castChar a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = fromIntegral a6} in 
  let {a7' = castComplexToPtr a7} in 
  let {a8' = castComplexToPtr a8} in 
  let {a9' = castComplexToPtr a9} in 
  let {a10' = fromIntegral a10} in 
  cupmtr'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 413 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

zupmtr :: (Int) -> (CChar) -> (CChar) -> (CChar) -> (Int) -> (Int) -> (Ptr (Complex CDouble)) -> (Ptr (Complex CDouble)) -> (Ptr (Complex CDouble)) -> (Int) -> IO ((Int))
zupmtr a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = castChar a3} in 
  let {a4' = castChar a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = fromIntegral a6} in 
  let {a7' = castZomplexToPtr a7} in 
  let {a8' = castZomplexToPtr a8} in 
  let {a9' = castZomplexToPtr a9} in 
  let {a10' = fromIntegral a10} in 
  zupmtr'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 414 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

dormql :: (Int) -> (CChar) -> (CChar) -> (Int) -> (Int) -> (Int) -> (Ptr CDouble) -> (Int) -> (Ptr CDouble) -> (Ptr CDouble) -> (Int) -> IO ((Int))
dormql a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = castChar a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = fromIntegral a6} in 
  let {a7' = id a7} in 
  let {a8' = fromIntegral a8} in 
  let {a9' = id a9} in 
  let {a10' = id a10} in 
  let {a11' = fromIntegral a11} in 
  dormql'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 415 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

sormql :: (Int) -> (CChar) -> (CChar) -> (Int) -> (Int) -> (Int) -> (Ptr CFloat) -> (Int) -> (Ptr CFloat) -> (Ptr CFloat) -> (Int) -> IO ((Int))
sormql a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = castChar a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = fromIntegral a6} in 
  let {a7' = id a7} in 
  let {a8' = fromIntegral a8} in 
  let {a9' = id a9} in 
  let {a10' = id a10} in 
  let {a11' = fromIntegral a11} in 
  sormql'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 416 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

dormlq :: (Int) -> (CChar) -> (CChar) -> (Int) -> (Int) -> (Int) -> (Ptr CDouble) -> (Int) -> (Ptr CDouble) -> (Ptr CDouble) -> (Int) -> IO ((Int))
dormlq a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = castChar a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = fromIntegral a6} in 
  let {a7' = id a7} in 
  let {a8' = fromIntegral a8} in 
  let {a9' = id a9} in 
  let {a10' = id a10} in 
  let {a11' = fromIntegral a11} in 
  dormlq'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 417 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

dormrq :: (Int) -> (CChar) -> (CChar) -> (Int) -> (Int) -> (Int) -> (Ptr CDouble) -> (Int) -> (Ptr CDouble) -> (Ptr CDouble) -> (Int) -> IO ((Int))
dormrq a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = castChar a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = fromIntegral a6} in 
  let {a7' = id a7} in 
  let {a8' = fromIntegral a8} in 
  let {a9' = id a9} in 
  let {a10' = id a10} in 
  let {a11' = fromIntegral a11} in 
  dormrq'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 418 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

sormlq :: (Int) -> (CChar) -> (CChar) -> (Int) -> (Int) -> (Int) -> (Ptr CFloat) -> (Int) -> (Ptr CFloat) -> (Ptr CFloat) -> (Int) -> IO ((Int))
sormlq a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = castChar a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = fromIntegral a6} in 
  let {a7' = id a7} in 
  let {a8' = fromIntegral a8} in 
  let {a9' = id a9} in 
  let {a10' = id a10} in 
  let {a11' = fromIntegral a11} in 
  sormlq'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 419 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

sormrq :: (Int) -> (CChar) -> (CChar) -> (Int) -> (Int) -> (Int) -> (Ptr CFloat) -> (Int) -> (Ptr CFloat) -> (Ptr CFloat) -> (Int) -> IO ((Int))
sormrq a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = castChar a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = fromIntegral a6} in 
  let {a7' = id a7} in 
  let {a8' = fromIntegral a8} in 
  let {a9' = id a9} in 
  let {a10' = id a10} in 
  let {a11' = fromIntegral a11} in 
  sormrq'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 420 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

dormbr :: (Int) -> (CChar) -> (CChar) -> (CChar) -> (Int) -> (Int) -> (Int) -> (Ptr CDouble) -> (Int) -> (Ptr CDouble) -> (Ptr CDouble) -> (Int) -> IO ((Int))
dormbr a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = castChar a3} in 
  let {a4' = castChar a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = fromIntegral a6} in 
  let {a7' = fromIntegral a7} in 
  let {a8' = id a8} in 
  let {a9' = fromIntegral a9} in 
  let {a10' = id a10} in 
  let {a11' = id a11} in 
  let {a12' = fromIntegral a12} in 
  dormbr'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' a12' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 421 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

dormhr :: (Int) -> (CChar) -> (CChar) -> (Int) -> (Int) -> (Int) -> (Int) -> (Ptr CDouble) -> (Int) -> (Ptr CDouble) -> (Ptr CDouble) -> (Int) -> IO ((Int))
dormhr a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = castChar a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = fromIntegral a6} in 
  let {a7' = fromIntegral a7} in 
  let {a8' = id a8} in 
  let {a9' = fromIntegral a9} in 
  let {a10' = id a10} in 
  let {a11' = id a11} in 
  let {a12' = fromIntegral a12} in 
  dormhr'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' a12' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 422 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

dormqr :: (Int) -> (CChar) -> (CChar) -> (Int) -> (Int) -> (Int) -> (Ptr CDouble) -> (Int) -> (Ptr CDouble) -> (Ptr CDouble) -> (Int) -> IO ((Int))
dormqr a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = castChar a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = fromIntegral a6} in 
  let {a7' = id a7} in 
  let {a8' = fromIntegral a8} in 
  let {a9' = id a9} in 
  let {a10' = id a10} in 
  let {a11' = fromIntegral a11} in 
  dormqr'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 423 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

sormbr :: (Int) -> (CChar) -> (CChar) -> (CChar) -> (Int) -> (Int) -> (Int) -> (Ptr CFloat) -> (Int) -> (Ptr CFloat) -> (Ptr CFloat) -> (Int) -> IO ((Int))
sormbr a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = castChar a3} in 
  let {a4' = castChar a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = fromIntegral a6} in 
  let {a7' = fromIntegral a7} in 
  let {a8' = id a8} in 
  let {a9' = fromIntegral a9} in 
  let {a10' = id a10} in 
  let {a11' = id a11} in 
  let {a12' = fromIntegral a12} in 
  sormbr'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' a12' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 424 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

dormtr :: (Int) -> (CChar) -> (CChar) -> (CChar) -> (Int) -> (Int) -> (Ptr CDouble) -> (Int) -> (Ptr CDouble) -> (Ptr CDouble) -> (Int) -> IO ((Int))
dormtr a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = castChar a3} in 
  let {a4' = castChar a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = fromIntegral a6} in 
  let {a7' = id a7} in 
  let {a8' = fromIntegral a8} in 
  let {a9' = id a9} in 
  let {a10' = id a10} in 
  let {a11' = fromIntegral a11} in 
  dormtr'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 425 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

sormhr :: (Int) -> (CChar) -> (CChar) -> (Int) -> (Int) -> (Int) -> (Int) -> (Ptr CFloat) -> (Int) -> (Ptr CFloat) -> (Ptr CFloat) -> (Int) -> IO ((Int))
sormhr a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = castChar a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = fromIntegral a6} in 
  let {a7' = fromIntegral a7} in 
  let {a8' = id a8} in 
  let {a9' = fromIntegral a9} in 
  let {a10' = id a10} in 
  let {a11' = id a11} in 
  let {a12' = fromIntegral a12} in 
  sormhr'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' a12' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 426 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

sormqr :: (Int) -> (CChar) -> (CChar) -> (Int) -> (Int) -> (Int) -> (Ptr CFloat) -> (Int) -> (Ptr CFloat) -> (Ptr CFloat) -> (Int) -> IO ((Int))
sormqr a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = castChar a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = fromIntegral a6} in 
  let {a7' = id a7} in 
  let {a8' = fromIntegral a8} in 
  let {a9' = id a9} in 
  let {a10' = id a10} in 
  let {a11' = fromIntegral a11} in 
  sormqr'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 427 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

sormtr :: (Int) -> (CChar) -> (CChar) -> (CChar) -> (Int) -> (Int) -> (Ptr CFloat) -> (Int) -> (Ptr CFloat) -> (Ptr CFloat) -> (Int) -> IO ((Int))
sormtr a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = castChar a3} in 
  let {a4' = castChar a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = fromIntegral a6} in 
  let {a7' = id a7} in 
  let {a8' = fromIntegral a8} in 
  let {a9' = id a9} in 
  let {a10' = id a10} in 
  let {a11' = fromIntegral a11} in 
  sormtr'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 428 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

dormrz :: (Int) -> (CChar) -> (CChar) -> (Int) -> (Int) -> (Int) -> (Int) -> (Ptr CDouble) -> (Int) -> (Ptr CDouble) -> (Ptr CDouble) -> (Int) -> IO ((Int))
dormrz a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = castChar a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = fromIntegral a6} in 
  let {a7' = fromIntegral a7} in 
  let {a8' = id a8} in 
  let {a9' = fromIntegral a9} in 
  let {a10' = id a10} in 
  let {a11' = id a11} in 
  let {a12' = fromIntegral a12} in 
  dormrz'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' a12' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 429 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

sormrz :: (Int) -> (CChar) -> (CChar) -> (Int) -> (Int) -> (Int) -> (Int) -> (Ptr CFloat) -> (Int) -> (Ptr CFloat) -> (Ptr CFloat) -> (Int) -> IO ((Int))
sormrz a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = castChar a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = fromIntegral a6} in 
  let {a7' = fromIntegral a7} in 
  let {a8' = id a8} in 
  let {a9' = fromIntegral a9} in 
  let {a10' = id a10} in 
  let {a11' = id a11} in 
  let {a12' = fromIntegral a12} in 
  sormrz'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' a12' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 430 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

zcposv :: (Int) -> (CChar) -> (Int) -> (Int) -> (Ptr (Complex CDouble)) -> (Int) -> (Ptr (Complex CDouble)) -> (Int) -> (Ptr (Complex CDouble)) -> (Int) -> (Ptr CInt) -> IO ((Int))
zcposv a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = castZomplexToPtr a5} in 
  let {a6' = fromIntegral a6} in 
  let {a7' = castZomplexToPtr a7} in 
  let {a8' = fromIntegral a8} in 
  let {a9' = castZomplexToPtr a9} in 
  let {a10' = fromIntegral a10} in 
  let {a11' = id a11} in 
  zcposv'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 431 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

dsposv :: (Int) -> (CChar) -> (Int) -> (Int) -> (Ptr CDouble) -> (Int) -> (Ptr CDouble) -> (Int) -> (Ptr CDouble) -> (Int) -> (Ptr CInt) -> IO ((Int))
dsposv a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = id a5} in 
  let {a6' = fromIntegral a6} in 
  let {a7' = id a7} in 
  let {a8' = fromIntegral a8} in 
  let {a9' = id a9} in 
  let {a10' = fromIntegral a10} in 
  let {a11' = id a11} in 
  dsposv'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 432 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

cgeqp3 :: (Int) -> (Int) -> (Int) -> (Ptr (Complex CFloat)) -> (Int) -> (Ptr CInt) -> (Ptr (Complex CFloat)) -> IO ((Int))
cgeqp3 a1 a2 a3 a4 a5 a6 a7 =
  let {a1' = fromIntegral a1} in 
  let {a2' = fromIntegral a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = castComplexToPtr a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = id a6} in 
  let {a7' = castComplexToPtr a7} in 
  cgeqp3'_ a1' a2' a3' a4' a5' a6' a7' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 433 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

dgeqp3 :: (Int) -> (Int) -> (Int) -> (Ptr CDouble) -> (Int) -> (Ptr CInt) -> (Ptr CDouble) -> IO ((Int))
dgeqp3 a1 a2 a3 a4 a5 a6 a7 =
  let {a1' = fromIntegral a1} in 
  let {a2' = fromIntegral a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = id a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = id a6} in 
  let {a7' = id a7} in 
  dgeqp3'_ a1' a2' a3' a4' a5' a6' a7' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 434 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

sgeqp3 :: (Int) -> (Int) -> (Int) -> (Ptr CFloat) -> (Int) -> (Ptr CInt) -> (Ptr CFloat) -> IO ((Int))
sgeqp3 a1 a2 a3 a4 a5 a6 a7 =
  let {a1' = fromIntegral a1} in 
  let {a2' = fromIntegral a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = id a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = id a6} in 
  let {a7' = id a7} in 
  sgeqp3'_ a1' a2' a3' a4' a5' a6' a7' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 435 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

zgeqp3 :: (Int) -> (Int) -> (Int) -> (Ptr (Complex CDouble)) -> (Int) -> (Ptr CInt) -> (Ptr (Complex CDouble)) -> IO ((Int))
zgeqp3 a1 a2 a3 a4 a5 a6 a7 =
  let {a1' = fromIntegral a1} in 
  let {a2' = fromIntegral a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = castZomplexToPtr a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = id a6} in 
  let {a7' = castZomplexToPtr a7} in 
  zgeqp3'_ a1' a2' a3' a4' a5' a6' a7' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 436 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

cgeqlf :: (Int) -> (Int) -> (Int) -> (Ptr (Complex CFloat)) -> (Int) -> (Ptr (Complex CFloat)) -> IO ((Int))
cgeqlf a1 a2 a3 a4 a5 a6 =
  let {a1' = fromIntegral a1} in 
  let {a2' = fromIntegral a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = castComplexToPtr a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = castComplexToPtr a6} in 
  cgeqlf'_ a1' a2' a3' a4' a5' a6' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 437 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

dgeqlf :: (Int) -> (Int) -> (Int) -> (Ptr CDouble) -> (Int) -> (Ptr CDouble) -> IO ((Int))
dgeqlf a1 a2 a3 a4 a5 a6 =
  let {a1' = fromIntegral a1} in 
  let {a2' = fromIntegral a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = id a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = id a6} in 
  dgeqlf'_ a1' a2' a3' a4' a5' a6' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 438 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

cgeqpf :: (Int) -> (Int) -> (Int) -> (Ptr (Complex CFloat)) -> (Int) -> (Ptr CInt) -> (Ptr (Complex CFloat)) -> IO ((Int))
cgeqpf a1 a2 a3 a4 a5 a6 a7 =
  let {a1' = fromIntegral a1} in 
  let {a2' = fromIntegral a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = castComplexToPtr a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = id a6} in 
  let {a7' = castComplexToPtr a7} in 
  cgeqpf'_ a1' a2' a3' a4' a5' a6' a7' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 439 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

dgeqpf :: (Int) -> (Int) -> (Int) -> (Ptr CDouble) -> (Int) -> (Ptr CInt) -> (Ptr CDouble) -> IO ((Int))
dgeqpf a1 a2 a3 a4 a5 a6 a7 =
  let {a1' = fromIntegral a1} in 
  let {a2' = fromIntegral a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = id a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = id a6} in 
  let {a7' = id a7} in 
  dgeqpf'_ a1' a2' a3' a4' a5' a6' a7' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 440 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

cgeqrf :: (Int) -> (Int) -> (Int) -> (Ptr (Complex CFloat)) -> (Int) -> (Ptr (Complex CFloat)) -> IO ((Int))
cgeqrf a1 a2 a3 a4 a5 a6 =
  let {a1' = fromIntegral a1} in 
  let {a2' = fromIntegral a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = castComplexToPtr a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = castComplexToPtr a6} in 
  cgeqrf'_ a1' a2' a3' a4' a5' a6' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 441 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

dgeqrf :: (Int) -> (Int) -> (Int) -> (Ptr CDouble) -> (Int) -> (Ptr CDouble) -> IO ((Int))
dgeqrf a1 a2 a3 a4 a5 a6 =
  let {a1' = fromIntegral a1} in 
  let {a2' = fromIntegral a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = id a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = id a6} in 
  dgeqrf'_ a1' a2' a3' a4' a5' a6' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 442 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

sgeqlf :: (Int) -> (Int) -> (Int) -> (Ptr CFloat) -> (Int) -> (Ptr CFloat) -> IO ((Int))
sgeqlf a1 a2 a3 a4 a5 a6 =
  let {a1' = fromIntegral a1} in 
  let {a2' = fromIntegral a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = id a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = id a6} in 
  sgeqlf'_ a1' a2' a3' a4' a5' a6' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 443 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

sgeqpf :: (Int) -> (Int) -> (Int) -> (Ptr CFloat) -> (Int) -> (Ptr CInt) -> (Ptr CFloat) -> IO ((Int))
sgeqpf a1 a2 a3 a4 a5 a6 a7 =
  let {a1' = fromIntegral a1} in 
  let {a2' = fromIntegral a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = id a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = id a6} in 
  let {a7' = id a7} in 
  sgeqpf'_ a1' a2' a3' a4' a5' a6' a7' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 444 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

sgeqrf :: (Int) -> (Int) -> (Int) -> (Ptr CFloat) -> (Int) -> (Ptr CFloat) -> IO ((Int))
sgeqrf a1 a2 a3 a4 a5 a6 =
  let {a1' = fromIntegral a1} in 
  let {a2' = fromIntegral a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = id a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = id a6} in 
  sgeqrf'_ a1' a2' a3' a4' a5' a6' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 445 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

zgeqlf :: (Int) -> (Int) -> (Int) -> (Ptr (Complex CDouble)) -> (Int) -> (Ptr (Complex CDouble)) -> IO ((Int))
zgeqlf a1 a2 a3 a4 a5 a6 =
  let {a1' = fromIntegral a1} in 
  let {a2' = fromIntegral a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = castZomplexToPtr a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = castZomplexToPtr a6} in 
  zgeqlf'_ a1' a2' a3' a4' a5' a6' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 446 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

zgeqpf :: (Int) -> (Int) -> (Int) -> (Ptr (Complex CDouble)) -> (Int) -> (Ptr CInt) -> (Ptr (Complex CDouble)) -> IO ((Int))
zgeqpf a1 a2 a3 a4 a5 a6 a7 =
  let {a1' = fromIntegral a1} in 
  let {a2' = fromIntegral a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = castZomplexToPtr a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = id a6} in 
  let {a7' = castZomplexToPtr a7} in 
  zgeqpf'_ a1' a2' a3' a4' a5' a6' a7' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 447 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

zgeqrf :: (Int) -> (Int) -> (Int) -> (Ptr (Complex CDouble)) -> (Int) -> (Ptr (Complex CDouble)) -> IO ((Int))
zgeqrf a1 a2 a3 a4 a5 a6 =
  let {a1' = fromIntegral a1} in 
  let {a2' = fromIntegral a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = castZomplexToPtr a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = castZomplexToPtr a6} in 
  zgeqrf'_ a1' a2' a3' a4' a5' a6' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 448 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

cggqrf :: (Int) -> (Int) -> (Int) -> (Int) -> (Ptr (Complex CFloat)) -> (Int) -> (Ptr (Complex CFloat)) -> (Ptr (Complex CFloat)) -> (Int) -> (Ptr (Complex CFloat)) -> IO ((Int))
cggqrf a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 =
  let {a1' = fromIntegral a1} in 
  let {a2' = fromIntegral a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = castComplexToPtr a5} in 
  let {a6' = fromIntegral a6} in 
  let {a7' = castComplexToPtr a7} in 
  let {a8' = castComplexToPtr a8} in 
  let {a9' = fromIntegral a9} in 
  let {a10' = castComplexToPtr a10} in 
  cggqrf'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 449 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

dggqrf :: (Int) -> (Int) -> (Int) -> (Int) -> (Ptr CDouble) -> (Int) -> (Ptr CDouble) -> (Ptr CDouble) -> (Int) -> (Ptr CDouble) -> IO ((Int))
dggqrf a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 =
  let {a1' = fromIntegral a1} in 
  let {a2' = fromIntegral a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = id a5} in 
  let {a6' = fromIntegral a6} in 
  let {a7' = id a7} in 
  let {a8' = id a8} in 
  let {a9' = fromIntegral a9} in 
  let {a10' = id a10} in 
  dggqrf'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 450 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

sggqrf :: (Int) -> (Int) -> (Int) -> (Int) -> (Ptr CFloat) -> (Int) -> (Ptr CFloat) -> (Ptr CFloat) -> (Int) -> (Ptr CFloat) -> IO ((Int))
sggqrf a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 =
  let {a1' = fromIntegral a1} in 
  let {a2' = fromIntegral a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = id a5} in 
  let {a6' = fromIntegral a6} in 
  let {a7' = id a7} in 
  let {a8' = id a8} in 
  let {a9' = fromIntegral a9} in 
  let {a10' = id a10} in 
  sggqrf'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 451 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

zggqrf :: (Int) -> (Int) -> (Int) -> (Int) -> (Ptr (Complex CDouble)) -> (Int) -> (Ptr (Complex CDouble)) -> (Ptr (Complex CDouble)) -> (Int) -> (Ptr (Complex CDouble)) -> IO ((Int))
zggqrf a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 =
  let {a1' = fromIntegral a1} in 
  let {a2' = fromIntegral a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = castZomplexToPtr a5} in 
  let {a6' = fromIntegral a6} in 
  let {a7' = castZomplexToPtr a7} in 
  let {a8' = castZomplexToPtr a8} in 
  let {a9' = fromIntegral a9} in 
  let {a10' = castZomplexToPtr a10} in 
  zggqrf'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 452 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

cgeqrfp :: (Int) -> (Int) -> (Int) -> (Ptr (Complex CFloat)) -> (Int) -> (Ptr (Complex CFloat)) -> IO ((Int))
cgeqrfp a1 a2 a3 a4 a5 a6 =
  let {a1' = fromIntegral a1} in 
  let {a2' = fromIntegral a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = castComplexToPtr a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = castComplexToPtr a6} in 
  cgeqrfp'_ a1' a2' a3' a4' a5' a6' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 453 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

dgeqrfp :: (Int) -> (Int) -> (Int) -> (Ptr CDouble) -> (Int) -> (Ptr CDouble) -> IO ((Int))
dgeqrfp a1 a2 a3 a4 a5 a6 =
  let {a1' = fromIntegral a1} in 
  let {a2' = fromIntegral a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = id a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = id a6} in 
  dgeqrfp'_ a1' a2' a3' a4' a5' a6' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 454 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

sgeqrfp :: (Int) -> (Int) -> (Int) -> (Ptr CFloat) -> (Int) -> (Ptr CFloat) -> IO ((Int))
sgeqrfp a1 a2 a3 a4 a5 a6 =
  let {a1' = fromIntegral a1} in 
  let {a2' = fromIntegral a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = id a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = id a6} in 
  sgeqrfp'_ a1' a2' a3' a4' a5' a6' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 455 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

zgeqrfp :: (Int) -> (Int) -> (Int) -> (Ptr (Complex CDouble)) -> (Int) -> (Ptr (Complex CDouble)) -> IO ((Int))
zgeqrfp a1 a2 a3 a4 a5 a6 =
  let {a1' = fromIntegral a1} in 
  let {a2' = fromIntegral a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = castZomplexToPtr a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = castZomplexToPtr a6} in 
  zgeqrfp'_ a1' a2' a3' a4' a5' a6' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 456 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

cgbrfs :: (Int) -> (CChar) -> (Int) -> (Int) -> (Int) -> (Int) -> (Ptr (Complex CFloat)) -> (Int) -> (Ptr (Complex CFloat)) -> (Int) -> (Ptr CInt) -> (Ptr (Complex CFloat)) -> (Int) -> (Ptr (Complex CFloat)) -> (Int) -> (Ptr CFloat) -> (Ptr CFloat) -> IO ((Int))
cgbrfs a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 a15 a16 a17 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = fromIntegral a6} in 
  let {a7' = castComplexToPtr a7} in 
  let {a8' = fromIntegral a8} in 
  let {a9' = castComplexToPtr a9} in 
  let {a10' = fromIntegral a10} in 
  let {a11' = id a11} in 
  let {a12' = castComplexToPtr a12} in 
  let {a13' = fromIntegral a13} in 
  let {a14' = castComplexToPtr a14} in 
  let {a15' = fromIntegral a15} in 
  let {a16' = id a16} in 
  let {a17' = id a17} in 
  cgbrfs'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' a12' a13' a14' a15' a16' a17' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 457 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

dgbrfs :: (Int) -> (CChar) -> (Int) -> (Int) -> (Int) -> (Int) -> (Ptr CDouble) -> (Int) -> (Ptr CDouble) -> (Int) -> (Ptr CInt) -> (Ptr CDouble) -> (Int) -> (Ptr CDouble) -> (Int) -> (Ptr CDouble) -> (Ptr CDouble) -> IO ((Int))
dgbrfs a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 a15 a16 a17 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = fromIntegral a6} in 
  let {a7' = id a7} in 
  let {a8' = fromIntegral a8} in 
  let {a9' = id a9} in 
  let {a10' = fromIntegral a10} in 
  let {a11' = id a11} in 
  let {a12' = id a12} in 
  let {a13' = fromIntegral a13} in 
  let {a14' = id a14} in 
  let {a15' = fromIntegral a15} in 
  let {a16' = id a16} in 
  let {a17' = id a17} in 
  dgbrfs'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' a12' a13' a14' a15' a16' a17' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 458 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

sgbrfs :: (Int) -> (CChar) -> (Int) -> (Int) -> (Int) -> (Int) -> (Ptr CFloat) -> (Int) -> (Ptr CFloat) -> (Int) -> (Ptr CInt) -> (Ptr CFloat) -> (Int) -> (Ptr CFloat) -> (Int) -> (Ptr CFloat) -> (Ptr CFloat) -> IO ((Int))
sgbrfs a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 a15 a16 a17 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = fromIntegral a6} in 
  let {a7' = id a7} in 
  let {a8' = fromIntegral a8} in 
  let {a9' = id a9} in 
  let {a10' = fromIntegral a10} in 
  let {a11' = id a11} in 
  let {a12' = id a12} in 
  let {a13' = fromIntegral a13} in 
  let {a14' = id a14} in 
  let {a15' = fromIntegral a15} in 
  let {a16' = id a16} in 
  let {a17' = id a17} in 
  sgbrfs'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' a12' a13' a14' a15' a16' a17' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 459 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

zgbrfs :: (Int) -> (CChar) -> (Int) -> (Int) -> (Int) -> (Int) -> (Ptr (Complex CDouble)) -> (Int) -> (Ptr (Complex CDouble)) -> (Int) -> (Ptr CInt) -> (Ptr (Complex CDouble)) -> (Int) -> (Ptr (Complex CDouble)) -> (Int) -> (Ptr CDouble) -> (Ptr CDouble) -> IO ((Int))
zgbrfs a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 a15 a16 a17 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = fromIntegral a6} in 
  let {a7' = castZomplexToPtr a7} in 
  let {a8' = fromIntegral a8} in 
  let {a9' = castZomplexToPtr a9} in 
  let {a10' = fromIntegral a10} in 
  let {a11' = id a11} in 
  let {a12' = castZomplexToPtr a12} in 
  let {a13' = fromIntegral a13} in 
  let {a14' = castZomplexToPtr a14} in 
  let {a15' = fromIntegral a15} in 
  let {a16' = id a16} in 
  let {a17' = id a17} in 
  zgbrfs'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' a12' a13' a14' a15' a16' a17' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 460 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

cpbrfs :: (Int) -> (CChar) -> (Int) -> (Int) -> (Int) -> (Ptr (Complex CFloat)) -> (Int) -> (Ptr (Complex CFloat)) -> (Int) -> (Ptr (Complex CFloat)) -> (Int) -> (Ptr (Complex CFloat)) -> (Int) -> (Ptr CFloat) -> (Ptr CFloat) -> IO ((Int))
cpbrfs a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 a15 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = castComplexToPtr a6} in 
  let {a7' = fromIntegral a7} in 
  let {a8' = castComplexToPtr a8} in 
  let {a9' = fromIntegral a9} in 
  let {a10' = castComplexToPtr a10} in 
  let {a11' = fromIntegral a11} in 
  let {a12' = castComplexToPtr a12} in 
  let {a13' = fromIntegral a13} in 
  let {a14' = id a14} in 
  let {a15' = id a15} in 
  cpbrfs'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' a12' a13' a14' a15' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 461 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

dpbrfs :: (Int) -> (CChar) -> (Int) -> (Int) -> (Int) -> (Ptr CDouble) -> (Int) -> (Ptr CDouble) -> (Int) -> (Ptr CDouble) -> (Int) -> (Ptr CDouble) -> (Int) -> (Ptr CDouble) -> (Ptr CDouble) -> IO ((Int))
dpbrfs a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 a15 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = id a6} in 
  let {a7' = fromIntegral a7} in 
  let {a8' = id a8} in 
  let {a9' = fromIntegral a9} in 
  let {a10' = id a10} in 
  let {a11' = fromIntegral a11} in 
  let {a12' = id a12} in 
  let {a13' = fromIntegral a13} in 
  let {a14' = id a14} in 
  let {a15' = id a15} in 
  dpbrfs'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' a12' a13' a14' a15' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 462 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

spbrfs :: (Int) -> (CChar) -> (Int) -> (Int) -> (Int) -> (Ptr CFloat) -> (Int) -> (Ptr CFloat) -> (Int) -> (Ptr CFloat) -> (Int) -> (Ptr CFloat) -> (Int) -> (Ptr CFloat) -> (Ptr CFloat) -> IO ((Int))
spbrfs a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 a15 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = id a6} in 
  let {a7' = fromIntegral a7} in 
  let {a8' = id a8} in 
  let {a9' = fromIntegral a9} in 
  let {a10' = id a10} in 
  let {a11' = fromIntegral a11} in 
  let {a12' = id a12} in 
  let {a13' = fromIntegral a13} in 
  let {a14' = id a14} in 
  let {a15' = id a15} in 
  spbrfs'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' a12' a13' a14' a15' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 463 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

zpbrfs :: (Int) -> (CChar) -> (Int) -> (Int) -> (Int) -> (Ptr (Complex CDouble)) -> (Int) -> (Ptr (Complex CDouble)) -> (Int) -> (Ptr (Complex CDouble)) -> (Int) -> (Ptr (Complex CDouble)) -> (Int) -> (Ptr CDouble) -> (Ptr CDouble) -> IO ((Int))
zpbrfs a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 a15 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = castZomplexToPtr a6} in 
  let {a7' = fromIntegral a7} in 
  let {a8' = castZomplexToPtr a8} in 
  let {a9' = fromIntegral a9} in 
  let {a10' = castZomplexToPtr a10} in 
  let {a11' = fromIntegral a11} in 
  let {a12' = castZomplexToPtr a12} in 
  let {a13' = fromIntegral a13} in 
  let {a14' = id a14} in 
  let {a15' = id a15} in 
  zpbrfs'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' a12' a13' a14' a15' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 464 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

ctbrfs :: (Int) -> (CChar) -> (CChar) -> (CChar) -> (Int) -> (Int) -> (Int) -> (Ptr (Complex CFloat)) -> (Int) -> (Ptr (Complex CFloat)) -> (Int) -> (Ptr (Complex CFloat)) -> (Int) -> (Ptr CFloat) -> (Ptr CFloat) -> IO ((Int))
ctbrfs a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 a15 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = castChar a3} in 
  let {a4' = castChar a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = fromIntegral a6} in 
  let {a7' = fromIntegral a7} in 
  let {a8' = castComplexToPtr a8} in 
  let {a9' = fromIntegral a9} in 
  let {a10' = castComplexToPtr a10} in 
  let {a11' = fromIntegral a11} in 
  let {a12' = castComplexToPtr a12} in 
  let {a13' = fromIntegral a13} in 
  let {a14' = id a14} in 
  let {a15' = id a15} in 
  ctbrfs'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' a12' a13' a14' a15' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 465 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

dtbrfs :: (Int) -> (CChar) -> (CChar) -> (CChar) -> (Int) -> (Int) -> (Int) -> (Ptr CDouble) -> (Int) -> (Ptr CDouble) -> (Int) -> (Ptr CDouble) -> (Int) -> (Ptr CDouble) -> (Ptr CDouble) -> IO ((Int))
dtbrfs a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 a15 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = castChar a3} in 
  let {a4' = castChar a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = fromIntegral a6} in 
  let {a7' = fromIntegral a7} in 
  let {a8' = id a8} in 
  let {a9' = fromIntegral a9} in 
  let {a10' = id a10} in 
  let {a11' = fromIntegral a11} in 
  let {a12' = id a12} in 
  let {a13' = fromIntegral a13} in 
  let {a14' = id a14} in 
  let {a15' = id a15} in 
  dtbrfs'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' a12' a13' a14' a15' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 466 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

stbrfs :: (Int) -> (CChar) -> (CChar) -> (CChar) -> (Int) -> (Int) -> (Int) -> (Ptr CFloat) -> (Int) -> (Ptr CFloat) -> (Int) -> (Ptr CFloat) -> (Int) -> (Ptr CFloat) -> (Ptr CFloat) -> IO ((Int))
stbrfs a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 a15 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = castChar a3} in 
  let {a4' = castChar a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = fromIntegral a6} in 
  let {a7' = fromIntegral a7} in 
  let {a8' = id a8} in 
  let {a9' = fromIntegral a9} in 
  let {a10' = id a10} in 
  let {a11' = fromIntegral a11} in 
  let {a12' = id a12} in 
  let {a13' = fromIntegral a13} in 
  let {a14' = id a14} in 
  let {a15' = id a15} in 
  stbrfs'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' a12' a13' a14' a15' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 467 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

ztbrfs :: (Int) -> (CChar) -> (CChar) -> (CChar) -> (Int) -> (Int) -> (Int) -> (Ptr (Complex CDouble)) -> (Int) -> (Ptr (Complex CDouble)) -> (Int) -> (Ptr (Complex CDouble)) -> (Int) -> (Ptr CDouble) -> (Ptr CDouble) -> IO ((Int))
ztbrfs a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 a15 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = castChar a3} in 
  let {a4' = castChar a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = fromIntegral a6} in 
  let {a7' = fromIntegral a7} in 
  let {a8' = castZomplexToPtr a8} in 
  let {a9' = fromIntegral a9} in 
  let {a10' = castZomplexToPtr a10} in 
  let {a11' = fromIntegral a11} in 
  let {a12' = castZomplexToPtr a12} in 
  let {a13' = fromIntegral a13} in 
  let {a14' = id a14} in 
  let {a15' = id a15} in 
  ztbrfs'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' a12' a13' a14' a15' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 468 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

cgerqf :: (Int) -> (Int) -> (Int) -> (Ptr (Complex CFloat)) -> (Int) -> (Ptr (Complex CFloat)) -> IO ((Int))
cgerqf a1 a2 a3 a4 a5 a6 =
  let {a1' = fromIntegral a1} in 
  let {a2' = fromIntegral a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = castComplexToPtr a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = castComplexToPtr a6} in 
  cgerqf'_ a1' a2' a3' a4' a5' a6' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 469 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

dgerqf :: (Int) -> (Int) -> (Int) -> (Ptr CDouble) -> (Int) -> (Ptr CDouble) -> IO ((Int))
dgerqf a1 a2 a3 a4 a5 a6 =
  let {a1' = fromIntegral a1} in 
  let {a2' = fromIntegral a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = id a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = id a6} in 
  dgerqf'_ a1' a2' a3' a4' a5' a6' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 470 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

sgerqf :: (Int) -> (Int) -> (Int) -> (Ptr CFloat) -> (Int) -> (Ptr CFloat) -> IO ((Int))
sgerqf a1 a2 a3 a4 a5 a6 =
  let {a1' = fromIntegral a1} in 
  let {a2' = fromIntegral a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = id a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = id a6} in 
  sgerqf'_ a1' a2' a3' a4' a5' a6' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 471 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

zgerqf :: (Int) -> (Int) -> (Int) -> (Ptr (Complex CDouble)) -> (Int) -> (Ptr (Complex CDouble)) -> IO ((Int))
zgerqf a1 a2 a3 a4 a5 a6 =
  let {a1' = fromIntegral a1} in 
  let {a2' = fromIntegral a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = castZomplexToPtr a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = castZomplexToPtr a6} in 
  zgerqf'_ a1' a2' a3' a4' a5' a6' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 472 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

cgerfs :: (Int) -> (CChar) -> (Int) -> (Int) -> (Ptr (Complex CFloat)) -> (Int) -> (Ptr (Complex CFloat)) -> (Int) -> (Ptr CInt) -> (Ptr (Complex CFloat)) -> (Int) -> (Ptr (Complex CFloat)) -> (Int) -> (Ptr CFloat) -> (Ptr CFloat) -> IO ((Int))
cgerfs a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 a15 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = castComplexToPtr a5} in 
  let {a6' = fromIntegral a6} in 
  let {a7' = castComplexToPtr a7} in 
  let {a8' = fromIntegral a8} in 
  let {a9' = id a9} in 
  let {a10' = castComplexToPtr a10} in 
  let {a11' = fromIntegral a11} in 
  let {a12' = castComplexToPtr a12} in 
  let {a13' = fromIntegral a13} in 
  let {a14' = id a14} in 
  let {a15' = id a15} in 
  cgerfs'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' a12' a13' a14' a15' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 473 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

dgerfs :: (Int) -> (CChar) -> (Int) -> (Int) -> (Ptr CDouble) -> (Int) -> (Ptr CDouble) -> (Int) -> (Ptr CInt) -> (Ptr CDouble) -> (Int) -> (Ptr CDouble) -> (Int) -> (Ptr CDouble) -> (Ptr CDouble) -> IO ((Int))
dgerfs a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 a15 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = id a5} in 
  let {a6' = fromIntegral a6} in 
  let {a7' = id a7} in 
  let {a8' = fromIntegral a8} in 
  let {a9' = id a9} in 
  let {a10' = id a10} in 
  let {a11' = fromIntegral a11} in 
  let {a12' = id a12} in 
  let {a13' = fromIntegral a13} in 
  let {a14' = id a14} in 
  let {a15' = id a15} in 
  dgerfs'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' a12' a13' a14' a15' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 474 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

sgerfs :: (Int) -> (CChar) -> (Int) -> (Int) -> (Ptr CFloat) -> (Int) -> (Ptr CFloat) -> (Int) -> (Ptr CInt) -> (Ptr CFloat) -> (Int) -> (Ptr CFloat) -> (Int) -> (Ptr CFloat) -> (Ptr CFloat) -> IO ((Int))
sgerfs a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 a15 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = id a5} in 
  let {a6' = fromIntegral a6} in 
  let {a7' = id a7} in 
  let {a8' = fromIntegral a8} in 
  let {a9' = id a9} in 
  let {a10' = id a10} in 
  let {a11' = fromIntegral a11} in 
  let {a12' = id a12} in 
  let {a13' = fromIntegral a13} in 
  let {a14' = id a14} in 
  let {a15' = id a15} in 
  sgerfs'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' a12' a13' a14' a15' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 475 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

zgerfs :: (Int) -> (CChar) -> (Int) -> (Int) -> (Ptr (Complex CDouble)) -> (Int) -> (Ptr (Complex CDouble)) -> (Int) -> (Ptr CInt) -> (Ptr (Complex CDouble)) -> (Int) -> (Ptr (Complex CDouble)) -> (Int) -> (Ptr CDouble) -> (Ptr CDouble) -> IO ((Int))
zgerfs a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 a15 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = castZomplexToPtr a5} in 
  let {a6' = fromIntegral a6} in 
  let {a7' = castZomplexToPtr a7} in 
  let {a8' = fromIntegral a8} in 
  let {a9' = id a9} in 
  let {a10' = castZomplexToPtr a10} in 
  let {a11' = fromIntegral a11} in 
  let {a12' = castZomplexToPtr a12} in 
  let {a13' = fromIntegral a13} in 
  let {a14' = id a14} in 
  let {a15' = id a15} in 
  zgerfs'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' a12' a13' a14' a15' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 476 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

cherfs :: (Int) -> (CChar) -> (Int) -> (Int) -> (Ptr (Complex CFloat)) -> (Int) -> (Ptr (Complex CFloat)) -> (Int) -> (Ptr CInt) -> (Ptr (Complex CFloat)) -> (Int) -> (Ptr (Complex CFloat)) -> (Int) -> (Ptr CFloat) -> (Ptr CFloat) -> IO ((Int))
cherfs a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 a15 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = castComplexToPtr a5} in 
  let {a6' = fromIntegral a6} in 
  let {a7' = castComplexToPtr a7} in 
  let {a8' = fromIntegral a8} in 
  let {a9' = id a9} in 
  let {a10' = castComplexToPtr a10} in 
  let {a11' = fromIntegral a11} in 
  let {a12' = castComplexToPtr a12} in 
  let {a13' = fromIntegral a13} in 
  let {a14' = id a14} in 
  let {a15' = id a15} in 
  cherfs'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' a12' a13' a14' a15' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 477 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

zherfs :: (Int) -> (CChar) -> (Int) -> (Int) -> (Ptr (Complex CDouble)) -> (Int) -> (Ptr (Complex CDouble)) -> (Int) -> (Ptr CInt) -> (Ptr (Complex CDouble)) -> (Int) -> (Ptr (Complex CDouble)) -> (Int) -> (Ptr CDouble) -> (Ptr CDouble) -> IO ((Int))
zherfs a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 a15 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = castZomplexToPtr a5} in 
  let {a6' = fromIntegral a6} in 
  let {a7' = castZomplexToPtr a7} in 
  let {a8' = fromIntegral a8} in 
  let {a9' = id a9} in 
  let {a10' = castZomplexToPtr a10} in 
  let {a11' = fromIntegral a11} in 
  let {a12' = castZomplexToPtr a12} in 
  let {a13' = fromIntegral a13} in 
  let {a14' = id a14} in 
  let {a15' = id a15} in 
  zherfs'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' a12' a13' a14' a15' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 478 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

chfrk :: (Int) -> (CChar) -> (CChar) -> (CChar) -> (Int) -> (Int) -> (CFloat) -> (Ptr (Complex CFloat)) -> (Int) -> (CFloat) -> (Ptr (Complex CFloat)) -> IO ((Int))
chfrk a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = castChar a3} in 
  let {a4' = castChar a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = fromIntegral a6} in 
  let {a7' = id a7} in 
  let {a8' = castComplexToPtr a8} in 
  let {a9' = fromIntegral a9} in 
  let {a10' = id a10} in 
  let {a11' = castComplexToPtr a11} in 
  chfrk'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 479 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

zhfrk :: (Int) -> (CChar) -> (CChar) -> (CChar) -> (Int) -> (Int) -> (CDouble) -> (Ptr (Complex CDouble)) -> (Int) -> (CDouble) -> (Ptr (Complex CDouble)) -> IO ((Int))
zhfrk a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = castChar a3} in 
  let {a4' = castChar a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = fromIntegral a6} in 
  let {a7' = id a7} in 
  let {a8' = castZomplexToPtr a8} in 
  let {a9' = fromIntegral a9} in 
  let {a10' = id a10} in 
  let {a11' = castZomplexToPtr a11} in 
  zhfrk'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 480 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

dsfrk :: (Int) -> (CChar) -> (CChar) -> (CChar) -> (Int) -> (Int) -> (CDouble) -> (Ptr CDouble) -> (Int) -> (CDouble) -> (Ptr CDouble) -> IO ((Int))
dsfrk a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = castChar a3} in 
  let {a4' = castChar a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = fromIntegral a6} in 
  let {a7' = id a7} in 
  let {a8' = id a8} in 
  let {a9' = fromIntegral a9} in 
  let {a10' = id a10} in 
  let {a11' = id a11} in 
  dsfrk'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 481 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

ssfrk :: (Int) -> (CChar) -> (CChar) -> (CChar) -> (Int) -> (Int) -> (CFloat) -> (Ptr CFloat) -> (Int) -> (CFloat) -> (Ptr CFloat) -> IO ((Int))
ssfrk a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = castChar a3} in 
  let {a4' = castChar a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = fromIntegral a6} in 
  let {a7' = id a7} in 
  let {a8' = id a8} in 
  let {a9' = fromIntegral a9} in 
  let {a10' = id a10} in 
  let {a11' = id a11} in 
  ssfrk'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 482 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

cggrqf :: (Int) -> (Int) -> (Int) -> (Int) -> (Ptr (Complex CFloat)) -> (Int) -> (Ptr (Complex CFloat)) -> (Ptr (Complex CFloat)) -> (Int) -> (Ptr (Complex CFloat)) -> IO ((Int))
cggrqf a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 =
  let {a1' = fromIntegral a1} in 
  let {a2' = fromIntegral a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = castComplexToPtr a5} in 
  let {a6' = fromIntegral a6} in 
  let {a7' = castComplexToPtr a7} in 
  let {a8' = castComplexToPtr a8} in 
  let {a9' = fromIntegral a9} in 
  let {a10' = castComplexToPtr a10} in 
  cggrqf'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 483 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

dggrqf :: (Int) -> (Int) -> (Int) -> (Int) -> (Ptr CDouble) -> (Int) -> (Ptr CDouble) -> (Ptr CDouble) -> (Int) -> (Ptr CDouble) -> IO ((Int))
dggrqf a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 =
  let {a1' = fromIntegral a1} in 
  let {a2' = fromIntegral a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = id a5} in 
  let {a6' = fromIntegral a6} in 
  let {a7' = id a7} in 
  let {a8' = id a8} in 
  let {a9' = fromIntegral a9} in 
  let {a10' = id a10} in 
  dggrqf'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 484 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

sggrqf :: (Int) -> (Int) -> (Int) -> (Int) -> (Ptr CFloat) -> (Int) -> (Ptr CFloat) -> (Ptr CFloat) -> (Int) -> (Ptr CFloat) -> IO ((Int))
sggrqf a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 =
  let {a1' = fromIntegral a1} in 
  let {a2' = fromIntegral a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = id a5} in 
  let {a6' = fromIntegral a6} in 
  let {a7' = id a7} in 
  let {a8' = id a8} in 
  let {a9' = fromIntegral a9} in 
  let {a10' = id a10} in 
  sggrqf'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 485 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

zggrqf :: (Int) -> (Int) -> (Int) -> (Int) -> (Ptr (Complex CDouble)) -> (Int) -> (Ptr (Complex CDouble)) -> (Ptr (Complex CDouble)) -> (Int) -> (Ptr (Complex CDouble)) -> IO ((Int))
zggrqf a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 =
  let {a1' = fromIntegral a1} in 
  let {a2' = fromIntegral a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = castZomplexToPtr a5} in 
  let {a6' = fromIntegral a6} in 
  let {a7' = castZomplexToPtr a7} in 
  let {a8' = castZomplexToPtr a8} in 
  let {a9' = fromIntegral a9} in 
  let {a10' = castZomplexToPtr a10} in 
  zggrqf'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 486 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

cporfs :: (Int) -> (CChar) -> (Int) -> (Int) -> (Ptr (Complex CFloat)) -> (Int) -> (Ptr (Complex CFloat)) -> (Int) -> (Ptr (Complex CFloat)) -> (Int) -> (Ptr (Complex CFloat)) -> (Int) -> (Ptr CFloat) -> (Ptr CFloat) -> IO ((Int))
cporfs a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = castComplexToPtr a5} in 
  let {a6' = fromIntegral a6} in 
  let {a7' = castComplexToPtr a7} in 
  let {a8' = fromIntegral a8} in 
  let {a9' = castComplexToPtr a9} in 
  let {a10' = fromIntegral a10} in 
  let {a11' = castComplexToPtr a11} in 
  let {a12' = fromIntegral a12} in 
  let {a13' = id a13} in 
  let {a14' = id a14} in 
  cporfs'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' a12' a13' a14' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 487 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

dporfs :: (Int) -> (CChar) -> (Int) -> (Int) -> (Ptr CDouble) -> (Int) -> (Ptr CDouble) -> (Int) -> (Ptr CDouble) -> (Int) -> (Ptr CDouble) -> (Int) -> (Ptr CDouble) -> (Ptr CDouble) -> IO ((Int))
dporfs a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = id a5} in 
  let {a6' = fromIntegral a6} in 
  let {a7' = id a7} in 
  let {a8' = fromIntegral a8} in 
  let {a9' = id a9} in 
  let {a10' = fromIntegral a10} in 
  let {a11' = id a11} in 
  let {a12' = fromIntegral a12} in 
  let {a13' = id a13} in 
  let {a14' = id a14} in 
  dporfs'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' a12' a13' a14' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 488 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

sporfs :: (Int) -> (CChar) -> (Int) -> (Int) -> (Ptr CFloat) -> (Int) -> (Ptr CFloat) -> (Int) -> (Ptr CFloat) -> (Int) -> (Ptr CFloat) -> (Int) -> (Ptr CFloat) -> (Ptr CFloat) -> IO ((Int))
sporfs a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = id a5} in 
  let {a6' = fromIntegral a6} in 
  let {a7' = id a7} in 
  let {a8' = fromIntegral a8} in 
  let {a9' = id a9} in 
  let {a10' = fromIntegral a10} in 
  let {a11' = id a11} in 
  let {a12' = fromIntegral a12} in 
  let {a13' = id a13} in 
  let {a14' = id a14} in 
  sporfs'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' a12' a13' a14' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 489 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

zporfs :: (Int) -> (CChar) -> (Int) -> (Int) -> (Ptr (Complex CDouble)) -> (Int) -> (Ptr (Complex CDouble)) -> (Int) -> (Ptr (Complex CDouble)) -> (Int) -> (Ptr (Complex CDouble)) -> (Int) -> (Ptr CDouble) -> (Ptr CDouble) -> IO ((Int))
zporfs a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = castZomplexToPtr a5} in 
  let {a6' = fromIntegral a6} in 
  let {a7' = castZomplexToPtr a7} in 
  let {a8' = fromIntegral a8} in 
  let {a9' = castZomplexToPtr a9} in 
  let {a10' = fromIntegral a10} in 
  let {a11' = castZomplexToPtr a11} in 
  let {a12' = fromIntegral a12} in 
  let {a13' = id a13} in 
  let {a14' = id a14} in 
  zporfs'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' a12' a13' a14' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 490 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

chprfs :: (Int) -> (CChar) -> (Int) -> (Int) -> (Ptr (Complex CFloat)) -> (Ptr (Complex CFloat)) -> (Ptr CInt) -> (Ptr (Complex CFloat)) -> (Int) -> (Ptr (Complex CFloat)) -> (Int) -> (Ptr CFloat) -> (Ptr CFloat) -> IO ((Int))
chprfs a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = castComplexToPtr a5} in 
  let {a6' = castComplexToPtr a6} in 
  let {a7' = id a7} in 
  let {a8' = castComplexToPtr a8} in 
  let {a9' = fromIntegral a9} in 
  let {a10' = castComplexToPtr a10} in 
  let {a11' = fromIntegral a11} in 
  let {a12' = id a12} in 
  let {a13' = id a13} in 
  chprfs'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' a12' a13' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 491 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

zhprfs :: (Int) -> (CChar) -> (Int) -> (Int) -> (Ptr (Complex CDouble)) -> (Ptr (Complex CDouble)) -> (Ptr CInt) -> (Ptr (Complex CDouble)) -> (Int) -> (Ptr (Complex CDouble)) -> (Int) -> (Ptr CDouble) -> (Ptr CDouble) -> IO ((Int))
zhprfs a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = castZomplexToPtr a5} in 
  let {a6' = castZomplexToPtr a6} in 
  let {a7' = id a7} in 
  let {a8' = castZomplexToPtr a8} in 
  let {a9' = fromIntegral a9} in 
  let {a10' = castZomplexToPtr a10} in 
  let {a11' = fromIntegral a11} in 
  let {a12' = id a12} in 
  let {a13' = id a13} in 
  zhprfs'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' a12' a13' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 492 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

cpprfs :: (Int) -> (CChar) -> (Int) -> (Int) -> (Ptr (Complex CFloat)) -> (Ptr (Complex CFloat)) -> (Ptr (Complex CFloat)) -> (Int) -> (Ptr (Complex CFloat)) -> (Int) -> (Ptr CFloat) -> (Ptr CFloat) -> IO ((Int))
cpprfs a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = castComplexToPtr a5} in 
  let {a6' = castComplexToPtr a6} in 
  let {a7' = castComplexToPtr a7} in 
  let {a8' = fromIntegral a8} in 
  let {a9' = castComplexToPtr a9} in 
  let {a10' = fromIntegral a10} in 
  let {a11' = id a11} in 
  let {a12' = id a12} in 
  cpprfs'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' a12' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 493 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

dpprfs :: (Int) -> (CChar) -> (Int) -> (Int) -> (Ptr CDouble) -> (Ptr CDouble) -> (Ptr CDouble) -> (Int) -> (Ptr CDouble) -> (Int) -> (Ptr CDouble) -> (Ptr CDouble) -> IO ((Int))
dpprfs a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = id a5} in 
  let {a6' = id a6} in 
  let {a7' = id a7} in 
  let {a8' = fromIntegral a8} in 
  let {a9' = id a9} in 
  let {a10' = fromIntegral a10} in 
  let {a11' = id a11} in 
  let {a12' = id a12} in 
  dpprfs'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' a12' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 494 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

spprfs :: (Int) -> (CChar) -> (Int) -> (Int) -> (Ptr CFloat) -> (Ptr CFloat) -> (Ptr CFloat) -> (Int) -> (Ptr CFloat) -> (Int) -> (Ptr CFloat) -> (Ptr CFloat) -> IO ((Int))
spprfs a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = id a5} in 
  let {a6' = id a6} in 
  let {a7' = id a7} in 
  let {a8' = fromIntegral a8} in 
  let {a9' = id a9} in 
  let {a10' = fromIntegral a10} in 
  let {a11' = id a11} in 
  let {a12' = id a12} in 
  spprfs'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' a12' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 495 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

zpprfs :: (Int) -> (CChar) -> (Int) -> (Int) -> (Ptr (Complex CDouble)) -> (Ptr (Complex CDouble)) -> (Ptr (Complex CDouble)) -> (Int) -> (Ptr (Complex CDouble)) -> (Int) -> (Ptr CDouble) -> (Ptr CDouble) -> IO ((Int))
zpprfs a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = castZomplexToPtr a5} in 
  let {a6' = castZomplexToPtr a6} in 
  let {a7' = castZomplexToPtr a7} in 
  let {a8' = fromIntegral a8} in 
  let {a9' = castZomplexToPtr a9} in 
  let {a10' = fromIntegral a10} in 
  let {a11' = id a11} in 
  let {a12' = id a12} in 
  zpprfs'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' a12' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 496 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

csprfs :: (Int) -> (CChar) -> (Int) -> (Int) -> (Ptr (Complex CFloat)) -> (Ptr (Complex CFloat)) -> (Ptr CInt) -> (Ptr (Complex CFloat)) -> (Int) -> (Ptr (Complex CFloat)) -> (Int) -> (Ptr CFloat) -> (Ptr CFloat) -> IO ((Int))
csprfs a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = castComplexToPtr a5} in 
  let {a6' = castComplexToPtr a6} in 
  let {a7' = id a7} in 
  let {a8' = castComplexToPtr a8} in 
  let {a9' = fromIntegral a9} in 
  let {a10' = castComplexToPtr a10} in 
  let {a11' = fromIntegral a11} in 
  let {a12' = id a12} in 
  let {a13' = id a13} in 
  csprfs'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' a12' a13' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 497 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

dsprfs :: (Int) -> (CChar) -> (Int) -> (Int) -> (Ptr CDouble) -> (Ptr CDouble) -> (Ptr CInt) -> (Ptr CDouble) -> (Int) -> (Ptr CDouble) -> (Int) -> (Ptr CDouble) -> (Ptr CDouble) -> IO ((Int))
dsprfs a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = id a5} in 
  let {a6' = id a6} in 
  let {a7' = id a7} in 
  let {a8' = id a8} in 
  let {a9' = fromIntegral a9} in 
  let {a10' = id a10} in 
  let {a11' = fromIntegral a11} in 
  let {a12' = id a12} in 
  let {a13' = id a13} in 
  dsprfs'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' a12' a13' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 498 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

ssprfs :: (Int) -> (CChar) -> (Int) -> (Int) -> (Ptr CFloat) -> (Ptr CFloat) -> (Ptr CInt) -> (Ptr CFloat) -> (Int) -> (Ptr CFloat) -> (Int) -> (Ptr CFloat) -> (Ptr CFloat) -> IO ((Int))
ssprfs a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = id a5} in 
  let {a6' = id a6} in 
  let {a7' = id a7} in 
  let {a8' = id a8} in 
  let {a9' = fromIntegral a9} in 
  let {a10' = id a10} in 
  let {a11' = fromIntegral a11} in 
  let {a12' = id a12} in 
  let {a13' = id a13} in 
  ssprfs'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' a12' a13' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 499 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

zsprfs :: (Int) -> (CChar) -> (Int) -> (Int) -> (Ptr (Complex CDouble)) -> (Ptr (Complex CDouble)) -> (Ptr CInt) -> (Ptr (Complex CDouble)) -> (Int) -> (Ptr (Complex CDouble)) -> (Int) -> (Ptr CDouble) -> (Ptr CDouble) -> IO ((Int))
zsprfs a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = castZomplexToPtr a5} in 
  let {a6' = castZomplexToPtr a6} in 
  let {a7' = id a7} in 
  let {a8' = castZomplexToPtr a8} in 
  let {a9' = fromIntegral a9} in 
  let {a10' = castZomplexToPtr a10} in 
  let {a11' = fromIntegral a11} in 
  let {a12' = id a12} in 
  let {a13' = id a13} in 
  zsprfs'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' a12' a13' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 500 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

ctprfs :: (Int) -> (CChar) -> (CChar) -> (CChar) -> (Int) -> (Int) -> (Ptr (Complex CFloat)) -> (Ptr (Complex CFloat)) -> (Int) -> (Ptr (Complex CFloat)) -> (Int) -> (Ptr CFloat) -> (Ptr CFloat) -> IO ((Int))
ctprfs a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = castChar a3} in 
  let {a4' = castChar a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = fromIntegral a6} in 
  let {a7' = castComplexToPtr a7} in 
  let {a8' = castComplexToPtr a8} in 
  let {a9' = fromIntegral a9} in 
  let {a10' = castComplexToPtr a10} in 
  let {a11' = fromIntegral a11} in 
  let {a12' = id a12} in 
  let {a13' = id a13} in 
  ctprfs'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' a12' a13' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 501 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

dtprfs :: (Int) -> (CChar) -> (CChar) -> (CChar) -> (Int) -> (Int) -> (Ptr CDouble) -> (Ptr CDouble) -> (Int) -> (Ptr CDouble) -> (Int) -> (Ptr CDouble) -> (Ptr CDouble) -> IO ((Int))
dtprfs a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = castChar a3} in 
  let {a4' = castChar a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = fromIntegral a6} in 
  let {a7' = id a7} in 
  let {a8' = id a8} in 
  let {a9' = fromIntegral a9} in 
  let {a10' = id a10} in 
  let {a11' = fromIntegral a11} in 
  let {a12' = id a12} in 
  let {a13' = id a13} in 
  dtprfs'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' a12' a13' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 502 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

stprfs :: (Int) -> (CChar) -> (CChar) -> (CChar) -> (Int) -> (Int) -> (Ptr CFloat) -> (Ptr CFloat) -> (Int) -> (Ptr CFloat) -> (Int) -> (Ptr CFloat) -> (Ptr CFloat) -> IO ((Int))
stprfs a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = castChar a3} in 
  let {a4' = castChar a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = fromIntegral a6} in 
  let {a7' = id a7} in 
  let {a8' = id a8} in 
  let {a9' = fromIntegral a9} in 
  let {a10' = id a10} in 
  let {a11' = fromIntegral a11} in 
  let {a12' = id a12} in 
  let {a13' = id a13} in 
  stprfs'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' a12' a13' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 503 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

ztprfs :: (Int) -> (CChar) -> (CChar) -> (CChar) -> (Int) -> (Int) -> (Ptr (Complex CDouble)) -> (Ptr (Complex CDouble)) -> (Int) -> (Ptr (Complex CDouble)) -> (Int) -> (Ptr CDouble) -> (Ptr CDouble) -> IO ((Int))
ztprfs a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = castChar a3} in 
  let {a4' = castChar a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = fromIntegral a6} in 
  let {a7' = castZomplexToPtr a7} in 
  let {a8' = castZomplexToPtr a8} in 
  let {a9' = fromIntegral a9} in 
  let {a10' = castZomplexToPtr a10} in 
  let {a11' = fromIntegral a11} in 
  let {a12' = id a12} in 
  let {a13' = id a13} in 
  ztprfs'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' a12' a13' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 504 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

ctrrfs :: (Int) -> (CChar) -> (CChar) -> (CChar) -> (Int) -> (Int) -> (Ptr (Complex CFloat)) -> (Int) -> (Ptr (Complex CFloat)) -> (Int) -> (Ptr (Complex CFloat)) -> (Int) -> (Ptr CFloat) -> (Ptr CFloat) -> IO ((Int))
ctrrfs a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = castChar a3} in 
  let {a4' = castChar a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = fromIntegral a6} in 
  let {a7' = castComplexToPtr a7} in 
  let {a8' = fromIntegral a8} in 
  let {a9' = castComplexToPtr a9} in 
  let {a10' = fromIntegral a10} in 
  let {a11' = castComplexToPtr a11} in 
  let {a12' = fromIntegral a12} in 
  let {a13' = id a13} in 
  let {a14' = id a14} in 
  ctrrfs'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' a12' a13' a14' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 505 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

dtrrfs :: (Int) -> (CChar) -> (CChar) -> (CChar) -> (Int) -> (Int) -> (Ptr CDouble) -> (Int) -> (Ptr CDouble) -> (Int) -> (Ptr CDouble) -> (Int) -> (Ptr CDouble) -> (Ptr CDouble) -> IO ((Int))
dtrrfs a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = castChar a3} in 
  let {a4' = castChar a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = fromIntegral a6} in 
  let {a7' = id a7} in 
  let {a8' = fromIntegral a8} in 
  let {a9' = id a9} in 
  let {a10' = fromIntegral a10} in 
  let {a11' = id a11} in 
  let {a12' = fromIntegral a12} in 
  let {a13' = id a13} in 
  let {a14' = id a14} in 
  dtrrfs'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' a12' a13' a14' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 506 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

strrfs :: (Int) -> (CChar) -> (CChar) -> (CChar) -> (Int) -> (Int) -> (Ptr CFloat) -> (Int) -> (Ptr CFloat) -> (Int) -> (Ptr CFloat) -> (Int) -> (Ptr CFloat) -> (Ptr CFloat) -> IO ((Int))
strrfs a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = castChar a3} in 
  let {a4' = castChar a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = fromIntegral a6} in 
  let {a7' = id a7} in 
  let {a8' = fromIntegral a8} in 
  let {a9' = id a9} in 
  let {a10' = fromIntegral a10} in 
  let {a11' = id a11} in 
  let {a12' = fromIntegral a12} in 
  let {a13' = id a13} in 
  let {a14' = id a14} in 
  strrfs'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' a12' a13' a14' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 507 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

ztrrfs :: (Int) -> (CChar) -> (CChar) -> (CChar) -> (Int) -> (Int) -> (Ptr (Complex CDouble)) -> (Int) -> (Ptr (Complex CDouble)) -> (Int) -> (Ptr (Complex CDouble)) -> (Int) -> (Ptr CDouble) -> (Ptr CDouble) -> IO ((Int))
ztrrfs a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = castChar a3} in 
  let {a4' = castChar a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = fromIntegral a6} in 
  let {a7' = castZomplexToPtr a7} in 
  let {a8' = fromIntegral a8} in 
  let {a9' = castZomplexToPtr a9} in 
  let {a10' = fromIntegral a10} in 
  let {a11' = castZomplexToPtr a11} in 
  let {a12' = fromIntegral a12} in 
  let {a13' = id a13} in 
  let {a14' = id a14} in 
  ztrrfs'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' a12' a13' a14' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 508 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

cgtrfs :: (Int) -> (CChar) -> (Int) -> (Int) -> (Ptr (Complex CFloat)) -> (Ptr (Complex CFloat)) -> (Ptr (Complex CFloat)) -> (Ptr (Complex CFloat)) -> (Ptr (Complex CFloat)) -> (Ptr (Complex CFloat)) -> (Ptr (Complex CFloat)) -> (Ptr CInt) -> (Ptr (Complex CFloat)) -> (Int) -> (Ptr (Complex CFloat)) -> (Int) -> (Ptr CFloat) -> (Ptr CFloat) -> IO ((Int))
cgtrfs a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 a15 a16 a17 a18 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = castComplexToPtr a5} in 
  let {a6' = castComplexToPtr a6} in 
  let {a7' = castComplexToPtr a7} in 
  let {a8' = castComplexToPtr a8} in 
  let {a9' = castComplexToPtr a9} in 
  let {a10' = castComplexToPtr a10} in 
  let {a11' = castComplexToPtr a11} in 
  let {a12' = id a12} in 
  let {a13' = castComplexToPtr a13} in 
  let {a14' = fromIntegral a14} in 
  let {a15' = castComplexToPtr a15} in 
  let {a16' = fromIntegral a16} in 
  let {a17' = id a17} in 
  let {a18' = id a18} in 
  cgtrfs'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' a12' a13' a14' a15' a16' a17' a18' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 509 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

dgtrfs :: (Int) -> (CChar) -> (Int) -> (Int) -> (Ptr CDouble) -> (Ptr CDouble) -> (Ptr CDouble) -> (Ptr CDouble) -> (Ptr CDouble) -> (Ptr CDouble) -> (Ptr CDouble) -> (Ptr CInt) -> (Ptr CDouble) -> (Int) -> (Ptr CDouble) -> (Int) -> (Ptr CDouble) -> (Ptr CDouble) -> IO ((Int))
dgtrfs a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 a15 a16 a17 a18 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = id a5} in 
  let {a6' = id a6} in 
  let {a7' = id a7} in 
  let {a8' = id a8} in 
  let {a9' = id a9} in 
  let {a10' = id a10} in 
  let {a11' = id a11} in 
  let {a12' = id a12} in 
  let {a13' = id a13} in 
  let {a14' = fromIntegral a14} in 
  let {a15' = id a15} in 
  let {a16' = fromIntegral a16} in 
  let {a17' = id a17} in 
  let {a18' = id a18} in 
  dgtrfs'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' a12' a13' a14' a15' a16' a17' a18' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 510 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

sgtrfs :: (Int) -> (CChar) -> (Int) -> (Int) -> (Ptr CFloat) -> (Ptr CFloat) -> (Ptr CFloat) -> (Ptr CFloat) -> (Ptr CFloat) -> (Ptr CFloat) -> (Ptr CFloat) -> (Ptr CInt) -> (Ptr CFloat) -> (Int) -> (Ptr CFloat) -> (Int) -> (Ptr CFloat) -> (Ptr CFloat) -> IO ((Int))
sgtrfs a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 a15 a16 a17 a18 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = id a5} in 
  let {a6' = id a6} in 
  let {a7' = id a7} in 
  let {a8' = id a8} in 
  let {a9' = id a9} in 
  let {a10' = id a10} in 
  let {a11' = id a11} in 
  let {a12' = id a12} in 
  let {a13' = id a13} in 
  let {a14' = fromIntegral a14} in 
  let {a15' = id a15} in 
  let {a16' = fromIntegral a16} in 
  let {a17' = id a17} in 
  let {a18' = id a18} in 
  sgtrfs'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' a12' a13' a14' a15' a16' a17' a18' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 511 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

zgtrfs :: (Int) -> (CChar) -> (Int) -> (Int) -> (Ptr (Complex CDouble)) -> (Ptr (Complex CDouble)) -> (Ptr (Complex CDouble)) -> (Ptr (Complex CDouble)) -> (Ptr (Complex CDouble)) -> (Ptr (Complex CDouble)) -> (Ptr (Complex CDouble)) -> (Ptr CInt) -> (Ptr (Complex CDouble)) -> (Int) -> (Ptr (Complex CDouble)) -> (Int) -> (Ptr CDouble) -> (Ptr CDouble) -> IO ((Int))
zgtrfs a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 a15 a16 a17 a18 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = castZomplexToPtr a5} in 
  let {a6' = castZomplexToPtr a6} in 
  let {a7' = castZomplexToPtr a7} in 
  let {a8' = castZomplexToPtr a8} in 
  let {a9' = castZomplexToPtr a9} in 
  let {a10' = castZomplexToPtr a10} in 
  let {a11' = castZomplexToPtr a11} in 
  let {a12' = id a12} in 
  let {a13' = castZomplexToPtr a13} in 
  let {a14' = fromIntegral a14} in 
  let {a15' = castZomplexToPtr a15} in 
  let {a16' = fromIntegral a16} in 
  let {a17' = id a17} in 
  let {a18' = id a18} in 
  zgtrfs'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' a12' a13' a14' a15' a16' a17' a18' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 512 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

cptrfs :: (Int) -> (CChar) -> (Int) -> (Int) -> (Ptr CFloat) -> (Ptr (Complex CFloat)) -> (Ptr CFloat) -> (Ptr (Complex CFloat)) -> (Ptr (Complex CFloat)) -> (Int) -> (Ptr (Complex CFloat)) -> (Int) -> (Ptr CFloat) -> (Ptr CFloat) -> IO ((Int))
cptrfs a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = id a5} in 
  let {a6' = castComplexToPtr a6} in 
  let {a7' = id a7} in 
  let {a8' = castComplexToPtr a8} in 
  let {a9' = castComplexToPtr a9} in 
  let {a10' = fromIntegral a10} in 
  let {a11' = castComplexToPtr a11} in 
  let {a12' = fromIntegral a12} in 
  let {a13' = id a13} in 
  let {a14' = id a14} in 
  cptrfs'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' a12' a13' a14' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 513 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

dptrfs :: (Int) -> (Int) -> (Int) -> (Ptr CDouble) -> (Ptr CDouble) -> (Ptr CDouble) -> (Ptr CDouble) -> (Ptr CDouble) -> (Int) -> (Ptr CDouble) -> (Int) -> (Ptr CDouble) -> (Ptr CDouble) -> IO ((Int))
dptrfs a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 =
  let {a1' = fromIntegral a1} in 
  let {a2' = fromIntegral a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = id a4} in 
  let {a5' = id a5} in 
  let {a6' = id a6} in 
  let {a7' = id a7} in 
  let {a8' = id a8} in 
  let {a9' = fromIntegral a9} in 
  let {a10' = id a10} in 
  let {a11' = fromIntegral a11} in 
  let {a12' = id a12} in 
  let {a13' = id a13} in 
  dptrfs'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' a12' a13' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 514 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

sptrfs :: (Int) -> (Int) -> (Int) -> (Ptr CFloat) -> (Ptr CFloat) -> (Ptr CFloat) -> (Ptr CFloat) -> (Ptr CFloat) -> (Int) -> (Ptr CFloat) -> (Int) -> (Ptr CFloat) -> (Ptr CFloat) -> IO ((Int))
sptrfs a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 =
  let {a1' = fromIntegral a1} in 
  let {a2' = fromIntegral a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = id a4} in 
  let {a5' = id a5} in 
  let {a6' = id a6} in 
  let {a7' = id a7} in 
  let {a8' = id a8} in 
  let {a9' = fromIntegral a9} in 
  let {a10' = id a10} in 
  let {a11' = fromIntegral a11} in 
  let {a12' = id a12} in 
  let {a13' = id a13} in 
  sptrfs'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' a12' a13' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 515 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

zptrfs :: (Int) -> (CChar) -> (Int) -> (Int) -> (Ptr CDouble) -> (Ptr (Complex CDouble)) -> (Ptr CDouble) -> (Ptr (Complex CDouble)) -> (Ptr (Complex CDouble)) -> (Int) -> (Ptr (Complex CDouble)) -> (Int) -> (Ptr CDouble) -> (Ptr CDouble) -> IO ((Int))
zptrfs a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = id a5} in 
  let {a6' = castZomplexToPtr a6} in 
  let {a7' = id a7} in 
  let {a8' = castZomplexToPtr a8} in 
  let {a9' = castZomplexToPtr a9} in 
  let {a10' = fromIntegral a10} in 
  let {a11' = castZomplexToPtr a11} in 
  let {a12' = fromIntegral a12} in 
  let {a13' = id a13} in 
  let {a14' = id a14} in 
  zptrfs'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' a12' a13' a14' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 516 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

csyrfs :: (Int) -> (CChar) -> (Int) -> (Int) -> (Ptr (Complex CFloat)) -> (Int) -> (Ptr (Complex CFloat)) -> (Int) -> (Ptr CInt) -> (Ptr (Complex CFloat)) -> (Int) -> (Ptr (Complex CFloat)) -> (Int) -> (Ptr CFloat) -> (Ptr CFloat) -> IO ((Int))
csyrfs a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 a15 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = castComplexToPtr a5} in 
  let {a6' = fromIntegral a6} in 
  let {a7' = castComplexToPtr a7} in 
  let {a8' = fromIntegral a8} in 
  let {a9' = id a9} in 
  let {a10' = castComplexToPtr a10} in 
  let {a11' = fromIntegral a11} in 
  let {a12' = castComplexToPtr a12} in 
  let {a13' = fromIntegral a13} in 
  let {a14' = id a14} in 
  let {a15' = id a15} in 
  csyrfs'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' a12' a13' a14' a15' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 517 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

dsyrfs :: (Int) -> (CChar) -> (Int) -> (Int) -> (Ptr CDouble) -> (Int) -> (Ptr CDouble) -> (Int) -> (Ptr CInt) -> (Ptr CDouble) -> (Int) -> (Ptr CDouble) -> (Int) -> (Ptr CDouble) -> (Ptr CDouble) -> IO ((Int))
dsyrfs a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 a15 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = id a5} in 
  let {a6' = fromIntegral a6} in 
  let {a7' = id a7} in 
  let {a8' = fromIntegral a8} in 
  let {a9' = id a9} in 
  let {a10' = id a10} in 
  let {a11' = fromIntegral a11} in 
  let {a12' = id a12} in 
  let {a13' = fromIntegral a13} in 
  let {a14' = id a14} in 
  let {a15' = id a15} in 
  dsyrfs'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' a12' a13' a14' a15' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 518 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

ssyrfs :: (Int) -> (CChar) -> (Int) -> (Int) -> (Ptr CFloat) -> (Int) -> (Ptr CFloat) -> (Int) -> (Ptr CInt) -> (Ptr CFloat) -> (Int) -> (Ptr CFloat) -> (Int) -> (Ptr CFloat) -> (Ptr CFloat) -> IO ((Int))
ssyrfs a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 a15 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = id a5} in 
  let {a6' = fromIntegral a6} in 
  let {a7' = id a7} in 
  let {a8' = fromIntegral a8} in 
  let {a9' = id a9} in 
  let {a10' = id a10} in 
  let {a11' = fromIntegral a11} in 
  let {a12' = id a12} in 
  let {a13' = fromIntegral a13} in 
  let {a14' = id a14} in 
  let {a15' = id a15} in 
  ssyrfs'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' a12' a13' a14' a15' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 519 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

zsyrfs :: (Int) -> (CChar) -> (Int) -> (Int) -> (Ptr (Complex CDouble)) -> (Int) -> (Ptr (Complex CDouble)) -> (Int) -> (Ptr CInt) -> (Ptr (Complex CDouble)) -> (Int) -> (Ptr (Complex CDouble)) -> (Int) -> (Ptr CDouble) -> (Ptr CDouble) -> IO ((Int))
zsyrfs a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 a15 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = castZomplexToPtr a5} in 
  let {a6' = fromIntegral a6} in 
  let {a7' = castZomplexToPtr a7} in 
  let {a8' = fromIntegral a8} in 
  let {a9' = id a9} in 
  let {a10' = castZomplexToPtr a10} in 
  let {a11' = fromIntegral a11} in 
  let {a12' = castZomplexToPtr a12} in 
  let {a13' = fromIntegral a13} in 
  let {a14' = id a14} in 
  let {a15' = id a15} in 
  zsyrfs'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' a12' a13' a14' a15' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 520 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

ctzrzf :: (Int) -> (Int) -> (Int) -> (Ptr (Complex CFloat)) -> (Int) -> (Ptr (Complex CFloat)) -> IO ((Int))
ctzrzf a1 a2 a3 a4 a5 a6 =
  let {a1' = fromIntegral a1} in 
  let {a2' = fromIntegral a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = castComplexToPtr a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = castComplexToPtr a6} in 
  ctzrzf'_ a1' a2' a3' a4' a5' a6' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 521 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

dtzrzf :: (Int) -> (Int) -> (Int) -> (Ptr CDouble) -> (Int) -> (Ptr CDouble) -> IO ((Int))
dtzrzf a1 a2 a3 a4 a5 a6 =
  let {a1' = fromIntegral a1} in 
  let {a2' = fromIntegral a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = id a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = id a6} in 
  dtzrzf'_ a1' a2' a3' a4' a5' a6' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 522 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

stzrzf :: (Int) -> (Int) -> (Int) -> (Ptr CFloat) -> (Int) -> (Ptr CFloat) -> IO ((Int))
stzrzf a1 a2 a3 a4 a5 a6 =
  let {a1' = fromIntegral a1} in 
  let {a2' = fromIntegral a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = id a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = id a6} in 
  stzrzf'_ a1' a2' a3' a4' a5' a6' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 523 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

ztzrzf :: (Int) -> (Int) -> (Int) -> (Ptr (Complex CDouble)) -> (Int) -> (Ptr (Complex CDouble)) -> IO ((Int))
ztzrzf a1 a2 a3 a4 a5 a6 =
  let {a1' = fromIntegral a1} in 
  let {a2' = fromIntegral a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = castZomplexToPtr a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = castZomplexToPtr a6} in 
  ztzrzf'_ a1' a2' a3' a4' a5' a6' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 524 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

cgbsv :: (Int) -> (Int) -> (Int) -> (Int) -> (Int) -> (Ptr (Complex CFloat)) -> (Int) -> (Ptr CInt) -> (Ptr (Complex CFloat)) -> (Int) -> IO ((Int))
cgbsv a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 =
  let {a1' = fromIntegral a1} in 
  let {a2' = fromIntegral a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = castComplexToPtr a6} in 
  let {a7' = fromIntegral a7} in 
  let {a8' = id a8} in 
  let {a9' = castComplexToPtr a9} in 
  let {a10' = fromIntegral a10} in 
  cgbsv'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 525 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

dgbsv :: (Int) -> (Int) -> (Int) -> (Int) -> (Int) -> (Ptr CDouble) -> (Int) -> (Ptr CInt) -> (Ptr CDouble) -> (Int) -> IO ((Int))
dgbsv a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 =
  let {a1' = fromIntegral a1} in 
  let {a2' = fromIntegral a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = id a6} in 
  let {a7' = fromIntegral a7} in 
  let {a8' = id a8} in 
  let {a9' = id a9} in 
  let {a10' = fromIntegral a10} in 
  dgbsv'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 526 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

sgbsv :: (Int) -> (Int) -> (Int) -> (Int) -> (Int) -> (Ptr CFloat) -> (Int) -> (Ptr CInt) -> (Ptr CFloat) -> (Int) -> IO ((Int))
sgbsv a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 =
  let {a1' = fromIntegral a1} in 
  let {a2' = fromIntegral a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = id a6} in 
  let {a7' = fromIntegral a7} in 
  let {a8' = id a8} in 
  let {a9' = id a9} in 
  let {a10' = fromIntegral a10} in 
  sgbsv'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 527 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

zgbsv :: (Int) -> (Int) -> (Int) -> (Int) -> (Int) -> (Ptr (Complex CDouble)) -> (Int) -> (Ptr CInt) -> (Ptr (Complex CDouble)) -> (Int) -> IO ((Int))
zgbsv a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 =
  let {a1' = fromIntegral a1} in 
  let {a2' = fromIntegral a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = castZomplexToPtr a6} in 
  let {a7' = fromIntegral a7} in 
  let {a8' = id a8} in 
  let {a9' = castZomplexToPtr a9} in 
  let {a10' = fromIntegral a10} in 
  zgbsv'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 528 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

cpbsv :: (Int) -> (CChar) -> (Int) -> (Int) -> (Int) -> (Ptr (Complex CFloat)) -> (Int) -> (Ptr (Complex CFloat)) -> (Int) -> IO ((Int))
cpbsv a1 a2 a3 a4 a5 a6 a7 a8 a9 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = castComplexToPtr a6} in 
  let {a7' = fromIntegral a7} in 
  let {a8' = castComplexToPtr a8} in 
  let {a9' = fromIntegral a9} in 
  cpbsv'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 529 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

dpbsv :: (Int) -> (CChar) -> (Int) -> (Int) -> (Int) -> (Ptr CDouble) -> (Int) -> (Ptr CDouble) -> (Int) -> IO ((Int))
dpbsv a1 a2 a3 a4 a5 a6 a7 a8 a9 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = id a6} in 
  let {a7' = fromIntegral a7} in 
  let {a8' = id a8} in 
  let {a9' = fromIntegral a9} in 
  dpbsv'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 530 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

spbsv :: (Int) -> (CChar) -> (Int) -> (Int) -> (Int) -> (Ptr CFloat) -> (Int) -> (Ptr CFloat) -> (Int) -> IO ((Int))
spbsv a1 a2 a3 a4 a5 a6 a7 a8 a9 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = id a6} in 
  let {a7' = fromIntegral a7} in 
  let {a8' = id a8} in 
  let {a9' = fromIntegral a9} in 
  spbsv'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 531 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

zpbsv :: (Int) -> (CChar) -> (Int) -> (Int) -> (Int) -> (Ptr (Complex CDouble)) -> (Int) -> (Ptr (Complex CDouble)) -> (Int) -> IO ((Int))
zpbsv a1 a2 a3 a4 a5 a6 a7 a8 a9 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = castZomplexToPtr a6} in 
  let {a7' = fromIntegral a7} in 
  let {a8' = castZomplexToPtr a8} in 
  let {a9' = fromIntegral a9} in 
  zpbsv'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 532 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

cpbstf :: (Int) -> (CChar) -> (Int) -> (Int) -> (Ptr (Complex CFloat)) -> (Int) -> IO ((Int))
cpbstf a1 a2 a3 a4 a5 a6 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = castComplexToPtr a5} in 
  let {a6' = fromIntegral a6} in 
  cpbstf'_ a1' a2' a3' a4' a5' a6' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 533 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

dpbstf :: (Int) -> (CChar) -> (Int) -> (Int) -> (Ptr CDouble) -> (Int) -> IO ((Int))
dpbstf a1 a2 a3 a4 a5 a6 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = id a5} in 
  let {a6' = fromIntegral a6} in 
  dpbstf'_ a1' a2' a3' a4' a5' a6' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 534 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

spbstf :: (Int) -> (CChar) -> (Int) -> (Int) -> (Ptr CFloat) -> (Int) -> IO ((Int))
spbstf a1 a2 a3 a4 a5 a6 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = id a5} in 
  let {a6' = fromIntegral a6} in 
  spbstf'_ a1' a2' a3' a4' a5' a6' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 535 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

zpbstf :: (Int) -> (CChar) -> (Int) -> (Int) -> (Ptr (Complex CDouble)) -> (Int) -> IO ((Int))
zpbstf a1 a2 a3 a4 a5 a6 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = castZomplexToPtr a5} in 
  let {a6' = fromIntegral a6} in 
  zpbstf'_ a1' a2' a3' a4' a5' a6' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 536 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

cgbsvx :: (Int) -> (CChar) -> (CChar) -> (Int) -> (Int) -> (Int) -> (Int) -> (Ptr (Complex CFloat)) -> (Int) -> (Ptr (Complex CFloat)) -> (Int) -> (Ptr CInt) -> (Char) -> (Ptr CFloat) -> (Ptr CFloat) -> (Ptr (Complex CFloat)) -> (Int) -> (Ptr (Complex CFloat)) -> (Int) -> (Ptr CFloat) -> (Ptr CFloat) -> (Ptr CFloat) -> (Ptr CFloat) -> IO ((Int))
cgbsvx a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 a15 a16 a17 a18 a19 a20 a21 a22 a23 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = castChar a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = fromIntegral a6} in 
  let {a7' = fromIntegral a7} in 
  let {a8' = castComplexToPtr a8} in 
  let {a9' = fromIntegral a9} in 
  let {a10' = castComplexToPtr a10} in 
  let {a11' = fromIntegral a11} in 
  let {a12' = id a12} in 
  withSingleChar a13 $ \a13' -> 
  let {a14' = id a14} in 
  let {a15' = id a15} in 
  let {a16' = castComplexToPtr a16} in 
  let {a17' = fromIntegral a17} in 
  let {a18' = castComplexToPtr a18} in 
  let {a19' = fromIntegral a19} in 
  let {a20' = id a20} in 
  let {a21' = id a21} in 
  let {a22' = id a22} in 
  let {a23' = id a23} in 
  cgbsvx'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' a12' a13' a14' a15' a16' a17' a18' a19' a20' a21' a22' a23' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 537 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

dgbsvx :: (Int) -> (CChar) -> (CChar) -> (Int) -> (Int) -> (Int) -> (Int) -> (Ptr CDouble) -> (Int) -> (Ptr CDouble) -> (Int) -> (Ptr CInt) -> (Char) -> (Ptr CDouble) -> (Ptr CDouble) -> (Ptr CDouble) -> (Int) -> (Ptr CDouble) -> (Int) -> (Ptr CDouble) -> (Ptr CDouble) -> (Ptr CDouble) -> (Ptr CDouble) -> IO ((Int))
dgbsvx a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 a15 a16 a17 a18 a19 a20 a21 a22 a23 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = castChar a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = fromIntegral a6} in 
  let {a7' = fromIntegral a7} in 
  let {a8' = id a8} in 
  let {a9' = fromIntegral a9} in 
  let {a10' = id a10} in 
  let {a11' = fromIntegral a11} in 
  let {a12' = id a12} in 
  withSingleChar a13 $ \a13' -> 
  let {a14' = id a14} in 
  let {a15' = id a15} in 
  let {a16' = id a16} in 
  let {a17' = fromIntegral a17} in 
  let {a18' = id a18} in 
  let {a19' = fromIntegral a19} in 
  let {a20' = id a20} in 
  let {a21' = id a21} in 
  let {a22' = id a22} in 
  let {a23' = id a23} in 
  dgbsvx'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' a12' a13' a14' a15' a16' a17' a18' a19' a20' a21' a22' a23' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 538 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

sgbsvx :: (Int) -> (CChar) -> (CChar) -> (Int) -> (Int) -> (Int) -> (Int) -> (Ptr CFloat) -> (Int) -> (Ptr CFloat) -> (Int) -> (Ptr CInt) -> (Char) -> (Ptr CFloat) -> (Ptr CFloat) -> (Ptr CFloat) -> (Int) -> (Ptr CFloat) -> (Int) -> (Ptr CFloat) -> (Ptr CFloat) -> (Ptr CFloat) -> (Ptr CFloat) -> IO ((Int))
sgbsvx a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 a15 a16 a17 a18 a19 a20 a21 a22 a23 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = castChar a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = fromIntegral a6} in 
  let {a7' = fromIntegral a7} in 
  let {a8' = id a8} in 
  let {a9' = fromIntegral a9} in 
  let {a10' = id a10} in 
  let {a11' = fromIntegral a11} in 
  let {a12' = id a12} in 
  withSingleChar a13 $ \a13' -> 
  let {a14' = id a14} in 
  let {a15' = id a15} in 
  let {a16' = id a16} in 
  let {a17' = fromIntegral a17} in 
  let {a18' = id a18} in 
  let {a19' = fromIntegral a19} in 
  let {a20' = id a20} in 
  let {a21' = id a21} in 
  let {a22' = id a22} in 
  let {a23' = id a23} in 
  sgbsvx'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' a12' a13' a14' a15' a16' a17' a18' a19' a20' a21' a22' a23' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 539 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

zgbsvx :: (Int) -> (CChar) -> (CChar) -> (Int) -> (Int) -> (Int) -> (Int) -> (Ptr (Complex CDouble)) -> (Int) -> (Ptr (Complex CDouble)) -> (Int) -> (Ptr CInt) -> (Char) -> (Ptr CDouble) -> (Ptr CDouble) -> (Ptr (Complex CDouble)) -> (Int) -> (Ptr (Complex CDouble)) -> (Int) -> (Ptr CDouble) -> (Ptr CDouble) -> (Ptr CDouble) -> (Ptr CDouble) -> IO ((Int))
zgbsvx a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 a15 a16 a17 a18 a19 a20 a21 a22 a23 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = castChar a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = fromIntegral a6} in 
  let {a7' = fromIntegral a7} in 
  let {a8' = castZomplexToPtr a8} in 
  let {a9' = fromIntegral a9} in 
  let {a10' = castZomplexToPtr a10} in 
  let {a11' = fromIntegral a11} in 
  let {a12' = id a12} in 
  withSingleChar a13 $ \a13' -> 
  let {a14' = id a14} in 
  let {a15' = id a15} in 
  let {a16' = castZomplexToPtr a16} in 
  let {a17' = fromIntegral a17} in 
  let {a18' = castZomplexToPtr a18} in 
  let {a19' = fromIntegral a19} in 
  let {a20' = id a20} in 
  let {a21' = id a21} in 
  let {a22' = id a22} in 
  let {a23' = id a23} in 
  zgbsvx'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' a12' a13' a14' a15' a16' a17' a18' a19' a20' a21' a22' a23' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 540 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

cpbsvx :: (Int) -> (CChar) -> (CChar) -> (Int) -> (Int) -> (Int) -> (Ptr (Complex CFloat)) -> (Int) -> (Ptr (Complex CFloat)) -> (Int) -> (Char) -> (Ptr CFloat) -> (Ptr (Complex CFloat)) -> (Int) -> (Ptr (Complex CFloat)) -> (Int) -> (Ptr CFloat) -> (Ptr CFloat) -> (Ptr CFloat) -> IO ((Int))
cpbsvx a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 a15 a16 a17 a18 a19 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = castChar a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = fromIntegral a6} in 
  let {a7' = castComplexToPtr a7} in 
  let {a8' = fromIntegral a8} in 
  let {a9' = castComplexToPtr a9} in 
  let {a10' = fromIntegral a10} in 
  withSingleChar a11 $ \a11' -> 
  let {a12' = id a12} in 
  let {a13' = castComplexToPtr a13} in 
  let {a14' = fromIntegral a14} in 
  let {a15' = castComplexToPtr a15} in 
  let {a16' = fromIntegral a16} in 
  let {a17' = id a17} in 
  let {a18' = id a18} in 
  let {a19' = id a19} in 
  cpbsvx'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' a12' a13' a14' a15' a16' a17' a18' a19' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 541 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

dpbsvx :: (Int) -> (CChar) -> (CChar) -> (Int) -> (Int) -> (Int) -> (Ptr CDouble) -> (Int) -> (Ptr CDouble) -> (Int) -> (Char) -> (Ptr CDouble) -> (Ptr CDouble) -> (Int) -> (Ptr CDouble) -> (Int) -> (Ptr CDouble) -> (Ptr CDouble) -> (Ptr CDouble) -> IO ((Int))
dpbsvx a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 a15 a16 a17 a18 a19 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = castChar a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = fromIntegral a6} in 
  let {a7' = id a7} in 
  let {a8' = fromIntegral a8} in 
  let {a9' = id a9} in 
  let {a10' = fromIntegral a10} in 
  withSingleChar a11 $ \a11' -> 
  let {a12' = id a12} in 
  let {a13' = id a13} in 
  let {a14' = fromIntegral a14} in 
  let {a15' = id a15} in 
  let {a16' = fromIntegral a16} in 
  let {a17' = id a17} in 
  let {a18' = id a18} in 
  let {a19' = id a19} in 
  dpbsvx'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' a12' a13' a14' a15' a16' a17' a18' a19' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 542 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

spbsvx :: (Int) -> (CChar) -> (CChar) -> (Int) -> (Int) -> (Int) -> (Ptr CFloat) -> (Int) -> (Ptr CFloat) -> (Int) -> (Char) -> (Ptr CFloat) -> (Ptr CFloat) -> (Int) -> (Ptr CFloat) -> (Int) -> (Ptr CFloat) -> (Ptr CFloat) -> (Ptr CFloat) -> IO ((Int))
spbsvx a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 a15 a16 a17 a18 a19 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = castChar a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = fromIntegral a6} in 
  let {a7' = id a7} in 
  let {a8' = fromIntegral a8} in 
  let {a9' = id a9} in 
  let {a10' = fromIntegral a10} in 
  withSingleChar a11 $ \a11' -> 
  let {a12' = id a12} in 
  let {a13' = id a13} in 
  let {a14' = fromIntegral a14} in 
  let {a15' = id a15} in 
  let {a16' = fromIntegral a16} in 
  let {a17' = id a17} in 
  let {a18' = id a18} in 
  let {a19' = id a19} in 
  spbsvx'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' a12' a13' a14' a15' a16' a17' a18' a19' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 543 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

zpbsvx :: (Int) -> (CChar) -> (CChar) -> (Int) -> (Int) -> (Int) -> (Ptr (Complex CDouble)) -> (Int) -> (Ptr (Complex CDouble)) -> (Int) -> (Char) -> (Ptr CDouble) -> (Ptr (Complex CDouble)) -> (Int) -> (Ptr (Complex CDouble)) -> (Int) -> (Ptr CDouble) -> (Ptr CDouble) -> (Ptr CDouble) -> IO ((Int))
zpbsvx a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 a15 a16 a17 a18 a19 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = castChar a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = fromIntegral a6} in 
  let {a7' = castZomplexToPtr a7} in 
  let {a8' = fromIntegral a8} in 
  let {a9' = castZomplexToPtr a9} in 
  let {a10' = fromIntegral a10} in 
  withSingleChar a11 $ \a11' -> 
  let {a12' = id a12} in 
  let {a13' = castZomplexToPtr a13} in 
  let {a14' = fromIntegral a14} in 
  let {a15' = castZomplexToPtr a15} in 
  let {a16' = fromIntegral a16} in 
  let {a17' = id a17} in 
  let {a18' = id a18} in 
  let {a19' = id a19} in 
  zpbsvx'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' a12' a13' a14' a15' a16' a17' a18' a19' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 544 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

dbdsdc :: (Int) -> (CChar) -> (CChar) -> (Int) -> (Ptr CDouble) -> (Ptr CDouble) -> (Ptr CDouble) -> (Int) -> (Ptr CDouble) -> (Int) -> (Ptr CDouble) -> (Ptr CInt) -> IO ((Int))
dbdsdc a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = castChar a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = id a5} in 
  let {a6' = id a6} in 
  let {a7' = id a7} in 
  let {a8' = fromIntegral a8} in 
  let {a9' = id a9} in 
  let {a10' = fromIntegral a10} in 
  let {a11' = id a11} in 
  let {a12' = id a12} in 
  dbdsdc'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' a12' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 545 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

sbdsdc :: (Int) -> (CChar) -> (CChar) -> (Int) -> (Ptr CFloat) -> (Ptr CFloat) -> (Ptr CFloat) -> (Int) -> (Ptr CFloat) -> (Int) -> (Ptr CFloat) -> (Ptr CInt) -> IO ((Int))
sbdsdc a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = castChar a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = id a5} in 
  let {a6' = id a6} in 
  let {a7' = id a7} in 
  let {a8' = fromIntegral a8} in 
  let {a9' = id a9} in 
  let {a10' = fromIntegral a10} in 
  let {a11' = id a11} in 
  let {a12' = id a12} in 
  sbdsdc'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' a12' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 546 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

cbdsqr :: (Int) -> (CChar) -> (Int) -> (Int) -> (Int) -> (Int) -> (Ptr CFloat) -> (Ptr CFloat) -> (Ptr (Complex CFloat)) -> (Int) -> (Ptr (Complex CFloat)) -> (Int) -> (Ptr (Complex CFloat)) -> (Int) -> IO ((Int))
cbdsqr a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = fromIntegral a6} in 
  let {a7' = id a7} in 
  let {a8' = id a8} in 
  let {a9' = castComplexToPtr a9} in 
  let {a10' = fromIntegral a10} in 
  let {a11' = castComplexToPtr a11} in 
  let {a12' = fromIntegral a12} in 
  let {a13' = castComplexToPtr a13} in 
  let {a14' = fromIntegral a14} in 
  cbdsqr'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' a12' a13' a14' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 547 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

dbdsqr :: (Int) -> (CChar) -> (Int) -> (Int) -> (Int) -> (Int) -> (Ptr CDouble) -> (Ptr CDouble) -> (Ptr CDouble) -> (Int) -> (Ptr CDouble) -> (Int) -> (Ptr CDouble) -> (Int) -> IO ((Int))
dbdsqr a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = fromIntegral a6} in 
  let {a7' = id a7} in 
  let {a8' = id a8} in 
  let {a9' = id a9} in 
  let {a10' = fromIntegral a10} in 
  let {a11' = id a11} in 
  let {a12' = fromIntegral a12} in 
  let {a13' = id a13} in 
  let {a14' = fromIntegral a14} in 
  dbdsqr'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' a12' a13' a14' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 548 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

sbdsqr :: (Int) -> (CChar) -> (Int) -> (Int) -> (Int) -> (Int) -> (Ptr CFloat) -> (Ptr CFloat) -> (Ptr CFloat) -> (Int) -> (Ptr CFloat) -> (Int) -> (Ptr CFloat) -> (Int) -> IO ((Int))
sbdsqr a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = fromIntegral a6} in 
  let {a7' = id a7} in 
  let {a8' = id a8} in 
  let {a9' = id a9} in 
  let {a10' = fromIntegral a10} in 
  let {a11' = id a11} in 
  let {a12' = fromIntegral a12} in 
  let {a13' = id a13} in 
  let {a14' = fromIntegral a14} in 
  sbdsqr'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' a12' a13' a14' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 549 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

zbdsqr :: (Int) -> (CChar) -> (Int) -> (Int) -> (Int) -> (Int) -> (Ptr CDouble) -> (Ptr CDouble) -> (Ptr (Complex CDouble)) -> (Int) -> (Ptr (Complex CDouble)) -> (Int) -> (Ptr (Complex CDouble)) -> (Int) -> IO ((Int))
zbdsqr a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = fromIntegral a6} in 
  let {a7' = id a7} in 
  let {a8' = id a8} in 
  let {a9' = castZomplexToPtr a9} in 
  let {a10' = fromIntegral a10} in 
  let {a11' = castZomplexToPtr a11} in 
  let {a12' = fromIntegral a12} in 
  let {a13' = castZomplexToPtr a13} in 
  let {a14' = fromIntegral a14} in 
  zbdsqr'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' a12' a13' a14' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 550 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

cgesv :: (Int) -> (Int) -> (Int) -> (Ptr (Complex CFloat)) -> (Int) -> (Ptr CInt) -> (Ptr (Complex CFloat)) -> (Int) -> IO ((Int))
cgesv a1 a2 a3 a4 a5 a6 a7 a8 =
  let {a1' = fromIntegral a1} in 
  let {a2' = fromIntegral a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = castComplexToPtr a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = id a6} in 
  let {a7' = castComplexToPtr a7} in 
  let {a8' = fromIntegral a8} in 
  cgesv'_ a1' a2' a3' a4' a5' a6' a7' a8' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 551 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

dgesv :: (Int) -> (Int) -> (Int) -> (Ptr CDouble) -> (Int) -> (Ptr CInt) -> (Ptr CDouble) -> (Int) -> IO ((Int))
dgesv a1 a2 a3 a4 a5 a6 a7 a8 =
  let {a1' = fromIntegral a1} in 
  let {a2' = fromIntegral a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = id a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = id a6} in 
  let {a7' = id a7} in 
  let {a8' = fromIntegral a8} in 
  dgesv'_ a1' a2' a3' a4' a5' a6' a7' a8' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 552 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

sgesv :: (Int) -> (Int) -> (Int) -> (Ptr CFloat) -> (Int) -> (Ptr CInt) -> (Ptr CFloat) -> (Int) -> IO ((Int))
sgesv a1 a2 a3 a4 a5 a6 a7 a8 =
  let {a1' = fromIntegral a1} in 
  let {a2' = fromIntegral a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = id a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = id a6} in 
  let {a7' = id a7} in 
  let {a8' = fromIntegral a8} in 
  sgesv'_ a1' a2' a3' a4' a5' a6' a7' a8' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 553 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

zgesv :: (Int) -> (Int) -> (Int) -> (Ptr (Complex CDouble)) -> (Int) -> (Ptr CInt) -> (Ptr (Complex CDouble)) -> (Int) -> IO ((Int))
zgesv a1 a2 a3 a4 a5 a6 a7 a8 =
  let {a1' = fromIntegral a1} in 
  let {a2' = fromIntegral a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = castZomplexToPtr a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = id a6} in 
  let {a7' = castZomplexToPtr a7} in 
  let {a8' = fromIntegral a8} in 
  zgesv'_ a1' a2' a3' a4' a5' a6' a7' a8' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 554 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

chesv :: (Int) -> (CChar) -> (Int) -> (Int) -> (Ptr (Complex CFloat)) -> (Int) -> (Ptr CInt) -> (Ptr (Complex CFloat)) -> (Int) -> IO ((Int))
chesv a1 a2 a3 a4 a5 a6 a7 a8 a9 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = castComplexToPtr a5} in 
  let {a6' = fromIntegral a6} in 
  let {a7' = id a7} in 
  let {a8' = castComplexToPtr a8} in 
  let {a9' = fromIntegral a9} in 
  chesv'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 555 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

zhesv :: (Int) -> (CChar) -> (Int) -> (Int) -> (Ptr (Complex CDouble)) -> (Int) -> (Ptr CInt) -> (Ptr (Complex CDouble)) -> (Int) -> IO ((Int))
zhesv a1 a2 a3 a4 a5 a6 a7 a8 a9 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = castZomplexToPtr a5} in 
  let {a6' = fromIntegral a6} in 
  let {a7' = id a7} in 
  let {a8' = castZomplexToPtr a8} in 
  let {a9' = fromIntegral a9} in 
  zhesv'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 556 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

cgesdd :: (Int) -> (CChar) -> (Int) -> (Int) -> (Ptr (Complex CFloat)) -> (Int) -> (Ptr CFloat) -> (Ptr (Complex CFloat)) -> (Int) -> (Ptr (Complex CFloat)) -> (Int) -> IO ((Int))
cgesdd a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = castComplexToPtr a5} in 
  let {a6' = fromIntegral a6} in 
  let {a7' = id a7} in 
  let {a8' = castComplexToPtr a8} in 
  let {a9' = fromIntegral a9} in 
  let {a10' = castComplexToPtr a10} in 
  let {a11' = fromIntegral a11} in 
  cgesdd'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 557 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

dgesdd :: (Int) -> (CChar) -> (Int) -> (Int) -> (Ptr CDouble) -> (Int) -> (Ptr CDouble) -> (Ptr CDouble) -> (Int) -> (Ptr CDouble) -> (Int) -> IO ((Int))
dgesdd a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = id a5} in 
  let {a6' = fromIntegral a6} in 
  let {a7' = id a7} in 
  let {a8' = id a8} in 
  let {a9' = fromIntegral a9} in 
  let {a10' = id a10} in 
  let {a11' = fromIntegral a11} in 
  dgesdd'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 558 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

sgesdd :: (Int) -> (CChar) -> (Int) -> (Int) -> (Ptr CFloat) -> (Int) -> (Ptr CFloat) -> (Ptr CFloat) -> (Int) -> (Ptr CFloat) -> (Int) -> IO ((Int))
sgesdd a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = id a5} in 
  let {a6' = fromIntegral a6} in 
  let {a7' = id a7} in 
  let {a8' = id a8} in 
  let {a9' = fromIntegral a9} in 
  let {a10' = id a10} in 
  let {a11' = fromIntegral a11} in 
  sgesdd'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 559 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

cgesvd :: (Int) -> (CChar) -> (CChar) -> (Int) -> (Int) -> (Ptr (Complex CFloat)) -> (Int) -> (Ptr CFloat) -> (Ptr (Complex CFloat)) -> (Int) -> (Ptr (Complex CFloat)) -> (Int) -> (Ptr CFloat) -> IO ((Int))
cgesvd a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = castChar a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = castComplexToPtr a6} in 
  let {a7' = fromIntegral a7} in 
  let {a8' = id a8} in 
  let {a9' = castComplexToPtr a9} in 
  let {a10' = fromIntegral a10} in 
  let {a11' = castComplexToPtr a11} in 
  let {a12' = fromIntegral a12} in 
  let {a13' = id a13} in 
  cgesvd'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' a12' a13' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 560 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

dgesvd :: (Int) -> (CChar) -> (CChar) -> (Int) -> (Int) -> (Ptr CDouble) -> (Int) -> (Ptr CDouble) -> (Ptr CDouble) -> (Int) -> (Ptr CDouble) -> (Int) -> (Ptr CDouble) -> IO ((Int))
dgesvd a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = castChar a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = id a6} in 
  let {a7' = fromIntegral a7} in 
  let {a8' = id a8} in 
  let {a9' = id a9} in 
  let {a10' = fromIntegral a10} in 
  let {a11' = id a11} in 
  let {a12' = fromIntegral a12} in 
  let {a13' = id a13} in 
  dgesvd'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' a12' a13' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 561 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

zgesdd :: (Int) -> (CChar) -> (Int) -> (Int) -> (Ptr (Complex CDouble)) -> (Int) -> (Ptr CDouble) -> (Ptr (Complex CDouble)) -> (Int) -> (Ptr (Complex CDouble)) -> (Int) -> IO ((Int))
zgesdd a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = castZomplexToPtr a5} in 
  let {a6' = fromIntegral a6} in 
  let {a7' = id a7} in 
  let {a8' = castZomplexToPtr a8} in 
  let {a9' = fromIntegral a9} in 
  let {a10' = castZomplexToPtr a10} in 
  let {a11' = fromIntegral a11} in 
  zgesdd'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 562 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

sgesvd :: (Int) -> (CChar) -> (CChar) -> (Int) -> (Int) -> (Ptr CFloat) -> (Int) -> (Ptr CFloat) -> (Ptr CFloat) -> (Int) -> (Ptr CFloat) -> (Int) -> (Ptr CFloat) -> IO ((Int))
sgesvd a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = castChar a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = id a6} in 
  let {a7' = fromIntegral a7} in 
  let {a8' = id a8} in 
  let {a9' = id a9} in 
  let {a10' = fromIntegral a10} in 
  let {a11' = id a11} in 
  let {a12' = fromIntegral a12} in 
  let {a13' = id a13} in 
  sgesvd'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' a12' a13' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 563 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

zgesvd :: (Int) -> (CChar) -> (CChar) -> (Int) -> (Int) -> (Ptr (Complex CDouble)) -> (Int) -> (Ptr CDouble) -> (Ptr (Complex CDouble)) -> (Int) -> (Ptr (Complex CDouble)) -> (Int) -> (Ptr CDouble) -> IO ((Int))
zgesvd a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = castChar a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = castZomplexToPtr a6} in 
  let {a7' = fromIntegral a7} in 
  let {a8' = id a8} in 
  let {a9' = castZomplexToPtr a9} in 
  let {a10' = fromIntegral a10} in 
  let {a11' = castZomplexToPtr a11} in 
  let {a12' = fromIntegral a12} in 
  let {a13' = id a13} in 
  zgesvd'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' a12' a13' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 564 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

dgesvj :: (Int) -> (CChar) -> (CChar) -> (CChar) -> (Int) -> (Int) -> (Ptr CDouble) -> (Int) -> (Ptr CDouble) -> (Int) -> (Ptr CDouble) -> (Int) -> (Ptr CDouble) -> IO ((Int))
dgesvj a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = castChar a3} in 
  let {a4' = castChar a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = fromIntegral a6} in 
  let {a7' = id a7} in 
  let {a8' = fromIntegral a8} in 
  let {a9' = id a9} in 
  let {a10' = fromIntegral a10} in 
  let {a11' = id a11} in 
  let {a12' = fromIntegral a12} in 
  let {a13' = id a13} in 
  dgesvj'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' a12' a13' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 565 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

sgesvj :: (Int) -> (CChar) -> (CChar) -> (CChar) -> (Int) -> (Int) -> (Ptr CFloat) -> (Int) -> (Ptr CFloat) -> (Int) -> (Ptr CFloat) -> (Int) -> (Ptr CFloat) -> IO ((Int))
sgesvj a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = castChar a3} in 
  let {a4' = castChar a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = fromIntegral a6} in 
  let {a7' = id a7} in 
  let {a8' = fromIntegral a8} in 
  let {a9' = id a9} in 
  let {a10' = fromIntegral a10} in 
  let {a11' = id a11} in 
  let {a12' = fromIntegral a12} in 
  let {a13' = id a13} in 
  sgesvj'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' a12' a13' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 566 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

cgesvx :: (Int) -> (CChar) -> (CChar) -> (Int) -> (Int) -> (Ptr (Complex CFloat)) -> (Int) -> (Ptr (Complex CFloat)) -> (Int) -> (Ptr CInt) -> (Char) -> (Ptr CFloat) -> (Ptr CFloat) -> (Ptr (Complex CFloat)) -> (Int) -> (Ptr (Complex CFloat)) -> (Int) -> (Ptr CFloat) -> (Ptr CFloat) -> (Ptr CFloat) -> (Ptr CFloat) -> IO ((Int))
cgesvx a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 a15 a16 a17 a18 a19 a20 a21 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = castChar a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = castComplexToPtr a6} in 
  let {a7' = fromIntegral a7} in 
  let {a8' = castComplexToPtr a8} in 
  let {a9' = fromIntegral a9} in 
  let {a10' = id a10} in 
  withSingleChar a11 $ \a11' -> 
  let {a12' = id a12} in 
  let {a13' = id a13} in 
  let {a14' = castComplexToPtr a14} in 
  let {a15' = fromIntegral a15} in 
  let {a16' = castComplexToPtr a16} in 
  let {a17' = fromIntegral a17} in 
  let {a18' = id a18} in 
  let {a19' = id a19} in 
  let {a20' = id a20} in 
  let {a21' = id a21} in 
  cgesvx'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' a12' a13' a14' a15' a16' a17' a18' a19' a20' a21' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 567 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

dgesvx :: (Int) -> (CChar) -> (CChar) -> (Int) -> (Int) -> (Ptr CDouble) -> (Int) -> (Ptr CDouble) -> (Int) -> (Ptr CInt) -> (Char) -> (Ptr CDouble) -> (Ptr CDouble) -> (Ptr CDouble) -> (Int) -> (Ptr CDouble) -> (Int) -> (Ptr CDouble) -> (Ptr CDouble) -> (Ptr CDouble) -> (Ptr CDouble) -> IO ((Int))
dgesvx a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 a15 a16 a17 a18 a19 a20 a21 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = castChar a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = id a6} in 
  let {a7' = fromIntegral a7} in 
  let {a8' = id a8} in 
  let {a9' = fromIntegral a9} in 
  let {a10' = id a10} in 
  withSingleChar a11 $ \a11' -> 
  let {a12' = id a12} in 
  let {a13' = id a13} in 
  let {a14' = id a14} in 
  let {a15' = fromIntegral a15} in 
  let {a16' = id a16} in 
  let {a17' = fromIntegral a17} in 
  let {a18' = id a18} in 
  let {a19' = id a19} in 
  let {a20' = id a20} in 
  let {a21' = id a21} in 
  dgesvx'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' a12' a13' a14' a15' a16' a17' a18' a19' a20' a21' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 568 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

sgesvx :: (Int) -> (CChar) -> (CChar) -> (Int) -> (Int) -> (Ptr CFloat) -> (Int) -> (Ptr CFloat) -> (Int) -> (Ptr CInt) -> (Char) -> (Ptr CFloat) -> (Ptr CFloat) -> (Ptr CFloat) -> (Int) -> (Ptr CFloat) -> (Int) -> (Ptr CFloat) -> (Ptr CFloat) -> (Ptr CFloat) -> (Ptr CFloat) -> IO ((Int))
sgesvx a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 a15 a16 a17 a18 a19 a20 a21 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = castChar a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = id a6} in 
  let {a7' = fromIntegral a7} in 
  let {a8' = id a8} in 
  let {a9' = fromIntegral a9} in 
  let {a10' = id a10} in 
  withSingleChar a11 $ \a11' -> 
  let {a12' = id a12} in 
  let {a13' = id a13} in 
  let {a14' = id a14} in 
  let {a15' = fromIntegral a15} in 
  let {a16' = id a16} in 
  let {a17' = fromIntegral a17} in 
  let {a18' = id a18} in 
  let {a19' = id a19} in 
  let {a20' = id a20} in 
  let {a21' = id a21} in 
  sgesvx'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' a12' a13' a14' a15' a16' a17' a18' a19' a20' a21' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 569 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

zgesvx :: (Int) -> (CChar) -> (CChar) -> (Int) -> (Int) -> (Ptr (Complex CDouble)) -> (Int) -> (Ptr (Complex CDouble)) -> (Int) -> (Ptr CInt) -> (Char) -> (Ptr CDouble) -> (Ptr CDouble) -> (Ptr (Complex CDouble)) -> (Int) -> (Ptr (Complex CDouble)) -> (Int) -> (Ptr CDouble) -> (Ptr CDouble) -> (Ptr CDouble) -> (Ptr CDouble) -> IO ((Int))
zgesvx a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 a15 a16 a17 a18 a19 a20 a21 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = castChar a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = castZomplexToPtr a6} in 
  let {a7' = fromIntegral a7} in 
  let {a8' = castZomplexToPtr a8} in 
  let {a9' = fromIntegral a9} in 
  let {a10' = id a10} in 
  withSingleChar a11 $ \a11' -> 
  let {a12' = id a12} in 
  let {a13' = id a13} in 
  let {a14' = castZomplexToPtr a14} in 
  let {a15' = fromIntegral a15} in 
  let {a16' = castZomplexToPtr a16} in 
  let {a17' = fromIntegral a17} in 
  let {a18' = id a18} in 
  let {a19' = id a19} in 
  let {a20' = id a20} in 
  let {a21' = id a21} in 
  zgesvx'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' a12' a13' a14' a15' a16' a17' a18' a19' a20' a21' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 570 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

chesvx :: (Int) -> (CChar) -> (CChar) -> (Int) -> (Int) -> (Ptr (Complex CFloat)) -> (Int) -> (Ptr (Complex CFloat)) -> (Int) -> (Ptr CInt) -> (Ptr (Complex CFloat)) -> (Int) -> (Ptr (Complex CFloat)) -> (Int) -> (Ptr CFloat) -> (Ptr CFloat) -> (Ptr CFloat) -> IO ((Int))
chesvx a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 a15 a16 a17 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = castChar a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = castComplexToPtr a6} in 
  let {a7' = fromIntegral a7} in 
  let {a8' = castComplexToPtr a8} in 
  let {a9' = fromIntegral a9} in 
  let {a10' = id a10} in 
  let {a11' = castComplexToPtr a11} in 
  let {a12' = fromIntegral a12} in 
  let {a13' = castComplexToPtr a13} in 
  let {a14' = fromIntegral a14} in 
  let {a15' = id a15} in 
  let {a16' = id a16} in 
  let {a17' = id a17} in 
  chesvx'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' a12' a13' a14' a15' a16' a17' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 571 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

zhesvx :: (Int) -> (CChar) -> (CChar) -> (Int) -> (Int) -> (Ptr (Complex CDouble)) -> (Int) -> (Ptr (Complex CDouble)) -> (Int) -> (Ptr CInt) -> (Ptr (Complex CDouble)) -> (Int) -> (Ptr (Complex CDouble)) -> (Int) -> (Ptr CDouble) -> (Ptr CDouble) -> (Ptr CDouble) -> IO ((Int))
zhesvx a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 a15 a16 a17 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = castChar a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = castZomplexToPtr a6} in 
  let {a7' = fromIntegral a7} in 
  let {a8' = castZomplexToPtr a8} in 
  let {a9' = fromIntegral a9} in 
  let {a10' = id a10} in 
  let {a11' = castZomplexToPtr a11} in 
  let {a12' = fromIntegral a12} in 
  let {a13' = castZomplexToPtr a13} in 
  let {a14' = fromIntegral a14} in 
  let {a15' = id a15} in 
  let {a16' = id a16} in 
  let {a17' = id a17} in 
  zhesvx'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' a12' a13' a14' a15' a16' a17' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 572 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

dtfsm :: (Int) -> (CChar) -> (CChar) -> (CChar) -> (CChar) -> (CChar) -> (Int) -> (Int) -> (CDouble) -> (Ptr CDouble) -> (Ptr CDouble) -> (Int) -> IO ((Int))
dtfsm a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = castChar a3} in 
  let {a4' = castChar a4} in 
  let {a5' = castChar a5} in 
  let {a6' = castChar a6} in 
  let {a7' = fromIntegral a7} in 
  let {a8' = fromIntegral a8} in 
  let {a9' = id a9} in 
  let {a10' = id a10} in 
  let {a11' = id a11} in 
  let {a12' = fromIntegral a12} in 
  dtfsm'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' a12' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 573 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

stfsm :: (Int) -> (CChar) -> (CChar) -> (CChar) -> (CChar) -> (CChar) -> (Int) -> (Int) -> (CFloat) -> (Ptr CFloat) -> (Ptr CFloat) -> (Int) -> IO ((Int))
stfsm a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = castChar a3} in 
  let {a4' = castChar a4} in 
  let {a5' = castChar a5} in 
  let {a6' = castChar a6} in 
  let {a7' = fromIntegral a7} in 
  let {a8' = fromIntegral a8} in 
  let {a9' = id a9} in 
  let {a10' = id a10} in 
  let {a11' = id a11} in 
  let {a12' = fromIntegral a12} in 
  stfsm'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' a12' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 574 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

cggsvd :: (Int) -> (CChar) -> (CChar) -> (CChar) -> (Int) -> (Int) -> (Int) -> (Ptr CInt) -> (Ptr CInt) -> (Ptr (Complex CFloat)) -> (Int) -> (Ptr (Complex CFloat)) -> (Int) -> (Ptr CFloat) -> (Ptr CFloat) -> (Ptr (Complex CFloat)) -> (Int) -> (Ptr (Complex CFloat)) -> (Int) -> (Ptr (Complex CFloat)) -> (Int) -> (Ptr CInt) -> IO ((Int))
cggsvd a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 a15 a16 a17 a18 a19 a20 a21 a22 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = castChar a3} in 
  let {a4' = castChar a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = fromIntegral a6} in 
  let {a7' = fromIntegral a7} in 
  let {a8' = id a8} in 
  let {a9' = id a9} in 
  let {a10' = castComplexToPtr a10} in 
  let {a11' = fromIntegral a11} in 
  let {a12' = castComplexToPtr a12} in 
  let {a13' = fromIntegral a13} in 
  let {a14' = id a14} in 
  let {a15' = id a15} in 
  let {a16' = castComplexToPtr a16} in 
  let {a17' = fromIntegral a17} in 
  let {a18' = castComplexToPtr a18} in 
  let {a19' = fromIntegral a19} in 
  let {a20' = castComplexToPtr a20} in 
  let {a21' = fromIntegral a21} in 
  let {a22' = id a22} in 
  cggsvd'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' a12' a13' a14' a15' a16' a17' a18' a19' a20' a21' a22' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 575 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

dggsvd :: (Int) -> (CChar) -> (CChar) -> (CChar) -> (Int) -> (Int) -> (Int) -> (Ptr CInt) -> (Ptr CInt) -> (Ptr CDouble) -> (Int) -> (Ptr CDouble) -> (Int) -> (Ptr CDouble) -> (Ptr CDouble) -> (Ptr CDouble) -> (Int) -> (Ptr CDouble) -> (Int) -> (Ptr CDouble) -> (Int) -> (Ptr CInt) -> IO ((Int))
dggsvd a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 a15 a16 a17 a18 a19 a20 a21 a22 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = castChar a3} in 
  let {a4' = castChar a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = fromIntegral a6} in 
  let {a7' = fromIntegral a7} in 
  let {a8' = id a8} in 
  let {a9' = id a9} in 
  let {a10' = id a10} in 
  let {a11' = fromIntegral a11} in 
  let {a12' = id a12} in 
  let {a13' = fromIntegral a13} in 
  let {a14' = id a14} in 
  let {a15' = id a15} in 
  let {a16' = id a16} in 
  let {a17' = fromIntegral a17} in 
  let {a18' = id a18} in 
  let {a19' = fromIntegral a19} in 
  let {a20' = id a20} in 
  let {a21' = fromIntegral a21} in 
  let {a22' = id a22} in 
  dggsvd'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' a12' a13' a14' a15' a16' a17' a18' a19' a20' a21' a22' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 576 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

sggsvd :: (Int) -> (CChar) -> (CChar) -> (CChar) -> (Int) -> (Int) -> (Int) -> (Ptr CInt) -> (Ptr CInt) -> (Ptr CFloat) -> (Int) -> (Ptr CFloat) -> (Int) -> (Ptr CFloat) -> (Ptr CFloat) -> (Ptr CFloat) -> (Int) -> (Ptr CFloat) -> (Int) -> (Ptr CFloat) -> (Int) -> (Ptr CInt) -> IO ((Int))
sggsvd a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 a15 a16 a17 a18 a19 a20 a21 a22 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = castChar a3} in 
  let {a4' = castChar a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = fromIntegral a6} in 
  let {a7' = fromIntegral a7} in 
  let {a8' = id a8} in 
  let {a9' = id a9} in 
  let {a10' = id a10} in 
  let {a11' = fromIntegral a11} in 
  let {a12' = id a12} in 
  let {a13' = fromIntegral a13} in 
  let {a14' = id a14} in 
  let {a15' = id a15} in 
  let {a16' = id a16} in 
  let {a17' = fromIntegral a17} in 
  let {a18' = id a18} in 
  let {a19' = fromIntegral a19} in 
  let {a20' = id a20} in 
  let {a21' = fromIntegral a21} in 
  let {a22' = id a22} in 
  sggsvd'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' a12' a13' a14' a15' a16' a17' a18' a19' a20' a21' a22' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 577 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

zggsvd :: (Int) -> (CChar) -> (CChar) -> (CChar) -> (Int) -> (Int) -> (Int) -> (Ptr CInt) -> (Ptr CInt) -> (Ptr (Complex CDouble)) -> (Int) -> (Ptr (Complex CDouble)) -> (Int) -> (Ptr CDouble) -> (Ptr CDouble) -> (Ptr (Complex CDouble)) -> (Int) -> (Ptr (Complex CDouble)) -> (Int) -> (Ptr (Complex CDouble)) -> (Int) -> (Ptr CInt) -> IO ((Int))
zggsvd a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 a15 a16 a17 a18 a19 a20 a21 a22 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = castChar a3} in 
  let {a4' = castChar a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = fromIntegral a6} in 
  let {a7' = fromIntegral a7} in 
  let {a8' = id a8} in 
  let {a9' = id a9} in 
  let {a10' = castZomplexToPtr a10} in 
  let {a11' = fromIntegral a11} in 
  let {a12' = castZomplexToPtr a12} in 
  let {a13' = fromIntegral a13} in 
  let {a14' = id a14} in 
  let {a15' = id a15} in 
  let {a16' = castZomplexToPtr a16} in 
  let {a17' = fromIntegral a17} in 
  let {a18' = castZomplexToPtr a18} in 
  let {a19' = fromIntegral a19} in 
  let {a20' = castZomplexToPtr a20} in 
  let {a21' = fromIntegral a21} in 
  let {a22' = id a22} in 
  zggsvd'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' a12' a13' a14' a15' a16' a17' a18' a19' a20' a21' a22' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 578 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

ctgsja :: (Int) -> (CChar) -> (CChar) -> (CChar) -> (Int) -> (Int) -> (Int) -> (Int) -> (Int) -> (Ptr (Complex CFloat)) -> (Int) -> (Ptr (Complex CFloat)) -> (Int) -> (CFloat) -> (CFloat) -> (Ptr CFloat) -> (Ptr CFloat) -> (Ptr (Complex CFloat)) -> (Int) -> (Ptr (Complex CFloat)) -> (Int) -> (Ptr (Complex CFloat)) -> (Int) -> (Ptr CInt) -> IO ((Int))
ctgsja a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 a15 a16 a17 a18 a19 a20 a21 a22 a23 a24 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = castChar a3} in 
  let {a4' = castChar a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = fromIntegral a6} in 
  let {a7' = fromIntegral a7} in 
  let {a8' = fromIntegral a8} in 
  let {a9' = fromIntegral a9} in 
  let {a10' = castComplexToPtr a10} in 
  let {a11' = fromIntegral a11} in 
  let {a12' = castComplexToPtr a12} in 
  let {a13' = fromIntegral a13} in 
  let {a14' = id a14} in 
  let {a15' = id a15} in 
  let {a16' = id a16} in 
  let {a17' = id a17} in 
  let {a18' = castComplexToPtr a18} in 
  let {a19' = fromIntegral a19} in 
  let {a20' = castComplexToPtr a20} in 
  let {a21' = fromIntegral a21} in 
  let {a22' = castComplexToPtr a22} in 
  let {a23' = fromIntegral a23} in 
  let {a24' = id a24} in 
  ctgsja'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' a12' a13' a14' a15' a16' a17' a18' a19' a20' a21' a22' a23' a24' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 579 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

dtgsja :: (Int) -> (CChar) -> (CChar) -> (CChar) -> (Int) -> (Int) -> (Int) -> (Int) -> (Int) -> (Ptr CDouble) -> (Int) -> (Ptr CDouble) -> (Int) -> (CDouble) -> (CDouble) -> (Ptr CDouble) -> (Ptr CDouble) -> (Ptr CDouble) -> (Int) -> (Ptr CDouble) -> (Int) -> (Ptr CDouble) -> (Int) -> (Ptr CInt) -> IO ((Int))
dtgsja a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 a15 a16 a17 a18 a19 a20 a21 a22 a23 a24 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = castChar a3} in 
  let {a4' = castChar a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = fromIntegral a6} in 
  let {a7' = fromIntegral a7} in 
  let {a8' = fromIntegral a8} in 
  let {a9' = fromIntegral a9} in 
  let {a10' = id a10} in 
  let {a11' = fromIntegral a11} in 
  let {a12' = id a12} in 
  let {a13' = fromIntegral a13} in 
  let {a14' = id a14} in 
  let {a15' = id a15} in 
  let {a16' = id a16} in 
  let {a17' = id a17} in 
  let {a18' = id a18} in 
  let {a19' = fromIntegral a19} in 
  let {a20' = id a20} in 
  let {a21' = fromIntegral a21} in 
  let {a22' = id a22} in 
  let {a23' = fromIntegral a23} in 
  let {a24' = id a24} in 
  dtgsja'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' a12' a13' a14' a15' a16' a17' a18' a19' a20' a21' a22' a23' a24' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 580 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

ctgsna :: (Int) -> (CChar) -> (CChar) -> (Ptr CInt) -> (Int) -> (Ptr (Complex CFloat)) -> (Int) -> (Ptr (Complex CFloat)) -> (Int) -> (Ptr (Complex CFloat)) -> (Int) -> (Ptr (Complex CFloat)) -> (Int) -> (Ptr CFloat) -> (Ptr CFloat) -> (Int) -> (Ptr CInt) -> IO ((Int))
ctgsna a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 a15 a16 a17 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = castChar a3} in 
  let {a4' = id a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = castComplexToPtr a6} in 
  let {a7' = fromIntegral a7} in 
  let {a8' = castComplexToPtr a8} in 
  let {a9' = fromIntegral a9} in 
  let {a10' = castComplexToPtr a10} in 
  let {a11' = fromIntegral a11} in 
  let {a12' = castComplexToPtr a12} in 
  let {a13' = fromIntegral a13} in 
  let {a14' = id a14} in 
  let {a15' = id a15} in 
  let {a16' = fromIntegral a16} in 
  let {a17' = id a17} in 
  ctgsna'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' a12' a13' a14' a15' a16' a17' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 581 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

dtgsna :: (Int) -> (CChar) -> (CChar) -> (Ptr CInt) -> (Int) -> (Ptr CDouble) -> (Int) -> (Ptr CDouble) -> (Int) -> (Ptr CDouble) -> (Int) -> (Ptr CDouble) -> (Int) -> (Ptr CDouble) -> (Ptr CDouble) -> (Int) -> (Ptr CInt) -> IO ((Int))
dtgsna a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 a15 a16 a17 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = castChar a3} in 
  let {a4' = id a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = id a6} in 
  let {a7' = fromIntegral a7} in 
  let {a8' = id a8} in 
  let {a9' = fromIntegral a9} in 
  let {a10' = id a10} in 
  let {a11' = fromIntegral a11} in 
  let {a12' = id a12} in 
  let {a13' = fromIntegral a13} in 
  let {a14' = id a14} in 
  let {a15' = id a15} in 
  let {a16' = fromIntegral a16} in 
  let {a17' = id a17} in 
  dtgsna'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' a12' a13' a14' a15' a16' a17' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 582 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

stgsja :: (Int) -> (CChar) -> (CChar) -> (CChar) -> (Int) -> (Int) -> (Int) -> (Int) -> (Int) -> (Ptr CFloat) -> (Int) -> (Ptr CFloat) -> (Int) -> (CFloat) -> (CFloat) -> (Ptr CFloat) -> (Ptr CFloat) -> (Ptr CFloat) -> (Int) -> (Ptr CFloat) -> (Int) -> (Ptr CFloat) -> (Int) -> (Ptr CInt) -> IO ((Int))
stgsja a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 a15 a16 a17 a18 a19 a20 a21 a22 a23 a24 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = castChar a3} in 
  let {a4' = castChar a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = fromIntegral a6} in 
  let {a7' = fromIntegral a7} in 
  let {a8' = fromIntegral a8} in 
  let {a9' = fromIntegral a9} in 
  let {a10' = id a10} in 
  let {a11' = fromIntegral a11} in 
  let {a12' = id a12} in 
  let {a13' = fromIntegral a13} in 
  let {a14' = id a14} in 
  let {a15' = id a15} in 
  let {a16' = id a16} in 
  let {a17' = id a17} in 
  let {a18' = id a18} in 
  let {a19' = fromIntegral a19} in 
  let {a20' = id a20} in 
  let {a21' = fromIntegral a21} in 
  let {a22' = id a22} in 
  let {a23' = fromIntegral a23} in 
  let {a24' = id a24} in 
  stgsja'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' a12' a13' a14' a15' a16' a17' a18' a19' a20' a21' a22' a23' a24' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 583 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

stgsna :: (Int) -> (CChar) -> (CChar) -> (Ptr CInt) -> (Int) -> (Ptr CFloat) -> (Int) -> (Ptr CFloat) -> (Int) -> (Ptr CFloat) -> (Int) -> (Ptr CFloat) -> (Int) -> (Ptr CFloat) -> (Ptr CFloat) -> (Int) -> (Ptr CInt) -> IO ((Int))
stgsna a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 a15 a16 a17 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = castChar a3} in 
  let {a4' = id a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = id a6} in 
  let {a7' = fromIntegral a7} in 
  let {a8' = id a8} in 
  let {a9' = fromIntegral a9} in 
  let {a10' = id a10} in 
  let {a11' = fromIntegral a11} in 
  let {a12' = id a12} in 
  let {a13' = fromIntegral a13} in 
  let {a14' = id a14} in 
  let {a15' = id a15} in 
  let {a16' = fromIntegral a16} in 
  let {a17' = id a17} in 
  stgsna'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' a12' a13' a14' a15' a16' a17' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 584 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

ztgsja :: (Int) -> (CChar) -> (CChar) -> (CChar) -> (Int) -> (Int) -> (Int) -> (Int) -> (Int) -> (Ptr (Complex CDouble)) -> (Int) -> (Ptr (Complex CDouble)) -> (Int) -> (CDouble) -> (CDouble) -> (Ptr CDouble) -> (Ptr CDouble) -> (Ptr (Complex CDouble)) -> (Int) -> (Ptr (Complex CDouble)) -> (Int) -> (Ptr (Complex CDouble)) -> (Int) -> (Ptr CInt) -> IO ((Int))
ztgsja a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 a15 a16 a17 a18 a19 a20 a21 a22 a23 a24 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = castChar a3} in 
  let {a4' = castChar a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = fromIntegral a6} in 
  let {a7' = fromIntegral a7} in 
  let {a8' = fromIntegral a8} in 
  let {a9' = fromIntegral a9} in 
  let {a10' = castZomplexToPtr a10} in 
  let {a11' = fromIntegral a11} in 
  let {a12' = castZomplexToPtr a12} in 
  let {a13' = fromIntegral a13} in 
  let {a14' = id a14} in 
  let {a15' = id a15} in 
  let {a16' = id a16} in 
  let {a17' = id a17} in 
  let {a18' = castZomplexToPtr a18} in 
  let {a19' = fromIntegral a19} in 
  let {a20' = castZomplexToPtr a20} in 
  let {a21' = fromIntegral a21} in 
  let {a22' = castZomplexToPtr a22} in 
  let {a23' = fromIntegral a23} in 
  let {a24' = id a24} in 
  ztgsja'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' a12' a13' a14' a15' a16' a17' a18' a19' a20' a21' a22' a23' a24' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 585 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

ztgsna :: (Int) -> (CChar) -> (CChar) -> (Ptr CInt) -> (Int) -> (Ptr (Complex CDouble)) -> (Int) -> (Ptr (Complex CDouble)) -> (Int) -> (Ptr (Complex CDouble)) -> (Int) -> (Ptr (Complex CDouble)) -> (Int) -> (Ptr CDouble) -> (Ptr CDouble) -> (Int) -> (Ptr CInt) -> IO ((Int))
ztgsna a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 a15 a16 a17 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = castChar a3} in 
  let {a4' = id a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = castZomplexToPtr a6} in 
  let {a7' = fromIntegral a7} in 
  let {a8' = castZomplexToPtr a8} in 
  let {a9' = fromIntegral a9} in 
  let {a10' = castZomplexToPtr a10} in 
  let {a11' = fromIntegral a11} in 
  let {a12' = castZomplexToPtr a12} in 
  let {a13' = fromIntegral a13} in 
  let {a14' = id a14} in 
  let {a15' = id a15} in 
  let {a16' = fromIntegral a16} in 
  let {a17' = id a17} in 
  ztgsna'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' a12' a13' a14' a15' a16' a17' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 586 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

cggsvp :: (Int) -> (CChar) -> (CChar) -> (CChar) -> (Int) -> (Int) -> (Int) -> (Ptr (Complex CFloat)) -> (Int) -> (Ptr (Complex CFloat)) -> (Int) -> (CFloat) -> (CFloat) -> (Ptr CInt) -> (Ptr CInt) -> (Ptr (Complex CFloat)) -> (Int) -> (Ptr (Complex CFloat)) -> (Int) -> (Ptr (Complex CFloat)) -> (Int) -> IO ((Int))
cggsvp a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 a15 a16 a17 a18 a19 a20 a21 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = castChar a3} in 
  let {a4' = castChar a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = fromIntegral a6} in 
  let {a7' = fromIntegral a7} in 
  let {a8' = castComplexToPtr a8} in 
  let {a9' = fromIntegral a9} in 
  let {a10' = castComplexToPtr a10} in 
  let {a11' = fromIntegral a11} in 
  let {a12' = id a12} in 
  let {a13' = id a13} in 
  let {a14' = id a14} in 
  let {a15' = id a15} in 
  let {a16' = castComplexToPtr a16} in 
  let {a17' = fromIntegral a17} in 
  let {a18' = castComplexToPtr a18} in 
  let {a19' = fromIntegral a19} in 
  let {a20' = castComplexToPtr a20} in 
  let {a21' = fromIntegral a21} in 
  cggsvp'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' a12' a13' a14' a15' a16' a17' a18' a19' a20' a21' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 587 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

dggsvp :: (Int) -> (CChar) -> (CChar) -> (CChar) -> (Int) -> (Int) -> (Int) -> (Ptr CDouble) -> (Int) -> (Ptr CDouble) -> (Int) -> (CDouble) -> (CDouble) -> (Ptr CInt) -> (Ptr CInt) -> (Ptr CDouble) -> (Int) -> (Ptr CDouble) -> (Int) -> (Ptr CDouble) -> (Int) -> IO ((Int))
dggsvp a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 a15 a16 a17 a18 a19 a20 a21 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = castChar a3} in 
  let {a4' = castChar a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = fromIntegral a6} in 
  let {a7' = fromIntegral a7} in 
  let {a8' = id a8} in 
  let {a9' = fromIntegral a9} in 
  let {a10' = id a10} in 
  let {a11' = fromIntegral a11} in 
  let {a12' = id a12} in 
  let {a13' = id a13} in 
  let {a14' = id a14} in 
  let {a15' = id a15} in 
  let {a16' = id a16} in 
  let {a17' = fromIntegral a17} in 
  let {a18' = id a18} in 
  let {a19' = fromIntegral a19} in 
  let {a20' = id a20} in 
  let {a21' = fromIntegral a21} in 
  dggsvp'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' a12' a13' a14' a15' a16' a17' a18' a19' a20' a21' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 588 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

sggsvp :: (Int) -> (CChar) -> (CChar) -> (CChar) -> (Int) -> (Int) -> (Int) -> (Ptr CFloat) -> (Int) -> (Ptr CFloat) -> (Int) -> (CFloat) -> (CFloat) -> (Ptr CInt) -> (Ptr CInt) -> (Ptr CFloat) -> (Int) -> (Ptr CFloat) -> (Int) -> (Ptr CFloat) -> (Int) -> IO ((Int))
sggsvp a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 a15 a16 a17 a18 a19 a20 a21 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = castChar a3} in 
  let {a4' = castChar a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = fromIntegral a6} in 
  let {a7' = fromIntegral a7} in 
  let {a8' = id a8} in 
  let {a9' = fromIntegral a9} in 
  let {a10' = id a10} in 
  let {a11' = fromIntegral a11} in 
  let {a12' = id a12} in 
  let {a13' = id a13} in 
  let {a14' = id a14} in 
  let {a15' = id a15} in 
  let {a16' = id a16} in 
  let {a17' = fromIntegral a17} in 
  let {a18' = id a18} in 
  let {a19' = fromIntegral a19} in 
  let {a20' = id a20} in 
  let {a21' = fromIntegral a21} in 
  sggsvp'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' a12' a13' a14' a15' a16' a17' a18' a19' a20' a21' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 589 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

zggsvp :: (Int) -> (CChar) -> (CChar) -> (CChar) -> (Int) -> (Int) -> (Int) -> (Ptr (Complex CDouble)) -> (Int) -> (Ptr (Complex CDouble)) -> (Int) -> (CDouble) -> (CDouble) -> (Ptr CInt) -> (Ptr CInt) -> (Ptr (Complex CDouble)) -> (Int) -> (Ptr (Complex CDouble)) -> (Int) -> (Ptr (Complex CDouble)) -> (Int) -> IO ((Int))
zggsvp a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 a15 a16 a17 a18 a19 a20 a21 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = castChar a3} in 
  let {a4' = castChar a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = fromIntegral a6} in 
  let {a7' = fromIntegral a7} in 
  let {a8' = castZomplexToPtr a8} in 
  let {a9' = fromIntegral a9} in 
  let {a10' = castZomplexToPtr a10} in 
  let {a11' = fromIntegral a11} in 
  let {a12' = id a12} in 
  let {a13' = id a13} in 
  let {a14' = id a14} in 
  let {a15' = id a15} in 
  let {a16' = castZomplexToPtr a16} in 
  let {a17' = fromIntegral a17} in 
  let {a18' = castZomplexToPtr a18} in 
  let {a19' = fromIntegral a19} in 
  let {a20' = castZomplexToPtr a20} in 
  let {a21' = fromIntegral a21} in 
  zggsvp'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' a12' a13' a14' a15' a16' a17' a18' a19' a20' a21' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 590 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

ctgsyl :: (Int) -> (CChar) -> (Int) -> (Int) -> (Int) -> (Ptr (Complex CFloat)) -> (Int) -> (Ptr (Complex CFloat)) -> (Int) -> (Ptr (Complex CFloat)) -> (Int) -> (Ptr (Complex CFloat)) -> (Int) -> (Ptr (Complex CFloat)) -> (Int) -> (Ptr (Complex CFloat)) -> (Int) -> (Ptr CFloat) -> (Ptr CFloat) -> IO ((Int))
ctgsyl a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 a15 a16 a17 a18 a19 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = castComplexToPtr a6} in 
  let {a7' = fromIntegral a7} in 
  let {a8' = castComplexToPtr a8} in 
  let {a9' = fromIntegral a9} in 
  let {a10' = castComplexToPtr a10} in 
  let {a11' = fromIntegral a11} in 
  let {a12' = castComplexToPtr a12} in 
  let {a13' = fromIntegral a13} in 
  let {a14' = castComplexToPtr a14} in 
  let {a15' = fromIntegral a15} in 
  let {a16' = castComplexToPtr a16} in 
  let {a17' = fromIntegral a17} in 
  let {a18' = id a18} in 
  let {a19' = id a19} in 
  ctgsyl'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' a12' a13' a14' a15' a16' a17' a18' a19' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 591 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

dtgsyl :: (Int) -> (CChar) -> (Int) -> (Int) -> (Int) -> (Ptr CDouble) -> (Int) -> (Ptr CDouble) -> (Int) -> (Ptr CDouble) -> (Int) -> (Ptr CDouble) -> (Int) -> (Ptr CDouble) -> (Int) -> (Ptr CDouble) -> (Int) -> (Ptr CDouble) -> (Ptr CDouble) -> IO ((Int))
dtgsyl a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 a15 a16 a17 a18 a19 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = id a6} in 
  let {a7' = fromIntegral a7} in 
  let {a8' = id a8} in 
  let {a9' = fromIntegral a9} in 
  let {a10' = id a10} in 
  let {a11' = fromIntegral a11} in 
  let {a12' = id a12} in 
  let {a13' = fromIntegral a13} in 
  let {a14' = id a14} in 
  let {a15' = fromIntegral a15} in 
  let {a16' = id a16} in 
  let {a17' = fromIntegral a17} in 
  let {a18' = id a18} in 
  let {a19' = id a19} in 
  dtgsyl'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' a12' a13' a14' a15' a16' a17' a18' a19' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 592 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

stgsyl :: (Int) -> (CChar) -> (Int) -> (Int) -> (Int) -> (Ptr CFloat) -> (Int) -> (Ptr CFloat) -> (Int) -> (Ptr CFloat) -> (Int) -> (Ptr CFloat) -> (Int) -> (Ptr CFloat) -> (Int) -> (Ptr CFloat) -> (Int) -> (Ptr CFloat) -> (Ptr CFloat) -> IO ((Int))
stgsyl a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 a15 a16 a17 a18 a19 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = id a6} in 
  let {a7' = fromIntegral a7} in 
  let {a8' = id a8} in 
  let {a9' = fromIntegral a9} in 
  let {a10' = id a10} in 
  let {a11' = fromIntegral a11} in 
  let {a12' = id a12} in 
  let {a13' = fromIntegral a13} in 
  let {a14' = id a14} in 
  let {a15' = fromIntegral a15} in 
  let {a16' = id a16} in 
  let {a17' = fromIntegral a17} in 
  let {a18' = id a18} in 
  let {a19' = id a19} in 
  stgsyl'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' a12' a13' a14' a15' a16' a17' a18' a19' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 593 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

ztgsyl :: (Int) -> (CChar) -> (Int) -> (Int) -> (Int) -> (Ptr (Complex CDouble)) -> (Int) -> (Ptr (Complex CDouble)) -> (Int) -> (Ptr (Complex CDouble)) -> (Int) -> (Ptr (Complex CDouble)) -> (Int) -> (Ptr (Complex CDouble)) -> (Int) -> (Ptr (Complex CDouble)) -> (Int) -> (Ptr CDouble) -> (Ptr CDouble) -> IO ((Int))
ztgsyl a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 a15 a16 a17 a18 a19 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = castZomplexToPtr a6} in 
  let {a7' = fromIntegral a7} in 
  let {a8' = castZomplexToPtr a8} in 
  let {a9' = fromIntegral a9} in 
  let {a10' = castZomplexToPtr a10} in 
  let {a11' = fromIntegral a11} in 
  let {a12' = castZomplexToPtr a12} in 
  let {a13' = fromIntegral a13} in 
  let {a14' = castZomplexToPtr a14} in 
  let {a15' = fromIntegral a15} in 
  let {a16' = castZomplexToPtr a16} in 
  let {a17' = fromIntegral a17} in 
  let {a18' = id a18} in 
  let {a19' = id a19} in 
  ztgsyl'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' a12' a13' a14' a15' a16' a17' a18' a19' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 594 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

ctgsen :: (Int) -> (Int) -> (Int) -> (Int) -> (Ptr CInt) -> (Int) -> (Ptr (Complex CFloat)) -> (Int) -> (Ptr (Complex CFloat)) -> (Int) -> (Ptr (Complex CFloat)) -> (Ptr (Complex CFloat)) -> (Ptr (Complex CFloat)) -> (Int) -> (Ptr (Complex CFloat)) -> (Int) -> (Ptr CInt) -> (Ptr CFloat) -> (Ptr CFloat) -> (Ptr CFloat) -> IO ((Int))
ctgsen a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 a15 a16 a17 a18 a19 a20 =
  let {a1' = fromIntegral a1} in 
  let {a2' = fromIntegral a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = id a5} in 
  let {a6' = fromIntegral a6} in 
  let {a7' = castComplexToPtr a7} in 
  let {a8' = fromIntegral a8} in 
  let {a9' = castComplexToPtr a9} in 
  let {a10' = fromIntegral a10} in 
  let {a11' = castComplexToPtr a11} in 
  let {a12' = castComplexToPtr a12} in 
  let {a13' = castComplexToPtr a13} in 
  let {a14' = fromIntegral a14} in 
  let {a15' = castComplexToPtr a15} in 
  let {a16' = fromIntegral a16} in 
  let {a17' = id a17} in 
  let {a18' = id a18} in 
  let {a19' = id a19} in 
  let {a20' = id a20} in 
  ctgsen'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' a12' a13' a14' a15' a16' a17' a18' a19' a20' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 595 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

dtgsen :: (Int) -> (Int) -> (Int) -> (Int) -> (Ptr CInt) -> (Int) -> (Ptr CDouble) -> (Int) -> (Ptr CDouble) -> (Int) -> (Ptr CDouble) -> (Ptr CDouble) -> (Ptr CDouble) -> (Ptr CDouble) -> (Int) -> (Ptr CDouble) -> (Int) -> (Ptr CInt) -> (Ptr CDouble) -> (Ptr CDouble) -> (Ptr CDouble) -> IO ((Int))
dtgsen a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 a15 a16 a17 a18 a19 a20 a21 =
  let {a1' = fromIntegral a1} in 
  let {a2' = fromIntegral a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = id a5} in 
  let {a6' = fromIntegral a6} in 
  let {a7' = id a7} in 
  let {a8' = fromIntegral a8} in 
  let {a9' = id a9} in 
  let {a10' = fromIntegral a10} in 
  let {a11' = id a11} in 
  let {a12' = id a12} in 
  let {a13' = id a13} in 
  let {a14' = id a14} in 
  let {a15' = fromIntegral a15} in 
  let {a16' = id a16} in 
  let {a17' = fromIntegral a17} in 
  let {a18' = id a18} in 
  let {a19' = id a19} in 
  let {a20' = id a20} in 
  let {a21' = id a21} in 
  dtgsen'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' a12' a13' a14' a15' a16' a17' a18' a19' a20' a21' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 596 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

stgsen :: (Int) -> (Int) -> (Int) -> (Int) -> (Ptr CInt) -> (Int) -> (Ptr CFloat) -> (Int) -> (Ptr CFloat) -> (Int) -> (Ptr CFloat) -> (Ptr CFloat) -> (Ptr CFloat) -> (Ptr CFloat) -> (Int) -> (Ptr CFloat) -> (Int) -> (Ptr CInt) -> (Ptr CFloat) -> (Ptr CFloat) -> (Ptr CFloat) -> IO ((Int))
stgsen a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 a15 a16 a17 a18 a19 a20 a21 =
  let {a1' = fromIntegral a1} in 
  let {a2' = fromIntegral a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = id a5} in 
  let {a6' = fromIntegral a6} in 
  let {a7' = id a7} in 
  let {a8' = fromIntegral a8} in 
  let {a9' = id a9} in 
  let {a10' = fromIntegral a10} in 
  let {a11' = id a11} in 
  let {a12' = id a12} in 
  let {a13' = id a13} in 
  let {a14' = id a14} in 
  let {a15' = fromIntegral a15} in 
  let {a16' = id a16} in 
  let {a17' = fromIntegral a17} in 
  let {a18' = id a18} in 
  let {a19' = id a19} in 
  let {a20' = id a20} in 
  let {a21' = id a21} in 
  stgsen'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' a12' a13' a14' a15' a16' a17' a18' a19' a20' a21' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 597 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

ztgsen :: (Int) -> (Int) -> (Int) -> (Int) -> (Ptr CInt) -> (Int) -> (Ptr (Complex CDouble)) -> (Int) -> (Ptr (Complex CDouble)) -> (Int) -> (Ptr (Complex CDouble)) -> (Ptr (Complex CDouble)) -> (Ptr (Complex CDouble)) -> (Int) -> (Ptr (Complex CDouble)) -> (Int) -> (Ptr CInt) -> (Ptr CDouble) -> (Ptr CDouble) -> (Ptr CDouble) -> IO ((Int))
ztgsen a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 a15 a16 a17 a18 a19 a20 =
  let {a1' = fromIntegral a1} in 
  let {a2' = fromIntegral a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = id a5} in 
  let {a6' = fromIntegral a6} in 
  let {a7' = castZomplexToPtr a7} in 
  let {a8' = fromIntegral a8} in 
  let {a9' = castZomplexToPtr a9} in 
  let {a10' = fromIntegral a10} in 
  let {a11' = castZomplexToPtr a11} in 
  let {a12' = castZomplexToPtr a12} in 
  let {a13' = castZomplexToPtr a13} in 
  let {a14' = fromIntegral a14} in 
  let {a15' = castZomplexToPtr a15} in 
  let {a16' = fromIntegral a16} in 
  let {a17' = id a17} in 
  let {a18' = id a18} in 
  let {a19' = id a19} in 
  let {a20' = id a20} in 
  ztgsen'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' a12' a13' a14' a15' a16' a17' a18' a19' a20' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 598 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

ddisna :: (CChar) -> (Int) -> (Int) -> (Ptr CDouble) -> (Ptr CDouble) -> IO ((Int))
ddisna a1 a2 a3 a4 a5 =
  let {a1' = castChar a1} in 
  let {a2' = fromIntegral a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = id a4} in 
  let {a5' = id a5} in 
  ddisna'_ a1' a2' a3' a4' a5' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 599 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

sdisna :: (CChar) -> (Int) -> (Int) -> (Ptr CFloat) -> (Ptr CFloat) -> IO ((Int))
sdisna a1 a2 a3 a4 a5 =
  let {a1' = castChar a1} in 
  let {a2' = fromIntegral a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = id a4} in 
  let {a5' = id a5} in 
  sdisna'_ a1' a2' a3' a4' a5' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 600 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

cposv :: (Int) -> (CChar) -> (Int) -> (Int) -> (Ptr (Complex CFloat)) -> (Int) -> (Ptr (Complex CFloat)) -> (Int) -> IO ((Int))
cposv a1 a2 a3 a4 a5 a6 a7 a8 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = castComplexToPtr a5} in 
  let {a6' = fromIntegral a6} in 
  let {a7' = castComplexToPtr a7} in 
  let {a8' = fromIntegral a8} in 
  cposv'_ a1' a2' a3' a4' a5' a6' a7' a8' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 601 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

dposv :: (Int) -> (CChar) -> (Int) -> (Int) -> (Ptr CDouble) -> (Int) -> (Ptr CDouble) -> (Int) -> IO ((Int))
dposv a1 a2 a3 a4 a5 a6 a7 a8 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = id a5} in 
  let {a6' = fromIntegral a6} in 
  let {a7' = id a7} in 
  let {a8' = fromIntegral a8} in 
  dposv'_ a1' a2' a3' a4' a5' a6' a7' a8' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 602 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

sposv :: (Int) -> (CChar) -> (Int) -> (Int) -> (Ptr CFloat) -> (Int) -> (Ptr CFloat) -> (Int) -> IO ((Int))
sposv a1 a2 a3 a4 a5 a6 a7 a8 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = id a5} in 
  let {a6' = fromIntegral a6} in 
  let {a7' = id a7} in 
  let {a8' = fromIntegral a8} in 
  sposv'_ a1' a2' a3' a4' a5' a6' a7' a8' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 603 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

zposv :: (Int) -> (CChar) -> (Int) -> (Int) -> (Ptr (Complex CDouble)) -> (Int) -> (Ptr (Complex CDouble)) -> (Int) -> IO ((Int))
zposv a1 a2 a3 a4 a5 a6 a7 a8 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = castZomplexToPtr a5} in 
  let {a6' = fromIntegral a6} in 
  let {a7' = castZomplexToPtr a7} in 
  let {a8' = fromIntegral a8} in 
  zposv'_ a1' a2' a3' a4' a5' a6' a7' a8' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 604 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

chpsv :: (Int) -> (CChar) -> (Int) -> (Int) -> (Ptr (Complex CFloat)) -> (Ptr CInt) -> (Ptr (Complex CFloat)) -> (Int) -> IO ((Int))
chpsv a1 a2 a3 a4 a5 a6 a7 a8 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = castComplexToPtr a5} in 
  let {a6' = id a6} in 
  let {a7' = castComplexToPtr a7} in 
  let {a8' = fromIntegral a8} in 
  chpsv'_ a1' a2' a3' a4' a5' a6' a7' a8' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 605 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

cposvx :: (Int) -> (CChar) -> (CChar) -> (Int) -> (Int) -> (Ptr (Complex CFloat)) -> (Int) -> (Ptr (Complex CFloat)) -> (Int) -> (Char) -> (Ptr CFloat) -> (Ptr (Complex CFloat)) -> (Int) -> (Ptr (Complex CFloat)) -> (Int) -> (Ptr CFloat) -> (Ptr CFloat) -> (Ptr CFloat) -> IO ((Int))
cposvx a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 a15 a16 a17 a18 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = castChar a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = castComplexToPtr a6} in 
  let {a7' = fromIntegral a7} in 
  let {a8' = castComplexToPtr a8} in 
  let {a9' = fromIntegral a9} in 
  withSingleChar a10 $ \a10' -> 
  let {a11' = id a11} in 
  let {a12' = castComplexToPtr a12} in 
  let {a13' = fromIntegral a13} in 
  let {a14' = castComplexToPtr a14} in 
  let {a15' = fromIntegral a15} in 
  let {a16' = id a16} in 
  let {a17' = id a17} in 
  let {a18' = id a18} in 
  cposvx'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' a12' a13' a14' a15' a16' a17' a18' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 606 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

dposvx :: (Int) -> (CChar) -> (CChar) -> (Int) -> (Int) -> (Ptr CDouble) -> (Int) -> (Ptr CDouble) -> (Int) -> (Char) -> (Ptr CDouble) -> (Ptr CDouble) -> (Int) -> (Ptr CDouble) -> (Int) -> (Ptr CDouble) -> (Ptr CDouble) -> (Ptr CDouble) -> IO ((Int))
dposvx a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 a15 a16 a17 a18 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = castChar a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = id a6} in 
  let {a7' = fromIntegral a7} in 
  let {a8' = id a8} in 
  let {a9' = fromIntegral a9} in 
  withSingleChar a10 $ \a10' -> 
  let {a11' = id a11} in 
  let {a12' = id a12} in 
  let {a13' = fromIntegral a13} in 
  let {a14' = id a14} in 
  let {a15' = fromIntegral a15} in 
  let {a16' = id a16} in 
  let {a17' = id a17} in 
  let {a18' = id a18} in 
  dposvx'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' a12' a13' a14' a15' a16' a17' a18' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 607 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

sposvx :: (Int) -> (CChar) -> (CChar) -> (Int) -> (Int) -> (Ptr CFloat) -> (Int) -> (Ptr CFloat) -> (Int) -> (Char) -> (Ptr CFloat) -> (Ptr CFloat) -> (Int) -> (Ptr CFloat) -> (Int) -> (Ptr CFloat) -> (Ptr CFloat) -> (Ptr CFloat) -> IO ((Int))
sposvx a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 a15 a16 a17 a18 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = castChar a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = id a6} in 
  let {a7' = fromIntegral a7} in 
  let {a8' = id a8} in 
  let {a9' = fromIntegral a9} in 
  withSingleChar a10 $ \a10' -> 
  let {a11' = id a11} in 
  let {a12' = id a12} in 
  let {a13' = fromIntegral a13} in 
  let {a14' = id a14} in 
  let {a15' = fromIntegral a15} in 
  let {a16' = id a16} in 
  let {a17' = id a17} in 
  let {a18' = id a18} in 
  sposvx'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' a12' a13' a14' a15' a16' a17' a18' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 608 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

zhpsv :: (Int) -> (CChar) -> (Int) -> (Int) -> (Ptr (Complex CDouble)) -> (Ptr CInt) -> (Ptr (Complex CDouble)) -> (Int) -> IO ((Int))
zhpsv a1 a2 a3 a4 a5 a6 a7 a8 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = castZomplexToPtr a5} in 
  let {a6' = id a6} in 
  let {a7' = castZomplexToPtr a7} in 
  let {a8' = fromIntegral a8} in 
  zhpsv'_ a1' a2' a3' a4' a5' a6' a7' a8' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 609 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

zposvx :: (Int) -> (CChar) -> (CChar) -> (Int) -> (Int) -> (Ptr (Complex CDouble)) -> (Int) -> (Ptr (Complex CDouble)) -> (Int) -> (Char) -> (Ptr CDouble) -> (Ptr (Complex CDouble)) -> (Int) -> (Ptr (Complex CDouble)) -> (Int) -> (Ptr CDouble) -> (Ptr CDouble) -> (Ptr CDouble) -> IO ((Int))
zposvx a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 a15 a16 a17 a18 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = castChar a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = castZomplexToPtr a6} in 
  let {a7' = fromIntegral a7} in 
  let {a8' = castZomplexToPtr a8} in 
  let {a9' = fromIntegral a9} in 
  withSingleChar a10 $ \a10' -> 
  let {a11' = id a11} in 
  let {a12' = castZomplexToPtr a12} in 
  let {a13' = fromIntegral a13} in 
  let {a14' = castZomplexToPtr a14} in 
  let {a15' = fromIntegral a15} in 
  let {a16' = id a16} in 
  let {a17' = id a17} in 
  let {a18' = id a18} in 
  zposvx'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' a12' a13' a14' a15' a16' a17' a18' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 610 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

cppsv :: (Int) -> (CChar) -> (Int) -> (Int) -> (Ptr (Complex CFloat)) -> (Ptr (Complex CFloat)) -> (Int) -> IO ((Int))
cppsv a1 a2 a3 a4 a5 a6 a7 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = castComplexToPtr a5} in 
  let {a6' = castComplexToPtr a6} in 
  let {a7' = fromIntegral a7} in 
  cppsv'_ a1' a2' a3' a4' a5' a6' a7' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 611 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

dppsv :: (Int) -> (CChar) -> (Int) -> (Int) -> (Ptr CDouble) -> (Ptr CDouble) -> (Int) -> IO ((Int))
dppsv a1 a2 a3 a4 a5 a6 a7 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = id a5} in 
  let {a6' = id a6} in 
  let {a7' = fromIntegral a7} in 
  dppsv'_ a1' a2' a3' a4' a5' a6' a7' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 612 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

sppsv :: (Int) -> (CChar) -> (Int) -> (Int) -> (Ptr CFloat) -> (Ptr CFloat) -> (Int) -> IO ((Int))
sppsv a1 a2 a3 a4 a5 a6 a7 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = id a5} in 
  let {a6' = id a6} in 
  let {a7' = fromIntegral a7} in 
  sppsv'_ a1' a2' a3' a4' a5' a6' a7' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 613 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

zppsv :: (Int) -> (CChar) -> (Int) -> (Int) -> (Ptr (Complex CDouble)) -> (Ptr (Complex CDouble)) -> (Int) -> IO ((Int))
zppsv a1 a2 a3 a4 a5 a6 a7 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = castZomplexToPtr a5} in 
  let {a6' = castZomplexToPtr a6} in 
  let {a7' = fromIntegral a7} in 
  zppsv'_ a1' a2' a3' a4' a5' a6' a7' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 614 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

cspsv :: (Int) -> (CChar) -> (Int) -> (Int) -> (Ptr (Complex CFloat)) -> (Ptr CInt) -> (Ptr (Complex CFloat)) -> (Int) -> IO ((Int))
cspsv a1 a2 a3 a4 a5 a6 a7 a8 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = castComplexToPtr a5} in 
  let {a6' = id a6} in 
  let {a7' = castComplexToPtr a7} in 
  let {a8' = fromIntegral a8} in 
  cspsv'_ a1' a2' a3' a4' a5' a6' a7' a8' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 615 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

dspsv :: (Int) -> (CChar) -> (Int) -> (Int) -> (Ptr CDouble) -> (Ptr CInt) -> (Ptr CDouble) -> (Int) -> IO ((Int))
dspsv a1 a2 a3 a4 a5 a6 a7 a8 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = id a5} in 
  let {a6' = id a6} in 
  let {a7' = id a7} in 
  let {a8' = fromIntegral a8} in 
  dspsv'_ a1' a2' a3' a4' a5' a6' a7' a8' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 616 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

sspsv :: (Int) -> (CChar) -> (Int) -> (Int) -> (Ptr CFloat) -> (Ptr CInt) -> (Ptr CFloat) -> (Int) -> IO ((Int))
sspsv a1 a2 a3 a4 a5 a6 a7 a8 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = id a5} in 
  let {a6' = id a6} in 
  let {a7' = id a7} in 
  let {a8' = fromIntegral a8} in 
  sspsv'_ a1' a2' a3' a4' a5' a6' a7' a8' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 617 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

zspsv :: (Int) -> (CChar) -> (Int) -> (Int) -> (Ptr (Complex CDouble)) -> (Ptr CInt) -> (Ptr (Complex CDouble)) -> (Int) -> IO ((Int))
zspsv a1 a2 a3 a4 a5 a6 a7 a8 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = castZomplexToPtr a5} in 
  let {a6' = id a6} in 
  let {a7' = castZomplexToPtr a7} in 
  let {a8' = fromIntegral a8} in 
  zspsv'_ a1' a2' a3' a4' a5' a6' a7' a8' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 618 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

chpsvx :: (Int) -> (CChar) -> (CChar) -> (Int) -> (Int) -> (Ptr (Complex CFloat)) -> (Ptr (Complex CFloat)) -> (Ptr CInt) -> (Ptr (Complex CFloat)) -> (Int) -> (Ptr (Complex CFloat)) -> (Int) -> (Ptr CFloat) -> (Ptr CFloat) -> (Ptr CFloat) -> IO ((Int))
chpsvx a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 a15 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = castChar a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = castComplexToPtr a6} in 
  let {a7' = castComplexToPtr a7} in 
  let {a8' = id a8} in 
  let {a9' = castComplexToPtr a9} in 
  let {a10' = fromIntegral a10} in 
  let {a11' = castComplexToPtr a11} in 
  let {a12' = fromIntegral a12} in 
  let {a13' = id a13} in 
  let {a14' = id a14} in 
  let {a15' = id a15} in 
  chpsvx'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' a12' a13' a14' a15' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 619 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

zhpsvx :: (Int) -> (CChar) -> (CChar) -> (Int) -> (Int) -> (Ptr (Complex CDouble)) -> (Ptr (Complex CDouble)) -> (Ptr CInt) -> (Ptr (Complex CDouble)) -> (Int) -> (Ptr (Complex CDouble)) -> (Int) -> (Ptr CDouble) -> (Ptr CDouble) -> (Ptr CDouble) -> IO ((Int))
zhpsvx a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 a15 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = castChar a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = castZomplexToPtr a6} in 
  let {a7' = castZomplexToPtr a7} in 
  let {a8' = id a8} in 
  let {a9' = castZomplexToPtr a9} in 
  let {a10' = fromIntegral a10} in 
  let {a11' = castZomplexToPtr a11} in 
  let {a12' = fromIntegral a12} in 
  let {a13' = id a13} in 
  let {a14' = id a14} in 
  let {a15' = id a15} in 
  zhpsvx'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' a12' a13' a14' a15' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 620 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

cppsvx :: (Int) -> (CChar) -> (CChar) -> (Int) -> (Int) -> (Ptr (Complex CFloat)) -> (Ptr (Complex CFloat)) -> (Char) -> (Ptr CFloat) -> (Ptr (Complex CFloat)) -> (Int) -> (Ptr (Complex CFloat)) -> (Int) -> (Ptr CFloat) -> (Ptr CFloat) -> (Ptr CFloat) -> IO ((Int))
cppsvx a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 a15 a16 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = castChar a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = castComplexToPtr a6} in 
  let {a7' = castComplexToPtr a7} in 
  withSingleChar a8 $ \a8' -> 
  let {a9' = id a9} in 
  let {a10' = castComplexToPtr a10} in 
  let {a11' = fromIntegral a11} in 
  let {a12' = castComplexToPtr a12} in 
  let {a13' = fromIntegral a13} in 
  let {a14' = id a14} in 
  let {a15' = id a15} in 
  let {a16' = id a16} in 
  cppsvx'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' a12' a13' a14' a15' a16' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 621 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

dppsvx :: (Int) -> (CChar) -> (CChar) -> (Int) -> (Int) -> (Ptr CDouble) -> (Ptr CDouble) -> (Char) -> (Ptr CDouble) -> (Ptr CDouble) -> (Int) -> (Ptr CDouble) -> (Int) -> (Ptr CDouble) -> (Ptr CDouble) -> (Ptr CDouble) -> IO ((Int))
dppsvx a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 a15 a16 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = castChar a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = id a6} in 
  let {a7' = id a7} in 
  withSingleChar a8 $ \a8' -> 
  let {a9' = id a9} in 
  let {a10' = id a10} in 
  let {a11' = fromIntegral a11} in 
  let {a12' = id a12} in 
  let {a13' = fromIntegral a13} in 
  let {a14' = id a14} in 
  let {a15' = id a15} in 
  let {a16' = id a16} in 
  dppsvx'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' a12' a13' a14' a15' a16' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 622 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

sppsvx :: (Int) -> (CChar) -> (CChar) -> (Int) -> (Int) -> (Ptr CFloat) -> (Ptr CFloat) -> (Char) -> (Ptr CFloat) -> (Ptr CFloat) -> (Int) -> (Ptr CFloat) -> (Int) -> (Ptr CFloat) -> (Ptr CFloat) -> (Ptr CFloat) -> IO ((Int))
sppsvx a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 a15 a16 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = castChar a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = id a6} in 
  let {a7' = id a7} in 
  withSingleChar a8 $ \a8' -> 
  let {a9' = id a9} in 
  let {a10' = id a10} in 
  let {a11' = fromIntegral a11} in 
  let {a12' = id a12} in 
  let {a13' = fromIntegral a13} in 
  let {a14' = id a14} in 
  let {a15' = id a15} in 
  let {a16' = id a16} in 
  sppsvx'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' a12' a13' a14' a15' a16' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 623 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

zppsvx :: (Int) -> (CChar) -> (CChar) -> (Int) -> (Int) -> (Ptr (Complex CDouble)) -> (Ptr (Complex CDouble)) -> (Char) -> (Ptr CDouble) -> (Ptr (Complex CDouble)) -> (Int) -> (Ptr (Complex CDouble)) -> (Int) -> (Ptr CDouble) -> (Ptr CDouble) -> (Ptr CDouble) -> IO ((Int))
zppsvx a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 a15 a16 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = castChar a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = castZomplexToPtr a6} in 
  let {a7' = castZomplexToPtr a7} in 
  withSingleChar a8 $ \a8' -> 
  let {a9' = id a9} in 
  let {a10' = castZomplexToPtr a10} in 
  let {a11' = fromIntegral a11} in 
  let {a12' = castZomplexToPtr a12} in 
  let {a13' = fromIntegral a13} in 
  let {a14' = id a14} in 
  let {a15' = id a15} in 
  let {a16' = id a16} in 
  zppsvx'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' a12' a13' a14' a15' a16' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 624 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

cspsvx :: (Int) -> (CChar) -> (CChar) -> (Int) -> (Int) -> (Ptr (Complex CFloat)) -> (Ptr (Complex CFloat)) -> (Ptr CInt) -> (Ptr (Complex CFloat)) -> (Int) -> (Ptr (Complex CFloat)) -> (Int) -> (Ptr CFloat) -> (Ptr CFloat) -> (Ptr CFloat) -> IO ((Int))
cspsvx a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 a15 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = castChar a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = castComplexToPtr a6} in 
  let {a7' = castComplexToPtr a7} in 
  let {a8' = id a8} in 
  let {a9' = castComplexToPtr a9} in 
  let {a10' = fromIntegral a10} in 
  let {a11' = castComplexToPtr a11} in 
  let {a12' = fromIntegral a12} in 
  let {a13' = id a13} in 
  let {a14' = id a14} in 
  let {a15' = id a15} in 
  cspsvx'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' a12' a13' a14' a15' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 625 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

dspsvx :: (Int) -> (CChar) -> (CChar) -> (Int) -> (Int) -> (Ptr CDouble) -> (Ptr CDouble) -> (Ptr CInt) -> (Ptr CDouble) -> (Int) -> (Ptr CDouble) -> (Int) -> (Ptr CDouble) -> (Ptr CDouble) -> (Ptr CDouble) -> IO ((Int))
dspsvx a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 a15 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = castChar a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = id a6} in 
  let {a7' = id a7} in 
  let {a8' = id a8} in 
  let {a9' = id a9} in 
  let {a10' = fromIntegral a10} in 
  let {a11' = id a11} in 
  let {a12' = fromIntegral a12} in 
  let {a13' = id a13} in 
  let {a14' = id a14} in 
  let {a15' = id a15} in 
  dspsvx'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' a12' a13' a14' a15' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 626 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

sspsvx :: (Int) -> (CChar) -> (CChar) -> (Int) -> (Int) -> (Ptr CFloat) -> (Ptr CFloat) -> (Ptr CInt) -> (Ptr CFloat) -> (Int) -> (Ptr CFloat) -> (Int) -> (Ptr CFloat) -> (Ptr CFloat) -> (Ptr CFloat) -> IO ((Int))
sspsvx a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 a15 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = castChar a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = id a6} in 
  let {a7' = id a7} in 
  let {a8' = id a8} in 
  let {a9' = id a9} in 
  let {a10' = fromIntegral a10} in 
  let {a11' = id a11} in 
  let {a12' = fromIntegral a12} in 
  let {a13' = id a13} in 
  let {a14' = id a14} in 
  let {a15' = id a15} in 
  sspsvx'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' a12' a13' a14' a15' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 627 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

zspsvx :: (Int) -> (CChar) -> (CChar) -> (Int) -> (Int) -> (Ptr (Complex CDouble)) -> (Ptr (Complex CDouble)) -> (Ptr CInt) -> (Ptr (Complex CDouble)) -> (Int) -> (Ptr (Complex CDouble)) -> (Int) -> (Ptr CDouble) -> (Ptr CDouble) -> (Ptr CDouble) -> IO ((Int))
zspsvx a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 a15 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = castChar a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = castZomplexToPtr a6} in 
  let {a7' = castZomplexToPtr a7} in 
  let {a8' = id a8} in 
  let {a9' = castZomplexToPtr a9} in 
  let {a10' = fromIntegral a10} in 
  let {a11' = castZomplexToPtr a11} in 
  let {a12' = fromIntegral a12} in 
  let {a13' = id a13} in 
  let {a14' = id a14} in 
  let {a15' = id a15} in 
  zspsvx'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' a12' a13' a14' a15' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 628 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

ctrsna :: (Int) -> (CChar) -> (CChar) -> (Ptr CInt) -> (Int) -> (Ptr (Complex CFloat)) -> (Int) -> (Ptr (Complex CFloat)) -> (Int) -> (Ptr (Complex CFloat)) -> (Int) -> (Ptr CFloat) -> (Ptr CFloat) -> (Int) -> (Ptr CInt) -> IO ((Int))
ctrsna a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 a15 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = castChar a3} in 
  let {a4' = id a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = castComplexToPtr a6} in 
  let {a7' = fromIntegral a7} in 
  let {a8' = castComplexToPtr a8} in 
  let {a9' = fromIntegral a9} in 
  let {a10' = castComplexToPtr a10} in 
  let {a11' = fromIntegral a11} in 
  let {a12' = id a12} in 
  let {a13' = id a13} in 
  let {a14' = fromIntegral a14} in 
  let {a15' = id a15} in 
  ctrsna'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' a12' a13' a14' a15' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 629 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

dtrsna :: (Int) -> (CChar) -> (CChar) -> (Ptr CInt) -> (Int) -> (Ptr CDouble) -> (Int) -> (Ptr CDouble) -> (Int) -> (Ptr CDouble) -> (Int) -> (Ptr CDouble) -> (Ptr CDouble) -> (Int) -> (Ptr CInt) -> IO ((Int))
dtrsna a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 a15 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = castChar a3} in 
  let {a4' = id a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = id a6} in 
  let {a7' = fromIntegral a7} in 
  let {a8' = id a8} in 
  let {a9' = fromIntegral a9} in 
  let {a10' = id a10} in 
  let {a11' = fromIntegral a11} in 
  let {a12' = id a12} in 
  let {a13' = id a13} in 
  let {a14' = fromIntegral a14} in 
  let {a15' = id a15} in 
  dtrsna'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' a12' a13' a14' a15' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 630 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

strsna :: (Int) -> (CChar) -> (CChar) -> (Ptr CInt) -> (Int) -> (Ptr CFloat) -> (Int) -> (Ptr CFloat) -> (Int) -> (Ptr CFloat) -> (Int) -> (Ptr CFloat) -> (Ptr CFloat) -> (Int) -> (Ptr CInt) -> IO ((Int))
strsna a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 a15 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = castChar a3} in 
  let {a4' = id a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = id a6} in 
  let {a7' = fromIntegral a7} in 
  let {a8' = id a8} in 
  let {a9' = fromIntegral a9} in 
  let {a10' = id a10} in 
  let {a11' = fromIntegral a11} in 
  let {a12' = id a12} in 
  let {a13' = id a13} in 
  let {a14' = fromIntegral a14} in 
  let {a15' = id a15} in 
  strsna'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' a12' a13' a14' a15' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 631 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

ztrsna :: (Int) -> (CChar) -> (CChar) -> (Ptr CInt) -> (Int) -> (Ptr (Complex CDouble)) -> (Int) -> (Ptr (Complex CDouble)) -> (Int) -> (Ptr (Complex CDouble)) -> (Int) -> (Ptr CDouble) -> (Ptr CDouble) -> (Int) -> (Ptr CInt) -> IO ((Int))
ztrsna a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 a15 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = castChar a3} in 
  let {a4' = id a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = castZomplexToPtr a6} in 
  let {a7' = fromIntegral a7} in 
  let {a8' = castZomplexToPtr a8} in 
  let {a9' = fromIntegral a9} in 
  let {a10' = castZomplexToPtr a10} in 
  let {a11' = fromIntegral a11} in 
  let {a12' = id a12} in 
  let {a13' = id a13} in 
  let {a14' = fromIntegral a14} in 
  let {a15' = id a15} in 
  ztrsna'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' a12' a13' a14' a15' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 632 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

ctrsyl :: (Int) -> (CChar) -> (CChar) -> (Int) -> (Int) -> (Int) -> (Ptr (Complex CFloat)) -> (Int) -> (Ptr (Complex CFloat)) -> (Int) -> (Ptr (Complex CFloat)) -> (Int) -> (Ptr CFloat) -> IO ((Int))
ctrsyl a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = castChar a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = fromIntegral a6} in 
  let {a7' = castComplexToPtr a7} in 
  let {a8' = fromIntegral a8} in 
  let {a9' = castComplexToPtr a9} in 
  let {a10' = fromIntegral a10} in 
  let {a11' = castComplexToPtr a11} in 
  let {a12' = fromIntegral a12} in 
  let {a13' = id a13} in 
  ctrsyl'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' a12' a13' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 633 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

dtrsyl :: (Int) -> (CChar) -> (CChar) -> (Int) -> (Int) -> (Int) -> (Ptr CDouble) -> (Int) -> (Ptr CDouble) -> (Int) -> (Ptr CDouble) -> (Int) -> (Ptr CDouble) -> IO ((Int))
dtrsyl a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = castChar a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = fromIntegral a6} in 
  let {a7' = id a7} in 
  let {a8' = fromIntegral a8} in 
  let {a9' = id a9} in 
  let {a10' = fromIntegral a10} in 
  let {a11' = id a11} in 
  let {a12' = fromIntegral a12} in 
  let {a13' = id a13} in 
  dtrsyl'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' a12' a13' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 634 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

strsyl :: (Int) -> (CChar) -> (CChar) -> (Int) -> (Int) -> (Int) -> (Ptr CFloat) -> (Int) -> (Ptr CFloat) -> (Int) -> (Ptr CFloat) -> (Int) -> (Ptr CFloat) -> IO ((Int))
strsyl a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = castChar a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = fromIntegral a6} in 
  let {a7' = id a7} in 
  let {a8' = fromIntegral a8} in 
  let {a9' = id a9} in 
  let {a10' = fromIntegral a10} in 
  let {a11' = id a11} in 
  let {a12' = fromIntegral a12} in 
  let {a13' = id a13} in 
  strsyl'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' a12' a13' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 635 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

ztrsyl :: (Int) -> (CChar) -> (CChar) -> (Int) -> (Int) -> (Int) -> (Ptr (Complex CDouble)) -> (Int) -> (Ptr (Complex CDouble)) -> (Int) -> (Ptr (Complex CDouble)) -> (Int) -> (Ptr CDouble) -> IO ((Int))
ztrsyl a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = castChar a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = fromIntegral a6} in 
  let {a7' = castZomplexToPtr a7} in 
  let {a8' = fromIntegral a8} in 
  let {a9' = castZomplexToPtr a9} in 
  let {a10' = fromIntegral a10} in 
  let {a11' = castZomplexToPtr a11} in 
  let {a12' = fromIntegral a12} in 
  let {a13' = id a13} in 
  ztrsyl'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' a12' a13' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 636 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

ctrsen :: (Int) -> (CChar) -> (CChar) -> (Ptr CInt) -> (Int) -> (Ptr (Complex CFloat)) -> (Int) -> (Ptr (Complex CFloat)) -> (Int) -> (Ptr (Complex CFloat)) -> (Ptr CInt) -> (Ptr CFloat) -> (Ptr CFloat) -> IO ((Int))
ctrsen a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = castChar a3} in 
  let {a4' = id a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = castComplexToPtr a6} in 
  let {a7' = fromIntegral a7} in 
  let {a8' = castComplexToPtr a8} in 
  let {a9' = fromIntegral a9} in 
  let {a10' = castComplexToPtr a10} in 
  let {a11' = id a11} in 
  let {a12' = id a12} in 
  let {a13' = id a13} in 
  ctrsen'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' a12' a13' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 637 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

dtrsen :: (Int) -> (CChar) -> (CChar) -> (Ptr CInt) -> (Int) -> (Ptr CDouble) -> (Int) -> (Ptr CDouble) -> (Int) -> (Ptr CDouble) -> (Ptr CDouble) -> (Ptr CInt) -> (Ptr CDouble) -> (Ptr CDouble) -> IO ((Int))
dtrsen a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = castChar a3} in 
  let {a4' = id a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = id a6} in 
  let {a7' = fromIntegral a7} in 
  let {a8' = id a8} in 
  let {a9' = fromIntegral a9} in 
  let {a10' = id a10} in 
  let {a11' = id a11} in 
  let {a12' = id a12} in 
  let {a13' = id a13} in 
  let {a14' = id a14} in 
  dtrsen'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' a12' a13' a14' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 638 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

strsen :: (Int) -> (CChar) -> (CChar) -> (Ptr CInt) -> (Int) -> (Ptr CFloat) -> (Int) -> (Ptr CFloat) -> (Int) -> (Ptr CFloat) -> (Ptr CFloat) -> (Ptr CInt) -> (Ptr CFloat) -> (Ptr CFloat) -> IO ((Int))
strsen a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = castChar a3} in 
  let {a4' = id a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = id a6} in 
  let {a7' = fromIntegral a7} in 
  let {a8' = id a8} in 
  let {a9' = fromIntegral a9} in 
  let {a10' = id a10} in 
  let {a11' = id a11} in 
  let {a12' = id a12} in 
  let {a13' = id a13} in 
  let {a14' = id a14} in 
  strsen'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' a12' a13' a14' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 639 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

ztrsen :: (Int) -> (CChar) -> (CChar) -> (Ptr CInt) -> (Int) -> (Ptr (Complex CDouble)) -> (Int) -> (Ptr (Complex CDouble)) -> (Int) -> (Ptr (Complex CDouble)) -> (Ptr CInt) -> (Ptr CDouble) -> (Ptr CDouble) -> IO ((Int))
ztrsen a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = castChar a3} in 
  let {a4' = id a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = castZomplexToPtr a6} in 
  let {a7' = fromIntegral a7} in 
  let {a8' = castZomplexToPtr a8} in 
  let {a9' = fromIntegral a9} in 
  let {a10' = castZomplexToPtr a10} in 
  let {a11' = id a11} in 
  let {a12' = id a12} in 
  let {a13' = id a13} in 
  ztrsen'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' a12' a13' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 640 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

cgtsv :: (Int) -> (Int) -> (Int) -> (Ptr (Complex CFloat)) -> (Ptr (Complex CFloat)) -> (Ptr (Complex CFloat)) -> (Ptr (Complex CFloat)) -> (Int) -> IO ((Int))
cgtsv a1 a2 a3 a4 a5 a6 a7 a8 =
  let {a1' = fromIntegral a1} in 
  let {a2' = fromIntegral a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = castComplexToPtr a4} in 
  let {a5' = castComplexToPtr a5} in 
  let {a6' = castComplexToPtr a6} in 
  let {a7' = castComplexToPtr a7} in 
  let {a8' = fromIntegral a8} in 
  cgtsv'_ a1' a2' a3' a4' a5' a6' a7' a8' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 641 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

dgtsv :: (Int) -> (Int) -> (Int) -> (Ptr CDouble) -> (Ptr CDouble) -> (Ptr CDouble) -> (Ptr CDouble) -> (Int) -> IO ((Int))
dgtsv a1 a2 a3 a4 a5 a6 a7 a8 =
  let {a1' = fromIntegral a1} in 
  let {a2' = fromIntegral a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = id a4} in 
  let {a5' = id a5} in 
  let {a6' = id a6} in 
  let {a7' = id a7} in 
  let {a8' = fromIntegral a8} in 
  dgtsv'_ a1' a2' a3' a4' a5' a6' a7' a8' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 642 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

sgtsv :: (Int) -> (Int) -> (Int) -> (Ptr CFloat) -> (Ptr CFloat) -> (Ptr CFloat) -> (Ptr CFloat) -> (Int) -> IO ((Int))
sgtsv a1 a2 a3 a4 a5 a6 a7 a8 =
  let {a1' = fromIntegral a1} in 
  let {a2' = fromIntegral a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = id a4} in 
  let {a5' = id a5} in 
  let {a6' = id a6} in 
  let {a7' = id a7} in 
  let {a8' = fromIntegral a8} in 
  sgtsv'_ a1' a2' a3' a4' a5' a6' a7' a8' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 643 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

zgtsv :: (Int) -> (Int) -> (Int) -> (Ptr (Complex CDouble)) -> (Ptr (Complex CDouble)) -> (Ptr (Complex CDouble)) -> (Ptr (Complex CDouble)) -> (Int) -> IO ((Int))
zgtsv a1 a2 a3 a4 a5 a6 a7 a8 =
  let {a1' = fromIntegral a1} in 
  let {a2' = fromIntegral a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = castZomplexToPtr a4} in 
  let {a5' = castZomplexToPtr a5} in 
  let {a6' = castZomplexToPtr a6} in 
  let {a7' = castZomplexToPtr a7} in 
  let {a8' = fromIntegral a8} in 
  zgtsv'_ a1' a2' a3' a4' a5' a6' a7' a8' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 644 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

cptsv :: (Int) -> (Int) -> (Int) -> (Ptr CFloat) -> (Ptr (Complex CFloat)) -> (Ptr (Complex CFloat)) -> (Int) -> IO ((Int))
cptsv a1 a2 a3 a4 a5 a6 a7 =
  let {a1' = fromIntegral a1} in 
  let {a2' = fromIntegral a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = id a4} in 
  let {a5' = castComplexToPtr a5} in 
  let {a6' = castComplexToPtr a6} in 
  let {a7' = fromIntegral a7} in 
  cptsv'_ a1' a2' a3' a4' a5' a6' a7' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 645 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

dptsv :: (Int) -> (Int) -> (Int) -> (Ptr CDouble) -> (Ptr CDouble) -> (Ptr CDouble) -> (Int) -> IO ((Int))
dptsv a1 a2 a3 a4 a5 a6 a7 =
  let {a1' = fromIntegral a1} in 
  let {a2' = fromIntegral a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = id a4} in 
  let {a5' = id a5} in 
  let {a6' = id a6} in 
  let {a7' = fromIntegral a7} in 
  dptsv'_ a1' a2' a3' a4' a5' a6' a7' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 646 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

sptsv :: (Int) -> (Int) -> (Int) -> (Ptr CFloat) -> (Ptr CFloat) -> (Ptr CFloat) -> (Int) -> IO ((Int))
sptsv a1 a2 a3 a4 a5 a6 a7 =
  let {a1' = fromIntegral a1} in 
  let {a2' = fromIntegral a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = id a4} in 
  let {a5' = id a5} in 
  let {a6' = id a6} in 
  let {a7' = fromIntegral a7} in 
  sptsv'_ a1' a2' a3' a4' a5' a6' a7' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 647 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

zptsv :: (Int) -> (Int) -> (Int) -> (Ptr CDouble) -> (Ptr (Complex CDouble)) -> (Ptr (Complex CDouble)) -> (Int) -> IO ((Int))
zptsv a1 a2 a3 a4 a5 a6 a7 =
  let {a1' = fromIntegral a1} in 
  let {a2' = fromIntegral a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = id a4} in 
  let {a5' = castZomplexToPtr a5} in 
  let {a6' = castZomplexToPtr a6} in 
  let {a7' = fromIntegral a7} in 
  zptsv'_ a1' a2' a3' a4' a5' a6' a7' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 648 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

cgtsvx :: (Int) -> (CChar) -> (CChar) -> (Int) -> (Int) -> (Ptr (Complex CFloat)) -> (Ptr (Complex CFloat)) -> (Ptr (Complex CFloat)) -> (Ptr (Complex CFloat)) -> (Ptr (Complex CFloat)) -> (Ptr (Complex CFloat)) -> (Ptr (Complex CFloat)) -> (Ptr CInt) -> (Ptr (Complex CFloat)) -> (Int) -> (Ptr (Complex CFloat)) -> (Int) -> (Ptr CFloat) -> (Ptr CFloat) -> (Ptr CFloat) -> IO ((Int))
cgtsvx a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 a15 a16 a17 a18 a19 a20 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = castChar a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = castComplexToPtr a6} in 
  let {a7' = castComplexToPtr a7} in 
  let {a8' = castComplexToPtr a8} in 
  let {a9' = castComplexToPtr a9} in 
  let {a10' = castComplexToPtr a10} in 
  let {a11' = castComplexToPtr a11} in 
  let {a12' = castComplexToPtr a12} in 
  let {a13' = id a13} in 
  let {a14' = castComplexToPtr a14} in 
  let {a15' = fromIntegral a15} in 
  let {a16' = castComplexToPtr a16} in 
  let {a17' = fromIntegral a17} in 
  let {a18' = id a18} in 
  let {a19' = id a19} in 
  let {a20' = id a20} in 
  cgtsvx'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' a12' a13' a14' a15' a16' a17' a18' a19' a20' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 649 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

dgtsvx :: (Int) -> (CChar) -> (CChar) -> (Int) -> (Int) -> (Ptr CDouble) -> (Ptr CDouble) -> (Ptr CDouble) -> (Ptr CDouble) -> (Ptr CDouble) -> (Ptr CDouble) -> (Ptr CDouble) -> (Ptr CInt) -> (Ptr CDouble) -> (Int) -> (Ptr CDouble) -> (Int) -> (Ptr CDouble) -> (Ptr CDouble) -> (Ptr CDouble) -> IO ((Int))
dgtsvx a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 a15 a16 a17 a18 a19 a20 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = castChar a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = id a6} in 
  let {a7' = id a7} in 
  let {a8' = id a8} in 
  let {a9' = id a9} in 
  let {a10' = id a10} in 
  let {a11' = id a11} in 
  let {a12' = id a12} in 
  let {a13' = id a13} in 
  let {a14' = id a14} in 
  let {a15' = fromIntegral a15} in 
  let {a16' = id a16} in 
  let {a17' = fromIntegral a17} in 
  let {a18' = id a18} in 
  let {a19' = id a19} in 
  let {a20' = id a20} in 
  dgtsvx'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' a12' a13' a14' a15' a16' a17' a18' a19' a20' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 650 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

sgtsvx :: (Int) -> (CChar) -> (CChar) -> (Int) -> (Int) -> (Ptr CFloat) -> (Ptr CFloat) -> (Ptr CFloat) -> (Ptr CFloat) -> (Ptr CFloat) -> (Ptr CFloat) -> (Ptr CFloat) -> (Ptr CInt) -> (Ptr CFloat) -> (Int) -> (Ptr CFloat) -> (Int) -> (Ptr CFloat) -> (Ptr CFloat) -> (Ptr CFloat) -> IO ((Int))
sgtsvx a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 a15 a16 a17 a18 a19 a20 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = castChar a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = id a6} in 
  let {a7' = id a7} in 
  let {a8' = id a8} in 
  let {a9' = id a9} in 
  let {a10' = id a10} in 
  let {a11' = id a11} in 
  let {a12' = id a12} in 
  let {a13' = id a13} in 
  let {a14' = id a14} in 
  let {a15' = fromIntegral a15} in 
  let {a16' = id a16} in 
  let {a17' = fromIntegral a17} in 
  let {a18' = id a18} in 
  let {a19' = id a19} in 
  let {a20' = id a20} in 
  sgtsvx'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' a12' a13' a14' a15' a16' a17' a18' a19' a20' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 651 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

zgtsvx :: (Int) -> (CChar) -> (CChar) -> (Int) -> (Int) -> (Ptr (Complex CDouble)) -> (Ptr (Complex CDouble)) -> (Ptr (Complex CDouble)) -> (Ptr (Complex CDouble)) -> (Ptr (Complex CDouble)) -> (Ptr (Complex CDouble)) -> (Ptr (Complex CDouble)) -> (Ptr CInt) -> (Ptr (Complex CDouble)) -> (Int) -> (Ptr (Complex CDouble)) -> (Int) -> (Ptr CDouble) -> (Ptr CDouble) -> (Ptr CDouble) -> IO ((Int))
zgtsvx a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 a15 a16 a17 a18 a19 a20 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = castChar a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = castZomplexToPtr a6} in 
  let {a7' = castZomplexToPtr a7} in 
  let {a8' = castZomplexToPtr a8} in 
  let {a9' = castZomplexToPtr a9} in 
  let {a10' = castZomplexToPtr a10} in 
  let {a11' = castZomplexToPtr a11} in 
  let {a12' = castZomplexToPtr a12} in 
  let {a13' = id a13} in 
  let {a14' = castZomplexToPtr a14} in 
  let {a15' = fromIntegral a15} in 
  let {a16' = castZomplexToPtr a16} in 
  let {a17' = fromIntegral a17} in 
  let {a18' = id a18} in 
  let {a19' = id a19} in 
  let {a20' = id a20} in 
  zgtsvx'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' a12' a13' a14' a15' a16' a17' a18' a19' a20' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 652 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

cptsvx :: (Int) -> (CChar) -> (Int) -> (Int) -> (Ptr CFloat) -> (Ptr (Complex CFloat)) -> (Ptr CFloat) -> (Ptr (Complex CFloat)) -> (Ptr (Complex CFloat)) -> (Int) -> (Ptr (Complex CFloat)) -> (Int) -> (Ptr CFloat) -> (Ptr CFloat) -> (Ptr CFloat) -> IO ((Int))
cptsvx a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 a15 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = id a5} in 
  let {a6' = castComplexToPtr a6} in 
  let {a7' = id a7} in 
  let {a8' = castComplexToPtr a8} in 
  let {a9' = castComplexToPtr a9} in 
  let {a10' = fromIntegral a10} in 
  let {a11' = castComplexToPtr a11} in 
  let {a12' = fromIntegral a12} in 
  let {a13' = id a13} in 
  let {a14' = id a14} in 
  let {a15' = id a15} in 
  cptsvx'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' a12' a13' a14' a15' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 653 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

dptsvx :: (Int) -> (CChar) -> (Int) -> (Int) -> (Ptr CDouble) -> (Ptr CDouble) -> (Ptr CDouble) -> (Ptr CDouble) -> (Ptr CDouble) -> (Int) -> (Ptr CDouble) -> (Int) -> (Ptr CDouble) -> (Ptr CDouble) -> (Ptr CDouble) -> IO ((Int))
dptsvx a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 a15 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = id a5} in 
  let {a6' = id a6} in 
  let {a7' = id a7} in 
  let {a8' = id a8} in 
  let {a9' = id a9} in 
  let {a10' = fromIntegral a10} in 
  let {a11' = id a11} in 
  let {a12' = fromIntegral a12} in 
  let {a13' = id a13} in 
  let {a14' = id a14} in 
  let {a15' = id a15} in 
  dptsvx'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' a12' a13' a14' a15' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 654 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

sptsvx :: (Int) -> (CChar) -> (Int) -> (Int) -> (Ptr CFloat) -> (Ptr CFloat) -> (Ptr CFloat) -> (Ptr CFloat) -> (Ptr CFloat) -> (Int) -> (Ptr CFloat) -> (Int) -> (Ptr CFloat) -> (Ptr CFloat) -> (Ptr CFloat) -> IO ((Int))
sptsvx a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 a15 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = id a5} in 
  let {a6' = id a6} in 
  let {a7' = id a7} in 
  let {a8' = id a8} in 
  let {a9' = id a9} in 
  let {a10' = fromIntegral a10} in 
  let {a11' = id a11} in 
  let {a12' = fromIntegral a12} in 
  let {a13' = id a13} in 
  let {a14' = id a14} in 
  let {a15' = id a15} in 
  sptsvx'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' a12' a13' a14' a15' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 655 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

zptsvx :: (Int) -> (CChar) -> (Int) -> (Int) -> (Ptr CDouble) -> (Ptr (Complex CDouble)) -> (Ptr CDouble) -> (Ptr (Complex CDouble)) -> (Ptr (Complex CDouble)) -> (Int) -> (Ptr (Complex CDouble)) -> (Int) -> (Ptr CDouble) -> (Ptr CDouble) -> (Ptr CDouble) -> IO ((Int))
zptsvx a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 a15 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = id a5} in 
  let {a6' = castZomplexToPtr a6} in 
  let {a7' = id a7} in 
  let {a8' = castZomplexToPtr a8} in 
  let {a9' = castZomplexToPtr a9} in 
  let {a10' = fromIntegral a10} in 
  let {a11' = castZomplexToPtr a11} in 
  let {a12' = fromIntegral a12} in 
  let {a13' = id a13} in 
  let {a14' = id a14} in 
  let {a15' = id a15} in 
  zptsvx'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' a12' a13' a14' a15' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 656 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

csysv :: (Int) -> (CChar) -> (Int) -> (Int) -> (Ptr (Complex CFloat)) -> (Int) -> (Ptr CInt) -> (Ptr (Complex CFloat)) -> (Int) -> IO ((Int))
csysv a1 a2 a3 a4 a5 a6 a7 a8 a9 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = castComplexToPtr a5} in 
  let {a6' = fromIntegral a6} in 
  let {a7' = id a7} in 
  let {a8' = castComplexToPtr a8} in 
  let {a9' = fromIntegral a9} in 
  csysv'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 657 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

dsysv :: (Int) -> (CChar) -> (Int) -> (Int) -> (Ptr CDouble) -> (Int) -> (Ptr CInt) -> (Ptr CDouble) -> (Int) -> IO ((Int))
dsysv a1 a2 a3 a4 a5 a6 a7 a8 a9 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = id a5} in 
  let {a6' = fromIntegral a6} in 
  let {a7' = id a7} in 
  let {a8' = id a8} in 
  let {a9' = fromIntegral a9} in 
  dsysv'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 658 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

ssysv :: (Int) -> (CChar) -> (Int) -> (Int) -> (Ptr CFloat) -> (Int) -> (Ptr CInt) -> (Ptr CFloat) -> (Int) -> IO ((Int))
ssysv a1 a2 a3 a4 a5 a6 a7 a8 a9 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = id a5} in 
  let {a6' = fromIntegral a6} in 
  let {a7' = id a7} in 
  let {a8' = id a8} in 
  let {a9' = fromIntegral a9} in 
  ssysv'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 659 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

zsysv :: (Int) -> (CChar) -> (Int) -> (Int) -> (Ptr (Complex CDouble)) -> (Int) -> (Ptr CInt) -> (Ptr (Complex CDouble)) -> (Int) -> IO ((Int))
zsysv a1 a2 a3 a4 a5 a6 a7 a8 a9 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = castZomplexToPtr a5} in 
  let {a6' = fromIntegral a6} in 
  let {a7' = id a7} in 
  let {a8' = castZomplexToPtr a8} in 
  let {a9' = fromIntegral a9} in 
  zsysv'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 660 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

csysvx :: (Int) -> (CChar) -> (CChar) -> (Int) -> (Int) -> (Ptr (Complex CFloat)) -> (Int) -> (Ptr (Complex CFloat)) -> (Int) -> (Ptr CInt) -> (Ptr (Complex CFloat)) -> (Int) -> (Ptr (Complex CFloat)) -> (Int) -> (Ptr CFloat) -> (Ptr CFloat) -> (Ptr CFloat) -> IO ((Int))
csysvx a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 a15 a16 a17 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = castChar a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = castComplexToPtr a6} in 
  let {a7' = fromIntegral a7} in 
  let {a8' = castComplexToPtr a8} in 
  let {a9' = fromIntegral a9} in 
  let {a10' = id a10} in 
  let {a11' = castComplexToPtr a11} in 
  let {a12' = fromIntegral a12} in 
  let {a13' = castComplexToPtr a13} in 
  let {a14' = fromIntegral a14} in 
  let {a15' = id a15} in 
  let {a16' = id a16} in 
  let {a17' = id a17} in 
  csysvx'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' a12' a13' a14' a15' a16' a17' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 661 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

dsysvx :: (Int) -> (CChar) -> (CChar) -> (Int) -> (Int) -> (Ptr CDouble) -> (Int) -> (Ptr CDouble) -> (Int) -> (Ptr CInt) -> (Ptr CDouble) -> (Int) -> (Ptr CDouble) -> (Int) -> (Ptr CDouble) -> (Ptr CDouble) -> (Ptr CDouble) -> IO ((Int))
dsysvx a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 a15 a16 a17 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = castChar a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = id a6} in 
  let {a7' = fromIntegral a7} in 
  let {a8' = id a8} in 
  let {a9' = fromIntegral a9} in 
  let {a10' = id a10} in 
  let {a11' = id a11} in 
  let {a12' = fromIntegral a12} in 
  let {a13' = id a13} in 
  let {a14' = fromIntegral a14} in 
  let {a15' = id a15} in 
  let {a16' = id a16} in 
  let {a17' = id a17} in 
  dsysvx'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' a12' a13' a14' a15' a16' a17' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 662 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

ssysvx :: (Int) -> (CChar) -> (CChar) -> (Int) -> (Int) -> (Ptr CFloat) -> (Int) -> (Ptr CFloat) -> (Int) -> (Ptr CInt) -> (Ptr CFloat) -> (Int) -> (Ptr CFloat) -> (Int) -> (Ptr CFloat) -> (Ptr CFloat) -> (Ptr CFloat) -> IO ((Int))
ssysvx a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 a15 a16 a17 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = castChar a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = id a6} in 
  let {a7' = fromIntegral a7} in 
  let {a8' = id a8} in 
  let {a9' = fromIntegral a9} in 
  let {a10' = id a10} in 
  let {a11' = id a11} in 
  let {a12' = fromIntegral a12} in 
  let {a13' = id a13} in 
  let {a14' = fromIntegral a14} in 
  let {a15' = id a15} in 
  let {a16' = id a16} in 
  let {a17' = id a17} in 
  ssysvx'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' a12' a13' a14' a15' a16' a17' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 663 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

zsysvx :: (Int) -> (CChar) -> (CChar) -> (Int) -> (Int) -> (Ptr (Complex CDouble)) -> (Int) -> (Ptr (Complex CDouble)) -> (Int) -> (Ptr CInt) -> (Ptr (Complex CDouble)) -> (Int) -> (Ptr (Complex CDouble)) -> (Int) -> (Ptr CDouble) -> (Ptr CDouble) -> (Ptr CDouble) -> IO ((Int))
zsysvx a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 a15 a16 a17 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = castChar a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = castZomplexToPtr a6} in 
  let {a7' = fromIntegral a7} in 
  let {a8' = castZomplexToPtr a8} in 
  let {a9' = fromIntegral a9} in 
  let {a10' = id a10} in 
  let {a11' = castZomplexToPtr a11} in 
  let {a12' = fromIntegral a12} in 
  let {a13' = castZomplexToPtr a13} in 
  let {a14' = fromIntegral a14} in 
  let {a15' = id a15} in 
  let {a16' = id a16} in 
  let {a17' = id a17} in 
  zsysvx'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' a12' a13' a14' a15' a16' a17' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 664 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

chbtrd :: (Int) -> (CChar) -> (CChar) -> (Int) -> (Int) -> (Ptr (Complex CFloat)) -> (Int) -> (Ptr CFloat) -> (Ptr CFloat) -> (Ptr (Complex CFloat)) -> (Int) -> IO ((Int))
chbtrd a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = castChar a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = castComplexToPtr a6} in 
  let {a7' = fromIntegral a7} in 
  let {a8' = id a8} in 
  let {a9' = id a9} in 
  let {a10' = castComplexToPtr a10} in 
  let {a11' = fromIntegral a11} in 
  chbtrd'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 665 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

zhbtrd :: (Int) -> (CChar) -> (CChar) -> (Int) -> (Int) -> (Ptr (Complex CDouble)) -> (Int) -> (Ptr CDouble) -> (Ptr CDouble) -> (Ptr (Complex CDouble)) -> (Int) -> IO ((Int))
zhbtrd a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = castChar a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = castZomplexToPtr a6} in 
  let {a7' = fromIntegral a7} in 
  let {a8' = id a8} in 
  let {a9' = id a9} in 
  let {a10' = castZomplexToPtr a10} in 
  let {a11' = fromIntegral a11} in 
  zhbtrd'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 666 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

cgbtrf :: (Int) -> (Int) -> (Int) -> (Int) -> (Int) -> (Ptr (Complex CFloat)) -> (Int) -> (Ptr CInt) -> IO ((Int))
cgbtrf a1 a2 a3 a4 a5 a6 a7 a8 =
  let {a1' = fromIntegral a1} in 
  let {a2' = fromIntegral a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = castComplexToPtr a6} in 
  let {a7' = fromIntegral a7} in 
  let {a8' = id a8} in 
  cgbtrf'_ a1' a2' a3' a4' a5' a6' a7' a8' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 667 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

dgbtrf :: (Int) -> (Int) -> (Int) -> (Int) -> (Int) -> (Ptr CDouble) -> (Int) -> (Ptr CInt) -> IO ((Int))
dgbtrf a1 a2 a3 a4 a5 a6 a7 a8 =
  let {a1' = fromIntegral a1} in 
  let {a2' = fromIntegral a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = id a6} in 
  let {a7' = fromIntegral a7} in 
  let {a8' = id a8} in 
  dgbtrf'_ a1' a2' a3' a4' a5' a6' a7' a8' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 668 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

sgbtrf :: (Int) -> (Int) -> (Int) -> (Int) -> (Int) -> (Ptr CFloat) -> (Int) -> (Ptr CInt) -> IO ((Int))
sgbtrf a1 a2 a3 a4 a5 a6 a7 a8 =
  let {a1' = fromIntegral a1} in 
  let {a2' = fromIntegral a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = id a6} in 
  let {a7' = fromIntegral a7} in 
  let {a8' = id a8} in 
  sgbtrf'_ a1' a2' a3' a4' a5' a6' a7' a8' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 669 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

zgbtrf :: (Int) -> (Int) -> (Int) -> (Int) -> (Int) -> (Ptr (Complex CDouble)) -> (Int) -> (Ptr CInt) -> IO ((Int))
zgbtrf a1 a2 a3 a4 a5 a6 a7 a8 =
  let {a1' = fromIntegral a1} in 
  let {a2' = fromIntegral a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = castZomplexToPtr a6} in 
  let {a7' = fromIntegral a7} in 
  let {a8' = id a8} in 
  zgbtrf'_ a1' a2' a3' a4' a5' a6' a7' a8' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 670 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

cpbtrf :: (Int) -> (CChar) -> (Int) -> (Int) -> (Ptr (Complex CFloat)) -> (Int) -> IO ((Int))
cpbtrf a1 a2 a3 a4 a5 a6 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = castComplexToPtr a5} in 
  let {a6' = fromIntegral a6} in 
  cpbtrf'_ a1' a2' a3' a4' a5' a6' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 671 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

dpbtrf :: (Int) -> (CChar) -> (Int) -> (Int) -> (Ptr CDouble) -> (Int) -> IO ((Int))
dpbtrf a1 a2 a3 a4 a5 a6 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = id a5} in 
  let {a6' = fromIntegral a6} in 
  dpbtrf'_ a1' a2' a3' a4' a5' a6' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 672 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

spbtrf :: (Int) -> (CChar) -> (Int) -> (Int) -> (Ptr CFloat) -> (Int) -> IO ((Int))
spbtrf a1 a2 a3 a4 a5 a6 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = id a5} in 
  let {a6' = fromIntegral a6} in 
  spbtrf'_ a1' a2' a3' a4' a5' a6' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 673 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

zpbtrf :: (Int) -> (CChar) -> (Int) -> (Int) -> (Ptr (Complex CDouble)) -> (Int) -> IO ((Int))
zpbtrf a1 a2 a3 a4 a5 a6 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = castZomplexToPtr a5} in 
  let {a6' = fromIntegral a6} in 
  zpbtrf'_ a1' a2' a3' a4' a5' a6' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 674 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

dsbtrd :: (Int) -> (CChar) -> (CChar) -> (Int) -> (Int) -> (Ptr CDouble) -> (Int) -> (Ptr CDouble) -> (Ptr CDouble) -> (Ptr CDouble) -> (Int) -> IO ((Int))
dsbtrd a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = castChar a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = id a6} in 
  let {a7' = fromIntegral a7} in 
  let {a8' = id a8} in 
  let {a9' = id a9} in 
  let {a10' = id a10} in 
  let {a11' = fromIntegral a11} in 
  dsbtrd'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 675 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

ssbtrd :: (Int) -> (CChar) -> (CChar) -> (Int) -> (Int) -> (Ptr CFloat) -> (Int) -> (Ptr CFloat) -> (Ptr CFloat) -> (Ptr CFloat) -> (Int) -> IO ((Int))
ssbtrd a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = castChar a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = id a6} in 
  let {a7' = fromIntegral a7} in 
  let {a8' = id a8} in 
  let {a9' = id a9} in 
  let {a10' = id a10} in 
  let {a11' = fromIntegral a11} in 
  ssbtrd'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 676 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

cgbtrs :: (Int) -> (CChar) -> (Int) -> (Int) -> (Int) -> (Int) -> (Ptr (Complex CFloat)) -> (Int) -> (Ptr CInt) -> (Ptr (Complex CFloat)) -> (Int) -> IO ((Int))
cgbtrs a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = fromIntegral a6} in 
  let {a7' = castComplexToPtr a7} in 
  let {a8' = fromIntegral a8} in 
  let {a9' = id a9} in 
  let {a10' = castComplexToPtr a10} in 
  let {a11' = fromIntegral a11} in 
  cgbtrs'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 677 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

dgbtrs :: (Int) -> (CChar) -> (Int) -> (Int) -> (Int) -> (Int) -> (Ptr CDouble) -> (Int) -> (Ptr CInt) -> (Ptr CDouble) -> (Int) -> IO ((Int))
dgbtrs a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = fromIntegral a6} in 
  let {a7' = id a7} in 
  let {a8' = fromIntegral a8} in 
  let {a9' = id a9} in 
  let {a10' = id a10} in 
  let {a11' = fromIntegral a11} in 
  dgbtrs'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 678 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

sgbtrs :: (Int) -> (CChar) -> (Int) -> (Int) -> (Int) -> (Int) -> (Ptr CFloat) -> (Int) -> (Ptr CInt) -> (Ptr CFloat) -> (Int) -> IO ((Int))
sgbtrs a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = fromIntegral a6} in 
  let {a7' = id a7} in 
  let {a8' = fromIntegral a8} in 
  let {a9' = id a9} in 
  let {a10' = id a10} in 
  let {a11' = fromIntegral a11} in 
  sgbtrs'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 679 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

zgbtrs :: (Int) -> (CChar) -> (Int) -> (Int) -> (Int) -> (Int) -> (Ptr (Complex CDouble)) -> (Int) -> (Ptr CInt) -> (Ptr (Complex CDouble)) -> (Int) -> IO ((Int))
zgbtrs a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = fromIntegral a6} in 
  let {a7' = castZomplexToPtr a7} in 
  let {a8' = fromIntegral a8} in 
  let {a9' = id a9} in 
  let {a10' = castZomplexToPtr a10} in 
  let {a11' = fromIntegral a11} in 
  zgbtrs'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 680 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

cpbtrs :: (Int) -> (CChar) -> (Int) -> (Int) -> (Int) -> (Ptr (Complex CFloat)) -> (Int) -> (Ptr (Complex CFloat)) -> (Int) -> IO ((Int))
cpbtrs a1 a2 a3 a4 a5 a6 a7 a8 a9 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = castComplexToPtr a6} in 
  let {a7' = fromIntegral a7} in 
  let {a8' = castComplexToPtr a8} in 
  let {a9' = fromIntegral a9} in 
  cpbtrs'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 681 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

dpbtrs :: (Int) -> (CChar) -> (Int) -> (Int) -> (Int) -> (Ptr CDouble) -> (Int) -> (Ptr CDouble) -> (Int) -> IO ((Int))
dpbtrs a1 a2 a3 a4 a5 a6 a7 a8 a9 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = id a6} in 
  let {a7' = fromIntegral a7} in 
  let {a8' = id a8} in 
  let {a9' = fromIntegral a9} in 
  dpbtrs'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 682 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

spbtrs :: (Int) -> (CChar) -> (Int) -> (Int) -> (Int) -> (Ptr CFloat) -> (Int) -> (Ptr CFloat) -> (Int) -> IO ((Int))
spbtrs a1 a2 a3 a4 a5 a6 a7 a8 a9 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = id a6} in 
  let {a7' = fromIntegral a7} in 
  let {a8' = id a8} in 
  let {a9' = fromIntegral a9} in 
  spbtrs'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 683 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

zpbtrs :: (Int) -> (CChar) -> (Int) -> (Int) -> (Int) -> (Ptr (Complex CDouble)) -> (Int) -> (Ptr (Complex CDouble)) -> (Int) -> IO ((Int))
zpbtrs a1 a2 a3 a4 a5 a6 a7 a8 a9 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = castZomplexToPtr a6} in 
  let {a7' = fromIntegral a7} in 
  let {a8' = castZomplexToPtr a8} in 
  let {a9' = fromIntegral a9} in 
  zpbtrs'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 684 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

ctbtrs :: (Int) -> (CChar) -> (CChar) -> (CChar) -> (Int) -> (Int) -> (Int) -> (Ptr (Complex CFloat)) -> (Int) -> (Ptr (Complex CFloat)) -> (Int) -> IO ((Int))
ctbtrs a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = castChar a3} in 
  let {a4' = castChar a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = fromIntegral a6} in 
  let {a7' = fromIntegral a7} in 
  let {a8' = castComplexToPtr a8} in 
  let {a9' = fromIntegral a9} in 
  let {a10' = castComplexToPtr a10} in 
  let {a11' = fromIntegral a11} in 
  ctbtrs'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 685 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

dtbtrs :: (Int) -> (CChar) -> (CChar) -> (CChar) -> (Int) -> (Int) -> (Int) -> (Ptr CDouble) -> (Int) -> (Ptr CDouble) -> (Int) -> IO ((Int))
dtbtrs a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = castChar a3} in 
  let {a4' = castChar a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = fromIntegral a6} in 
  let {a7' = fromIntegral a7} in 
  let {a8' = id a8} in 
  let {a9' = fromIntegral a9} in 
  let {a10' = id a10} in 
  let {a11' = fromIntegral a11} in 
  dtbtrs'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 686 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

stbtrs :: (Int) -> (CChar) -> (CChar) -> (CChar) -> (Int) -> (Int) -> (Int) -> (Ptr CFloat) -> (Int) -> (Ptr CFloat) -> (Int) -> IO ((Int))
stbtrs a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = castChar a3} in 
  let {a4' = castChar a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = fromIntegral a6} in 
  let {a7' = fromIntegral a7} in 
  let {a8' = id a8} in 
  let {a9' = fromIntegral a9} in 
  let {a10' = id a10} in 
  let {a11' = fromIntegral a11} in 
  stbtrs'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 687 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

ztbtrs :: (Int) -> (CChar) -> (CChar) -> (CChar) -> (Int) -> (Int) -> (Int) -> (Ptr (Complex CDouble)) -> (Int) -> (Ptr (Complex CDouble)) -> (Int) -> IO ((Int))
ztbtrs a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = castChar a3} in 
  let {a4' = castChar a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = fromIntegral a6} in 
  let {a7' = fromIntegral a7} in 
  let {a8' = castZomplexToPtr a8} in 
  let {a9' = fromIntegral a9} in 
  let {a10' = castZomplexToPtr a10} in 
  let {a11' = fromIntegral a11} in 
  ztbtrs'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 688 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

chetrd :: (Int) -> (CChar) -> (Int) -> (Ptr (Complex CFloat)) -> (Int) -> (Ptr CFloat) -> (Ptr CFloat) -> (Ptr (Complex CFloat)) -> IO ((Int))
chetrd a1 a2 a3 a4 a5 a6 a7 a8 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = castComplexToPtr a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = id a6} in 
  let {a7' = id a7} in 
  let {a8' = castComplexToPtr a8} in 
  chetrd'_ a1' a2' a3' a4' a5' a6' a7' a8' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 689 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

zhetrd :: (Int) -> (CChar) -> (Int) -> (Ptr (Complex CDouble)) -> (Int) -> (Ptr CDouble) -> (Ptr CDouble) -> (Ptr (Complex CDouble)) -> IO ((Int))
zhetrd a1 a2 a3 a4 a5 a6 a7 a8 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = castZomplexToPtr a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = id a6} in 
  let {a7' = id a7} in 
  let {a8' = castZomplexToPtr a8} in 
  zhetrd'_ a1' a2' a3' a4' a5' a6' a7' a8' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 690 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

cgetrf :: (Int) -> (Int) -> (Int) -> (Ptr (Complex CFloat)) -> (Int) -> (Ptr CInt) -> IO ((Int))
cgetrf a1 a2 a3 a4 a5 a6 =
  let {a1' = fromIntegral a1} in 
  let {a2' = fromIntegral a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = castComplexToPtr a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = id a6} in 
  cgetrf'_ a1' a2' a3' a4' a5' a6' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 691 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

dgetrf :: (Int) -> (Int) -> (Int) -> (Ptr CDouble) -> (Int) -> (Ptr CInt) -> IO ((Int))
dgetrf a1 a2 a3 a4 a5 a6 =
  let {a1' = fromIntegral a1} in 
  let {a2' = fromIntegral a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = id a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = id a6} in 
  dgetrf'_ a1' a2' a3' a4' a5' a6' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 692 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

sgetrf :: (Int) -> (Int) -> (Int) -> (Ptr CFloat) -> (Int) -> (Ptr CInt) -> IO ((Int))
sgetrf a1 a2 a3 a4 a5 a6 =
  let {a1' = fromIntegral a1} in 
  let {a2' = fromIntegral a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = id a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = id a6} in 
  sgetrf'_ a1' a2' a3' a4' a5' a6' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 693 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

zgetrf :: (Int) -> (Int) -> (Int) -> (Ptr (Complex CDouble)) -> (Int) -> (Ptr CInt) -> IO ((Int))
zgetrf a1 a2 a3 a4 a5 a6 =
  let {a1' = fromIntegral a1} in 
  let {a2' = fromIntegral a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = castZomplexToPtr a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = id a6} in 
  zgetrf'_ a1' a2' a3' a4' a5' a6' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 694 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

chetrf :: (Int) -> (CChar) -> (Int) -> (Ptr (Complex CFloat)) -> (Int) -> (Ptr CInt) -> IO ((Int))
chetrf a1 a2 a3 a4 a5 a6 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = castComplexToPtr a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = id a6} in 
  chetrf'_ a1' a2' a3' a4' a5' a6' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 695 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

zhetrf :: (Int) -> (CChar) -> (Int) -> (Ptr (Complex CDouble)) -> (Int) -> (Ptr CInt) -> IO ((Int))
zhetrf a1 a2 a3 a4 a5 a6 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = castZomplexToPtr a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = id a6} in 
  zhetrf'_ a1' a2' a3' a4' a5' a6' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 696 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

cgetri :: (Int) -> (Int) -> (Ptr (Complex CFloat)) -> (Int) -> (Ptr CInt) -> IO ((Int))
cgetri a1 a2 a3 a4 a5 =
  let {a1' = fromIntegral a1} in 
  let {a2' = fromIntegral a2} in 
  let {a3' = castComplexToPtr a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = id a5} in 
  cgetri'_ a1' a2' a3' a4' a5' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 697 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

dgetri :: (Int) -> (Int) -> (Ptr CDouble) -> (Int) -> (Ptr CInt) -> IO ((Int))
dgetri a1 a2 a3 a4 a5 =
  let {a1' = fromIntegral a1} in 
  let {a2' = fromIntegral a2} in 
  let {a3' = id a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = id a5} in 
  dgetri'_ a1' a2' a3' a4' a5' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 698 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

sgetri :: (Int) -> (Int) -> (Ptr CFloat) -> (Int) -> (Ptr CInt) -> IO ((Int))
sgetri a1 a2 a3 a4 a5 =
  let {a1' = fromIntegral a1} in 
  let {a2' = fromIntegral a2} in 
  let {a3' = id a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = id a5} in 
  sgetri'_ a1' a2' a3' a4' a5' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 699 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

zgetri :: (Int) -> (Int) -> (Ptr (Complex CDouble)) -> (Int) -> (Ptr CInt) -> IO ((Int))
zgetri a1 a2 a3 a4 a5 =
  let {a1' = fromIntegral a1} in 
  let {a2' = fromIntegral a2} in 
  let {a3' = castZomplexToPtr a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = id a5} in 
  zgetri'_ a1' a2' a3' a4' a5' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 700 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

chetri :: (Int) -> (CChar) -> (Int) -> (Ptr (Complex CFloat)) -> (Int) -> (Ptr CInt) -> IO ((Int))
chetri a1 a2 a3 a4 a5 a6 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = castComplexToPtr a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = id a6} in 
  chetri'_ a1' a2' a3' a4' a5' a6' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 701 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

zhetri :: (Int) -> (CChar) -> (Int) -> (Ptr (Complex CDouble)) -> (Int) -> (Ptr CInt) -> IO ((Int))
zhetri a1 a2 a3 a4 a5 a6 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = castZomplexToPtr a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = id a6} in 
  zhetri'_ a1' a2' a3' a4' a5' a6' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 702 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

cgetrs :: (Int) -> (CChar) -> (Int) -> (Int) -> (Ptr (Complex CFloat)) -> (Int) -> (Ptr CInt) -> (Ptr (Complex CFloat)) -> (Int) -> IO ((Int))
cgetrs a1 a2 a3 a4 a5 a6 a7 a8 a9 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = castComplexToPtr a5} in 
  let {a6' = fromIntegral a6} in 
  let {a7' = id a7} in 
  let {a8' = castComplexToPtr a8} in 
  let {a9' = fromIntegral a9} in 
  cgetrs'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 703 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

dgetrs :: (Int) -> (CChar) -> (Int) -> (Int) -> (Ptr CDouble) -> (Int) -> (Ptr CInt) -> (Ptr CDouble) -> (Int) -> IO ((Int))
dgetrs a1 a2 a3 a4 a5 a6 a7 a8 a9 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = id a5} in 
  let {a6' = fromIntegral a6} in 
  let {a7' = id a7} in 
  let {a8' = id a8} in 
  let {a9' = fromIntegral a9} in 
  dgetrs'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 704 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

sgetrs :: (Int) -> (CChar) -> (Int) -> (Int) -> (Ptr CFloat) -> (Int) -> (Ptr CInt) -> (Ptr CFloat) -> (Int) -> IO ((Int))
sgetrs a1 a2 a3 a4 a5 a6 a7 a8 a9 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = id a5} in 
  let {a6' = fromIntegral a6} in 
  let {a7' = id a7} in 
  let {a8' = id a8} in 
  let {a9' = fromIntegral a9} in 
  sgetrs'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 705 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

zgetrs :: (Int) -> (CChar) -> (Int) -> (Int) -> (Ptr (Complex CDouble)) -> (Int) -> (Ptr CInt) -> (Ptr (Complex CDouble)) -> (Int) -> IO ((Int))
zgetrs a1 a2 a3 a4 a5 a6 a7 a8 a9 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = castZomplexToPtr a5} in 
  let {a6' = fromIntegral a6} in 
  let {a7' = id a7} in 
  let {a8' = castZomplexToPtr a8} in 
  let {a9' = fromIntegral a9} in 
  zgetrs'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 706 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

chetrs :: (Int) -> (CChar) -> (Int) -> (Int) -> (Ptr (Complex CFloat)) -> (Int) -> (Ptr CInt) -> (Ptr (Complex CFloat)) -> (Int) -> IO ((Int))
chetrs a1 a2 a3 a4 a5 a6 a7 a8 a9 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = castComplexToPtr a5} in 
  let {a6' = fromIntegral a6} in 
  let {a7' = id a7} in 
  let {a8' = castComplexToPtr a8} in 
  let {a9' = fromIntegral a9} in 
  chetrs'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 707 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

zhetrs :: (Int) -> (CChar) -> (Int) -> (Int) -> (Ptr (Complex CDouble)) -> (Int) -> (Ptr CInt) -> (Ptr (Complex CDouble)) -> (Int) -> IO ((Int))
zhetrs a1 a2 a3 a4 a5 a6 a7 a8 a9 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = castZomplexToPtr a5} in 
  let {a6' = fromIntegral a6} in 
  let {a7' = id a7} in 
  let {a8' = castZomplexToPtr a8} in 
  let {a9' = fromIntegral a9} in 
  zhetrs'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 708 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

cpftrf :: (Int) -> (CChar) -> (CChar) -> (Int) -> (Ptr (Complex CFloat)) -> IO ((Int))
cpftrf a1 a2 a3 a4 a5 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = castChar a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = castComplexToPtr a5} in 
  cpftrf'_ a1' a2' a3' a4' a5' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 709 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

dpftrf :: (Int) -> (CChar) -> (CChar) -> (Int) -> (Ptr CDouble) -> IO ((Int))
dpftrf a1 a2 a3 a4 a5 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = castChar a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = id a5} in 
  dpftrf'_ a1' a2' a3' a4' a5' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 710 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

spftrf :: (Int) -> (CChar) -> (CChar) -> (Int) -> (Ptr CFloat) -> IO ((Int))
spftrf a1 a2 a3 a4 a5 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = castChar a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = id a5} in 
  spftrf'_ a1' a2' a3' a4' a5' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 711 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

zpftrf :: (Int) -> (CChar) -> (CChar) -> (Int) -> (Ptr (Complex CDouble)) -> IO ((Int))
zpftrf a1 a2 a3 a4 a5 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = castChar a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = castZomplexToPtr a5} in 
  zpftrf'_ a1' a2' a3' a4' a5' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 712 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

cpftri :: (Int) -> (CChar) -> (CChar) -> (Int) -> (Ptr (Complex CFloat)) -> IO ((Int))
cpftri a1 a2 a3 a4 a5 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = castChar a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = castComplexToPtr a5} in 
  cpftri'_ a1' a2' a3' a4' a5' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 713 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

dpftri :: (Int) -> (CChar) -> (CChar) -> (Int) -> (Ptr CDouble) -> IO ((Int))
dpftri a1 a2 a3 a4 a5 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = castChar a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = id a5} in 
  dpftri'_ a1' a2' a3' a4' a5' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 714 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

spftri :: (Int) -> (CChar) -> (CChar) -> (Int) -> (Ptr CFloat) -> IO ((Int))
spftri a1 a2 a3 a4 a5 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = castChar a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = id a5} in 
  spftri'_ a1' a2' a3' a4' a5' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 715 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

zpftri :: (Int) -> (CChar) -> (CChar) -> (Int) -> (Ptr (Complex CDouble)) -> IO ((Int))
zpftri a1 a2 a3 a4 a5 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = castChar a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = castZomplexToPtr a5} in 
  zpftri'_ a1' a2' a3' a4' a5' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 716 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

ctftri :: (Int) -> (CChar) -> (CChar) -> (CChar) -> (Int) -> (Ptr (Complex CFloat)) -> IO ((Int))
ctftri a1 a2 a3 a4 a5 a6 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = castChar a3} in 
  let {a4' = castChar a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = castComplexToPtr a6} in 
  ctftri'_ a1' a2' a3' a4' a5' a6' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 717 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

dtftri :: (Int) -> (CChar) -> (CChar) -> (CChar) -> (Int) -> (Ptr CDouble) -> IO ((Int))
dtftri a1 a2 a3 a4 a5 a6 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = castChar a3} in 
  let {a4' = castChar a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = id a6} in 
  dtftri'_ a1' a2' a3' a4' a5' a6' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 718 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

stftri :: (Int) -> (CChar) -> (CChar) -> (CChar) -> (Int) -> (Ptr CFloat) -> IO ((Int))
stftri a1 a2 a3 a4 a5 a6 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = castChar a3} in 
  let {a4' = castChar a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = id a6} in 
  stftri'_ a1' a2' a3' a4' a5' a6' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 719 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

ztftri :: (Int) -> (CChar) -> (CChar) -> (CChar) -> (Int) -> (Ptr (Complex CDouble)) -> IO ((Int))
ztftri a1 a2 a3 a4 a5 a6 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = castChar a3} in 
  let {a4' = castChar a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = castZomplexToPtr a6} in 
  ztftri'_ a1' a2' a3' a4' a5' a6' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 720 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

cpftrs :: (Int) -> (CChar) -> (CChar) -> (Int) -> (Int) -> (Ptr (Complex CFloat)) -> (Ptr (Complex CFloat)) -> (Int) -> IO ((Int))
cpftrs a1 a2 a3 a4 a5 a6 a7 a8 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = castChar a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = castComplexToPtr a6} in 
  let {a7' = castComplexToPtr a7} in 
  let {a8' = fromIntegral a8} in 
  cpftrs'_ a1' a2' a3' a4' a5' a6' a7' a8' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 721 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

dpftrs :: (Int) -> (CChar) -> (CChar) -> (Int) -> (Int) -> (Ptr CDouble) -> (Ptr CDouble) -> (Int) -> IO ((Int))
dpftrs a1 a2 a3 a4 a5 a6 a7 a8 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = castChar a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = id a6} in 
  let {a7' = id a7} in 
  let {a8' = fromIntegral a8} in 
  dpftrs'_ a1' a2' a3' a4' a5' a6' a7' a8' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 722 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

spftrs :: (Int) -> (CChar) -> (CChar) -> (Int) -> (Int) -> (Ptr CFloat) -> (Ptr CFloat) -> (Int) -> IO ((Int))
spftrs a1 a2 a3 a4 a5 a6 a7 a8 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = castChar a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = id a6} in 
  let {a7' = id a7} in 
  let {a8' = fromIntegral a8} in 
  spftrs'_ a1' a2' a3' a4' a5' a6' a7' a8' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 723 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

zpftrs :: (Int) -> (CChar) -> (CChar) -> (Int) -> (Int) -> (Ptr (Complex CDouble)) -> (Ptr (Complex CDouble)) -> (Int) -> IO ((Int))
zpftrs a1 a2 a3 a4 a5 a6 a7 a8 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = castChar a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = castZomplexToPtr a6} in 
  let {a7' = castZomplexToPtr a7} in 
  let {a8' = fromIntegral a8} in 
  zpftrs'_ a1' a2' a3' a4' a5' a6' a7' a8' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 724 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

ctfttp :: (Int) -> (CChar) -> (CChar) -> (Int) -> (Ptr (Complex CFloat)) -> (Ptr (Complex CFloat)) -> IO ((Int))
ctfttp a1 a2 a3 a4 a5 a6 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = castChar a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = castComplexToPtr a5} in 
  let {a6' = castComplexToPtr a6} in 
  ctfttp'_ a1' a2' a3' a4' a5' a6' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 725 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

dtfttp :: (Int) -> (CChar) -> (CChar) -> (Int) -> (Ptr CDouble) -> (Ptr CDouble) -> IO ((Int))
dtfttp a1 a2 a3 a4 a5 a6 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = castChar a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = id a5} in 
  let {a6' = id a6} in 
  dtfttp'_ a1' a2' a3' a4' a5' a6' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 726 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

stfttp :: (Int) -> (CChar) -> (CChar) -> (Int) -> (Ptr CFloat) -> (Ptr CFloat) -> IO ((Int))
stfttp a1 a2 a3 a4 a5 a6 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = castChar a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = id a5} in 
  let {a6' = id a6} in 
  stfttp'_ a1' a2' a3' a4' a5' a6' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 727 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

ztfttp :: (Int) -> (CChar) -> (CChar) -> (Int) -> (Ptr (Complex CDouble)) -> (Ptr (Complex CDouble)) -> IO ((Int))
ztfttp a1 a2 a3 a4 a5 a6 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = castChar a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = castZomplexToPtr a5} in 
  let {a6' = castZomplexToPtr a6} in 
  ztfttp'_ a1' a2' a3' a4' a5' a6' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 728 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

ctfttr :: (Int) -> (CChar) -> (CChar) -> (Int) -> (Ptr (Complex CFloat)) -> (Ptr (Complex CFloat)) -> (Int) -> IO ((Int))
ctfttr a1 a2 a3 a4 a5 a6 a7 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = castChar a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = castComplexToPtr a5} in 
  let {a6' = castComplexToPtr a6} in 
  let {a7' = fromIntegral a7} in 
  ctfttr'_ a1' a2' a3' a4' a5' a6' a7' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 729 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

dtfttr :: (Int) -> (CChar) -> (CChar) -> (Int) -> (Ptr CDouble) -> (Ptr CDouble) -> (Int) -> IO ((Int))
dtfttr a1 a2 a3 a4 a5 a6 a7 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = castChar a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = id a5} in 
  let {a6' = id a6} in 
  let {a7' = fromIntegral a7} in 
  dtfttr'_ a1' a2' a3' a4' a5' a6' a7' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 730 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

stfttr :: (Int) -> (CChar) -> (CChar) -> (Int) -> (Ptr CFloat) -> (Ptr CFloat) -> (Int) -> IO ((Int))
stfttr a1 a2 a3 a4 a5 a6 a7 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = castChar a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = id a5} in 
  let {a6' = id a6} in 
  let {a7' = fromIntegral a7} in 
  stfttr'_ a1' a2' a3' a4' a5' a6' a7' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 731 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

ztfttr :: (Int) -> (CChar) -> (CChar) -> (Int) -> (Ptr (Complex CDouble)) -> (Ptr (Complex CDouble)) -> (Int) -> IO ((Int))
ztfttr a1 a2 a3 a4 a5 a6 a7 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = castChar a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = castZomplexToPtr a5} in 
  let {a6' = castZomplexToPtr a6} in 
  let {a7' = fromIntegral a7} in 
  ztfttr'_ a1' a2' a3' a4' a5' a6' a7' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 732 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

cpotrf :: (Int) -> (CChar) -> (Int) -> (Ptr (Complex CFloat)) -> (Int) -> IO ((Int))
cpotrf a1 a2 a3 a4 a5 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = castComplexToPtr a4} in 
  let {a5' = fromIntegral a5} in 
  cpotrf'_ a1' a2' a3' a4' a5' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 733 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

dpotrf :: (Int) -> (CChar) -> (Int) -> (Ptr CDouble) -> (Int) -> IO ((Int))
dpotrf a1 a2 a3 a4 a5 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = id a4} in 
  let {a5' = fromIntegral a5} in 
  dpotrf'_ a1' a2' a3' a4' a5' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 734 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

spotrf :: (Int) -> (CChar) -> (Int) -> (Ptr CFloat) -> (Int) -> IO ((Int))
spotrf a1 a2 a3 a4 a5 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = id a4} in 
  let {a5' = fromIntegral a5} in 
  spotrf'_ a1' a2' a3' a4' a5' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 735 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

zpotrf :: (Int) -> (CChar) -> (Int) -> (Ptr (Complex CDouble)) -> (Int) -> IO ((Int))
zpotrf a1 a2 a3 a4 a5 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = castZomplexToPtr a4} in 
  let {a5' = fromIntegral a5} in 
  zpotrf'_ a1' a2' a3' a4' a5' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 736 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

cpotri :: (Int) -> (CChar) -> (Int) -> (Ptr (Complex CFloat)) -> (Int) -> IO ((Int))
cpotri a1 a2 a3 a4 a5 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = castComplexToPtr a4} in 
  let {a5' = fromIntegral a5} in 
  cpotri'_ a1' a2' a3' a4' a5' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 737 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

dpotri :: (Int) -> (CChar) -> (Int) -> (Ptr CDouble) -> (Int) -> IO ((Int))
dpotri a1 a2 a3 a4 a5 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = id a4} in 
  let {a5' = fromIntegral a5} in 
  dpotri'_ a1' a2' a3' a4' a5' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 738 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

spotri :: (Int) -> (CChar) -> (Int) -> (Ptr CFloat) -> (Int) -> IO ((Int))
spotri a1 a2 a3 a4 a5 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = id a4} in 
  let {a5' = fromIntegral a5} in 
  spotri'_ a1' a2' a3' a4' a5' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 739 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

zpotri :: (Int) -> (CChar) -> (Int) -> (Ptr (Complex CDouble)) -> (Int) -> IO ((Int))
zpotri a1 a2 a3 a4 a5 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = castZomplexToPtr a4} in 
  let {a5' = fromIntegral a5} in 
  zpotri'_ a1' a2' a3' a4' a5' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 740 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

cpotrs :: (Int) -> (CChar) -> (Int) -> (Int) -> (Ptr (Complex CFloat)) -> (Int) -> (Ptr (Complex CFloat)) -> (Int) -> IO ((Int))
cpotrs a1 a2 a3 a4 a5 a6 a7 a8 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = castComplexToPtr a5} in 
  let {a6' = fromIntegral a6} in 
  let {a7' = castComplexToPtr a7} in 
  let {a8' = fromIntegral a8} in 
  cpotrs'_ a1' a2' a3' a4' a5' a6' a7' a8' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 741 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

dpotrs :: (Int) -> (CChar) -> (Int) -> (Int) -> (Ptr CDouble) -> (Int) -> (Ptr CDouble) -> (Int) -> IO ((Int))
dpotrs a1 a2 a3 a4 a5 a6 a7 a8 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = id a5} in 
  let {a6' = fromIntegral a6} in 
  let {a7' = id a7} in 
  let {a8' = fromIntegral a8} in 
  dpotrs'_ a1' a2' a3' a4' a5' a6' a7' a8' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 742 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

spotrs :: (Int) -> (CChar) -> (Int) -> (Int) -> (Ptr CFloat) -> (Int) -> (Ptr CFloat) -> (Int) -> IO ((Int))
spotrs a1 a2 a3 a4 a5 a6 a7 a8 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = id a5} in 
  let {a6' = fromIntegral a6} in 
  let {a7' = id a7} in 
  let {a8' = fromIntegral a8} in 
  spotrs'_ a1' a2' a3' a4' a5' a6' a7' a8' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 743 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

zpotrs :: (Int) -> (CChar) -> (Int) -> (Int) -> (Ptr (Complex CDouble)) -> (Int) -> (Ptr (Complex CDouble)) -> (Int) -> IO ((Int))
zpotrs a1 a2 a3 a4 a5 a6 a7 a8 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = castZomplexToPtr a5} in 
  let {a6' = fromIntegral a6} in 
  let {a7' = castZomplexToPtr a7} in 
  let {a8' = fromIntegral a8} in 
  zpotrs'_ a1' a2' a3' a4' a5' a6' a7' a8' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 744 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

chptrd :: (Int) -> (CChar) -> (Int) -> (Ptr (Complex CFloat)) -> (Ptr CFloat) -> (Ptr CFloat) -> (Ptr (Complex CFloat)) -> IO ((Int))
chptrd a1 a2 a3 a4 a5 a6 a7 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = castComplexToPtr a4} in 
  let {a5' = id a5} in 
  let {a6' = id a6} in 
  let {a7' = castComplexToPtr a7} in 
  chptrd'_ a1' a2' a3' a4' a5' a6' a7' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 745 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

zhptrd :: (Int) -> (CChar) -> (Int) -> (Ptr (Complex CDouble)) -> (Ptr CDouble) -> (Ptr CDouble) -> (Ptr (Complex CDouble)) -> IO ((Int))
zhptrd a1 a2 a3 a4 a5 a6 a7 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = castZomplexToPtr a4} in 
  let {a5' = id a5} in 
  let {a6' = id a6} in 
  let {a7' = castZomplexToPtr a7} in 
  zhptrd'_ a1' a2' a3' a4' a5' a6' a7' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 746 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

chptrf :: (Int) -> (CChar) -> (Int) -> (Ptr (Complex CFloat)) -> (Ptr CInt) -> IO ((Int))
chptrf a1 a2 a3 a4 a5 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = castComplexToPtr a4} in 
  let {a5' = id a5} in 
  chptrf'_ a1' a2' a3' a4' a5' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 747 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

zhptrf :: (Int) -> (CChar) -> (Int) -> (Ptr (Complex CDouble)) -> (Ptr CInt) -> IO ((Int))
zhptrf a1 a2 a3 a4 a5 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = castZomplexToPtr a4} in 
  let {a5' = id a5} in 
  zhptrf'_ a1' a2' a3' a4' a5' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 748 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

chptri :: (Int) -> (CChar) -> (Int) -> (Ptr (Complex CFloat)) -> (Ptr CInt) -> IO ((Int))
chptri a1 a2 a3 a4 a5 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = castComplexToPtr a4} in 
  let {a5' = id a5} in 
  chptri'_ a1' a2' a3' a4' a5' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 749 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

zhptri :: (Int) -> (CChar) -> (Int) -> (Ptr (Complex CDouble)) -> (Ptr CInt) -> IO ((Int))
zhptri a1 a2 a3 a4 a5 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = castZomplexToPtr a4} in 
  let {a5' = id a5} in 
  zhptri'_ a1' a2' a3' a4' a5' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 750 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

cpptrf :: (Int) -> (CChar) -> (Int) -> (Ptr (Complex CFloat)) -> IO ((Int))
cpptrf a1 a2 a3 a4 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = castComplexToPtr a4} in 
  cpptrf'_ a1' a2' a3' a4' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 751 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

dpptrf :: (Int) -> (CChar) -> (Int) -> (Ptr CDouble) -> IO ((Int))
dpptrf a1 a2 a3 a4 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = id a4} in 
  dpptrf'_ a1' a2' a3' a4' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 752 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

spptrf :: (Int) -> (CChar) -> (Int) -> (Ptr CFloat) -> IO ((Int))
spptrf a1 a2 a3 a4 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = id a4} in 
  spptrf'_ a1' a2' a3' a4' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 753 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

zpptrf :: (Int) -> (CChar) -> (Int) -> (Ptr (Complex CDouble)) -> IO ((Int))
zpptrf a1 a2 a3 a4 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = castZomplexToPtr a4} in 
  zpptrf'_ a1' a2' a3' a4' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 754 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

dsptrd :: (Int) -> (CChar) -> (Int) -> (Ptr CDouble) -> (Ptr CDouble) -> (Ptr CDouble) -> (Ptr CDouble) -> IO ((Int))
dsptrd a1 a2 a3 a4 a5 a6 a7 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = id a4} in 
  let {a5' = id a5} in 
  let {a6' = id a6} in 
  let {a7' = id a7} in 
  dsptrd'_ a1' a2' a3' a4' a5' a6' a7' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 755 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

ssptrd :: (Int) -> (CChar) -> (Int) -> (Ptr CFloat) -> (Ptr CFloat) -> (Ptr CFloat) -> (Ptr CFloat) -> IO ((Int))
ssptrd a1 a2 a3 a4 a5 a6 a7 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = id a4} in 
  let {a5' = id a5} in 
  let {a6' = id a6} in 
  let {a7' = id a7} in 
  ssptrd'_ a1' a2' a3' a4' a5' a6' a7' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 756 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

cpptri :: (Int) -> (CChar) -> (Int) -> (Ptr (Complex CFloat)) -> IO ((Int))
cpptri a1 a2 a3 a4 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = castComplexToPtr a4} in 
  cpptri'_ a1' a2' a3' a4' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 757 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

csptrf :: (Int) -> (CChar) -> (Int) -> (Ptr (Complex CFloat)) -> (Ptr CInt) -> IO ((Int))
csptrf a1 a2 a3 a4 a5 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = castComplexToPtr a4} in 
  let {a5' = id a5} in 
  csptrf'_ a1' a2' a3' a4' a5' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 758 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

dpptri :: (Int) -> (CChar) -> (Int) -> (Ptr CDouble) -> IO ((Int))
dpptri a1 a2 a3 a4 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = id a4} in 
  dpptri'_ a1' a2' a3' a4' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 759 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

dsptrf :: (Int) -> (CChar) -> (Int) -> (Ptr CDouble) -> (Ptr CInt) -> IO ((Int))
dsptrf a1 a2 a3 a4 a5 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = id a4} in 
  let {a5' = id a5} in 
  dsptrf'_ a1' a2' a3' a4' a5' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 760 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

spptri :: (Int) -> (CChar) -> (Int) -> (Ptr CFloat) -> IO ((Int))
spptri a1 a2 a3 a4 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = id a4} in 
  spptri'_ a1' a2' a3' a4' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 761 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

ssptrf :: (Int) -> (CChar) -> (Int) -> (Ptr CFloat) -> (Ptr CInt) -> IO ((Int))
ssptrf a1 a2 a3 a4 a5 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = id a4} in 
  let {a5' = id a5} in 
  ssptrf'_ a1' a2' a3' a4' a5' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 762 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

zpptri :: (Int) -> (CChar) -> (Int) -> (Ptr (Complex CDouble)) -> IO ((Int))
zpptri a1 a2 a3 a4 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = castZomplexToPtr a4} in 
  zpptri'_ a1' a2' a3' a4' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 763 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

zsptrf :: (Int) -> (CChar) -> (Int) -> (Ptr (Complex CDouble)) -> (Ptr CInt) -> IO ((Int))
zsptrf a1 a2 a3 a4 a5 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = castZomplexToPtr a4} in 
  let {a5' = id a5} in 
  zsptrf'_ a1' a2' a3' a4' a5' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 764 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

ctpttf :: (Int) -> (CChar) -> (CChar) -> (Int) -> (Ptr (Complex CFloat)) -> (Ptr (Complex CFloat)) -> IO ((Int))
ctpttf a1 a2 a3 a4 a5 a6 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = castChar a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = castComplexToPtr a5} in 
  let {a6' = castComplexToPtr a6} in 
  ctpttf'_ a1' a2' a3' a4' a5' a6' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 765 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

dtpttf :: (Int) -> (CChar) -> (CChar) -> (Int) -> (Ptr CDouble) -> (Ptr CDouble) -> IO ((Int))
dtpttf a1 a2 a3 a4 a5 a6 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = castChar a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = id a5} in 
  let {a6' = id a6} in 
  dtpttf'_ a1' a2' a3' a4' a5' a6' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 766 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

stpttf :: (Int) -> (CChar) -> (CChar) -> (Int) -> (Ptr CFloat) -> (Ptr CFloat) -> IO ((Int))
stpttf a1 a2 a3 a4 a5 a6 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = castChar a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = id a5} in 
  let {a6' = id a6} in 
  stpttf'_ a1' a2' a3' a4' a5' a6' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 767 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

ztpttf :: (Int) -> (CChar) -> (CChar) -> (Int) -> (Ptr (Complex CDouble)) -> (Ptr (Complex CDouble)) -> IO ((Int))
ztpttf a1 a2 a3 a4 a5 a6 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = castChar a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = castZomplexToPtr a5} in 
  let {a6' = castZomplexToPtr a6} in 
  ztpttf'_ a1' a2' a3' a4' a5' a6' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 768 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

chptrs :: (Int) -> (CChar) -> (Int) -> (Int) -> (Ptr (Complex CFloat)) -> (Ptr CInt) -> (Ptr (Complex CFloat)) -> (Int) -> IO ((Int))
chptrs a1 a2 a3 a4 a5 a6 a7 a8 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = castComplexToPtr a5} in 
  let {a6' = id a6} in 
  let {a7' = castComplexToPtr a7} in 
  let {a8' = fromIntegral a8} in 
  chptrs'_ a1' a2' a3' a4' a5' a6' a7' a8' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 769 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

zhptrs :: (Int) -> (CChar) -> (Int) -> (Int) -> (Ptr (Complex CDouble)) -> (Ptr CInt) -> (Ptr (Complex CDouble)) -> (Int) -> IO ((Int))
zhptrs a1 a2 a3 a4 a5 a6 a7 a8 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = castZomplexToPtr a5} in 
  let {a6' = id a6} in 
  let {a7' = castZomplexToPtr a7} in 
  let {a8' = fromIntegral a8} in 
  zhptrs'_ a1' a2' a3' a4' a5' a6' a7' a8' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 770 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

csptri :: (Int) -> (CChar) -> (Int) -> (Ptr (Complex CFloat)) -> (Ptr CInt) -> IO ((Int))
csptri a1 a2 a3 a4 a5 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = castComplexToPtr a4} in 
  let {a5' = id a5} in 
  csptri'_ a1' a2' a3' a4' a5' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 771 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

dsptri :: (Int) -> (CChar) -> (Int) -> (Ptr CDouble) -> (Ptr CInt) -> IO ((Int))
dsptri a1 a2 a3 a4 a5 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = id a4} in 
  let {a5' = id a5} in 
  dsptri'_ a1' a2' a3' a4' a5' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 772 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

ssptri :: (Int) -> (CChar) -> (Int) -> (Ptr CFloat) -> (Ptr CInt) -> IO ((Int))
ssptri a1 a2 a3 a4 a5 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = id a4} in 
  let {a5' = id a5} in 
  ssptri'_ a1' a2' a3' a4' a5' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 773 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

zsptri :: (Int) -> (CChar) -> (Int) -> (Ptr (Complex CDouble)) -> (Ptr CInt) -> IO ((Int))
zsptri a1 a2 a3 a4 a5 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = castZomplexToPtr a4} in 
  let {a5' = id a5} in 
  zsptri'_ a1' a2' a3' a4' a5' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 774 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

ctptri :: (Int) -> (CChar) -> (CChar) -> (Int) -> (Ptr (Complex CFloat)) -> IO ((Int))
ctptri a1 a2 a3 a4 a5 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = castChar a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = castComplexToPtr a5} in 
  ctptri'_ a1' a2' a3' a4' a5' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 775 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

dtptri :: (Int) -> (CChar) -> (CChar) -> (Int) -> (Ptr CDouble) -> IO ((Int))
dtptri a1 a2 a3 a4 a5 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = castChar a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = id a5} in 
  dtptri'_ a1' a2' a3' a4' a5' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 776 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

stptri :: (Int) -> (CChar) -> (CChar) -> (Int) -> (Ptr CFloat) -> IO ((Int))
stptri a1 a2 a3 a4 a5 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = castChar a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = id a5} in 
  stptri'_ a1' a2' a3' a4' a5' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 777 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

ztptri :: (Int) -> (CChar) -> (CChar) -> (Int) -> (Ptr (Complex CDouble)) -> IO ((Int))
ztptri a1 a2 a3 a4 a5 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = castChar a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = castZomplexToPtr a5} in 
  ztptri'_ a1' a2' a3' a4' a5' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 778 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

cpptrs :: (Int) -> (CChar) -> (Int) -> (Int) -> (Ptr (Complex CFloat)) -> (Ptr (Complex CFloat)) -> (Int) -> IO ((Int))
cpptrs a1 a2 a3 a4 a5 a6 a7 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = castComplexToPtr a5} in 
  let {a6' = castComplexToPtr a6} in 
  let {a7' = fromIntegral a7} in 
  cpptrs'_ a1' a2' a3' a4' a5' a6' a7' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 779 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

dpptrs :: (Int) -> (CChar) -> (Int) -> (Int) -> (Ptr CDouble) -> (Ptr CDouble) -> (Int) -> IO ((Int))
dpptrs a1 a2 a3 a4 a5 a6 a7 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = id a5} in 
  let {a6' = id a6} in 
  let {a7' = fromIntegral a7} in 
  dpptrs'_ a1' a2' a3' a4' a5' a6' a7' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 780 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

spptrs :: (Int) -> (CChar) -> (Int) -> (Int) -> (Ptr CFloat) -> (Ptr CFloat) -> (Int) -> IO ((Int))
spptrs a1 a2 a3 a4 a5 a6 a7 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = id a5} in 
  let {a6' = id a6} in 
  let {a7' = fromIntegral a7} in 
  spptrs'_ a1' a2' a3' a4' a5' a6' a7' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 781 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

zpptrs :: (Int) -> (CChar) -> (Int) -> (Int) -> (Ptr (Complex CDouble)) -> (Ptr (Complex CDouble)) -> (Int) -> IO ((Int))
zpptrs a1 a2 a3 a4 a5 a6 a7 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = castZomplexToPtr a5} in 
  let {a6' = castZomplexToPtr a6} in 
  let {a7' = fromIntegral a7} in 
  zpptrs'_ a1' a2' a3' a4' a5' a6' a7' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 782 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

csptrs :: (Int) -> (CChar) -> (Int) -> (Int) -> (Ptr (Complex CFloat)) -> (Ptr CInt) -> (Ptr (Complex CFloat)) -> (Int) -> IO ((Int))
csptrs a1 a2 a3 a4 a5 a6 a7 a8 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = castComplexToPtr a5} in 
  let {a6' = id a6} in 
  let {a7' = castComplexToPtr a7} in 
  let {a8' = fromIntegral a8} in 
  csptrs'_ a1' a2' a3' a4' a5' a6' a7' a8' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 783 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

dsptrs :: (Int) -> (CChar) -> (Int) -> (Int) -> (Ptr CDouble) -> (Ptr CInt) -> (Ptr CDouble) -> (Int) -> IO ((Int))
dsptrs a1 a2 a3 a4 a5 a6 a7 a8 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = id a5} in 
  let {a6' = id a6} in 
  let {a7' = id a7} in 
  let {a8' = fromIntegral a8} in 
  dsptrs'_ a1' a2' a3' a4' a5' a6' a7' a8' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 784 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

ctpttr :: (Int) -> (CChar) -> (Int) -> (Ptr (Complex CFloat)) -> (Ptr (Complex CFloat)) -> (Int) -> IO ((Int))
ctpttr a1 a2 a3 a4 a5 a6 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = castComplexToPtr a4} in 
  let {a5' = castComplexToPtr a5} in 
  let {a6' = fromIntegral a6} in 
  ctpttr'_ a1' a2' a3' a4' a5' a6' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 785 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

dtpttr :: (Int) -> (CChar) -> (Int) -> (Ptr CDouble) -> (Ptr CDouble) -> (Int) -> IO ((Int))
dtpttr a1 a2 a3 a4 a5 a6 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = id a4} in 
  let {a5' = id a5} in 
  let {a6' = fromIntegral a6} in 
  dtpttr'_ a1' a2' a3' a4' a5' a6' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 786 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

ssptrs :: (Int) -> (CChar) -> (Int) -> (Int) -> (Ptr CFloat) -> (Ptr CInt) -> (Ptr CFloat) -> (Int) -> IO ((Int))
ssptrs a1 a2 a3 a4 a5 a6 a7 a8 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = id a5} in 
  let {a6' = id a6} in 
  let {a7' = id a7} in 
  let {a8' = fromIntegral a8} in 
  ssptrs'_ a1' a2' a3' a4' a5' a6' a7' a8' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 787 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

stpttr :: (Int) -> (CChar) -> (Int) -> (Ptr CFloat) -> (Ptr CFloat) -> (Int) -> IO ((Int))
stpttr a1 a2 a3 a4 a5 a6 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = id a4} in 
  let {a5' = id a5} in 
  let {a6' = fromIntegral a6} in 
  stpttr'_ a1' a2' a3' a4' a5' a6' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 788 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

zsptrs :: (Int) -> (CChar) -> (Int) -> (Int) -> (Ptr (Complex CDouble)) -> (Ptr CInt) -> (Ptr (Complex CDouble)) -> (Int) -> IO ((Int))
zsptrs a1 a2 a3 a4 a5 a6 a7 a8 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = castZomplexToPtr a5} in 
  let {a6' = id a6} in 
  let {a7' = castZomplexToPtr a7} in 
  let {a8' = fromIntegral a8} in 
  zsptrs'_ a1' a2' a3' a4' a5' a6' a7' a8' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 789 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

ztpttr :: (Int) -> (CChar) -> (Int) -> (Ptr (Complex CDouble)) -> (Ptr (Complex CDouble)) -> (Int) -> IO ((Int))
ztpttr a1 a2 a3 a4 a5 a6 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = castZomplexToPtr a4} in 
  let {a5' = castZomplexToPtr a5} in 
  let {a6' = fromIntegral a6} in 
  ztpttr'_ a1' a2' a3' a4' a5' a6' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 790 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

ctptrs :: (Int) -> (CChar) -> (CChar) -> (CChar) -> (Int) -> (Int) -> (Ptr (Complex CFloat)) -> (Ptr (Complex CFloat)) -> (Int) -> IO ((Int))
ctptrs a1 a2 a3 a4 a5 a6 a7 a8 a9 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = castChar a3} in 
  let {a4' = castChar a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = fromIntegral a6} in 
  let {a7' = castComplexToPtr a7} in 
  let {a8' = castComplexToPtr a8} in 
  let {a9' = fromIntegral a9} in 
  ctptrs'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 791 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

dtptrs :: (Int) -> (CChar) -> (CChar) -> (CChar) -> (Int) -> (Int) -> (Ptr CDouble) -> (Ptr CDouble) -> (Int) -> IO ((Int))
dtptrs a1 a2 a3 a4 a5 a6 a7 a8 a9 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = castChar a3} in 
  let {a4' = castChar a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = fromIntegral a6} in 
  let {a7' = id a7} in 
  let {a8' = id a8} in 
  let {a9' = fromIntegral a9} in 
  dtptrs'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 792 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

stptrs :: (Int) -> (CChar) -> (CChar) -> (CChar) -> (Int) -> (Int) -> (Ptr CFloat) -> (Ptr CFloat) -> (Int) -> IO ((Int))
stptrs a1 a2 a3 a4 a5 a6 a7 a8 a9 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = castChar a3} in 
  let {a4' = castChar a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = fromIntegral a6} in 
  let {a7' = id a7} in 
  let {a8' = id a8} in 
  let {a9' = fromIntegral a9} in 
  stptrs'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 793 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

ztptrs :: (Int) -> (CChar) -> (CChar) -> (CChar) -> (Int) -> (Int) -> (Ptr (Complex CDouble)) -> (Ptr (Complex CDouble)) -> (Int) -> IO ((Int))
ztptrs a1 a2 a3 a4 a5 a6 a7 a8 a9 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = castChar a3} in 
  let {a4' = castChar a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = fromIntegral a6} in 
  let {a7' = castZomplexToPtr a7} in 
  let {a8' = castZomplexToPtr a8} in 
  let {a9' = fromIntegral a9} in 
  ztptrs'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 794 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

ctrttf :: (Int) -> (CChar) -> (CChar) -> (Int) -> (Ptr (Complex CFloat)) -> (Int) -> (Ptr (Complex CFloat)) -> IO ((Int))
ctrttf a1 a2 a3 a4 a5 a6 a7 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = castChar a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = castComplexToPtr a5} in 
  let {a6' = fromIntegral a6} in 
  let {a7' = castComplexToPtr a7} in 
  ctrttf'_ a1' a2' a3' a4' a5' a6' a7' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 795 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

dtrttf :: (Int) -> (CChar) -> (CChar) -> (Int) -> (Ptr CDouble) -> (Int) -> (Ptr CDouble) -> IO ((Int))
dtrttf a1 a2 a3 a4 a5 a6 a7 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = castChar a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = id a5} in 
  let {a6' = fromIntegral a6} in 
  let {a7' = id a7} in 
  dtrttf'_ a1' a2' a3' a4' a5' a6' a7' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 796 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

strttf :: (Int) -> (CChar) -> (CChar) -> (Int) -> (Ptr CFloat) -> (Int) -> (Ptr CFloat) -> IO ((Int))
strttf a1 a2 a3 a4 a5 a6 a7 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = castChar a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = id a5} in 
  let {a6' = fromIntegral a6} in 
  let {a7' = id a7} in 
  strttf'_ a1' a2' a3' a4' a5' a6' a7' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 797 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

ztrttf :: (Int) -> (CChar) -> (CChar) -> (Int) -> (Ptr (Complex CDouble)) -> (Int) -> (Ptr (Complex CDouble)) -> IO ((Int))
ztrttf a1 a2 a3 a4 a5 a6 a7 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = castChar a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = castZomplexToPtr a5} in 
  let {a6' = fromIntegral a6} in 
  let {a7' = castZomplexToPtr a7} in 
  ztrttf'_ a1' a2' a3' a4' a5' a6' a7' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 798 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

ctrtri :: (Int) -> (CChar) -> (CChar) -> (Int) -> (Ptr (Complex CFloat)) -> (Int) -> IO ((Int))
ctrtri a1 a2 a3 a4 a5 a6 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = castChar a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = castComplexToPtr a5} in 
  let {a6' = fromIntegral a6} in 
  ctrtri'_ a1' a2' a3' a4' a5' a6' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 799 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

dtrtri :: (Int) -> (CChar) -> (CChar) -> (Int) -> (Ptr CDouble) -> (Int) -> IO ((Int))
dtrtri a1 a2 a3 a4 a5 a6 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = castChar a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = id a5} in 
  let {a6' = fromIntegral a6} in 
  dtrtri'_ a1' a2' a3' a4' a5' a6' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 800 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

strtri :: (Int) -> (CChar) -> (CChar) -> (Int) -> (Ptr CFloat) -> (Int) -> IO ((Int))
strtri a1 a2 a3 a4 a5 a6 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = castChar a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = id a5} in 
  let {a6' = fromIntegral a6} in 
  strtri'_ a1' a2' a3' a4' a5' a6' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 801 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

ztrtri :: (Int) -> (CChar) -> (CChar) -> (Int) -> (Ptr (Complex CDouble)) -> (Int) -> IO ((Int))
ztrtri a1 a2 a3 a4 a5 a6 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = castChar a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = castZomplexToPtr a5} in 
  let {a6' = fromIntegral a6} in 
  ztrtri'_ a1' a2' a3' a4' a5' a6' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 802 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

ctrttp :: (Int) -> (CChar) -> (Int) -> (Ptr (Complex CFloat)) -> (Int) -> (Ptr (Complex CFloat)) -> IO ((Int))
ctrttp a1 a2 a3 a4 a5 a6 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = castComplexToPtr a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = castComplexToPtr a6} in 
  ctrttp'_ a1' a2' a3' a4' a5' a6' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 803 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

dtrttp :: (Int) -> (CChar) -> (Int) -> (Ptr CDouble) -> (Int) -> (Ptr CDouble) -> IO ((Int))
dtrttp a1 a2 a3 a4 a5 a6 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = id a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = id a6} in 
  dtrttp'_ a1' a2' a3' a4' a5' a6' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 804 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

strttp :: (Int) -> (CChar) -> (Int) -> (Ptr CFloat) -> (Int) -> (Ptr CFloat) -> IO ((Int))
strttp a1 a2 a3 a4 a5 a6 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = id a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = id a6} in 
  strttp'_ a1' a2' a3' a4' a5' a6' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 805 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

ztrttp :: (Int) -> (CChar) -> (Int) -> (Ptr (Complex CDouble)) -> (Int) -> (Ptr (Complex CDouble)) -> IO ((Int))
ztrttp a1 a2 a3 a4 a5 a6 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = castZomplexToPtr a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = castZomplexToPtr a6} in 
  ztrttp'_ a1' a2' a3' a4' a5' a6' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 806 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

ctrtrs :: (Int) -> (CChar) -> (CChar) -> (CChar) -> (Int) -> (Int) -> (Ptr (Complex CFloat)) -> (Int) -> (Ptr (Complex CFloat)) -> (Int) -> IO ((Int))
ctrtrs a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = castChar a3} in 
  let {a4' = castChar a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = fromIntegral a6} in 
  let {a7' = castComplexToPtr a7} in 
  let {a8' = fromIntegral a8} in 
  let {a9' = castComplexToPtr a9} in 
  let {a10' = fromIntegral a10} in 
  ctrtrs'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 807 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

dtrtrs :: (Int) -> (CChar) -> (CChar) -> (CChar) -> (Int) -> (Int) -> (Ptr CDouble) -> (Int) -> (Ptr CDouble) -> (Int) -> IO ((Int))
dtrtrs a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = castChar a3} in 
  let {a4' = castChar a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = fromIntegral a6} in 
  let {a7' = id a7} in 
  let {a8' = fromIntegral a8} in 
  let {a9' = id a9} in 
  let {a10' = fromIntegral a10} in 
  dtrtrs'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 808 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

strtrs :: (Int) -> (CChar) -> (CChar) -> (CChar) -> (Int) -> (Int) -> (Ptr CFloat) -> (Int) -> (Ptr CFloat) -> (Int) -> IO ((Int))
strtrs a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = castChar a3} in 
  let {a4' = castChar a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = fromIntegral a6} in 
  let {a7' = id a7} in 
  let {a8' = fromIntegral a8} in 
  let {a9' = id a9} in 
  let {a10' = fromIntegral a10} in 
  strtrs'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 809 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

ztrtrs :: (Int) -> (CChar) -> (CChar) -> (CChar) -> (Int) -> (Int) -> (Ptr (Complex CDouble)) -> (Int) -> (Ptr (Complex CDouble)) -> (Int) -> IO ((Int))
ztrtrs a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = castChar a3} in 
  let {a4' = castChar a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = fromIntegral a6} in 
  let {a7' = castZomplexToPtr a7} in 
  let {a8' = fromIntegral a8} in 
  let {a9' = castZomplexToPtr a9} in 
  let {a10' = fromIntegral a10} in 
  ztrtrs'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 810 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

cpstrf :: (Int) -> (CChar) -> (Int) -> (Ptr (Complex CFloat)) -> (Int) -> (Ptr CInt) -> (Ptr CInt) -> (CFloat) -> IO ((Int))
cpstrf a1 a2 a3 a4 a5 a6 a7 a8 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = castComplexToPtr a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = id a6} in 
  let {a7' = id a7} in 
  let {a8' = id a8} in 
  cpstrf'_ a1' a2' a3' a4' a5' a6' a7' a8' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 811 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

dpstrf :: (Int) -> (CChar) -> (Int) -> (Ptr CDouble) -> (Int) -> (Ptr CInt) -> (Ptr CInt) -> (CDouble) -> IO ((Int))
dpstrf a1 a2 a3 a4 a5 a6 a7 a8 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = id a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = id a6} in 
  let {a7' = id a7} in 
  let {a8' = id a8} in 
  dpstrf'_ a1' a2' a3' a4' a5' a6' a7' a8' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 812 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

spstrf :: (Int) -> (CChar) -> (Int) -> (Ptr CFloat) -> (Int) -> (Ptr CInt) -> (Ptr CInt) -> (CFloat) -> IO ((Int))
spstrf a1 a2 a3 a4 a5 a6 a7 a8 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = id a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = id a6} in 
  let {a7' = id a7} in 
  let {a8' = id a8} in 
  spstrf'_ a1' a2' a3' a4' a5' a6' a7' a8' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 813 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

zpstrf :: (Int) -> (CChar) -> (Int) -> (Ptr (Complex CDouble)) -> (Int) -> (Ptr CInt) -> (Ptr CInt) -> (CDouble) -> IO ((Int))
zpstrf a1 a2 a3 a4 a5 a6 a7 a8 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = castZomplexToPtr a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = id a6} in 
  let {a7' = id a7} in 
  let {a8' = id a8} in 
  zpstrf'_ a1' a2' a3' a4' a5' a6' a7' a8' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 814 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

cgttrf :: (Int) -> (Ptr (Complex CFloat)) -> (Ptr (Complex CFloat)) -> (Ptr (Complex CFloat)) -> (Ptr (Complex CFloat)) -> (Ptr CInt) -> IO ((Int))
cgttrf a1 a2 a3 a4 a5 a6 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castComplexToPtr a2} in 
  let {a3' = castComplexToPtr a3} in 
  let {a4' = castComplexToPtr a4} in 
  let {a5' = castComplexToPtr a5} in 
  let {a6' = id a6} in 
  cgttrf'_ a1' a2' a3' a4' a5' a6' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 815 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

dgttrf :: (Int) -> (Ptr CDouble) -> (Ptr CDouble) -> (Ptr CDouble) -> (Ptr CDouble) -> (Ptr CInt) -> IO ((Int))
dgttrf a1 a2 a3 a4 a5 a6 =
  let {a1' = fromIntegral a1} in 
  let {a2' = id a2} in 
  let {a3' = id a3} in 
  let {a4' = id a4} in 
  let {a5' = id a5} in 
  let {a6' = id a6} in 
  dgttrf'_ a1' a2' a3' a4' a5' a6' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 816 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

sgttrf :: (Int) -> (Ptr CFloat) -> (Ptr CFloat) -> (Ptr CFloat) -> (Ptr CFloat) -> (Ptr CInt) -> IO ((Int))
sgttrf a1 a2 a3 a4 a5 a6 =
  let {a1' = fromIntegral a1} in 
  let {a2' = id a2} in 
  let {a3' = id a3} in 
  let {a4' = id a4} in 
  let {a5' = id a5} in 
  let {a6' = id a6} in 
  sgttrf'_ a1' a2' a3' a4' a5' a6' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 817 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

zgttrf :: (Int) -> (Ptr (Complex CDouble)) -> (Ptr (Complex CDouble)) -> (Ptr (Complex CDouble)) -> (Ptr (Complex CDouble)) -> (Ptr CInt) -> IO ((Int))
zgttrf a1 a2 a3 a4 a5 a6 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castZomplexToPtr a2} in 
  let {a3' = castZomplexToPtr a3} in 
  let {a4' = castZomplexToPtr a4} in 
  let {a5' = castZomplexToPtr a5} in 
  let {a6' = id a6} in 
  zgttrf'_ a1' a2' a3' a4' a5' a6' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 818 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

cpttrf :: (Int) -> (Ptr CFloat) -> (Ptr (Complex CFloat)) -> IO ((Int))
cpttrf a1 a2 a3 =
  let {a1' = fromIntegral a1} in 
  let {a2' = id a2} in 
  let {a3' = castComplexToPtr a3} in 
  cpttrf'_ a1' a2' a3' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 819 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

dpttrf :: (Int) -> (Ptr CDouble) -> (Ptr CDouble) -> IO ((Int))
dpttrf a1 a2 a3 =
  let {a1' = fromIntegral a1} in 
  let {a2' = id a2} in 
  let {a3' = id a3} in 
  dpttrf'_ a1' a2' a3' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 820 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

spttrf :: (Int) -> (Ptr CFloat) -> (Ptr CFloat) -> IO ((Int))
spttrf a1 a2 a3 =
  let {a1' = fromIntegral a1} in 
  let {a2' = id a2} in 
  let {a3' = id a3} in 
  spttrf'_ a1' a2' a3' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 821 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

zpttrf :: (Int) -> (Ptr CDouble) -> (Ptr (Complex CDouble)) -> IO ((Int))
zpttrf a1 a2 a3 =
  let {a1' = fromIntegral a1} in 
  let {a2' = id a2} in 
  let {a3' = castZomplexToPtr a3} in 
  zpttrf'_ a1' a2' a3' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 822 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

cgttrs :: (Int) -> (CChar) -> (Int) -> (Int) -> (Ptr (Complex CFloat)) -> (Ptr (Complex CFloat)) -> (Ptr (Complex CFloat)) -> (Ptr (Complex CFloat)) -> (Ptr CInt) -> (Ptr (Complex CFloat)) -> (Int) -> IO ((Int))
cgttrs a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = castComplexToPtr a5} in 
  let {a6' = castComplexToPtr a6} in 
  let {a7' = castComplexToPtr a7} in 
  let {a8' = castComplexToPtr a8} in 
  let {a9' = id a9} in 
  let {a10' = castComplexToPtr a10} in 
  let {a11' = fromIntegral a11} in 
  cgttrs'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 823 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

dgttrs :: (Int) -> (CChar) -> (Int) -> (Int) -> (Ptr CDouble) -> (Ptr CDouble) -> (Ptr CDouble) -> (Ptr CDouble) -> (Ptr CInt) -> (Ptr CDouble) -> (Int) -> IO ((Int))
dgttrs a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = id a5} in 
  let {a6' = id a6} in 
  let {a7' = id a7} in 
  let {a8' = id a8} in 
  let {a9' = id a9} in 
  let {a10' = id a10} in 
  let {a11' = fromIntegral a11} in 
  dgttrs'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 824 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

sgttrs :: (Int) -> (CChar) -> (Int) -> (Int) -> (Ptr CFloat) -> (Ptr CFloat) -> (Ptr CFloat) -> (Ptr CFloat) -> (Ptr CInt) -> (Ptr CFloat) -> (Int) -> IO ((Int))
sgttrs a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = id a5} in 
  let {a6' = id a6} in 
  let {a7' = id a7} in 
  let {a8' = id a8} in 
  let {a9' = id a9} in 
  let {a10' = id a10} in 
  let {a11' = fromIntegral a11} in 
  sgttrs'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 825 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

zgttrs :: (Int) -> (CChar) -> (Int) -> (Int) -> (Ptr (Complex CDouble)) -> (Ptr (Complex CDouble)) -> (Ptr (Complex CDouble)) -> (Ptr (Complex CDouble)) -> (Ptr CInt) -> (Ptr (Complex CDouble)) -> (Int) -> IO ((Int))
zgttrs a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = castZomplexToPtr a5} in 
  let {a6' = castZomplexToPtr a6} in 
  let {a7' = castZomplexToPtr a7} in 
  let {a8' = castZomplexToPtr a8} in 
  let {a9' = id a9} in 
  let {a10' = castZomplexToPtr a10} in 
  let {a11' = fromIntegral a11} in 
  zgttrs'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 826 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

cpttrs :: (Int) -> (CChar) -> (Int) -> (Int) -> (Ptr CFloat) -> (Ptr (Complex CFloat)) -> (Ptr (Complex CFloat)) -> (Int) -> IO ((Int))
cpttrs a1 a2 a3 a4 a5 a6 a7 a8 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = id a5} in 
  let {a6' = castComplexToPtr a6} in 
  let {a7' = castComplexToPtr a7} in 
  let {a8' = fromIntegral a8} in 
  cpttrs'_ a1' a2' a3' a4' a5' a6' a7' a8' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 827 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

dpttrs :: (Int) -> (Int) -> (Int) -> (Ptr CDouble) -> (Ptr CDouble) -> (Ptr CDouble) -> (Int) -> IO ((Int))
dpttrs a1 a2 a3 a4 a5 a6 a7 =
  let {a1' = fromIntegral a1} in 
  let {a2' = fromIntegral a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = id a4} in 
  let {a5' = id a5} in 
  let {a6' = id a6} in 
  let {a7' = fromIntegral a7} in 
  dpttrs'_ a1' a2' a3' a4' a5' a6' a7' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 828 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

spttrs :: (Int) -> (Int) -> (Int) -> (Ptr CFloat) -> (Ptr CFloat) -> (Ptr CFloat) -> (Int) -> IO ((Int))
spttrs a1 a2 a3 a4 a5 a6 a7 =
  let {a1' = fromIntegral a1} in 
  let {a2' = fromIntegral a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = id a4} in 
  let {a5' = id a5} in 
  let {a6' = id a6} in 
  let {a7' = fromIntegral a7} in 
  spttrs'_ a1' a2' a3' a4' a5' a6' a7' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 829 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

zpttrs :: (Int) -> (CChar) -> (Int) -> (Int) -> (Ptr CDouble) -> (Ptr (Complex CDouble)) -> (Ptr (Complex CDouble)) -> (Int) -> IO ((Int))
zpttrs a1 a2 a3 a4 a5 a6 a7 a8 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = id a5} in 
  let {a6' = castZomplexToPtr a6} in 
  let {a7' = castZomplexToPtr a7} in 
  let {a8' = fromIntegral a8} in 
  zpttrs'_ a1' a2' a3' a4' a5' a6' a7' a8' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 830 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

dsytrd :: (Int) -> (CChar) -> (Int) -> (Ptr CDouble) -> (Int) -> (Ptr CDouble) -> (Ptr CDouble) -> (Ptr CDouble) -> IO ((Int))
dsytrd a1 a2 a3 a4 a5 a6 a7 a8 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = id a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = id a6} in 
  let {a7' = id a7} in 
  let {a8' = id a8} in 
  dsytrd'_ a1' a2' a3' a4' a5' a6' a7' a8' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 831 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

ssytrd :: (Int) -> (CChar) -> (Int) -> (Ptr CFloat) -> (Int) -> (Ptr CFloat) -> (Ptr CFloat) -> (Ptr CFloat) -> IO ((Int))
ssytrd a1 a2 a3 a4 a5 a6 a7 a8 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = id a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = id a6} in 
  let {a7' = id a7} in 
  let {a8' = id a8} in 
  ssytrd'_ a1' a2' a3' a4' a5' a6' a7' a8' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 832 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

csytrf :: (Int) -> (CChar) -> (Int) -> (Ptr (Complex CFloat)) -> (Int) -> (Ptr CInt) -> IO ((Int))
csytrf a1 a2 a3 a4 a5 a6 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = castComplexToPtr a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = id a6} in 
  csytrf'_ a1' a2' a3' a4' a5' a6' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 833 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

dsytrf :: (Int) -> (CChar) -> (Int) -> (Ptr CDouble) -> (Int) -> (Ptr CInt) -> IO ((Int))
dsytrf a1 a2 a3 a4 a5 a6 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = id a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = id a6} in 
  dsytrf'_ a1' a2' a3' a4' a5' a6' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 834 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

ssytrf :: (Int) -> (CChar) -> (Int) -> (Ptr CFloat) -> (Int) -> (Ptr CInt) -> IO ((Int))
ssytrf a1 a2 a3 a4 a5 a6 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = id a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = id a6} in 
  ssytrf'_ a1' a2' a3' a4' a5' a6' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 835 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

zsytrf :: (Int) -> (CChar) -> (Int) -> (Ptr (Complex CDouble)) -> (Int) -> (Ptr CInt) -> IO ((Int))
zsytrf a1 a2 a3 a4 a5 a6 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = castZomplexToPtr a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = id a6} in 
  zsytrf'_ a1' a2' a3' a4' a5' a6' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 836 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

csytri :: (Int) -> (CChar) -> (Int) -> (Ptr (Complex CFloat)) -> (Int) -> (Ptr CInt) -> IO ((Int))
csytri a1 a2 a3 a4 a5 a6 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = castComplexToPtr a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = id a6} in 
  csytri'_ a1' a2' a3' a4' a5' a6' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 837 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

dsytri :: (Int) -> (CChar) -> (Int) -> (Ptr CDouble) -> (Int) -> (Ptr CInt) -> IO ((Int))
dsytri a1 a2 a3 a4 a5 a6 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = id a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = id a6} in 
  dsytri'_ a1' a2' a3' a4' a5' a6' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 838 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

ssytri :: (Int) -> (CChar) -> (Int) -> (Ptr CFloat) -> (Int) -> (Ptr CInt) -> IO ((Int))
ssytri a1 a2 a3 a4 a5 a6 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = id a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = id a6} in 
  ssytri'_ a1' a2' a3' a4' a5' a6' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 839 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

zsytri :: (Int) -> (CChar) -> (Int) -> (Ptr (Complex CDouble)) -> (Int) -> (Ptr CInt) -> IO ((Int))
zsytri a1 a2 a3 a4 a5 a6 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = castZomplexToPtr a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = id a6} in 
  zsytri'_ a1' a2' a3' a4' a5' a6' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 840 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

csytrs :: (Int) -> (CChar) -> (Int) -> (Int) -> (Ptr (Complex CFloat)) -> (Int) -> (Ptr CInt) -> (Ptr (Complex CFloat)) -> (Int) -> IO ((Int))
csytrs a1 a2 a3 a4 a5 a6 a7 a8 a9 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = castComplexToPtr a5} in 
  let {a6' = fromIntegral a6} in 
  let {a7' = id a7} in 
  let {a8' = castComplexToPtr a8} in 
  let {a9' = fromIntegral a9} in 
  csytrs'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 841 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

dsytrs :: (Int) -> (CChar) -> (Int) -> (Int) -> (Ptr CDouble) -> (Int) -> (Ptr CInt) -> (Ptr CDouble) -> (Int) -> IO ((Int))
dsytrs a1 a2 a3 a4 a5 a6 a7 a8 a9 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = id a5} in 
  let {a6' = fromIntegral a6} in 
  let {a7' = id a7} in 
  let {a8' = id a8} in 
  let {a9' = fromIntegral a9} in 
  dsytrs'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 842 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

ssytrs :: (Int) -> (CChar) -> (Int) -> (Int) -> (Ptr CFloat) -> (Int) -> (Ptr CInt) -> (Ptr CFloat) -> (Int) -> IO ((Int))
ssytrs a1 a2 a3 a4 a5 a6 a7 a8 a9 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = id a5} in 
  let {a6' = fromIntegral a6} in 
  let {a7' = id a7} in 
  let {a8' = id a8} in 
  let {a9' = fromIntegral a9} in 
  ssytrs'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 843 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}

zsytrs :: (Int) -> (CChar) -> (Int) -> (Int) -> (Ptr (Complex CDouble)) -> (Int) -> (Ptr CInt) -> (Ptr (Complex CDouble)) -> (Int) -> IO ((Int))
zsytrs a1 a2 a3 a4 a5 a6 a7 a8 a9 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castChar a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = castZomplexToPtr a5} in 
  let {a6' = fromIntegral a6} in 
  let {a7' = id a7} in 
  let {a8' = castZomplexToPtr a8} in 
  let {a9' = fromIntegral a9} in 
  zsytrs'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 844 "./Numeric/Jalla/Foreign/LAPACKE.chs" #-}


foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_cgbbrd"
  cgbbrd'_ :: (CInt -> (CChar -> (CInt -> (CInt -> (CInt -> (CInt -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr CFloat) -> ((Ptr CFloat) -> ((Ptr ()) -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr ()) -> (CInt -> (IO CInt))))))))))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_dgbbrd"
  dgbbrd'_ :: (CInt -> (CChar -> (CInt -> (CInt -> (CInt -> (CInt -> (CInt -> ((Ptr CDouble) -> (CInt -> ((Ptr CDouble) -> ((Ptr CDouble) -> ((Ptr CDouble) -> (CInt -> ((Ptr CDouble) -> (CInt -> ((Ptr CDouble) -> (CInt -> (IO CInt))))))))))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_sgbbrd"
  sgbbrd'_ :: (CInt -> (CChar -> (CInt -> (CInt -> (CInt -> (CInt -> (CInt -> ((Ptr CFloat) -> (CInt -> ((Ptr CFloat) -> ((Ptr CFloat) -> ((Ptr CFloat) -> (CInt -> ((Ptr CFloat) -> (CInt -> ((Ptr CFloat) -> (CInt -> (IO CInt))))))))))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_zgbbrd"
  zgbbrd'_ :: (CInt -> (CChar -> (CInt -> (CInt -> (CInt -> (CInt -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr CDouble) -> ((Ptr CDouble) -> ((Ptr ()) -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr ()) -> (CInt -> (IO CInt))))))))))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_cgebrd"
  cgebrd'_ :: (CInt -> (CInt -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr CFloat) -> ((Ptr CFloat) -> ((Ptr ()) -> ((Ptr ()) -> (IO CInt))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_dgebrd"
  dgebrd'_ :: (CInt -> (CInt -> (CInt -> ((Ptr CDouble) -> (CInt -> ((Ptr CDouble) -> ((Ptr CDouble) -> ((Ptr CDouble) -> ((Ptr CDouble) -> (IO CInt))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_sgebrd"
  sgebrd'_ :: (CInt -> (CInt -> (CInt -> ((Ptr CFloat) -> (CInt -> ((Ptr CFloat) -> ((Ptr CFloat) -> ((Ptr CFloat) -> ((Ptr CFloat) -> (IO CInt))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_zgebrd"
  zgebrd'_ :: (CInt -> (CInt -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr CDouble) -> ((Ptr CDouble) -> ((Ptr ()) -> ((Ptr ()) -> (IO CInt))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_cgebak"
  cgebak'_ :: (CInt -> (CChar -> (CChar -> (CInt -> (CInt -> (CInt -> ((Ptr CFloat) -> (CInt -> ((Ptr ()) -> (CInt -> (IO CInt)))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_dgebak"
  dgebak'_ :: (CInt -> (CChar -> (CChar -> (CInt -> (CInt -> (CInt -> ((Ptr CDouble) -> (CInt -> ((Ptr CDouble) -> (CInt -> (IO CInt)))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_sgebak"
  sgebak'_ :: (CInt -> (CChar -> (CChar -> (CInt -> (CInt -> (CInt -> ((Ptr CFloat) -> (CInt -> ((Ptr CFloat) -> (CInt -> (IO CInt)))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_zgebak"
  zgebak'_ :: (CInt -> (CChar -> (CChar -> (CInt -> (CInt -> (CInt -> ((Ptr CDouble) -> (CInt -> ((Ptr ()) -> (CInt -> (IO CInt)))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_cgebal"
  cgebal'_ :: (CInt -> (CChar -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr CInt) -> ((Ptr CInt) -> ((Ptr CFloat) -> (IO CInt)))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_dgebal"
  dgebal'_ :: (CInt -> (CChar -> (CInt -> ((Ptr CDouble) -> (CInt -> ((Ptr CInt) -> ((Ptr CInt) -> ((Ptr CDouble) -> (IO CInt)))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_sgebal"
  sgebal'_ :: (CInt -> (CChar -> (CInt -> ((Ptr CFloat) -> (CInt -> ((Ptr CInt) -> ((Ptr CInt) -> ((Ptr CFloat) -> (IO CInt)))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_zgebal"
  zgebal'_ :: (CInt -> (CChar -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr CInt) -> ((Ptr CInt) -> ((Ptr CDouble) -> (IO CInt)))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_cggbak"
  cggbak'_ :: (CInt -> (CChar -> (CChar -> (CInt -> (CInt -> (CInt -> ((Ptr CFloat) -> ((Ptr CFloat) -> (CInt -> ((Ptr ()) -> (CInt -> (IO CInt))))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_dggbak"
  dggbak'_ :: (CInt -> (CChar -> (CChar -> (CInt -> (CInt -> (CInt -> ((Ptr CDouble) -> ((Ptr CDouble) -> (CInt -> ((Ptr CDouble) -> (CInt -> (IO CInt))))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_sggbak"
  sggbak'_ :: (CInt -> (CChar -> (CChar -> (CInt -> (CInt -> (CInt -> ((Ptr CFloat) -> ((Ptr CFloat) -> (CInt -> ((Ptr CFloat) -> (CInt -> (IO CInt))))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_zggbak"
  zggbak'_ :: (CInt -> (CChar -> (CChar -> (CInt -> (CInt -> (CInt -> ((Ptr CDouble) -> ((Ptr CDouble) -> (CInt -> ((Ptr ()) -> (CInt -> (IO CInt))))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_cggbal"
  cggbal'_ :: (CInt -> (CChar -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr CInt) -> ((Ptr CInt) -> ((Ptr CFloat) -> ((Ptr CFloat) -> (IO CInt))))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_dggbal"
  dggbal'_ :: (CInt -> (CChar -> (CInt -> ((Ptr CDouble) -> (CInt -> ((Ptr CDouble) -> (CInt -> ((Ptr CInt) -> ((Ptr CInt) -> ((Ptr CDouble) -> ((Ptr CDouble) -> (IO CInt))))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_sggbal"
  sggbal'_ :: (CInt -> (CChar -> (CInt -> ((Ptr CFloat) -> (CInt -> ((Ptr CFloat) -> (CInt -> ((Ptr CInt) -> ((Ptr CInt) -> ((Ptr CFloat) -> ((Ptr CFloat) -> (IO CInt))))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_zggbal"
  zggbal'_ :: (CInt -> (CChar -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr CInt) -> ((Ptr CInt) -> ((Ptr CDouble) -> ((Ptr CDouble) -> (IO CInt))))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_cgbcon"
  cgbcon'_ :: (CInt -> (CChar -> (CInt -> (CInt -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr CInt) -> (CFloat -> ((Ptr CFloat) -> (IO CInt)))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_dgbcon"
  dgbcon'_ :: (CInt -> (CChar -> (CInt -> (CInt -> (CInt -> ((Ptr CDouble) -> (CInt -> ((Ptr CInt) -> (CDouble -> ((Ptr CDouble) -> (IO CInt)))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_sgbcon"
  sgbcon'_ :: (CInt -> (CChar -> (CInt -> (CInt -> (CInt -> ((Ptr CFloat) -> (CInt -> ((Ptr CInt) -> (CFloat -> ((Ptr CFloat) -> (IO CInt)))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_zgbcon"
  zgbcon'_ :: (CInt -> (CChar -> (CInt -> (CInt -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr CInt) -> (CDouble -> ((Ptr CDouble) -> (IO CInt)))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_cpbcon"
  cpbcon'_ :: (CInt -> (CChar -> (CInt -> (CInt -> ((Ptr ()) -> (CInt -> (CFloat -> ((Ptr CFloat) -> (IO CInt)))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_dpbcon"
  dpbcon'_ :: (CInt -> (CChar -> (CInt -> (CInt -> ((Ptr CDouble) -> (CInt -> (CDouble -> ((Ptr CDouble) -> (IO CInt)))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_spbcon"
  spbcon'_ :: (CInt -> (CChar -> (CInt -> (CInt -> ((Ptr CFloat) -> (CInt -> (CFloat -> ((Ptr CFloat) -> (IO CInt)))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_zpbcon"
  zpbcon'_ :: (CInt -> (CChar -> (CInt -> (CInt -> ((Ptr ()) -> (CInt -> (CDouble -> ((Ptr CDouble) -> (IO CInt)))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_ctbcon"
  ctbcon'_ :: (CInt -> (CChar -> (CChar -> (CChar -> (CInt -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr CFloat) -> (IO CInt))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_dtbcon"
  dtbcon'_ :: (CInt -> (CChar -> (CChar -> (CChar -> (CInt -> (CInt -> ((Ptr CDouble) -> (CInt -> ((Ptr CDouble) -> (IO CInt))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_stbcon"
  stbcon'_ :: (CInt -> (CChar -> (CChar -> (CChar -> (CInt -> (CInt -> ((Ptr CFloat) -> (CInt -> ((Ptr CFloat) -> (IO CInt))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_ztbcon"
  ztbcon'_ :: (CInt -> (CChar -> (CChar -> (CChar -> (CInt -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr CDouble) -> (IO CInt))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_cgecon"
  cgecon'_ :: (CInt -> (CChar -> (CInt -> ((Ptr ()) -> (CInt -> (CFloat -> ((Ptr CFloat) -> (IO CInt))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_dgecon"
  dgecon'_ :: (CInt -> (CChar -> (CInt -> ((Ptr CDouble) -> (CInt -> (CDouble -> ((Ptr CDouble) -> (IO CInt))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_sgecon"
  sgecon'_ :: (CInt -> (CChar -> (CInt -> ((Ptr CFloat) -> (CInt -> (CFloat -> ((Ptr CFloat) -> (IO CInt))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_zgecon"
  zgecon'_ :: (CInt -> (CChar -> (CInt -> ((Ptr ()) -> (CInt -> (CDouble -> ((Ptr CDouble) -> (IO CInt))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_checon"
  checon'_ :: (CInt -> (CChar -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr CInt) -> (CFloat -> ((Ptr CFloat) -> (IO CInt)))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_zhecon"
  zhecon'_ :: (CInt -> (CChar -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr CInt) -> (CDouble -> ((Ptr CDouble) -> (IO CInt)))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_cpocon"
  cpocon'_ :: (CInt -> (CChar -> (CInt -> ((Ptr ()) -> (CInt -> (CFloat -> ((Ptr CFloat) -> (IO CInt))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_dpocon"
  dpocon'_ :: (CInt -> (CChar -> (CInt -> ((Ptr CDouble) -> (CInt -> (CDouble -> ((Ptr CDouble) -> (IO CInt))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_spocon"
  spocon'_ :: (CInt -> (CChar -> (CInt -> ((Ptr CFloat) -> (CInt -> (CFloat -> ((Ptr CFloat) -> (IO CInt))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_zpocon"
  zpocon'_ :: (CInt -> (CChar -> (CInt -> ((Ptr ()) -> (CInt -> (CDouble -> ((Ptr CDouble) -> (IO CInt))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_chpcon"
  chpcon'_ :: (CInt -> (CChar -> (CInt -> ((Ptr ()) -> ((Ptr CInt) -> (CFloat -> ((Ptr CFloat) -> (IO CInt))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_zhpcon"
  zhpcon'_ :: (CInt -> (CChar -> (CInt -> ((Ptr ()) -> ((Ptr CInt) -> (CDouble -> ((Ptr CDouble) -> (IO CInt))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_cppcon"
  cppcon'_ :: (CInt -> (CChar -> (CInt -> ((Ptr ()) -> (CFloat -> ((Ptr CFloat) -> (IO CInt)))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_dppcon"
  dppcon'_ :: (CInt -> (CChar -> (CInt -> ((Ptr CDouble) -> (CDouble -> ((Ptr CDouble) -> (IO CInt)))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_sppcon"
  sppcon'_ :: (CInt -> (CChar -> (CInt -> ((Ptr CFloat) -> (CFloat -> ((Ptr CFloat) -> (IO CInt)))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_zppcon"
  zppcon'_ :: (CInt -> (CChar -> (CInt -> ((Ptr ()) -> (CDouble -> ((Ptr CDouble) -> (IO CInt)))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_cspcon"
  cspcon'_ :: (CInt -> (CChar -> (CInt -> ((Ptr ()) -> ((Ptr CInt) -> (CFloat -> ((Ptr CFloat) -> (IO CInt))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_dspcon"
  dspcon'_ :: (CInt -> (CChar -> (CInt -> ((Ptr CDouble) -> ((Ptr CInt) -> (CDouble -> ((Ptr CDouble) -> (IO CInt))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_sspcon"
  sspcon'_ :: (CInt -> (CChar -> (CInt -> ((Ptr CFloat) -> ((Ptr CInt) -> (CFloat -> ((Ptr CFloat) -> (IO CInt))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_zspcon"
  zspcon'_ :: (CInt -> (CChar -> (CInt -> ((Ptr ()) -> ((Ptr CInt) -> (CDouble -> ((Ptr CDouble) -> (IO CInt))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_ctpcon"
  ctpcon'_ :: (CInt -> (CChar -> (CChar -> (CChar -> (CInt -> ((Ptr ()) -> ((Ptr CFloat) -> (IO CInt))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_dtpcon"
  dtpcon'_ :: (CInt -> (CChar -> (CChar -> (CChar -> (CInt -> ((Ptr CDouble) -> ((Ptr CDouble) -> (IO CInt))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_stpcon"
  stpcon'_ :: (CInt -> (CChar -> (CChar -> (CChar -> (CInt -> ((Ptr CFloat) -> ((Ptr CFloat) -> (IO CInt))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_ztpcon"
  ztpcon'_ :: (CInt -> (CChar -> (CChar -> (CChar -> (CInt -> ((Ptr ()) -> ((Ptr CDouble) -> (IO CInt))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_ctrcon"
  ctrcon'_ :: (CInt -> (CChar -> (CChar -> (CChar -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr CFloat) -> (IO CInt)))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_dtrcon"
  dtrcon'_ :: (CInt -> (CChar -> (CChar -> (CChar -> (CInt -> ((Ptr CDouble) -> (CInt -> ((Ptr CDouble) -> (IO CInt)))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_strcon"
  strcon'_ :: (CInt -> (CChar -> (CChar -> (CChar -> (CInt -> ((Ptr CFloat) -> (CInt -> ((Ptr CFloat) -> (IO CInt)))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_ztrcon"
  ztrcon'_ :: (CInt -> (CChar -> (CChar -> (CChar -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr CDouble) -> (IO CInt)))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_cgtcon"
  cgtcon'_ :: (CChar -> (CInt -> ((Ptr ()) -> ((Ptr ()) -> ((Ptr ()) -> ((Ptr ()) -> ((Ptr CInt) -> (CFloat -> ((Ptr CFloat) -> (IO CInt))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_dgtcon"
  dgtcon'_ :: (CChar -> (CInt -> ((Ptr CDouble) -> ((Ptr CDouble) -> ((Ptr CDouble) -> ((Ptr CDouble) -> ((Ptr CInt) -> (CDouble -> ((Ptr CDouble) -> (IO CInt))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_sgtcon"
  sgtcon'_ :: (CChar -> (CInt -> ((Ptr CFloat) -> ((Ptr CFloat) -> ((Ptr CFloat) -> ((Ptr CFloat) -> ((Ptr CInt) -> (CFloat -> ((Ptr CFloat) -> (IO CInt))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_zgtcon"
  zgtcon'_ :: (CChar -> (CInt -> ((Ptr ()) -> ((Ptr ()) -> ((Ptr ()) -> ((Ptr ()) -> ((Ptr CInt) -> (CDouble -> ((Ptr CDouble) -> (IO CInt))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_cptcon"
  cptcon'_ :: (CInt -> ((Ptr CFloat) -> ((Ptr ()) -> (CFloat -> ((Ptr CFloat) -> (IO CInt))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_dptcon"
  dptcon'_ :: (CInt -> ((Ptr CDouble) -> ((Ptr CDouble) -> (CDouble -> ((Ptr CDouble) -> (IO CInt))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_sptcon"
  sptcon'_ :: (CInt -> ((Ptr CFloat) -> ((Ptr CFloat) -> (CFloat -> ((Ptr CFloat) -> (IO CInt))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_zptcon"
  zptcon'_ :: (CInt -> ((Ptr CDouble) -> ((Ptr ()) -> (CDouble -> ((Ptr CDouble) -> (IO CInt))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_csycon"
  csycon'_ :: (CInt -> (CChar -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr CInt) -> (CFloat -> ((Ptr CFloat) -> (IO CInt)))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_dsycon"
  dsycon'_ :: (CInt -> (CChar -> (CInt -> ((Ptr CDouble) -> (CInt -> ((Ptr CInt) -> (CDouble -> ((Ptr CDouble) -> (IO CInt)))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_ssycon"
  ssycon'_ :: (CInt -> (CChar -> (CInt -> ((Ptr CFloat) -> (CInt -> ((Ptr CInt) -> (CFloat -> ((Ptr CFloat) -> (IO CInt)))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_zsycon"
  zsycon'_ :: (CInt -> (CChar -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr CInt) -> (CDouble -> ((Ptr CDouble) -> (IO CInt)))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_chbev"
  chbev'_ :: (CInt -> (CChar -> (CChar -> (CInt -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr CFloat) -> ((Ptr ()) -> (CInt -> (IO CInt)))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_zhbev"
  zhbev'_ :: (CInt -> (CChar -> (CChar -> (CInt -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr CDouble) -> ((Ptr ()) -> (CInt -> (IO CInt)))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_dsbev"
  dsbev'_ :: (CInt -> (CChar -> (CChar -> (CInt -> (CInt -> ((Ptr CDouble) -> (CInt -> ((Ptr CDouble) -> ((Ptr CDouble) -> (CInt -> (IO CInt)))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_ssbev"
  ssbev'_ :: (CInt -> (CChar -> (CChar -> (CInt -> (CInt -> ((Ptr CFloat) -> (CInt -> ((Ptr CFloat) -> ((Ptr CFloat) -> (CInt -> (IO CInt)))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_chbevd"
  chbevd'_ :: (CInt -> (CChar -> (CChar -> (CInt -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr CFloat) -> ((Ptr ()) -> (CInt -> (IO CInt)))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_zhbevd"
  zhbevd'_ :: (CInt -> (CChar -> (CChar -> (CInt -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr CDouble) -> ((Ptr ()) -> (CInt -> (IO CInt)))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_dsbevd"
  dsbevd'_ :: (CInt -> (CChar -> (CChar -> (CInt -> (CInt -> ((Ptr CDouble) -> (CInt -> ((Ptr CDouble) -> ((Ptr CDouble) -> (CInt -> (IO CInt)))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_ssbevd"
  ssbevd'_ :: (CInt -> (CChar -> (CChar -> (CInt -> (CInt -> ((Ptr CFloat) -> (CInt -> ((Ptr CFloat) -> ((Ptr CFloat) -> (CInt -> (IO CInt)))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_cgbequ"
  cgbequ'_ :: (CInt -> (CInt -> (CInt -> (CInt -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr CFloat) -> ((Ptr CFloat) -> ((Ptr CFloat) -> ((Ptr CFloat) -> ((Ptr CFloat) -> (IO CInt)))))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_dgbequ"
  dgbequ'_ :: (CInt -> (CInt -> (CInt -> (CInt -> (CInt -> ((Ptr CDouble) -> (CInt -> ((Ptr CDouble) -> ((Ptr CDouble) -> ((Ptr CDouble) -> ((Ptr CDouble) -> ((Ptr CDouble) -> (IO CInt)))))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_sgbequ"
  sgbequ'_ :: (CInt -> (CInt -> (CInt -> (CInt -> (CInt -> ((Ptr CFloat) -> (CInt -> ((Ptr CFloat) -> ((Ptr CFloat) -> ((Ptr CFloat) -> ((Ptr CFloat) -> ((Ptr CFloat) -> (IO CInt)))))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_zgbequ"
  zgbequ'_ :: (CInt -> (CInt -> (CInt -> (CInt -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr CDouble) -> ((Ptr CDouble) -> ((Ptr CDouble) -> ((Ptr CDouble) -> ((Ptr CDouble) -> (IO CInt)))))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_chbevx"
  chbevx'_ :: (CInt -> (CChar -> (CChar -> (CChar -> (CInt -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr ()) -> (CInt -> (CFloat -> (CFloat -> (CInt -> (CInt -> (CFloat -> ((Ptr CInt) -> ((Ptr CFloat) -> ((Ptr ()) -> (CInt -> ((Ptr CInt) -> (IO CInt)))))))))))))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_zhbevx"
  zhbevx'_ :: (CInt -> (CChar -> (CChar -> (CChar -> (CInt -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr ()) -> (CInt -> (CDouble -> (CDouble -> (CInt -> (CInt -> (CDouble -> ((Ptr CInt) -> ((Ptr CDouble) -> ((Ptr ()) -> (CInt -> ((Ptr CInt) -> (IO CInt)))))))))))))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_cpbequ"
  cpbequ'_ :: (CInt -> (CChar -> (CInt -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr CFloat) -> ((Ptr CFloat) -> ((Ptr CFloat) -> (IO CInt))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_dpbequ"
  dpbequ'_ :: (CInt -> (CChar -> (CInt -> (CInt -> ((Ptr CDouble) -> (CInt -> ((Ptr CDouble) -> ((Ptr CDouble) -> ((Ptr CDouble) -> (IO CInt))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_spbequ"
  spbequ'_ :: (CInt -> (CChar -> (CInt -> (CInt -> ((Ptr CFloat) -> (CInt -> ((Ptr CFloat) -> ((Ptr CFloat) -> ((Ptr CFloat) -> (IO CInt))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_zpbequ"
  zpbequ'_ :: (CInt -> (CChar -> (CInt -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr CDouble) -> ((Ptr CDouble) -> ((Ptr CDouble) -> (IO CInt))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_dsbevx"
  dsbevx'_ :: (CInt -> (CChar -> (CChar -> (CChar -> (CInt -> (CInt -> ((Ptr CDouble) -> (CInt -> ((Ptr CDouble) -> (CInt -> (CDouble -> (CDouble -> (CInt -> (CInt -> (CDouble -> ((Ptr CInt) -> ((Ptr CDouble) -> ((Ptr CDouble) -> (CInt -> ((Ptr CInt) -> (IO CInt)))))))))))))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_ssbevx"
  ssbevx'_ :: (CInt -> (CChar -> (CChar -> (CChar -> (CInt -> (CInt -> ((Ptr CFloat) -> (CInt -> ((Ptr CFloat) -> (CInt -> (CFloat -> (CFloat -> (CInt -> (CInt -> (CFloat -> ((Ptr CInt) -> ((Ptr CFloat) -> ((Ptr CFloat) -> (CInt -> ((Ptr CInt) -> (IO CInt)))))))))))))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_cgeev"
  cgeev'_ :: (CInt -> (CChar -> (CChar -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr ()) -> ((Ptr ()) -> (CInt -> ((Ptr ()) -> (CInt -> (IO CInt))))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_dgeev"
  dgeev'_ :: (CInt -> (CChar -> (CChar -> (CInt -> ((Ptr CDouble) -> (CInt -> ((Ptr CDouble) -> ((Ptr CDouble) -> ((Ptr CDouble) -> (CInt -> ((Ptr CDouble) -> (CInt -> (IO CInt)))))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_sgeev"
  sgeev'_ :: (CInt -> (CChar -> (CChar -> (CInt -> ((Ptr CFloat) -> (CInt -> ((Ptr CFloat) -> ((Ptr CFloat) -> ((Ptr CFloat) -> (CInt -> ((Ptr CFloat) -> (CInt -> (IO CInt)))))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_zgeev"
  zgeev'_ :: (CInt -> (CChar -> (CChar -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr ()) -> ((Ptr ()) -> (CInt -> ((Ptr ()) -> (CInt -> (IO CInt))))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_cheev"
  cheev'_ :: (CInt -> (CChar -> (CChar -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr CFloat) -> (IO CInt))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_zheev"
  zheev'_ :: (CInt -> (CChar -> (CChar -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr CDouble) -> (IO CInt))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_cheevd"
  cheevd'_ :: (CInt -> (CChar -> (CChar -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr CFloat) -> (IO CInt))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_zheevd"
  zheevd'_ :: (CInt -> (CChar -> (CChar -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr CDouble) -> (IO CInt))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_cheevr"
  cheevr'_ :: (CInt -> (CChar -> (CChar -> (CChar -> (CInt -> ((Ptr ()) -> (CInt -> (CFloat -> (CFloat -> (CInt -> (CInt -> (CFloat -> ((Ptr CInt) -> ((Ptr CFloat) -> ((Ptr ()) -> (CInt -> ((Ptr CInt) -> (IO CInt))))))))))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_zheevr"
  zheevr'_ :: (CInt -> (CChar -> (CChar -> (CChar -> (CInt -> ((Ptr ()) -> (CInt -> (CDouble -> (CDouble -> (CInt -> (CInt -> (CDouble -> ((Ptr CInt) -> ((Ptr CDouble) -> ((Ptr ()) -> (CInt -> ((Ptr CInt) -> (IO CInt))))))))))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_cgeequ"
  cgeequ'_ :: (CInt -> (CInt -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr CFloat) -> ((Ptr CFloat) -> ((Ptr CFloat) -> ((Ptr CFloat) -> ((Ptr CFloat) -> (IO CInt)))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_dgeequ"
  dgeequ'_ :: (CInt -> (CInt -> (CInt -> ((Ptr CDouble) -> (CInt -> ((Ptr CDouble) -> ((Ptr CDouble) -> ((Ptr CDouble) -> ((Ptr CDouble) -> ((Ptr CDouble) -> (IO CInt)))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_sgeequ"
  sgeequ'_ :: (CInt -> (CInt -> (CInt -> ((Ptr CFloat) -> (CInt -> ((Ptr CFloat) -> ((Ptr CFloat) -> ((Ptr CFloat) -> ((Ptr CFloat) -> ((Ptr CFloat) -> (IO CInt)))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_zgeequ"
  zgeequ'_ :: (CInt -> (CInt -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr CDouble) -> ((Ptr CDouble) -> ((Ptr CDouble) -> ((Ptr CDouble) -> ((Ptr CDouble) -> (IO CInt)))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_cgeevx"
  cgeevx'_ :: (CInt -> (CChar -> (CChar -> (CChar -> (CChar -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr ()) -> ((Ptr ()) -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr CInt) -> ((Ptr CInt) -> ((Ptr CFloat) -> ((Ptr CFloat) -> ((Ptr CFloat) -> ((Ptr CFloat) -> (IO CInt))))))))))))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_dgeevx"
  dgeevx'_ :: (CInt -> (CChar -> (CChar -> (CChar -> (CChar -> (CInt -> ((Ptr CDouble) -> (CInt -> ((Ptr CDouble) -> ((Ptr CDouble) -> ((Ptr CDouble) -> (CInt -> ((Ptr CDouble) -> (CInt -> ((Ptr CInt) -> ((Ptr CInt) -> ((Ptr CDouble) -> ((Ptr CDouble) -> ((Ptr CDouble) -> ((Ptr CDouble) -> (IO CInt)))))))))))))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_sgeevx"
  sgeevx'_ :: (CInt -> (CChar -> (CChar -> (CChar -> (CChar -> (CInt -> ((Ptr CFloat) -> (CInt -> ((Ptr CFloat) -> ((Ptr CFloat) -> ((Ptr CFloat) -> (CInt -> ((Ptr CFloat) -> (CInt -> ((Ptr CInt) -> ((Ptr CInt) -> ((Ptr CFloat) -> ((Ptr CFloat) -> ((Ptr CFloat) -> ((Ptr CFloat) -> (IO CInt)))))))))))))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_zgeevx"
  zgeevx'_ :: (CInt -> (CChar -> (CChar -> (CChar -> (CChar -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr ()) -> ((Ptr ()) -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr CInt) -> ((Ptr CInt) -> ((Ptr CDouble) -> ((Ptr CDouble) -> ((Ptr CDouble) -> ((Ptr CDouble) -> (IO CInt))))))))))))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_cheevx"
  cheevx'_ :: (CInt -> (CChar -> (CChar -> (CChar -> (CInt -> ((Ptr ()) -> (CInt -> (CFloat -> (CFloat -> (CInt -> (CInt -> (CFloat -> ((Ptr CInt) -> ((Ptr CFloat) -> ((Ptr ()) -> (CInt -> ((Ptr CInt) -> (IO CInt))))))))))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_zheevx"
  zheevx'_ :: (CInt -> (CChar -> (CChar -> (CChar -> (CInt -> ((Ptr ()) -> (CInt -> (CDouble -> (CDouble -> (CInt -> (CInt -> (CDouble -> ((Ptr CInt) -> ((Ptr CDouble) -> ((Ptr ()) -> (CInt -> ((Ptr CInt) -> (IO CInt))))))))))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_cggev"
  cggev'_ :: (CInt -> (CChar -> (CChar -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr ()) -> ((Ptr ()) -> ((Ptr ()) -> (CInt -> ((Ptr ()) -> (CInt -> (IO CInt)))))))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_dggev"
  dggev'_ :: (CInt -> (CChar -> (CChar -> (CInt -> ((Ptr CDouble) -> (CInt -> ((Ptr CDouble) -> (CInt -> ((Ptr CDouble) -> ((Ptr CDouble) -> ((Ptr CDouble) -> ((Ptr CDouble) -> (CInt -> ((Ptr CDouble) -> (CInt -> (IO CInt))))))))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_sggev"
  sggev'_ :: (CInt -> (CChar -> (CChar -> (CInt -> ((Ptr CFloat) -> (CInt -> ((Ptr CFloat) -> (CInt -> ((Ptr CFloat) -> ((Ptr CFloat) -> ((Ptr CFloat) -> ((Ptr CFloat) -> (CInt -> ((Ptr CFloat) -> (CInt -> (IO CInt))))))))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_zggev"
  zggev'_ :: (CInt -> (CChar -> (CChar -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr ()) -> ((Ptr ()) -> ((Ptr ()) -> (CInt -> ((Ptr ()) -> (CInt -> (IO CInt)))))))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_ctgevc"
  ctgevc'_ :: (CInt -> (CChar -> (CChar -> ((Ptr CInt) -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr ()) -> (CInt -> (CInt -> ((Ptr CInt) -> (IO CInt))))))))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_dtgevc"
  dtgevc'_ :: (CInt -> (CChar -> (CChar -> ((Ptr CInt) -> (CInt -> ((Ptr CDouble) -> (CInt -> ((Ptr CDouble) -> (CInt -> ((Ptr CDouble) -> (CInt -> ((Ptr CDouble) -> (CInt -> (CInt -> ((Ptr CInt) -> (IO CInt))))))))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_ctgexc"
  ctgexc'_ :: (CInt -> (CInt -> (CInt -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr ()) -> (CInt -> (CInt -> (CInt -> (IO CInt)))))))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_dtgexc"
  dtgexc'_ :: (CInt -> (CInt -> (CInt -> (CInt -> ((Ptr CDouble) -> (CInt -> ((Ptr CDouble) -> (CInt -> ((Ptr CDouble) -> (CInt -> ((Ptr CDouble) -> (CInt -> ((Ptr CInt) -> ((Ptr CInt) -> (IO CInt)))))))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_stgevc"
  stgevc'_ :: (CInt -> (CChar -> (CChar -> ((Ptr CInt) -> (CInt -> ((Ptr CFloat) -> (CInt -> ((Ptr CFloat) -> (CInt -> ((Ptr CFloat) -> (CInt -> ((Ptr CFloat) -> (CInt -> (CInt -> ((Ptr CInt) -> (IO CInt))))))))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_stgexc"
  stgexc'_ :: (CInt -> (CInt -> (CInt -> (CInt -> ((Ptr CFloat) -> (CInt -> ((Ptr CFloat) -> (CInt -> ((Ptr CFloat) -> (CInt -> ((Ptr CFloat) -> (CInt -> ((Ptr CInt) -> ((Ptr CInt) -> (IO CInt)))))))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_ztgevc"
  ztgevc'_ :: (CInt -> (CChar -> (CChar -> ((Ptr CInt) -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr ()) -> (CInt -> (CInt -> ((Ptr CInt) -> (IO CInt))))))))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_ztgexc"
  ztgexc'_ :: (CInt -> (CInt -> (CInt -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr ()) -> (CInt -> (CInt -> (CInt -> (IO CInt)))))))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_zcgesv"
  zcgesv'_ :: (CInt -> (CInt -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr CInt) -> ((Ptr ()) -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr CInt) -> (IO CInt))))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_cggevx"
  cggevx'_ :: (CInt -> (CChar -> (CChar -> (CChar -> (CChar -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr ()) -> ((Ptr ()) -> ((Ptr ()) -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr CInt) -> ((Ptr CInt) -> ((Ptr CFloat) -> ((Ptr CFloat) -> ((Ptr CFloat) -> ((Ptr CFloat) -> ((Ptr CFloat) -> ((Ptr CFloat) -> (IO CInt)))))))))))))))))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_dggevx"
  dggevx'_ :: (CInt -> (CChar -> (CChar -> (CChar -> (CChar -> (CInt -> ((Ptr CDouble) -> (CInt -> ((Ptr CDouble) -> (CInt -> ((Ptr CDouble) -> ((Ptr CDouble) -> ((Ptr CDouble) -> ((Ptr CDouble) -> (CInt -> ((Ptr CDouble) -> (CInt -> ((Ptr CInt) -> ((Ptr CInt) -> ((Ptr CDouble) -> ((Ptr CDouble) -> ((Ptr CDouble) -> ((Ptr CDouble) -> ((Ptr CDouble) -> ((Ptr CDouble) -> (IO CInt))))))))))))))))))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_sggevx"
  sggevx'_ :: (CInt -> (CChar -> (CChar -> (CChar -> (CChar -> (CInt -> ((Ptr CFloat) -> (CInt -> ((Ptr CFloat) -> (CInt -> ((Ptr CFloat) -> ((Ptr CFloat) -> ((Ptr CFloat) -> ((Ptr CFloat) -> (CInt -> ((Ptr CFloat) -> (CInt -> ((Ptr CInt) -> ((Ptr CInt) -> ((Ptr CFloat) -> ((Ptr CFloat) -> ((Ptr CFloat) -> ((Ptr CFloat) -> ((Ptr CFloat) -> ((Ptr CFloat) -> (IO CInt))))))))))))))))))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_zggevx"
  zggevx'_ :: (CInt -> (CChar -> (CChar -> (CChar -> (CChar -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr ()) -> ((Ptr ()) -> ((Ptr ()) -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr CInt) -> ((Ptr CInt) -> ((Ptr CDouble) -> ((Ptr CDouble) -> ((Ptr CDouble) -> ((Ptr CDouble) -> ((Ptr CDouble) -> ((Ptr CDouble) -> (IO CInt)))))))))))))))))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_chgeqz"
  chgeqz'_ :: (CInt -> (CChar -> (CChar -> (CChar -> (CInt -> (CInt -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr ()) -> ((Ptr ()) -> ((Ptr ()) -> (CInt -> ((Ptr ()) -> (CInt -> (IO CInt))))))))))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_dhgeqz"
  dhgeqz'_ :: (CInt -> (CChar -> (CChar -> (CChar -> (CInt -> (CInt -> (CInt -> ((Ptr CDouble) -> (CInt -> ((Ptr CDouble) -> (CInt -> ((Ptr CDouble) -> ((Ptr CDouble) -> ((Ptr CDouble) -> ((Ptr CDouble) -> (CInt -> ((Ptr CDouble) -> (CInt -> (IO CInt)))))))))))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_shgeqz"
  shgeqz'_ :: (CInt -> (CChar -> (CChar -> (CChar -> (CInt -> (CInt -> (CInt -> ((Ptr CFloat) -> (CInt -> ((Ptr CFloat) -> (CInt -> ((Ptr CFloat) -> ((Ptr CFloat) -> ((Ptr CFloat) -> ((Ptr CFloat) -> (CInt -> ((Ptr CFloat) -> (CInt -> (IO CInt)))))))))))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_zhgeqz"
  zhgeqz'_ :: (CInt -> (CChar -> (CChar -> (CChar -> (CInt -> (CInt -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr ()) -> ((Ptr ()) -> ((Ptr ()) -> (CInt -> ((Ptr ()) -> (CInt -> (IO CInt))))))))))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_dsgesv"
  dsgesv'_ :: (CInt -> (CInt -> (CInt -> ((Ptr CDouble) -> (CInt -> ((Ptr CInt) -> ((Ptr CDouble) -> (CInt -> ((Ptr CDouble) -> (CInt -> ((Ptr CInt) -> (IO CInt))))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_cpoequ"
  cpoequ'_ :: (CInt -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr CFloat) -> ((Ptr CFloat) -> ((Ptr CFloat) -> (IO CInt))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_dpoequ"
  dpoequ'_ :: (CInt -> (CInt -> ((Ptr CDouble) -> (CInt -> ((Ptr CDouble) -> ((Ptr CDouble) -> ((Ptr CDouble) -> (IO CInt))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_spoequ"
  spoequ'_ :: (CInt -> (CInt -> ((Ptr CFloat) -> (CInt -> ((Ptr CFloat) -> ((Ptr CFloat) -> ((Ptr CFloat) -> (IO CInt))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_zpoequ"
  zpoequ'_ :: (CInt -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr CDouble) -> ((Ptr CDouble) -> ((Ptr CDouble) -> (IO CInt))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_chpev"
  chpev'_ :: (CInt -> (CChar -> (CChar -> (CInt -> ((Ptr ()) -> ((Ptr CFloat) -> ((Ptr ()) -> (CInt -> (IO CInt)))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_zhpev"
  zhpev'_ :: (CInt -> (CChar -> (CChar -> (CInt -> ((Ptr ()) -> ((Ptr CDouble) -> ((Ptr ()) -> (CInt -> (IO CInt)))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_dspev"
  dspev'_ :: (CInt -> (CChar -> (CChar -> (CInt -> ((Ptr CDouble) -> ((Ptr CDouble) -> ((Ptr CDouble) -> (CInt -> (IO CInt)))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_sspev"
  sspev'_ :: (CInt -> (CChar -> (CChar -> (CInt -> ((Ptr CFloat) -> ((Ptr CFloat) -> ((Ptr CFloat) -> (CInt -> (IO CInt)))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_chpevd"
  chpevd'_ :: (CInt -> (CChar -> (CChar -> (CInt -> ((Ptr ()) -> ((Ptr CFloat) -> ((Ptr ()) -> (CInt -> (IO CInt)))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_zhpevd"
  zhpevd'_ :: (CInt -> (CChar -> (CChar -> (CInt -> ((Ptr ()) -> ((Ptr CDouble) -> ((Ptr ()) -> (CInt -> (IO CInt)))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_dspevd"
  dspevd'_ :: (CInt -> (CChar -> (CChar -> (CInt -> ((Ptr CDouble) -> ((Ptr CDouble) -> ((Ptr CDouble) -> (CInt -> (IO CInt)))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_sspevd"
  sspevd'_ :: (CInt -> (CChar -> (CChar -> (CInt -> ((Ptr CFloat) -> ((Ptr CFloat) -> ((Ptr CFloat) -> (CInt -> (IO CInt)))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_chpevx"
  chpevx'_ :: (CInt -> (CChar -> (CChar -> (CChar -> (CInt -> ((Ptr ()) -> (CFloat -> (CFloat -> (CInt -> (CInt -> (CFloat -> ((Ptr CInt) -> ((Ptr CFloat) -> ((Ptr ()) -> (CInt -> ((Ptr CInt) -> (IO CInt)))))))))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_zhpevx"
  zhpevx'_ :: (CInt -> (CChar -> (CChar -> (CChar -> (CInt -> ((Ptr ()) -> (CDouble -> (CDouble -> (CInt -> (CInt -> (CDouble -> ((Ptr CInt) -> ((Ptr CDouble) -> ((Ptr ()) -> (CInt -> ((Ptr CInt) -> (IO CInt)))))))))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_cppequ"
  cppequ'_ :: (CInt -> (CChar -> (CInt -> ((Ptr ()) -> ((Ptr CFloat) -> ((Ptr CFloat) -> ((Ptr CFloat) -> (IO CInt))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_dppequ"
  dppequ'_ :: (CInt -> (CChar -> (CInt -> ((Ptr CDouble) -> ((Ptr CDouble) -> ((Ptr CDouble) -> ((Ptr CDouble) -> (IO CInt))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_sppequ"
  sppequ'_ :: (CInt -> (CChar -> (CInt -> ((Ptr CFloat) -> ((Ptr CFloat) -> ((Ptr CFloat) -> ((Ptr CFloat) -> (IO CInt))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_zppequ"
  zppequ'_ :: (CInt -> (CChar -> (CInt -> ((Ptr ()) -> ((Ptr CDouble) -> ((Ptr CDouble) -> ((Ptr CDouble) -> (IO CInt))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_dspevx"
  dspevx'_ :: (CInt -> (CChar -> (CChar -> (CChar -> (CInt -> ((Ptr CDouble) -> (CDouble -> (CDouble -> (CInt -> (CInt -> (CDouble -> ((Ptr CInt) -> ((Ptr CDouble) -> ((Ptr CDouble) -> (CInt -> ((Ptr CInt) -> (IO CInt)))))))))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_sspevx"
  sspevx'_ :: (CInt -> (CChar -> (CChar -> (CChar -> (CInt -> ((Ptr CFloat) -> (CFloat -> (CFloat -> (CInt -> (CInt -> (CFloat -> ((Ptr CInt) -> ((Ptr CFloat) -> ((Ptr CFloat) -> (CInt -> ((Ptr CInt) -> (IO CInt)))))))))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_ctrevc"
  ctrevc'_ :: (CInt -> (CChar -> (CChar -> ((Ptr CInt) -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr ()) -> (CInt -> (CInt -> ((Ptr CInt) -> (IO CInt))))))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_dtrevc"
  dtrevc'_ :: (CInt -> (CChar -> (CChar -> ((Ptr CInt) -> (CInt -> ((Ptr CDouble) -> (CInt -> ((Ptr CDouble) -> (CInt -> ((Ptr CDouble) -> (CInt -> (CInt -> ((Ptr CInt) -> (IO CInt))))))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_ctrexc"
  ctrexc'_ :: (CInt -> (CChar -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr ()) -> (CInt -> (CInt -> (CInt -> (IO CInt))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_dtrexc"
  dtrexc'_ :: (CInt -> (CChar -> (CInt -> ((Ptr CDouble) -> (CInt -> ((Ptr CDouble) -> (CInt -> ((Ptr CInt) -> ((Ptr CInt) -> (IO CInt))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_strevc"
  strevc'_ :: (CInt -> (CChar -> (CChar -> ((Ptr CInt) -> (CInt -> ((Ptr CFloat) -> (CInt -> ((Ptr CFloat) -> (CInt -> ((Ptr CFloat) -> (CInt -> (CInt -> ((Ptr CInt) -> (IO CInt))))))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_strexc"
  strexc'_ :: (CInt -> (CChar -> (CInt -> ((Ptr CFloat) -> (CInt -> ((Ptr CFloat) -> (CInt -> ((Ptr CInt) -> ((Ptr CInt) -> (IO CInt))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_ztrevc"
  ztrevc'_ :: (CInt -> (CChar -> (CChar -> ((Ptr CInt) -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr ()) -> (CInt -> (CInt -> ((Ptr CInt) -> (IO CInt))))))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_ztrexc"
  ztrexc'_ :: (CInt -> (CChar -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr ()) -> (CInt -> (CInt -> (CInt -> (IO CInt))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_chsein"
  chsein'_ :: (CInt -> (CChar -> (CChar -> (CChar -> ((Ptr CInt) -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr ()) -> ((Ptr ()) -> (CInt -> ((Ptr ()) -> (CInt -> (CInt -> ((Ptr CInt) -> ((Ptr CInt) -> ((Ptr CInt) -> (IO CInt))))))))))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_dhsein"
  dhsein'_ :: (CInt -> (CChar -> (CChar -> (CChar -> ((Ptr CInt) -> (CInt -> ((Ptr CDouble) -> (CInt -> ((Ptr CDouble) -> ((Ptr CDouble) -> ((Ptr CDouble) -> (CInt -> ((Ptr CDouble) -> (CInt -> (CInt -> ((Ptr CInt) -> ((Ptr CInt) -> ((Ptr CInt) -> (IO CInt)))))))))))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_shsein"
  shsein'_ :: (CInt -> (CChar -> (CChar -> (CChar -> ((Ptr CInt) -> (CInt -> ((Ptr CFloat) -> (CInt -> ((Ptr CFloat) -> ((Ptr CFloat) -> ((Ptr CFloat) -> (CInt -> ((Ptr CFloat) -> (CInt -> (CInt -> ((Ptr CInt) -> ((Ptr CInt) -> ((Ptr CInt) -> (IO CInt)))))))))))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_zhsein"
  zhsein'_ :: (CInt -> (CChar -> (CChar -> (CChar -> ((Ptr CInt) -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr ()) -> ((Ptr ()) -> (CInt -> ((Ptr ()) -> (CInt -> (CInt -> ((Ptr CInt) -> ((Ptr CInt) -> ((Ptr CInt) -> (IO CInt))))))))))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_chseqr"
  chseqr'_ :: (CInt -> (CChar -> (CChar -> (CInt -> (CInt -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr ()) -> ((Ptr ()) -> (CInt -> (IO CInt))))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_dhseqr"
  dhseqr'_ :: (CInt -> (CChar -> (CChar -> (CInt -> (CInt -> (CInt -> ((Ptr CDouble) -> (CInt -> ((Ptr CDouble) -> ((Ptr CDouble) -> ((Ptr CDouble) -> (CInt -> (IO CInt)))))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_shseqr"
  shseqr'_ :: (CInt -> (CChar -> (CChar -> (CInt -> (CInt -> (CInt -> ((Ptr CFloat) -> (CInt -> ((Ptr CFloat) -> ((Ptr CFloat) -> ((Ptr CFloat) -> (CInt -> (IO CInt)))))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_zhseqr"
  zhseqr'_ :: (CInt -> (CChar -> (CChar -> (CInt -> (CInt -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr ()) -> ((Ptr ()) -> (CInt -> (IO CInt))))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_dstev"
  dstev'_ :: (CInt -> (CChar -> (CInt -> ((Ptr CDouble) -> ((Ptr CDouble) -> ((Ptr CDouble) -> (CInt -> (IO CInt))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_sstev"
  sstev'_ :: (CInt -> (CChar -> (CInt -> ((Ptr CFloat) -> ((Ptr CFloat) -> ((Ptr CFloat) -> (CInt -> (IO CInt))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_cstedc"
  cstedc'_ :: (CInt -> (CChar -> (CInt -> ((Ptr CFloat) -> ((Ptr CFloat) -> ((Ptr ()) -> (CInt -> (IO CInt))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_dstedc"
  dstedc'_ :: (CInt -> (CChar -> (CInt -> ((Ptr CDouble) -> ((Ptr CDouble) -> ((Ptr CDouble) -> (CInt -> (IO CInt))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_sstedc"
  sstedc'_ :: (CInt -> (CChar -> (CInt -> ((Ptr CFloat) -> ((Ptr CFloat) -> ((Ptr CFloat) -> (CInt -> (IO CInt))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_zstedc"
  zstedc'_ :: (CInt -> (CChar -> (CInt -> ((Ptr CDouble) -> ((Ptr CDouble) -> ((Ptr ()) -> (CInt -> (IO CInt))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_dstevd"
  dstevd'_ :: (CInt -> (CChar -> (CInt -> ((Ptr CDouble) -> ((Ptr CDouble) -> ((Ptr CDouble) -> (CInt -> (IO CInt))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_sstevd"
  sstevd'_ :: (CInt -> (CChar -> (CInt -> ((Ptr CFloat) -> ((Ptr CFloat) -> ((Ptr CFloat) -> (CInt -> (IO CInt))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_dsterf"
  dsterf'_ :: (CInt -> ((Ptr CDouble) -> ((Ptr CDouble) -> (IO CInt))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_ssterf"
  ssterf'_ :: (CInt -> ((Ptr CFloat) -> ((Ptr CFloat) -> (IO CInt))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_cstein"
  cstein'_ :: (CInt -> (CInt -> ((Ptr CFloat) -> ((Ptr CFloat) -> (CInt -> ((Ptr CFloat) -> ((Ptr CInt) -> ((Ptr CInt) -> ((Ptr ()) -> (CInt -> ((Ptr CInt) -> (IO CInt))))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_dstein"
  dstein'_ :: (CInt -> (CInt -> ((Ptr CDouble) -> ((Ptr CDouble) -> (CInt -> ((Ptr CDouble) -> ((Ptr CInt) -> ((Ptr CInt) -> ((Ptr CDouble) -> (CInt -> ((Ptr CInt) -> (IO CInt))))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_sstein"
  sstein'_ :: (CInt -> (CInt -> ((Ptr CFloat) -> ((Ptr CFloat) -> (CInt -> ((Ptr CFloat) -> ((Ptr CInt) -> ((Ptr CInt) -> ((Ptr CFloat) -> (CInt -> ((Ptr CInt) -> (IO CInt))))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_zstein"
  zstein'_ :: (CInt -> (CInt -> ((Ptr CDouble) -> ((Ptr CDouble) -> (CInt -> ((Ptr CDouble) -> ((Ptr CInt) -> ((Ptr CInt) -> ((Ptr ()) -> (CInt -> ((Ptr CInt) -> (IO CInt))))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_cpteqr"
  cpteqr'_ :: (CInt -> (CChar -> (CInt -> ((Ptr CFloat) -> ((Ptr CFloat) -> ((Ptr ()) -> (CInt -> (IO CInt))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_dpteqr"
  dpteqr'_ :: (CInt -> (CChar -> (CInt -> ((Ptr CDouble) -> ((Ptr CDouble) -> ((Ptr CDouble) -> (CInt -> (IO CInt))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_spteqr"
  spteqr'_ :: (CInt -> (CChar -> (CInt -> ((Ptr CFloat) -> ((Ptr CFloat) -> ((Ptr CFloat) -> (CInt -> (IO CInt))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_zpteqr"
  zpteqr'_ :: (CInt -> (CChar -> (CInt -> ((Ptr CDouble) -> ((Ptr CDouble) -> ((Ptr ()) -> (CInt -> (IO CInt))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_cstegr"
  cstegr'_ :: (CInt -> (CChar -> (CChar -> (CInt -> ((Ptr CFloat) -> ((Ptr CFloat) -> (CFloat -> (CFloat -> (CInt -> (CInt -> (CFloat -> ((Ptr CInt) -> ((Ptr CFloat) -> ((Ptr ()) -> (CInt -> ((Ptr CInt) -> (IO CInt)))))))))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_dstegr"
  dstegr'_ :: (CInt -> (CChar -> (CChar -> (CInt -> ((Ptr CDouble) -> ((Ptr CDouble) -> (CDouble -> (CDouble -> (CInt -> (CInt -> (CDouble -> ((Ptr CInt) -> ((Ptr CDouble) -> ((Ptr CDouble) -> (CInt -> ((Ptr CInt) -> (IO CInt)))))))))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_cstemr"
  cstemr'_ :: (CInt -> (CChar -> (CChar -> (CInt -> ((Ptr CFloat) -> ((Ptr CFloat) -> (CFloat -> (CFloat -> (CInt -> (CInt -> ((Ptr CInt) -> ((Ptr CFloat) -> ((Ptr ()) -> (CInt -> (CInt -> ((Ptr CInt) -> ((Ptr CInt) -> (IO CInt))))))))))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_dstemr"
  dstemr'_ :: (CInt -> (CChar -> (CChar -> (CInt -> ((Ptr CDouble) -> ((Ptr CDouble) -> (CDouble -> (CDouble -> (CInt -> (CInt -> ((Ptr CInt) -> ((Ptr CDouble) -> ((Ptr CDouble) -> (CInt -> (CInt -> ((Ptr CInt) -> ((Ptr CInt) -> (IO CInt))))))))))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_csteqr"
  csteqr'_ :: (CInt -> (CChar -> (CInt -> ((Ptr CFloat) -> ((Ptr CFloat) -> ((Ptr ()) -> (CInt -> (IO CInt))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_dsteqr"
  dsteqr'_ :: (CInt -> (CChar -> (CInt -> ((Ptr CDouble) -> ((Ptr CDouble) -> ((Ptr CDouble) -> (CInt -> (IO CInt))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_dstevr"
  dstevr'_ :: (CInt -> (CChar -> (CChar -> (CInt -> ((Ptr CDouble) -> ((Ptr CDouble) -> (CDouble -> (CDouble -> (CInt -> (CInt -> (CDouble -> ((Ptr CInt) -> ((Ptr CDouble) -> ((Ptr CDouble) -> (CInt -> ((Ptr CInt) -> (IO CInt)))))))))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_sstegr"
  sstegr'_ :: (CInt -> (CChar -> (CChar -> (CInt -> ((Ptr CFloat) -> ((Ptr CFloat) -> (CFloat -> (CFloat -> (CInt -> (CInt -> (CFloat -> ((Ptr CInt) -> ((Ptr CFloat) -> ((Ptr CFloat) -> (CInt -> ((Ptr CInt) -> (IO CInt)))))))))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_sstemr"
  sstemr'_ :: (CInt -> (CChar -> (CChar -> (CInt -> ((Ptr CFloat) -> ((Ptr CFloat) -> (CFloat -> (CFloat -> (CInt -> (CInt -> ((Ptr CInt) -> ((Ptr CFloat) -> ((Ptr CFloat) -> (CInt -> (CInt -> ((Ptr CInt) -> ((Ptr CInt) -> (IO CInt))))))))))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_zstegr"
  zstegr'_ :: (CInt -> (CChar -> (CChar -> (CInt -> ((Ptr CDouble) -> ((Ptr CDouble) -> (CDouble -> (CDouble -> (CInt -> (CInt -> (CDouble -> ((Ptr CInt) -> ((Ptr CDouble) -> ((Ptr ()) -> (CInt -> ((Ptr CInt) -> (IO CInt)))))))))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_ssteqr"
  ssteqr'_ :: (CInt -> (CChar -> (CInt -> ((Ptr CFloat) -> ((Ptr CFloat) -> ((Ptr CFloat) -> (CInt -> (IO CInt))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_zstemr"
  zstemr'_ :: (CInt -> (CChar -> (CChar -> (CInt -> ((Ptr CDouble) -> ((Ptr CDouble) -> (CDouble -> (CDouble -> (CInt -> (CInt -> ((Ptr CInt) -> ((Ptr CDouble) -> ((Ptr ()) -> (CInt -> (CInt -> ((Ptr CInt) -> ((Ptr CInt) -> (IO CInt))))))))))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_sstevr"
  sstevr'_ :: (CInt -> (CChar -> (CChar -> (CInt -> ((Ptr CFloat) -> ((Ptr CFloat) -> (CFloat -> (CFloat -> (CInt -> (CInt -> (CFloat -> ((Ptr CInt) -> ((Ptr CFloat) -> ((Ptr CFloat) -> (CInt -> ((Ptr CInt) -> (IO CInt)))))))))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_zsteqr"
  zsteqr'_ :: (CInt -> (CChar -> (CInt -> ((Ptr CDouble) -> ((Ptr CDouble) -> ((Ptr ()) -> (CInt -> (IO CInt))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_dstevx"
  dstevx'_ :: (CInt -> (CChar -> (CChar -> (CInt -> ((Ptr CDouble) -> ((Ptr CDouble) -> (CDouble -> (CDouble -> (CInt -> (CInt -> (CDouble -> ((Ptr CInt) -> ((Ptr CDouble) -> ((Ptr CDouble) -> (CInt -> ((Ptr CInt) -> (IO CInt)))))))))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_sstevx"
  sstevx'_ :: (CInt -> (CChar -> (CChar -> (CInt -> ((Ptr CFloat) -> ((Ptr CFloat) -> (CFloat -> (CFloat -> (CInt -> (CInt -> (CFloat -> ((Ptr CInt) -> ((Ptr CFloat) -> ((Ptr CFloat) -> (CInt -> ((Ptr CInt) -> (IO CInt)))))))))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_dstebz"
  dstebz'_ :: (CChar -> (CChar -> (CInt -> (CDouble -> (CDouble -> (CInt -> (CInt -> (CDouble -> ((Ptr CDouble) -> ((Ptr CDouble) -> ((Ptr CInt) -> ((Ptr CInt) -> ((Ptr CDouble) -> ((Ptr CInt) -> ((Ptr CInt) -> (IO CInt))))))))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_sstebz"
  sstebz'_ :: (CChar -> (CChar -> (CInt -> (CFloat -> (CFloat -> (CInt -> (CInt -> (CFloat -> ((Ptr CFloat) -> ((Ptr CFloat) -> ((Ptr CInt) -> ((Ptr CInt) -> ((Ptr CFloat) -> ((Ptr CInt) -> ((Ptr CInt) -> (IO CInt))))))))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_dsyev"
  dsyev'_ :: (CInt -> (CChar -> (CChar -> (CInt -> ((Ptr CDouble) -> (CInt -> ((Ptr CDouble) -> (IO CInt))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_ssyev"
  ssyev'_ :: (CInt -> (CChar -> (CChar -> (CInt -> ((Ptr CFloat) -> (CInt -> ((Ptr CFloat) -> (IO CInt))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_dsyevd"
  dsyevd'_ :: (CInt -> (CChar -> (CChar -> (CInt -> ((Ptr CDouble) -> (CInt -> ((Ptr CDouble) -> (IO CInt))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_ssyevd"
  ssyevd'_ :: (CInt -> (CChar -> (CChar -> (CInt -> ((Ptr CFloat) -> (CInt -> ((Ptr CFloat) -> (IO CInt))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_dsyevr"
  dsyevr'_ :: (CInt -> (CChar -> (CChar -> (CChar -> (CInt -> ((Ptr CDouble) -> (CInt -> (CDouble -> (CDouble -> (CInt -> (CInt -> (CDouble -> ((Ptr CInt) -> ((Ptr CDouble) -> ((Ptr CDouble) -> (CInt -> ((Ptr CInt) -> (IO CInt))))))))))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_ssyevr"
  ssyevr'_ :: (CInt -> (CChar -> (CChar -> (CChar -> (CInt -> ((Ptr CFloat) -> (CInt -> (CFloat -> (CFloat -> (CInt -> (CInt -> (CFloat -> ((Ptr CInt) -> ((Ptr CFloat) -> ((Ptr CFloat) -> (CInt -> ((Ptr CInt) -> (IO CInt))))))))))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_dsyevx"
  dsyevx'_ :: (CInt -> (CChar -> (CChar -> (CChar -> (CInt -> ((Ptr CDouble) -> (CInt -> (CDouble -> (CDouble -> (CInt -> (CInt -> (CDouble -> ((Ptr CInt) -> ((Ptr CDouble) -> ((Ptr CDouble) -> (CInt -> ((Ptr CInt) -> (IO CInt))))))))))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_ssyevx"
  ssyevx'_ :: (CInt -> (CChar -> (CChar -> (CChar -> (CInt -> ((Ptr CFloat) -> (CInt -> (CFloat -> (CFloat -> (CInt -> (CInt -> (CFloat -> ((Ptr CInt) -> ((Ptr CFloat) -> ((Ptr CFloat) -> (CInt -> ((Ptr CInt) -> (IO CInt))))))))))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_cgbequb"
  cgbequb'_ :: (CInt -> (CInt -> (CInt -> (CInt -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr CFloat) -> ((Ptr CFloat) -> ((Ptr CFloat) -> ((Ptr CFloat) -> ((Ptr CFloat) -> (IO CInt)))))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_dgbequb"
  dgbequb'_ :: (CInt -> (CInt -> (CInt -> (CInt -> (CInt -> ((Ptr CDouble) -> (CInt -> ((Ptr CDouble) -> ((Ptr CDouble) -> ((Ptr CDouble) -> ((Ptr CDouble) -> ((Ptr CDouble) -> (IO CInt)))))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_sgbequb"
  sgbequb'_ :: (CInt -> (CInt -> (CInt -> (CInt -> (CInt -> ((Ptr CFloat) -> (CInt -> ((Ptr CFloat) -> ((Ptr CFloat) -> ((Ptr CFloat) -> ((Ptr CFloat) -> ((Ptr CFloat) -> (IO CInt)))))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_zgbequb"
  zgbequb'_ :: (CInt -> (CInt -> (CInt -> (CInt -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr CDouble) -> ((Ptr CDouble) -> ((Ptr CDouble) -> ((Ptr CDouble) -> ((Ptr CDouble) -> (IO CInt)))))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_cgeequb"
  cgeequb'_ :: (CInt -> (CInt -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr CFloat) -> ((Ptr CFloat) -> ((Ptr CFloat) -> ((Ptr CFloat) -> ((Ptr CFloat) -> (IO CInt)))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_dgeequb"
  dgeequb'_ :: (CInt -> (CInt -> (CInt -> ((Ptr CDouble) -> (CInt -> ((Ptr CDouble) -> ((Ptr CDouble) -> ((Ptr CDouble) -> ((Ptr CDouble) -> ((Ptr CDouble) -> (IO CInt)))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_sgeequb"
  sgeequb'_ :: (CInt -> (CInt -> (CInt -> ((Ptr CFloat) -> (CInt -> ((Ptr CFloat) -> ((Ptr CFloat) -> ((Ptr CFloat) -> ((Ptr CFloat) -> ((Ptr CFloat) -> (IO CInt)))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_zgeequb"
  zgeequb'_ :: (CInt -> (CInt -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr CDouble) -> ((Ptr CDouble) -> ((Ptr CDouble) -> ((Ptr CDouble) -> ((Ptr CDouble) -> (IO CInt)))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_cheequb"
  cheequb'_ :: (CInt -> (CChar -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr CFloat) -> ((Ptr CFloat) -> ((Ptr CFloat) -> (IO CInt)))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_zheequb"
  zheequb'_ :: (CInt -> (CChar -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr CDouble) -> ((Ptr CDouble) -> ((Ptr CDouble) -> (IO CInt)))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_cpoequb"
  cpoequb'_ :: (CInt -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr CFloat) -> ((Ptr CFloat) -> ((Ptr CFloat) -> (IO CInt))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_dpoequb"
  dpoequb'_ :: (CInt -> (CInt -> ((Ptr CDouble) -> (CInt -> ((Ptr CDouble) -> ((Ptr CDouble) -> ((Ptr CDouble) -> (IO CInt))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_spoequb"
  spoequb'_ :: (CInt -> (CInt -> ((Ptr CFloat) -> (CInt -> ((Ptr CFloat) -> ((Ptr CFloat) -> ((Ptr CFloat) -> (IO CInt))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_zpoequb"
  zpoequb'_ :: (CInt -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr CDouble) -> ((Ptr CDouble) -> ((Ptr CDouble) -> (IO CInt))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_csyequb"
  csyequb'_ :: (CInt -> (CChar -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr CFloat) -> ((Ptr CFloat) -> ((Ptr CFloat) -> (IO CInt)))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_dsyequb"
  dsyequb'_ :: (CInt -> (CChar -> (CInt -> ((Ptr CDouble) -> (CInt -> ((Ptr CDouble) -> ((Ptr CDouble) -> ((Ptr CDouble) -> (IO CInt)))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_ssyequb"
  ssyequb'_ :: (CInt -> (CChar -> (CInt -> ((Ptr CFloat) -> (CInt -> ((Ptr CFloat) -> ((Ptr CFloat) -> ((Ptr CFloat) -> (IO CInt)))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_zsyequb"
  zsyequb'_ :: (CInt -> (CChar -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr CDouble) -> ((Ptr CDouble) -> ((Ptr CDouble) -> (IO CInt)))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_chbgv"
  chbgv'_ :: (CInt -> (CChar -> (CChar -> (CInt -> (CInt -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr CFloat) -> ((Ptr ()) -> (CInt -> (IO CInt))))))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_zhbgv"
  zhbgv'_ :: (CInt -> (CChar -> (CChar -> (CInt -> (CInt -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr CDouble) -> ((Ptr ()) -> (CInt -> (IO CInt))))))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_dsbgv"
  dsbgv'_ :: (CInt -> (CChar -> (CChar -> (CInt -> (CInt -> (CInt -> ((Ptr CDouble) -> (CInt -> ((Ptr CDouble) -> (CInt -> ((Ptr CDouble) -> ((Ptr CDouble) -> (CInt -> (IO CInt))))))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_ssbgv"
  ssbgv'_ :: (CInt -> (CChar -> (CChar -> (CInt -> (CInt -> (CInt -> ((Ptr CFloat) -> (CInt -> ((Ptr CFloat) -> (CInt -> ((Ptr CFloat) -> ((Ptr CFloat) -> (CInt -> (IO CInt))))))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_chbgvd"
  chbgvd'_ :: (CInt -> (CChar -> (CChar -> (CInt -> (CInt -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr CFloat) -> ((Ptr ()) -> (CInt -> (IO CInt))))))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_zhbgvd"
  zhbgvd'_ :: (CInt -> (CChar -> (CChar -> (CInt -> (CInt -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr CDouble) -> ((Ptr ()) -> (CInt -> (IO CInt))))))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_dsbgvd"
  dsbgvd'_ :: (CInt -> (CChar -> (CChar -> (CInt -> (CInt -> (CInt -> ((Ptr CDouble) -> (CInt -> ((Ptr CDouble) -> (CInt -> ((Ptr CDouble) -> ((Ptr CDouble) -> (CInt -> (IO CInt))))))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_ssbgvd"
  ssbgvd'_ :: (CInt -> (CChar -> (CChar -> (CInt -> (CInt -> (CInt -> ((Ptr CFloat) -> (CInt -> ((Ptr CFloat) -> (CInt -> ((Ptr CFloat) -> ((Ptr CFloat) -> (CInt -> (IO CInt))))))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_chbgst"
  chbgst'_ :: (CInt -> (CChar -> (CChar -> (CInt -> (CInt -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr ()) -> (CInt -> (IO CInt)))))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_zhbgst"
  zhbgst'_ :: (CInt -> (CChar -> (CChar -> (CInt -> (CInt -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr ()) -> (CInt -> (IO CInt)))))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_chbgvx"
  chbgvx'_ :: (CInt -> (CChar -> (CChar -> (CChar -> (CInt -> (CInt -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr ()) -> (CInt -> (CFloat -> (CFloat -> (CInt -> (CInt -> (CFloat -> ((Ptr CInt) -> ((Ptr CFloat) -> ((Ptr ()) -> (CInt -> ((Ptr CInt) -> (IO CInt))))))))))))))))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_zhbgvx"
  zhbgvx'_ :: (CInt -> (CChar -> (CChar -> (CChar -> (CInt -> (CInt -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr ()) -> (CInt -> (CDouble -> (CDouble -> (CInt -> (CInt -> (CDouble -> ((Ptr CInt) -> ((Ptr CDouble) -> ((Ptr ()) -> (CInt -> ((Ptr CInt) -> (IO CInt))))))))))))))))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_dsbgst"
  dsbgst'_ :: (CInt -> (CChar -> (CChar -> (CInt -> (CInt -> (CInt -> ((Ptr CDouble) -> (CInt -> ((Ptr CDouble) -> (CInt -> ((Ptr CDouble) -> (CInt -> (IO CInt)))))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_ssbgst"
  ssbgst'_ :: (CInt -> (CChar -> (CChar -> (CInt -> (CInt -> (CInt -> ((Ptr CFloat) -> (CInt -> ((Ptr CFloat) -> (CInt -> ((Ptr CFloat) -> (CInt -> (IO CInt)))))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_dsbgvx"
  dsbgvx'_ :: (CInt -> (CChar -> (CChar -> (CChar -> (CInt -> (CInt -> (CInt -> ((Ptr CDouble) -> (CInt -> ((Ptr CDouble) -> (CInt -> ((Ptr CDouble) -> (CInt -> (CDouble -> (CDouble -> (CInt -> (CInt -> (CDouble -> ((Ptr CInt) -> ((Ptr CDouble) -> ((Ptr CDouble) -> (CInt -> ((Ptr CInt) -> (IO CInt))))))))))))))))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_ssbgvx"
  ssbgvx'_ :: (CInt -> (CChar -> (CChar -> (CChar -> (CInt -> (CInt -> (CInt -> ((Ptr CFloat) -> (CInt -> ((Ptr CFloat) -> (CInt -> ((Ptr CFloat) -> (CInt -> (CFloat -> (CFloat -> (CInt -> (CInt -> (CFloat -> ((Ptr CInt) -> ((Ptr CFloat) -> ((Ptr CFloat) -> (CInt -> ((Ptr CInt) -> (IO CInt))))))))))))))))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_chegv"
  chegv'_ :: (CInt -> (CInt -> (CChar -> (CChar -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr CFloat) -> (IO CInt)))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_zhegv"
  zhegv'_ :: (CInt -> (CInt -> (CChar -> (CChar -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr CDouble) -> (IO CInt)))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_chegvd"
  chegvd'_ :: (CInt -> (CInt -> (CChar -> (CChar -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr CFloat) -> (IO CInt)))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_zhegvd"
  zhegvd'_ :: (CInt -> (CInt -> (CChar -> (CChar -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr CDouble) -> (IO CInt)))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_chegst"
  chegst'_ :: (CInt -> (CInt -> (CChar -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr ()) -> (CInt -> (IO CInt)))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_zhegst"
  zhegst'_ :: (CInt -> (CInt -> (CChar -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr ()) -> (CInt -> (IO CInt)))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_chegvx"
  chegvx'_ :: (CInt -> (CInt -> (CChar -> (CChar -> (CChar -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr ()) -> (CInt -> (CFloat -> (CFloat -> (CInt -> (CInt -> (CFloat -> ((Ptr CInt) -> ((Ptr CFloat) -> ((Ptr ()) -> (CInt -> ((Ptr CInt) -> (IO CInt)))))))))))))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_zhegvx"
  zhegvx'_ :: (CInt -> (CInt -> (CChar -> (CChar -> (CChar -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr ()) -> (CInt -> (CDouble -> (CDouble -> (CInt -> (CInt -> (CDouble -> ((Ptr CInt) -> ((Ptr CDouble) -> ((Ptr ()) -> (CInt -> ((Ptr CInt) -> (IO CInt)))))))))))))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_cggglm"
  cggglm'_ :: (CInt -> (CInt -> (CInt -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr ()) -> ((Ptr ()) -> ((Ptr ()) -> (IO CInt))))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_dggglm"
  dggglm'_ :: (CInt -> (CInt -> (CInt -> (CInt -> ((Ptr CDouble) -> (CInt -> ((Ptr CDouble) -> (CInt -> ((Ptr CDouble) -> ((Ptr CDouble) -> ((Ptr CDouble) -> (IO CInt))))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_sggglm"
  sggglm'_ :: (CInt -> (CInt -> (CInt -> (CInt -> ((Ptr CFloat) -> (CInt -> ((Ptr CFloat) -> (CInt -> ((Ptr CFloat) -> ((Ptr CFloat) -> ((Ptr CFloat) -> (IO CInt))))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_zggglm"
  zggglm'_ :: (CInt -> (CInt -> (CInt -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr ()) -> ((Ptr ()) -> ((Ptr ()) -> (IO CInt))))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_cungql"
  cungql'_ :: (CInt -> (CInt -> (CInt -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr ()) -> (IO CInt))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_zungql"
  zungql'_ :: (CInt -> (CInt -> (CInt -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr ()) -> (IO CInt))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_cunglq"
  cunglq'_ :: (CInt -> (CInt -> (CInt -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr ()) -> (IO CInt))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_cungrq"
  cungrq'_ :: (CInt -> (CInt -> (CInt -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr ()) -> (IO CInt))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_zunglq"
  zunglq'_ :: (CInt -> (CInt -> (CInt -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr ()) -> (IO CInt))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_zungrq"
  zungrq'_ :: (CInt -> (CInt -> (CInt -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr ()) -> (IO CInt))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_cungbr"
  cungbr'_ :: (CInt -> (CChar -> (CInt -> (CInt -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr ()) -> (IO CInt)))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_cunghr"
  cunghr'_ :: (CInt -> (CInt -> (CInt -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr ()) -> (IO CInt))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_cungqr"
  cungqr'_ :: (CInt -> (CInt -> (CInt -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr ()) -> (IO CInt))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_cungtr"
  cungtr'_ :: (CInt -> (CChar -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr ()) -> (IO CInt)))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_zungbr"
  zungbr'_ :: (CInt -> (CChar -> (CInt -> (CInt -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr ()) -> (IO CInt)))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_zunghr"
  zunghr'_ :: (CInt -> (CInt -> (CInt -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr ()) -> (IO CInt))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_zungqr"
  zungqr'_ :: (CInt -> (CInt -> (CInt -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr ()) -> (IO CInt))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_zungtr"
  zungtr'_ :: (CInt -> (CChar -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr ()) -> (IO CInt)))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_chpgv"
  chpgv'_ :: (CInt -> (CInt -> (CChar -> (CChar -> (CInt -> ((Ptr ()) -> ((Ptr ()) -> ((Ptr CFloat) -> ((Ptr ()) -> (CInt -> (IO CInt)))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_zhpgv"
  zhpgv'_ :: (CInt -> (CInt -> (CChar -> (CChar -> (CInt -> ((Ptr ()) -> ((Ptr ()) -> ((Ptr CDouble) -> ((Ptr ()) -> (CInt -> (IO CInt)))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_dspgv"
  dspgv'_ :: (CInt -> (CInt -> (CChar -> (CChar -> (CInt -> ((Ptr CDouble) -> ((Ptr CDouble) -> ((Ptr CDouble) -> ((Ptr CDouble) -> (CInt -> (IO CInt)))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_sspgv"
  sspgv'_ :: (CInt -> (CInt -> (CChar -> (CChar -> (CInt -> ((Ptr CFloat) -> ((Ptr CFloat) -> ((Ptr CFloat) -> ((Ptr CFloat) -> (CInt -> (IO CInt)))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_chpgvd"
  chpgvd'_ :: (CInt -> (CInt -> (CChar -> (CChar -> (CInt -> ((Ptr ()) -> ((Ptr ()) -> ((Ptr CFloat) -> ((Ptr ()) -> (CInt -> (IO CInt)))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_zhpgvd"
  zhpgvd'_ :: (CInt -> (CInt -> (CChar -> (CChar -> (CInt -> ((Ptr ()) -> ((Ptr ()) -> ((Ptr CDouble) -> ((Ptr ()) -> (CInt -> (IO CInt)))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_dspgvd"
  dspgvd'_ :: (CInt -> (CInt -> (CChar -> (CChar -> (CInt -> ((Ptr CDouble) -> ((Ptr CDouble) -> ((Ptr CDouble) -> ((Ptr CDouble) -> (CInt -> (IO CInt)))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_sspgvd"
  sspgvd'_ :: (CInt -> (CInt -> (CChar -> (CChar -> (CInt -> ((Ptr CFloat) -> ((Ptr CFloat) -> ((Ptr CFloat) -> ((Ptr CFloat) -> (CInt -> (IO CInt)))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_chpgst"
  chpgst'_ :: (CInt -> (CInt -> (CChar -> (CInt -> ((Ptr ()) -> ((Ptr ()) -> (IO CInt)))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_zhpgst"
  zhpgst'_ :: (CInt -> (CInt -> (CChar -> (CInt -> ((Ptr ()) -> ((Ptr ()) -> (IO CInt)))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_chpgvx"
  chpgvx'_ :: (CInt -> (CInt -> (CChar -> (CChar -> (CChar -> (CInt -> ((Ptr ()) -> ((Ptr ()) -> (CFloat -> (CFloat -> (CInt -> (CInt -> (CFloat -> ((Ptr CInt) -> ((Ptr CFloat) -> ((Ptr ()) -> (CInt -> ((Ptr CInt) -> (IO CInt)))))))))))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_zhpgvx"
  zhpgvx'_ :: (CInt -> (CInt -> (CChar -> (CChar -> (CChar -> (CInt -> ((Ptr ()) -> ((Ptr ()) -> (CDouble -> (CDouble -> (CInt -> (CInt -> (CDouble -> ((Ptr CInt) -> ((Ptr CDouble) -> ((Ptr ()) -> (CInt -> ((Ptr CInt) -> (IO CInt)))))))))))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_dopgtr"
  dopgtr'_ :: (CInt -> (CChar -> (CInt -> ((Ptr CDouble) -> ((Ptr CDouble) -> ((Ptr CDouble) -> (CInt -> (IO CInt))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_sopgtr"
  sopgtr'_ :: (CInt -> (CChar -> (CInt -> ((Ptr CFloat) -> ((Ptr CFloat) -> ((Ptr CFloat) -> (CInt -> (IO CInt))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_cupgtr"
  cupgtr'_ :: (CInt -> (CChar -> (CInt -> ((Ptr ()) -> ((Ptr ()) -> ((Ptr ()) -> (CInt -> (IO CInt))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_dspgst"
  dspgst'_ :: (CInt -> (CInt -> (CChar -> (CInt -> ((Ptr CDouble) -> ((Ptr CDouble) -> (IO CInt)))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_sspgst"
  sspgst'_ :: (CInt -> (CInt -> (CChar -> (CInt -> ((Ptr CFloat) -> ((Ptr CFloat) -> (IO CInt)))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_zupgtr"
  zupgtr'_ :: (CInt -> (CChar -> (CInt -> ((Ptr ()) -> ((Ptr ()) -> ((Ptr ()) -> (CInt -> (IO CInt))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_dspgvx"
  dspgvx'_ :: (CInt -> (CInt -> (CChar -> (CChar -> (CChar -> (CInt -> ((Ptr CDouble) -> ((Ptr CDouble) -> (CDouble -> (CDouble -> (CInt -> (CInt -> (CDouble -> ((Ptr CInt) -> ((Ptr CDouble) -> ((Ptr CDouble) -> (CInt -> ((Ptr CInt) -> (IO CInt)))))))))))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_sspgvx"
  sspgvx'_ :: (CInt -> (CInt -> (CChar -> (CChar -> (CChar -> (CInt -> ((Ptr CFloat) -> ((Ptr CFloat) -> (CFloat -> (CFloat -> (CInt -> (CInt -> (CFloat -> ((Ptr CInt) -> ((Ptr CFloat) -> ((Ptr CFloat) -> (CInt -> ((Ptr CInt) -> (IO CInt)))))))))))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_dorgql"
  dorgql'_ :: (CInt -> (CInt -> (CInt -> (CInt -> ((Ptr CDouble) -> (CInt -> ((Ptr CDouble) -> (IO CInt))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_sorgql"
  sorgql'_ :: (CInt -> (CInt -> (CInt -> (CInt -> ((Ptr CFloat) -> (CInt -> ((Ptr CFloat) -> (IO CInt))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_dorglq"
  dorglq'_ :: (CInt -> (CInt -> (CInt -> (CInt -> ((Ptr CDouble) -> (CInt -> ((Ptr CDouble) -> (IO CInt))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_dorgrq"
  dorgrq'_ :: (CInt -> (CInt -> (CInt -> (CInt -> ((Ptr CDouble) -> (CInt -> ((Ptr CDouble) -> (IO CInt))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_sorglq"
  sorglq'_ :: (CInt -> (CInt -> (CInt -> (CInt -> ((Ptr CFloat) -> (CInt -> ((Ptr CFloat) -> (IO CInt))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_sorgrq"
  sorgrq'_ :: (CInt -> (CInt -> (CInt -> (CInt -> ((Ptr CFloat) -> (CInt -> ((Ptr CFloat) -> (IO CInt))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_dorgbr"
  dorgbr'_ :: (CInt -> (CChar -> (CInt -> (CInt -> (CInt -> ((Ptr CDouble) -> (CInt -> ((Ptr CDouble) -> (IO CInt)))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_dorghr"
  dorghr'_ :: (CInt -> (CInt -> (CInt -> (CInt -> ((Ptr CDouble) -> (CInt -> ((Ptr CDouble) -> (IO CInt))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_dorgqr"
  dorgqr'_ :: (CInt -> (CInt -> (CInt -> (CInt -> ((Ptr CDouble) -> (CInt -> ((Ptr CDouble) -> (IO CInt))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_sorgbr"
  sorgbr'_ :: (CInt -> (CChar -> (CInt -> (CInt -> (CInt -> ((Ptr CFloat) -> (CInt -> ((Ptr CFloat) -> (IO CInt)))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_dorgtr"
  dorgtr'_ :: (CInt -> (CChar -> (CInt -> ((Ptr CDouble) -> (CInt -> ((Ptr CDouble) -> (IO CInt)))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_sorghr"
  sorghr'_ :: (CInt -> (CInt -> (CInt -> (CInt -> ((Ptr CFloat) -> (CInt -> ((Ptr CFloat) -> (IO CInt))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_sorgqr"
  sorgqr'_ :: (CInt -> (CInt -> (CInt -> (CInt -> ((Ptr CFloat) -> (CInt -> ((Ptr CFloat) -> (IO CInt))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_sorgtr"
  sorgtr'_ :: (CInt -> (CChar -> (CInt -> ((Ptr CFloat) -> (CInt -> ((Ptr CFloat) -> (IO CInt)))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_dsygv"
  dsygv'_ :: (CInt -> (CInt -> (CChar -> (CChar -> (CInt -> ((Ptr CDouble) -> (CInt -> ((Ptr CDouble) -> (CInt -> ((Ptr CDouble) -> (IO CInt)))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_ssygv"
  ssygv'_ :: (CInt -> (CInt -> (CChar -> (CChar -> (CInt -> ((Ptr CFloat) -> (CInt -> ((Ptr CFloat) -> (CInt -> ((Ptr CFloat) -> (IO CInt)))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_dsygvd"
  dsygvd'_ :: (CInt -> (CInt -> (CChar -> (CChar -> (CInt -> ((Ptr CDouble) -> (CInt -> ((Ptr CDouble) -> (CInt -> ((Ptr CDouble) -> (IO CInt)))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_ssygvd"
  ssygvd'_ :: (CInt -> (CInt -> (CChar -> (CChar -> (CInt -> ((Ptr CFloat) -> (CInt -> ((Ptr CFloat) -> (CInt -> ((Ptr CFloat) -> (IO CInt)))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_dsygst"
  dsygst'_ :: (CInt -> (CInt -> (CChar -> (CInt -> ((Ptr CDouble) -> (CInt -> ((Ptr CDouble) -> (CInt -> (IO CInt)))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_ssygst"
  ssygst'_ :: (CInt -> (CInt -> (CChar -> (CInt -> ((Ptr CFloat) -> (CInt -> ((Ptr CFloat) -> (CInt -> (IO CInt)))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_dsygvx"
  dsygvx'_ :: (CInt -> (CInt -> (CChar -> (CChar -> (CChar -> (CInt -> ((Ptr CDouble) -> (CInt -> ((Ptr CDouble) -> (CInt -> (CDouble -> (CDouble -> (CInt -> (CInt -> (CDouble -> ((Ptr CInt) -> ((Ptr CDouble) -> ((Ptr CDouble) -> (CInt -> ((Ptr CInt) -> (IO CInt)))))))))))))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_ssygvx"
  ssygvx'_ :: (CInt -> (CInt -> (CChar -> (CChar -> (CChar -> (CInt -> ((Ptr CFloat) -> (CInt -> ((Ptr CFloat) -> (CInt -> (CFloat -> (CFloat -> (CInt -> (CInt -> (CFloat -> ((Ptr CInt) -> ((Ptr CFloat) -> ((Ptr CFloat) -> (CInt -> ((Ptr CInt) -> (IO CInt)))))))))))))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_cgehrd"
  cgehrd'_ :: (CInt -> (CInt -> (CInt -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr ()) -> (IO CInt))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_dgehrd"
  dgehrd'_ :: (CInt -> (CInt -> (CInt -> (CInt -> ((Ptr CDouble) -> (CInt -> ((Ptr CDouble) -> (IO CInt))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_sgehrd"
  sgehrd'_ :: (CInt -> (CInt -> (CInt -> (CInt -> ((Ptr CFloat) -> (CInt -> ((Ptr CFloat) -> (IO CInt))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_zgehrd"
  zgehrd'_ :: (CInt -> (CInt -> (CInt -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr ()) -> (IO CInt))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_cgghrd"
  cgghrd'_ :: (CInt -> (CChar -> (CChar -> (CInt -> (CInt -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr ()) -> (CInt -> (IO CInt)))))))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_dgghrd"
  dgghrd'_ :: (CInt -> (CChar -> (CChar -> (CInt -> (CInt -> (CInt -> ((Ptr CDouble) -> (CInt -> ((Ptr CDouble) -> (CInt -> ((Ptr CDouble) -> (CInt -> ((Ptr CDouble) -> (CInt -> (IO CInt)))))))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_sgghrd"
  sgghrd'_ :: (CInt -> (CChar -> (CChar -> (CInt -> (CInt -> (CInt -> ((Ptr CFloat) -> (CInt -> ((Ptr CFloat) -> (CInt -> ((Ptr CFloat) -> (CInt -> ((Ptr CFloat) -> (CInt -> (IO CInt)))))))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_zgghrd"
  zgghrd'_ :: (CInt -> (CChar -> (CChar -> (CInt -> (CInt -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr ()) -> (CInt -> (IO CInt)))))))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_dgejsv"
  dgejsv'_ :: (CInt -> (CChar -> (CChar -> (CChar -> (CChar -> (CChar -> (CChar -> (CInt -> (CInt -> ((Ptr CDouble) -> (CInt -> ((Ptr CDouble) -> ((Ptr CDouble) -> (CInt -> ((Ptr CDouble) -> (CInt -> ((Ptr CDouble) -> ((Ptr CInt) -> (IO CInt)))))))))))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_sgejsv"
  sgejsv'_ :: (CInt -> (CChar -> (CChar -> (CChar -> (CChar -> (CChar -> (CChar -> (CInt -> (CInt -> ((Ptr CFloat) -> (CInt -> ((Ptr CFloat) -> ((Ptr CFloat) -> (CInt -> ((Ptr CFloat) -> (CInt -> ((Ptr CFloat) -> ((Ptr CInt) -> (IO CInt)))))))))))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_cgels"
  cgels'_ :: (CInt -> (CChar -> (CInt -> (CInt -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr ()) -> (CInt -> (IO CInt))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_dgels"
  dgels'_ :: (CInt -> (CChar -> (CInt -> (CInt -> (CInt -> ((Ptr CDouble) -> (CInt -> ((Ptr CDouble) -> (CInt -> (IO CInt))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_sgels"
  sgels'_ :: (CInt -> (CChar -> (CInt -> (CInt -> (CInt -> ((Ptr CFloat) -> (CInt -> ((Ptr CFloat) -> (CInt -> (IO CInt))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_zgels"
  zgels'_ :: (CInt -> (CChar -> (CInt -> (CInt -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr ()) -> (CInt -> (IO CInt))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_cgelsd"
  cgelsd'_ :: (CInt -> (CInt -> (CInt -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr CFloat) -> (CFloat -> ((Ptr CInt) -> (IO CInt))))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_dgelsd"
  dgelsd'_ :: (CInt -> (CInt -> (CInt -> (CInt -> ((Ptr CDouble) -> (CInt -> ((Ptr CDouble) -> (CInt -> ((Ptr CDouble) -> (CDouble -> ((Ptr CInt) -> (IO CInt))))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_sgelsd"
  sgelsd'_ :: (CInt -> (CInt -> (CInt -> (CInt -> ((Ptr CFloat) -> (CInt -> ((Ptr CFloat) -> (CInt -> ((Ptr CFloat) -> (CFloat -> ((Ptr CInt) -> (IO CInt))))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_zgelsd"
  zgelsd'_ :: (CInt -> (CInt -> (CInt -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr CDouble) -> (CDouble -> ((Ptr CInt) -> (IO CInt))))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_cgelqf"
  cgelqf'_ :: (CInt -> (CInt -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr ()) -> (IO CInt)))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_dgelqf"
  dgelqf'_ :: (CInt -> (CInt -> (CInt -> ((Ptr CDouble) -> (CInt -> ((Ptr CDouble) -> (IO CInt)))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_sgelqf"
  sgelqf'_ :: (CInt -> (CInt -> (CInt -> ((Ptr CFloat) -> (CInt -> ((Ptr CFloat) -> (IO CInt)))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_zgelqf"
  zgelqf'_ :: (CInt -> (CInt -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr ()) -> (IO CInt)))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_cgelss"
  cgelss'_ :: (CInt -> (CInt -> (CInt -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr CFloat) -> (CFloat -> ((Ptr CInt) -> (IO CInt))))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_dgelss"
  dgelss'_ :: (CInt -> (CInt -> (CInt -> (CInt -> ((Ptr CDouble) -> (CInt -> ((Ptr CDouble) -> (CInt -> ((Ptr CDouble) -> (CDouble -> ((Ptr CInt) -> (IO CInt))))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_sgelss"
  sgelss'_ :: (CInt -> (CInt -> (CInt -> (CInt -> ((Ptr CFloat) -> (CInt -> ((Ptr CFloat) -> (CInt -> ((Ptr CFloat) -> (CFloat -> ((Ptr CInt) -> (IO CInt))))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_zgelss"
  zgelss'_ :: (CInt -> (CInt -> (CInt -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr CDouble) -> (CDouble -> ((Ptr CInt) -> (IO CInt))))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_cgelsy"
  cgelsy'_ :: (CInt -> (CInt -> (CInt -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr CInt) -> (CFloat -> ((Ptr CInt) -> (IO CInt))))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_dgelsy"
  dgelsy'_ :: (CInt -> (CInt -> (CInt -> (CInt -> ((Ptr CDouble) -> (CInt -> ((Ptr CDouble) -> (CInt -> ((Ptr CInt) -> (CDouble -> ((Ptr CInt) -> (IO CInt))))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_sgelsy"
  sgelsy'_ :: (CInt -> (CInt -> (CInt -> (CInt -> ((Ptr CFloat) -> (CInt -> ((Ptr CFloat) -> (CInt -> ((Ptr CInt) -> (CFloat -> ((Ptr CInt) -> (IO CInt))))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_zgelsy"
  zgelsy'_ :: (CInt -> (CInt -> (CInt -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr CInt) -> (CDouble -> ((Ptr CInt) -> (IO CInt))))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_cgglse"
  cgglse'_ :: (CInt -> (CInt -> (CInt -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr ()) -> ((Ptr ()) -> ((Ptr ()) -> (IO CInt))))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_dgglse"
  dgglse'_ :: (CInt -> (CInt -> (CInt -> (CInt -> ((Ptr CDouble) -> (CInt -> ((Ptr CDouble) -> (CInt -> ((Ptr CDouble) -> ((Ptr CDouble) -> ((Ptr CDouble) -> (IO CInt))))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_sgglse"
  sgglse'_ :: (CInt -> (CInt -> (CInt -> (CInt -> ((Ptr CFloat) -> (CInt -> ((Ptr CFloat) -> (CInt -> ((Ptr CFloat) -> ((Ptr CFloat) -> ((Ptr CFloat) -> (IO CInt))))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_zgglse"
  zgglse'_ :: (CInt -> (CInt -> (CInt -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr ()) -> ((Ptr ()) -> ((Ptr ()) -> (IO CInt))))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_cunmql"
  cunmql'_ :: (CInt -> (CChar -> (CChar -> (CInt -> (CInt -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr ()) -> ((Ptr ()) -> (CInt -> (IO CInt))))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_zunmql"
  zunmql'_ :: (CInt -> (CChar -> (CChar -> (CInt -> (CInt -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr ()) -> ((Ptr ()) -> (CInt -> (IO CInt))))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_cunmlq"
  cunmlq'_ :: (CInt -> (CChar -> (CChar -> (CInt -> (CInt -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr ()) -> ((Ptr ()) -> (CInt -> (IO CInt))))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_cunmrq"
  cunmrq'_ :: (CInt -> (CChar -> (CChar -> (CInt -> (CInt -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr ()) -> ((Ptr ()) -> (CInt -> (IO CInt))))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_zunmlq"
  zunmlq'_ :: (CInt -> (CChar -> (CChar -> (CInt -> (CInt -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr ()) -> ((Ptr ()) -> (CInt -> (IO CInt))))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_zunmrq"
  zunmrq'_ :: (CInt -> (CChar -> (CChar -> (CInt -> (CInt -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr ()) -> ((Ptr ()) -> (CInt -> (IO CInt))))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_cunmbr"
  cunmbr'_ :: (CInt -> (CChar -> (CChar -> (CChar -> (CInt -> (CInt -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr ()) -> ((Ptr ()) -> (CInt -> (IO CInt)))))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_cunmhr"
  cunmhr'_ :: (CInt -> (CChar -> (CChar -> (CInt -> (CInt -> (CInt -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr ()) -> ((Ptr ()) -> (CInt -> (IO CInt)))))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_cunmqr"
  cunmqr'_ :: (CInt -> (CChar -> (CChar -> (CInt -> (CInt -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr ()) -> ((Ptr ()) -> (CInt -> (IO CInt))))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_cunmtr"
  cunmtr'_ :: (CInt -> (CChar -> (CChar -> (CChar -> (CInt -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr ()) -> ((Ptr ()) -> (CInt -> (IO CInt))))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_zunmbr"
  zunmbr'_ :: (CInt -> (CChar -> (CChar -> (CChar -> (CInt -> (CInt -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr ()) -> ((Ptr ()) -> (CInt -> (IO CInt)))))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_zunmhr"
  zunmhr'_ :: (CInt -> (CChar -> (CChar -> (CInt -> (CInt -> (CInt -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr ()) -> ((Ptr ()) -> (CInt -> (IO CInt)))))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_zunmqr"
  zunmqr'_ :: (CInt -> (CChar -> (CChar -> (CInt -> (CInt -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr ()) -> ((Ptr ()) -> (CInt -> (IO CInt))))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_zunmtr"
  zunmtr'_ :: (CInt -> (CChar -> (CChar -> (CChar -> (CInt -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr ()) -> ((Ptr ()) -> (CInt -> (IO CInt))))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_cunmrz"
  cunmrz'_ :: (CInt -> (CChar -> (CChar -> (CInt -> (CInt -> (CInt -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr ()) -> ((Ptr ()) -> (CInt -> (IO CInt)))))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_zunmrz"
  zunmrz'_ :: (CInt -> (CChar -> (CChar -> (CInt -> (CInt -> (CInt -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr ()) -> ((Ptr ()) -> (CInt -> (IO CInt)))))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_dopmtr"
  dopmtr'_ :: (CInt -> (CChar -> (CChar -> (CChar -> (CInt -> (CInt -> ((Ptr CDouble) -> ((Ptr CDouble) -> ((Ptr CDouble) -> (CInt -> (IO CInt)))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_sopmtr"
  sopmtr'_ :: (CInt -> (CChar -> (CChar -> (CChar -> (CInt -> (CInt -> ((Ptr CFloat) -> ((Ptr CFloat) -> ((Ptr CFloat) -> (CInt -> (IO CInt)))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_cupmtr"
  cupmtr'_ :: (CInt -> (CChar -> (CChar -> (CChar -> (CInt -> (CInt -> ((Ptr ()) -> ((Ptr ()) -> ((Ptr ()) -> (CInt -> (IO CInt)))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_zupmtr"
  zupmtr'_ :: (CInt -> (CChar -> (CChar -> (CChar -> (CInt -> (CInt -> ((Ptr ()) -> ((Ptr ()) -> ((Ptr ()) -> (CInt -> (IO CInt)))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_dormql"
  dormql'_ :: (CInt -> (CChar -> (CChar -> (CInt -> (CInt -> (CInt -> ((Ptr CDouble) -> (CInt -> ((Ptr CDouble) -> ((Ptr CDouble) -> (CInt -> (IO CInt))))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_sormql"
  sormql'_ :: (CInt -> (CChar -> (CChar -> (CInt -> (CInt -> (CInt -> ((Ptr CFloat) -> (CInt -> ((Ptr CFloat) -> ((Ptr CFloat) -> (CInt -> (IO CInt))))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_dormlq"
  dormlq'_ :: (CInt -> (CChar -> (CChar -> (CInt -> (CInt -> (CInt -> ((Ptr CDouble) -> (CInt -> ((Ptr CDouble) -> ((Ptr CDouble) -> (CInt -> (IO CInt))))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_dormrq"
  dormrq'_ :: (CInt -> (CChar -> (CChar -> (CInt -> (CInt -> (CInt -> ((Ptr CDouble) -> (CInt -> ((Ptr CDouble) -> ((Ptr CDouble) -> (CInt -> (IO CInt))))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_sormlq"
  sormlq'_ :: (CInt -> (CChar -> (CChar -> (CInt -> (CInt -> (CInt -> ((Ptr CFloat) -> (CInt -> ((Ptr CFloat) -> ((Ptr CFloat) -> (CInt -> (IO CInt))))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_sormrq"
  sormrq'_ :: (CInt -> (CChar -> (CChar -> (CInt -> (CInt -> (CInt -> ((Ptr CFloat) -> (CInt -> ((Ptr CFloat) -> ((Ptr CFloat) -> (CInt -> (IO CInt))))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_dormbr"
  dormbr'_ :: (CInt -> (CChar -> (CChar -> (CChar -> (CInt -> (CInt -> (CInt -> ((Ptr CDouble) -> (CInt -> ((Ptr CDouble) -> ((Ptr CDouble) -> (CInt -> (IO CInt)))))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_dormhr"
  dormhr'_ :: (CInt -> (CChar -> (CChar -> (CInt -> (CInt -> (CInt -> (CInt -> ((Ptr CDouble) -> (CInt -> ((Ptr CDouble) -> ((Ptr CDouble) -> (CInt -> (IO CInt)))))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_dormqr"
  dormqr'_ :: (CInt -> (CChar -> (CChar -> (CInt -> (CInt -> (CInt -> ((Ptr CDouble) -> (CInt -> ((Ptr CDouble) -> ((Ptr CDouble) -> (CInt -> (IO CInt))))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_sormbr"
  sormbr'_ :: (CInt -> (CChar -> (CChar -> (CChar -> (CInt -> (CInt -> (CInt -> ((Ptr CFloat) -> (CInt -> ((Ptr CFloat) -> ((Ptr CFloat) -> (CInt -> (IO CInt)))))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_dormtr"
  dormtr'_ :: (CInt -> (CChar -> (CChar -> (CChar -> (CInt -> (CInt -> ((Ptr CDouble) -> (CInt -> ((Ptr CDouble) -> ((Ptr CDouble) -> (CInt -> (IO CInt))))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_sormhr"
  sormhr'_ :: (CInt -> (CChar -> (CChar -> (CInt -> (CInt -> (CInt -> (CInt -> ((Ptr CFloat) -> (CInt -> ((Ptr CFloat) -> ((Ptr CFloat) -> (CInt -> (IO CInt)))))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_sormqr"
  sormqr'_ :: (CInt -> (CChar -> (CChar -> (CInt -> (CInt -> (CInt -> ((Ptr CFloat) -> (CInt -> ((Ptr CFloat) -> ((Ptr CFloat) -> (CInt -> (IO CInt))))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_sormtr"
  sormtr'_ :: (CInt -> (CChar -> (CChar -> (CChar -> (CInt -> (CInt -> ((Ptr CFloat) -> (CInt -> ((Ptr CFloat) -> ((Ptr CFloat) -> (CInt -> (IO CInt))))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_dormrz"
  dormrz'_ :: (CInt -> (CChar -> (CChar -> (CInt -> (CInt -> (CInt -> (CInt -> ((Ptr CDouble) -> (CInt -> ((Ptr CDouble) -> ((Ptr CDouble) -> (CInt -> (IO CInt)))))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_sormrz"
  sormrz'_ :: (CInt -> (CChar -> (CChar -> (CInt -> (CInt -> (CInt -> (CInt -> ((Ptr CFloat) -> (CInt -> ((Ptr CFloat) -> ((Ptr CFloat) -> (CInt -> (IO CInt)))))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_zcposv"
  zcposv'_ :: (CInt -> (CChar -> (CInt -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr CInt) -> (IO CInt))))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_dsposv"
  dsposv'_ :: (CInt -> (CChar -> (CInt -> (CInt -> ((Ptr CDouble) -> (CInt -> ((Ptr CDouble) -> (CInt -> ((Ptr CDouble) -> (CInt -> ((Ptr CInt) -> (IO CInt))))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_cgeqp3"
  cgeqp3'_ :: (CInt -> (CInt -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr CInt) -> ((Ptr ()) -> (IO CInt))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_dgeqp3"
  dgeqp3'_ :: (CInt -> (CInt -> (CInt -> ((Ptr CDouble) -> (CInt -> ((Ptr CInt) -> ((Ptr CDouble) -> (IO CInt))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_sgeqp3"
  sgeqp3'_ :: (CInt -> (CInt -> (CInt -> ((Ptr CFloat) -> (CInt -> ((Ptr CInt) -> ((Ptr CFloat) -> (IO CInt))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_zgeqp3"
  zgeqp3'_ :: (CInt -> (CInt -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr CInt) -> ((Ptr ()) -> (IO CInt))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_cgeqlf"
  cgeqlf'_ :: (CInt -> (CInt -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr ()) -> (IO CInt)))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_dgeqlf"
  dgeqlf'_ :: (CInt -> (CInt -> (CInt -> ((Ptr CDouble) -> (CInt -> ((Ptr CDouble) -> (IO CInt)))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_cgeqpf"
  cgeqpf'_ :: (CInt -> (CInt -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr CInt) -> ((Ptr ()) -> (IO CInt))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_dgeqpf"
  dgeqpf'_ :: (CInt -> (CInt -> (CInt -> ((Ptr CDouble) -> (CInt -> ((Ptr CInt) -> ((Ptr CDouble) -> (IO CInt))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_cgeqrf"
  cgeqrf'_ :: (CInt -> (CInt -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr ()) -> (IO CInt)))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_dgeqrf"
  dgeqrf'_ :: (CInt -> (CInt -> (CInt -> ((Ptr CDouble) -> (CInt -> ((Ptr CDouble) -> (IO CInt)))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_sgeqlf"
  sgeqlf'_ :: (CInt -> (CInt -> (CInt -> ((Ptr CFloat) -> (CInt -> ((Ptr CFloat) -> (IO CInt)))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_sgeqpf"
  sgeqpf'_ :: (CInt -> (CInt -> (CInt -> ((Ptr CFloat) -> (CInt -> ((Ptr CInt) -> ((Ptr CFloat) -> (IO CInt))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_sgeqrf"
  sgeqrf'_ :: (CInt -> (CInt -> (CInt -> ((Ptr CFloat) -> (CInt -> ((Ptr CFloat) -> (IO CInt)))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_zgeqlf"
  zgeqlf'_ :: (CInt -> (CInt -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr ()) -> (IO CInt)))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_zgeqpf"
  zgeqpf'_ :: (CInt -> (CInt -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr CInt) -> ((Ptr ()) -> (IO CInt))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_zgeqrf"
  zgeqrf'_ :: (CInt -> (CInt -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr ()) -> (IO CInt)))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_cggqrf"
  cggqrf'_ :: (CInt -> (CInt -> (CInt -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr ()) -> ((Ptr ()) -> (CInt -> ((Ptr ()) -> (IO CInt)))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_dggqrf"
  dggqrf'_ :: (CInt -> (CInt -> (CInt -> (CInt -> ((Ptr CDouble) -> (CInt -> ((Ptr CDouble) -> ((Ptr CDouble) -> (CInt -> ((Ptr CDouble) -> (IO CInt)))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_sggqrf"
  sggqrf'_ :: (CInt -> (CInt -> (CInt -> (CInt -> ((Ptr CFloat) -> (CInt -> ((Ptr CFloat) -> ((Ptr CFloat) -> (CInt -> ((Ptr CFloat) -> (IO CInt)))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_zggqrf"
  zggqrf'_ :: (CInt -> (CInt -> (CInt -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr ()) -> ((Ptr ()) -> (CInt -> ((Ptr ()) -> (IO CInt)))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_cgeqrfp"
  cgeqrfp'_ :: (CInt -> (CInt -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr ()) -> (IO CInt)))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_dgeqrfp"
  dgeqrfp'_ :: (CInt -> (CInt -> (CInt -> ((Ptr CDouble) -> (CInt -> ((Ptr CDouble) -> (IO CInt)))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_sgeqrfp"
  sgeqrfp'_ :: (CInt -> (CInt -> (CInt -> ((Ptr CFloat) -> (CInt -> ((Ptr CFloat) -> (IO CInt)))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_zgeqrfp"
  zgeqrfp'_ :: (CInt -> (CInt -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr ()) -> (IO CInt)))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_cgbrfs"
  cgbrfs'_ :: (CInt -> (CChar -> (CInt -> (CInt -> (CInt -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr CInt) -> ((Ptr ()) -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr CFloat) -> ((Ptr CFloat) -> (IO CInt))))))))))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_dgbrfs"
  dgbrfs'_ :: (CInt -> (CChar -> (CInt -> (CInt -> (CInt -> (CInt -> ((Ptr CDouble) -> (CInt -> ((Ptr CDouble) -> (CInt -> ((Ptr CInt) -> ((Ptr CDouble) -> (CInt -> ((Ptr CDouble) -> (CInt -> ((Ptr CDouble) -> ((Ptr CDouble) -> (IO CInt))))))))))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_sgbrfs"
  sgbrfs'_ :: (CInt -> (CChar -> (CInt -> (CInt -> (CInt -> (CInt -> ((Ptr CFloat) -> (CInt -> ((Ptr CFloat) -> (CInt -> ((Ptr CInt) -> ((Ptr CFloat) -> (CInt -> ((Ptr CFloat) -> (CInt -> ((Ptr CFloat) -> ((Ptr CFloat) -> (IO CInt))))))))))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_zgbrfs"
  zgbrfs'_ :: (CInt -> (CChar -> (CInt -> (CInt -> (CInt -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr CInt) -> ((Ptr ()) -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr CDouble) -> ((Ptr CDouble) -> (IO CInt))))))))))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_cpbrfs"
  cpbrfs'_ :: (CInt -> (CChar -> (CInt -> (CInt -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr CFloat) -> ((Ptr CFloat) -> (IO CInt))))))))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_dpbrfs"
  dpbrfs'_ :: (CInt -> (CChar -> (CInt -> (CInt -> (CInt -> ((Ptr CDouble) -> (CInt -> ((Ptr CDouble) -> (CInt -> ((Ptr CDouble) -> (CInt -> ((Ptr CDouble) -> (CInt -> ((Ptr CDouble) -> ((Ptr CDouble) -> (IO CInt))))))))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_spbrfs"
  spbrfs'_ :: (CInt -> (CChar -> (CInt -> (CInt -> (CInt -> ((Ptr CFloat) -> (CInt -> ((Ptr CFloat) -> (CInt -> ((Ptr CFloat) -> (CInt -> ((Ptr CFloat) -> (CInt -> ((Ptr CFloat) -> ((Ptr CFloat) -> (IO CInt))))))))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_zpbrfs"
  zpbrfs'_ :: (CInt -> (CChar -> (CInt -> (CInt -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr CDouble) -> ((Ptr CDouble) -> (IO CInt))))))))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_ctbrfs"
  ctbrfs'_ :: (CInt -> (CChar -> (CChar -> (CChar -> (CInt -> (CInt -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr CFloat) -> ((Ptr CFloat) -> (IO CInt))))))))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_dtbrfs"
  dtbrfs'_ :: (CInt -> (CChar -> (CChar -> (CChar -> (CInt -> (CInt -> (CInt -> ((Ptr CDouble) -> (CInt -> ((Ptr CDouble) -> (CInt -> ((Ptr CDouble) -> (CInt -> ((Ptr CDouble) -> ((Ptr CDouble) -> (IO CInt))))))))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_stbrfs"
  stbrfs'_ :: (CInt -> (CChar -> (CChar -> (CChar -> (CInt -> (CInt -> (CInt -> ((Ptr CFloat) -> (CInt -> ((Ptr CFloat) -> (CInt -> ((Ptr CFloat) -> (CInt -> ((Ptr CFloat) -> ((Ptr CFloat) -> (IO CInt))))))))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_ztbrfs"
  ztbrfs'_ :: (CInt -> (CChar -> (CChar -> (CChar -> (CInt -> (CInt -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr CDouble) -> ((Ptr CDouble) -> (IO CInt))))))))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_cgerqf"
  cgerqf'_ :: (CInt -> (CInt -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr ()) -> (IO CInt)))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_dgerqf"
  dgerqf'_ :: (CInt -> (CInt -> (CInt -> ((Ptr CDouble) -> (CInt -> ((Ptr CDouble) -> (IO CInt)))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_sgerqf"
  sgerqf'_ :: (CInt -> (CInt -> (CInt -> ((Ptr CFloat) -> (CInt -> ((Ptr CFloat) -> (IO CInt)))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_zgerqf"
  zgerqf'_ :: (CInt -> (CInt -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr ()) -> (IO CInt)))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_cgerfs"
  cgerfs'_ :: (CInt -> (CChar -> (CInt -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr CInt) -> ((Ptr ()) -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr CFloat) -> ((Ptr CFloat) -> (IO CInt))))))))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_dgerfs"
  dgerfs'_ :: (CInt -> (CChar -> (CInt -> (CInt -> ((Ptr CDouble) -> (CInt -> ((Ptr CDouble) -> (CInt -> ((Ptr CInt) -> ((Ptr CDouble) -> (CInt -> ((Ptr CDouble) -> (CInt -> ((Ptr CDouble) -> ((Ptr CDouble) -> (IO CInt))))))))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_sgerfs"
  sgerfs'_ :: (CInt -> (CChar -> (CInt -> (CInt -> ((Ptr CFloat) -> (CInt -> ((Ptr CFloat) -> (CInt -> ((Ptr CInt) -> ((Ptr CFloat) -> (CInt -> ((Ptr CFloat) -> (CInt -> ((Ptr CFloat) -> ((Ptr CFloat) -> (IO CInt))))))))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_zgerfs"
  zgerfs'_ :: (CInt -> (CChar -> (CInt -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr CInt) -> ((Ptr ()) -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr CDouble) -> ((Ptr CDouble) -> (IO CInt))))))))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_cherfs"
  cherfs'_ :: (CInt -> (CChar -> (CInt -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr CInt) -> ((Ptr ()) -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr CFloat) -> ((Ptr CFloat) -> (IO CInt))))))))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_zherfs"
  zherfs'_ :: (CInt -> (CChar -> (CInt -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr CInt) -> ((Ptr ()) -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr CDouble) -> ((Ptr CDouble) -> (IO CInt))))))))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_chfrk"
  chfrk'_ :: (CInt -> (CChar -> (CChar -> (CChar -> (CInt -> (CInt -> (CFloat -> ((Ptr ()) -> (CInt -> (CFloat -> ((Ptr ()) -> (IO CInt))))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_zhfrk"
  zhfrk'_ :: (CInt -> (CChar -> (CChar -> (CChar -> (CInt -> (CInt -> (CDouble -> ((Ptr ()) -> (CInt -> (CDouble -> ((Ptr ()) -> (IO CInt))))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_dsfrk"
  dsfrk'_ :: (CInt -> (CChar -> (CChar -> (CChar -> (CInt -> (CInt -> (CDouble -> ((Ptr CDouble) -> (CInt -> (CDouble -> ((Ptr CDouble) -> (IO CInt))))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_ssfrk"
  ssfrk'_ :: (CInt -> (CChar -> (CChar -> (CChar -> (CInt -> (CInt -> (CFloat -> ((Ptr CFloat) -> (CInt -> (CFloat -> ((Ptr CFloat) -> (IO CInt))))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_cggrqf"
  cggrqf'_ :: (CInt -> (CInt -> (CInt -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr ()) -> ((Ptr ()) -> (CInt -> ((Ptr ()) -> (IO CInt)))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_dggrqf"
  dggrqf'_ :: (CInt -> (CInt -> (CInt -> (CInt -> ((Ptr CDouble) -> (CInt -> ((Ptr CDouble) -> ((Ptr CDouble) -> (CInt -> ((Ptr CDouble) -> (IO CInt)))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_sggrqf"
  sggrqf'_ :: (CInt -> (CInt -> (CInt -> (CInt -> ((Ptr CFloat) -> (CInt -> ((Ptr CFloat) -> ((Ptr CFloat) -> (CInt -> ((Ptr CFloat) -> (IO CInt)))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_zggrqf"
  zggrqf'_ :: (CInt -> (CInt -> (CInt -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr ()) -> ((Ptr ()) -> (CInt -> ((Ptr ()) -> (IO CInt)))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_cporfs"
  cporfs'_ :: (CInt -> (CChar -> (CInt -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr CFloat) -> ((Ptr CFloat) -> (IO CInt)))))))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_dporfs"
  dporfs'_ :: (CInt -> (CChar -> (CInt -> (CInt -> ((Ptr CDouble) -> (CInt -> ((Ptr CDouble) -> (CInt -> ((Ptr CDouble) -> (CInt -> ((Ptr CDouble) -> (CInt -> ((Ptr CDouble) -> ((Ptr CDouble) -> (IO CInt)))))))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_sporfs"
  sporfs'_ :: (CInt -> (CChar -> (CInt -> (CInt -> ((Ptr CFloat) -> (CInt -> ((Ptr CFloat) -> (CInt -> ((Ptr CFloat) -> (CInt -> ((Ptr CFloat) -> (CInt -> ((Ptr CFloat) -> ((Ptr CFloat) -> (IO CInt)))))))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_zporfs"
  zporfs'_ :: (CInt -> (CChar -> (CInt -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr CDouble) -> ((Ptr CDouble) -> (IO CInt)))))))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_chprfs"
  chprfs'_ :: (CInt -> (CChar -> (CInt -> (CInt -> ((Ptr ()) -> ((Ptr ()) -> ((Ptr CInt) -> ((Ptr ()) -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr CFloat) -> ((Ptr CFloat) -> (IO CInt))))))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_zhprfs"
  zhprfs'_ :: (CInt -> (CChar -> (CInt -> (CInt -> ((Ptr ()) -> ((Ptr ()) -> ((Ptr CInt) -> ((Ptr ()) -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr CDouble) -> ((Ptr CDouble) -> (IO CInt))))))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_cpprfs"
  cpprfs'_ :: (CInt -> (CChar -> (CInt -> (CInt -> ((Ptr ()) -> ((Ptr ()) -> ((Ptr ()) -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr CFloat) -> ((Ptr CFloat) -> (IO CInt)))))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_dpprfs"
  dpprfs'_ :: (CInt -> (CChar -> (CInt -> (CInt -> ((Ptr CDouble) -> ((Ptr CDouble) -> ((Ptr CDouble) -> (CInt -> ((Ptr CDouble) -> (CInt -> ((Ptr CDouble) -> ((Ptr CDouble) -> (IO CInt)))))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_spprfs"
  spprfs'_ :: (CInt -> (CChar -> (CInt -> (CInt -> ((Ptr CFloat) -> ((Ptr CFloat) -> ((Ptr CFloat) -> (CInt -> ((Ptr CFloat) -> (CInt -> ((Ptr CFloat) -> ((Ptr CFloat) -> (IO CInt)))))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_zpprfs"
  zpprfs'_ :: (CInt -> (CChar -> (CInt -> (CInt -> ((Ptr ()) -> ((Ptr ()) -> ((Ptr ()) -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr CDouble) -> ((Ptr CDouble) -> (IO CInt)))))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_csprfs"
  csprfs'_ :: (CInt -> (CChar -> (CInt -> (CInt -> ((Ptr ()) -> ((Ptr ()) -> ((Ptr CInt) -> ((Ptr ()) -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr CFloat) -> ((Ptr CFloat) -> (IO CInt))))))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_dsprfs"
  dsprfs'_ :: (CInt -> (CChar -> (CInt -> (CInt -> ((Ptr CDouble) -> ((Ptr CDouble) -> ((Ptr CInt) -> ((Ptr CDouble) -> (CInt -> ((Ptr CDouble) -> (CInt -> ((Ptr CDouble) -> ((Ptr CDouble) -> (IO CInt))))))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_ssprfs"
  ssprfs'_ :: (CInt -> (CChar -> (CInt -> (CInt -> ((Ptr CFloat) -> ((Ptr CFloat) -> ((Ptr CInt) -> ((Ptr CFloat) -> (CInt -> ((Ptr CFloat) -> (CInt -> ((Ptr CFloat) -> ((Ptr CFloat) -> (IO CInt))))))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_zsprfs"
  zsprfs'_ :: (CInt -> (CChar -> (CInt -> (CInt -> ((Ptr ()) -> ((Ptr ()) -> ((Ptr CInt) -> ((Ptr ()) -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr CDouble) -> ((Ptr CDouble) -> (IO CInt))))))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_ctprfs"
  ctprfs'_ :: (CInt -> (CChar -> (CChar -> (CChar -> (CInt -> (CInt -> ((Ptr ()) -> ((Ptr ()) -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr CFloat) -> ((Ptr CFloat) -> (IO CInt))))))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_dtprfs"
  dtprfs'_ :: (CInt -> (CChar -> (CChar -> (CChar -> (CInt -> (CInt -> ((Ptr CDouble) -> ((Ptr CDouble) -> (CInt -> ((Ptr CDouble) -> (CInt -> ((Ptr CDouble) -> ((Ptr CDouble) -> (IO CInt))))))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_stprfs"
  stprfs'_ :: (CInt -> (CChar -> (CChar -> (CChar -> (CInt -> (CInt -> ((Ptr CFloat) -> ((Ptr CFloat) -> (CInt -> ((Ptr CFloat) -> (CInt -> ((Ptr CFloat) -> ((Ptr CFloat) -> (IO CInt))))))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_ztprfs"
  ztprfs'_ :: (CInt -> (CChar -> (CChar -> (CChar -> (CInt -> (CInt -> ((Ptr ()) -> ((Ptr ()) -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr CDouble) -> ((Ptr CDouble) -> (IO CInt))))))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_ctrrfs"
  ctrrfs'_ :: (CInt -> (CChar -> (CChar -> (CChar -> (CInt -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr CFloat) -> ((Ptr CFloat) -> (IO CInt)))))))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_dtrrfs"
  dtrrfs'_ :: (CInt -> (CChar -> (CChar -> (CChar -> (CInt -> (CInt -> ((Ptr CDouble) -> (CInt -> ((Ptr CDouble) -> (CInt -> ((Ptr CDouble) -> (CInt -> ((Ptr CDouble) -> ((Ptr CDouble) -> (IO CInt)))))))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_strrfs"
  strrfs'_ :: (CInt -> (CChar -> (CChar -> (CChar -> (CInt -> (CInt -> ((Ptr CFloat) -> (CInt -> ((Ptr CFloat) -> (CInt -> ((Ptr CFloat) -> (CInt -> ((Ptr CFloat) -> ((Ptr CFloat) -> (IO CInt)))))))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_ztrrfs"
  ztrrfs'_ :: (CInt -> (CChar -> (CChar -> (CChar -> (CInt -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr CDouble) -> ((Ptr CDouble) -> (IO CInt)))))))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_cgtrfs"
  cgtrfs'_ :: (CInt -> (CChar -> (CInt -> (CInt -> ((Ptr ()) -> ((Ptr ()) -> ((Ptr ()) -> ((Ptr ()) -> ((Ptr ()) -> ((Ptr ()) -> ((Ptr ()) -> ((Ptr CInt) -> ((Ptr ()) -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr CFloat) -> ((Ptr CFloat) -> (IO CInt)))))))))))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_dgtrfs"
  dgtrfs'_ :: (CInt -> (CChar -> (CInt -> (CInt -> ((Ptr CDouble) -> ((Ptr CDouble) -> ((Ptr CDouble) -> ((Ptr CDouble) -> ((Ptr CDouble) -> ((Ptr CDouble) -> ((Ptr CDouble) -> ((Ptr CInt) -> ((Ptr CDouble) -> (CInt -> ((Ptr CDouble) -> (CInt -> ((Ptr CDouble) -> ((Ptr CDouble) -> (IO CInt)))))))))))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_sgtrfs"
  sgtrfs'_ :: (CInt -> (CChar -> (CInt -> (CInt -> ((Ptr CFloat) -> ((Ptr CFloat) -> ((Ptr CFloat) -> ((Ptr CFloat) -> ((Ptr CFloat) -> ((Ptr CFloat) -> ((Ptr CFloat) -> ((Ptr CInt) -> ((Ptr CFloat) -> (CInt -> ((Ptr CFloat) -> (CInt -> ((Ptr CFloat) -> ((Ptr CFloat) -> (IO CInt)))))))))))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_zgtrfs"
  zgtrfs'_ :: (CInt -> (CChar -> (CInt -> (CInt -> ((Ptr ()) -> ((Ptr ()) -> ((Ptr ()) -> ((Ptr ()) -> ((Ptr ()) -> ((Ptr ()) -> ((Ptr ()) -> ((Ptr CInt) -> ((Ptr ()) -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr CDouble) -> ((Ptr CDouble) -> (IO CInt)))))))))))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_cptrfs"
  cptrfs'_ :: (CInt -> (CChar -> (CInt -> (CInt -> ((Ptr CFloat) -> ((Ptr ()) -> ((Ptr CFloat) -> ((Ptr ()) -> ((Ptr ()) -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr CFloat) -> ((Ptr CFloat) -> (IO CInt)))))))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_dptrfs"
  dptrfs'_ :: (CInt -> (CInt -> (CInt -> ((Ptr CDouble) -> ((Ptr CDouble) -> ((Ptr CDouble) -> ((Ptr CDouble) -> ((Ptr CDouble) -> (CInt -> ((Ptr CDouble) -> (CInt -> ((Ptr CDouble) -> ((Ptr CDouble) -> (IO CInt))))))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_sptrfs"
  sptrfs'_ :: (CInt -> (CInt -> (CInt -> ((Ptr CFloat) -> ((Ptr CFloat) -> ((Ptr CFloat) -> ((Ptr CFloat) -> ((Ptr CFloat) -> (CInt -> ((Ptr CFloat) -> (CInt -> ((Ptr CFloat) -> ((Ptr CFloat) -> (IO CInt))))))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_zptrfs"
  zptrfs'_ :: (CInt -> (CChar -> (CInt -> (CInt -> ((Ptr CDouble) -> ((Ptr ()) -> ((Ptr CDouble) -> ((Ptr ()) -> ((Ptr ()) -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr CDouble) -> ((Ptr CDouble) -> (IO CInt)))))))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_csyrfs"
  csyrfs'_ :: (CInt -> (CChar -> (CInt -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr CInt) -> ((Ptr ()) -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr CFloat) -> ((Ptr CFloat) -> (IO CInt))))))))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_dsyrfs"
  dsyrfs'_ :: (CInt -> (CChar -> (CInt -> (CInt -> ((Ptr CDouble) -> (CInt -> ((Ptr CDouble) -> (CInt -> ((Ptr CInt) -> ((Ptr CDouble) -> (CInt -> ((Ptr CDouble) -> (CInt -> ((Ptr CDouble) -> ((Ptr CDouble) -> (IO CInt))))))))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_ssyrfs"
  ssyrfs'_ :: (CInt -> (CChar -> (CInt -> (CInt -> ((Ptr CFloat) -> (CInt -> ((Ptr CFloat) -> (CInt -> ((Ptr CInt) -> ((Ptr CFloat) -> (CInt -> ((Ptr CFloat) -> (CInt -> ((Ptr CFloat) -> ((Ptr CFloat) -> (IO CInt))))))))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_zsyrfs"
  zsyrfs'_ :: (CInt -> (CChar -> (CInt -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr CInt) -> ((Ptr ()) -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr CDouble) -> ((Ptr CDouble) -> (IO CInt))))))))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_ctzrzf"
  ctzrzf'_ :: (CInt -> (CInt -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr ()) -> (IO CInt)))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_dtzrzf"
  dtzrzf'_ :: (CInt -> (CInt -> (CInt -> ((Ptr CDouble) -> (CInt -> ((Ptr CDouble) -> (IO CInt)))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_stzrzf"
  stzrzf'_ :: (CInt -> (CInt -> (CInt -> ((Ptr CFloat) -> (CInt -> ((Ptr CFloat) -> (IO CInt)))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_ztzrzf"
  ztzrzf'_ :: (CInt -> (CInt -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr ()) -> (IO CInt)))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_cgbsv"
  cgbsv'_ :: (CInt -> (CInt -> (CInt -> (CInt -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr CInt) -> ((Ptr ()) -> (CInt -> (IO CInt)))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_dgbsv"
  dgbsv'_ :: (CInt -> (CInt -> (CInt -> (CInt -> (CInt -> ((Ptr CDouble) -> (CInt -> ((Ptr CInt) -> ((Ptr CDouble) -> (CInt -> (IO CInt)))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_sgbsv"
  sgbsv'_ :: (CInt -> (CInt -> (CInt -> (CInt -> (CInt -> ((Ptr CFloat) -> (CInt -> ((Ptr CInt) -> ((Ptr CFloat) -> (CInt -> (IO CInt)))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_zgbsv"
  zgbsv'_ :: (CInt -> (CInt -> (CInt -> (CInt -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr CInt) -> ((Ptr ()) -> (CInt -> (IO CInt)))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_cpbsv"
  cpbsv'_ :: (CInt -> (CChar -> (CInt -> (CInt -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr ()) -> (CInt -> (IO CInt))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_dpbsv"
  dpbsv'_ :: (CInt -> (CChar -> (CInt -> (CInt -> (CInt -> ((Ptr CDouble) -> (CInt -> ((Ptr CDouble) -> (CInt -> (IO CInt))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_spbsv"
  spbsv'_ :: (CInt -> (CChar -> (CInt -> (CInt -> (CInt -> ((Ptr CFloat) -> (CInt -> ((Ptr CFloat) -> (CInt -> (IO CInt))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_zpbsv"
  zpbsv'_ :: (CInt -> (CChar -> (CInt -> (CInt -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr ()) -> (CInt -> (IO CInt))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_cpbstf"
  cpbstf'_ :: (CInt -> (CChar -> (CInt -> (CInt -> ((Ptr ()) -> (CInt -> (IO CInt)))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_dpbstf"
  dpbstf'_ :: (CInt -> (CChar -> (CInt -> (CInt -> ((Ptr CDouble) -> (CInt -> (IO CInt)))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_spbstf"
  spbstf'_ :: (CInt -> (CChar -> (CInt -> (CInt -> ((Ptr CFloat) -> (CInt -> (IO CInt)))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_zpbstf"
  zpbstf'_ :: (CInt -> (CChar -> (CInt -> (CInt -> ((Ptr ()) -> (CInt -> (IO CInt)))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_cgbsvx"
  cgbsvx'_ :: (CInt -> (CChar -> (CChar -> (CInt -> (CInt -> (CInt -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr CInt) -> ((Ptr CChar) -> ((Ptr CFloat) -> ((Ptr CFloat) -> ((Ptr ()) -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr CFloat) -> ((Ptr CFloat) -> ((Ptr CFloat) -> ((Ptr CFloat) -> (IO CInt))))))))))))))))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_dgbsvx"
  dgbsvx'_ :: (CInt -> (CChar -> (CChar -> (CInt -> (CInt -> (CInt -> (CInt -> ((Ptr CDouble) -> (CInt -> ((Ptr CDouble) -> (CInt -> ((Ptr CInt) -> ((Ptr CChar) -> ((Ptr CDouble) -> ((Ptr CDouble) -> ((Ptr CDouble) -> (CInt -> ((Ptr CDouble) -> (CInt -> ((Ptr CDouble) -> ((Ptr CDouble) -> ((Ptr CDouble) -> ((Ptr CDouble) -> (IO CInt))))))))))))))))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_sgbsvx"
  sgbsvx'_ :: (CInt -> (CChar -> (CChar -> (CInt -> (CInt -> (CInt -> (CInt -> ((Ptr CFloat) -> (CInt -> ((Ptr CFloat) -> (CInt -> ((Ptr CInt) -> ((Ptr CChar) -> ((Ptr CFloat) -> ((Ptr CFloat) -> ((Ptr CFloat) -> (CInt -> ((Ptr CFloat) -> (CInt -> ((Ptr CFloat) -> ((Ptr CFloat) -> ((Ptr CFloat) -> ((Ptr CFloat) -> (IO CInt))))))))))))))))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_zgbsvx"
  zgbsvx'_ :: (CInt -> (CChar -> (CChar -> (CInt -> (CInt -> (CInt -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr CInt) -> ((Ptr CChar) -> ((Ptr CDouble) -> ((Ptr CDouble) -> ((Ptr ()) -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr CDouble) -> ((Ptr CDouble) -> ((Ptr CDouble) -> ((Ptr CDouble) -> (IO CInt))))))))))))))))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_cpbsvx"
  cpbsvx'_ :: (CInt -> (CChar -> (CChar -> (CInt -> (CInt -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr CChar) -> ((Ptr CFloat) -> ((Ptr ()) -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr CFloat) -> ((Ptr CFloat) -> ((Ptr CFloat) -> (IO CInt))))))))))))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_dpbsvx"
  dpbsvx'_ :: (CInt -> (CChar -> (CChar -> (CInt -> (CInt -> (CInt -> ((Ptr CDouble) -> (CInt -> ((Ptr CDouble) -> (CInt -> ((Ptr CChar) -> ((Ptr CDouble) -> ((Ptr CDouble) -> (CInt -> ((Ptr CDouble) -> (CInt -> ((Ptr CDouble) -> ((Ptr CDouble) -> ((Ptr CDouble) -> (IO CInt))))))))))))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_spbsvx"
  spbsvx'_ :: (CInt -> (CChar -> (CChar -> (CInt -> (CInt -> (CInt -> ((Ptr CFloat) -> (CInt -> ((Ptr CFloat) -> (CInt -> ((Ptr CChar) -> ((Ptr CFloat) -> ((Ptr CFloat) -> (CInt -> ((Ptr CFloat) -> (CInt -> ((Ptr CFloat) -> ((Ptr CFloat) -> ((Ptr CFloat) -> (IO CInt))))))))))))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_zpbsvx"
  zpbsvx'_ :: (CInt -> (CChar -> (CChar -> (CInt -> (CInt -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr CChar) -> ((Ptr CDouble) -> ((Ptr ()) -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr CDouble) -> ((Ptr CDouble) -> ((Ptr CDouble) -> (IO CInt))))))))))))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_dbdsdc"
  dbdsdc'_ :: (CInt -> (CChar -> (CChar -> (CInt -> ((Ptr CDouble) -> ((Ptr CDouble) -> ((Ptr CDouble) -> (CInt -> ((Ptr CDouble) -> (CInt -> ((Ptr CDouble) -> ((Ptr CInt) -> (IO CInt)))))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_sbdsdc"
  sbdsdc'_ :: (CInt -> (CChar -> (CChar -> (CInt -> ((Ptr CFloat) -> ((Ptr CFloat) -> ((Ptr CFloat) -> (CInt -> ((Ptr CFloat) -> (CInt -> ((Ptr CFloat) -> ((Ptr CInt) -> (IO CInt)))))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_cbdsqr"
  cbdsqr'_ :: (CInt -> (CChar -> (CInt -> (CInt -> (CInt -> (CInt -> ((Ptr CFloat) -> ((Ptr CFloat) -> ((Ptr ()) -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr ()) -> (CInt -> (IO CInt)))))))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_dbdsqr"
  dbdsqr'_ :: (CInt -> (CChar -> (CInt -> (CInt -> (CInt -> (CInt -> ((Ptr CDouble) -> ((Ptr CDouble) -> ((Ptr CDouble) -> (CInt -> ((Ptr CDouble) -> (CInt -> ((Ptr CDouble) -> (CInt -> (IO CInt)))))))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_sbdsqr"
  sbdsqr'_ :: (CInt -> (CChar -> (CInt -> (CInt -> (CInt -> (CInt -> ((Ptr CFloat) -> ((Ptr CFloat) -> ((Ptr CFloat) -> (CInt -> ((Ptr CFloat) -> (CInt -> ((Ptr CFloat) -> (CInt -> (IO CInt)))))))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_zbdsqr"
  zbdsqr'_ :: (CInt -> (CChar -> (CInt -> (CInt -> (CInt -> (CInt -> ((Ptr CDouble) -> ((Ptr CDouble) -> ((Ptr ()) -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr ()) -> (CInt -> (IO CInt)))))))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_cgesv"
  cgesv'_ :: (CInt -> (CInt -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr CInt) -> ((Ptr ()) -> (CInt -> (IO CInt)))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_dgesv"
  dgesv'_ :: (CInt -> (CInt -> (CInt -> ((Ptr CDouble) -> (CInt -> ((Ptr CInt) -> ((Ptr CDouble) -> (CInt -> (IO CInt)))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_sgesv"
  sgesv'_ :: (CInt -> (CInt -> (CInt -> ((Ptr CFloat) -> (CInt -> ((Ptr CInt) -> ((Ptr CFloat) -> (CInt -> (IO CInt)))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_zgesv"
  zgesv'_ :: (CInt -> (CInt -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr CInt) -> ((Ptr ()) -> (CInt -> (IO CInt)))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_chesv"
  chesv'_ :: (CInt -> (CChar -> (CInt -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr CInt) -> ((Ptr ()) -> (CInt -> (IO CInt))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_zhesv"
  zhesv'_ :: (CInt -> (CChar -> (CInt -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr CInt) -> ((Ptr ()) -> (CInt -> (IO CInt))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_cgesdd"
  cgesdd'_ :: (CInt -> (CChar -> (CInt -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr CFloat) -> ((Ptr ()) -> (CInt -> ((Ptr ()) -> (CInt -> (IO CInt))))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_dgesdd"
  dgesdd'_ :: (CInt -> (CChar -> (CInt -> (CInt -> ((Ptr CDouble) -> (CInt -> ((Ptr CDouble) -> ((Ptr CDouble) -> (CInt -> ((Ptr CDouble) -> (CInt -> (IO CInt))))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_sgesdd"
  sgesdd'_ :: (CInt -> (CChar -> (CInt -> (CInt -> ((Ptr CFloat) -> (CInt -> ((Ptr CFloat) -> ((Ptr CFloat) -> (CInt -> ((Ptr CFloat) -> (CInt -> (IO CInt))))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_cgesvd"
  cgesvd'_ :: (CInt -> (CChar -> (CChar -> (CInt -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr CFloat) -> ((Ptr ()) -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr CFloat) -> (IO CInt))))))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_dgesvd"
  dgesvd'_ :: (CInt -> (CChar -> (CChar -> (CInt -> (CInt -> ((Ptr CDouble) -> (CInt -> ((Ptr CDouble) -> ((Ptr CDouble) -> (CInt -> ((Ptr CDouble) -> (CInt -> ((Ptr CDouble) -> (IO CInt))))))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_zgesdd"
  zgesdd'_ :: (CInt -> (CChar -> (CInt -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr CDouble) -> ((Ptr ()) -> (CInt -> ((Ptr ()) -> (CInt -> (IO CInt))))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_sgesvd"
  sgesvd'_ :: (CInt -> (CChar -> (CChar -> (CInt -> (CInt -> ((Ptr CFloat) -> (CInt -> ((Ptr CFloat) -> ((Ptr CFloat) -> (CInt -> ((Ptr CFloat) -> (CInt -> ((Ptr CFloat) -> (IO CInt))))))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_zgesvd"
  zgesvd'_ :: (CInt -> (CChar -> (CChar -> (CInt -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr CDouble) -> ((Ptr ()) -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr CDouble) -> (IO CInt))))))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_dgesvj"
  dgesvj'_ :: (CInt -> (CChar -> (CChar -> (CChar -> (CInt -> (CInt -> ((Ptr CDouble) -> (CInt -> ((Ptr CDouble) -> (CInt -> ((Ptr CDouble) -> (CInt -> ((Ptr CDouble) -> (IO CInt))))))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_sgesvj"
  sgesvj'_ :: (CInt -> (CChar -> (CChar -> (CChar -> (CInt -> (CInt -> ((Ptr CFloat) -> (CInt -> ((Ptr CFloat) -> (CInt -> ((Ptr CFloat) -> (CInt -> ((Ptr CFloat) -> (IO CInt))))))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_cgesvx"
  cgesvx'_ :: (CInt -> (CChar -> (CChar -> (CInt -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr CInt) -> ((Ptr CChar) -> ((Ptr CFloat) -> ((Ptr CFloat) -> ((Ptr ()) -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr CFloat) -> ((Ptr CFloat) -> ((Ptr CFloat) -> ((Ptr CFloat) -> (IO CInt))))))))))))))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_dgesvx"
  dgesvx'_ :: (CInt -> (CChar -> (CChar -> (CInt -> (CInt -> ((Ptr CDouble) -> (CInt -> ((Ptr CDouble) -> (CInt -> ((Ptr CInt) -> ((Ptr CChar) -> ((Ptr CDouble) -> ((Ptr CDouble) -> ((Ptr CDouble) -> (CInt -> ((Ptr CDouble) -> (CInt -> ((Ptr CDouble) -> ((Ptr CDouble) -> ((Ptr CDouble) -> ((Ptr CDouble) -> (IO CInt))))))))))))))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_sgesvx"
  sgesvx'_ :: (CInt -> (CChar -> (CChar -> (CInt -> (CInt -> ((Ptr CFloat) -> (CInt -> ((Ptr CFloat) -> (CInt -> ((Ptr CInt) -> ((Ptr CChar) -> ((Ptr CFloat) -> ((Ptr CFloat) -> ((Ptr CFloat) -> (CInt -> ((Ptr CFloat) -> (CInt -> ((Ptr CFloat) -> ((Ptr CFloat) -> ((Ptr CFloat) -> ((Ptr CFloat) -> (IO CInt))))))))))))))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_zgesvx"
  zgesvx'_ :: (CInt -> (CChar -> (CChar -> (CInt -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr CInt) -> ((Ptr CChar) -> ((Ptr CDouble) -> ((Ptr CDouble) -> ((Ptr ()) -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr CDouble) -> ((Ptr CDouble) -> ((Ptr CDouble) -> ((Ptr CDouble) -> (IO CInt))))))))))))))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_chesvx"
  chesvx'_ :: (CInt -> (CChar -> (CChar -> (CInt -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr CInt) -> ((Ptr ()) -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr CFloat) -> ((Ptr CFloat) -> ((Ptr CFloat) -> (IO CInt))))))))))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_zhesvx"
  zhesvx'_ :: (CInt -> (CChar -> (CChar -> (CInt -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr CInt) -> ((Ptr ()) -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr CDouble) -> ((Ptr CDouble) -> ((Ptr CDouble) -> (IO CInt))))))))))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_dtfsm"
  dtfsm'_ :: (CInt -> (CChar -> (CChar -> (CChar -> (CChar -> (CChar -> (CInt -> (CInt -> (CDouble -> ((Ptr CDouble) -> ((Ptr CDouble) -> (CInt -> (IO CInt)))))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_stfsm"
  stfsm'_ :: (CInt -> (CChar -> (CChar -> (CChar -> (CChar -> (CChar -> (CInt -> (CInt -> (CFloat -> ((Ptr CFloat) -> ((Ptr CFloat) -> (CInt -> (IO CInt)))))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_cggsvd"
  cggsvd'_ :: (CInt -> (CChar -> (CChar -> (CChar -> (CInt -> (CInt -> (CInt -> ((Ptr CInt) -> ((Ptr CInt) -> ((Ptr ()) -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr CFloat) -> ((Ptr CFloat) -> ((Ptr ()) -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr CInt) -> (IO CInt)))))))))))))))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_dggsvd"
  dggsvd'_ :: (CInt -> (CChar -> (CChar -> (CChar -> (CInt -> (CInt -> (CInt -> ((Ptr CInt) -> ((Ptr CInt) -> ((Ptr CDouble) -> (CInt -> ((Ptr CDouble) -> (CInt -> ((Ptr CDouble) -> ((Ptr CDouble) -> ((Ptr CDouble) -> (CInt -> ((Ptr CDouble) -> (CInt -> ((Ptr CDouble) -> (CInt -> ((Ptr CInt) -> (IO CInt)))))))))))))))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_sggsvd"
  sggsvd'_ :: (CInt -> (CChar -> (CChar -> (CChar -> (CInt -> (CInt -> (CInt -> ((Ptr CInt) -> ((Ptr CInt) -> ((Ptr CFloat) -> (CInt -> ((Ptr CFloat) -> (CInt -> ((Ptr CFloat) -> ((Ptr CFloat) -> ((Ptr CFloat) -> (CInt -> ((Ptr CFloat) -> (CInt -> ((Ptr CFloat) -> (CInt -> ((Ptr CInt) -> (IO CInt)))))))))))))))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_zggsvd"
  zggsvd'_ :: (CInt -> (CChar -> (CChar -> (CChar -> (CInt -> (CInt -> (CInt -> ((Ptr CInt) -> ((Ptr CInt) -> ((Ptr ()) -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr CDouble) -> ((Ptr CDouble) -> ((Ptr ()) -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr CInt) -> (IO CInt)))))))))))))))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_ctgsja"
  ctgsja'_ :: (CInt -> (CChar -> (CChar -> (CChar -> (CInt -> (CInt -> (CInt -> (CInt -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr ()) -> (CInt -> (CFloat -> (CFloat -> ((Ptr CFloat) -> ((Ptr CFloat) -> ((Ptr ()) -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr CInt) -> (IO CInt)))))))))))))))))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_dtgsja"
  dtgsja'_ :: (CInt -> (CChar -> (CChar -> (CChar -> (CInt -> (CInt -> (CInt -> (CInt -> (CInt -> ((Ptr CDouble) -> (CInt -> ((Ptr CDouble) -> (CInt -> (CDouble -> (CDouble -> ((Ptr CDouble) -> ((Ptr CDouble) -> ((Ptr CDouble) -> (CInt -> ((Ptr CDouble) -> (CInt -> ((Ptr CDouble) -> (CInt -> ((Ptr CInt) -> (IO CInt)))))))))))))))))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_ctgsna"
  ctgsna'_ :: (CInt -> (CChar -> (CChar -> ((Ptr CInt) -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr CFloat) -> ((Ptr CFloat) -> (CInt -> ((Ptr CInt) -> (IO CInt))))))))))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_dtgsna"
  dtgsna'_ :: (CInt -> (CChar -> (CChar -> ((Ptr CInt) -> (CInt -> ((Ptr CDouble) -> (CInt -> ((Ptr CDouble) -> (CInt -> ((Ptr CDouble) -> (CInt -> ((Ptr CDouble) -> (CInt -> ((Ptr CDouble) -> ((Ptr CDouble) -> (CInt -> ((Ptr CInt) -> (IO CInt))))))))))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_stgsja"
  stgsja'_ :: (CInt -> (CChar -> (CChar -> (CChar -> (CInt -> (CInt -> (CInt -> (CInt -> (CInt -> ((Ptr CFloat) -> (CInt -> ((Ptr CFloat) -> (CInt -> (CFloat -> (CFloat -> ((Ptr CFloat) -> ((Ptr CFloat) -> ((Ptr CFloat) -> (CInt -> ((Ptr CFloat) -> (CInt -> ((Ptr CFloat) -> (CInt -> ((Ptr CInt) -> (IO CInt)))))))))))))))))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_stgsna"
  stgsna'_ :: (CInt -> (CChar -> (CChar -> ((Ptr CInt) -> (CInt -> ((Ptr CFloat) -> (CInt -> ((Ptr CFloat) -> (CInt -> ((Ptr CFloat) -> (CInt -> ((Ptr CFloat) -> (CInt -> ((Ptr CFloat) -> ((Ptr CFloat) -> (CInt -> ((Ptr CInt) -> (IO CInt))))))))))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_ztgsja"
  ztgsja'_ :: (CInt -> (CChar -> (CChar -> (CChar -> (CInt -> (CInt -> (CInt -> (CInt -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr ()) -> (CInt -> (CDouble -> (CDouble -> ((Ptr CDouble) -> ((Ptr CDouble) -> ((Ptr ()) -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr CInt) -> (IO CInt)))))))))))))))))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_ztgsna"
  ztgsna'_ :: (CInt -> (CChar -> (CChar -> ((Ptr CInt) -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr CDouble) -> ((Ptr CDouble) -> (CInt -> ((Ptr CInt) -> (IO CInt))))))))))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_cggsvp"
  cggsvp'_ :: (CInt -> (CChar -> (CChar -> (CChar -> (CInt -> (CInt -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr ()) -> (CInt -> (CFloat -> (CFloat -> ((Ptr CInt) -> ((Ptr CInt) -> ((Ptr ()) -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr ()) -> (CInt -> (IO CInt))))))))))))))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_dggsvp"
  dggsvp'_ :: (CInt -> (CChar -> (CChar -> (CChar -> (CInt -> (CInt -> (CInt -> ((Ptr CDouble) -> (CInt -> ((Ptr CDouble) -> (CInt -> (CDouble -> (CDouble -> ((Ptr CInt) -> ((Ptr CInt) -> ((Ptr CDouble) -> (CInt -> ((Ptr CDouble) -> (CInt -> ((Ptr CDouble) -> (CInt -> (IO CInt))))))))))))))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_sggsvp"
  sggsvp'_ :: (CInt -> (CChar -> (CChar -> (CChar -> (CInt -> (CInt -> (CInt -> ((Ptr CFloat) -> (CInt -> ((Ptr CFloat) -> (CInt -> (CFloat -> (CFloat -> ((Ptr CInt) -> ((Ptr CInt) -> ((Ptr CFloat) -> (CInt -> ((Ptr CFloat) -> (CInt -> ((Ptr CFloat) -> (CInt -> (IO CInt))))))))))))))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_zggsvp"
  zggsvp'_ :: (CInt -> (CChar -> (CChar -> (CChar -> (CInt -> (CInt -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr ()) -> (CInt -> (CDouble -> (CDouble -> ((Ptr CInt) -> ((Ptr CInt) -> ((Ptr ()) -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr ()) -> (CInt -> (IO CInt))))))))))))))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_ctgsyl"
  ctgsyl'_ :: (CInt -> (CChar -> (CInt -> (CInt -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr CFloat) -> ((Ptr CFloat) -> (IO CInt))))))))))))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_dtgsyl"
  dtgsyl'_ :: (CInt -> (CChar -> (CInt -> (CInt -> (CInt -> ((Ptr CDouble) -> (CInt -> ((Ptr CDouble) -> (CInt -> ((Ptr CDouble) -> (CInt -> ((Ptr CDouble) -> (CInt -> ((Ptr CDouble) -> (CInt -> ((Ptr CDouble) -> (CInt -> ((Ptr CDouble) -> ((Ptr CDouble) -> (IO CInt))))))))))))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_stgsyl"
  stgsyl'_ :: (CInt -> (CChar -> (CInt -> (CInt -> (CInt -> ((Ptr CFloat) -> (CInt -> ((Ptr CFloat) -> (CInt -> ((Ptr CFloat) -> (CInt -> ((Ptr CFloat) -> (CInt -> ((Ptr CFloat) -> (CInt -> ((Ptr CFloat) -> (CInt -> ((Ptr CFloat) -> ((Ptr CFloat) -> (IO CInt))))))))))))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_ztgsyl"
  ztgsyl'_ :: (CInt -> (CChar -> (CInt -> (CInt -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr CDouble) -> ((Ptr CDouble) -> (IO CInt))))))))))))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_ctgsen"
  ctgsen'_ :: (CInt -> (CInt -> (CInt -> (CInt -> ((Ptr CInt) -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr ()) -> ((Ptr ()) -> ((Ptr ()) -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr CInt) -> ((Ptr CFloat) -> ((Ptr CFloat) -> ((Ptr CFloat) -> (IO CInt)))))))))))))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_dtgsen"
  dtgsen'_ :: (CInt -> (CInt -> (CInt -> (CInt -> ((Ptr CInt) -> (CInt -> ((Ptr CDouble) -> (CInt -> ((Ptr CDouble) -> (CInt -> ((Ptr CDouble) -> ((Ptr CDouble) -> ((Ptr CDouble) -> ((Ptr CDouble) -> (CInt -> ((Ptr CDouble) -> (CInt -> ((Ptr CInt) -> ((Ptr CDouble) -> ((Ptr CDouble) -> ((Ptr CDouble) -> (IO CInt))))))))))))))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_stgsen"
  stgsen'_ :: (CInt -> (CInt -> (CInt -> (CInt -> ((Ptr CInt) -> (CInt -> ((Ptr CFloat) -> (CInt -> ((Ptr CFloat) -> (CInt -> ((Ptr CFloat) -> ((Ptr CFloat) -> ((Ptr CFloat) -> ((Ptr CFloat) -> (CInt -> ((Ptr CFloat) -> (CInt -> ((Ptr CInt) -> ((Ptr CFloat) -> ((Ptr CFloat) -> ((Ptr CFloat) -> (IO CInt))))))))))))))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_ztgsen"
  ztgsen'_ :: (CInt -> (CInt -> (CInt -> (CInt -> ((Ptr CInt) -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr ()) -> ((Ptr ()) -> ((Ptr ()) -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr CInt) -> ((Ptr CDouble) -> ((Ptr CDouble) -> ((Ptr CDouble) -> (IO CInt)))))))))))))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_ddisna"
  ddisna'_ :: (CChar -> (CInt -> (CInt -> ((Ptr CDouble) -> ((Ptr CDouble) -> (IO CInt))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_sdisna"
  sdisna'_ :: (CChar -> (CInt -> (CInt -> ((Ptr CFloat) -> ((Ptr CFloat) -> (IO CInt))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_cposv"
  cposv'_ :: (CInt -> (CChar -> (CInt -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr ()) -> (CInt -> (IO CInt)))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_dposv"
  dposv'_ :: (CInt -> (CChar -> (CInt -> (CInt -> ((Ptr CDouble) -> (CInt -> ((Ptr CDouble) -> (CInt -> (IO CInt)))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_sposv"
  sposv'_ :: (CInt -> (CChar -> (CInt -> (CInt -> ((Ptr CFloat) -> (CInt -> ((Ptr CFloat) -> (CInt -> (IO CInt)))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_zposv"
  zposv'_ :: (CInt -> (CChar -> (CInt -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr ()) -> (CInt -> (IO CInt)))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_chpsv"
  chpsv'_ :: (CInt -> (CChar -> (CInt -> (CInt -> ((Ptr ()) -> ((Ptr CInt) -> ((Ptr ()) -> (CInt -> (IO CInt)))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_cposvx"
  cposvx'_ :: (CInt -> (CChar -> (CChar -> (CInt -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr CChar) -> ((Ptr CFloat) -> ((Ptr ()) -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr CFloat) -> ((Ptr CFloat) -> ((Ptr CFloat) -> (IO CInt)))))))))))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_dposvx"
  dposvx'_ :: (CInt -> (CChar -> (CChar -> (CInt -> (CInt -> ((Ptr CDouble) -> (CInt -> ((Ptr CDouble) -> (CInt -> ((Ptr CChar) -> ((Ptr CDouble) -> ((Ptr CDouble) -> (CInt -> ((Ptr CDouble) -> (CInt -> ((Ptr CDouble) -> ((Ptr CDouble) -> ((Ptr CDouble) -> (IO CInt)))))))))))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_sposvx"
  sposvx'_ :: (CInt -> (CChar -> (CChar -> (CInt -> (CInt -> ((Ptr CFloat) -> (CInt -> ((Ptr CFloat) -> (CInt -> ((Ptr CChar) -> ((Ptr CFloat) -> ((Ptr CFloat) -> (CInt -> ((Ptr CFloat) -> (CInt -> ((Ptr CFloat) -> ((Ptr CFloat) -> ((Ptr CFloat) -> (IO CInt)))))))))))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_zhpsv"
  zhpsv'_ :: (CInt -> (CChar -> (CInt -> (CInt -> ((Ptr ()) -> ((Ptr CInt) -> ((Ptr ()) -> (CInt -> (IO CInt)))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_zposvx"
  zposvx'_ :: (CInt -> (CChar -> (CChar -> (CInt -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr CChar) -> ((Ptr CDouble) -> ((Ptr ()) -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr CDouble) -> ((Ptr CDouble) -> ((Ptr CDouble) -> (IO CInt)))))))))))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_cppsv"
  cppsv'_ :: (CInt -> (CChar -> (CInt -> (CInt -> ((Ptr ()) -> ((Ptr ()) -> (CInt -> (IO CInt))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_dppsv"
  dppsv'_ :: (CInt -> (CChar -> (CInt -> (CInt -> ((Ptr CDouble) -> ((Ptr CDouble) -> (CInt -> (IO CInt))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_sppsv"
  sppsv'_ :: (CInt -> (CChar -> (CInt -> (CInt -> ((Ptr CFloat) -> ((Ptr CFloat) -> (CInt -> (IO CInt))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_zppsv"
  zppsv'_ :: (CInt -> (CChar -> (CInt -> (CInt -> ((Ptr ()) -> ((Ptr ()) -> (CInt -> (IO CInt))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_cspsv"
  cspsv'_ :: (CInt -> (CChar -> (CInt -> (CInt -> ((Ptr ()) -> ((Ptr CInt) -> ((Ptr ()) -> (CInt -> (IO CInt)))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_dspsv"
  dspsv'_ :: (CInt -> (CChar -> (CInt -> (CInt -> ((Ptr CDouble) -> ((Ptr CInt) -> ((Ptr CDouble) -> (CInt -> (IO CInt)))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_sspsv"
  sspsv'_ :: (CInt -> (CChar -> (CInt -> (CInt -> ((Ptr CFloat) -> ((Ptr CInt) -> ((Ptr CFloat) -> (CInt -> (IO CInt)))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_zspsv"
  zspsv'_ :: (CInt -> (CChar -> (CInt -> (CInt -> ((Ptr ()) -> ((Ptr CInt) -> ((Ptr ()) -> (CInt -> (IO CInt)))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_chpsvx"
  chpsvx'_ :: (CInt -> (CChar -> (CChar -> (CInt -> (CInt -> ((Ptr ()) -> ((Ptr ()) -> ((Ptr CInt) -> ((Ptr ()) -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr CFloat) -> ((Ptr CFloat) -> ((Ptr CFloat) -> (IO CInt))))))))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_zhpsvx"
  zhpsvx'_ :: (CInt -> (CChar -> (CChar -> (CInt -> (CInt -> ((Ptr ()) -> ((Ptr ()) -> ((Ptr CInt) -> ((Ptr ()) -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr CDouble) -> ((Ptr CDouble) -> ((Ptr CDouble) -> (IO CInt))))))))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_cppsvx"
  cppsvx'_ :: (CInt -> (CChar -> (CChar -> (CInt -> (CInt -> ((Ptr ()) -> ((Ptr ()) -> ((Ptr CChar) -> ((Ptr CFloat) -> ((Ptr ()) -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr CFloat) -> ((Ptr CFloat) -> ((Ptr CFloat) -> (IO CInt)))))))))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_dppsvx"
  dppsvx'_ :: (CInt -> (CChar -> (CChar -> (CInt -> (CInt -> ((Ptr CDouble) -> ((Ptr CDouble) -> ((Ptr CChar) -> ((Ptr CDouble) -> ((Ptr CDouble) -> (CInt -> ((Ptr CDouble) -> (CInt -> ((Ptr CDouble) -> ((Ptr CDouble) -> ((Ptr CDouble) -> (IO CInt)))))))))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_sppsvx"
  sppsvx'_ :: (CInt -> (CChar -> (CChar -> (CInt -> (CInt -> ((Ptr CFloat) -> ((Ptr CFloat) -> ((Ptr CChar) -> ((Ptr CFloat) -> ((Ptr CFloat) -> (CInt -> ((Ptr CFloat) -> (CInt -> ((Ptr CFloat) -> ((Ptr CFloat) -> ((Ptr CFloat) -> (IO CInt)))))))))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_zppsvx"
  zppsvx'_ :: (CInt -> (CChar -> (CChar -> (CInt -> (CInt -> ((Ptr ()) -> ((Ptr ()) -> ((Ptr CChar) -> ((Ptr CDouble) -> ((Ptr ()) -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr CDouble) -> ((Ptr CDouble) -> ((Ptr CDouble) -> (IO CInt)))))))))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_cspsvx"
  cspsvx'_ :: (CInt -> (CChar -> (CChar -> (CInt -> (CInt -> ((Ptr ()) -> ((Ptr ()) -> ((Ptr CInt) -> ((Ptr ()) -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr CFloat) -> ((Ptr CFloat) -> ((Ptr CFloat) -> (IO CInt))))))))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_dspsvx"
  dspsvx'_ :: (CInt -> (CChar -> (CChar -> (CInt -> (CInt -> ((Ptr CDouble) -> ((Ptr CDouble) -> ((Ptr CInt) -> ((Ptr CDouble) -> (CInt -> ((Ptr CDouble) -> (CInt -> ((Ptr CDouble) -> ((Ptr CDouble) -> ((Ptr CDouble) -> (IO CInt))))))))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_sspsvx"
  sspsvx'_ :: (CInt -> (CChar -> (CChar -> (CInt -> (CInt -> ((Ptr CFloat) -> ((Ptr CFloat) -> ((Ptr CInt) -> ((Ptr CFloat) -> (CInt -> ((Ptr CFloat) -> (CInt -> ((Ptr CFloat) -> ((Ptr CFloat) -> ((Ptr CFloat) -> (IO CInt))))))))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_zspsvx"
  zspsvx'_ :: (CInt -> (CChar -> (CChar -> (CInt -> (CInt -> ((Ptr ()) -> ((Ptr ()) -> ((Ptr CInt) -> ((Ptr ()) -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr CDouble) -> ((Ptr CDouble) -> ((Ptr CDouble) -> (IO CInt))))))))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_ctrsna"
  ctrsna'_ :: (CInt -> (CChar -> (CChar -> ((Ptr CInt) -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr CFloat) -> ((Ptr CFloat) -> (CInt -> ((Ptr CInt) -> (IO CInt))))))))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_dtrsna"
  dtrsna'_ :: (CInt -> (CChar -> (CChar -> ((Ptr CInt) -> (CInt -> ((Ptr CDouble) -> (CInt -> ((Ptr CDouble) -> (CInt -> ((Ptr CDouble) -> (CInt -> ((Ptr CDouble) -> ((Ptr CDouble) -> (CInt -> ((Ptr CInt) -> (IO CInt))))))))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_strsna"
  strsna'_ :: (CInt -> (CChar -> (CChar -> ((Ptr CInt) -> (CInt -> ((Ptr CFloat) -> (CInt -> ((Ptr CFloat) -> (CInt -> ((Ptr CFloat) -> (CInt -> ((Ptr CFloat) -> ((Ptr CFloat) -> (CInt -> ((Ptr CInt) -> (IO CInt))))))))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_ztrsna"
  ztrsna'_ :: (CInt -> (CChar -> (CChar -> ((Ptr CInt) -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr CDouble) -> ((Ptr CDouble) -> (CInt -> ((Ptr CInt) -> (IO CInt))))))))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_ctrsyl"
  ctrsyl'_ :: (CInt -> (CChar -> (CChar -> (CInt -> (CInt -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr CFloat) -> (IO CInt))))))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_dtrsyl"
  dtrsyl'_ :: (CInt -> (CChar -> (CChar -> (CInt -> (CInt -> (CInt -> ((Ptr CDouble) -> (CInt -> ((Ptr CDouble) -> (CInt -> ((Ptr CDouble) -> (CInt -> ((Ptr CDouble) -> (IO CInt))))))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_strsyl"
  strsyl'_ :: (CInt -> (CChar -> (CChar -> (CInt -> (CInt -> (CInt -> ((Ptr CFloat) -> (CInt -> ((Ptr CFloat) -> (CInt -> ((Ptr CFloat) -> (CInt -> ((Ptr CFloat) -> (IO CInt))))))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_ztrsyl"
  ztrsyl'_ :: (CInt -> (CChar -> (CChar -> (CInt -> (CInt -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr CDouble) -> (IO CInt))))))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_ctrsen"
  ctrsen'_ :: (CInt -> (CChar -> (CChar -> ((Ptr CInt) -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr ()) -> ((Ptr CInt) -> ((Ptr CFloat) -> ((Ptr CFloat) -> (IO CInt))))))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_dtrsen"
  dtrsen'_ :: (CInt -> (CChar -> (CChar -> ((Ptr CInt) -> (CInt -> ((Ptr CDouble) -> (CInt -> ((Ptr CDouble) -> (CInt -> ((Ptr CDouble) -> ((Ptr CDouble) -> ((Ptr CInt) -> ((Ptr CDouble) -> ((Ptr CDouble) -> (IO CInt)))))))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_strsen"
  strsen'_ :: (CInt -> (CChar -> (CChar -> ((Ptr CInt) -> (CInt -> ((Ptr CFloat) -> (CInt -> ((Ptr CFloat) -> (CInt -> ((Ptr CFloat) -> ((Ptr CFloat) -> ((Ptr CInt) -> ((Ptr CFloat) -> ((Ptr CFloat) -> (IO CInt)))))))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_ztrsen"
  ztrsen'_ :: (CInt -> (CChar -> (CChar -> ((Ptr CInt) -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr ()) -> ((Ptr CInt) -> ((Ptr CDouble) -> ((Ptr CDouble) -> (IO CInt))))))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_cgtsv"
  cgtsv'_ :: (CInt -> (CInt -> (CInt -> ((Ptr ()) -> ((Ptr ()) -> ((Ptr ()) -> ((Ptr ()) -> (CInt -> (IO CInt)))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_dgtsv"
  dgtsv'_ :: (CInt -> (CInt -> (CInt -> ((Ptr CDouble) -> ((Ptr CDouble) -> ((Ptr CDouble) -> ((Ptr CDouble) -> (CInt -> (IO CInt)))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_sgtsv"
  sgtsv'_ :: (CInt -> (CInt -> (CInt -> ((Ptr CFloat) -> ((Ptr CFloat) -> ((Ptr CFloat) -> ((Ptr CFloat) -> (CInt -> (IO CInt)))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_zgtsv"
  zgtsv'_ :: (CInt -> (CInt -> (CInt -> ((Ptr ()) -> ((Ptr ()) -> ((Ptr ()) -> ((Ptr ()) -> (CInt -> (IO CInt)))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_cptsv"
  cptsv'_ :: (CInt -> (CInt -> (CInt -> ((Ptr CFloat) -> ((Ptr ()) -> ((Ptr ()) -> (CInt -> (IO CInt))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_dptsv"
  dptsv'_ :: (CInt -> (CInt -> (CInt -> ((Ptr CDouble) -> ((Ptr CDouble) -> ((Ptr CDouble) -> (CInt -> (IO CInt))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_sptsv"
  sptsv'_ :: (CInt -> (CInt -> (CInt -> ((Ptr CFloat) -> ((Ptr CFloat) -> ((Ptr CFloat) -> (CInt -> (IO CInt))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_zptsv"
  zptsv'_ :: (CInt -> (CInt -> (CInt -> ((Ptr CDouble) -> ((Ptr ()) -> ((Ptr ()) -> (CInt -> (IO CInt))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_cgtsvx"
  cgtsvx'_ :: (CInt -> (CChar -> (CChar -> (CInt -> (CInt -> ((Ptr ()) -> ((Ptr ()) -> ((Ptr ()) -> ((Ptr ()) -> ((Ptr ()) -> ((Ptr ()) -> ((Ptr ()) -> ((Ptr CInt) -> ((Ptr ()) -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr CFloat) -> ((Ptr CFloat) -> ((Ptr CFloat) -> (IO CInt)))))))))))))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_dgtsvx"
  dgtsvx'_ :: (CInt -> (CChar -> (CChar -> (CInt -> (CInt -> ((Ptr CDouble) -> ((Ptr CDouble) -> ((Ptr CDouble) -> ((Ptr CDouble) -> ((Ptr CDouble) -> ((Ptr CDouble) -> ((Ptr CDouble) -> ((Ptr CInt) -> ((Ptr CDouble) -> (CInt -> ((Ptr CDouble) -> (CInt -> ((Ptr CDouble) -> ((Ptr CDouble) -> ((Ptr CDouble) -> (IO CInt)))))))))))))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_sgtsvx"
  sgtsvx'_ :: (CInt -> (CChar -> (CChar -> (CInt -> (CInt -> ((Ptr CFloat) -> ((Ptr CFloat) -> ((Ptr CFloat) -> ((Ptr CFloat) -> ((Ptr CFloat) -> ((Ptr CFloat) -> ((Ptr CFloat) -> ((Ptr CInt) -> ((Ptr CFloat) -> (CInt -> ((Ptr CFloat) -> (CInt -> ((Ptr CFloat) -> ((Ptr CFloat) -> ((Ptr CFloat) -> (IO CInt)))))))))))))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_zgtsvx"
  zgtsvx'_ :: (CInt -> (CChar -> (CChar -> (CInt -> (CInt -> ((Ptr ()) -> ((Ptr ()) -> ((Ptr ()) -> ((Ptr ()) -> ((Ptr ()) -> ((Ptr ()) -> ((Ptr ()) -> ((Ptr CInt) -> ((Ptr ()) -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr CDouble) -> ((Ptr CDouble) -> ((Ptr CDouble) -> (IO CInt)))))))))))))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_cptsvx"
  cptsvx'_ :: (CInt -> (CChar -> (CInt -> (CInt -> ((Ptr CFloat) -> ((Ptr ()) -> ((Ptr CFloat) -> ((Ptr ()) -> ((Ptr ()) -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr CFloat) -> ((Ptr CFloat) -> ((Ptr CFloat) -> (IO CInt))))))))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_dptsvx"
  dptsvx'_ :: (CInt -> (CChar -> (CInt -> (CInt -> ((Ptr CDouble) -> ((Ptr CDouble) -> ((Ptr CDouble) -> ((Ptr CDouble) -> ((Ptr CDouble) -> (CInt -> ((Ptr CDouble) -> (CInt -> ((Ptr CDouble) -> ((Ptr CDouble) -> ((Ptr CDouble) -> (IO CInt))))))))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_sptsvx"
  sptsvx'_ :: (CInt -> (CChar -> (CInt -> (CInt -> ((Ptr CFloat) -> ((Ptr CFloat) -> ((Ptr CFloat) -> ((Ptr CFloat) -> ((Ptr CFloat) -> (CInt -> ((Ptr CFloat) -> (CInt -> ((Ptr CFloat) -> ((Ptr CFloat) -> ((Ptr CFloat) -> (IO CInt))))))))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_zptsvx"
  zptsvx'_ :: (CInt -> (CChar -> (CInt -> (CInt -> ((Ptr CDouble) -> ((Ptr ()) -> ((Ptr CDouble) -> ((Ptr ()) -> ((Ptr ()) -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr CDouble) -> ((Ptr CDouble) -> ((Ptr CDouble) -> (IO CInt))))))))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_csysv"
  csysv'_ :: (CInt -> (CChar -> (CInt -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr CInt) -> ((Ptr ()) -> (CInt -> (IO CInt))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_dsysv"
  dsysv'_ :: (CInt -> (CChar -> (CInt -> (CInt -> ((Ptr CDouble) -> (CInt -> ((Ptr CInt) -> ((Ptr CDouble) -> (CInt -> (IO CInt))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_ssysv"
  ssysv'_ :: (CInt -> (CChar -> (CInt -> (CInt -> ((Ptr CFloat) -> (CInt -> ((Ptr CInt) -> ((Ptr CFloat) -> (CInt -> (IO CInt))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_zsysv"
  zsysv'_ :: (CInt -> (CChar -> (CInt -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr CInt) -> ((Ptr ()) -> (CInt -> (IO CInt))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_csysvx"
  csysvx'_ :: (CInt -> (CChar -> (CChar -> (CInt -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr CInt) -> ((Ptr ()) -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr CFloat) -> ((Ptr CFloat) -> ((Ptr CFloat) -> (IO CInt))))))))))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_dsysvx"
  dsysvx'_ :: (CInt -> (CChar -> (CChar -> (CInt -> (CInt -> ((Ptr CDouble) -> (CInt -> ((Ptr CDouble) -> (CInt -> ((Ptr CInt) -> ((Ptr CDouble) -> (CInt -> ((Ptr CDouble) -> (CInt -> ((Ptr CDouble) -> ((Ptr CDouble) -> ((Ptr CDouble) -> (IO CInt))))))))))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_ssysvx"
  ssysvx'_ :: (CInt -> (CChar -> (CChar -> (CInt -> (CInt -> ((Ptr CFloat) -> (CInt -> ((Ptr CFloat) -> (CInt -> ((Ptr CInt) -> ((Ptr CFloat) -> (CInt -> ((Ptr CFloat) -> (CInt -> ((Ptr CFloat) -> ((Ptr CFloat) -> ((Ptr CFloat) -> (IO CInt))))))))))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_zsysvx"
  zsysvx'_ :: (CInt -> (CChar -> (CChar -> (CInt -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr CInt) -> ((Ptr ()) -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr CDouble) -> ((Ptr CDouble) -> ((Ptr CDouble) -> (IO CInt))))))))))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_chbtrd"
  chbtrd'_ :: (CInt -> (CChar -> (CChar -> (CInt -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr CFloat) -> ((Ptr CFloat) -> ((Ptr ()) -> (CInt -> (IO CInt))))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_zhbtrd"
  zhbtrd'_ :: (CInt -> (CChar -> (CChar -> (CInt -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr CDouble) -> ((Ptr CDouble) -> ((Ptr ()) -> (CInt -> (IO CInt))))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_cgbtrf"
  cgbtrf'_ :: (CInt -> (CInt -> (CInt -> (CInt -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr CInt) -> (IO CInt)))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_dgbtrf"
  dgbtrf'_ :: (CInt -> (CInt -> (CInt -> (CInt -> (CInt -> ((Ptr CDouble) -> (CInt -> ((Ptr CInt) -> (IO CInt)))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_sgbtrf"
  sgbtrf'_ :: (CInt -> (CInt -> (CInt -> (CInt -> (CInt -> ((Ptr CFloat) -> (CInt -> ((Ptr CInt) -> (IO CInt)))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_zgbtrf"
  zgbtrf'_ :: (CInt -> (CInt -> (CInt -> (CInt -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr CInt) -> (IO CInt)))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_cpbtrf"
  cpbtrf'_ :: (CInt -> (CChar -> (CInt -> (CInt -> ((Ptr ()) -> (CInt -> (IO CInt)))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_dpbtrf"
  dpbtrf'_ :: (CInt -> (CChar -> (CInt -> (CInt -> ((Ptr CDouble) -> (CInt -> (IO CInt)))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_spbtrf"
  spbtrf'_ :: (CInt -> (CChar -> (CInt -> (CInt -> ((Ptr CFloat) -> (CInt -> (IO CInt)))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_zpbtrf"
  zpbtrf'_ :: (CInt -> (CChar -> (CInt -> (CInt -> ((Ptr ()) -> (CInt -> (IO CInt)))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_dsbtrd"
  dsbtrd'_ :: (CInt -> (CChar -> (CChar -> (CInt -> (CInt -> ((Ptr CDouble) -> (CInt -> ((Ptr CDouble) -> ((Ptr CDouble) -> ((Ptr CDouble) -> (CInt -> (IO CInt))))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_ssbtrd"
  ssbtrd'_ :: (CInt -> (CChar -> (CChar -> (CInt -> (CInt -> ((Ptr CFloat) -> (CInt -> ((Ptr CFloat) -> ((Ptr CFloat) -> ((Ptr CFloat) -> (CInt -> (IO CInt))))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_cgbtrs"
  cgbtrs'_ :: (CInt -> (CChar -> (CInt -> (CInt -> (CInt -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr CInt) -> ((Ptr ()) -> (CInt -> (IO CInt))))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_dgbtrs"
  dgbtrs'_ :: (CInt -> (CChar -> (CInt -> (CInt -> (CInt -> (CInt -> ((Ptr CDouble) -> (CInt -> ((Ptr CInt) -> ((Ptr CDouble) -> (CInt -> (IO CInt))))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_sgbtrs"
  sgbtrs'_ :: (CInt -> (CChar -> (CInt -> (CInt -> (CInt -> (CInt -> ((Ptr CFloat) -> (CInt -> ((Ptr CInt) -> ((Ptr CFloat) -> (CInt -> (IO CInt))))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_zgbtrs"
  zgbtrs'_ :: (CInt -> (CChar -> (CInt -> (CInt -> (CInt -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr CInt) -> ((Ptr ()) -> (CInt -> (IO CInt))))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_cpbtrs"
  cpbtrs'_ :: (CInt -> (CChar -> (CInt -> (CInt -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr ()) -> (CInt -> (IO CInt))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_dpbtrs"
  dpbtrs'_ :: (CInt -> (CChar -> (CInt -> (CInt -> (CInt -> ((Ptr CDouble) -> (CInt -> ((Ptr CDouble) -> (CInt -> (IO CInt))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_spbtrs"
  spbtrs'_ :: (CInt -> (CChar -> (CInt -> (CInt -> (CInt -> ((Ptr CFloat) -> (CInt -> ((Ptr CFloat) -> (CInt -> (IO CInt))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_zpbtrs"
  zpbtrs'_ :: (CInt -> (CChar -> (CInt -> (CInt -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr ()) -> (CInt -> (IO CInt))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_ctbtrs"
  ctbtrs'_ :: (CInt -> (CChar -> (CChar -> (CChar -> (CInt -> (CInt -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr ()) -> (CInt -> (IO CInt))))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_dtbtrs"
  dtbtrs'_ :: (CInt -> (CChar -> (CChar -> (CChar -> (CInt -> (CInt -> (CInt -> ((Ptr CDouble) -> (CInt -> ((Ptr CDouble) -> (CInt -> (IO CInt))))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_stbtrs"
  stbtrs'_ :: (CInt -> (CChar -> (CChar -> (CChar -> (CInt -> (CInt -> (CInt -> ((Ptr CFloat) -> (CInt -> ((Ptr CFloat) -> (CInt -> (IO CInt))))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_ztbtrs"
  ztbtrs'_ :: (CInt -> (CChar -> (CChar -> (CChar -> (CInt -> (CInt -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr ()) -> (CInt -> (IO CInt))))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_chetrd"
  chetrd'_ :: (CInt -> (CChar -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr CFloat) -> ((Ptr CFloat) -> ((Ptr ()) -> (IO CInt)))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_zhetrd"
  zhetrd'_ :: (CInt -> (CChar -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr CDouble) -> ((Ptr CDouble) -> ((Ptr ()) -> (IO CInt)))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_cgetrf"
  cgetrf'_ :: (CInt -> (CInt -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr CInt) -> (IO CInt)))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_dgetrf"
  dgetrf'_ :: (CInt -> (CInt -> (CInt -> ((Ptr CDouble) -> (CInt -> ((Ptr CInt) -> (IO CInt)))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_sgetrf"
  sgetrf'_ :: (CInt -> (CInt -> (CInt -> ((Ptr CFloat) -> (CInt -> ((Ptr CInt) -> (IO CInt)))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_zgetrf"
  zgetrf'_ :: (CInt -> (CInt -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr CInt) -> (IO CInt)))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_chetrf"
  chetrf'_ :: (CInt -> (CChar -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr CInt) -> (IO CInt)))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_zhetrf"
  zhetrf'_ :: (CInt -> (CChar -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr CInt) -> (IO CInt)))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_cgetri"
  cgetri'_ :: (CInt -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr CInt) -> (IO CInt))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_dgetri"
  dgetri'_ :: (CInt -> (CInt -> ((Ptr CDouble) -> (CInt -> ((Ptr CInt) -> (IO CInt))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_sgetri"
  sgetri'_ :: (CInt -> (CInt -> ((Ptr CFloat) -> (CInt -> ((Ptr CInt) -> (IO CInt))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_zgetri"
  zgetri'_ :: (CInt -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr CInt) -> (IO CInt))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_chetri"
  chetri'_ :: (CInt -> (CChar -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr CInt) -> (IO CInt)))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_zhetri"
  zhetri'_ :: (CInt -> (CChar -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr CInt) -> (IO CInt)))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_cgetrs"
  cgetrs'_ :: (CInt -> (CChar -> (CInt -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr CInt) -> ((Ptr ()) -> (CInt -> (IO CInt))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_dgetrs"
  dgetrs'_ :: (CInt -> (CChar -> (CInt -> (CInt -> ((Ptr CDouble) -> (CInt -> ((Ptr CInt) -> ((Ptr CDouble) -> (CInt -> (IO CInt))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_sgetrs"
  sgetrs'_ :: (CInt -> (CChar -> (CInt -> (CInt -> ((Ptr CFloat) -> (CInt -> ((Ptr CInt) -> ((Ptr CFloat) -> (CInt -> (IO CInt))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_zgetrs"
  zgetrs'_ :: (CInt -> (CChar -> (CInt -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr CInt) -> ((Ptr ()) -> (CInt -> (IO CInt))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_chetrs"
  chetrs'_ :: (CInt -> (CChar -> (CInt -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr CInt) -> ((Ptr ()) -> (CInt -> (IO CInt))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_zhetrs"
  zhetrs'_ :: (CInt -> (CChar -> (CInt -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr CInt) -> ((Ptr ()) -> (CInt -> (IO CInt))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_cpftrf"
  cpftrf'_ :: (CInt -> (CChar -> (CChar -> (CInt -> ((Ptr ()) -> (IO CInt))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_dpftrf"
  dpftrf'_ :: (CInt -> (CChar -> (CChar -> (CInt -> ((Ptr CDouble) -> (IO CInt))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_spftrf"
  spftrf'_ :: (CInt -> (CChar -> (CChar -> (CInt -> ((Ptr CFloat) -> (IO CInt))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_zpftrf"
  zpftrf'_ :: (CInt -> (CChar -> (CChar -> (CInt -> ((Ptr ()) -> (IO CInt))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_cpftri"
  cpftri'_ :: (CInt -> (CChar -> (CChar -> (CInt -> ((Ptr ()) -> (IO CInt))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_dpftri"
  dpftri'_ :: (CInt -> (CChar -> (CChar -> (CInt -> ((Ptr CDouble) -> (IO CInt))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_spftri"
  spftri'_ :: (CInt -> (CChar -> (CChar -> (CInt -> ((Ptr CFloat) -> (IO CInt))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_zpftri"
  zpftri'_ :: (CInt -> (CChar -> (CChar -> (CInt -> ((Ptr ()) -> (IO CInt))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_ctftri"
  ctftri'_ :: (CInt -> (CChar -> (CChar -> (CChar -> (CInt -> ((Ptr ()) -> (IO CInt)))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_dtftri"
  dtftri'_ :: (CInt -> (CChar -> (CChar -> (CChar -> (CInt -> ((Ptr CDouble) -> (IO CInt)))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_stftri"
  stftri'_ :: (CInt -> (CChar -> (CChar -> (CChar -> (CInt -> ((Ptr CFloat) -> (IO CInt)))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_ztftri"
  ztftri'_ :: (CInt -> (CChar -> (CChar -> (CChar -> (CInt -> ((Ptr ()) -> (IO CInt)))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_cpftrs"
  cpftrs'_ :: (CInt -> (CChar -> (CChar -> (CInt -> (CInt -> ((Ptr ()) -> ((Ptr ()) -> (CInt -> (IO CInt)))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_dpftrs"
  dpftrs'_ :: (CInt -> (CChar -> (CChar -> (CInt -> (CInt -> ((Ptr CDouble) -> ((Ptr CDouble) -> (CInt -> (IO CInt)))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_spftrs"
  spftrs'_ :: (CInt -> (CChar -> (CChar -> (CInt -> (CInt -> ((Ptr CFloat) -> ((Ptr CFloat) -> (CInt -> (IO CInt)))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_zpftrs"
  zpftrs'_ :: (CInt -> (CChar -> (CChar -> (CInt -> (CInt -> ((Ptr ()) -> ((Ptr ()) -> (CInt -> (IO CInt)))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_ctfttp"
  ctfttp'_ :: (CInt -> (CChar -> (CChar -> (CInt -> ((Ptr ()) -> ((Ptr ()) -> (IO CInt)))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_dtfttp"
  dtfttp'_ :: (CInt -> (CChar -> (CChar -> (CInt -> ((Ptr CDouble) -> ((Ptr CDouble) -> (IO CInt)))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_stfttp"
  stfttp'_ :: (CInt -> (CChar -> (CChar -> (CInt -> ((Ptr CFloat) -> ((Ptr CFloat) -> (IO CInt)))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_ztfttp"
  ztfttp'_ :: (CInt -> (CChar -> (CChar -> (CInt -> ((Ptr ()) -> ((Ptr ()) -> (IO CInt)))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_ctfttr"
  ctfttr'_ :: (CInt -> (CChar -> (CChar -> (CInt -> ((Ptr ()) -> ((Ptr ()) -> (CInt -> (IO CInt))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_dtfttr"
  dtfttr'_ :: (CInt -> (CChar -> (CChar -> (CInt -> ((Ptr CDouble) -> ((Ptr CDouble) -> (CInt -> (IO CInt))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_stfttr"
  stfttr'_ :: (CInt -> (CChar -> (CChar -> (CInt -> ((Ptr CFloat) -> ((Ptr CFloat) -> (CInt -> (IO CInt))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_ztfttr"
  ztfttr'_ :: (CInt -> (CChar -> (CChar -> (CInt -> ((Ptr ()) -> ((Ptr ()) -> (CInt -> (IO CInt))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_cpotrf"
  cpotrf'_ :: (CInt -> (CChar -> (CInt -> ((Ptr ()) -> (CInt -> (IO CInt))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_dpotrf"
  dpotrf'_ :: (CInt -> (CChar -> (CInt -> ((Ptr CDouble) -> (CInt -> (IO CInt))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_spotrf"
  spotrf'_ :: (CInt -> (CChar -> (CInt -> ((Ptr CFloat) -> (CInt -> (IO CInt))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_zpotrf"
  zpotrf'_ :: (CInt -> (CChar -> (CInt -> ((Ptr ()) -> (CInt -> (IO CInt))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_cpotri"
  cpotri'_ :: (CInt -> (CChar -> (CInt -> ((Ptr ()) -> (CInt -> (IO CInt))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_dpotri"
  dpotri'_ :: (CInt -> (CChar -> (CInt -> ((Ptr CDouble) -> (CInt -> (IO CInt))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_spotri"
  spotri'_ :: (CInt -> (CChar -> (CInt -> ((Ptr CFloat) -> (CInt -> (IO CInt))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_zpotri"
  zpotri'_ :: (CInt -> (CChar -> (CInt -> ((Ptr ()) -> (CInt -> (IO CInt))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_cpotrs"
  cpotrs'_ :: (CInt -> (CChar -> (CInt -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr ()) -> (CInt -> (IO CInt)))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_dpotrs"
  dpotrs'_ :: (CInt -> (CChar -> (CInt -> (CInt -> ((Ptr CDouble) -> (CInt -> ((Ptr CDouble) -> (CInt -> (IO CInt)))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_spotrs"
  spotrs'_ :: (CInt -> (CChar -> (CInt -> (CInt -> ((Ptr CFloat) -> (CInt -> ((Ptr CFloat) -> (CInt -> (IO CInt)))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_zpotrs"
  zpotrs'_ :: (CInt -> (CChar -> (CInt -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr ()) -> (CInt -> (IO CInt)))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_chptrd"
  chptrd'_ :: (CInt -> (CChar -> (CInt -> ((Ptr ()) -> ((Ptr CFloat) -> ((Ptr CFloat) -> ((Ptr ()) -> (IO CInt))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_zhptrd"
  zhptrd'_ :: (CInt -> (CChar -> (CInt -> ((Ptr ()) -> ((Ptr CDouble) -> ((Ptr CDouble) -> ((Ptr ()) -> (IO CInt))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_chptrf"
  chptrf'_ :: (CInt -> (CChar -> (CInt -> ((Ptr ()) -> ((Ptr CInt) -> (IO CInt))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_zhptrf"
  zhptrf'_ :: (CInt -> (CChar -> (CInt -> ((Ptr ()) -> ((Ptr CInt) -> (IO CInt))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_chptri"
  chptri'_ :: (CInt -> (CChar -> (CInt -> ((Ptr ()) -> ((Ptr CInt) -> (IO CInt))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_zhptri"
  zhptri'_ :: (CInt -> (CChar -> (CInt -> ((Ptr ()) -> ((Ptr CInt) -> (IO CInt))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_cpptrf"
  cpptrf'_ :: (CInt -> (CChar -> (CInt -> ((Ptr ()) -> (IO CInt)))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_dpptrf"
  dpptrf'_ :: (CInt -> (CChar -> (CInt -> ((Ptr CDouble) -> (IO CInt)))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_spptrf"
  spptrf'_ :: (CInt -> (CChar -> (CInt -> ((Ptr CFloat) -> (IO CInt)))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_zpptrf"
  zpptrf'_ :: (CInt -> (CChar -> (CInt -> ((Ptr ()) -> (IO CInt)))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_dsptrd"
  dsptrd'_ :: (CInt -> (CChar -> (CInt -> ((Ptr CDouble) -> ((Ptr CDouble) -> ((Ptr CDouble) -> ((Ptr CDouble) -> (IO CInt))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_ssptrd"
  ssptrd'_ :: (CInt -> (CChar -> (CInt -> ((Ptr CFloat) -> ((Ptr CFloat) -> ((Ptr CFloat) -> ((Ptr CFloat) -> (IO CInt))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_cpptri"
  cpptri'_ :: (CInt -> (CChar -> (CInt -> ((Ptr ()) -> (IO CInt)))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_csptrf"
  csptrf'_ :: (CInt -> (CChar -> (CInt -> ((Ptr ()) -> ((Ptr CInt) -> (IO CInt))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_dpptri"
  dpptri'_ :: (CInt -> (CChar -> (CInt -> ((Ptr CDouble) -> (IO CInt)))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_dsptrf"
  dsptrf'_ :: (CInt -> (CChar -> (CInt -> ((Ptr CDouble) -> ((Ptr CInt) -> (IO CInt))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_spptri"
  spptri'_ :: (CInt -> (CChar -> (CInt -> ((Ptr CFloat) -> (IO CInt)))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_ssptrf"
  ssptrf'_ :: (CInt -> (CChar -> (CInt -> ((Ptr CFloat) -> ((Ptr CInt) -> (IO CInt))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_zpptri"
  zpptri'_ :: (CInt -> (CChar -> (CInt -> ((Ptr ()) -> (IO CInt)))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_zsptrf"
  zsptrf'_ :: (CInt -> (CChar -> (CInt -> ((Ptr ()) -> ((Ptr CInt) -> (IO CInt))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_ctpttf"
  ctpttf'_ :: (CInt -> (CChar -> (CChar -> (CInt -> ((Ptr ()) -> ((Ptr ()) -> (IO CInt)))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_dtpttf"
  dtpttf'_ :: (CInt -> (CChar -> (CChar -> (CInt -> ((Ptr CDouble) -> ((Ptr CDouble) -> (IO CInt)))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_stpttf"
  stpttf'_ :: (CInt -> (CChar -> (CChar -> (CInt -> ((Ptr CFloat) -> ((Ptr CFloat) -> (IO CInt)))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_ztpttf"
  ztpttf'_ :: (CInt -> (CChar -> (CChar -> (CInt -> ((Ptr ()) -> ((Ptr ()) -> (IO CInt)))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_chptrs"
  chptrs'_ :: (CInt -> (CChar -> (CInt -> (CInt -> ((Ptr ()) -> ((Ptr CInt) -> ((Ptr ()) -> (CInt -> (IO CInt)))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_zhptrs"
  zhptrs'_ :: (CInt -> (CChar -> (CInt -> (CInt -> ((Ptr ()) -> ((Ptr CInt) -> ((Ptr ()) -> (CInt -> (IO CInt)))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_csptri"
  csptri'_ :: (CInt -> (CChar -> (CInt -> ((Ptr ()) -> ((Ptr CInt) -> (IO CInt))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_dsptri"
  dsptri'_ :: (CInt -> (CChar -> (CInt -> ((Ptr CDouble) -> ((Ptr CInt) -> (IO CInt))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_ssptri"
  ssptri'_ :: (CInt -> (CChar -> (CInt -> ((Ptr CFloat) -> ((Ptr CInt) -> (IO CInt))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_zsptri"
  zsptri'_ :: (CInt -> (CChar -> (CInt -> ((Ptr ()) -> ((Ptr CInt) -> (IO CInt))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_ctptri"
  ctptri'_ :: (CInt -> (CChar -> (CChar -> (CInt -> ((Ptr ()) -> (IO CInt))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_dtptri"
  dtptri'_ :: (CInt -> (CChar -> (CChar -> (CInt -> ((Ptr CDouble) -> (IO CInt))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_stptri"
  stptri'_ :: (CInt -> (CChar -> (CChar -> (CInt -> ((Ptr CFloat) -> (IO CInt))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_ztptri"
  ztptri'_ :: (CInt -> (CChar -> (CChar -> (CInt -> ((Ptr ()) -> (IO CInt))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_cpptrs"
  cpptrs'_ :: (CInt -> (CChar -> (CInt -> (CInt -> ((Ptr ()) -> ((Ptr ()) -> (CInt -> (IO CInt))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_dpptrs"
  dpptrs'_ :: (CInt -> (CChar -> (CInt -> (CInt -> ((Ptr CDouble) -> ((Ptr CDouble) -> (CInt -> (IO CInt))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_spptrs"
  spptrs'_ :: (CInt -> (CChar -> (CInt -> (CInt -> ((Ptr CFloat) -> ((Ptr CFloat) -> (CInt -> (IO CInt))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_zpptrs"
  zpptrs'_ :: (CInt -> (CChar -> (CInt -> (CInt -> ((Ptr ()) -> ((Ptr ()) -> (CInt -> (IO CInt))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_csptrs"
  csptrs'_ :: (CInt -> (CChar -> (CInt -> (CInt -> ((Ptr ()) -> ((Ptr CInt) -> ((Ptr ()) -> (CInt -> (IO CInt)))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_dsptrs"
  dsptrs'_ :: (CInt -> (CChar -> (CInt -> (CInt -> ((Ptr CDouble) -> ((Ptr CInt) -> ((Ptr CDouble) -> (CInt -> (IO CInt)))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_ctpttr"
  ctpttr'_ :: (CInt -> (CChar -> (CInt -> ((Ptr ()) -> ((Ptr ()) -> (CInt -> (IO CInt)))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_dtpttr"
  dtpttr'_ :: (CInt -> (CChar -> (CInt -> ((Ptr CDouble) -> ((Ptr CDouble) -> (CInt -> (IO CInt)))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_ssptrs"
  ssptrs'_ :: (CInt -> (CChar -> (CInt -> (CInt -> ((Ptr CFloat) -> ((Ptr CInt) -> ((Ptr CFloat) -> (CInt -> (IO CInt)))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_stpttr"
  stpttr'_ :: (CInt -> (CChar -> (CInt -> ((Ptr CFloat) -> ((Ptr CFloat) -> (CInt -> (IO CInt)))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_zsptrs"
  zsptrs'_ :: (CInt -> (CChar -> (CInt -> (CInt -> ((Ptr ()) -> ((Ptr CInt) -> ((Ptr ()) -> (CInt -> (IO CInt)))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_ztpttr"
  ztpttr'_ :: (CInt -> (CChar -> (CInt -> ((Ptr ()) -> ((Ptr ()) -> (CInt -> (IO CInt)))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_ctptrs"
  ctptrs'_ :: (CInt -> (CChar -> (CChar -> (CChar -> (CInt -> (CInt -> ((Ptr ()) -> ((Ptr ()) -> (CInt -> (IO CInt))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_dtptrs"
  dtptrs'_ :: (CInt -> (CChar -> (CChar -> (CChar -> (CInt -> (CInt -> ((Ptr CDouble) -> ((Ptr CDouble) -> (CInt -> (IO CInt))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_stptrs"
  stptrs'_ :: (CInt -> (CChar -> (CChar -> (CChar -> (CInt -> (CInt -> ((Ptr CFloat) -> ((Ptr CFloat) -> (CInt -> (IO CInt))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_ztptrs"
  ztptrs'_ :: (CInt -> (CChar -> (CChar -> (CChar -> (CInt -> (CInt -> ((Ptr ()) -> ((Ptr ()) -> (CInt -> (IO CInt))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_ctrttf"
  ctrttf'_ :: (CInt -> (CChar -> (CChar -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr ()) -> (IO CInt))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_dtrttf"
  dtrttf'_ :: (CInt -> (CChar -> (CChar -> (CInt -> ((Ptr CDouble) -> (CInt -> ((Ptr CDouble) -> (IO CInt))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_strttf"
  strttf'_ :: (CInt -> (CChar -> (CChar -> (CInt -> ((Ptr CFloat) -> (CInt -> ((Ptr CFloat) -> (IO CInt))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_ztrttf"
  ztrttf'_ :: (CInt -> (CChar -> (CChar -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr ()) -> (IO CInt))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_ctrtri"
  ctrtri'_ :: (CInt -> (CChar -> (CChar -> (CInt -> ((Ptr ()) -> (CInt -> (IO CInt)))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_dtrtri"
  dtrtri'_ :: (CInt -> (CChar -> (CChar -> (CInt -> ((Ptr CDouble) -> (CInt -> (IO CInt)))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_strtri"
  strtri'_ :: (CInt -> (CChar -> (CChar -> (CInt -> ((Ptr CFloat) -> (CInt -> (IO CInt)))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_ztrtri"
  ztrtri'_ :: (CInt -> (CChar -> (CChar -> (CInt -> ((Ptr ()) -> (CInt -> (IO CInt)))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_ctrttp"
  ctrttp'_ :: (CInt -> (CChar -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr ()) -> (IO CInt)))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_dtrttp"
  dtrttp'_ :: (CInt -> (CChar -> (CInt -> ((Ptr CDouble) -> (CInt -> ((Ptr CDouble) -> (IO CInt)))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_strttp"
  strttp'_ :: (CInt -> (CChar -> (CInt -> ((Ptr CFloat) -> (CInt -> ((Ptr CFloat) -> (IO CInt)))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_ztrttp"
  ztrttp'_ :: (CInt -> (CChar -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr ()) -> (IO CInt)))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_ctrtrs"
  ctrtrs'_ :: (CInt -> (CChar -> (CChar -> (CChar -> (CInt -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr ()) -> (CInt -> (IO CInt)))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_dtrtrs"
  dtrtrs'_ :: (CInt -> (CChar -> (CChar -> (CChar -> (CInt -> (CInt -> ((Ptr CDouble) -> (CInt -> ((Ptr CDouble) -> (CInt -> (IO CInt)))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_strtrs"
  strtrs'_ :: (CInt -> (CChar -> (CChar -> (CChar -> (CInt -> (CInt -> ((Ptr CFloat) -> (CInt -> ((Ptr CFloat) -> (CInt -> (IO CInt)))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_ztrtrs"
  ztrtrs'_ :: (CInt -> (CChar -> (CChar -> (CChar -> (CInt -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr ()) -> (CInt -> (IO CInt)))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_cpstrf"
  cpstrf'_ :: (CInt -> (CChar -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr CInt) -> ((Ptr CInt) -> (CFloat -> (IO CInt)))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_dpstrf"
  dpstrf'_ :: (CInt -> (CChar -> (CInt -> ((Ptr CDouble) -> (CInt -> ((Ptr CInt) -> ((Ptr CInt) -> (CDouble -> (IO CInt)))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_spstrf"
  spstrf'_ :: (CInt -> (CChar -> (CInt -> ((Ptr CFloat) -> (CInt -> ((Ptr CInt) -> ((Ptr CInt) -> (CFloat -> (IO CInt)))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_zpstrf"
  zpstrf'_ :: (CInt -> (CChar -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr CInt) -> ((Ptr CInt) -> (CDouble -> (IO CInt)))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_cgttrf"
  cgttrf'_ :: (CInt -> ((Ptr ()) -> ((Ptr ()) -> ((Ptr ()) -> ((Ptr ()) -> ((Ptr CInt) -> (IO CInt)))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_dgttrf"
  dgttrf'_ :: (CInt -> ((Ptr CDouble) -> ((Ptr CDouble) -> ((Ptr CDouble) -> ((Ptr CDouble) -> ((Ptr CInt) -> (IO CInt)))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_sgttrf"
  sgttrf'_ :: (CInt -> ((Ptr CFloat) -> ((Ptr CFloat) -> ((Ptr CFloat) -> ((Ptr CFloat) -> ((Ptr CInt) -> (IO CInt)))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_zgttrf"
  zgttrf'_ :: (CInt -> ((Ptr ()) -> ((Ptr ()) -> ((Ptr ()) -> ((Ptr ()) -> ((Ptr CInt) -> (IO CInt)))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_cpttrf"
  cpttrf'_ :: (CInt -> ((Ptr CFloat) -> ((Ptr ()) -> (IO CInt))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_dpttrf"
  dpttrf'_ :: (CInt -> ((Ptr CDouble) -> ((Ptr CDouble) -> (IO CInt))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_spttrf"
  spttrf'_ :: (CInt -> ((Ptr CFloat) -> ((Ptr CFloat) -> (IO CInt))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_zpttrf"
  zpttrf'_ :: (CInt -> ((Ptr CDouble) -> ((Ptr ()) -> (IO CInt))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_cgttrs"
  cgttrs'_ :: (CInt -> (CChar -> (CInt -> (CInt -> ((Ptr ()) -> ((Ptr ()) -> ((Ptr ()) -> ((Ptr ()) -> ((Ptr CInt) -> ((Ptr ()) -> (CInt -> (IO CInt))))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_dgttrs"
  dgttrs'_ :: (CInt -> (CChar -> (CInt -> (CInt -> ((Ptr CDouble) -> ((Ptr CDouble) -> ((Ptr CDouble) -> ((Ptr CDouble) -> ((Ptr CInt) -> ((Ptr CDouble) -> (CInt -> (IO CInt))))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_sgttrs"
  sgttrs'_ :: (CInt -> (CChar -> (CInt -> (CInt -> ((Ptr CFloat) -> ((Ptr CFloat) -> ((Ptr CFloat) -> ((Ptr CFloat) -> ((Ptr CInt) -> ((Ptr CFloat) -> (CInt -> (IO CInt))))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_zgttrs"
  zgttrs'_ :: (CInt -> (CChar -> (CInt -> (CInt -> ((Ptr ()) -> ((Ptr ()) -> ((Ptr ()) -> ((Ptr ()) -> ((Ptr CInt) -> ((Ptr ()) -> (CInt -> (IO CInt))))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_cpttrs"
  cpttrs'_ :: (CInt -> (CChar -> (CInt -> (CInt -> ((Ptr CFloat) -> ((Ptr ()) -> ((Ptr ()) -> (CInt -> (IO CInt)))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_dpttrs"
  dpttrs'_ :: (CInt -> (CInt -> (CInt -> ((Ptr CDouble) -> ((Ptr CDouble) -> ((Ptr CDouble) -> (CInt -> (IO CInt))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_spttrs"
  spttrs'_ :: (CInt -> (CInt -> (CInt -> ((Ptr CFloat) -> ((Ptr CFloat) -> ((Ptr CFloat) -> (CInt -> (IO CInt))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_zpttrs"
  zpttrs'_ :: (CInt -> (CChar -> (CInt -> (CInt -> ((Ptr CDouble) -> ((Ptr ()) -> ((Ptr ()) -> (CInt -> (IO CInt)))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_dsytrd"
  dsytrd'_ :: (CInt -> (CChar -> (CInt -> ((Ptr CDouble) -> (CInt -> ((Ptr CDouble) -> ((Ptr CDouble) -> ((Ptr CDouble) -> (IO CInt)))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_ssytrd"
  ssytrd'_ :: (CInt -> (CChar -> (CInt -> ((Ptr CFloat) -> (CInt -> ((Ptr CFloat) -> ((Ptr CFloat) -> ((Ptr CFloat) -> (IO CInt)))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_csytrf"
  csytrf'_ :: (CInt -> (CChar -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr CInt) -> (IO CInt)))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_dsytrf"
  dsytrf'_ :: (CInt -> (CChar -> (CInt -> ((Ptr CDouble) -> (CInt -> ((Ptr CInt) -> (IO CInt)))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_ssytrf"
  ssytrf'_ :: (CInt -> (CChar -> (CInt -> ((Ptr CFloat) -> (CInt -> ((Ptr CInt) -> (IO CInt)))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_zsytrf"
  zsytrf'_ :: (CInt -> (CChar -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr CInt) -> (IO CInt)))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_csytri"
  csytri'_ :: (CInt -> (CChar -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr CInt) -> (IO CInt)))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_dsytri"
  dsytri'_ :: (CInt -> (CChar -> (CInt -> ((Ptr CDouble) -> (CInt -> ((Ptr CInt) -> (IO CInt)))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_ssytri"
  ssytri'_ :: (CInt -> (CChar -> (CInt -> ((Ptr CFloat) -> (CInt -> ((Ptr CInt) -> (IO CInt)))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_zsytri"
  zsytri'_ :: (CInt -> (CChar -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr CInt) -> (IO CInt)))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_csytrs"
  csytrs'_ :: (CInt -> (CChar -> (CInt -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr CInt) -> ((Ptr ()) -> (CInt -> (IO CInt))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_dsytrs"
  dsytrs'_ :: (CInt -> (CChar -> (CInt -> (CInt -> ((Ptr CDouble) -> (CInt -> ((Ptr CInt) -> ((Ptr CDouble) -> (CInt -> (IO CInt))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_ssytrs"
  ssytrs'_ :: (CInt -> (CChar -> (CInt -> (CInt -> ((Ptr CFloat) -> (CInt -> ((Ptr CInt) -> ((Ptr CFloat) -> (CInt -> (IO CInt))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/LAPACKE.chs.h LAPACKE_zsytrs"
  zsytrs'_ :: (CInt -> (CChar -> (CInt -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr CInt) -> ((Ptr ()) -> (CInt -> (IO CInt))))))))))