-- 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/BLAS.chs" #-}
{-# LANGUAGE ForeignFunctionInterface #-}

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

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



type CblasIndex = Integer

data CblasOrder = CblasRowMajor
                | CblasColMajor
  deriving (Eq,Show)
instance Enum CblasOrder where
  succ CblasRowMajor = CblasColMajor
  succ CblasColMajor = error "CblasOrder.succ: CblasColMajor has no successor"

  pred CblasColMajor = CblasRowMajor
  pred CblasRowMajor = error "CblasOrder.pred: CblasRowMajor has no predecessor"

  enumFromTo from to = go from
    where
      end = fromEnum to
      go v = case compare (fromEnum v) end of
                 LT -> v : go (succ v)
                 EQ -> [v]
                 GT -> []

  enumFrom from = enumFromTo from CblasColMajor

  fromEnum CblasRowMajor = 101
  fromEnum CblasColMajor = 102

  toEnum 101 = CblasRowMajor
  toEnum 102 = CblasColMajor
  toEnum unmatched = error ("CblasOrder.toEnum: Cannot match " ++ show unmatched)

{-# LINE 22 "./Numeric/Jalla/Foreign/BLAS.chs" #-}

data CblasTranspose = CblasNoTrans
                    | CblasTrans
                    | CblasConjTrans
instance Enum CblasTranspose where
  succ CblasNoTrans = CblasTrans
  succ CblasTrans = CblasConjTrans
  succ CblasConjTrans = error "CblasTranspose.succ: CblasConjTrans has no successor"

  pred CblasTrans = CblasNoTrans
  pred CblasConjTrans = CblasTrans
  pred CblasNoTrans = error "CblasTranspose.pred: CblasNoTrans has no predecessor"

  enumFromTo from to = go from
    where
      end = fromEnum to
      go v = case compare (fromEnum v) end of
                 LT -> v : go (succ v)
                 EQ -> [v]
                 GT -> []

  enumFrom from = enumFromTo from CblasConjTrans

  fromEnum CblasNoTrans = 111
  fromEnum CblasTrans = 112
  fromEnum CblasConjTrans = 113

  toEnum 111 = CblasNoTrans
  toEnum 112 = CblasTrans
  toEnum 113 = CblasConjTrans
  toEnum unmatched = error ("CblasTranspose.toEnum: Cannot match " ++ show unmatched)

{-# LINE 23 "./Numeric/Jalla/Foreign/BLAS.chs" #-}

data CblasUplo = CblasUpper
               | CblasLower
instance Enum CblasUplo where
  succ CblasUpper = CblasLower
  succ CblasLower = error "CblasUplo.succ: CblasLower has no successor"

  pred CblasLower = CblasUpper
  pred CblasUpper = error "CblasUplo.pred: CblasUpper has no predecessor"

  enumFromTo from to = go from
    where
      end = fromEnum to
      go v = case compare (fromEnum v) end of
                 LT -> v : go (succ v)
                 EQ -> [v]
                 GT -> []

  enumFrom from = enumFromTo from CblasLower

  fromEnum CblasUpper = 121
  fromEnum CblasLower = 122

  toEnum 121 = CblasUpper
  toEnum 122 = CblasLower
  toEnum unmatched = error ("CblasUplo.toEnum: Cannot match " ++ show unmatched)

{-# LINE 24 "./Numeric/Jalla/Foreign/BLAS.chs" #-}

data CblasDiag = CblasNonUnit
               | CblasUnit
instance Enum CblasDiag where
  succ CblasNonUnit = CblasUnit
  succ CblasUnit = error "CblasDiag.succ: CblasUnit has no successor"

  pred CblasUnit = CblasNonUnit
  pred CblasNonUnit = error "CblasDiag.pred: CblasNonUnit has no predecessor"

  enumFromTo from to = go from
    where
      end = fromEnum to
      go v = case compare (fromEnum v) end of
                 LT -> v : go (succ v)
                 EQ -> [v]
                 GT -> []

  enumFrom from = enumFromTo from CblasUnit

  fromEnum CblasNonUnit = 131
  fromEnum CblasUnit = 132

  toEnum 131 = CblasNonUnit
  toEnum 132 = CblasUnit
  toEnum unmatched = error ("CblasDiag.toEnum: Cannot match " ++ show unmatched)

{-# LINE 25 "./Numeric/Jalla/Foreign/BLAS.chs" #-}

data CblasSide = CblasLeft
               | CblasRight
instance Enum CblasSide where
  succ CblasLeft = CblasRight
  succ CblasRight = error "CblasSide.succ: CblasRight has no successor"

  pred CblasRight = CblasLeft
  pred CblasLeft = error "CblasSide.pred: CblasLeft has no predecessor"

  enumFromTo from to = go from
    where
      end = fromEnum to
      go v = case compare (fromEnum v) end of
                 LT -> v : go (succ v)
                 EQ -> [v]
                 GT -> []

  enumFrom from = enumFromTo from CblasRight

  fromEnum CblasLeft = 141
  fromEnum CblasRight = 142

  toEnum 141 = CblasLeft
  toEnum 142 = CblasRight
  toEnum unmatched = error ("CblasSide.toEnum: Cannot match " ++ show unmatched)

{-# LINE 26 "./Numeric/Jalla/Foreign/BLAS.chs" #-}


c2i :: (Integral i1, Integral i2) => i1 -> i2
c2i = fromIntegral
c2f :: (RealFloat a1, RealFloat a2) => a1 -> a2
c2f = realToFrac

cFromEnum :: (Integral i, Enum e) => e -> i
cFromEnum = fromIntegral . fromEnum

-- These were all generated with parseblas.hs. Do not change them here, rather change parseblas.hs. 
sdsdot :: (Int) -> (CFloat) -> (Ptr CFloat) -> (Int) -> (Ptr CFloat) -> (Int) -> IO ((CFloat))
sdsdot a1 a2 a3 a4 a5 a6 =
  let {a1' = fromIntegral a1} in 
  let {a2' = id a2} in 
  let {a3' = id a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = id a5} in 
  let {a6' = fromIntegral a6} in 
  sdsdot'_ a1' a2' a3' a4' a5' a6' >>= \res ->
  let {res' = id res} in
  return (res')

{-# LINE 37 "./Numeric/Jalla/Foreign/BLAS.chs" #-}

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

{-# LINE 38 "./Numeric/Jalla/Foreign/BLAS.chs" #-}

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

{-# LINE 39 "./Numeric/Jalla/Foreign/BLAS.chs" #-}

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

{-# LINE 40 "./Numeric/Jalla/Foreign/BLAS.chs" #-}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

icamax :: (Int) -> (Ptr (Complex CFloat)) -> (Int) -> IO ((CblasIndex))
icamax a1 a2 a3 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castPtr a2} in 
  let {a3' = fromIntegral a3} in 
  icamax'_ a1' a2' a3' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

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

izamax :: (Int) -> (Ptr (Complex CDouble)) -> (Int) -> IO ((CblasIndex))
izamax a1 a2 a3 =
  let {a1' = fromIntegral a1} in 
  let {a2' = castPtr a2} in 
  let {a3' = fromIntegral a3} in 
  izamax'_ a1' a2' a3' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

srot :: (Int) -> (Ptr CFloat) -> (Int) -> (Ptr CFloat) -> (Int) -> (CFloat) -> (CFloat) -> IO ((()))
srot a1 a2 a3 a4 a5 a6 a7 =
  let {a1' = fromIntegral a1} in 
  let {a2' = id 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 
  srot'_ a1' a2' a3' a4' a5' a6' a7' >>= \res ->
  let {res' = id res} in
  return (res')

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

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

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

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

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

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

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

drot :: (Int) -> (Ptr CDouble) -> (Int) -> (Ptr CDouble) -> (Int) -> (CDouble) -> (CDouble) -> IO ((()))
drot a1 a2 a3 a4 a5 a6 a7 =
  let {a1' = fromIntegral a1} in 
  let {a2' = id 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 
  drot'_ a1' a2' a3' a4' a5' a6' a7' >>= \res ->
  let {res' = id res} in
  return (res')

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

sgemv :: (CblasOrder) -> (CblasTranspose) -> (Int) -> (Int) -> (CFloat) -> (Ptr CFloat) -> (Int) -> (Ptr CFloat) -> (Int) -> (CFloat) -> (Ptr CFloat) -> (Int) -> IO ((()))
sgemv a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 =
  let {a1' = cFromEnum a1} in 
  let {a2' = cFromEnum 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 
  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 
  sgemv'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' a12' >>= \res ->
  let {res' = id res} in
  return (res')

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

sgbmv :: (CblasOrder) -> (CblasTranspose) -> (Int) -> (Int) -> (Int) -> (Int) -> (CFloat) -> (Ptr CFloat) -> (Int) -> (Ptr CFloat) -> (Int) -> (CFloat) -> (Ptr CFloat) -> (Int) -> IO ((()))
sgbmv a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 =
  let {a1' = cFromEnum a1} in 
  let {a2' = cFromEnum 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' = 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 
  sgbmv'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' a12' a13' a14' >>= \res ->
  let {res' = id res} in
  return (res')

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

strmv :: (CblasOrder) -> (CblasUplo) -> (CblasTranspose) -> (CblasDiag) -> (Int) -> (Ptr CFloat) -> (Int) -> (Ptr CFloat) -> (Int) -> IO ((()))
strmv a1 a2 a3 a4 a5 a6 a7 a8 a9 =
  let {a1' = cFromEnum a1} in 
  let {a2' = cFromEnum a2} in 
  let {a3' = cFromEnum a3} in 
  let {a4' = cFromEnum 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 
  strmv'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' >>= \res ->
  let {res' = id res} in
  return (res')

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

stbmv :: (CblasOrder) -> (CblasUplo) -> (CblasTranspose) -> (CblasDiag) -> (Int) -> (Int) -> (Ptr CFloat) -> (Int) -> (Ptr CFloat) -> (Int) -> IO ((()))
stbmv a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 =
  let {a1' = cFromEnum a1} in 
  let {a2' = cFromEnum a2} in 
  let {a3' = cFromEnum a3} in 
  let {a4' = cFromEnum 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 
  stbmv'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' >>= \res ->
  let {res' = id res} in
  return (res')

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

stpmv :: (CblasOrder) -> (CblasUplo) -> (CblasTranspose) -> (CblasDiag) -> (Int) -> (Ptr CFloat) -> (Ptr CFloat) -> (Int) -> IO ((()))
stpmv a1 a2 a3 a4 a5 a6 a7 a8 =
  let {a1' = cFromEnum a1} in 
  let {a2' = cFromEnum a2} in 
  let {a3' = cFromEnum a3} in 
  let {a4' = cFromEnum a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = id a6} in 
  let {a7' = id a7} in 
  let {a8' = fromIntegral a8} in 
  stpmv'_ a1' a2' a3' a4' a5' a6' a7' a8' >>= \res ->
  let {res' = id res} in
  return (res')

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

strsv :: (CblasOrder) -> (CblasUplo) -> (CblasTranspose) -> (CblasDiag) -> (Int) -> (Ptr CFloat) -> (Int) -> (Ptr CFloat) -> (Int) -> IO ((()))
strsv a1 a2 a3 a4 a5 a6 a7 a8 a9 =
  let {a1' = cFromEnum a1} in 
  let {a2' = cFromEnum a2} in 
  let {a3' = cFromEnum a3} in 
  let {a4' = cFromEnum 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 
  strsv'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' >>= \res ->
  let {res' = id res} in
  return (res')

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

stbsv :: (CblasOrder) -> (CblasUplo) -> (CblasTranspose) -> (CblasDiag) -> (Int) -> (Int) -> (Ptr CFloat) -> (Int) -> (Ptr CFloat) -> (Int) -> IO ((()))
stbsv a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 =
  let {a1' = cFromEnum a1} in 
  let {a2' = cFromEnum a2} in 
  let {a3' = cFromEnum a3} in 
  let {a4' = cFromEnum 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 
  stbsv'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' >>= \res ->
  let {res' = id res} in
  return (res')

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

stpsv :: (CblasOrder) -> (CblasUplo) -> (CblasTranspose) -> (CblasDiag) -> (Int) -> (Ptr CFloat) -> (Ptr CFloat) -> (Int) -> IO ((()))
stpsv a1 a2 a3 a4 a5 a6 a7 a8 =
  let {a1' = cFromEnum a1} in 
  let {a2' = cFromEnum a2} in 
  let {a3' = cFromEnum a3} in 
  let {a4' = cFromEnum a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = id a6} in 
  let {a7' = id a7} in 
  let {a8' = fromIntegral a8} in 
  stpsv'_ a1' a2' a3' a4' a5' a6' a7' a8' >>= \res ->
  let {res' = id res} in
  return (res')

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

dgemv :: (CblasOrder) -> (CblasTranspose) -> (Int) -> (Int) -> (CDouble) -> (Ptr CDouble) -> (Int) -> (Ptr CDouble) -> (Int) -> (CDouble) -> (Ptr CDouble) -> (Int) -> IO ((()))
dgemv a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 =
  let {a1' = cFromEnum a1} in 
  let {a2' = cFromEnum 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 
  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 
  dgemv'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' a12' >>= \res ->
  let {res' = id res} in
  return (res')

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

dgbmv :: (CblasOrder) -> (CblasTranspose) -> (Int) -> (Int) -> (Int) -> (Int) -> (CDouble) -> (Ptr CDouble) -> (Int) -> (Ptr CDouble) -> (Int) -> (CDouble) -> (Ptr CDouble) -> (Int) -> IO ((()))
dgbmv a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 =
  let {a1' = cFromEnum a1} in 
  let {a2' = cFromEnum 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' = 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 
  dgbmv'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' a12' a13' a14' >>= \res ->
  let {res' = id res} in
  return (res')

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

dtrmv :: (CblasOrder) -> (CblasUplo) -> (CblasTranspose) -> (CblasDiag) -> (Int) -> (Ptr CDouble) -> (Int) -> (Ptr CDouble) -> (Int) -> IO ((()))
dtrmv a1 a2 a3 a4 a5 a6 a7 a8 a9 =
  let {a1' = cFromEnum a1} in 
  let {a2' = cFromEnum a2} in 
  let {a3' = cFromEnum a3} in 
  let {a4' = cFromEnum 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 
  dtrmv'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' >>= \res ->
  let {res' = id res} in
  return (res')

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

dtbmv :: (CblasOrder) -> (CblasUplo) -> (CblasTranspose) -> (CblasDiag) -> (Int) -> (Int) -> (Ptr CDouble) -> (Int) -> (Ptr CDouble) -> (Int) -> IO ((()))
dtbmv a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 =
  let {a1' = cFromEnum a1} in 
  let {a2' = cFromEnum a2} in 
  let {a3' = cFromEnum a3} in 
  let {a4' = cFromEnum 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 
  dtbmv'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' >>= \res ->
  let {res' = id res} in
  return (res')

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

dtpmv :: (CblasOrder) -> (CblasUplo) -> (CblasTranspose) -> (CblasDiag) -> (Int) -> (Ptr CDouble) -> (Ptr CDouble) -> (Int) -> IO ((()))
dtpmv a1 a2 a3 a4 a5 a6 a7 a8 =
  let {a1' = cFromEnum a1} in 
  let {a2' = cFromEnum a2} in 
  let {a3' = cFromEnum a3} in 
  let {a4' = cFromEnum a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = id a6} in 
  let {a7' = id a7} in 
  let {a8' = fromIntegral a8} in 
  dtpmv'_ a1' a2' a3' a4' a5' a6' a7' a8' >>= \res ->
  let {res' = id res} in
  return (res')

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

dtrsv :: (CblasOrder) -> (CblasUplo) -> (CblasTranspose) -> (CblasDiag) -> (Int) -> (Ptr CDouble) -> (Int) -> (Ptr CDouble) -> (Int) -> IO ((()))
dtrsv a1 a2 a3 a4 a5 a6 a7 a8 a9 =
  let {a1' = cFromEnum a1} in 
  let {a2' = cFromEnum a2} in 
  let {a3' = cFromEnum a3} in 
  let {a4' = cFromEnum 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 
  dtrsv'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' >>= \res ->
  let {res' = id res} in
  return (res')

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

dtbsv :: (CblasOrder) -> (CblasUplo) -> (CblasTranspose) -> (CblasDiag) -> (Int) -> (Int) -> (Ptr CDouble) -> (Int) -> (Ptr CDouble) -> (Int) -> IO ((()))
dtbsv a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 =
  let {a1' = cFromEnum a1} in 
  let {a2' = cFromEnum a2} in 
  let {a3' = cFromEnum a3} in 
  let {a4' = cFromEnum 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 
  dtbsv'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' >>= \res ->
  let {res' = id res} in
  return (res')

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

dtpsv :: (CblasOrder) -> (CblasUplo) -> (CblasTranspose) -> (CblasDiag) -> (Int) -> (Ptr CDouble) -> (Ptr CDouble) -> (Int) -> IO ((()))
dtpsv a1 a2 a3 a4 a5 a6 a7 a8 =
  let {a1' = cFromEnum a1} in 
  let {a2' = cFromEnum a2} in 
  let {a3' = cFromEnum a3} in 
  let {a4' = cFromEnum a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = id a6} in 
  let {a7' = id a7} in 
  let {a8' = fromIntegral a8} in 
  dtpsv'_ a1' a2' a3' a4' a5' a6' a7' a8' >>= \res ->
  let {res' = id res} in
  return (res')

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

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

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

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

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

ctrmv :: (CblasOrder) -> (CblasUplo) -> (CblasTranspose) -> (CblasDiag) -> (Int) -> (Ptr (Complex CFloat)) -> (Int) -> (Ptr (Complex CFloat)) -> (Int) -> IO ((()))
ctrmv a1 a2 a3 a4 a5 a6 a7 a8 a9 =
  let {a1' = cFromEnum a1} in 
  let {a2' = cFromEnum a2} in 
  let {a3' = cFromEnum a3} in 
  let {a4' = cFromEnum a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = castPtr a6} in 
  let {a7' = fromIntegral a7} in 
  let {a8' = castPtr a8} in 
  let {a9' = fromIntegral a9} in 
  ctrmv'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' >>= \res ->
  let {res' = id res} in
  return (res')

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

ctbmv :: (CblasOrder) -> (CblasUplo) -> (CblasTranspose) -> (CblasDiag) -> (Int) -> (Int) -> (Ptr (Complex CFloat)) -> (Int) -> (Ptr (Complex CFloat)) -> (Int) -> IO ((()))
ctbmv a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 =
  let {a1' = cFromEnum a1} in 
  let {a2' = cFromEnum a2} in 
  let {a3' = cFromEnum a3} in 
  let {a4' = cFromEnum a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = fromIntegral a6} in 
  let {a7' = castPtr a7} in 
  let {a8' = fromIntegral a8} in 
  let {a9' = castPtr a9} in 
  let {a10' = fromIntegral a10} in 
  ctbmv'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' >>= \res ->
  let {res' = id res} in
  return (res')

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

ctpmv :: (CblasOrder) -> (CblasUplo) -> (CblasTranspose) -> (CblasDiag) -> (Int) -> (Ptr (Complex CFloat)) -> (Ptr (Complex CFloat)) -> (Int) -> IO ((()))
ctpmv a1 a2 a3 a4 a5 a6 a7 a8 =
  let {a1' = cFromEnum a1} in 
  let {a2' = cFromEnum a2} in 
  let {a3' = cFromEnum a3} in 
  let {a4' = cFromEnum a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = castPtr a6} in 
  let {a7' = castPtr a7} in 
  let {a8' = fromIntegral a8} in 
  ctpmv'_ a1' a2' a3' a4' a5' a6' a7' a8' >>= \res ->
  let {res' = id res} in
  return (res')

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

ctrsv :: (CblasOrder) -> (CblasUplo) -> (CblasTranspose) -> (CblasDiag) -> (Int) -> (Ptr (Complex CFloat)) -> (Int) -> (Ptr (Complex CFloat)) -> (Int) -> IO ((()))
ctrsv a1 a2 a3 a4 a5 a6 a7 a8 a9 =
  let {a1' = cFromEnum a1} in 
  let {a2' = cFromEnum a2} in 
  let {a3' = cFromEnum a3} in 
  let {a4' = cFromEnum a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = castPtr a6} in 
  let {a7' = fromIntegral a7} in 
  let {a8' = castPtr a8} in 
  let {a9' = fromIntegral a9} in 
  ctrsv'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' >>= \res ->
  let {res' = id res} in
  return (res')

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

ctbsv :: (CblasOrder) -> (CblasUplo) -> (CblasTranspose) -> (CblasDiag) -> (Int) -> (Int) -> (Ptr (Complex CFloat)) -> (Int) -> (Ptr (Complex CFloat)) -> (Int) -> IO ((()))
ctbsv a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 =
  let {a1' = cFromEnum a1} in 
  let {a2' = cFromEnum a2} in 
  let {a3' = cFromEnum a3} in 
  let {a4' = cFromEnum a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = fromIntegral a6} in 
  let {a7' = castPtr a7} in 
  let {a8' = fromIntegral a8} in 
  let {a9' = castPtr a9} in 
  let {a10' = fromIntegral a10} in 
  ctbsv'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' >>= \res ->
  let {res' = id res} in
  return (res')

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

ctpsv :: (CblasOrder) -> (CblasUplo) -> (CblasTranspose) -> (CblasDiag) -> (Int) -> (Ptr (Complex CFloat)) -> (Ptr (Complex CFloat)) -> (Int) -> IO ((()))
ctpsv a1 a2 a3 a4 a5 a6 a7 a8 =
  let {a1' = cFromEnum a1} in 
  let {a2' = cFromEnum a2} in 
  let {a3' = cFromEnum a3} in 
  let {a4' = cFromEnum a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = castPtr a6} in 
  let {a7' = castPtr a7} in 
  let {a8' = fromIntegral a8} in 
  ctpsv'_ a1' a2' a3' a4' a5' a6' a7' a8' >>= \res ->
  let {res' = id res} in
  return (res')

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

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

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

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

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

ztrmv :: (CblasOrder) -> (CblasUplo) -> (CblasTranspose) -> (CblasDiag) -> (Int) -> (Ptr (Complex CDouble)) -> (Int) -> (Ptr (Complex CDouble)) -> (Int) -> IO ((()))
ztrmv a1 a2 a3 a4 a5 a6 a7 a8 a9 =
  let {a1' = cFromEnum a1} in 
  let {a2' = cFromEnum a2} in 
  let {a3' = cFromEnum a3} in 
  let {a4' = cFromEnum a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = castPtr a6} in 
  let {a7' = fromIntegral a7} in 
  let {a8' = castPtr a8} in 
  let {a9' = fromIntegral a9} in 
  ztrmv'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' >>= \res ->
  let {res' = id res} in
  return (res')

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

ztbmv :: (CblasOrder) -> (CblasUplo) -> (CblasTranspose) -> (CblasDiag) -> (Int) -> (Int) -> (Ptr (Complex CDouble)) -> (Int) -> (Ptr (Complex CDouble)) -> (Int) -> IO ((()))
ztbmv a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 =
  let {a1' = cFromEnum a1} in 
  let {a2' = cFromEnum a2} in 
  let {a3' = cFromEnum a3} in 
  let {a4' = cFromEnum a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = fromIntegral a6} in 
  let {a7' = castPtr a7} in 
  let {a8' = fromIntegral a8} in 
  let {a9' = castPtr a9} in 
  let {a10' = fromIntegral a10} in 
  ztbmv'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' >>= \res ->
  let {res' = id res} in
  return (res')

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

ztpmv :: (CblasOrder) -> (CblasUplo) -> (CblasTranspose) -> (CblasDiag) -> (Int) -> (Ptr (Complex CDouble)) -> (Ptr (Complex CDouble)) -> (Int) -> IO ((()))
ztpmv a1 a2 a3 a4 a5 a6 a7 a8 =
  let {a1' = cFromEnum a1} in 
  let {a2' = cFromEnum a2} in 
  let {a3' = cFromEnum a3} in 
  let {a4' = cFromEnum a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = castPtr a6} in 
  let {a7' = castPtr a7} in 
  let {a8' = fromIntegral a8} in 
  ztpmv'_ a1' a2' a3' a4' a5' a6' a7' a8' >>= \res ->
  let {res' = id res} in
  return (res')

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

ztrsv :: (CblasOrder) -> (CblasUplo) -> (CblasTranspose) -> (CblasDiag) -> (Int) -> (Ptr (Complex CDouble)) -> (Int) -> (Ptr (Complex CDouble)) -> (Int) -> IO ((()))
ztrsv a1 a2 a3 a4 a5 a6 a7 a8 a9 =
  let {a1' = cFromEnum a1} in 
  let {a2' = cFromEnum a2} in 
  let {a3' = cFromEnum a3} in 
  let {a4' = cFromEnum a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = castPtr a6} in 
  let {a7' = fromIntegral a7} in 
  let {a8' = castPtr a8} in 
  let {a9' = fromIntegral a9} in 
  ztrsv'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' >>= \res ->
  let {res' = id res} in
  return (res')

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

ztbsv :: (CblasOrder) -> (CblasUplo) -> (CblasTranspose) -> (CblasDiag) -> (Int) -> (Int) -> (Ptr (Complex CDouble)) -> (Int) -> (Ptr (Complex CDouble)) -> (Int) -> IO ((()))
ztbsv a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 =
  let {a1' = cFromEnum a1} in 
  let {a2' = cFromEnum a2} in 
  let {a3' = cFromEnum a3} in 
  let {a4' = cFromEnum a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = fromIntegral a6} in 
  let {a7' = castPtr a7} in 
  let {a8' = fromIntegral a8} in 
  let {a9' = castPtr a9} in 
  let {a10' = fromIntegral a10} in 
  ztbsv'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' >>= \res ->
  let {res' = id res} in
  return (res')

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

ztpsv :: (CblasOrder) -> (CblasUplo) -> (CblasTranspose) -> (CblasDiag) -> (Int) -> (Ptr (Complex CDouble)) -> (Ptr (Complex CDouble)) -> (Int) -> IO ((()))
ztpsv a1 a2 a3 a4 a5 a6 a7 a8 =
  let {a1' = cFromEnum a1} in 
  let {a2' = cFromEnum a2} in 
  let {a3' = cFromEnum a3} in 
  let {a4' = cFromEnum a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = castPtr a6} in 
  let {a7' = castPtr a7} in 
  let {a8' = fromIntegral a8} in 
  ztpsv'_ a1' a2' a3' a4' a5' a6' a7' a8' >>= \res ->
  let {res' = id res} in
  return (res')

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

ssymv :: (CblasOrder) -> (CblasUplo) -> (Int) -> (CFloat) -> (Ptr CFloat) -> (Int) -> (Ptr CFloat) -> (Int) -> (CFloat) -> (Ptr CFloat) -> (Int) -> IO ((()))
ssymv a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 =
  let {a1' = cFromEnum a1} in 
  let {a2' = cFromEnum a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = id 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 
  ssymv'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' >>= \res ->
  let {res' = id res} in
  return (res')

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

ssbmv :: (CblasOrder) -> (CblasUplo) -> (Int) -> (Int) -> (CFloat) -> (Ptr CFloat) -> (Int) -> (Ptr CFloat) -> (Int) -> (CFloat) -> (Ptr CFloat) -> (Int) -> IO ((()))
ssbmv a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 =
  let {a1' = cFromEnum a1} in 
  let {a2' = cFromEnum 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 
  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 
  ssbmv'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' a12' >>= \res ->
  let {res' = id res} in
  return (res')

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

sspmv :: (CblasOrder) -> (CblasUplo) -> (Int) -> (CFloat) -> (Ptr CFloat) -> (Ptr CFloat) -> (Int) -> (CFloat) -> (Ptr CFloat) -> (Int) -> IO ((()))
sspmv a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 =
  let {a1' = cFromEnum a1} in 
  let {a2' = cFromEnum 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 
  let {a8' = id a8} in 
  let {a9' = id a9} in 
  let {a10' = fromIntegral a10} in 
  sspmv'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' >>= \res ->
  let {res' = id res} in
  return (res')

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

sger :: (CblasOrder) -> (Int) -> (Int) -> (CFloat) -> (Ptr CFloat) -> (Int) -> (Ptr CFloat) -> (Int) -> (Ptr CFloat) -> (Int) -> IO ((()))
sger a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 =
  let {a1' = cFromEnum a1} in 
  let {a2' = fromIntegral a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = id 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 
  sger'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' >>= \res ->
  let {res' = id res} in
  return (res')

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

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

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

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

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

ssyr2 :: (CblasOrder) -> (CblasUplo) -> (Int) -> (CFloat) -> (Ptr CFloat) -> (Int) -> (Ptr CFloat) -> (Int) -> (Ptr CFloat) -> (Int) -> IO ((()))
ssyr2 a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 =
  let {a1' = cFromEnum a1} in 
  let {a2' = cFromEnum a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = id 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 
  ssyr2'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' >>= \res ->
  let {res' = id res} in
  return (res')

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

sspr2 :: (CblasOrder) -> (CblasUplo) -> (Int) -> (CFloat) -> (Ptr CFloat) -> (Int) -> (Ptr CFloat) -> (Int) -> (Ptr CFloat) -> IO ((()))
sspr2 a1 a2 a3 a4 a5 a6 a7 a8 a9 =
  let {a1' = cFromEnum a1} in 
  let {a2' = cFromEnum a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = id 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 
  sspr2'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' >>= \res ->
  let {res' = id res} in
  return (res')

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

dsymv :: (CblasOrder) -> (CblasUplo) -> (Int) -> (CDouble) -> (Ptr CDouble) -> (Int) -> (Ptr CDouble) -> (Int) -> (CDouble) -> (Ptr CDouble) -> (Int) -> IO ((()))
dsymv a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 =
  let {a1' = cFromEnum a1} in 
  let {a2' = cFromEnum a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = id 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 
  dsymv'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' >>= \res ->
  let {res' = id res} in
  return (res')

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

dsbmv :: (CblasOrder) -> (CblasUplo) -> (Int) -> (Int) -> (CDouble) -> (Ptr CDouble) -> (Int) -> (Ptr CDouble) -> (Int) -> (CDouble) -> (Ptr CDouble) -> (Int) -> IO ((()))
dsbmv a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 =
  let {a1' = cFromEnum a1} in 
  let {a2' = cFromEnum 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 
  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 
  dsbmv'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' a12' >>= \res ->
  let {res' = id res} in
  return (res')

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

dspmv :: (CblasOrder) -> (CblasUplo) -> (Int) -> (CDouble) -> (Ptr CDouble) -> (Ptr CDouble) -> (Int) -> (CDouble) -> (Ptr CDouble) -> (Int) -> IO ((()))
dspmv a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 =
  let {a1' = cFromEnum a1} in 
  let {a2' = cFromEnum 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 
  let {a8' = id a8} in 
  let {a9' = id a9} in 
  let {a10' = fromIntegral a10} in 
  dspmv'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' >>= \res ->
  let {res' = id res} in
  return (res')

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

dger :: (CblasOrder) -> (Int) -> (Int) -> (CDouble) -> (Ptr CDouble) -> (Int) -> (Ptr CDouble) -> (Int) -> (Ptr CDouble) -> (Int) -> IO ((()))
dger a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 =
  let {a1' = cFromEnum a1} in 
  let {a2' = fromIntegral a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = id 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 
  dger'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' >>= \res ->
  let {res' = id res} in
  return (res')

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

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

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

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

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

dsyr2 :: (CblasOrder) -> (CblasUplo) -> (Int) -> (CDouble) -> (Ptr CDouble) -> (Int) -> (Ptr CDouble) -> (Int) -> (Ptr CDouble) -> (Int) -> IO ((()))
dsyr2 a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 =
  let {a1' = cFromEnum a1} in 
  let {a2' = cFromEnum a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = id 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 
  dsyr2'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' >>= \res ->
  let {res' = id res} in
  return (res')

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

dspr2 :: (CblasOrder) -> (CblasUplo) -> (Int) -> (CDouble) -> (Ptr CDouble) -> (Int) -> (Ptr CDouble) -> (Int) -> (Ptr CDouble) -> IO ((()))
dspr2 a1 a2 a3 a4 a5 a6 a7 a8 a9 =
  let {a1' = cFromEnum a1} in 
  let {a2' = cFromEnum a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = id 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 
  dspr2'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' >>= \res ->
  let {res' = id res} in
  return (res')

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

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

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

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

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

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

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

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

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

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

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

cher :: (CblasOrder) -> (CblasUplo) -> (Int) -> (CFloat) -> (Ptr (Complex CFloat)) -> (Int) -> (Ptr (Complex CFloat)) -> (Int) -> IO ((()))
cher a1 a2 a3 a4 a5 a6 a7 a8 =
  let {a1' = cFromEnum a1} in 
  let {a2' = cFromEnum a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = id a4} in 
  let {a5' = castPtr a5} in 
  let {a6' = fromIntegral a6} in 
  let {a7' = castPtr a7} in 
  let {a8' = fromIntegral a8} in 
  cher'_ a1' a2' a3' a4' a5' a6' a7' a8' >>= \res ->
  let {res' = id res} in
  return (res')

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

zher :: (CblasOrder) -> (CblasUplo) -> (Int) -> (CDouble) -> (Ptr (Complex CDouble)) -> (Int) -> (Ptr (Complex CDouble)) -> (Int) -> IO ((()))
zher a1 a2 a3 a4 a5 a6 a7 a8 =
  let {a1' = cFromEnum a1} in 
  let {a2' = cFromEnum a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = id a4} in 
  let {a5' = castPtr a5} in 
  let {a6' = fromIntegral a6} in 
  let {a7' = castPtr a7} in 
  let {a8' = fromIntegral a8} in 
  zher'_ a1' a2' a3' a4' a5' a6' a7' a8' >>= \res ->
  let {res' = id res} in
  return (res')

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

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

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

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

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

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

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

sgemm :: (CblasOrder) -> (CblasTranspose) -> (CblasTranspose) -> (Int) -> (Int) -> (Int) -> (CFloat) -> (Ptr CFloat) -> (Int) -> (Ptr CFloat) -> (Int) -> (CFloat) -> (Ptr CFloat) -> (Int) -> IO ((()))
sgemm a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 =
  let {a1' = cFromEnum a1} in 
  let {a2' = cFromEnum a2} in 
  let {a3' = cFromEnum 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 
  let {a12' = id a12} in 
  let {a13' = id a13} in 
  let {a14' = fromIntegral a14} in 
  sgemm'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' a12' a13' a14' >>= \res ->
  let {res' = id res} in
  return (res')

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

ssymm :: (CblasOrder) -> (CblasSide) -> (CblasUplo) -> (Int) -> (Int) -> (CFloat) -> (Ptr CFloat) -> (Int) -> (Ptr CFloat) -> (Int) -> (CFloat) -> (Ptr CFloat) -> (Int) -> IO ((()))
ssymm a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 =
  let {a1' = cFromEnum a1} in 
  let {a2' = cFromEnum a2} in 
  let {a3' = cFromEnum 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 
  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 
  ssymm'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' a12' a13' >>= \res ->
  let {res' = id res} in
  return (res')

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

ssyrk :: (CblasOrder) -> (CblasUplo) -> (CblasTranspose) -> (Int) -> (Int) -> (CFloat) -> (Ptr CFloat) -> (Int) -> (CFloat) -> (Ptr CFloat) -> (Int) -> IO ((()))
ssyrk a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 =
  let {a1' = cFromEnum a1} in 
  let {a2' = cFromEnum a2} in 
  let {a3' = cFromEnum 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 
  let {a9' = id a9} in 
  let {a10' = id a10} in 
  let {a11' = fromIntegral a11} in 
  ssyrk'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' >>= \res ->
  let {res' = id res} in
  return (res')

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

ssyr2k :: (CblasOrder) -> (CblasUplo) -> (CblasTranspose) -> (Int) -> (Int) -> (CFloat) -> (Ptr CFloat) -> (Int) -> (Ptr CFloat) -> (Int) -> (CFloat) -> (Ptr CFloat) -> (Int) -> IO ((()))
ssyr2k a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 =
  let {a1' = cFromEnum a1} in 
  let {a2' = cFromEnum a2} in 
  let {a3' = cFromEnum 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 
  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 
  ssyr2k'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' a12' a13' >>= \res ->
  let {res' = id res} in
  return (res')

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

strmm :: (CblasOrder) -> (CblasSide) -> (CblasUplo) -> (CblasTranspose) -> (CblasDiag) -> (Int) -> (Int) -> (CFloat) -> (Ptr CFloat) -> (Int) -> (Ptr CFloat) -> (Int) -> IO ((()))
strmm a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 =
  let {a1' = cFromEnum a1} in 
  let {a2' = cFromEnum a2} in 
  let {a3' = cFromEnum a3} in 
  let {a4' = cFromEnum a4} in 
  let {a5' = cFromEnum a5} in 
  let {a6' = fromIntegral 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 
  strmm'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' a12' >>= \res ->
  let {res' = id res} in
  return (res')

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

strsm :: (CblasOrder) -> (CblasSide) -> (CblasUplo) -> (CblasTranspose) -> (CblasDiag) -> (Int) -> (Int) -> (CFloat) -> (Ptr CFloat) -> (Int) -> (Ptr CFloat) -> (Int) -> IO ((()))
strsm a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 =
  let {a1' = cFromEnum a1} in 
  let {a2' = cFromEnum a2} in 
  let {a3' = cFromEnum a3} in 
  let {a4' = cFromEnum a4} in 
  let {a5' = cFromEnum a5} in 
  let {a6' = fromIntegral 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 
  strsm'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' a12' >>= \res ->
  let {res' = id res} in
  return (res')

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

dgemm :: (CblasOrder) -> (CblasTranspose) -> (CblasTranspose) -> (Int) -> (Int) -> (Int) -> (CDouble) -> (Ptr CDouble) -> (Int) -> (Ptr CDouble) -> (Int) -> (CDouble) -> (Ptr CDouble) -> (Int) -> IO ((()))
dgemm a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 =
  let {a1' = cFromEnum a1} in 
  let {a2' = cFromEnum a2} in 
  let {a3' = cFromEnum 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 
  let {a12' = id a12} in 
  let {a13' = id a13} in 
  let {a14' = fromIntegral a14} in 
  dgemm'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' a12' a13' a14' >>= \res ->
  let {res' = id res} in
  return (res')

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

dsymm :: (CblasOrder) -> (CblasSide) -> (CblasUplo) -> (Int) -> (Int) -> (CDouble) -> (Ptr CDouble) -> (Int) -> (Ptr CDouble) -> (Int) -> (CDouble) -> (Ptr CDouble) -> (Int) -> IO ((()))
dsymm a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 =
  let {a1' = cFromEnum a1} in 
  let {a2' = cFromEnum a2} in 
  let {a3' = cFromEnum 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 
  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 
  dsymm'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' a12' a13' >>= \res ->
  let {res' = id res} in
  return (res')

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

dsyrk :: (CblasOrder) -> (CblasUplo) -> (CblasTranspose) -> (Int) -> (Int) -> (CDouble) -> (Ptr CDouble) -> (Int) -> (CDouble) -> (Ptr CDouble) -> (Int) -> IO ((()))
dsyrk a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 =
  let {a1' = cFromEnum a1} in 
  let {a2' = cFromEnum a2} in 
  let {a3' = cFromEnum 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 
  let {a9' = id a9} in 
  let {a10' = id a10} in 
  let {a11' = fromIntegral a11} in 
  dsyrk'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' >>= \res ->
  let {res' = id res} in
  return (res')

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

dsyr2k :: (CblasOrder) -> (CblasUplo) -> (CblasTranspose) -> (Int) -> (Int) -> (CDouble) -> (Ptr CDouble) -> (Int) -> (Ptr CDouble) -> (Int) -> (CDouble) -> (Ptr CDouble) -> (Int) -> IO ((()))
dsyr2k a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 =
  let {a1' = cFromEnum a1} in 
  let {a2' = cFromEnum a2} in 
  let {a3' = cFromEnum 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 
  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 
  dsyr2k'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' a12' a13' >>= \res ->
  let {res' = id res} in
  return (res')

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

dtrmm :: (CblasOrder) -> (CblasSide) -> (CblasUplo) -> (CblasTranspose) -> (CblasDiag) -> (Int) -> (Int) -> (CDouble) -> (Ptr CDouble) -> (Int) -> (Ptr CDouble) -> (Int) -> IO ((()))
dtrmm a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 =
  let {a1' = cFromEnum a1} in 
  let {a2' = cFromEnum a2} in 
  let {a3' = cFromEnum a3} in 
  let {a4' = cFromEnum a4} in 
  let {a5' = cFromEnum a5} in 
  let {a6' = fromIntegral 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 
  dtrmm'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' a12' >>= \res ->
  let {res' = id res} in
  return (res')

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

dtrsm :: (CblasOrder) -> (CblasSide) -> (CblasUplo) -> (CblasTranspose) -> (CblasDiag) -> (Int) -> (Int) -> (CDouble) -> (Ptr CDouble) -> (Int) -> (Ptr CDouble) -> (Int) -> IO ((()))
dtrsm a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 =
  let {a1' = cFromEnum a1} in 
  let {a2' = cFromEnum a2} in 
  let {a3' = cFromEnum a3} in 
  let {a4' = cFromEnum a4} in 
  let {a5' = cFromEnum a5} in 
  let {a6' = fromIntegral 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 
  dtrsm'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' a12' >>= \res ->
  let {res' = id res} in
  return (res')

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

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

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

csymm :: (CblasOrder) -> (CblasSide) -> (CblasUplo) -> (Int) -> (Int) -> (Ptr (Complex CFloat)) -> (Ptr (Complex CFloat)) -> (Int) -> (Ptr (Complex CFloat)) -> (Int) -> (Ptr (Complex CFloat)) -> (Ptr (Complex CFloat)) -> (Int) -> IO ((()))
csymm a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 =
  let {a1' = cFromEnum a1} in 
  let {a2' = cFromEnum a2} in 
  let {a3' = cFromEnum a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = castPtr a6} in 
  let {a7' = castPtr a7} in 
  let {a8' = fromIntegral a8} in 
  let {a9' = castPtr a9} in 
  let {a10' = fromIntegral a10} in 
  let {a11' = castPtr a11} in 
  let {a12' = castPtr a12} in 
  let {a13' = fromIntegral a13} in 
  csymm'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' a12' a13' >>= \res ->
  let {res' = id res} in
  return (res')

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

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

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

csyr2k :: (CblasOrder) -> (CblasUplo) -> (CblasTranspose) -> (Int) -> (Int) -> (Ptr (Complex CFloat)) -> (Ptr (Complex CFloat)) -> (Int) -> (Ptr (Complex CFloat)) -> (Int) -> (Ptr (Complex CFloat)) -> (Ptr (Complex CFloat)) -> (Int) -> IO ((()))
csyr2k a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 =
  let {a1' = cFromEnum a1} in 
  let {a2' = cFromEnum a2} in 
  let {a3' = cFromEnum a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = castPtr a6} in 
  let {a7' = castPtr a7} in 
  let {a8' = fromIntegral a8} in 
  let {a9' = castPtr a9} in 
  let {a10' = fromIntegral a10} in 
  let {a11' = castPtr a11} in 
  let {a12' = castPtr a12} in 
  let {a13' = fromIntegral a13} in 
  csyr2k'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' a12' a13' >>= \res ->
  let {res' = id res} in
  return (res')

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

ctrmm :: (CblasOrder) -> (CblasSide) -> (CblasUplo) -> (CblasTranspose) -> (CblasDiag) -> (Int) -> (Int) -> (Ptr (Complex CFloat)) -> (Ptr (Complex CFloat)) -> (Int) -> (Ptr (Complex CFloat)) -> (Int) -> IO ((()))
ctrmm a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 =
  let {a1' = cFromEnum a1} in 
  let {a2' = cFromEnum a2} in 
  let {a3' = cFromEnum a3} in 
  let {a4' = cFromEnum a4} in 
  let {a5' = cFromEnum a5} in 
  let {a6' = fromIntegral a6} in 
  let {a7' = fromIntegral a7} in 
  let {a8' = castPtr a8} in 
  let {a9' = castPtr a9} in 
  let {a10' = fromIntegral a10} in 
  let {a11' = castPtr a11} in 
  let {a12' = fromIntegral a12} in 
  ctrmm'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' a12' >>= \res ->
  let {res' = id res} in
  return (res')

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

ctrsm :: (CblasOrder) -> (CblasSide) -> (CblasUplo) -> (CblasTranspose) -> (CblasDiag) -> (Int) -> (Int) -> (Ptr (Complex CFloat)) -> (Ptr (Complex CFloat)) -> (Int) -> (Ptr (Complex CFloat)) -> (Int) -> IO ((()))
ctrsm a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 =
  let {a1' = cFromEnum a1} in 
  let {a2' = cFromEnum a2} in 
  let {a3' = cFromEnum a3} in 
  let {a4' = cFromEnum a4} in 
  let {a5' = cFromEnum a5} in 
  let {a6' = fromIntegral a6} in 
  let {a7' = fromIntegral a7} in 
  let {a8' = castPtr a8} in 
  let {a9' = castPtr a9} in 
  let {a10' = fromIntegral a10} in 
  let {a11' = castPtr a11} in 
  let {a12' = fromIntegral a12} in 
  ctrsm'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' a12' >>= \res ->
  let {res' = id res} in
  return (res')

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

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

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

zsymm :: (CblasOrder) -> (CblasSide) -> (CblasUplo) -> (Int) -> (Int) -> (Ptr (Complex CDouble)) -> (Ptr (Complex CDouble)) -> (Int) -> (Ptr (Complex CDouble)) -> (Int) -> (Ptr (Complex CDouble)) -> (Ptr (Complex CDouble)) -> (Int) -> IO ((()))
zsymm a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 =
  let {a1' = cFromEnum a1} in 
  let {a2' = cFromEnum a2} in 
  let {a3' = cFromEnum a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = castPtr a6} in 
  let {a7' = castPtr a7} in 
  let {a8' = fromIntegral a8} in 
  let {a9' = castPtr a9} in 
  let {a10' = fromIntegral a10} in 
  let {a11' = castPtr a11} in 
  let {a12' = castPtr a12} in 
  let {a13' = fromIntegral a13} in 
  zsymm'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' a12' a13' >>= \res ->
  let {res' = id res} in
  return (res')

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

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

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

zsyr2k :: (CblasOrder) -> (CblasUplo) -> (CblasTranspose) -> (Int) -> (Int) -> (Ptr (Complex CDouble)) -> (Ptr (Complex CDouble)) -> (Int) -> (Ptr (Complex CDouble)) -> (Int) -> (Ptr (Complex CDouble)) -> (Ptr (Complex CDouble)) -> (Int) -> IO ((()))
zsyr2k a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 =
  let {a1' = cFromEnum a1} in 
  let {a2' = cFromEnum a2} in 
  let {a3' = cFromEnum a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = castPtr a6} in 
  let {a7' = castPtr a7} in 
  let {a8' = fromIntegral a8} in 
  let {a9' = castPtr a9} in 
  let {a10' = fromIntegral a10} in 
  let {a11' = castPtr a11} in 
  let {a12' = castPtr a12} in 
  let {a13' = fromIntegral a13} in 
  zsyr2k'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' a12' a13' >>= \res ->
  let {res' = id res} in
  return (res')

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

ztrmm :: (CblasOrder) -> (CblasSide) -> (CblasUplo) -> (CblasTranspose) -> (CblasDiag) -> (Int) -> (Int) -> (Ptr (Complex CDouble)) -> (Ptr (Complex CDouble)) -> (Int) -> (Ptr (Complex CDouble)) -> (Int) -> IO ((()))
ztrmm a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 =
  let {a1' = cFromEnum a1} in 
  let {a2' = cFromEnum a2} in 
  let {a3' = cFromEnum a3} in 
  let {a4' = cFromEnum a4} in 
  let {a5' = cFromEnum a5} in 
  let {a6' = fromIntegral a6} in 
  let {a7' = fromIntegral a7} in 
  let {a8' = castPtr a8} in 
  let {a9' = castPtr a9} in 
  let {a10' = fromIntegral a10} in 
  let {a11' = castPtr a11} in 
  let {a12' = fromIntegral a12} in 
  ztrmm'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' a12' >>= \res ->
  let {res' = id res} in
  return (res')

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

ztrsm :: (CblasOrder) -> (CblasSide) -> (CblasUplo) -> (CblasTranspose) -> (CblasDiag) -> (Int) -> (Int) -> (Ptr (Complex CDouble)) -> (Ptr (Complex CDouble)) -> (Int) -> (Ptr (Complex CDouble)) -> (Int) -> IO ((()))
ztrsm a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 =
  let {a1' = cFromEnum a1} in 
  let {a2' = cFromEnum a2} in 
  let {a3' = cFromEnum a3} in 
  let {a4' = cFromEnum a4} in 
  let {a5' = cFromEnum a5} in 
  let {a6' = fromIntegral a6} in 
  let {a7' = fromIntegral a7} in 
  let {a8' = castPtr a8} in 
  let {a9' = castPtr a9} in 
  let {a10' = fromIntegral a10} in 
  let {a11' = castPtr a11} in 
  let {a12' = fromIntegral a12} in 
  ztrsm'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' a12' >>= \res ->
  let {res' = id res} in
  return (res')

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

chemm :: (CblasOrder) -> (CblasSide) -> (CblasUplo) -> (Int) -> (Int) -> (Ptr (Complex CFloat)) -> (Ptr (Complex CFloat)) -> (Int) -> (Ptr (Complex CFloat)) -> (Int) -> (Ptr (Complex CFloat)) -> (Ptr (Complex CFloat)) -> (Int) -> IO ((()))
chemm a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 =
  let {a1' = cFromEnum a1} in 
  let {a2' = cFromEnum a2} in 
  let {a3' = cFromEnum a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = castPtr a6} in 
  let {a7' = castPtr a7} in 
  let {a8' = fromIntegral a8} in 
  let {a9' = castPtr a9} in 
  let {a10' = fromIntegral a10} in 
  let {a11' = castPtr a11} in 
  let {a12' = castPtr a12} in 
  let {a13' = fromIntegral a13} in 
  chemm'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' a12' a13' >>= \res ->
  let {res' = id res} in
  return (res')

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

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

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

cher2k :: (CblasOrder) -> (CblasUplo) -> (CblasTranspose) -> (Int) -> (Int) -> (Ptr (Complex CFloat)) -> (Ptr (Complex CFloat)) -> (Int) -> (Ptr (Complex CFloat)) -> (Int) -> (CFloat) -> (Ptr (Complex CFloat)) -> (Int) -> IO ((()))
cher2k a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 =
  let {a1' = cFromEnum a1} in 
  let {a2' = cFromEnum a2} in 
  let {a3' = cFromEnum a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = castPtr a6} in 
  let {a7' = castPtr a7} in 
  let {a8' = fromIntegral a8} in 
  let {a9' = castPtr a9} in 
  let {a10' = fromIntegral a10} in 
  let {a11' = id a11} in 
  let {a12' = castPtr a12} in 
  let {a13' = fromIntegral a13} in 
  cher2k'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' a12' a13' >>= \res ->
  let {res' = id res} in
  return (res')

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

zhemm :: (CblasOrder) -> (CblasSide) -> (CblasUplo) -> (Int) -> (Int) -> (Ptr (Complex CDouble)) -> (Ptr (Complex CDouble)) -> (Int) -> (Ptr (Complex CDouble)) -> (Int) -> (Ptr (Complex CDouble)) -> (Ptr (Complex CDouble)) -> (Int) -> IO ((()))
zhemm a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 =
  let {a1' = cFromEnum a1} in 
  let {a2' = cFromEnum a2} in 
  let {a3' = cFromEnum a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = castPtr a6} in 
  let {a7' = castPtr a7} in 
  let {a8' = fromIntegral a8} in 
  let {a9' = castPtr a9} in 
  let {a10' = fromIntegral a10} in 
  let {a11' = castPtr a11} in 
  let {a12' = castPtr a12} in 
  let {a13' = fromIntegral a13} in 
  zhemm'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' a12' a13' >>= \res ->
  let {res' = id res} in
  return (res')

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

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

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

zher2k :: (CblasOrder) -> (CblasUplo) -> (CblasTranspose) -> (Int) -> (Int) -> (Ptr (Complex CDouble)) -> (Ptr (Complex CDouble)) -> (Int) -> (Ptr (Complex CDouble)) -> (Int) -> (CDouble) -> (Ptr (Complex CDouble)) -> (Int) -> IO ((()))
zher2k a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 =
  let {a1' = cFromEnum a1} in 
  let {a2' = cFromEnum a2} in 
  let {a3' = cFromEnum a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = fromIntegral a5} in 
  let {a6' = castPtr a6} in 
  let {a7' = castPtr a7} in 
  let {a8' = fromIntegral a8} in 
  let {a9' = castPtr a9} in 
  let {a10' = fromIntegral a10} in 
  let {a11' = id a11} in 
  let {a12' = castPtr a12} in 
  let {a13' = fromIntegral a13} in 
  zher2k'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' a12' a13' >>= \res ->
  let {res' = id res} in
  return (res')

{-# LINE 37 "./Numeric/Jalla/Foreign/BLAS.chs" #-}

foreign import ccall unsafe "Numeric/Jalla/Foreign/BLAS.chs.h cblas_sdsdot"
  sdsdot'_ :: (CInt -> (CFloat -> ((Ptr CFloat) -> (CInt -> ((Ptr CFloat) -> (CInt -> (IO CFloat)))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/BLAS.chs.h cblas_dsdot"
  dsdot'_ :: (CInt -> ((Ptr CFloat) -> (CInt -> ((Ptr CFloat) -> (CInt -> (IO CDouble))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/BLAS.chs.h cblas_sdot"
  sdot'_ :: (CInt -> ((Ptr CFloat) -> (CInt -> ((Ptr CFloat) -> (CInt -> (IO CFloat))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/BLAS.chs.h cblas_ddot"
  ddot'_ :: (CInt -> ((Ptr CDouble) -> (CInt -> ((Ptr CDouble) -> (CInt -> (IO CDouble))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/BLAS.chs.h cblas_cdotu_sub"
  cdotu_sub'_ :: (CInt -> ((Ptr ()) -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr ()) -> (IO ())))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/BLAS.chs.h cblas_cdotc_sub"
  cdotc_sub'_ :: (CInt -> ((Ptr ()) -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr ()) -> (IO ())))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/BLAS.chs.h cblas_zdotu_sub"
  zdotu_sub'_ :: (CInt -> ((Ptr ()) -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr ()) -> (IO ())))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/BLAS.chs.h cblas_zdotc_sub"
  zdotc_sub'_ :: (CInt -> ((Ptr ()) -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr ()) -> (IO ())))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/BLAS.chs.h cblas_snrm2"
  snrm2'_ :: (CInt -> ((Ptr CFloat) -> (CInt -> (IO CFloat))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/BLAS.chs.h cblas_sasum"
  sasum'_ :: (CInt -> ((Ptr CFloat) -> (CInt -> (IO CFloat))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/BLAS.chs.h cblas_dnrm2"
  dnrm2'_ :: (CInt -> ((Ptr CDouble) -> (CInt -> (IO CDouble))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/BLAS.chs.h cblas_dasum"
  dasum'_ :: (CInt -> ((Ptr CDouble) -> (CInt -> (IO CDouble))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/BLAS.chs.h cblas_scnrm2"
  scnrm2'_ :: (CInt -> ((Ptr ()) -> (CInt -> (IO CFloat))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/BLAS.chs.h cblas_scasum"
  scasum'_ :: (CInt -> ((Ptr ()) -> (CInt -> (IO CFloat))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/BLAS.chs.h cblas_dznrm2"
  dznrm2'_ :: (CInt -> ((Ptr ()) -> (CInt -> (IO CDouble))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/BLAS.chs.h cblas_dzasum"
  dzasum'_ :: (CInt -> ((Ptr ()) -> (CInt -> (IO CDouble))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/BLAS.chs.h cblas_isamax"
  isamax'_ :: (CInt -> ((Ptr CFloat) -> (CInt -> (IO CULong))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/BLAS.chs.h cblas_idamax"
  idamax'_ :: (CInt -> ((Ptr CDouble) -> (CInt -> (IO CULong))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/BLAS.chs.h cblas_icamax"
  icamax'_ :: (CInt -> ((Ptr ()) -> (CInt -> (IO CULong))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/BLAS.chs.h cblas_izamax"
  izamax'_ :: (CInt -> ((Ptr ()) -> (CInt -> (IO CULong))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/BLAS.chs.h cblas_sswap"
  sswap'_ :: (CInt -> ((Ptr CFloat) -> (CInt -> ((Ptr CFloat) -> (CInt -> (IO ()))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/BLAS.chs.h cblas_scopy"
  scopy'_ :: (CInt -> ((Ptr CFloat) -> (CInt -> ((Ptr CFloat) -> (CInt -> (IO ()))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/BLAS.chs.h cblas_saxpy"
  saxpy'_ :: (CInt -> (CFloat -> ((Ptr CFloat) -> (CInt -> ((Ptr CFloat) -> (CInt -> (IO ())))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/BLAS.chs.h cblas_dswap"
  dswap'_ :: (CInt -> ((Ptr CDouble) -> (CInt -> ((Ptr CDouble) -> (CInt -> (IO ()))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/BLAS.chs.h cblas_dcopy"
  dcopy'_ :: (CInt -> ((Ptr CDouble) -> (CInt -> ((Ptr CDouble) -> (CInt -> (IO ()))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/BLAS.chs.h cblas_daxpy"
  daxpy'_ :: (CInt -> (CDouble -> ((Ptr CDouble) -> (CInt -> ((Ptr CDouble) -> (CInt -> (IO ())))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/BLAS.chs.h cblas_cswap"
  cswap'_ :: (CInt -> ((Ptr ()) -> (CInt -> ((Ptr ()) -> (CInt -> (IO ()))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/BLAS.chs.h cblas_ccopy"
  ccopy'_ :: (CInt -> ((Ptr ()) -> (CInt -> ((Ptr ()) -> (CInt -> (IO ()))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/BLAS.chs.h cblas_caxpy"
  caxpy'_ :: (CInt -> ((Ptr ()) -> ((Ptr ()) -> (CInt -> ((Ptr ()) -> (CInt -> (IO ())))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/BLAS.chs.h cblas_zswap"
  zswap'_ :: (CInt -> ((Ptr ()) -> (CInt -> ((Ptr ()) -> (CInt -> (IO ()))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/BLAS.chs.h cblas_zcopy"
  zcopy'_ :: (CInt -> ((Ptr ()) -> (CInt -> ((Ptr ()) -> (CInt -> (IO ()))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/BLAS.chs.h cblas_zaxpy"
  zaxpy'_ :: (CInt -> ((Ptr ()) -> ((Ptr ()) -> (CInt -> ((Ptr ()) -> (CInt -> (IO ())))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/BLAS.chs.h cblas_srotg"
  srotg'_ :: ((Ptr CFloat) -> ((Ptr CFloat) -> ((Ptr CFloat) -> ((Ptr CFloat) -> (IO ())))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/BLAS.chs.h cblas_srotmg"
  srotmg'_ :: ((Ptr CFloat) -> ((Ptr CFloat) -> ((Ptr CFloat) -> (CFloat -> ((Ptr CFloat) -> (IO ()))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/BLAS.chs.h cblas_srot"
  srot'_ :: (CInt -> ((Ptr CFloat) -> (CInt -> ((Ptr CFloat) -> (CInt -> (CFloat -> (CFloat -> (IO ()))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/BLAS.chs.h cblas_srotm"
  srotm'_ :: (CInt -> ((Ptr CFloat) -> (CInt -> ((Ptr CFloat) -> (CInt -> ((Ptr CFloat) -> (IO ())))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/BLAS.chs.h cblas_drotg"
  drotg'_ :: ((Ptr CDouble) -> ((Ptr CDouble) -> ((Ptr CDouble) -> ((Ptr CDouble) -> (IO ())))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/BLAS.chs.h cblas_drotmg"
  drotmg'_ :: ((Ptr CDouble) -> ((Ptr CDouble) -> ((Ptr CDouble) -> (CDouble -> ((Ptr CDouble) -> (IO ()))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/BLAS.chs.h cblas_drot"
  drot'_ :: (CInt -> ((Ptr CDouble) -> (CInt -> ((Ptr CDouble) -> (CInt -> (CDouble -> (CDouble -> (IO ()))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/BLAS.chs.h cblas_drotm"
  drotm'_ :: (CInt -> ((Ptr CDouble) -> (CInt -> ((Ptr CDouble) -> (CInt -> ((Ptr CDouble) -> (IO ())))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/BLAS.chs.h cblas_sscal"
  sscal'_ :: (CInt -> (CFloat -> ((Ptr CFloat) -> (CInt -> (IO ())))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/BLAS.chs.h cblas_dscal"
  dscal'_ :: (CInt -> (CDouble -> ((Ptr CDouble) -> (CInt -> (IO ())))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/BLAS.chs.h cblas_cscal"
  cscal'_ :: (CInt -> ((Ptr ()) -> ((Ptr ()) -> (CInt -> (IO ())))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/BLAS.chs.h cblas_zscal"
  zscal'_ :: (CInt -> ((Ptr ()) -> ((Ptr ()) -> (CInt -> (IO ())))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/BLAS.chs.h cblas_csscal"
  csscal'_ :: (CInt -> (CFloat -> ((Ptr ()) -> (CInt -> (IO ())))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/BLAS.chs.h cblas_zdscal"
  zdscal'_ :: (CInt -> (CDouble -> ((Ptr ()) -> (CInt -> (IO ())))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/BLAS.chs.h cblas_sgemv"
  sgemv'_ :: (CInt -> (CInt -> (CInt -> (CInt -> (CFloat -> ((Ptr CFloat) -> (CInt -> ((Ptr CFloat) -> (CInt -> (CFloat -> ((Ptr CFloat) -> (CInt -> (IO ())))))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/BLAS.chs.h cblas_sgbmv"
  sgbmv'_ :: (CInt -> (CInt -> (CInt -> (CInt -> (CInt -> (CInt -> (CFloat -> ((Ptr CFloat) -> (CInt -> ((Ptr CFloat) -> (CInt -> (CFloat -> ((Ptr CFloat) -> (CInt -> (IO ())))))))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/BLAS.chs.h cblas_strmv"
  strmv'_ :: (CInt -> (CInt -> (CInt -> (CInt -> (CInt -> ((Ptr CFloat) -> (CInt -> ((Ptr CFloat) -> (CInt -> (IO ()))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/BLAS.chs.h cblas_stbmv"
  stbmv'_ :: (CInt -> (CInt -> (CInt -> (CInt -> (CInt -> (CInt -> ((Ptr CFloat) -> (CInt -> ((Ptr CFloat) -> (CInt -> (IO ())))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/BLAS.chs.h cblas_stpmv"
  stpmv'_ :: (CInt -> (CInt -> (CInt -> (CInt -> (CInt -> ((Ptr CFloat) -> ((Ptr CFloat) -> (CInt -> (IO ())))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/BLAS.chs.h cblas_strsv"
  strsv'_ :: (CInt -> (CInt -> (CInt -> (CInt -> (CInt -> ((Ptr CFloat) -> (CInt -> ((Ptr CFloat) -> (CInt -> (IO ()))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/BLAS.chs.h cblas_stbsv"
  stbsv'_ :: (CInt -> (CInt -> (CInt -> (CInt -> (CInt -> (CInt -> ((Ptr CFloat) -> (CInt -> ((Ptr CFloat) -> (CInt -> (IO ())))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/BLAS.chs.h cblas_stpsv"
  stpsv'_ :: (CInt -> (CInt -> (CInt -> (CInt -> (CInt -> ((Ptr CFloat) -> ((Ptr CFloat) -> (CInt -> (IO ())))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/BLAS.chs.h cblas_dgemv"
  dgemv'_ :: (CInt -> (CInt -> (CInt -> (CInt -> (CDouble -> ((Ptr CDouble) -> (CInt -> ((Ptr CDouble) -> (CInt -> (CDouble -> ((Ptr CDouble) -> (CInt -> (IO ())))))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/BLAS.chs.h cblas_dgbmv"
  dgbmv'_ :: (CInt -> (CInt -> (CInt -> (CInt -> (CInt -> (CInt -> (CDouble -> ((Ptr CDouble) -> (CInt -> ((Ptr CDouble) -> (CInt -> (CDouble -> ((Ptr CDouble) -> (CInt -> (IO ())))))))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/BLAS.chs.h cblas_dtrmv"
  dtrmv'_ :: (CInt -> (CInt -> (CInt -> (CInt -> (CInt -> ((Ptr CDouble) -> (CInt -> ((Ptr CDouble) -> (CInt -> (IO ()))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/BLAS.chs.h cblas_dtbmv"
  dtbmv'_ :: (CInt -> (CInt -> (CInt -> (CInt -> (CInt -> (CInt -> ((Ptr CDouble) -> (CInt -> ((Ptr CDouble) -> (CInt -> (IO ())))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/BLAS.chs.h cblas_dtpmv"
  dtpmv'_ :: (CInt -> (CInt -> (CInt -> (CInt -> (CInt -> ((Ptr CDouble) -> ((Ptr CDouble) -> (CInt -> (IO ())))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/BLAS.chs.h cblas_dtrsv"
  dtrsv'_ :: (CInt -> (CInt -> (CInt -> (CInt -> (CInt -> ((Ptr CDouble) -> (CInt -> ((Ptr CDouble) -> (CInt -> (IO ()))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/BLAS.chs.h cblas_dtbsv"
  dtbsv'_ :: (CInt -> (CInt -> (CInt -> (CInt -> (CInt -> (CInt -> ((Ptr CDouble) -> (CInt -> ((Ptr CDouble) -> (CInt -> (IO ())))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/BLAS.chs.h cblas_dtpsv"
  dtpsv'_ :: (CInt -> (CInt -> (CInt -> (CInt -> (CInt -> ((Ptr CDouble) -> ((Ptr CDouble) -> (CInt -> (IO ())))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/BLAS.chs.h cblas_cgemv"
  cgemv'_ :: (CInt -> (CInt -> (CInt -> (CInt -> ((Ptr ()) -> ((Ptr ()) -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr ()) -> ((Ptr ()) -> (CInt -> (IO ())))))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/BLAS.chs.h cblas_cgbmv"
  cgbmv'_ :: (CInt -> (CInt -> (CInt -> (CInt -> (CInt -> (CInt -> ((Ptr ()) -> ((Ptr ()) -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr ()) -> ((Ptr ()) -> (CInt -> (IO ())))))))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/BLAS.chs.h cblas_ctrmv"
  ctrmv'_ :: (CInt -> (CInt -> (CInt -> (CInt -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr ()) -> (CInt -> (IO ()))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/BLAS.chs.h cblas_ctbmv"
  ctbmv'_ :: (CInt -> (CInt -> (CInt -> (CInt -> (CInt -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr ()) -> (CInt -> (IO ())))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/BLAS.chs.h cblas_ctpmv"
  ctpmv'_ :: (CInt -> (CInt -> (CInt -> (CInt -> (CInt -> ((Ptr ()) -> ((Ptr ()) -> (CInt -> (IO ())))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/BLAS.chs.h cblas_ctrsv"
  ctrsv'_ :: (CInt -> (CInt -> (CInt -> (CInt -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr ()) -> (CInt -> (IO ()))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/BLAS.chs.h cblas_ctbsv"
  ctbsv'_ :: (CInt -> (CInt -> (CInt -> (CInt -> (CInt -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr ()) -> (CInt -> (IO ())))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/BLAS.chs.h cblas_ctpsv"
  ctpsv'_ :: (CInt -> (CInt -> (CInt -> (CInt -> (CInt -> ((Ptr ()) -> ((Ptr ()) -> (CInt -> (IO ())))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/BLAS.chs.h cblas_zgemv"
  zgemv'_ :: (CInt -> (CInt -> (CInt -> (CInt -> ((Ptr ()) -> ((Ptr ()) -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr ()) -> ((Ptr ()) -> (CInt -> (IO ())))))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/BLAS.chs.h cblas_zgbmv"
  zgbmv'_ :: (CInt -> (CInt -> (CInt -> (CInt -> (CInt -> (CInt -> ((Ptr ()) -> ((Ptr ()) -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr ()) -> ((Ptr ()) -> (CInt -> (IO ())))))))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/BLAS.chs.h cblas_ztrmv"
  ztrmv'_ :: (CInt -> (CInt -> (CInt -> (CInt -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr ()) -> (CInt -> (IO ()))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/BLAS.chs.h cblas_ztbmv"
  ztbmv'_ :: (CInt -> (CInt -> (CInt -> (CInt -> (CInt -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr ()) -> (CInt -> (IO ())))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/BLAS.chs.h cblas_ztpmv"
  ztpmv'_ :: (CInt -> (CInt -> (CInt -> (CInt -> (CInt -> ((Ptr ()) -> ((Ptr ()) -> (CInt -> (IO ())))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/BLAS.chs.h cblas_ztrsv"
  ztrsv'_ :: (CInt -> (CInt -> (CInt -> (CInt -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr ()) -> (CInt -> (IO ()))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/BLAS.chs.h cblas_ztbsv"
  ztbsv'_ :: (CInt -> (CInt -> (CInt -> (CInt -> (CInt -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr ()) -> (CInt -> (IO ())))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/BLAS.chs.h cblas_ztpsv"
  ztpsv'_ :: (CInt -> (CInt -> (CInt -> (CInt -> (CInt -> ((Ptr ()) -> ((Ptr ()) -> (CInt -> (IO ())))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/BLAS.chs.h cblas_ssymv"
  ssymv'_ :: (CInt -> (CInt -> (CInt -> (CFloat -> ((Ptr CFloat) -> (CInt -> ((Ptr CFloat) -> (CInt -> (CFloat -> ((Ptr CFloat) -> (CInt -> (IO ()))))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/BLAS.chs.h cblas_ssbmv"
  ssbmv'_ :: (CInt -> (CInt -> (CInt -> (CInt -> (CFloat -> ((Ptr CFloat) -> (CInt -> ((Ptr CFloat) -> (CInt -> (CFloat -> ((Ptr CFloat) -> (CInt -> (IO ())))))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/BLAS.chs.h cblas_sspmv"
  sspmv'_ :: (CInt -> (CInt -> (CInt -> (CFloat -> ((Ptr CFloat) -> ((Ptr CFloat) -> (CInt -> (CFloat -> ((Ptr CFloat) -> (CInt -> (IO ())))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/BLAS.chs.h cblas_sger"
  sger'_ :: (CInt -> (CInt -> (CInt -> (CFloat -> ((Ptr CFloat) -> (CInt -> ((Ptr CFloat) -> (CInt -> ((Ptr CFloat) -> (CInt -> (IO ())))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/BLAS.chs.h cblas_ssyr"
  ssyr'_ :: (CInt -> (CInt -> (CInt -> (CFloat -> ((Ptr CFloat) -> (CInt -> ((Ptr CFloat) -> (CInt -> (IO ())))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/BLAS.chs.h cblas_sspr"
  sspr'_ :: (CInt -> (CInt -> (CInt -> (CFloat -> ((Ptr CFloat) -> (CInt -> ((Ptr CFloat) -> (IO ()))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/BLAS.chs.h cblas_ssyr2"
  ssyr2'_ :: (CInt -> (CInt -> (CInt -> (CFloat -> ((Ptr CFloat) -> (CInt -> ((Ptr CFloat) -> (CInt -> ((Ptr CFloat) -> (CInt -> (IO ())))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/BLAS.chs.h cblas_sspr2"
  sspr2'_ :: (CInt -> (CInt -> (CInt -> (CFloat -> ((Ptr CFloat) -> (CInt -> ((Ptr CFloat) -> (CInt -> ((Ptr CFloat) -> (IO ()))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/BLAS.chs.h cblas_dsymv"
  dsymv'_ :: (CInt -> (CInt -> (CInt -> (CDouble -> ((Ptr CDouble) -> (CInt -> ((Ptr CDouble) -> (CInt -> (CDouble -> ((Ptr CDouble) -> (CInt -> (IO ()))))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/BLAS.chs.h cblas_dsbmv"
  dsbmv'_ :: (CInt -> (CInt -> (CInt -> (CInt -> (CDouble -> ((Ptr CDouble) -> (CInt -> ((Ptr CDouble) -> (CInt -> (CDouble -> ((Ptr CDouble) -> (CInt -> (IO ())))))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/BLAS.chs.h cblas_dspmv"
  dspmv'_ :: (CInt -> (CInt -> (CInt -> (CDouble -> ((Ptr CDouble) -> ((Ptr CDouble) -> (CInt -> (CDouble -> ((Ptr CDouble) -> (CInt -> (IO ())))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/BLAS.chs.h cblas_dger"
  dger'_ :: (CInt -> (CInt -> (CInt -> (CDouble -> ((Ptr CDouble) -> (CInt -> ((Ptr CDouble) -> (CInt -> ((Ptr CDouble) -> (CInt -> (IO ())))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/BLAS.chs.h cblas_dsyr"
  dsyr'_ :: (CInt -> (CInt -> (CInt -> (CDouble -> ((Ptr CDouble) -> (CInt -> ((Ptr CDouble) -> (CInt -> (IO ())))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/BLAS.chs.h cblas_dspr"
  dspr'_ :: (CInt -> (CInt -> (CInt -> (CDouble -> ((Ptr CDouble) -> (CInt -> ((Ptr CDouble) -> (IO ()))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/BLAS.chs.h cblas_dsyr2"
  dsyr2'_ :: (CInt -> (CInt -> (CInt -> (CDouble -> ((Ptr CDouble) -> (CInt -> ((Ptr CDouble) -> (CInt -> ((Ptr CDouble) -> (CInt -> (IO ())))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/BLAS.chs.h cblas_dspr2"
  dspr2'_ :: (CInt -> (CInt -> (CInt -> (CDouble -> ((Ptr CDouble) -> (CInt -> ((Ptr CDouble) -> (CInt -> ((Ptr CDouble) -> (IO ()))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/BLAS.chs.h cblas_chemv"
  chemv'_ :: (CInt -> (CInt -> (CInt -> ((Ptr ()) -> ((Ptr ()) -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr ()) -> ((Ptr ()) -> (CInt -> (IO ()))))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/BLAS.chs.h cblas_chbmv"
  chbmv'_ :: (CInt -> (CInt -> (CInt -> (CInt -> ((Ptr ()) -> ((Ptr ()) -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr ()) -> ((Ptr ()) -> (CInt -> (IO ())))))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/BLAS.chs.h cblas_chpmv"
  chpmv'_ :: (CInt -> (CInt -> (CInt -> ((Ptr ()) -> ((Ptr ()) -> ((Ptr ()) -> (CInt -> ((Ptr ()) -> ((Ptr ()) -> (CInt -> (IO ())))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/BLAS.chs.h cblas_cgeru"
  cgeru'_ :: (CInt -> (CInt -> (CInt -> ((Ptr ()) -> ((Ptr ()) -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr ()) -> (CInt -> (IO ())))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/BLAS.chs.h cblas_cgerc"
  cgerc'_ :: (CInt -> (CInt -> (CInt -> ((Ptr ()) -> ((Ptr ()) -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr ()) -> (CInt -> (IO ())))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/BLAS.chs.h cblas_cher"
  cher'_ :: (CInt -> (CInt -> (CInt -> (CFloat -> ((Ptr ()) -> (CInt -> ((Ptr ()) -> (CInt -> (IO ())))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/BLAS.chs.h cblas_chpr"
  chpr'_ :: (CInt -> (CInt -> (CInt -> (CFloat -> ((Ptr ()) -> (CInt -> ((Ptr ()) -> (IO ()))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/BLAS.chs.h cblas_cher2"
  cher2'_ :: (CInt -> (CInt -> (CInt -> ((Ptr ()) -> ((Ptr ()) -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr ()) -> (CInt -> (IO ())))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/BLAS.chs.h cblas_chpr2"
  chpr2'_ :: (CInt -> (CInt -> (CInt -> ((Ptr ()) -> ((Ptr ()) -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr ()) -> (IO ()))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/BLAS.chs.h cblas_zhemv"
  zhemv'_ :: (CInt -> (CInt -> (CInt -> ((Ptr ()) -> ((Ptr ()) -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr ()) -> ((Ptr ()) -> (CInt -> (IO ()))))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/BLAS.chs.h cblas_zhbmv"
  zhbmv'_ :: (CInt -> (CInt -> (CInt -> (CInt -> ((Ptr ()) -> ((Ptr ()) -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr ()) -> ((Ptr ()) -> (CInt -> (IO ())))))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/BLAS.chs.h cblas_zhpmv"
  zhpmv'_ :: (CInt -> (CInt -> (CInt -> ((Ptr ()) -> ((Ptr ()) -> ((Ptr ()) -> (CInt -> ((Ptr ()) -> ((Ptr ()) -> (CInt -> (IO ())))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/BLAS.chs.h cblas_zgeru"
  zgeru'_ :: (CInt -> (CInt -> (CInt -> ((Ptr ()) -> ((Ptr ()) -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr ()) -> (CInt -> (IO ())))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/BLAS.chs.h cblas_zgerc"
  zgerc'_ :: (CInt -> (CInt -> (CInt -> ((Ptr ()) -> ((Ptr ()) -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr ()) -> (CInt -> (IO ())))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/BLAS.chs.h cblas_zher"
  zher'_ :: (CInt -> (CInt -> (CInt -> (CDouble -> ((Ptr ()) -> (CInt -> ((Ptr ()) -> (CInt -> (IO ())))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/BLAS.chs.h cblas_zhpr"
  zhpr'_ :: (CInt -> (CInt -> (CInt -> (CDouble -> ((Ptr ()) -> (CInt -> ((Ptr ()) -> (IO ()))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/BLAS.chs.h cblas_zher2"
  zher2'_ :: (CInt -> (CInt -> (CInt -> ((Ptr ()) -> ((Ptr ()) -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr ()) -> (CInt -> (IO ())))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/BLAS.chs.h cblas_zhpr2"
  zhpr2'_ :: (CInt -> (CInt -> (CInt -> ((Ptr ()) -> ((Ptr ()) -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr ()) -> (IO ()))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/BLAS.chs.h cblas_sgemm"
  sgemm'_ :: (CInt -> (CInt -> (CInt -> (CInt -> (CInt -> (CInt -> (CFloat -> ((Ptr CFloat) -> (CInt -> ((Ptr CFloat) -> (CInt -> (CFloat -> ((Ptr CFloat) -> (CInt -> (IO ())))))))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/BLAS.chs.h cblas_ssymm"
  ssymm'_ :: (CInt -> (CInt -> (CInt -> (CInt -> (CInt -> (CFloat -> ((Ptr CFloat) -> (CInt -> ((Ptr CFloat) -> (CInt -> (CFloat -> ((Ptr CFloat) -> (CInt -> (IO ()))))))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/BLAS.chs.h cblas_ssyrk"
  ssyrk'_ :: (CInt -> (CInt -> (CInt -> (CInt -> (CInt -> (CFloat -> ((Ptr CFloat) -> (CInt -> (CFloat -> ((Ptr CFloat) -> (CInt -> (IO ()))))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/BLAS.chs.h cblas_ssyr2k"
  ssyr2k'_ :: (CInt -> (CInt -> (CInt -> (CInt -> (CInt -> (CFloat -> ((Ptr CFloat) -> (CInt -> ((Ptr CFloat) -> (CInt -> (CFloat -> ((Ptr CFloat) -> (CInt -> (IO ()))))))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/BLAS.chs.h cblas_strmm"
  strmm'_ :: (CInt -> (CInt -> (CInt -> (CInt -> (CInt -> (CInt -> (CInt -> (CFloat -> ((Ptr CFloat) -> (CInt -> ((Ptr CFloat) -> (CInt -> (IO ())))))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/BLAS.chs.h cblas_strsm"
  strsm'_ :: (CInt -> (CInt -> (CInt -> (CInt -> (CInt -> (CInt -> (CInt -> (CFloat -> ((Ptr CFloat) -> (CInt -> ((Ptr CFloat) -> (CInt -> (IO ())))))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/BLAS.chs.h cblas_dgemm"
  dgemm'_ :: (CInt -> (CInt -> (CInt -> (CInt -> (CInt -> (CInt -> (CDouble -> ((Ptr CDouble) -> (CInt -> ((Ptr CDouble) -> (CInt -> (CDouble -> ((Ptr CDouble) -> (CInt -> (IO ())))))))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/BLAS.chs.h cblas_dsymm"
  dsymm'_ :: (CInt -> (CInt -> (CInt -> (CInt -> (CInt -> (CDouble -> ((Ptr CDouble) -> (CInt -> ((Ptr CDouble) -> (CInt -> (CDouble -> ((Ptr CDouble) -> (CInt -> (IO ()))))))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/BLAS.chs.h cblas_dsyrk"
  dsyrk'_ :: (CInt -> (CInt -> (CInt -> (CInt -> (CInt -> (CDouble -> ((Ptr CDouble) -> (CInt -> (CDouble -> ((Ptr CDouble) -> (CInt -> (IO ()))))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/BLAS.chs.h cblas_dsyr2k"
  dsyr2k'_ :: (CInt -> (CInt -> (CInt -> (CInt -> (CInt -> (CDouble -> ((Ptr CDouble) -> (CInt -> ((Ptr CDouble) -> (CInt -> (CDouble -> ((Ptr CDouble) -> (CInt -> (IO ()))))))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/BLAS.chs.h cblas_dtrmm"
  dtrmm'_ :: (CInt -> (CInt -> (CInt -> (CInt -> (CInt -> (CInt -> (CInt -> (CDouble -> ((Ptr CDouble) -> (CInt -> ((Ptr CDouble) -> (CInt -> (IO ())))))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/BLAS.chs.h cblas_dtrsm"
  dtrsm'_ :: (CInt -> (CInt -> (CInt -> (CInt -> (CInt -> (CInt -> (CInt -> (CDouble -> ((Ptr CDouble) -> (CInt -> ((Ptr CDouble) -> (CInt -> (IO ())))))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/BLAS.chs.h cblas_cgemm"
  cgemm'_ :: (CInt -> (CInt -> (CInt -> (CInt -> (CInt -> (CInt -> ((Ptr ()) -> ((Ptr ()) -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr ()) -> ((Ptr ()) -> (CInt -> (IO ())))))))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/BLAS.chs.h cblas_csymm"
  csymm'_ :: (CInt -> (CInt -> (CInt -> (CInt -> (CInt -> ((Ptr ()) -> ((Ptr ()) -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr ()) -> ((Ptr ()) -> (CInt -> (IO ()))))))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/BLAS.chs.h cblas_csyrk"
  csyrk'_ :: (CInt -> (CInt -> (CInt -> (CInt -> (CInt -> ((Ptr ()) -> ((Ptr ()) -> (CInt -> ((Ptr ()) -> ((Ptr ()) -> (CInt -> (IO ()))))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/BLAS.chs.h cblas_csyr2k"
  csyr2k'_ :: (CInt -> (CInt -> (CInt -> (CInt -> (CInt -> ((Ptr ()) -> ((Ptr ()) -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr ()) -> ((Ptr ()) -> (CInt -> (IO ()))))))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/BLAS.chs.h cblas_ctrmm"
  ctrmm'_ :: (CInt -> (CInt -> (CInt -> (CInt -> (CInt -> (CInt -> (CInt -> ((Ptr ()) -> ((Ptr ()) -> (CInt -> ((Ptr ()) -> (CInt -> (IO ())))))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/BLAS.chs.h cblas_ctrsm"
  ctrsm'_ :: (CInt -> (CInt -> (CInt -> (CInt -> (CInt -> (CInt -> (CInt -> ((Ptr ()) -> ((Ptr ()) -> (CInt -> ((Ptr ()) -> (CInt -> (IO ())))))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/BLAS.chs.h cblas_zgemm"
  zgemm'_ :: (CInt -> (CInt -> (CInt -> (CInt -> (CInt -> (CInt -> ((Ptr ()) -> ((Ptr ()) -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr ()) -> ((Ptr ()) -> (CInt -> (IO ())))))))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/BLAS.chs.h cblas_zsymm"
  zsymm'_ :: (CInt -> (CInt -> (CInt -> (CInt -> (CInt -> ((Ptr ()) -> ((Ptr ()) -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr ()) -> ((Ptr ()) -> (CInt -> (IO ()))))))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/BLAS.chs.h cblas_zsyrk"
  zsyrk'_ :: (CInt -> (CInt -> (CInt -> (CInt -> (CInt -> ((Ptr ()) -> ((Ptr ()) -> (CInt -> ((Ptr ()) -> ((Ptr ()) -> (CInt -> (IO ()))))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/BLAS.chs.h cblas_zsyr2k"
  zsyr2k'_ :: (CInt -> (CInt -> (CInt -> (CInt -> (CInt -> ((Ptr ()) -> ((Ptr ()) -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr ()) -> ((Ptr ()) -> (CInt -> (IO ()))))))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/BLAS.chs.h cblas_ztrmm"
  ztrmm'_ :: (CInt -> (CInt -> (CInt -> (CInt -> (CInt -> (CInt -> (CInt -> ((Ptr ()) -> ((Ptr ()) -> (CInt -> ((Ptr ()) -> (CInt -> (IO ())))))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/BLAS.chs.h cblas_ztrsm"
  ztrsm'_ :: (CInt -> (CInt -> (CInt -> (CInt -> (CInt -> (CInt -> (CInt -> ((Ptr ()) -> ((Ptr ()) -> (CInt -> ((Ptr ()) -> (CInt -> (IO ())))))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/BLAS.chs.h cblas_chemm"
  chemm'_ :: (CInt -> (CInt -> (CInt -> (CInt -> (CInt -> ((Ptr ()) -> ((Ptr ()) -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr ()) -> ((Ptr ()) -> (CInt -> (IO ()))))))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/BLAS.chs.h cblas_cherk"
  cherk'_ :: (CInt -> (CInt -> (CInt -> (CInt -> (CInt -> (CFloat -> ((Ptr ()) -> (CInt -> (CFloat -> ((Ptr ()) -> (CInt -> (IO ()))))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/BLAS.chs.h cblas_cher2k"
  cher2k'_ :: (CInt -> (CInt -> (CInt -> (CInt -> (CInt -> ((Ptr ()) -> ((Ptr ()) -> (CInt -> ((Ptr ()) -> (CInt -> (CFloat -> ((Ptr ()) -> (CInt -> (IO ()))))))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/BLAS.chs.h cblas_zhemm"
  zhemm'_ :: (CInt -> (CInt -> (CInt -> (CInt -> (CInt -> ((Ptr ()) -> ((Ptr ()) -> (CInt -> ((Ptr ()) -> (CInt -> ((Ptr ()) -> ((Ptr ()) -> (CInt -> (IO ()))))))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/BLAS.chs.h cblas_zherk"
  zherk'_ :: (CInt -> (CInt -> (CInt -> (CInt -> (CInt -> (CDouble -> ((Ptr ()) -> (CInt -> (CDouble -> ((Ptr ()) -> (CInt -> (IO ()))))))))))))

foreign import ccall unsafe "Numeric/Jalla/Foreign/BLAS.chs.h cblas_zher2k"
  zher2k'_ :: (CInt -> (CInt -> (CInt -> (CInt -> (CInt -> ((Ptr ()) -> ((Ptr ()) -> (CInt -> ((Ptr ()) -> (CInt -> (CDouble -> ((Ptr ()) -> (CInt -> (IO ()))))))))))))))